20 #ifndef LIBREPCB_CORE_THEME_H 21 #define LIBREPCB_CORE_THEME_H 26 #include "../serialization/sexpression.h" 27 #include "../types/uuid.h" 45 Q_DECLARE_TR_FUNCTIONS(
Theme)
57 static constexpr
const char* sSchematicBackground =
"schematic_background";
58 static constexpr
const char* sSchematicOverlays =
"schematic_overlays";
59 static constexpr
const char* sSchematicInfoBox =
"schematic_info_box";
60 static constexpr
const char* sSchematicSelection =
"schematic_selection";
61 static constexpr
const char* sSchematicReferences =
"schematic_references";
62 static constexpr
const char* sSchematicFrames =
"schematic_frames";
63 static constexpr
const char* sSchematicWires =
"schematic_wires";
64 static constexpr
const char* sSchematicNetLabels =
"schematic_net_labels";
65 static constexpr
const char* sSchematicNetLabelAnchors =
"schematic_net_label_anchors";
66 static constexpr
const char* sSchematicDocumentation =
"schematic_documentation";
67 static constexpr
const char* sSchematicComments =
"schematic_comments";
68 static constexpr
const char* sSchematicGuide =
"schematic_guide";
69 static constexpr
const char* sSchematicOutlines =
"schematic_outlines";
70 static constexpr
const char* sSchematicGrabAreas =
"schematic_grab_areas";
71 static constexpr
const char* sSchematicHiddenGrabAreas =
"schematic_hidden_grab_areas";
72 static constexpr
const char* sSchematicNames =
"schematic_names";
73 static constexpr
const char* sSchematicValues =
"schematic_values";
74 static constexpr
const char* sSchematicOptionalPins =
"schematic_optional_pins";
75 static constexpr
const char* sSchematicRequiredPins =
"schematic_required_pins";
76 static constexpr
const char* sSchematicPinLines =
"schematic_pin_lines";
77 static constexpr
const char* sSchematicPinNames =
"schematic_pin_names";
78 static constexpr
const char* sSchematicPinNumbers =
"schematic_pin_numbers";
79 static constexpr
const char* sBoardBackground =
"board_background";
80 static constexpr
const char* sBoardOverlays =
"board_overlays";
81 static constexpr
const char* sBoardInfoBox =
"board_info_box";
82 static constexpr
const char* sBoardSelection =
"board_selection";
83 static constexpr
const char* sBoardDrcMarker =
"board_drc_marker";
84 static constexpr
const char* sBoardFrames =
"board_frames";
85 static constexpr
const char* sBoardOutlines =
"board_outlines";
86 static constexpr
const char* sBoardPlatedCutouts =
"board_plated_cutouts";
87 static constexpr
const char* sBoardHoles =
"board_holes";
88 static constexpr
const char* sBoardPads =
"board_pads";
89 static constexpr
const char* sBoardVias =
"board_vias";
90 static constexpr
const char* sBoardZones =
"board_zones";
91 static constexpr
const char* sBoardAirWires =
"board_airwires";
92 static constexpr
const char* sBoardMeasures =
"board_measures";
93 static constexpr
const char* sBoardAlignment =
"board_alignment";
94 static constexpr
const char* sBoardDocumentation =
"board_documentation";
95 static constexpr
const char* sBoardComments =
"board_comments";
96 static constexpr
const char* sBoardGuide =
"board_guide";
97 static constexpr
const char* sBoardNamesTop =
"board_names_top";
98 static constexpr
const char* sBoardNamesBot =
"board_names_bottom";
99 static constexpr
const char* sBoardValuesTop =
"board_values_top";
100 static constexpr
const char* sBoardValuesBot =
"board_values_bottom";
101 static constexpr
const char* sBoardLegendTop =
"board_legend_top";
102 static constexpr
const char* sBoardLegendBot =
"board_legend_bottom";
103 static constexpr
const char* sBoardDocumentationTop =
"board_documentation_top";
104 static constexpr
const char* sBoardDocumentationBot =
"board_documentation_bottom";
105 static constexpr
const char* sBoardPackageOutlinesTop =
"board_package_outlines_top";
106 static constexpr
const char* sBoardPackageOutlinesBot =
"board_package_outlines_bottom";
107 static constexpr
const char* sBoardCourtyardTop =
"board_courtyard_top";
108 static constexpr
const char* sBoardCourtyardBot =
"board_courtyard_bottom";
109 static constexpr
const char* sBoardGrabAreasTop =
"board_grab_areas_top";
110 static constexpr
const char* sBoardGrabAreasBot =
"board_grab_areas_bottom";
111 static constexpr
const char* sBoardHiddenGrabAreasTop =
"board_hidden_grab_areas_top";
112 static constexpr
const char* sBoardHiddenGrabAreasBot =
"board_hidden_grab_areas_bottom";
113 static constexpr
const char* sBoardReferencesTop =
"board_references_top";
114 static constexpr
const char* sBoardReferencesBot =
"board_references_bottom";
115 static constexpr
const char* sBoardStopMaskTop =
"board_stop_mask_top";
116 static constexpr
const char* sBoardStopMaskBot =
"board_stop_mask_bottom";
117 static constexpr
const char* sBoardSolderPasteTop =
"board_solder_paste_top";
118 static constexpr
const char* sBoardSolderPasteBot =
"board_solder_paste_bottom";
119 static constexpr
const char* sBoardFinishTop =
"board_finish_top";
120 static constexpr
const char* sBoardFinishBot =
"board_finish_bottom";
121 static constexpr
const char* sBoardGlueTop =
"board_glue_top";
122 static constexpr
const char* sBoardGlueBot =
"board_glue_bottom";
123 static constexpr
const char* sBoardCopperTop =
"board_copper_top";
124 static constexpr
const char* sBoardCopperInner =
"board_copper_inner_%1";
125 static constexpr
const char* sBoardCopperBot =
"board_copper_bottom";
131 const QString& name =
"Unnamed") noexcept;
132 Theme(const
Uuid& uuid, const QString& name, const
Theme& copyFrom) noexcept;
147 void setName(
const QString& name) noexcept;
148 void setColors(
const QList<ThemeColor>& colors) noexcept;
167 void addColor(
const QString&
id,
const QString& category,
const QString& name,
168 const QColor& primary,
const QColor& secondary) noexcept;
SExpression & addNode(const QString &name) noexcept
Definition: theme.cpp:377
GridStyle getSchematicGridStyle() const noexcept
Definition: theme.h:141
static const QSet< QString > & getCopperColorNames() noexcept
Definition: theme.cpp:343
Uuid mUuid
Definition: theme.h:174
QMap< QString, SExpression > mNodes
Definition: theme.h:172
Theme(const Uuid &uuid=Uuid::createRandom(), const QString &name="Unnamed") noexcept
Definition: theme.cpp:72
Definition: occmodel.cpp:76
void setColors(const QList< ThemeColor > &colors) noexcept
Definition: theme.cpp:233
void addColor(const QString &id, const QString &category, const QString &name, const QColor &primary, const QColor &secondary) noexcept
Definition: theme.cpp:371
void setName(const QString &name) noexcept
Definition: theme.cpp:229
QList< ThemeColor > mColors
Definition: theme.h:176
const ThemeColor & getColor(const QString &identifier) const noexcept
Definition: theme.cpp:213
Color settings as used by librepcb::Theme.
Definition: themecolor.h:43
void setBoardGridStyle(GridStyle style) noexcept
Definition: theme.cpp:268
Theme & operator=(const Theme &rhs) noexcept
Definition: theme.cpp:329
const QString & getName() const noexcept
Definition: theme.h:138
void serialize(SExpression &root) const
Definition: theme.cpp:305
GridStyle
Definition: theme.h:49
static QString getGrabAreaColorName(const QString &outlineColorName) noexcept
Definition: theme.cpp:355
bool operator!=(const Theme &rhs) const noexcept
Definition: theme.h:159
GridStyle getBoardGridStyle() const noexcept
Definition: theme.h:144
bool operator==(const Theme &rhs) const noexcept
Definition: theme.cpp:319
void setSchematicGridStyle(GridStyle style) noexcept
Definition: theme.cpp:261
GridStyle mSchematicGridStyle
Definition: theme.h:177
void load(const SExpression &root)
Definition: theme.cpp:283
void restoreDefaults() noexcept
Definition: theme.cpp:279
QString mName
Definition: theme.h:175
const Uuid & getUuid() const noexcept
Definition: theme.h:137
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition: uuid.h:56
static Uuid createRandom() noexcept
Create a new random UUID.
Definition: uuid.cpp:99
GridStyle mBoardGridStyle
Definition: theme.h:178
Theme class as used by librepcb::WorkspaceSettingsItem_Themes.
Definition: theme.h:44
The SExpression class.
Definition: sexpression.h:66
const QList< ThemeColor > & getColors() const noexcept
Definition: theme.h:139