forked from SiriusDely/Cascades-Samples
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathselectioncheckbox.h
89 lines (75 loc) · 2.44 KB
/
selectioncheckbox.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/* Copyright (c) 2012 Research In Motion Limited.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef _SELECTIONCHECKBOX_H_
#define _SELECTIONCHECKBOX_H_
#include <bb/cascades/Color>
#include <bb/cascades/CustomControl>
using namespace bb::cascades;
namespace bb
{
namespace cascades
{
class TouchEvent;
class Label;
class Container;
class Color;
}
}
/**
* SelectionCheckBox
*
* A CustomControl that extends the CheckBox to be an entire item
* with a title label and a colored box. The entire Control is
* controlling the checked state of the CheckBox Control.
*/
class SelectionCheckBox: public bb::cascades::CustomControl
{
Q_OBJECT
Q_PROPERTY( QString title READ title WRITE setTitle NOTIFY titleChanged )
Q_PROPERTY( QVariant oliveColor READ oliveColor WRITE setOliveColor NOTIFY oliveColorChanged )
public:
SelectionCheckBox(Container * parent = 0);
void setTitle(const QString &title);
QString title() const;
void setOliveColor(QVariant oliveColor);
QVariant oliveColor() const;
void setTextColor(Color col);
private slots:
/*
* Function which is connected to the CheckBox Control in the
* SelectionCheckBox;
*
* @param checked boolean parameter true if the CheckBox was checked, false otherwise
*/
void onCheckedChanged(bool checked);
/* Slot function used for letting the entire CheckBox Item control the
* checked state of the CheckBox Control, but the state should only change if
* user interaction started on the item
* (if the user actually pressed down and up on the item).
*
* @ event the touch event
*/
void onCheckBoxComponentTouch(bb::cascades::TouchEvent *event);
signals:
void titleChanged();
void oliveColorChanged(QVariant oliveColor);
private:
bool mPressed;
QString mTitle;
QVariant mOliveColor;
Container *mColorContainer;
Label *mTitleLabel;
};
#endif // ifndef _SELECTIONCHECKBOX_H_