The Power in your Hands
Search Site:
About
Features
Documentation
Download
Community
Main
Classes
Namespaces
Modules
include
Pt
Forms
Button.h
1
/* Copyright (C) 2016 Marc Boris Duerner
2
Copyright (C) 2016 Laurentiu-Gheorghe Crisan
3
4
This library is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Lesser General Public
6
License as published by the Free Software Foundation; either
7
version 2.1 of the License, or (at your option) any later version.
8
9
As a special exception, you may use this file as part of a free
10
software library without restriction. Specifically, if other files
11
instantiate templates or use macros or inline functions from this
12
file, or you compile this file and link it with other files to
13
produce an executable, this file does not by itself cause the
14
resulting executable to be covered by the GNU General Public
15
License. This exception does not however invalidate any other
16
reasons why the executable file might be covered by the GNU Library
17
General Public License.
18
19
This library is distributed in the hope that it will be useful,
20
but WITHOUT ANY WARRANTY; without even the implied warranty of
21
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22
Lesser General Public License for more details.
23
24
You should have received a copy of the GNU Lesser General Public
25
License along with this library; if not, write to the Free Software
26
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
27
MA 02110-1301 USA
28
*/
29
30
#ifndef Pt_Forms_Button_H
31
#define Pt_Forms_Button_H
32
33
#include <Pt/Forms/Control.h>
34
35
namespace
Pt {
36
37
namespace
Forms {
38
39
class
PT_FORMS_API Button :
public
Control
40
{
41
public
:
42
typedef
Control Base;
43
44
public
:
45
Button();
46
47
virtual
~Button();
48
49
const
Pt::String
& text()
const
;
50
51
void
setText(
const
Pt::String
& t);
52
53
bool
isHighlighted()
const
;
54
55
void
click();
56
57
Signal<>& clicked();
58
59
protected
:
60
virtual
void
onPressed();
61
62
virtual
void
onReleased();
63
64
virtual
void
onCanceled();
65
66
protected
:
67
virtual
void
onMnemonic(
Pt::Char
m);
68
69
virtual
void
onShortcut(
const
Key& key);
70
71
virtual
void
onActionKey(
const
KeyEvent& kev);
72
73
protected
:
74
virtual
bool
onEnterEvent(
const
EnterEvent& ev);
75
76
virtual
bool
onLeaveEvent(
const
LeaveEvent& ev);
77
78
virtual
void
onFocusEvent(
const
FocusEvent& ev);
79
80
virtual
bool
onMouseEvent(
const
MouseEvent& ev);
81
82
virtual
bool
onTouchEvent(
const
TouchEvent& ev);
83
84
virtual
bool
onScrollEvent(
const
ScrollEvent& ev);
85
86
private
:
87
Signal<> _clicked;
88
bool
_onClickBegin;
89
Pt::String
_text;
90
bool
_isHighlighted;
91
};
92
93
}
// namespace
94
95
}
// namespace
96
97
#endif
Pt::Char
Unicode character type.
Definition:
String.h:66
Pt::String
Unicode capable basic_string.
Definition:
String.h:42