Salome HOME
Issue #390 Selection restore problems during edit operation
[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 restoreValue();
42
43   QWidget* getControl() const;
44
45   virtual QList<QWidget*> getControls() const;
46
47  public slots:
48    /// A slot for processing text changed event
49   void onTextChanged();
50
51 protected:
52   /// Saves the internal parameters to the given feature
53   /// \return True in success
54   virtual bool storeValueCustom() const;
55
56 private:
57    /// A line edit control
58   QLineEdit* myLineEdit;
59
60   /// A container widget
61   QWidget* myMainWidget;
62 };
63
64 #endif /* MODULEBASE_WIDGETFILESELECTOR_H_ */