* <validator id="ExchangePlugin_ImportFormat" parameters="BREP:BREPImport,STEP:STEPImport" />
* </file_selector>
* \endcode
+* It can use following parameters:
+* - id - name of object attribute
+* - type - type of dialog. Possible values: open, save.
*/
class MODULEBASE_EXPORT ModuleBase_WidgetFileSelector : public ModuleBase_ModelWidget
{
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
+ /// \param theData the widget configuration. The attribute of the model widget is obtained from
ModuleBase_WidgetFileSelector(QWidget* theParent,
- const Config_WidgetAPI* theData,
- const std::string& theParentId);
+ const Config_WidgetAPI* theData);
virtual ~ModuleBase_WidgetFileSelector();
- virtual bool restoreValue();
-
virtual QList<QWidget*> getControls() const;
/// Returns true if a file on the current path in the line edit
protected:
/// Saves the internal parameters to the given feature
/// \return True in success
- virtual bool storeValueCustom() const;
+ virtual bool storeValueCustom();
+
+ virtual bool restoreValueCustom();
protected:
/// Converts format to filter string
- static QString formatToFilter( const QString & theFormat );
+ static QString formatToFilter(const QString & theFormat);
+
+ /// Returns a short format string of theFilter string
+ static QString filterToShortFormat(const QString & theFilter);
+
+ /// Returns a list of extensions from theFilter
+ static QStringList filterToExtensions(const QString & theFilter);
/// Returns list of validator formats
QStringList getValidatorFormats() const;
/// Returns string containing formats
QString filterString() const;
+ /// Add an extension to file name if the extension is not defined
+ /// \param theFileName a file name
+ /// \param theFilter a file filter
+ /// \return the file name with extension
+ static QString applyExtension(const QString& theFileName, const QString& theFilter);
+
protected:
/// A control for path input
QLineEdit* myPathField;
QString mySelectedFilter;
/// A title of open file dialog box
- enum { WFS_OPEN, WFS_SAVE } myType;
+ enum {
+ WFS_OPEN, ///< open file
+ WFS_SAVE ///< save file
+ } myType; ///< type of dialog
/// Default path
QString myDefaultPath;