Nix (Dev)
3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CMenuContextGraphics.hpp
Go to the documentation of this file.
1
#ifndef LIBS_GRAPHICSCOMP_CMENUCONTEXTGRAPHICS_HPP_
2
#define LIBS_GRAPHICSCOMP_CMENUCONTEXTGRAPHICS_HPP_
3
4
#include "
AbstractComponentGraphics.hpp
"
5
6
#include "
core/memOps.hpp
"
7
#include "
ui/gui/CTxtColor.hpp
"
8
#include "
ui/shapes/CCircleGraphics.hpp
"
9
#include "
ui/shapes/CDrawText.hpp
"
10
#include "
ui/shapes/CRectangleGraphics.hpp
"
11
12
#include <string>
13
#include <utility>
14
15
class
AbstractClickComponentGUI
;
16
17
struct
SPrvOptionMenuContextGraphics
18
{
19
SPrvOptionMenuContextGraphics
()
20
{
21
m_argbColorBackground
= 0;
22
m_componentOptionRef
=
nullptr
;
23
m_textInitial
=
nullptr
;
24
}
25
26
//TODO: Check if this copy of raw pointers is correct
27
SPrvOptionMenuContextGraphics
(
const
SPrvOptionMenuContextGraphics
&sMenu)
28
{
29
m_textOption
= sMenu.
m_textOption
;
30
m_argbColorBackground
= sMenu.
m_argbColorBackground
;
31
m_textInitial
= sMenu.
m_textInitial
;
32
m_nameImageOpt
= sMenu.
m_nameImageOpt
;
33
m_circleOption
= sMenu.
m_circleOption
;
34
m_componentOptionRef
= sMenu.
m_componentOptionRef
;
35
}
36
37
SPrvOptionMenuContextGraphics
(
CDrawText
**textOption, uint32_t argbColorBackground,
CDrawText
**textInitial,
38
std::string nameImageOpt,
CCircleGraphics
**circleOption,
39
AbstractClickComponentGUI
*componentOptionRef)
40
{
41
m_textOption
=
iv::assignPtrNoNull
(textOption);
42
m_argbColorBackground
= argbColorBackground;
43
m_textInitial
=
iv::assignPtrNoNull
(textInitial);
44
m_nameImageOpt
= std::move(nameImageOpt);
45
m_circleOption
=
iv::assignPtrNoNull
(circleOption);
46
m_componentOptionRef
= componentOptionRef;
47
}
48
49
//TODO: Check if no delete raw pointers is correct
50
~SPrvOptionMenuContextGraphics
()
51
{
52
// HEAP_DELETE_OBJECT(&m_textOption, CDrawText);
53
// HEAP_DELETE_OBJECT(&m_textInitial, CDrawText);
54
// HEAP_DELETE_OBJECT(&m_circleOption, CCircleGraphics);
55
}
56
57
//TODO: Check if this copy of raw pointers is correct
58
SPrvOptionMenuContextGraphics
&
operator=
(
const
SPrvOptionMenuContextGraphics
&sMenu)
59
{
60
if
(
this
!= &sMenu)
61
{
62
m_textOption
= sMenu.
m_textOption
;
63
m_argbColorBackground
= sMenu.
m_argbColorBackground
;
64
m_textInitial
= sMenu.
m_textInitial
;
65
m_nameImageOpt
= sMenu.
m_nameImageOpt
;
66
m_circleOption
= sMenu.
m_circleOption
;
67
m_componentOptionRef
= sMenu.
m_componentOptionRef
;
68
}
69
70
return
*
this
;
71
}
72
73
bool
operator==
(
const
SPrvOptionMenuContextGraphics
&b)
const
74
{
75
return
(
m_textOption
== b.
m_textOption
) && (
m_argbColorBackground
== b.
m_argbColorBackground
) &&
76
(
m_textInitial
== b.
m_textInitial
) && (
m_nameImageOpt
== b.
m_nameImageOpt
) &&
77
(
m_circleOption
== b.
m_circleOption
) && (
m_componentOptionRef
== b.
m_componentOptionRef
);
78
}
79
80
CDrawText
*
m_textOption
{};
81
uint32_t
m_argbColorBackground
;
82
CDrawText
*
m_textInitial
;
83
std::string
m_nameImageOpt
;
84
85
CCircleGraphics
*
m_circleOption
{};
86
AbstractClickComponentGUI
*
m_componentOptionRef
;
87
};
88
89
class
CMenuContextGraphics
:
public
AbstractComponentGraphics
90
{
91
public
:
92
explicit
CMenuContextGraphics
(
const
std::string &titleMenu);
93
~CMenuContextGraphics
()
override
;
94
95
void
addMessageState
(
const
CTxtColor
&txtColor);
96
void
addOption
(
const
std::string &textOption, uint32_t argbColorBackground,
const
std::string &nameOptionOpt,
97
AbstractClickComponentGUI
*componentOptionRef);
98
void
calculatePosGlobal
(
double
xFather,
double
yFather)
override
;
99
void
calculateSizeMin
(
IGraphics
*graphics,
const
CTheme
*theme,
CLibraryImages
*libraryImage,
double
*sizeXComp,
100
double
*sizeYComp)
override
;
101
void
distribute
(
IGraphics
*graphics,
double
sizeXComp,
double
sizeYComp)
override
;
102
void
drawComponent
(
IGraphics
*graphics,
const
CTheme
*theme)
override
;
103
void
handleEvent
(
CEventGraphics
*event,
double
xOrg,
double
yOrg)
override
;
104
void
nextFrameChildren
()
override
;
105
void
removeObjectDraw
(
IGraphics
*graphics)
override
;
106
bool
sizeChanged
()
override
;
107
void
update
(
IGraphics
*graphics,
CLibraryImages
*libraryImage)
override
;
108
109
private
:
110
CCircleGraphics
*
m_circleCentreOpt
;
111
std::vector<SPrvOptionMenuContextGraphics>
m_optionsMenuContextGraphics
;
112
std::vector<CTxtColor>
m_msgState
;
113
CDrawText
*
m_titleMenu
;
114
CRectangleGraphics
*
m_rectangleTitleOpt
;
115
};
116
117
#endif
/* LIBS_GRAPHICSCOMP_CMENUCONTEXTGRAPHICS_HPP_ */
AbstractComponentGraphics.hpp
CCircleGraphics.hpp
CDrawText.hpp
CRectangleGraphics.hpp
CTxtColor.hpp
AbstractClickComponentGUI
Definition
AbstractClickComponentGUI.hpp:10
AbstractComponentGraphics
Definition
AbstractComponentGraphics.hpp:21
CCircleGraphics
Definition
CCircleGraphics.hpp:8
CDrawText
Definition
CDrawText.hpp:11
CEventGraphics
Definition
CEventGraphics.hpp:9
CLibraryImages
Definition
CLibraryImages.hpp:11
CMenuContextGraphics
Definition
CMenuContextGraphics.hpp:90
CMenuContextGraphics::m_rectangleTitleOpt
CRectangleGraphics * m_rectangleTitleOpt
Definition
CMenuContextGraphics.hpp:114
CMenuContextGraphics::update
void update(IGraphics *graphics, CLibraryImages *libraryImage) override
Definition
CMenuContextGraphics.cpp:326
CMenuContextGraphics::m_circleCentreOpt
CCircleGraphics * m_circleCentreOpt
Definition
CMenuContextGraphics.hpp:110
CMenuContextGraphics::drawComponent
void drawComponent(IGraphics *graphics, const CTheme *theme) override
Definition
CMenuContextGraphics.cpp:187
CMenuContextGraphics::m_msgState
std::vector< CTxtColor > m_msgState
Definition
CMenuContextGraphics.hpp:112
CMenuContextGraphics::m_titleMenu
CDrawText * m_titleMenu
Definition
CMenuContextGraphics.hpp:113
CMenuContextGraphics::nextFrameChildren
void nextFrameChildren() override
Definition
CMenuContextGraphics.cpp:297
CMenuContextGraphics::addOption
void addOption(const std::string &textOption, uint32_t argbColorBackground, const std::string &nameOptionOpt, AbstractClickComponentGUI *componentOptionRef)
Definition
CMenuContextGraphics.cpp:67
CMenuContextGraphics::addMessageState
void addMessageState(const CTxtColor &txtColor)
Definition
CMenuContextGraphics.cpp:57
CMenuContextGraphics::calculateSizeMin
void calculateSizeMin(IGraphics *graphics, const CTheme *theme, CLibraryImages *libraryImage, double *sizeXComp, double *sizeYComp) override
Definition
CMenuContextGraphics.cpp:94
CMenuContextGraphics::handleEvent
void handleEvent(CEventGraphics *event, double xOrg, double yOrg) override
Definition
CMenuContextGraphics.cpp:242
CMenuContextGraphics::distribute
void distribute(IGraphics *graphics, double sizeXComp, double sizeYComp) override
Definition
CMenuContextGraphics.cpp:136
CMenuContextGraphics::m_optionsMenuContextGraphics
std::vector< SPrvOptionMenuContextGraphics > m_optionsMenuContextGraphics
Definition
CMenuContextGraphics.hpp:111
CMenuContextGraphics::removeObjectDraw
void removeObjectDraw(IGraphics *graphics) override
Definition
CMenuContextGraphics.cpp:301
CMenuContextGraphics::sizeChanged
bool sizeChanged() override
Definition
CMenuContextGraphics.cpp:321
CMenuContextGraphics::~CMenuContextGraphics
~CMenuContextGraphics() override
Definition
CMenuContextGraphics.cpp:39
CMenuContextGraphics::CMenuContextGraphics
CMenuContextGraphics(const std::string &titleMenu)
Definition
CMenuContextGraphics.cpp:28
CMenuContextGraphics::calculatePosGlobal
void calculatePosGlobal(double xFather, double yFather) override
Definition
CMenuContextGraphics.cpp:85
CRectangleGraphics
Definition
CRectangleGraphics.hpp:10
CTheme
Definition
CTheme.hpp:10
CTxtColor
Definition
CTxtColor.hpp:10
IGraphics
Definition
IGraphics.hpp:20
memOps.hpp
iv::assignPtrNoNull
T * assignPtrNoNull(T **ptr)
Definition
memOps.hpp:31
SPrvOptionMenuContextGraphics
Definition
CMenuContextGraphics.hpp:18
SPrvOptionMenuContextGraphics::m_argbColorBackground
uint32_t m_argbColorBackground
Definition
CMenuContextGraphics.hpp:81
SPrvOptionMenuContextGraphics::m_nameImageOpt
std::string m_nameImageOpt
Definition
CMenuContextGraphics.hpp:83
SPrvOptionMenuContextGraphics::~SPrvOptionMenuContextGraphics
~SPrvOptionMenuContextGraphics()
Definition
CMenuContextGraphics.hpp:50
SPrvOptionMenuContextGraphics::m_textOption
CDrawText * m_textOption
Definition
CMenuContextGraphics.hpp:80
SPrvOptionMenuContextGraphics::m_componentOptionRef
AbstractClickComponentGUI * m_componentOptionRef
Definition
CMenuContextGraphics.hpp:86
SPrvOptionMenuContextGraphics::SPrvOptionMenuContextGraphics
SPrvOptionMenuContextGraphics()
Definition
CMenuContextGraphics.hpp:19
SPrvOptionMenuContextGraphics::operator=
SPrvOptionMenuContextGraphics & operator=(const SPrvOptionMenuContextGraphics &sMenu)
Definition
CMenuContextGraphics.hpp:58
SPrvOptionMenuContextGraphics::SPrvOptionMenuContextGraphics
SPrvOptionMenuContextGraphics(CDrawText **textOption, uint32_t argbColorBackground, CDrawText **textInitial, std::string nameImageOpt, CCircleGraphics **circleOption, AbstractClickComponentGUI *componentOptionRef)
Definition
CMenuContextGraphics.hpp:37
SPrvOptionMenuContextGraphics::m_circleOption
CCircleGraphics * m_circleOption
Definition
CMenuContextGraphics.hpp:85
SPrvOptionMenuContextGraphics::SPrvOptionMenuContextGraphics
SPrvOptionMenuContextGraphics(const SPrvOptionMenuContextGraphics &sMenu)
Definition
CMenuContextGraphics.hpp:27
SPrvOptionMenuContextGraphics::operator==
bool operator==(const SPrvOptionMenuContextGraphics &b) const
Definition
CMenuContextGraphics.hpp:73
SPrvOptionMenuContextGraphics::m_textInitial
CDrawText * m_textInitial
Definition
CMenuContextGraphics.hpp:82
src
ui
graphicsComp
CMenuContextGraphics.hpp
Generated by
1.12.0