Salome HOME
Issue #1452 Fatal error when create Distance constraint on construction vertex
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetExprEditor.h
index c5ad7b26495390bc3a1a1cc445e77a3150faa924..ef04f238603f630a194ba093bfc0486e43590934 100644 (file)
@@ -23,30 +23,66 @@ class QWidget;
 class QStringListModel;
 class QCompleter;
 
+/**
+* \ingroup GUI
+* A multi-line text editor which lets to input formula and provides a list of completion strings
+*/
 class ExpressionEditor: public QPlainTextEdit
 {
   Q_OBJECT
-
  public:
+   /// Constructor
+   /// \param theParent a parent widget
   explicit ExpressionEditor(QWidget* theParent = 0);
   virtual ~ExpressionEditor();
 
+  /// Set list of completion strings
   void setCompletionList(QStringList&);
 
+  /// Set a text which will be shown when the listr is empty
   void setPlaceHolderText( const QString& );
+
+  /// Returns placeholder list
   QString placeHolderText() const;
 
  public slots:
-  void insertCompletion(const QString&, bool isSingleWord = false);
+  /// Insert additional string for completion
+  /// \param theCompletion a string to insert
+  /// \param isSingleWord a flag shows that inserted string is single word or not
+  void insertCompletion(const QString& theCompletion, bool isSingleWord = false);
+
+  /// Perform completion
   void performCompletion();
 
+  /// A slot for processing text changed event
+  void onTextChanged();
+
+signals:
+  /// The signal about text change in the text editor
+  void valueModified();
+
+  /// The signal about key release on the control, that corresponds to the attribute
+  /// \param theObject a sender of the event
+  /// \param theEvent key release event
+  void keyReleased(QObject* theObject, QKeyEvent* theEvent);
+
  protected:
+  /// Perform completion by prefix
+  /// \param theCompletionPrefix a prefix for looking for completion
   void performCompletion(const QString& theCompletionPrefix);
+
+  /// Redefinition of virtual method
+  /// \param theEvent a key press event
   virtual void keyPressEvent(QKeyEvent* theEvent);
+
+  /// Key events processing
+  /// theEvent a key event
   bool handledCompletedAndSelected(QKeyEvent* theEvent);
+
+  /// Redefinition of virtual method
   virtual void paintEvent( QPaintEvent* );
 
- private:
+private:
   QStringListModel* myCompleterModel;
   QCompleter* myCompleter;
   bool myCompletedAndSelected;
@@ -55,7 +91,7 @@ class ExpressionEditor: public QPlainTextEdit
 
 /**
 * \ingroup GUI
-* TODO(sbh) add doc
+* A Widget which provides an input of an expression
 */
 class MODULEBASE_EXPORT ModuleBase_WidgetExprEditor : public ModuleBase_ModelWidget
 {
@@ -65,23 +101,34 @@ class MODULEBASE_EXPORT ModuleBase_WidgetExprEditor : public ModuleBase_ModelWid
   /// \param theParent the parent object
   /// \param theData the widget configuration.
   /// \param theParentId is Id of a parent of the current attribute
+  /// \param thePlaceHolder a placeholder string
   ModuleBase_WidgetExprEditor( QWidget* theParent,
                                const Config_WidgetAPI* theData,
-                               const std::string& theParentId,
                                const std::string& thePlaceHolder );
   virtual ~ModuleBase_WidgetExprEditor();
 
+  /// The methiod called when widget is activated
+  virtual void activateCustom();
+
+  /// Redefinition of virtual method
   virtual QList<QWidget*> getControls() const;
 
- public slots:
-   /// A slot for processing text changed event
+  /// Returns true if the event is processed.
+  virtual bool processEnter();
+
+protected slots:
+  /// A slot for processing text changed event
   void onTextChanged();
 
 protected:
+  /// Do not initialize value on the widget activation
+  virtual void initializeValueByActivate();
+
   /// Saves the internal parameters to the given feature
   /// \return True in success
-  virtual bool storeValueCustom() const;
+  virtual bool storeValueCustom();
 
+  /// Redefinition of virtual method
   virtual bool restoreValueCustom();
 
 private: