1 /*************************************************************************** 2 qgscodeeditorcolorschemeregistry.h 3 ------------------------ 4 begin : October 2020 5 copyright : (C) 2020 by Nyall Dawson 6 email : nyall dot dawson at gmail dot com 7 ***************************************************************************/ 8 9 /*************************************************************************** 10 * * 11 * This program is free software; you can redistribute it and/or modify * 12 * it under the terms of the GNU General Public License as published by * 13 * the Free Software Foundation; either version 2 of the License, or * 14 * (at your option) any later version. * 15 * * 16 ***************************************************************************/ 17 18 #ifndef QGSCODEEDITORCOLORSCHEMEREGISTRY_H 19 #define QGSCODEEDITORCOLORSCHEMEREGISTRY_H 20 21 #include "qgis_gui.h" 22 #include "qgscodeeditorcolorscheme.h" 23 #include <QList> 24 25 /** 26 * \ingroup gui 27 * \class QgsCodeEditorColorSchemeRegistry 28 * \brief A registry of color schemes for use in QgsCodeEditor widgets. 29 * 30 * QgsCodeEditorColorSchemeRegistry is not usually directly created, but rather accessed through 31 * QgsGui::codeEditorColorSchemeRegistry(). 32 * 33 * \since QGIS 3.16 34 */ 35 class GUI_EXPORT QgsCodeEditorColorSchemeRegistry 36 { 37 38 public: 39 40 /** 41 * Constructor for a color scheme registry. 42 */ 43 QgsCodeEditorColorSchemeRegistry(); 44 45 /** 46 * Adds a color \a scheme to the registry. 47 * 48 * Returns TRUE if the scheme was successfully added. 49 */ 50 bool addColorScheme( const QgsCodeEditorColorScheme &scheme ); 51 52 /** 53 * Removes the color scheme with matching \a id from the registry. 54 * 55 * Returns TRUE if scheme was found and removed. 56 */ 57 bool removeColorScheme( const QString &id ); 58 59 /** 60 * Returns a list of the QgsCodeEditorColorScheme::id() values for all registered color schemes. 61 */ 62 QStringList schemes() const; 63 64 /** 65 * Returns the color scheme with matching \a id. 66 * 67 * If the specified scheme \a id does not exist then the default scheme will be returned instead. 68 */ 69 QgsCodeEditorColorScheme scheme( const QString &id ) const; 70 71 private: 72 73 QMap< QString, QgsCodeEditorColorScheme > mColorSchemes; 74 75 }; 76 77 #endif // QGSCODEEDITORCOLORSCHEMEREGISTRY_H 78