QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
qgscptcitycolorrampdialog.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgscptcitycolorrampdialog.h
3  ---------------------
4  begin : July 2012
5  copyright : (C) 2012 by Etienne Tourigny
6  email : etourigny dot dev at gmail.com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSCPTCITYCOLORRAMPDIALOG_H
17 #define QGSCPTCITYCOLORRAMPDIALOG_H
18 
19 
20 #include "ui_qgscptcitycolorrampdialogbase.h"
21 #include "qgis_sip.h"
22 #include <QDialog>
23 
24 #include "qgscptcityarchive.h"
25 
26 #include <QAbstractProxyModel>
27 #include <QSortFilterProxyModel>
28 #include <QFileInfo>
29 #include "qgis_gui.h"
30 
32 class TreeFilterProxyModel;
33 class ListFilterProxyModel;
34 class UngroupProxyModel;
35 
42 class GUI_EXPORT QgsCptCityColorRampDialog : public QDialog, private Ui::QgsCptCityColorRampDialogBase
43 {
44  Q_OBJECT
45  Q_PROPERTY( QgsCptCityColorRamp ramp READ ramp WRITE setRamp )
46 
47  public:
48 
54  QgsCptCityColorRampDialog( const QgsCptCityColorRamp &ramp, QWidget *parent SIP_TRANSFERTHIS = nullptr );
55 
60  QgsCptCityColorRamp ramp() const { return mRamp; }
61 
67  void setRamp( const QgsCptCityColorRamp &ramp );
68 
72  QString selectedName() const
73  {
74  return QFileInfo( mRamp.schemeName() ).baseName() + mRamp.variantName();
75  }
76 
80  bool saveAsGradientRamp() const;
81 
86  QDialogButtonBox *buttonBox() const;
87 
88  bool eventFilter( QObject *obj, QEvent *event ) override;
89 
90  signals:
91 
93  void changed();
94 
95  private slots:
96  void populateVariants();
97 
98  void mTreeView_clicked( const QModelIndex & );
99  void mListWidget_itemClicked( QListWidgetItem *item );
100  void mListWidget_itemSelectionChanged();
101  void tabBar_currentChanged( int index );
102  void pbtnLicenseDetails_pressed();
103  void cboVariantName_currentIndexChanged( int index );
104  void onFinished();
105  void showHelp();
106  /* void refresh(); */
107 
108  private:
109 
110  void updateUi();
111  void updatePreview( bool clear = false );
112  void clearCopyingInfo();
113  void updateCopyingInfo( const QMap< QString, QString > &copyingMap );
114  void updateTreeView( QgsCptCityDataItem *item, bool resetRamp = true );
115  void updateListWidget( QgsCptCityDataItem *item );
116 
117  QgsCptCityColorRamp mRamp;
118  QgsCptCityArchive *mArchive = nullptr;
119  QgsCptCityBrowserModel::ViewType mArchiveViewType;
120 
121  /* void refreshModel( const QModelIndex& index ); */
122  bool updateRamp();
123  void showAll();
124  void setTreeModel( QgsCptCityBrowserModel *model );
125 
126  QgsCptCityBrowserModel *mModel = nullptr;
127  QgsCptCityBrowserModel *mAuthorsModel = nullptr;
128  QgsCptCityBrowserModel *mSelectionsModel = nullptr;
129  TreeFilterProxyModel *mTreeFilter = nullptr;
130  QVector<QgsCptCityColorRampItem *> mListRamps;
131 
132 };
133 
134 #ifndef SIP_RUN
136 
141 class TreeFilterProxyModel : public QSortFilterProxyModel
142 {
143  Q_OBJECT
144 
145  public:
146  TreeFilterProxyModel( QObject *parent, QgsCptCityBrowserModel *model );
147 
148  protected:
149  bool filterAcceptsRow( int sourceRow, const QModelIndex &sourceParent ) const override;
150  // bool lessThan(const QModelIndex &left, const QModelIndex &right) const;
151 
152  private:
153  QgsCptCityBrowserModel *mModel = nullptr;
154 };
155 
157 #endif
158 
159 #endif
A dialog which allows users to modify the properties of a QgsCptCityColorRamp.
QgsCptCityColorRamp ramp() const
Returns a color ramp representing the current settings from the dialog.
void changed()
Emitted when the dialog settings change.
QString selectedName() const
Returns the name of the ramp currently selected in the dialog.
Base class for all items in the model.
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53