Salome HOME
Fix for selection with 'N' key and update documentation
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetLineEdit.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 /*
4  * ModuleBase_WidgetLineEdit.h
5  *
6  *  Created on: Oct 8, 2014
7  *      Author: sbh
8  */
9
10 #ifndef MODULEBASE_WIDGETLINEEDIT_H_
11 #define MODULEBASE_WIDGETLINEEDIT_H_
12
13 #include <ModuleBase.h>
14 #include <ModuleBase_ModelWidget.h>
15
16 #include <QList>
17 #include <QString>
18 #include <QStringList>
19
20 class QWidget;
21 class QLineEdit;
22
23 /**
24 * \ingroup GUI
25 * Implementation of model widget for line edit widget.
26 * It can be defined with "stringvalue" keyword.
27 */
28 class MODULEBASE_EXPORT ModuleBase_WidgetLineEdit : public ModuleBase_ModelWidget
29 {
30   Q_OBJECT
31  public:
32   /// Constructor
33   /// \param theParent the parent object
34   /// \param theData the widget configuation. The attribute of the model widget is obtained from
35   /// \param theParentId is Id of a parent of the current attribute
36   ModuleBase_WidgetLineEdit(QWidget* theParent,
37                                 const Config_WidgetAPI* theData,
38                                 const std::string& theParentId);
39   virtual ~ModuleBase_WidgetLineEdit();
40
41   virtual bool storeValue() const;
42
43   virtual bool restoreValue();
44
45   QWidget* getControl() const;
46
47   virtual QList<QWidget*> getControls() const;
48
49  public slots:
50    /// A slot for processing text changed event
51   void onTextChanged();
52
53  private:
54    /// A line edit control
55   QLineEdit* myLineEdit;
56
57   /// A container widget
58   QWidget* myMainWidget;
59 };
60
61 #endif /* MODULEBASE_WIDGETFILESELECTOR_H_ */