1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
4 * ModuleBase_WidgetFileSelector.h
6 * Created on: Aug 28, 2014
10 #ifndef MODULEBASE_WIDGETFILESELECTOR_H_
11 #define MODULEBASE_WIDGETFILESELECTOR_H_
13 #include <ModuleBase.h>
14 #include <ModuleBase_ModelWidget.h>
18 #include <QStringList>
24 * Implementation of model widget for open file widget.
25 * It can be defined as following:
28 * id="import_file_selector"
31 * <validator id="ExchangePlugin_ImportFormat" parameters="BREP:BREPImport,STEP:STEPImport" />
35 class MODULEBASE_EXPORT ModuleBase_WidgetFileSelector : public ModuleBase_ModelWidget
40 /// \param theParent the parent object
41 /// \param theData the widget configuation. The attribute of the model widget is obtained from
42 /// \param theParentId is Id of a parent of the current attribute
43 ModuleBase_WidgetFileSelector(QWidget* theParent,
44 const Config_WidgetAPI* theData,
45 const std::string& theParentId);
46 virtual ~ModuleBase_WidgetFileSelector();
48 virtual bool storeValue() const;
50 virtual bool restoreValue();
52 QWidget* getControl() const;
54 virtual QList<QWidget*> getControls() const;
56 /// Returns true if a file on the current path in the line edit
57 /// exists and has supported format
58 bool isCurrentPathValid();
61 /// Processing of path selection button press
62 void onPathSelectionBtn();
64 /// Processing of path changing
68 /// Returns string containing formats
69 QString formatsString() const;
71 /// Return list of validator formats
72 QStringList getValidatorFormats() const;
75 /// A control for path input
76 QLineEdit* myPathField;
79 QWidget* myMainWidget;
81 /// A title of open file dialog box
85 QString myDefaultPath;
88 #endif /* MODULEBASE_WIDGETFILESELECTOR_H_ */