mGNCS API Reference  v1.5.0
A new control set and a new framework for MiniGUI apps
piece-id.h
1 //
3 // IMPORTANT NOTICE
4 //
5 // The following open source license statement does not apply to any
6 // entity in the Exception List published by FMSoft.
7 //
8 // For more information, please visit:
9 //
10 // https://www.fmsoft.cn/exception-list
11 //
13 /*
14  * This file is part of mGNCS, a component for MiniGUI.
15  *
16  * Copyright (C) 2008~2018, Beijing FMSoft Technologies Co., Ltd.
17  *
18  * This program is free software: you can redistribute it and/or modify
19  * it under the terms of the GNU General Public License as published by
20  * the Free Software Foundation, either version 3 of the License, or
21  * (at your option) any later version.
22  *
23  * This program is distributed in the hope that it will be useful,
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26  * GNU General Public License for more details.
27  *
28  * You should have received a copy of the GNU General Public License
29  * along with this program. If not, see <http://www.gnu.org/licenses/>.
30  *
31  * Or,
32  *
33  * As this program is a library, any link to this program must follow
34  * GNU General Public License version 3 (GPLv3). If you cannot accept
35  * GPLv3, you need to be licensed from FMSoft.
36  *
37  * If you have got a commercial license of this program, please use it
38  * under the terms and conditions of the commercial license.
39  *
40  * For more information about the commercial license, please refer to
41  * <http://www.minigui.com/blog/minigui-licensing-policy/>.
42  */
43 
44 #ifndef PIECE_ID_H
45 #define PIECE_ID_H
46 
50 enum SysPiecePropsRange{
51  SYS_PIECE_PROP_BEGIN = 1,
52  PIECECOMM_PROP_BEGIN = SYS_PIECE_PROP_BEGIN,
53  PIECECOMM_PROP_ALIGN,
54  PIECECOMM_PROP_VALIGN,
55  PIECECOMM_PROP_AUTOWRAP,
56  PIECECOMM_PROP_WORDBREAK,
57  PIECECOMM_PROP_DRAWMOD,
58  PIECECOMM_PROP_DIRECTION,
59  PIECECOMM_PROP_SPACE,
60  PIECECOMM_PROP_MARGIN,
61  PIECECOMM_PROP_MAX,
62  PIECECOMM_PROP_POS,
63  PIECECOMM_PROP_MIN,
64  PIECECOMM_PROP_LINESTEP,
65  PIECECOMM_PROP_PAGESTEP,
66  PIECECOMM_PROP_SELECT,
67  PIECECOMM_PROP_END = PIECECOMM_PROP_BEGIN + 256,
68 
69  HOTPIECE_PROP_BEGIN,
70  HOTPIECE_PROP_END,
71 
72 
73  LABELPIECE_PROP_BEGIN,
74  LABELPIECE_PROP_END = LABELPIECE_PROP_BEGIN + 10,
75 
76  LEDLBLPIECE_PROP_BEGIN,
77  LEDLBLPIECE_PROP_END = LEDLBLPIECE_PROP_BEGIN + 10,
78 
79  ANIMATEPIECE_PROP_BEGIN,
80  ANIMATEPIECE_PROP_END = ANIMATEPIECE_PROP_BEGIN + 10,
81 
82  IMAGEPIECE_PROP_BEGIN,
83  IMAGEPIECE_PROP_END = IMAGEPIECE_PROP_BEGIN + 10,
84 
85  IMAGELABELPIECE_PROP_BEGIN,
86  IMAGELABELPIECE_PROP_END = IMAGELABELPIECE_PROP_BEGIN + 10,
87 
88  ABP_PROP_BEGIN,
89  ABP_PROP_END = ABP_PROP_BEGIN + 10,
90 
91  PAIRPIECE_PROP_BEGIN,
92  PAIRPIECE_PROP_END = PAIRPIECE_PROP_BEGIN + 10,
93 
94  SLIDERPIECE_PROP_BEGIN,
95  SLIDERPIECE_PROP_END = SLIDERPIECE_PROP_BEGIN + 10,
96 
97  BOXLAYOUTPIECE_PROP_BEGIN,
98  BOXLAYOUTPIECE_PROP_END = BOXLAYOUTPIECE_PROP_BEGIN + 10,
99 
100  SPINBOXPIECE_PROP_BEGIN,
101  SPINBOXPIECE_PROP_END = SPINBOXPIECE_PROP_BEGIN + 10,
102 
103  GRIDBOXPIECE_PROP_BEGIN,
104  GRIDBOXPIECE_PROP_END = GRIDBOXPIECE_PROP_BEGIN + 10,
105 
106  DAYGRIDPIECE_PROP_BEGIN,
107  DAYGRIDPIECE_PROP_END = DAYGRIDPIECE_PROP_BEGIN + 10,
108 
109  CHECKBUTTONPIECE_PROP_BEGIN,
110  CHECKBUTTONPIECE_PROP_END = CHECKBUTTONPIECE_PROP_BEGIN + 10,
111 
112  WEEKHEADPIECE_PROP_BEGIN,
113  WEEKHEADPIECE_PROP_END = WEEKHEADPIECE_PROP_BEGIN + 10,
114 
115  MONTHPIECE_PROP_BEGIN,
116  MONTHPIECE_PROP_END = MONTHPIECE_PROP_BEGIN + 10,
117 
118  MLISTSPINNEDPIECE_PROP_BEGIN,
119  MLISTSPINNEDPIECE_PROP_END = MLISTSPINNEDPIECE_PROP_BEGIN + 10,
120 
121  TOOLIMAGEPIECE_PROP_BEGIN,
122  TOOLIMAGEPIECE_PROP_END = TOOLIMAGEPIECE_PROP_BEGIN + 10,
123 
124  LINELAYOUTPIECE_PROP_BEGIN,
125  LINELAYOUTPIECE_PROP_END = LINELAYOUTPIECE_PROP_BEGIN + 10,
126 
127  PROGRESSPIECE_PROP_BEGIN,
128  PROGRESSPIECE_PROP_END = PROGRESSPIECE_PROP_BEGIN + 10,
129 
130  RECTPIECE_PROP_BEGIN,
131  RECTPIECE_PROP_END = RECTPIECE_PROP_BEGIN + 10,
132 
133  SIMPLELISTPIECE_PROP_BEGIN,
134  SIMPLELISTPIECE_PROP_END = SIMPLELISTPIECE_PROP_BEGIN + 10,
135 
136  SYS_PIECE_PROP_END = 10000,
137  USER_PIECE_PROP_BEGIN
138 };
139 
143 enum mSysPieceEventRange
144 {
145  SYS_PIECE_EVENT_BEGIN = 1,
146 
147  ABP_EVENT_BEGIN,
148 
149  ABP_EVENT_END = ABP_EVENT_BEGIN + 10,
150 
151  SLIDERPIECE_EVENT_BEGIN,
152  SLIDERPIECE_EVENT_END = SLIDERPIECE_EVENT_BEGIN + 10,
153 
154  SPINBOXPIECE_EVENT_BEGIN,
155  SPINBOXPIECE_EVENT_END = SPINBOXPIECE_EVENT_BEGIN + 10,
156 
157 
158  MONTHPIECE_EVENT_BEGIN,
159  MONTHPIECE_EVENT_END = MONTHPIECE_EVENT_BEGIN + 10,
160 
161 
162  SIMPLELISTPIECE_EVENT_BEGIN,
163  SIMPLELISTPIECE_EVENT_END = SIMPLELISTPIECE_EVENT_BEGIN + 10,
164 
165  SYS_PIECE_EVENT_END = 10000,
166 
167  USER_PIECE_EVENT_BEGIN,
168 };
169 
174 enum PieceState{
175  PIECE_STATE_NORMAL = 0,
176  PIECE_STATE_HILIGHT,
177  PIECE_STATE_PUSHED,
178  PIECE_STATE_CAPTURED,
179  PIECE_STATE_DISABLE
180 };
181 
182 enum PieceCheckState{
183  PIECE_CHECKSTATE_UNCHECKED = 0,
184  PIECE_CHECKSTATE_HALFCHECKED,
185  PIECE_CHECKSTATE_CHECKED
186 };
187 
196 #define NCS_PIECE_PAINT_STATE_MASK 0x000F
197 #define NCS_PIECE_PAINT_CHECK_STATE_MASK 0x00F0
198 #define NCS_PIECE_PAINT_GET_CHECK(add_data) (((add_data)&NCS_PIECE_PAINT_CHECK_STATE_MASK)>>4)
199 #define NCS_PIECE_PAINT_MAKE_CHECK(value) \
200  (((value)&0xF)<<4)
201 
205 #define NCS_PIECE_PAINT_ARROW_MASK 0x300
206 #define NCS_PIECE_PAINT_ARROW_SHIFT 8
207 #define NCS_PIECE_PAINT_ARROW_SHELL 0x400
208 enum mArrowPieceType {
209  NCS_ARROWPIECE_LEFT = 0x00,
210  NCS_ARROWPIECE_RIGHT = 0x100,
211  NCS_ARROWPIECE_UP = 0x200,
212  NCS_ARROWPIECE_DOWN = 0x300
213 };
217 #define NCS_PIECE_PAINT_FLAT 0x010000 //flat style
218 
219 
223 enum mLayoutPieceSizeType {
224  NCS_LAYOUTPIECE_ST_FIXED = 0,
225  NCS_LAYOUTPIECE_ST_PERCENT,
226  NCS_LAYOUTPIECE_ST_AUTO //use the piece size of iteself
227 };
228 
229 #define mLayoutPiece_getSizeType(size) (((size)&0xC000)>>14)
230 #define mLayoutPiece_setSizeType(size, type) ((size)=((size)&0x3FFF)|((type)<<14))
231 #define mLayoutPiece_setSize(size, value) ((size)=((size)&0xC000)|((value)&0x3FFF))
232 #define mLayoutPiece_getSize(size) ((size)&0x3FFF)
233 
234 
238 #define NCS_PIECE_PAINT_VERT 0x00010000
239 #define NCS_PIECE_PAINT_TICK 0x00020000
240 //progress
241 #define NCS_PIECE_PAINT_BLOCK 0x00040000
242 #define NCS_PIECE_PAINT_PERCENT 0x00080000
243 
244 #endif
245