Guitar
src
Theme.h
Go to the documentation of this file.
1
#ifndef THEME_H
2
#define THEME_H
3
4
#include <QIcon>
5
#include <QImage>
6
#include <QPalette>
7
#include <memory>
8
#include "
TextEditorTheme.h
"
9
10
#define USE_DARK_THEME
11
12
class
QStyle;
13
14
class
AbstractTheme
{
15
public
:
16
TextEditorThemePtr
text_editor_theme
;
17
QColor
dialog_header_frame_bg
;
18
QColor
diff_slider_normal_bg
;
19
QColor
diff_slider_unknown_bg
;
20
QColor
diff_slider_add_bg
;
21
QColor
diff_slider_del_bg
;
22
QColor
diff_slider_handle
;
23
24
AbstractTheme
() =
default
;
25
virtual
~AbstractTheme
() =
default
;
26
virtual
QStyle *
newStyle
() = 0;
27
virtual
QImage
graphColorMap
() = 0;
28
29
virtual
QIcon
resource_clear_icon
() = 0;
30
virtual
QPixmap
resource_maximize_png
() = 0;
31
virtual
QPixmap
resource_menu_png
() = 0;
32
};
33
34
using
ThemePtr
= std::shared_ptr<AbstractTheme>;
35
36
class
LightTheme
:
public
AbstractTheme
{
37
public
:
38
LightTheme
() =
default
;
39
QStyle *
newStyle
()
override
;
40
QImage
graphColorMap
()
override
;
41
QIcon
resource_clear_icon
()
override
;
42
QPixmap
resource_maximize_png
()
override
;
43
QPixmap
resource_menu_png
()
override
;
44
};
45
ThemePtr
createLightTheme
();
46
47
#ifdef USE_DARK_THEME
48
49
class
DarkTheme
:
public
AbstractTheme
{
50
public
:
51
DarkTheme
() =
default
;
52
QStyle *
newStyle
()
override
;
53
QImage
graphColorMap
()
override
;
54
QIcon
resource_clear_icon
()
override
;
55
QPixmap
resource_maximize_png
()
override
;
56
QPixmap
resource_menu_png
()
override
;
57
};
58
ThemePtr
createDarkTheme
();
59
60
#endif
61
62
63
#endif
// THEME_H
TextEditorTheme.h
TextEditorThemePtr
std::shared_ptr< TextEditorTheme > TextEditorThemePtr
Definition:
TextEditorTheme.h:9
createLightTheme
ThemePtr createLightTheme()
Definition:
Theme.cpp:43
ThemePtr
std::shared_ptr< AbstractTheme > ThemePtr
Definition:
Theme.h:34
createDarkTheme
ThemePtr createDarkTheme()
Definition:
Theme.cpp:114
AbstractTheme
Definition:
Theme.h:14
AbstractTheme::diff_slider_handle
QColor diff_slider_handle
Definition:
Theme.h:22
AbstractTheme::text_editor_theme
TextEditorThemePtr text_editor_theme
Definition:
Theme.h:16
AbstractTheme::resource_maximize_png
virtual QPixmap resource_maximize_png()=0
AbstractTheme::dialog_header_frame_bg
QColor dialog_header_frame_bg
Definition:
Theme.h:17
AbstractTheme::AbstractTheme
AbstractTheme()=default
AbstractTheme::newStyle
virtual QStyle * newStyle()=0
AbstractTheme::diff_slider_del_bg
QColor diff_slider_del_bg
Definition:
Theme.h:21
AbstractTheme::diff_slider_unknown_bg
QColor diff_slider_unknown_bg
Definition:
Theme.h:19
AbstractTheme::diff_slider_add_bg
QColor diff_slider_add_bg
Definition:
Theme.h:20
AbstractTheme::diff_slider_normal_bg
QColor diff_slider_normal_bg
Definition:
Theme.h:18
AbstractTheme::graphColorMap
virtual QImage graphColorMap()=0
AbstractTheme::resource_clear_icon
virtual QIcon resource_clear_icon()=0
AbstractTheme::resource_menu_png
virtual QPixmap resource_menu_png()=0
AbstractTheme::~AbstractTheme
virtual ~AbstractTheme()=default
DarkTheme
Definition:
Theme.h:49
DarkTheme::resource_menu_png
QPixmap resource_menu_png() override
Definition:
Theme.cpp:108
DarkTheme::newStyle
QStyle * newStyle() override
Definition:
Theme.cpp:66
DarkTheme::resource_clear_icon
QIcon resource_clear_icon() override
Definition:
Theme.cpp:97
DarkTheme::DarkTheme
DarkTheme()=default
DarkTheme::graphColorMap
QImage graphColorMap() override
Definition:
Theme.cpp:71
DarkTheme::resource_maximize_png
QPixmap resource_maximize_png() override
Definition:
Theme.cpp:102
LightTheme
Definition:
Theme.h:36
LightTheme::newStyle
QStyle * newStyle() override
Definition:
Theme.cpp:16
LightTheme::graphColorMap
QImage graphColorMap() override
Definition:
Theme.cpp:21
LightTheme::resource_menu_png
QPixmap resource_menu_png() override
Definition:
Theme.cpp:38
LightTheme::resource_maximize_png
QPixmap resource_maximize_png() override
Definition:
Theme.cpp:33
LightTheme::LightTheme
LightTheme()=default
LightTheme::resource_clear_icon
QIcon resource_clear_icon() override
Definition:
Theme.cpp:28
Generated by
1.9.1