AppFwk : Add default configuration for a push button

This commit is contained in:
Magne Sjaastad 2017-11-16 11:40:46 +01:00
parent 3bb1933f4d
commit c24e7659a3
2 changed files with 31 additions and 8 deletions

View File

@ -104,6 +104,26 @@ void PdmUiPushButtonEditor::configureAndUpdateUi(const QString& uiConfigName)
} }
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void PdmUiPushButtonEditor::configureEditorForField(PdmFieldHandle* fieldHandle)
{
if (fieldHandle)
{
if (fieldHandle->xmlCapability())
{
fieldHandle->xmlCapability()->disableIO();
}
if (fieldHandle->uiCapability())
{
fieldHandle->uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
fieldHandle->uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::LEFT);
}
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -46,18 +46,19 @@
namespace caf namespace caf
{ {
//================================================================================================== //--------------------------------------------------------------------------------------------------
/// The default editor for several PdmFields. ///
//================================================================================================== //--------------------------------------------------------------------------------------------------
class PdmUiPushButtonEditorAttribute : public PdmUiEditorAttribute class PdmUiPushButtonEditorAttribute : public PdmUiEditorAttribute
{ {
public: public:
QIcon m_buttonIcon; QIcon m_buttonIcon;
QString m_buttonText; QString m_buttonText;
}; };
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
class PdmUiPushButtonEditor : public PdmUiFieldEditorHandle class PdmUiPushButtonEditor : public PdmUiFieldEditorHandle
{ {
Q_OBJECT Q_OBJECT
@ -67,6 +68,8 @@ public:
PdmUiPushButtonEditor() {} PdmUiPushButtonEditor() {}
virtual ~PdmUiPushButtonEditor() {} virtual ~PdmUiPushButtonEditor() {}
static void configureEditorForField(PdmFieldHandle* fieldHandle);
protected: protected:
virtual QWidget* createEditorWidget(QWidget * parent); virtual QWidget* createEditorWidget(QWidget * parent);
virtual QWidget* createLabelWidget(QWidget * parent); virtual QWidget* createLabelWidget(QWidget * parent);
@ -76,8 +79,8 @@ protected slots:
void slotClicked(bool checked); void slotClicked(bool checked);
private: private:
QPointer<QPushButton> m_pushButton; QPointer<QPushButton> m_pushButton;
QPointer<QLabel> m_label; QPointer<QLabel> m_label;
}; };