class QgsSvgSelectorListModel : QAbstractListModel { %TypeHeaderCode #include %End public: QgsSvgSelectorListModel( QObject *parent /TransferThis/ ); // Constructor to create model for icons in a specific path QgsSvgSelectorListModel( QObject *parent /TransferThis/, const QString &path ); int rowCount( const QModelIndex &parent = QModelIndex() ) const; QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const; }; class QgsSvgSelectorGroupsModel : QStandardItemModel { %TypeHeaderCode #include %End public: QgsSvgSelectorGroupsModel( QObject *parent /TransferThis/ ); }; class QgsSvgSelectorWidget : QWidget { %TypeHeaderCode #include %End public: QgsSvgSelectorWidget( QWidget *parent /TransferThis/ = 0 ); ~QgsSvgSelectorWidget(); static QgsSvgSelectorWidget *create( QWidget *parent = 0 ) /Factory/; QString currentSvgPath() const; QString currentSvgPathToName() const; QTreeView *groupsTreeView(); QListView *imagesListView(); QLineEdit *filePathLineEdit(); QPushButton *filePathButton(); QCheckBox *relativePathCheckbox(); QLayout *selectorLayout(); public slots: /** Accepts absolute and relative paths */ void setSvgPath( const QString &svgPath ); signals: void svgSelected( const QString &path ); protected: void populateList(); }; class QgsSvgSelectorDialog : QDialog { %TypeHeaderCode #include %End public: QgsSvgSelectorDialog( QWidget* parent /TransferThis/ = 0, const Qt::WindowFlags& fl = QgisGui::ModalDialogFlags, QDialogButtonBox::StandardButtons buttons = QDialogButtonBox::Close | QDialogButtonBox::Ok, Qt::Orientation orientation = Qt::Horizontal ); ~QgsSvgSelectorDialog(); //! Returns the central layout. Widgets added to it must have this dialog as parent QVBoxLayout *layout(); //! Returns the button box QDialogButtonBox *buttonBox(); //! Returns pointer to the embedded SVG selector widget QgsSvgSelectorWidget *svgSelector(); };