OWLNext    7.0
Borland's Object Windows Library for the modern age
Loading...
Searching...
No Matches
btntextg.cpp
Go to the documentation of this file.
1//----------------------------------------------------------------------------//
2// ObjectWindows 1998 Copyright by Yura Bidus //
3// //
4// Used code and ideas from Dieter Windau and Joseph Parrello //
5// //
6// THIS CLASS AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF //
7// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO //
8// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A //
9// PARTICULAR PURPOSE. //
10/// \file //
11/// Implementation of class TButtonTextGadget. //
12//----------------------------------------------------------------------------//
13#include <owl/pch.h>
14
15#include <owl/celarray.h>
16#include <owl/gadgetwi.h>
17#include <owl/uihelper.h>
18#include <owl/btntextg.h>
19#include <owl/decframe.h>
20
21using namespace std;
22
23namespace owl {
24
27
28//------------------------------------------------------------------------------
29//
30/// \class TButtonTextGadgetEnabler
31/// Command enabler for button text gadget
32//
33
34#if defined(BI_COMP_BORLANDC)
35# pragma warn -inl
36#endif
37
38class TButtonTextGadgetEnabler
39 : public TCommandEnabler
40{
41public:
42 TButtonTextGadgetEnabler(TWindow::THandle hReceiver, TButtonTextGadget* g)
43 : TCommandEnabler(g->GetId(), hReceiver), Gadget(g)
44 {}
45
46 //
47 // Override TCommandEnabler virtuals.
48 //
49 virtual void Enable(bool);
50 virtual void SetText(LPCTSTR text);
51 void SetText(const tstring& s) {SetText(s.c_str());}
52 virtual void SetCheck(int);
53
54
55protected:
56 TButtonTextGadget* Gadget;
57};
58
59#if defined(BI_COMP_BORLANDC)
60# pragma warn .inl
61#endif
62
63//
64/// Enable or disable the button gadget
65//
66void
67TButtonTextGadgetEnabler::Enable(bool enable)
68{
70 Gadget->SetEnabled(enable);
71}
72
73//
74/// Handle the SetText request for a button-text gadget.
75//
76void
77TButtonTextGadgetEnabler::SetText(LPCTSTR text)
78{
80 Gadget->SetText(text);
81}
82
83//
84/// Set the check-state for the button gadget
85//
86void
87TButtonTextGadgetEnabler::SetCheck(int state)
88{
90}
91
92//------------------------------------------------------------------------------
93
94const int TextSpaceV = 0;
95const int TextSpaceH = 0;
96
97//
98/// Constructs a TButtonTextGadget object using the specified bitmap ID, button
99/// gadget ID, style, and type, with enabled set to false, in a button-up state, and
100/// reserved number chars in text = 4. The button isn't enabled - its initial state
101/// before command enabling occurs.
102//
105 TStyle style, TType type,
106 bool enabled, TState state,
108:
110 Text(),
111 NumChars(numChars),
112 Align(aCenter),
113 Style(style),
114 LayoutStyle(lTextBottom),
115 Font(nullptr)
116{}
117
118//
119/// Destroys a TButtonTextGadget object.
120//
122{
123 delete Font;
124}
125
126//
127/// Initiates a command enable for this button gadget.
128/// Enables the button-text gadget to capture messages. Calls SendMessage to send a
129/// WM_COMMAND_ENABLE message to the gadget window's parent, passing a
130/// TCommandEnable:EvCommandEnable message for this button.
131//
132void
134{
135 PRECONDITION(Window);
136
137 // Must send, not post here, since a ptr to a temp is passed
138 //
139 // This might be called during idle processing before the
140 // HWND has created. Therefore, confirm handle exists.
141 //
142 if (GetGadgetWindow()->GetHandle()) {
143 TButtonTextGadgetEnabler ge(*GetGadgetWindow(), this);
145 }
146}
147
148//
149/// Sets the text of the gadget. If the given text is blank, then we attempt to
150/// load the text from the menu or tooltip.
151//
152void
154{
155 if (text == Text) return;
156 Text = text;
157
158 if (Text.length() == 0 && (Style & sText) && GetGadgetWindow())
159 {
160 TWindow* parent = GetGadgetWindow()->GetParentO();
161 TDecoratedFrame* frame= parent ? dynamic_cast<TDecoratedFrame*>(parent) : nullptr;
162 while (parent && !frame){
163 parent = parent->GetParentO();
164 if (parent)
165 frame = dynamic_cast<TDecoratedFrame*>(parent);
166 }
167 CHECK(frame);
168 Text = frame->GetHintText(GetResId().GetInt(), htTooltip);
169 }
170
171 if (GetGadgetWindow() && repaint)
172 {
174 Invalidate();
175 }
176}
177
178//
179/// Returns the effective font used to render the text for this gadget.
180/// If no font was passed to the constructor, the font of the gadget window is returned.
181//
182const TFont&
184{
186 return Font ? *Font : GetGadgetWindow()->GetFont();
187}
188
189//
190/// Sets the font to be used by the gadget. If repaint is true, calls
191/// TGadgetWindow::GadgetChangedSize to recalculate the size of the gadget.
192//
193void
195{
196 delete Font;
197 Font = new TFont(font);
198 if (GetGadgetWindow() && repaint)
200}
201
202//
203/// If the style stored in Style is not the same as the new style, SetStyle sets
204/// Style to the new style, and then if repaint is true calls
205/// Window->GadgetChangedSize(*this) to recalculate size of gadget.
206//
207void
209{
210 if(Style != style){
211 Style = style;
212 if (GetGadgetWindow() && repaint)
214 }
215}
216
217//
218/// If the align stored in Style is not the same as the new align, SetAlign sets
219/// Align to the new align, and then if repaint is true calls Invalidate to
220/// invalidate the rectangle.
221//
222void
224{
225 if(Align != align){
226 Align = align;
227 if(repaint)
228 Invalidate();
229 }
230}
231
232//
233/// If the style stored in LayoutStyle is not the same as the new style,
234/// SetLayoutStyle sets LayoutStyle to the new style, and then if repaint is true
235/// calls Window->GadgetChangedSize(*this) to recalculate size of gadget.
236//
237void
239{
240 if(LayoutStyle != style){
241 LayoutStyle = style;
242 if (GetGadgetWindow() && repaint)
244 }
245}
246
247
248//
249/// Calls TButtonGadget::Created and if Text == 0 and (Style & sText) retrieves text
250/// from menu or resource.
251///
252/// Virtual called after the window holding a gadget has been created
253//
254void
256{
257 PRECONDITION(Window);
258 PRECONDITION(Window->GetHandle());
259
261
262 // If text style and text isn't set, then get it now from the menu/resource.
263 //
264 if ((Style & sText) && Text.length() == 0)
265 {
266 SetText(_T(""));
267 Invalidate();
268 }
269}
270
271//
272/// Respond to a WM_SYSCOLORCHANGE, in this case to rebuild the CelArray with
273/// possibly new 3d colors
274///
275/// SysColorChange responds to an EvSysColorChange message forwarded by the owning
276/// TGadgetWindow by setting the dither brush to zero. If a style is Bitmap it
277/// forwards the message to TButtonGadget, otherwise to TGadget.
278//
279void
281{
282 // Baypass TButtonGadget handler if CellArray = 0
283 if(Style&sBitmap)
285 else
287}
288
289//
290void
292{
294 size.cx += tm.tmAveCharWidth * NumChars;
295 size.cy += tm.tmHeight + 2;
296}
297
298//
299/// Calls TButtonGadget::GetDesiredSize if (Style & sBitmap); calls
300/// TGadget::GetDesiredSize and adds the size of the text region.
301//
302void
304{
305 PRECONDITION(Window);
306 TRACEX(OwlGadget, 1, _T("TButtonTextGadget::GetDesiredSize() enter @") << this <<
307 _T(" size ") << size);
308
309 if(Style&sBitmap)
311 else
313
314 // if paint text -> add text size
315 if(Style&sText){
318
319 TSize gsize;
321 switch(LayoutStyle){
322 case lTextLeft:
323 case lTextRight:
324 size.cx += textSize.cx + TextSpaceV;
325 size.cy = std::max(size.cy,textSize.cy+gsize.cy);
326 break;
327 case lTextTop:
328 case lTextBottom:
329 size.cx += std::max(size.cx,textSize.cx+gsize.cx);
330 size.cy += textSize.cy + TextSpaceH;
331 break;
332 }
333 }
334 TRACEX(OwlGadget, 1, _T("TButtonTextGadget::GetDesiredSize() leave @") << this <<
335 _T(" size ") << size);
336}
337
338//
339/// If (Style & sBitmap) calls TButtonGadget::SetBounds; otherwise calls
340/// TGadget::SetBounds to set the boundary of the rectangle, and it (Style &
341/// sBitmap) calculates new BitmapOrigin.
342//
343void
345{
346 PRECONDITION(Window);
347
348 if(Style&sBitmap)
350 else
352
353 if(Style&sBitmap && Style&sText){
356
358
360 TPoint pt;
361 pt.x = btnRect.left + (btnRect.Width() - bitmapSize.cx) / 2;
362 pt.y = btnRect.top + (btnRect.Height() - bitmapSize.cy) / 2;
364 }
365}
366
367//
368/// Calls TGadget::PaintBorder to perform the actual painting of the border of the
369/// control. Get Inner rectangle of control, layout Text and Bitmap and call
370/// PaintText() and PaintFace().
371//
372void
374{
375 PRECONDITION(Window);
376
377 PaintBorder(dc);
378
381
383
384 if(Style&sText)
385 PaintText(dc, textRect, Text);
386 if(Style&sBitmap)
387 PaintFace(dc, btnRect);
388}
389
390//
391/// Layout button and text in the control area.
392//
393void
395{
396 if(Style == sBitmap)
398 else if(Style == sText)
400 else{
402 if(Style&sText)
404
406 if(Style&sBitmap)
408
409 switch(LayoutStyle){
410
411 case lTextLeft:
412 if(Style&sText)
413 textRect = TRect(faceRect.TopLeft(), TSize(textSize.cx,faceRect.Height()));
414 if(Style&sBitmap)
416 faceRect.BottomRight());
417 break;
418
419 case lTextRight:
420 if(Style&sBitmap)
421 btnRect = TRect(faceRect.left, faceRect.top,
422 faceRect.left+btnSize.cx, faceRect.bottom);
423 if(Style&sText)
425 faceRect.right, faceRect.bottom);
426
427 break;
428
429 case lTextTop:
430 if(Style&sText)
431 textRect = TRect(faceRect.TopLeft(), TSize(faceRect.Width(),textSize.cy));
432 if(Style&sBitmap)
434 TSize(faceRect.Width(), faceRect.Height()-textSize.cy));
435 break;
436
437 case lTextBottom:
438 if(Style&sText)
439 textRect = TRect(faceRect.left,faceRect.bottom-textSize.cy,
440 faceRect.right,faceRect.bottom);
441 if(Style&sBitmap)
442 btnRect = TRect(faceRect.TopLeft(),
443 TSize(faceRect.Width(), faceRect.Height()-textSize.cy));
444 break;
445 }
446 }
447}
448
449//
450/// Paint Text
451//
452void
454{
455 dc.SelectObject(GetFont());
456
458 if(!GetEnabled())
460 else if((GetGadgetWindow()->GetFlatStyle()&TGadgetWindow::FlatHotText) && IsHaveMouse())
462
464
466 switch(Align){
467 case aLeft:
468 format |= DT_LEFT;
469 break;
470 case aRight:
471 format |= DT_RIGHT;
472 break;
473 case aCenter:
474 format |= DT_CENTER;
475 break;
476 }
477 switch(LayoutStyle){
478 case lTextLeft:
479 case lTextRight:
481 break;
482 case lTextTop:
483 format |= DT_VCENTER;//DT_BOTTOM;
484 break;
485 case lTextBottom:
486 format |= DT_VCENTER;//DT_TOP;
487 break;
488 }
489
490 // Create a UI Face object for this button & let it paint the button face
491 //
492 TPoint dstPt(rect.TopLeft());
493
494 if (GetButtonState() == Down && GetEnabled() &&
496 {
497 if(IsHaveMouse())
498 {
499 if(IsPressed())
500 {
501 const int dx = (format & DT_CENTER) ? 2 : 1;
502 const int dy = (format & DT_VCENTER) ? 2 : 1;
503 rect.Offset(dx, dy);
504 }
506 TUIFace::Normal, true, true);
507 }
508 else
509 {
511 if(GetGadgetWindow()->GadgetGetCaptured()==this)
512 face.Paint(dc, dstPt, TUIFace::Normal, true);
513 else
514 face.Paint(dc, dstPt, TUIFace::Down, IsPressed(), false);
515 }
516 }
517 else
518 {
520 if (!GetEnabled())
521 face.Paint(dc, dstPt, TUIFace::Disabled, false, false);
522 else if (GetButtonState() == Indeterminate)
523 face.Paint(dc, dstPt, TUIFace::Indeterm, IsPressed(), false);
524 else if (GetButtonState() == Down) // Down and not flat
525 face.Paint(dc, dstPt, TUIFace::Down, IsPressed(), false);
526 else
527 face.Paint(dc, dstPt, TUIFace::Normal, IsPressed(), false);
528 }
529
531
532 dc.RestoreFont();
533}
534
535} // OWL namespace
536
537//==============================================================================
Definition of classes TButtonTextGadget.
Definition of a bitmap Cel array class.
#define CHECK(condition)
Definition checks.h:239
#define PRECONDITION(condition)
Definition checks.h:227
#define DIAG_DECLARE_GROUP(group)
Definition checks.h:404
#define TRACEX(group, level, message)
Definition checks.h:263
Derived from TGadget, TButtonGadget represent buttons that you can click on or off.
Definition buttonga.h:65
TState
TState enumerates the three button positions during which the button can be pressed: up (0),...
Definition buttonga.h:80
@ Down
Button is down, i.e. checked.
Definition buttonga.h:82
@ Indeterminate
Button is neither checked nor unchecked.
Definition buttonga.h:83
TResId GetResId() const
Returns the resource ID for this button gadget's bitmap.
Definition buttonga.h:305
TType
Enumerates the types of button gadgets.
Definition buttonga.h:69
bool IsPressed() const
Returns true if the button is pushed or false if it is released.
Definition buttonga.h:341
TState GetButtonState() const
Returns the state of the button.
Definition buttonga.h:235
void PaintBorder(TDC &dc) override
Definition buttonga.cpp:472
void SetBitmapOrigin(const TPoint &bitmapOrigin)
Sets the x and y coordinates of the bitmap used for this button gadget.
Definition buttonga.h:335
void GetDesiredSize(TSize &size) override
Find out how big this button gadget wants to be.
Definition buttonga.cpp:322
void SysColorChange() override
SysColorChange responds to an EvSysColorChange message forwarded by the owning TGadgetWindow by setti...
Definition buttonga.cpp:187
void SetBounds(const TRect &r) override
Gets the size of the bitmap, calls TGadget::SetBounds to set the boundary of the rectangle,...
Definition buttonga.cpp:293
virtual void PaintFace(TDC &dc, const TRect &rect)
Paints the face of the button.
Definition buttonga.cpp:514
void SetButtonState(TState newState)
Set the state of a button.
Definition buttonga.cpp:271
TCelArray * GetCelArray()
Returns the CelArray used to cache glyph states.
Definition buttonga.h:311
virtual void CommandEnable()
Initiates a command enable for this button gadget.
Definition btntextg.cpp:133
TStyle GetStyle() const
Returns the Style for the gadget.
Definition btntextg.h:155
virtual void Layout(TRect &srcRect, TRect &textRect, TRect &btnRect)
Layout button and text in the control area.
Definition btntextg.cpp:394
void SetLayoutStyle(const TLayoutStyle style, bool repaint=true)
If the style stored in LayoutStyle is not the same as the new style, SetLayoutStyle sets LayoutStyle ...
Definition btntextg.cpp:238
virtual void SetBounds(const TRect &rect)
If (Style & sBitmap) calls TButtonGadget::SetBounds; otherwise calls TGadget::SetBounds to set the bo...
Definition btntextg.cpp:344
TStyle
TStyle contains values that defines how gadget will be displayed:
Definition btntextg.h:62
@ sBitmap
Only the bitmap is displayed.
Definition btntextg.h:63
@ sText
Only text is displayed.
Definition btntextg.h:64
TAlign
Enumerates the text-alignment attributes.
Definition btntextg.h:52
@ aCenter
Aligns the text horizontally at the center of the bounding rectangle.
Definition btntextg.h:54
@ aLeft
Aligns the text at the left edge of the bounding rectangle.
Definition btntextg.h:53
@ aRight
Aligns the text at the right edge of the bounding rectangle.
Definition btntextg.h:55
void SetStyle(const TStyle style, bool repaint=true)
If the style stored in Style is not the same as the new style, SetStyle sets Style to the new style,...
Definition btntextg.cpp:208
virtual ~TButtonTextGadget()
Destroys a TButtonTextGadget object.
Definition btntextg.cpp:121
virtual void Created()
Calls TButtonGadget::Created and if Text == 0 and (Style & sText) retrieves text from menu or resourc...
Definition btntextg.cpp:255
const TFont & GetFont() const
Returns the effective font used to render the text for this gadget.
Definition btntextg.cpp:183
void SetAlign(const TAlign align, bool repaint=true)
If the align stored in Style is not the same as the new align, SetAlign sets Align to the new align,...
Definition btntextg.cpp:223
virtual void PaintText(TDC &dc, TRect &rect, const tstring &text)
Paint Text.
Definition btntextg.cpp:453
void SetText(const tstring &text, bool repaint=true)
Sets the text of the gadget.
Definition btntextg.cpp:153
TButtonTextGadget(int id, TResId glyphResIdOrIndex, TStyle style=sBitmapText, TType type=Command, bool enabled=false, TState state=Up, bool sharedGlyph=false, uint numChars=4)
Constructs a TButtonTextGadget object using the specified bitmap ID, button gadget ID,...
Definition btntextg.cpp:103
virtual void SysColorChange()
Respond to a WM_SYSCOLORCHANGE, in this case to rebuild the CelArray with possibly new 3d colors.
Definition btntextg.cpp:280
void SetFont(const TFont &, bool repaint=true)
Sets the font to be used by the gadget.
Definition btntextg.cpp:194
TLayoutStyle
TLayoutStyle contains values that defines how bitmap and text will be layout.
Definition btntextg.h:72
@ lTextTop
Text top, bitmap bottom.
Definition btntextg.h:74
@ lTextBottom
Text bottom, bitmap top.
Definition btntextg.h:76
@ lTextRight
Text right, bitmap left.
Definition btntextg.h:75
@ lTextLeft
Text left, bitmap right.
Definition btntextg.h:73
virtual void GetDesiredSize(TSize &size)
Calls TButtonGadget::GetDesiredSize if (Style & sBitmap); calls TGadget::GetDesiredSize and adds the ...
Definition btntextg.cpp:303
void GetTextSize(TSize &size)
Definition btntextg.cpp:291
virtual void Paint(TDC &dc)
Calls TGadget::PaintBorder to perform the actual painting of the border of the control.
Definition btntextg.cpp:373
TSize CelSize() const
Return the size of the celarray.
Definition celarray.h:133
Class wrapper for management of color values.
Definition color.h:245
static const TColor LtBlue
Static TColor object with fixed Value set by RGB(0, 0, 255).
Definition color.h:311
static const TColor SysBtnText
The symbolic system color value for the text on buttons.
Definition color.h:342
static const TColor Sys3dHilight
The symbolic system color value for highlighted 3-dimensional display elements (for edges facing the ...
Definition color.h:344
static const TColor Sys3dFace
The symbolic system color value for the face color of 3-dimensional display elements.
Definition color.h:339
uint GetId() const
Retrieves the id of the command.
Definition window.h:1695
virtual void Enable(bool enable=true)
Enables or disables the command sender.
Definition window.cpp:301
TCommandEnabler(uint id, HWND hWndReceiver=0)
Constructs the TCommandEnabler object with the specified command ID.
Definition window.cpp:288
TDC is the root class for GDI DC wrappers.
Definition dc.h:64
void SelectObject(const TBrush &brush)
Selects the given GDI brush object into this DC.
Definition dc.cpp:113
virtual void RestoreFont()
Restores the original GDI font object to this DC.
Definition dc.cpp:246
virtual TColor SetTextColor(const TColor &color)
Sets the current text color of this DC to the given color value.
Definition dc.cpp:417
TDecoratedFrame automatically positions its client window (you must supply a client window) so that i...
Definition decframe.h:74
virtual tstring GetHintText(uint id, THintText hintType) const
Retrieves the text specified by the resource id.
Definition decframe.cpp:293
TFont derived from TGdiObject provides constructors for creating font objects from explicit informati...
Definition gdiobjec.h:296
TEXTMETRIC GetTextMetrics(TDC &dc) const
Retrieves information about this font when selected in the specified dc.
Definition font.cpp:161
bool IsHaveMouse() const
Return true if mouse inside gadget.
Definition gadget.h:485
void Invalidate(bool erase=true)
Used to invalidate the active (usually nonborder) portion of the gadget, Invalidate calls InvalidateR...
Definition gadget.cpp:408
void GetInnerRect(TRect &rect)
Computes the area of the gadget's rectangle excluding the borders and margins.
Definition gadget.cpp:514
TGadgetWindow * GetGadgetWindow()
Return a pointer to the owning or parent window for the gadget.
Definition gadget.h:536
virtual void SetBounds(const TRect &rect)
Called by the gadget window to inform the gadget of a change in its bounding rectangle.
Definition gadget.cpp:211
bool GetEnabled() const
Determines whether keyboard and mouse input have been enabled for the specified gadget.
Definition gadget.h:458
virtual void Created()
This is the virtual called after the window holding a gadget has been created.
Definition gadget.cpp:300
virtual void SysColorChange()
Called when the system colors have been changed so that gadgets can rebuild and repaint,...
Definition gadget.cpp:141
virtual void SetEnabled(bool enabled)
Enables or disables keyboard and mouse input for the gadget.
Definition gadget.cpp:194
virtual void GetDesiredSize(TSize &size)
Request by the gadget window to query the gadget's desired size.
Definition gadget.cpp:479
@ FlatHotText
Adds hot text effect like.
Definition gadgetwi.h:196
@ FlatStandard
Flat style IE 3.0 - base style.
Definition gadgetwi.h:194
void GadgetChangedSize(TGadget &gadget)
Used to notify the gadget window that a gadget has changed its size, GadgetChangedSize calls LayoutSe...
const TFont & GetFont() const
Returns the font being used by this gadget window.
Definition gadgetwi.h:423
virtual TCelArray & GetCelArray(int minX=0, int minY=0)
Gets the Shared CelArray for this gadget window.
TPoint is a support class, derived from tagPOINT.
Definition geometry.h:87
TRect is a mathematical class derived from tagRect.
Definition geometry.h:308
The tagSIZE struct is defined as.
Definition geometry.h:234
TUIFace assists in painting UI elements in various states.
Definition uihelper.h:367
@ Disabled
Disabled or Unavailable state (embossed 3d no color)
Definition uihelper.h:376
@ Indeterm
Indeterminant, or mixed-value state.
Definition uihelper.h:375
@ Down
Down or Option set state (hilit background, +1,+1)
Definition uihelper.h:374
@ Normal
Normal state.
Definition uihelper.h:373
void Paint(TDC &dc, const TPoint &dstPt, TState state, bool pressed, bool fillFace=true)
Paint the face of a button onto a DC.
Definition uiface.cpp:431
TWindow, derived from TEventHandler and TStreamableBase, provides window-specific behavior and encaps...
Definition window.h:414
TWindow * GetParentO() const
Return the OWL's parent for this window.
Definition window.h:2006
TResult HandleMessage(TMsgId, TParam1=0, TParam2=0)
Dispatches the given message using the response table.
Definition window.cpp:1392
HWND THandle
TWindow encapsulates an HWND.
Definition window.h:418
#define _T(x)
Definition cygwin.h:51
Definition of class TDecoratedFrame, a TFrameWindow that can manage decorations around the client win...
#define WM_COMMAND_ENABLE
Definition dispatch.h:4103
Definition of TGadgetList, TGadgetWindow & TGadgetWindowFont A list holding gadgets,...
@ htTooltip
Shorter text displayed in a tooltip.
Definition decframe.h:53
Object Windows Library (OWLNext Core)
Definition animctrl.h:22
const int TextSpaceV
Definition btntextg.cpp:94
LPARAM TParam2
Second parameter type.
Definition dispatch.h:55
OWL_DIAGINFO
Definition animctrl.cpp:14
std::string tstring
Definition defs.h:79
unsigned int uint
Definition number.h:25
const int TextSpaceH
Definition btntextg.cpp:95
Definition of the UI Helper Classes: TUIHandle, TUIBorder, TUIFace, TUIPart.