Salome HOME
"2.11 Constraint with a point from the intersection between an outer edge and plane...
[modules/shaper.git] / src / PartSet / PartSet_WidgetSketchCreator.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        PartSet_WidgetSketchCreator.h
4 // Created:     08 June 2015
5 // Author:      Vitaly SMETANNIKOV
6
7 #ifndef PartSet_WidgetSketchCreator_H
8 #define PartSet_WidgetSketchCreator_H
9
10 #include "PartSet.h"
11
12 #include <ModuleBase_ModelWidget.h>
13
14 class QLabel;
15 class QLineEdit;
16 class PartSet_Module;
17 class ModuleBase_Operation;
18
19
20 /**
21 * \ingroup Modules
22 * A widget which allow creation of a sketch in another operation.
23 * It creates sketch on aqctivation of this widget. If sketch object is already created then
24 * it will transfer a focus to next widget. It is supposed that the widget will be placed as 
25 * a first widget in property panel
26 */
27 class PARTSET_EXPORT PartSet_WidgetSketchCreator : public ModuleBase_ModelWidget
28 {
29 Q_OBJECT
30  public:
31   /// Constructor
32   /// \param theParent the parent object
33   /// \param theModule a reference to a module 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   PartSet_WidgetSketchCreator(QWidget* theParent, PartSet_Module* theModule, 
37     const Config_WidgetAPI* theData, const std::string& theParentId);
38
39   virtual ~PartSet_WidgetSketchCreator();
40
41   /// Returns list of widget controls
42   /// \return a control list
43   virtual QList<QWidget*> getControls() const;
44
45   /// Set focus to the first control of the current widget. The focus policy of the control is checked.
46   /// If the widget has the NonFocus focus policy, it is skipped.
47   /// \return the state whether the widget can accept the focus
48   virtual bool focusTo();
49
50 protected:
51   /// Saves the internal parameters to the given feature
52   /// \return True in success
53   virtual bool storeValueCustom() const;
54
55   virtual bool restoreValueCustom();
56
57   /// The methiod called when widget is activated
58   virtual void activateCustom();
59
60 private slots:
61   void onStarted();
62
63   void onResumed(ModuleBase_Operation* theOp);
64
65 private:
66
67   PartSet_Module* myModule;
68
69   /// Label of the widget
70   QLabel* myLabel;
71
72   /// Input control of the widget
73   QLineEdit* myTextLine;
74
75   /// To check if we need to use body for composite feature or not
76   bool myUseBody;
77
78 };
79
80 #endif