GlistEngine
Loading...
Searching...
No Matches
gBaseGUIObject.h
Go to the documentation of this file.
1/*
2 * gBaseGUIObject.h
3 *
4 * Created on: Aug 11, 2021
5 * Author: noyan
6 */
7
8#ifndef BASE_GBASEGUIOBJECT_H_
9#define BASE_GBASEGUIOBJECT_H_
10
11#include "gRenderObject.h"
12#include "gFont.h"
13class gBaseApp;
14#include "gGUIActionManager.h"
15#include "gGUIResources.h"
16
17
19public:
20 static const int GUIEVENT_FOCUSED = -1, GUIEVENT_UNFOCUSED = -2;
22
23 enum {
27 };
28
30 virtual ~gBaseGUIObject();
31
32 int getId();
33 int getType();
34
36 bool isEnabled();
37
39 bool isTitleOn();
40
41 virtual void setTopParent(gBaseGUIObject* parentGUIObject);
43
44 virtual void setParent(gBaseGUIObject* parentGUIObject);
46
47 void setParentSlotNo(int parentSlotLineNo, int parentSlotColumnNo);
50
51 void setTitle(std::string title);
52 std::string getTitle();
53
54 virtual void update() = 0;
55 virtual void draw() = 0;
56// virtual void resetSize() = 0;
57
58 static void setBackgroundColor(gColor* backgroundColor);
60
61 static void setMiddlegroundColor(gColor* middlegroundColor);
63
64 static void setForegroundColor(gColor* foregroundColor);
66
67 static void setTextBackgroundColor(gColor* textBackgroundColor);
69
70 static void setNavigationBackgroundColor(gColor* navigationBackgroundColor);
72
73 static void setFont(gFont* font);
74 static gFont* getFont();
75
76 static void setFontColor(gColor* fontColor);
78
79 static void setNavigationFontColor(gColor* navigationFontColor);
81
82 static void setButtonColor(gColor* color);
84
85 static void setPressedButtonColor(gColor* color);
87
88 static void setDisabledButtonColor(gColor* color);
90
91 static void setButtonFontColor(gColor* color);
93
94 static void setPressedButtonFontColor(gColor* color);
96
99
100 virtual int getCursor(int x, int y);
101 virtual void keyPressed(int key);
102 virtual void keyReleased(int key);
103 virtual void charPressed(unsigned int codepoint);
104 virtual void mouseMoved(int x, int y);
105 virtual void mousePressed(int x, int y, int button);
106 virtual void mouseDragged(int x, int y, int button);
107 virtual void mouseReleased(int x, int y, int button);
108 virtual void mouseScrolled(int x, int y);
109 virtual void mouseEntered();
110 virtual void mouseExited();
111 virtual void windowResized(int w, int h);
112 virtual void onGUIEvent(int guiObjectId, int eventType, int sourceEventType, std::string value1 = "", std::string value2 = "");
113
115
116 virtual void setCursorOn(bool isOn);
117
118
119 int id, type;
126
127protected:
133 static gFont* font;
144
145 std::string title;
146
153
154private:
155 friend class gAppManager;
156 static void cleanupResources();
157 static void initializeResources();
158
159 static int lastid;
160};
161
162#endif /* BASE_GBASEGUIOBJECT_H_ */
Definition gAppManager.h:154
Definition gBaseApp.h:16
Definition gBaseGUIObject.h:18
static const int CURSOR_IBEAM
Definition gBaseGUIObject.h:21
virtual void draw()=0
virtual void update()=0
virtual void mouseScrolled(int x, int y)
static void setBackgroundColor(gColor *backgroundColor)
virtual void keyPressed(int key)
static gColor * getMiddlegroundColor()
bool isfocused
Definition gBaseGUIObject.h:122
virtual void mousePressed(int x, int y, int button)
int top
Definition gBaseGUIObject.h:120
static gColor * navigationfontcolor
Definition gBaseGUIObject.h:135
static const int GUIEVENT_UNFOCUSED
Definition gBaseGUIObject.h:20
static gColor * disabledbuttoncolor
Definition gBaseGUIObject.h:138
static gColor * middlegroundcolor
Definition gBaseGUIObject.h:129
static void setDisabledButtonColor(gColor *color)
gBaseApp * root
Definition gBaseGUIObject.h:147
bool istitleon
Definition gBaseGUIObject.h:151
virtual ~gBaseGUIObject()
static gColor * textbackgroundcolor
Definition gBaseGUIObject.h:131
std::string getTitle()
static void setForegroundColor(gColor *foregroundColor)
static gColor * disabledbuttonfontcolor
Definition gBaseGUIObject.h:141
int right
Definition gBaseGUIObject.h:120
virtual int getCursor(int x, int y)
static gColor * getPressedButtonFontColor()
static gColor * getButtonFontColor()
static const int CURSOR_CROSSHAIR
Definition gBaseGUIObject.h:21
virtual void mouseDragged(int x, int y, int button)
int titlex
Definition gBaseGUIObject.h:121
virtual void mouseReleased(int x, int y, int button)
static gFont * font
Definition gBaseGUIObject.h:133
void setTitle(std::string title)
static gColor * buttonfontcolor
Definition gBaseGUIObject.h:139
virtual void charPressed(unsigned int codepoint)
int titley
Definition gBaseGUIObject.h:121
static void setButtonFontColor(gColor *color)
static void setTextBackgroundColor(gColor *textBackgroundColor)
@ TEXTALIGNMENT_LEFT
Definition gBaseGUIObject.h:24
@ TEXTALIGNMENT_MIDDLE
Definition gBaseGUIObject.h:25
@ TEXTALIGNMENT_RIGHT
Definition gBaseGUIObject.h:26
int getParentSlotLineNo()
static gGUIResources res
Definition gBaseGUIObject.h:143
static gFont * getFont()
static gGUIActionManager actionmanager
Definition gBaseGUIObject.h:142
static void setButtonColor(gColor *color)
void setRootApp(gBaseApp *root)
int bottom
Definition gBaseGUIObject.h:120
int getParentSlotColumnNo()
static int previousfocusid
Definition gBaseGUIObject.h:124
bool iscursoron
Definition gBaseGUIObject.h:122
gBaseGUIObject * topparent
Definition gBaseGUIObject.h:148
static gColor * navigationbackgroundcolor
Definition gBaseGUIObject.h:132
std::string title
Definition gBaseGUIObject.h:145
virtual void setCursorOn(bool isOn)
gBaseGUIObject * parent
Definition gBaseGUIObject.h:149
virtual void keyReleased(int key)
int width
Definition gBaseGUIObject.h:120
void setParentSlotNo(int parentSlotLineNo, int parentSlotColumnNo)
static gColor * pressedbuttonfontcolor
Definition gBaseGUIObject.h:140
static gColor * getDisabledButtonColor()
static const int GUIEVENT_FOCUSED
Definition gBaseGUIObject.h:20
gBaseGUIObject * getParent()
static const int CURSOR_HRESIZE
Definition gBaseGUIObject.h:21
static gColor * getForegroundColor()
virtual void mouseExited()
static gColor * getFontColor()
static void setNavigationBackgroundColor(gColor *navigationBackgroundColor)
static const int CURSOR_HAND
Definition gBaseGUIObject.h:21
static void setPressedButtonFontColor(gColor *color)
bool isenabled
Definition gBaseGUIObject.h:150
static void setMiddlegroundColor(gColor *middlegroundColor)
void setEnabled(bool isEnabled)
int height
Definition gBaseGUIObject.h:120
static gColor * getNavigationBackgroundColor()
static const int CURSOR_VRESIZE
Definition gBaseGUIObject.h:21
static gColor * foregroundcolor
Definition gBaseGUIObject.h:130
static void setFont(gFont *font)
static gColor * getPressedButtonColor()
static void setDisabledButtonFontColor(gColor *color)
static gColor * getButtonColor()
virtual void onGUIEvent(int guiObjectId, int eventType, int sourceEventType, std::string value1="", std::string value2="")
static gColor * getDisabledButtonFontColor()
virtual void mouseMoved(int x, int y)
static gColor * backgroundcolor
Definition gBaseGUIObject.h:128
static gColor * getNavigationFontColor()
static gColor * pressedbuttoncolor
Definition gBaseGUIObject.h:137
static void setPressedButtonColor(gColor *color)
static gColor * getTextBackgroundColor()
gBaseGUIObject * getTopParent()
static gColor * getBackgroundColor()
static gColor * buttoncolor
Definition gBaseGUIObject.h:136
virtual void windowResized(int w, int h)
virtual void setTopParent(gBaseGUIObject *parentGUIObject)
int id
Definition gBaseGUIObject.h:119
bool iscontainer
Definition gBaseGUIObject.h:123
int parentslotcolumnno
Definition gBaseGUIObject.h:152
void setTitleOn(bool isTitleOn)
static void setNavigationFontColor(gColor *navigationFontColor)
virtual void setParent(gBaseGUIObject *parentGUIObject)
int left
Definition gBaseGUIObject.h:120
bool isresizable
Definition gBaseGUIObject.h:125
int type
Definition gBaseGUIObject.h:119
int titleheight
Definition gBaseGUIObject.h:121
static const int CURSOR_ARROW
Definition gBaseGUIObject.h:21
static void setFontColor(gColor *fontColor)
int parentslotlineno
Definition gBaseGUIObject.h:152
bool issizer
Definition gBaseGUIObject.h:123
static gColor * fontcolor
Definition gBaseGUIObject.h:134
static int focusid
Definition gBaseGUIObject.h:124
virtual void mouseEntered()
Definition gColor.h:17
Definition gFont.h:47
Definition gGUIActionManager.h:27
Definition gGUIResources.h:68
Definition gRenderObject.h:25