/// Constructor
/// \param theParent the parent object
/// \param theData the widget configuation. The attribute of the model widget is obtained from
- /// \param theParentId is Id of a parent of the current attribute
- ModuleBase_WidgetEditor(QWidget* theParent, const Config_WidgetAPI* theData,
- const std::string& theParentId);
+ ModuleBase_WidgetEditor(QWidget* theParent, const Config_WidgetAPI* theData);
/// Constructor
/// \param theParent the parent object
/// \param theAttribute The attribute of the model widget
/// Destructor
virtual ~ModuleBase_WidgetEditor();
- /// Set focus to the first control of the current widget. The focus policy of the control is checked.
+ /// 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();
- /// Creates an editor for the real value and set the new value to the feature
- /// \param theFeature the model feature
- /// \param theAttribute the feature attribute
- static void editFeatureValue(FeaturePtr theFeature, const std::string theAttribute);
+ /// Shous popup window under cursor for data editing
+ /// \param theSendSignals a flag whether the signals should be sent or the value
+ /// is to be applyed directly
+ /// \return true if the editor value is accepted
+ bool showPopupEditor(const bool theSendSignals = true);
- private slots:
- /// Shous popup window under cursor for data editing
- void showPopupEditor();
+ /// Set current cursor position
+ /// \param theX the X coordinate
+ /// \param theY the Y coordinate
+ void setCursorPosition(const int theX, const int theY);
+
+private:
+ /// Show editor
+ /// \param theOutValue a result value
+ /// \param theOutText a result text
+ /// \return true if the editor value is accepted
+ bool editedValue(double& theOutValue, QString& theOutText);
private:
///< the current widget feature
- FeaturePtr myFeature;
+ FeaturePtr myFeature;
///< the kinds of possible features
- QStringList myFeatureKinds;
+ QStringList myFeatureKinds;
+
+ int myXPosition, myYPosition;
};
#endif