Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'RenderLineEdit (./kdelibs/khtml/rendering/render_form.h:276)
class RenderLineEdit : public QObject, public RenderFormElement
{
Q_OBJECT
public:
RenderLineEdit(QScrollView *view,
HTMLFormElementImpl *form, int maxLen, int size,
bool passwd = false);
virtual Type type() { return LineEdit; }
virtual QString encoding();
virtual void layout(bool);
virtual void reset();
virtual void setValue(const DOMString &value);
virtual QString state();
virtual void restoreState(const QString &);
virtual const char *renderName() const { return "RenderLineEdit"; }
protected:
int m_size;
public slots:
void slotReturnPressed();
};
// -------------------------------------------------------------------------
kdelibs'RenderLineEdit::RenderLineEdit() (./kdelibs/khtml/rendering/render_form.cpp:445)
RenderLineEdit::RenderLineEdit(QScrollView *view, HTMLFormElementImpl *form,
int maxLen, int size, bool passwd)
: RenderFormElement(view, form)
{
QLineEdit *edit = new QLineEdit(view);
connect(edit, SIGNAL(returnPressed()), this, SLOT(slotReturnPressed()));
if(maxLen > 0) edit->setMaxLength(maxLen);
if(passwd) edit->setEchoMode( QLineEdit::Password );
m_size = size;
m_widget = edit;
}
kdelibs'RenderLineEdit::slotReturnPressed() (./kdelibs/khtml/rendering/render_form.cpp:459)
void RenderLineEdit::slotReturnPressed()
{
m_form->maybeSubmit();
}
kdelibs'RenderLineEdit::setValue() (./kdelibs/khtml/rendering/render_form.cpp:464)
void RenderLineEdit::setValue(const DOMString &value)
{
m_value = value;
if(m_value != 0)
static_cast<QLineEdit *>(m_widget)->setText(m_value.string());
}
kdelibs'RenderLineEdit::encoding() (./kdelibs/khtml/rendering/render_form.cpp:471)
QString RenderLineEdit::encoding()
{
QString encoding;
if(!m_name.isEmpty()) {
encoding = encodeString( m_name.string() );
encoding += '=';
encoding += encodeString( static_cast<QLineEdit *>(m_widget)->text() );
}
return encoding;
}
kdelibs'RenderLineEdit::state() (./kdelibs/khtml/rendering/render_form.cpp:482)
QString RenderLineEdit::state()
{
// Make sure the string is not empty!
return static_cast<QLineEdit *>(m_widget)->text()+".";
}
kdelibs'RenderLineEdit::restoreState() (./kdelibs/khtml/rendering/render_form.cpp:488)
void RenderLineEdit::restoreState(const QString &state)
{
static_cast<QLineEdit *>(m_widget)->setText(state.left(state.length()-1));
}
kdelibs'RenderLineEdit::layout() (./kdelibs/khtml/rendering/render_form.cpp:493)
void RenderLineEdit::layout(bool)
{
QFontMetrics fm( m_widget->font() );
QSize s;
int h = fm.height();
int w = fm.width( 'x' ) * (m_size > 0 ? m_size : 17); // "some"
if ( static_cast<QLineEdit*>(m_widget)->frame() ) {
h += 8;
// ### this is not really portable between all styles.
// I think one should try to find a generic solution which
// works with all possible styles. Lars.
if ( m_widget->style() == QWidget::WindowsStyle && h < 26 )
h = 22;
s = QSize( w + 8, h );
} else
s = QSize( w + 4, h + 4 );
static_cast<QLineEdit*>(m_widget)->setReadOnly(m_readonly);
m_height = s.height();
m_width = s.width();
RenderFormElement::layout(false);
}
kdelibs'RenderLineEdit::reset() (./kdelibs/khtml/rendering/render_form.cpp:519)
void RenderLineEdit::reset()
{
if(m_value != 0)
static_cast<QLineEdit *>(m_widget)->setText(m_value.string());
else
static_cast<QLineEdit *>(m_widget)->setText(QString::null);
}
// ---------------------------------------------------------------------------