Support for setting height hint on TextEdit

This commit is contained in:
Bjørn Erik Jensen 2017-11-27 11:01:23 +01:00
parent 2d221495eb
commit c4fa809e6b
2 changed files with 33 additions and 1 deletions

View File

@ -60,10 +60,33 @@ CAF_PDM_UI_FIELD_EDITOR_SOURCE_INIT(PdmUiTextEditor);
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
TextEdit::TextEdit(QWidget *parent /*= 0*/) : QTextEdit(parent)
TextEdit::TextEdit(QWidget *parent /*= 0*/) : QTextEdit(parent), m_heightHint(-1)
{
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QSize TextEdit::sizeHint() const
{
QSize mySize = QTextEdit::sizeHint();
if (m_heightHint > 0)
{
mySize.setHeight(m_heightHint);
}
return mySize;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void TextEdit::setHeightHint(int heightHint)
{
m_heightHint = heightHint;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -126,6 +149,7 @@ void PdmUiTextEditor::configureAndUpdateUi(const QString& uiConfigName)
m_textEdit->setWordWrapMode(toQTextOptionWrapMode(leab.wrapMode));
m_textEdit->setFont(leab.font);
m_textEdit->setHeightHint(leab.heightHint);
}
//--------------------------------------------------------------------------------------------------

View File

@ -68,6 +68,7 @@ public:
textMode = PLAIN;
showSaveButton = false;
wrapMode = WrapAtWordBoundaryOrAnywhere;
heightHint = 2000;
}
enum TextMode
@ -81,6 +82,7 @@ public:
bool showSaveButton;
WrapMode wrapMode;
QFont font;
int heightHint;
};
//==================================================================================================
@ -92,11 +94,17 @@ class TextEdit : public QTextEdit
public:
explicit TextEdit(QWidget *parent = 0);
virtual QSize sizeHint() const override;
void setHeightHint(int heightHint);
protected:
virtual void focusOutEvent(QFocusEvent *e);
signals:
void editingFinished();
private:
int m_heightHint;
};