X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetFileSelector.h;h=ba6a4e019f8506ab16a7ad734e30ffb142ae478f;hb=7cb6ac084270943d926ec7ef35bf9e63d6a3eaf5;hp=06ca8bf5cf7d4a54de28013413f29cc7ca731e56;hpb=72cb66f9c09b0f8fa224f6f8ab43548658015b49;p=modules%2Fshaper.git
diff --git a/src/ModuleBase/ModuleBase_WidgetFileSelector.h b/src/ModuleBase/ModuleBase_WidgetFileSelector.h
index 06ca8bf5c..ba6a4e019 100644
--- a/src/ModuleBase/ModuleBase_WidgetFileSelector.h
+++ b/src/ModuleBase/ModuleBase_WidgetFileSelector.h
@@ -21,16 +21,21 @@ class QWidget;
class QLineEdit;
/**
+* \ingroup GUI
* Implementation of model widget for open file widget.
* It can be defined as following:
* \code
*
*
*
* \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
{
@@ -38,19 +43,13 @@ class MODULEBASE_EXPORT ModuleBase_WidgetFileSelector : public ModuleBase_ModelW
public:
/// Constructor
/// \param theParent the parent object
- /// \param theData the widget configuation. The attribute of the model widget is obtained from
+ /// \param theData the widget configuration. The attribute of the model widget is obtained from
/// \param theParentId is Id of a parent of the current attribute
ModuleBase_WidgetFileSelector(QWidget* theParent,
const Config_WidgetAPI* theData,
const std::string& theParentId);
virtual ~ModuleBase_WidgetFileSelector();
- virtual bool storeValue() const;
-
- virtual bool restoreValue();
-
- QWidget* getControl() const;
-
virtual QList getControls() const;
/// Returns true if a file on the current path in the line edit
@@ -64,23 +63,48 @@ class MODULEBASE_EXPORT ModuleBase_WidgetFileSelector : public ModuleBase_ModelW
/// Processing of path changing
void onPathChanged();
- protected:
- /// Returns string containing formats
- QString formatsString() const;
+protected:
+ /// Saves the internal parameters to the given feature
+ /// \return True in success
+ virtual bool storeValueCustom() const;
+
+ virtual bool restoreValueCustom();
+
+protected:
+ /// Converts format to filter string
+ 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);
- /// Return list of validator formats
+ /// Returns list of validator formats
QStringList getValidatorFormats() const;
- private:
+ /// 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;
- /// Container
- QWidget* myMainWidget;
-
/// A title of open file dialog box
QString myTitle;
+ /// A current format
+ QString mySelectedFilter;
+
+ /// A title of open file dialog box
+ enum { WFS_OPEN, WFS_SAVE } myType;
+
/// Default path
QString myDefaultPath;
};