Pioneer
src
gui
GuiButton.h
Go to the documentation of this file.
1
// Copyright © 2008-2021 Pioneer Developers. See AUTHORS.txt for details
2
// Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3
4
#ifndef _GUIBUTTON_H
5
#define _GUIBUTTON_H
6
7
#include "
GuiWidget.h
"
8
#include <string>
9
10
namespace
Gui
{
11
class
Label;
12
13
class
Button
:
public
Widget
{
14
public
:
15
Button
();
16
virtual
~Button
();
17
virtual
bool
OnMouseDown
(
MouseButtonEvent
*e);
18
virtual
bool
OnMouseUp
(
MouseButtonEvent
*e);
19
virtual
void
OnActivate
();
20
21
// onClick only happens when press and release are both on widget (release can be elsewhere)
22
sigc::signal<void>
onPress
;
23
sigc::signal<void>
onRelease
;
24
sigc::signal<void>
onClick
;
25
bool
IsPressed
() {
return
m_isPressed; }
26
27
private
:
28
void
OnRawMouseUp(
MouseButtonEvent
*e);
29
void
OnRawKeyUp(SDL_KeyboardEvent *e);
30
31
bool
m_isPressed;
32
sigc::connection _m_release;
33
sigc::connection _m_kbrelease;
34
};
35
36
class
SolidButton
:
public
Button
{
37
public
:
38
SolidButton
() :
39
Button
() {}
40
virtual
~SolidButton
() {}
41
virtual
void
GetSizeRequested
(
float
size[2]);
42
virtual
void
Draw
();
43
};
44
45
class
TransparentButton
:
public
Button
{
46
public
:
47
TransparentButton
() :
48
Button
() {}
49
virtual
~TransparentButton
() {}
50
virtual
void
GetSizeRequested
(
float
size[2]);
51
virtual
void
Draw
();
52
};
53
54
class
LabelButton
:
public
Button
{
55
public
:
56
LabelButton
(
Label
*label);
57
virtual
~LabelButton
();
58
virtual
void
GetSizeRequested
(
float
size[2]);
59
virtual
void
Draw
();
60
void
SetPadding
(
float
p) { m_padding = p; }
61
62
protected
:
63
Label
*
m_label
;
64
65
private
:
66
void
OnSetSize();
67
float
m_padding;
68
};
69
}
// namespace Gui
70
71
#endif
/* _GUIBUTTON_H */
GuiWidget.h
Gui::Button
Definition:
GuiButton.h:13
Gui::Button::onRelease
sigc::signal< void > onRelease
Definition:
GuiButton.h:23
Gui::Button::~Button
virtual ~Button()
Definition:
GuiButton.cpp:17
Gui::Button::OnActivate
virtual void OnActivate()
Definition:
GuiButton.cpp:45
Gui::Button::OnMouseDown
virtual bool OnMouseDown(MouseButtonEvent *e)
Definition:
GuiButton.cpp:23
Gui::Button::onClick
sigc::signal< void > onClick
Definition:
GuiButton.h:24
Gui::Button::Button
Button()
Definition:
GuiButton.cpp:10
Gui::Button::IsPressed
bool IsPressed()
Definition:
GuiButton.h:25
Gui::Button::OnMouseUp
virtual bool OnMouseUp(MouseButtonEvent *e)
Definition:
GuiButton.cpp:34
Gui::Button::onPress
sigc::signal< void > onPress
Definition:
GuiButton.h:22
Gui::LabelButton
Definition:
GuiButton.h:54
Gui::LabelButton::Draw
virtual void Draw()
Definition:
GuiButton.cpp:118
Gui::LabelButton::~LabelButton
virtual ~LabelButton()
Definition:
GuiButton.cpp:109
Gui::LabelButton::GetSizeRequested
virtual void GetSizeRequested(float size[2])
Definition:
GuiButton.cpp:111
Gui::LabelButton::LabelButton
LabelButton(Label *label)
Definition:
GuiButton.cpp:101
Gui::LabelButton::SetPadding
void SetPadding(float p)
Definition:
GuiButton.h:60
Gui::LabelButton::m_label
Label * m_label
Definition:
GuiButton.h:63
Gui::Label
Definition:
GuiLabel.h:17
Gui::SolidButton
Definition:
GuiButton.h:36
Gui::SolidButton::~SolidButton
virtual ~SolidButton()
Definition:
GuiButton.h:40
Gui::SolidButton::GetSizeRequested
virtual void GetSizeRequested(float size[2])
Definition:
GuiButton.cpp:72
Gui::SolidButton::SolidButton
SolidButton()
Definition:
GuiButton.h:38
Gui::SolidButton::Draw
virtual void Draw()
Definition:
GuiButton.cpp:82
Gui::TransparentButton
Definition:
GuiButton.h:45
Gui::TransparentButton::GetSizeRequested
virtual void GetSizeRequested(float size[2])
Definition:
GuiButton.cpp:77
Gui::TransparentButton::~TransparentButton
virtual ~TransparentButton()
Definition:
GuiButton.h:49
Gui::TransparentButton::TransparentButton
TransparentButton()
Definition:
GuiButton.h:47
Gui::TransparentButton::Draw
virtual void Draw()
Definition:
GuiButton.cpp:93
Gui::Widget
Definition:
GuiWidget.h:14
Gui
Definition:
Gui.cpp:10
Gui::MouseButtonEvent
Definition:
GuiEvents.h:8
Generated by
1.9.1