Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve multi-selector control to provide items multi-selection and "Delete" context...
[modules/shaper.git]
/
src
/
ModuleBase
/
ModuleBase_ModelWidget.h
diff --git
a/src/ModuleBase/ModuleBase_ModelWidget.h
b/src/ModuleBase/ModuleBase_ModelWidget.h
index f855496739a7a8efa6219502ffd84e56e6d2a2af..b08a0a55122549bd5e61a8ba5559986029c0cbba 100644
(file)
--- a/
src/ModuleBase/ModuleBase_ModelWidget.h
+++ b/
src/ModuleBase/ModuleBase_ModelWidget.h
@@
-9,7
+9,7
@@
#include <ModuleBase.h>
#include <ModuleBase_ViewerPrs.h>
#include <ModuleBase.h>
#include <ModuleBase_ViewerPrs.h>
-
+#include <ModuleBase_OperationFeature.h>
#include <ModelAPI_Feature.h>
#include <QWidget>
#include <ModelAPI_Feature.h>
#include <QWidget>
@@
-69,6
+69,10
@@
Q_OBJECT
/// \return the boolean result
std::string getDefaultValue() const { return myDefaultValue; }
/// \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; }
/// 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; }
/// \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; }
/// 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; };
/// 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
/// 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
@@
-102,15
+115,14
@@
Q_OBJECT
/// \return True in success
bool restoreValue();
/// \return True in success
bool restoreValue();
- /// Saves the internal parameters to the given feature. Emits signals before and after store
- /// \return True in success
- void storeValueByApply();
-
/// Set focus to the first control of the current widget. The focus policy of the control is checked.
/// If the widget has the NonFocus focus policy, it is skipped.
/// \return the state whether the widget can accept the focus
virtual bool focusTo();
/// Set focus to the first control of the current widget. The focus policy of the control is checked.
/// If the widget has the NonFocus focus policy, it is skipped.
/// \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();
/// The method called when widget is activated
void activate();
@@
-197,6
+209,9
@@
signals:
/// \param theEvent key release event
void keyReleased(QKeyEvent* theEvent);
/// \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);
/// The signal about the widget is get focus
/// \param theWidget the model base widget
void focusInWidget(ModuleBase_ModelWidget* theWidget);
@@
-206,10
+221,7
@@
signals:
void focusOutWidget(ModuleBase_ModelWidget* theWidget);
/// The signal about value state modification
void focusOutWidget(ModuleBase_ModelWidget* theWidget);
/// The signal about value state modification
- void valueStateChanged();
-
- void focusNextPrev();
- void valueStored();
+ void valueStateChanged(int theState);
protected:
/// Sets default value of widget. Normally, widget should fetch this value
protected:
/// Sets default value of widget. Normally, widget should fetch this value
@@
-294,10
+306,15
@@
private:
/// the default value, which is defined in the XML for this attribute
std::string myDefaultValue;
/// 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;
/// 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
};
#endif