X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_ModelWidget.h;h=79e4b1e1737a7b6831c881bdebbd3312ae3ef432;hb=29dfb8a802f61cacf5f57fb79c62badee00ebcdf;hp=dd2c9edd3a1817899a8cddbdeafce020525f1005;hpb=c3ae28ba30027cc4a6a757ef623f40adaae96ead;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_ModelWidget.h b/src/ModuleBase/ModuleBase_ModelWidget.h index dd2c9edd3..79e4b1e17 100644 --- a/src/ModuleBase/ModuleBase_ModelWidget.h +++ b/src/ModuleBase/ModuleBase_ModelWidget.h @@ -9,7 +9,7 @@ #include #include - +#include #include #include @@ -69,6 +69,10 @@ Q_OBJECT /// \return the boolean result std::string getDefaultValue() const { return myDefaultValue; } + /// Returns true, if widget is internal + /// \return the boolean result + bool isInternal() const { return myIsInternal; } + /// Returns true, if the obligatory value of the widget is not defined in the XML or has true value /// \return the boolean result bool isObligatory() const { return myIsObligatory; } @@ -81,6 +85,10 @@ Q_OBJECT /// \return the enumeration result ValueState getValueState() const { return myState; } + /// Returns an attribute error according to the value state + /// It exists in all cases excepring the "Store" case + QString getValueStateError() const; + /// Defines if it is supposed that the widget should interact with the viewer. virtual bool isViewerSelector() { return false; } @@ -88,6 +96,11 @@ Q_OBJECT /// By default it returns true virtual bool canSetValue() const { return true; }; + //! Returns the widget error, get it from the attribute validator and state of the widget + //! If the feature is correct, it returns an empty value + //! \return string value + QString getError() const; + /// Set the given wrapped value to the current widget /// This value should be processed in the widget according to the needs /// \param theValues the wrapped selection values @@ -98,6 +111,10 @@ Q_OBJECT return false; } + /// Returns values which should be highlighted when the whidget is active + /// \param theValues a list of presentations + virtual void getHighlighted(QList& theValues) {}; + /// Restore value from attribute data to the widget's control. Emits signals before and after store /// \return True in success bool restoreValue(); @@ -107,6 +124,9 @@ Q_OBJECT /// \return the state whether the widget can accept the focus virtual bool focusTo(); + /// Select the internal content if it can be selected. It is empty in the default realization + virtual void selectContent() {} + /// The method called when widget is activated void activate(); @@ -163,9 +183,12 @@ Q_OBJECT /// \return Current Editing mode bool isEditingMode() const { return myIsEditing; } - /// Returns true if the event is processed. + /// Returns true if the event is processed. The default implementation is empty, returns false. virtual bool processEnter(); + /// Returns true if the event is processed. The default implementation is empty, returns false. + virtual bool processDelete(); + /// Sends Update and Redisplay for the given object /// \param theObj is updating object static void updateObject(ObjectPtr theObj); @@ -193,6 +216,9 @@ signals: /// \param theEvent key release event void keyReleased(QKeyEvent* theEvent); + /// The signal is emitted if the enter is clicked in the control of the widget + void enterClicked(); + /// The signal about the widget is get focus /// \param theWidget the model base widget void focusInWidget(ModuleBase_ModelWidget* theWidget); @@ -287,10 +313,15 @@ private: /// the default value, which is defined in the XML for this attribute std::string myDefaultValue; + /// an XML internal state + bool myIsInternal; + /// the reset state. If it is false, the reset method of the widget is not performed bool myUseReset; /// blocked flag of modification of the value state bool myIsValueStateBlocked; + + friend class ModuleBase_OperationFeature; // to call storeValue() by commit if value state is ModifiedInPP }; #endif