+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
// File: ModuleBase_WidgetEditor.h
// Created: 25 Apr 2014
// Author: Natalia ERMOLAEVA
#define ModuleBase_WidgetEditor_H
#include <ModuleBase.h>
-#include "ModuleBase_ModelWidget.h"
+#include "ModuleBase_WidgetDoubleValue.h"
#include <QObject>
#include <QStringList>
* \ingroup GUI
* \brief Custom widget. An abstract class to be redefined to fill with some GUI controls
*/
-class MODULEBASE_EXPORT ModuleBase_WidgetEditor : public ModuleBase_ModelWidget
+class MODULEBASE_EXPORT ModuleBase_WidgetEditor : public ModuleBase_WidgetDoubleValue
{
- Q_OBJECT
-public:
+Q_OBJECT
+ public:
+ /// 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);
/// Constructor
- /// \theParent the parent object
- /// \theParent the parent object
- /// \theData the widget configuation. The attribute of the model widget is obtained from
- ModuleBase_WidgetEditor(QWidget* theParent, const Config_WidgetAPI* theData);
+ /// \param theParent the parent object
+ /// \param theAttribute The attribute of the model widget
+ ModuleBase_WidgetEditor(QWidget* theParent, const std::string& theAttribute);
+
/// Destructor
virtual ~ModuleBase_WidgetEditor();
- /// Saves the internal parameters to the given feature
- /// \param theFeature a model feature to be changed
- virtual bool storeValue(FeaturePtr theFeature) const;
-
- virtual bool restoreValue(FeaturePtr theFeature);
-
/// 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.
- virtual void focusTo();
-
- /// Returns the internal parent wiget control, that can be shown anywhere
- /// \returns the widget
- QWidget* getControl() const;
+ /// \return the state whether the widget can accept the focus
+ virtual bool focusTo();
- /// Returns list of widget controls
- /// \return a control list
- virtual QList<QWidget*> getControls() const;
+ private slots:
+ /// Shous popup window under cursor for data editing
+ void showPopupEditor();
-protected slots:
- /// Slot to check the editing stop
- void onStopEditing();
+ private:
+ ///< the current widget feature
+ FeaturePtr myFeature;
-private:
- QLineEdit* myEditor;
- FeaturePtr myFeature; ///< the current widget feature
- QStringList myFeatureKinds; ///< the kinds of possible features
+ ///< the kinds of possible features
+ QStringList myFeatureKinds;
};
#endif