author | belugas |
Tue, 01 Jan 2008 14:20:48 +0000 | |
changeset 8667 | c916a5375166 |
parent 8635 | 3bbb6f87fced |
child 8710 | 52015340050c |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
8602
9e75e594a068
(svn r11667) -Codechange: split window.h into a header that defines some 'global' window related types, on that defined 'global' window functions and one that defines functions and types only used by *_gui.cpps.
rubidium
parents:
8598
diff
changeset
|
3 |
/** @file window_gui.h Functions, definitions and such used only by the GUI. */ |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
4 |
|
8602
9e75e594a068
(svn r11667) -Codechange: split window.h into a header that defines some 'global' window related types, on that defined 'global' window functions and one that defines functions and types only used by *_gui.cpps.
rubidium
parents:
8598
diff
changeset
|
5 |
#ifndef WINDOW_GUI_H |
9e75e594a068
(svn r11667) -Codechange: split window.h into a header that defines some 'global' window related types, on that defined 'global' window functions and one that defines functions and types only used by *_gui.cpps.
rubidium
parents:
8598
diff
changeset
|
6 |
#define WINDOW_GUI_H |
0 | 7 |
|
4299
b86602eaaff1
(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for textboxes to only
truelight
parents:
4266
diff
changeset
|
8 |
#include "string.h" |
4712
273ec3b182bf
(svn r6624) -Feature: added ability to add refit commands to vehicle orders (can only be done in goto depot orders)
bjarni
parents:
4695
diff
changeset
|
9 |
#include "order.h" |
8598
14ae80fe4c8f
(svn r11663) -Codechange: moving of the road related types and functions.
rubidium
parents:
8578
diff
changeset
|
10 |
#include "rail_type.h" |
14ae80fe4c8f
(svn r11663) -Codechange: moving of the road related types and functions.
rubidium
parents:
8578
diff
changeset
|
11 |
#include "road_type.h" |
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
12 |
#include "airport.h" |
8635
3bbb6f87fced
(svn r11701) -Codechange: removal unnecessary inclusions of map.h (and split map.h).
rubidium
parents:
8609
diff
changeset
|
13 |
#include "vehicle_type.h" |
8384
cda01fb6ec2a
(svn r11439) -Codechange: replace some magic numbers by a ViewportPlaceMethod enumified constant. Patch by SmatZ.
rubidium
parents:
8230
diff
changeset
|
14 |
#include "viewport.h" |
4299
b86602eaaff1
(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for textboxes to only
truelight
parents:
4266
diff
changeset
|
15 |
|
8564
f4a063368ba9
(svn r11629) -Fix [FS#1527]: many viewports could crash the scenario editor.
rubidium
parents:
8532
diff
changeset
|
16 |
/** |
f4a063368ba9
(svn r11629) -Fix [FS#1527]: many viewports could crash the scenario editor.
rubidium
parents:
8532
diff
changeset
|
17 |
* The maximum number of windows that can be opened. |
f4a063368ba9
(svn r11629) -Fix [FS#1527]: many viewports could crash the scenario editor.
rubidium
parents:
8532
diff
changeset
|
18 |
*/ |
f4a063368ba9
(svn r11629) -Fix [FS#1527]: many viewports could crash the scenario editor.
rubidium
parents:
8532
diff
changeset
|
19 |
static const int MAX_NUMBER_OF_WINDOWS = 25; |
f4a063368ba9
(svn r11629) -Fix [FS#1527]: many viewports could crash the scenario editor.
rubidium
parents:
8532
diff
changeset
|
20 |
|
0 | 21 |
typedef void WindowProc(Window *w, WindowEvent *e); |
22 |
||
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
23 |
/* How the resize system works: |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
24 |
First, you need to add a WWT_RESIZEBOX to the widgets, and you need |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
25 |
to add the flag WDF_RESIZABLE to the window. Now the window is ready |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
26 |
to resize itself. |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
27 |
As you may have noticed, all widgets have a RESIZE_XXX in their line. |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
28 |
This lines controls how the widgets behave on resize. RESIZE_NONE means |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
29 |
it doesn't do anything. Any other option let's one of the borders |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
30 |
move with the changed width/height. So if a widget has |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
31 |
RESIZE_RIGHT, and the window is made 5 pixels wider by the user, |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
32 |
the right of the window will also be made 5 pixels wider. |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
33 |
Now, what if you want to clamp a widget to the bottom? Give it the flag |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
34 |
RESIZE_TB. This is RESIZE_TOP + RESIZE_BOTTOM. Now if the window gets |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
35 |
5 pixels bigger, both the top and bottom gets 5 bigger, so the whole |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
36 |
widgets moves downwards without resizing, and appears to be clamped |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
37 |
to the bottom. Nice aint it? |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
38 |
You should know one more thing about this system. Most windows can't |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
39 |
handle an increase of 1 pixel. So there is a step function, which |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
40 |
let the windowsize only be changed by X pixels. You configure this |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
41 |
after making the window, like this: |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
42 |
w->resize.step_height = 10; |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
43 |
Now the window will only change in height in steps of 10. |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
44 |
You can also give a minimum width and height. The default value is |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
45 |
the default height/width of the window itself. You can change this |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
46 |
AFTER window-creation, with: |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
47 |
w->resize.width or w->resize.height. |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
48 |
That was all.. good luck, and enjoy :) -- TrueLight */ |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
49 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
50 |
enum ResizeFlag { |
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6443
diff
changeset
|
51 |
RESIZE_NONE = 0, ///< no resize required |
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
52 |
|
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6443
diff
changeset
|
53 |
RESIZE_LEFT = 1, ///< left resize flag |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6443
diff
changeset
|
54 |
RESIZE_RIGHT = 2, ///< rigth resize flag |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6443
diff
changeset
|
55 |
RESIZE_TOP = 4, ///< top resize flag |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6443
diff
changeset
|
56 |
RESIZE_BOTTOM = 8, ///< bottom resize flag |
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
57 |
|
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6443
diff
changeset
|
58 |
RESIZE_LR = RESIZE_LEFT | RESIZE_RIGHT, ///< combination of left and right resize flags |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6443
diff
changeset
|
59 |
RESIZE_RB = RESIZE_RIGHT | RESIZE_BOTTOM, ///< combination of right and bottom resize flags |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6443
diff
changeset
|
60 |
RESIZE_TB = RESIZE_TOP | RESIZE_BOTTOM, ///< combination of top and bottom resize flags |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6443
diff
changeset
|
61 |
RESIZE_LRB = RESIZE_LEFT | RESIZE_RIGHT | RESIZE_BOTTOM, ///< combination of left, right and bottom resize flags |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6443
diff
changeset
|
62 |
RESIZE_LRTB = RESIZE_LEFT | RESIZE_RIGHT | RESIZE_TOP | RESIZE_BOTTOM, ///< combination of all resize flags |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6443
diff
changeset
|
63 |
RESIZE_RTB = RESIZE_RIGHT | RESIZE_TOP | RESIZE_BOTTOM, ///< combination of right, top and bottom resize flag |
4749
9490e643f23f
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
64 |
|
9490e643f23f
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
65 |
/* The following flags are used by the system to specify what is disabled, hidden, or clicked |
9490e643f23f
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
66 |
* They are used in the same place as the above RESIZE_x flags, Widget visual_flags. |
9490e643f23f
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
67 |
* These states are used in exceptions. If nothing is specified, they will indicate |
9490e643f23f
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
68 |
* Enabled, visible or unclicked widgets*/ |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
69 |
WIDG_DISABLED = 4, ///< widget is greyed out, not available |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
70 |
WIDG_HIDDEN = 5, ///< widget is made invisible |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
71 |
WIDG_LOWERED = 6, ///< widget is paint lowered, a pressed button in fact |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
72 |
}; |
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
73 |
|
4755
4a3564952554
(svn r6669) -Add: vararg functions to set hidden/disabled/lowered state of multiple widgets in one call
glx
parents:
4749
diff
changeset
|
74 |
enum { |
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6443
diff
changeset
|
75 |
WIDGET_LIST_END = -1, ///< indicate the end of widgets' list for vararg functions |
4755
4a3564952554
(svn r6669) -Add: vararg functions to set hidden/disabled/lowered state of multiple widgets in one call
glx
parents:
4749
diff
changeset
|
76 |
}; |
4a3564952554
(svn r6669) -Add: vararg functions to set hidden/disabled/lowered state of multiple widgets in one call
glx
parents:
4749
diff
changeset
|
77 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
78 |
struct Widget { |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
79 |
byte type; ///< Widget type, see WindowWidgetTypes |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
80 |
byte display_flags; ///< Resize direction, alignment, etc. during resizing, see ResizeFlags |
4547
9786a24c4102
(svn r6379) -Codechange: cast 'remove babel' on widget's unkA and rename it to 'data'.
Darkvater
parents:
4542
diff
changeset
|
81 |
byte color; ///< Widget colour, see docs/ottd-colourtext-palette.png |
6224
5eec2dfd13af
(svn r8662) -Fix r8661: don't try to put negative values in unsigned vars
bjarni
parents:
6195
diff
changeset
|
82 |
int16 left, right, top, bottom; ///< The position offsets inside the window |
4547
9786a24c4102
(svn r6379) -Codechange: cast 'remove babel' on widget's unkA and rename it to 'data'.
Darkvater
parents:
4542
diff
changeset
|
83 |
uint16 data; ///< The String/Image or special code (list-matrixes) of a widget |
9786a24c4102
(svn r6379) -Codechange: cast 'remove babel' on widget's unkA and rename it to 'data'.
Darkvater
parents:
4542
diff
changeset
|
84 |
StringID tooltips; ///< Tooltips that are shown when rightclicking on a widget |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
85 |
}; |
0 | 86 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
87 |
enum FrameFlags { |
8504
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
88 |
FR_NONE = 0, |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
89 |
FR_TRANSPARENT = 1 << 0, ///< Makes the background transparent if set |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
90 |
FR_BORDERONLY = 1 << 4, ///< Draw border only, no background |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
91 |
FR_LOWERED = 1 << 5, ///< If set the frame is lowered and the background color brighter (ie. buttons when pressed) |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
92 |
FR_DARKENED = 1 << 6, ///< If set the background is darker, allows for lowered frames with normal background color when used with FR_LOWERED (ie. dropdown boxes) |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
93 |
}; |
4437
d06bb548e48d
(svn r6209) Move DrawFrameRect() out of gfx.[ch], because it uses data (_color_list) which the renderer shouldn't have know about
tron
parents:
4434
diff
changeset
|
94 |
|
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
95 |
DECLARE_ENUM_AS_BIT_SET(FrameFlags); |
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
96 |
|
4437
d06bb548e48d
(svn r6209) Move DrawFrameRect() out of gfx.[ch], because it uses data (_color_list) which the renderer shouldn't have know about
tron
parents:
4434
diff
changeset
|
97 |
void DrawFrameRect(int left, int top, int right, int bottom, int color, FrameFlags flags); |
1938
21bd6ef5f85e
(svn r2444) - CodeChange: Add an enum for demagicifying the values of the 'flags' parameter of DrawFrameRect(). (_Abraxa_)
hackykid
parents:
1648
diff
changeset
|
98 |
|
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
99 |
enum WindowEventCodes { |
5664 | 100 |
WE_CREATE, |
101 |
WE_DESTROY, |
|
102 |
WE_PAINT, |
|
103 |
WE_KEYPRESS, |
|
104 |
WE_CLICK, |
|
7505
94a7391e0377
(svn r10265) -Feature: allow double-clicking on certain places: build-vehicle and town-action
truelight
parents:
7502
diff
changeset
|
105 |
WE_DOUBLE_CLICK, |
5664 | 106 |
WE_RCLICK, |
107 |
WE_MOUSEOVER, |
|
108 |
WE_MOUSELOOP, |
|
109 |
WE_MOUSEWHEEL, |
|
110 |
WE_TICK, |
|
111 |
WE_4, |
|
112 |
WE_TIMEOUT, |
|
113 |
WE_PLACE_OBJ, |
|
114 |
WE_ABORT_PLACE_OBJ, |
|
115 |
WE_ON_EDIT_TEXT, |
|
116 |
WE_ON_EDIT_TEXT_CANCEL, |
|
117 |
WE_POPUPMENU_SELECT, |
|
118 |
WE_POPUPMENU_OVER, |
|
119 |
WE_DRAGDROP, |
|
120 |
WE_PLACE_DRAG, |
|
121 |
WE_PLACE_MOUSEUP, |
|
122 |
WE_PLACE_PRESIZE, |
|
123 |
WE_DROPDOWN_SELECT, |
|
124 |
WE_RESIZE, |
|
125 |
WE_MESSAGE, |
|
126 |
WE_SCROLL, |
|
127 |
WE_INVALIDATE_DATA, |
|
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
128 |
}; |
0 | 129 |
|
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
130 |
struct WindowEvent { |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
131 |
byte event; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
132 |
union { |
7863
cc5dcf5c8ed4
(svn r10730) -Codechange: allow (some) arbitrary data to be send to the WE_CREATE event.
rubidium
parents:
7837
diff
changeset
|
133 |
struct { |
cc5dcf5c8ed4
(svn r10730) -Codechange: allow (some) arbitrary data to be send to the WE_CREATE event.
rubidium
parents:
7837
diff
changeset
|
134 |
void *data; |
cc5dcf5c8ed4
(svn r10730) -Codechange: allow (some) arbitrary data to be send to the WE_CREATE event.
rubidium
parents:
7837
diff
changeset
|
135 |
} create; |
cc5dcf5c8ed4
(svn r10730) -Codechange: allow (some) arbitrary data to be send to the WE_CREATE event.
rubidium
parents:
7837
diff
changeset
|
136 |
|
cc5dcf5c8ed4
(svn r10730) -Codechange: allow (some) arbitrary data to be send to the WE_CREATE event.
rubidium
parents:
7837
diff
changeset
|
137 |
struct { |
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
138 |
Point pt; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
139 |
int widget; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
140 |
} click; |
543
e3b43338096b
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
424
diff
changeset
|
141 |
|
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
142 |
struct { |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
143 |
Point pt; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
144 |
TileIndex tile; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
145 |
TileIndex starttile; |
8384
cda01fb6ec2a
(svn r11439) -Codechange: replace some magic numbers by a ViewportPlaceMethod enumified constant. Patch by SmatZ.
rubidium
parents:
8230
diff
changeset
|
146 |
ViewportPlaceMethod select_method; |
7165
37eb253f3c06
(svn r9900) -Codechange: Separate the variables for how to highlight a land area and what to do with it afterwards.
maedhros
parents:
7162
diff
changeset
|
147 |
byte select_proc; |
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
148 |
} place; |
1648
747061dca705
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
149 |
|
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
150 |
struct { |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
151 |
Point pt; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
152 |
int widget; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
153 |
} dragdrop; |
4335
18bc63352a17
(svn r6036) -Codechange: do not handle SCROLL in a central function, but let windows handle them theirself. Added WE_SCROLL for this.
truelight
parents:
4318
diff
changeset
|
154 |
|
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
155 |
struct { |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
156 |
Point size; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
157 |
Point diff; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
158 |
} sizing; |
4337
f77887bd2634
(svn r6038) -Codechange: move mousewheel code to event WE_MOUSEWHEEL instead of a general function that handles that
truelight
parents:
4335
diff
changeset
|
159 |
|
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
160 |
struct { |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
161 |
char *str; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
162 |
} edittext; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
163 |
|
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
164 |
struct { |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
165 |
Point pt; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
166 |
} popupmenu; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
167 |
|
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
168 |
struct { |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
169 |
int button; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
170 |
int index; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
171 |
} dropdown; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
172 |
|
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
173 |
struct { |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
174 |
Point pt; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
175 |
int widget; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
176 |
} mouseover; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
177 |
|
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
178 |
struct { |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
179 |
bool cont; ///< continue the search? (default true) |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
180 |
uint16 key; ///< 16-bit Unicode value of the key |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
181 |
uint16 keycode; ///< untranslated key (including shift-state) |
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
182 |
} keypress; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
183 |
|
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
184 |
struct { |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
185 |
int msg; ///< message to be sent |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
186 |
int wparam; ///< additional message-specific information |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
187 |
int lparam; ///< additional message-specific information |
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
188 |
} message; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
189 |
|
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
190 |
struct { |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
191 |
Point delta; ///< delta position against position of last call |
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
192 |
} scroll; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
193 |
|
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
194 |
struct { |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
195 |
int wheel; ///< how much was 'wheel'd' |
4634
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
196 |
} wheel; |
897461a3e9ca
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
197 |
} we; |
0 | 198 |
}; |
199 |
||
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
200 |
struct WindowDesc { |
7837
65d7362153a6
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium
parents:
7780
diff
changeset
|
201 |
int16 left, top, minimum_width, minimum_height, default_width, default_height; |
2788
db2896482939
(svn r3336) byte -> WindowClass, uint16 -> WindowNumber
tron
parents:
2757
diff
changeset
|
202 |
WindowClass cls; |
db2896482939
(svn r3336) byte -> WindowClass, uint16 -> WindowNumber
tron
parents:
2757
diff
changeset
|
203 |
WindowClass parent_cls; |
0 | 204 |
uint32 flags; |
205 |
const Widget *widgets; |
|
206 |
WindowProc *proc; |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
207 |
}; |
0 | 208 |
|
5664 | 209 |
enum WindowDefaultFlag { |
8504
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
210 |
WDF_STD_TOOLTIPS = 1 << 0, ///< use standard routine when displaying tooltips |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
211 |
WDF_DEF_WIDGET = 1 << 1, ///< default widget control for some widgets in the on click event |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
212 |
WDF_STD_BTN = 1 << 2, ///< default handling for close and drag widgets (widget no 0 and 1) |
8515
d0401d967e99
(svn r11579) -Revert(r11578): some cases of key propagation are not handled correctly.
belugas
parents:
8514
diff
changeset
|
213 |
|
8504
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
214 |
WDF_UNCLICK_BUTTONS = 1 << 4, ///< Unclick buttons when the window event times out */ |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
215 |
WDF_STICKY_BUTTON = 1 << 5, ///< Set window to sticky mode; they are not closed unless closed with 'X' (widget 2) |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
216 |
WDF_RESIZABLE = 1 << 6, ///< A window can be resized |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
217 |
WDF_MODAL = 1 << 7, ///< The window is a modal child of some other window, meaning the parent is 'inactive' |
0 | 218 |
}; |
219 |
||
220 |
/* can be used as x or y coordinates to cause a specific placement */ |
|
5664 | 221 |
enum WindowDefaultPosition { |
5072
df5bde83a4bc
(svn r7130) -Codechange: Handle the positioning of windows through the desc->left/top settings with
Darkvater
parents:
5071
diff
changeset
|
222 |
WDP_AUTO = -1, ///< Find a place automatically |
df5bde83a4bc
(svn r7130) -Codechange: Handle the positioning of windows through the desc->left/top settings with
Darkvater
parents:
5071
diff
changeset
|
223 |
WDP_CENTER = -2, ///< Center the window (left/right or top/bottom) |
df5bde83a4bc
(svn r7130) -Codechange: Handle the positioning of windows through the desc->left/top settings with
Darkvater
parents:
5071
diff
changeset
|
224 |
WDP_ALIGN_TBR = -3, ///< Align the right side of the window with the right side of the main toolbar |
df5bde83a4bc
(svn r7130) -Codechange: Handle the positioning of windows through the desc->left/top settings with
Darkvater
parents:
5071
diff
changeset
|
225 |
WDP_ALIGN_TBL = -4, ///< Align the left side of the window with the left side of the main toolbar |
0 | 226 |
}; |
227 |
||
8578
55218950ce2d
(svn r11643) -Codechange: conform with the coding style for the WP macro uses.
rubidium
parents:
8564
diff
changeset
|
228 |
#define WP(ptr, str) (*(str*)(ptr)->custom) |
0 | 229 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
230 |
struct Scrollbar { |
62
2bdd81b8adcc
(svn r63) Fix: [ 1009385 ] Too many save games prevented loading
dominik
parents:
0
diff
changeset
|
231 |
uint16 count, cap, pos; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
232 |
}; |
0 | 233 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
234 |
struct ResizeInfo { |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
235 |
uint width; ///< Minimum width and height |
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
236 |
uint height; |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
237 |
uint step_width; ///< In how big steps the width and height go |
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
238 |
uint step_height; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
239 |
}; |
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
240 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
241 |
struct WindowMessage { |
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
242 |
int msg; |
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
243 |
int wparam; |
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
244 |
int lparam; |
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
245 |
}; |
1648
747061dca705
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
246 |
|
0 | 247 |
struct Window { |
248 |
uint16 flags4; |
|
249 |
WindowClass window_class; |
|
250 |
WindowNumber window_number; |
|
251 |
||
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
252 |
int left, top; |
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
253 |
int width, height; |
0 | 254 |
|
842 | 255 |
Scrollbar hscroll, vscroll, vscroll2; |
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
256 |
ResizeInfo resize; |
0 | 257 |
|
258 |
byte caption_color; |
|
259 |
||
260 |
WindowProc *wndproc; |
|
261 |
ViewPort *viewport; |
|
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
262 |
const Widget *original_widget; |
4077
d3022f976946
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3812
diff
changeset
|
263 |
Widget *widget; |
5232
0ba6acdc527f
(svn r7352) -Codechange: add widget_count parameter to the window.
rubidium
parents:
5199
diff
changeset
|
264 |
uint widget_count; |
0 | 265 |
uint32 desc_flags; |
266 |
||
2622
1219c6a5bef3
(svn r3162) -Fix: renamed 'Message' to 'WindowMessage', a struct named 'Message' already
truelight
parents:
2596
diff
changeset
|
267 |
WindowMessage message; |
5666
1af12f02bf17
(svn r7618) -Feature: Add support for a parent<>child relationship in Window terms. A child
Darkvater
parents:
5664
diff
changeset
|
268 |
Window *parent; |
158
b1a821f84250
(svn r159) -Fix: w->custom[] was too small for 64bit pointers
truelight
parents:
129
diff
changeset
|
269 |
byte custom[WINDOW_CUSTOM_SIZE]; |
8489
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
270 |
|
8531
e87a51f162e2
(svn r11595) -Codechange: add a new member to Window struct, based on its function counterpart HandleButtonClick.
belugas
parents:
8528
diff
changeset
|
271 |
void HandleButtonClick(byte widget); |
e87a51f162e2
(svn r11595) -Codechange: add a new member to Window struct, based on its function counterpart HandleButtonClick.
belugas
parents:
8528
diff
changeset
|
272 |
|
8489
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
273 |
void SetWidgetDisabledState(byte widget_index, bool disab_stat); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
274 |
void DisableWidget(byte widget_index); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
275 |
void EnableWidget(byte widget_index); |
8491
804b3117cc36
(svn r11553) -Fix: make a few widget 'accessor' function const when they should be const.
rubidium
parents:
8489
diff
changeset
|
276 |
bool IsWidgetDisabled(byte widget_index) const; |
8489
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
277 |
void SetWidgetHiddenState(byte widget_index, bool hidden_stat); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
278 |
void HideWidget(byte widget_index); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
279 |
void ShowWidget(byte widget_index); |
8491
804b3117cc36
(svn r11553) -Fix: make a few widget 'accessor' function const when they should be const.
rubidium
parents:
8489
diff
changeset
|
280 |
bool IsWidgetHidden(byte widget_index) const; |
8489
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
281 |
void SetWidgetLoweredState(byte widget_index, bool lowered_stat); |
8492
d61f7a733d19
(svn r11554) -Codechange: be more consistent with the naming of the widget functions.
rubidium
parents:
8491
diff
changeset
|
282 |
void ToggleWidgetLoweredState(byte widget_index); |
8489
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
283 |
void LowerWidget(byte widget_index); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
284 |
void RaiseWidget(byte widget_index); |
8491
804b3117cc36
(svn r11553) -Fix: make a few widget 'accessor' function const when they should be const.
rubidium
parents:
8489
diff
changeset
|
285 |
bool IsWidgetLowered(byte widget_index) const; |
8489
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
286 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
287 |
void RaiseButtons(); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
288 |
void CDECL SetWidgetsDisabledState(bool disab_stat, int widgets, ...); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
289 |
void CDECL SetWidgetsHiddenState(bool hidden_stat, int widgets, ...); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
290 |
void CDECL SetWidgetsLoweredState(bool lowered_stat, int widgets, ...); |
8522
a1c44311e09e
(svn r11586) -Fix: make another widget 'accessor' function const when it should be const.
glx
parents:
8515
diff
changeset
|
291 |
void InvalidateWidget(byte widget_index) const; |
0 | 292 |
}; |
293 |
||
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
294 |
struct menu_d { |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
295 |
byte item_count; ///< follow_vehicle |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
296 |
byte sel_index; ///< scrollpos_x |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
297 |
byte main_button; ///< scrollpos_y |
0 | 298 |
byte action_id; |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
299 |
StringID string_id; ///< unk30 |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
300 |
uint16 checked_items; ///< unk32 |
2216
51a715447fc4
(svn r2734) -Feature: The Main Toolbar Dropdown Menu can now display disabled items
celestar
parents:
2187
diff
changeset
|
301 |
byte disabled_items; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
302 |
}; |
1004 | 303 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(menu_d)); |
0 | 304 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
305 |
struct def_d { |
0 | 306 |
int16 data_1, data_2, data_3; |
307 |
int16 data_4, data_5; |
|
2596 | 308 |
bool close; |
0 | 309 |
byte byte_1; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
310 |
}; |
1004 | 311 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(def_d)); |
0 | 312 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
313 |
struct void_d { |
0 | 314 |
void *data; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
315 |
}; |
1004 | 316 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(void_d)); |
0 | 317 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
318 |
struct tree_d { |
2596 | 319 |
uint16 base; |
320 |
uint16 count; |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
321 |
}; |
1004 | 322 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(tree_d)); |
0 | 323 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
324 |
struct tooltips_d { |
0 | 325 |
StringID string_id; |
4834
ddcf440d0ffd
(svn r6758) -Feature: Add a measurement tool that will show dimensions and height
Darkvater
parents:
4800
diff
changeset
|
326 |
byte paramcount; |
7502
71f5d2c6a605
(svn r10262) -Fix (r10258): some places that needed to be changed to uint64 were hidden/forgotten, which caused memory corruptions and that in caused all kinds of assertions to trigger.
rubidium
parents:
7226
diff
changeset
|
327 |
uint64 params[5]; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
328 |
}; |
1004 | 329 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(tooltips_d)); |
0 | 330 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
331 |
struct buildvehicle_d { |
7134
c5a90dd41166
(svn r9869) -Codechange: replace some bytes with VehicleType, i.e. more type strictness.
rubidium
parents:
7027
diff
changeset
|
332 |
VehicleType vehicle_type; |
5187
d1f4e447a7eb
(svn r7299) -CodeChange: Train and Aircraft Build window GUI code simplified a bit:
KUDr
parents:
5124
diff
changeset
|
333 |
union { |
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
334 |
RailTypeByte railtype; |
6350 | 335 |
AirportFTAClass::Flags flags; |
7162
b769c2b45103
(svn r9897) -Codechange: prepare the toolbar for more road types.
rubidium
parents:
7139
diff
changeset
|
336 |
RoadTypes roadtypes; |
5187
d1f4e447a7eb
(svn r7299) -CodeChange: Train and Aircraft Build window GUI code simplified a bit:
KUDr
parents:
5124
diff
changeset
|
337 |
} filter; |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
338 |
byte sel_index; ///< deprecated value, used for 'unified' ship and road |
5187
d1f4e447a7eb
(svn r7299) -CodeChange: Train and Aircraft Build window GUI code simplified a bit:
KUDr
parents:
5124
diff
changeset
|
339 |
bool descending_sort_order; |
4770
987ef30e5b45
(svn r6684) -Feature: [train build window] added sorting options for the engines
bjarni
parents:
4766
diff
changeset
|
340 |
byte sort_criteria; |
6032
cc75c53d40e9
(svn r8333) -Codechange: when invalidating a build window list, set a flag instead of rebuilding the list and then rebuild it the next time it's redrawn
bjarni
parents:
5838
diff
changeset
|
341 |
bool regenerate_list; |
2498
befad2fe53d2
(svn r3024) -Codechange: Another batch of replacements of int/uint/int16/byte/-1 with proper types and constants
tron
parents:
2448
diff
changeset
|
342 |
EngineID sel_engine; |
befad2fe53d2
(svn r3024) -Codechange: Another batch of replacements of int/uint/int16/byte/-1 with proper types and constants
tron
parents:
2448
diff
changeset
|
343 |
EngineID rename_engine; |
5187
d1f4e447a7eb
(svn r7299) -CodeChange: Train and Aircraft Build window GUI code simplified a bit:
KUDr
parents:
5124
diff
changeset
|
344 |
EngineList eng_list; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
345 |
}; |
4790
04df6a3f9b31
(svn r6712) -Code cleanup: renamed buildtrain_d to buildvehicle_d as it's used for all vehicle types
bjarni
parents:
4786
diff
changeset
|
346 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(buildvehicle_d)); |
0 | 347 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
348 |
struct replaceveh_d { |
842 | 349 |
byte sel_index[2]; |
2746
d96ce2fdc3e4
(svn r3291) - Codechange, Autoreplace: Replace int with EngineID and -1 with INVALID_ENGINE, as appropriate.
peter1138
parents:
2683
diff
changeset
|
350 |
EngineID sel_engine[2]; |
842 | 351 |
uint16 count[2]; |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
352 |
bool wagon_btnstate; ///< true means engine is selected |
6195
b90cf92697b9
(svn r8610) -Codechange/Feature: rewrote the list handling in the autoreplace window
bjarni
parents:
6075
diff
changeset
|
353 |
EngineList list[2]; |
b90cf92697b9
(svn r8610) -Codechange/Feature: rewrote the list handling in the autoreplace window
bjarni
parents:
6075
diff
changeset
|
354 |
bool update_left; |
b90cf92697b9
(svn r8610) -Codechange/Feature: rewrote the list handling in the autoreplace window
bjarni
parents:
6075
diff
changeset
|
355 |
bool update_right; |
b90cf92697b9
(svn r8610) -Codechange/Feature: rewrote the list handling in the autoreplace window
bjarni
parents:
6075
diff
changeset
|
356 |
bool init_lists; |
7139
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
357 |
GroupID sel_group; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
358 |
}; |
1004 | 359 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(replaceveh_d)); |
842 | 360 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
361 |
struct depot_d { |
0 | 362 |
VehicleID sel; |
7134
c5a90dd41166
(svn r9869) -Codechange: replace some bytes with VehicleType, i.e. more type strictness.
rubidium
parents:
7027
diff
changeset
|
363 |
VehicleType type; |
4739
bd535b408617
(svn r6651) -Coding feature: added the windowevent WE_INVALIDATE_DATA
bjarni
parents:
4730
diff
changeset
|
364 |
bool generate_list; |
4635
b9fb2f19eb64
(svn r6503) -Codechange: added a function to tell what vehicles a depot contains
bjarni
parents:
4634
diff
changeset
|
365 |
uint16 engine_list_length; |
b9fb2f19eb64
(svn r6503) -Codechange: added a function to tell what vehicles a depot contains
bjarni
parents:
4634
diff
changeset
|
366 |
uint16 wagon_list_length; |
b9fb2f19eb64
(svn r6503) -Codechange: added a function to tell what vehicles a depot contains
bjarni
parents:
4634
diff
changeset
|
367 |
uint16 engine_count; |
b9fb2f19eb64
(svn r6503) -Codechange: added a function to tell what vehicles a depot contains
bjarni
parents:
4634
diff
changeset
|
368 |
uint16 wagon_count; |
b9fb2f19eb64
(svn r6503) -Codechange: added a function to tell what vehicles a depot contains
bjarni
parents:
4634
diff
changeset
|
369 |
Vehicle **vehicle_list; |
b9fb2f19eb64
(svn r6503) -Codechange: added a function to tell what vehicles a depot contains
bjarni
parents:
4634
diff
changeset
|
370 |
Vehicle **wagon_list; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
371 |
}; |
4638
8abe4f10b94b
(svn r6513) -Codechange: unified the code to draw depot windows
bjarni
parents:
4635
diff
changeset
|
372 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(depot_d)); |
0 | 373 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
374 |
struct order_d { |
0 | 375 |
int sel; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
376 |
}; |
1004 | 377 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(order_d)); |
0 | 378 |
|
8026
269979f5319d
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium
parents:
7863
diff
changeset
|
379 |
struct vehicledetails_d { |
0 | 380 |
byte tab; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
381 |
}; |
8026
269979f5319d
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium
parents:
7863
diff
changeset
|
382 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(vehicledetails_d)); |
0 | 383 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
384 |
struct smallmap_d { |
849
c6223dbdb202
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
385 |
int32 scroll_x; |
c6223dbdb202
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
386 |
int32 scroll_y; |
c6223dbdb202
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
387 |
int32 subscroll; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
388 |
}; |
4318
fe085a1dd0ad
(svn r5971) -Fix: wrong struct in assert_compile (thomasdev)
truelight
parents:
4300
diff
changeset
|
389 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(smallmap_d)); |
0 | 390 |
|
8230
7b40f75cba12
(svn r11269) -Feature: user customisable faces. Patch by BigBB.
rubidium
parents:
8041
diff
changeset
|
391 |
/* player face selection window */ |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
392 |
struct facesel_d { |
8230
7b40f75cba12
(svn r11269) -Feature: user customisable faces. Patch by BigBB.
rubidium
parents:
8041
diff
changeset
|
393 |
PlayerFace face; // player face bits |
7b40f75cba12
(svn r11269) -Feature: user customisable faces. Patch by BigBB.
rubidium
parents:
8041
diff
changeset
|
394 |
bool advanced; // advance player face selection window |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
395 |
}; |
1004 | 396 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(facesel_d)); |
0 | 397 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
398 |
struct refit_d { |
0 | 399 |
int sel; |
4695
52419a88345d
(svn r6602) - Feature: we now support NewGRF livery refits, as used by DBsetXL, amongst others. This requires a savegame bump to save the cargo subtype.
peter1138
parents:
4694
diff
changeset
|
400 |
struct RefitOption *cargo; |
4694
a4d2a3abe75c
(svn r6601) - Codechange: Support cargo subtypes in the refit window. The refit window has been altered to support resizing and scrolling. Note that the cargo subtype isn't yet passed for actual refitting yet. (Based on mart3p's patch)
peter1138
parents:
4692
diff
changeset
|
401 |
struct RefitList *list; |
a4d2a3abe75c
(svn r6601) - Codechange: Support cargo subtypes in the refit window. The refit window has been altered to support resizing and scrolling. Note that the cargo subtype isn't yet passed for actual refitting yet. (Based on mart3p's patch)
peter1138
parents:
4692
diff
changeset
|
402 |
uint length; |
4712
273ec3b182bf
(svn r6624) -Feature: added ability to add refit commands to vehicle orders (can only be done in goto depot orders)
bjarni
parents:
4695
diff
changeset
|
403 |
VehicleOrderID order; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
404 |
}; |
1004 | 405 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(refit_d)); |
0 | 406 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
407 |
struct vp_d { |
2116 | 408 |
VehicleID follow_vehicle; |
849
c6223dbdb202
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
409 |
int32 scrollpos_x; |
c6223dbdb202
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
410 |
int32 scrollpos_y; |
7226
a8650d6ecb53
(svn r9962) -Feature: Add smooth viewport scrolling. This must be enabled with patch setting 'smooth_scroll'
peter1138
parents:
7165
diff
changeset
|
411 |
int32 dest_scrollpos_x; |
a8650d6ecb53
(svn r9962) -Feature: Add smooth viewport scrolling. This must be enabled with patch setting 'smooth_scroll'
peter1138
parents:
7165
diff
changeset
|
412 |
int32 dest_scrollpos_y; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
413 |
}; |
5123
9eb435a37492
(svn r7203) -Cleanup: Donnu what Miham was smoking there, but removed it (assert_compile + 3)
Darkvater
parents:
5120
diff
changeset
|
414 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(vp_d)); |
1004 | 415 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
416 |
struct news_d { |
0 | 417 |
uint16 follow_vehicle; |
849
c6223dbdb202
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
418 |
int32 scrollpos_x; |
c6223dbdb202
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
419 |
int32 scrollpos_y; |
7226
a8650d6ecb53
(svn r9962) -Feature: Add smooth viewport scrolling. This must be enabled with patch setting 'smooth_scroll'
peter1138
parents:
7165
diff
changeset
|
420 |
int32 dest_scrollpos_x; |
a8650d6ecb53
(svn r9962) -Feature: Add smooth viewport scrolling. This must be enabled with patch setting 'smooth_scroll'
peter1138
parents:
7165
diff
changeset
|
421 |
int32 dest_scrollpos_y; |
0 | 422 |
NewsItem *ni; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
423 |
}; |
1004 | 424 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(news_d)); |
0 | 425 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
426 |
struct highscore_d { |
998
d9dc257b8949
(svn r1496) -Fix: highscore no longer crashes in network games with a dedicated server. At the end of the game (can only be set by the server) the highscore is shown for the top5 companies of that game
darkvater
parents:
983
diff
changeset
|
427 |
uint32 background_img; |
d9dc257b8949
(svn r1496) -Fix: highscore no longer crashes in network games with a dedicated server. At the end of the game (can only be set by the server) the highscore is shown for the top5 companies of that game
darkvater
parents:
983
diff
changeset
|
428 |
int8 rank; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
429 |
}; |
1004 | 430 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(highscore_d)); |
998
d9dc257b8949
(svn r1496) -Fix: highscore no longer crashes in network games with a dedicated server. At the end of the game (can only be set by the server) the highscore is shown for the top5 companies of that game
darkvater
parents:
983
diff
changeset
|
431 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
432 |
struct scroller_d { |
998
d9dc257b8949
(svn r1496) -Fix: highscore no longer crashes in network games with a dedicated server. At the end of the game (can only be set by the server) the highscore is shown for the top5 companies of that game
darkvater
parents:
983
diff
changeset
|
433 |
int height; |
d9dc257b8949
(svn r1496) -Fix: highscore no longer crashes in network games with a dedicated server. At the end of the game (can only be set by the server) the highscore is shown for the top5 companies of that game
darkvater
parents:
983
diff
changeset
|
434 |
uint16 counter; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
435 |
}; |
1004 | 436 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(scroller_d)); |
859
46839573bed8
(svn r1340) -Feature: scrolling credits list...finally! Hope nobody gets offended if I forgot them.
darkvater
parents:
849
diff
changeset
|
437 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
438 |
enum SortListFlags { |
8504
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
439 |
VL_NONE = 0, ///< no sort |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
440 |
VL_DESC = 1 << 0, ///< sort descending or ascending |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
441 |
VL_RESORT = 1 << 1, ///< instruct the code to resort the list in the next loop |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
442 |
VL_REBUILD = 1 << 2, ///< create sort-listing to use for qsort and friends |
a258f7640c56
(svn r11568) -Codechange: Use bit shifts instead of values for flags. It helps readability a little bit.
belugas
parents:
8492
diff
changeset
|
443 |
VL_END = 1 << 3, |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
444 |
}; |
588 | 445 |
|
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
446 |
DECLARE_ENUM_AS_BIT_SET(SortListFlags); |
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
447 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
448 |
struct Listing { |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
449 |
bool order; ///< Ascending/descending |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
450 |
byte criteria; ///< Sorting criteria |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
451 |
}; |
588 | 452 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
453 |
struct list_d { |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
454 |
uint16 list_length; ///< length of the list being sorted |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
455 |
byte sort_type; ///< what criteria to sort on |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
456 |
SortListFlags flags; ///< used to control sorting/resorting/etc. |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
457 |
uint16 resort_timer; ///< resort list after a given amount of ticks if set |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
458 |
}; |
2888
0972346d11a8
(svn r3441) - Feature: Allow the network game list to be sorted (by name/clients/compatibility ascending/descending)
Darkvater
parents:
2887
diff
changeset
|
459 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(list_d)); |
0972346d11a8
(svn r3441) - Feature: Allow the network game list to be sorted (by name/clients/compatibility ascending/descending)
Darkvater
parents:
2887
diff
changeset
|
460 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
461 |
struct message_d { |
1648
747061dca705
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
462 |
int msg; |
747061dca705
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
463 |
int wparam; |
747061dca705
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
464 |
int lparam; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
465 |
}; |
1648
747061dca705
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
466 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(message_d)); |
747061dca705
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
467 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
468 |
struct dropdown_d { |
2683
6f67fcf73873
(svn r3225) - Fix for "[ 1359165 ] Autoreplace problem with r3171 and later" -- Move the disabled/hidden bits to custom data in window struct.
peter1138
parents:
2636
diff
changeset
|
469 |
uint32 disabled_state; |
6f67fcf73873
(svn r3225) - Fix for "[ 1359165 ] Autoreplace problem with r3171 and later" -- Move the disabled/hidden bits to custom data in window struct.
peter1138
parents:
2636
diff
changeset
|
470 |
uint32 hidden_state; |
2636
e2bfdc3e82b6
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
471 |
WindowClass parent_wnd_class; |
e2bfdc3e82b6
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
472 |
WindowNumber parent_wnd_num; |
e2bfdc3e82b6
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
473 |
byte parent_button; |
e2bfdc3e82b6
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
474 |
byte num_items; |
e2bfdc3e82b6
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
475 |
byte selected_index; |
e2bfdc3e82b6
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
476 |
const StringID *items; |
e2bfdc3e82b6
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
477 |
byte click_delay; |
e2bfdc3e82b6
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
478 |
bool drag_mode; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
479 |
}; |
2636
e2bfdc3e82b6
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
480 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(dropdown_d)); |
e2bfdc3e82b6
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
481 |
|
7139
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
482 |
struct vehiclelist_d { |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
483 |
const Vehicle** sort_list; // List of vehicles (sorted) |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
484 |
Listing *_sorting; // pointer to the appropiate subcategory of _sorting |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
485 |
uint16 length_of_sort_list; // Keeps track of how many vehicle pointers sort list got space for |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
486 |
VehicleType vehicle_type; // The vehicle type that is sorted |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
487 |
list_d l; // General list struct |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
488 |
}; |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
489 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(vehiclelist_d)); |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
490 |
|
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
491 |
struct grouplist_d { |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
492 |
const Group **sort_list; |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
493 |
list_d l; // General list struct |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
494 |
}; |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
495 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(grouplist_d)); |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
496 |
|
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
497 |
struct groupveh_d : vehiclelist_d { |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
498 |
GroupID group_sel; |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
499 |
VehicleID vehicle_sel; |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
500 |
|
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
501 |
grouplist_d gl; |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
502 |
}; |
4ae3ab180d05
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
7134
diff
changeset
|
503 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(groupveh_d)); |
0 | 504 |
|
505 |
/****************** THESE ARE NOT WIDGET TYPES!!!!! *******************/ |
|
506 |
enum WindowWidgetBehaviours { |
|
4344
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
507 |
WWB_PUSHBUTTON = 1 << 5, |
4938
074f734a91ca
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4884
diff
changeset
|
508 |
|
074f734a91ca
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4884
diff
changeset
|
509 |
WWB_MASK = 0xE0, |
0 | 510 |
}; |
511 |
||
512 |
||
513 |
enum WindowWidgetTypes { |
|
4939
ede0f6777b3c
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
514 |
WWT_EMPTY, |
158
b1a821f84250
(svn r159) -Fix: w->custom[] was too small for 64bit pointers
truelight
parents:
129
diff
changeset
|
515 |
|
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
516 |
WWT_PANEL, ///< simple depressed panel |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
517 |
WWT_INSET, ///< pressed (inset) panel, most commonly used as combo box _text_ area |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
518 |
WWT_IMGBTN, ///< button with image |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
519 |
WWT_IMGBTN_2, ///< button with diff image when clicked |
4938
074f734a91ca
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4884
diff
changeset
|
520 |
|
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
521 |
WWT_TEXTBTN, ///< button with text |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
522 |
WWT_TEXTBTN_2, ///< button with diff text when clicked |
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
523 |
WWT_LABEL, ///< centered label |
6604
ad6057954de6
(svn r9088) -Add : a new type of widget, called WWT_TEXT. It is a simple truncated string. It will be usefull on windows where lot of simple text is always drawn on the WE_PAINT event, making the code clearer. For now, left, right (total size of the window), top, color and data are necessary to use it. Maybe more features will be available soon.
belugas
parents:
6574
diff
changeset
|
524 |
WWT_TEXT, ///< pure simple text |
4939
ede0f6777b3c
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
525 |
WWT_MATRIX, |
ede0f6777b3c
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
526 |
WWT_SCROLLBAR, |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
527 |
WWT_FRAME, ///< frame |
4939
ede0f6777b3c
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
528 |
WWT_CAPTION, |
0 | 529 |
|
4939
ede0f6777b3c
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
530 |
WWT_HSCROLLBAR, |
ede0f6777b3c
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
531 |
WWT_STICKYBOX, |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
532 |
WWT_SCROLL2BAR, ///< 2nd vertical scrollbar |
4939
ede0f6777b3c
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
533 |
WWT_RESIZEBOX, |
ede0f6777b3c
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
534 |
WWT_CLOSEBOX, |
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
535 |
WWT_LAST, ///< Last Item. use WIDGETS_END to fill up padding!! |
4939
ede0f6777b3c
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
536 |
|
ede0f6777b3c
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
537 |
WWT_MASK = 0x1F, |
0 | 538 |
|
4938
074f734a91ca
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4884
diff
changeset
|
539 |
WWT_PUSHBTN = WWT_PANEL | WWB_PUSHBUTTON, |
4434
4175805666a5
(svn r6204) -Cleanup: replace non-indentation with spaces; like '}<TAB>else {' -> '} else {', tabs between code and comment, etc.
rubidium
parents:
4345
diff
changeset
|
540 |
WWT_PUSHTXTBTN = WWT_TEXTBTN | WWB_PUSHBUTTON, |
4175805666a5
(svn r6204) -Cleanup: replace non-indentation with spaces; like '}<TAB>else {' -> '} else {', tabs between code and comment, etc.
rubidium
parents:
4345
diff
changeset
|
541 |
WWT_PUSHIMGBTN = WWT_IMGBTN | WWB_PUSHBUTTON, |
0 | 542 |
}; |
543 |
||
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
544 |
#define WIDGETS_END WWT_LAST, RESIZE_NONE, 0, 0, 0, 0, 0, 0, STR_NULL |
176
84990c4b9212
(svn r177) -Fix: padded out Widget code to solve warnings on C99 compiler (Tron)
darkvater
parents:
164
diff
changeset
|
545 |
|
0 | 546 |
enum WindowFlags { |
4344
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
547 |
WF_TIMEOUT_SHL = 0, |
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
548 |
WF_TIMEOUT_MASK = 7, |
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
549 |
WF_DRAGGING = 1 << 3, |
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
550 |
WF_SCROLL_UP = 1 << 4, |
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
551 |
WF_SCROLL_DOWN = 1 << 5, |
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
552 |
WF_SCROLL_MIDDLE = 1 << 6, |
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
553 |
WF_HSCROLL = 1 << 7, |
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
554 |
WF_SIZING = 1 << 8, |
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
555 |
WF_STICKY = 1 << 9, |
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
556 |
|
0 | 557 |
WF_DISABLE_VP_SCROLL = 1 << 10, |
558 |
||
4344
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
559 |
WF_WHITE_BORDER_ONE = 1 << 11, |
5667
248a3234d2e2
(svn r7619) -Feature (Internal): Add support for modal children. It's a window-child that
Darkvater
parents:
5666
diff
changeset
|
560 |
WF_WHITE_BORDER_MASK = 1 << 12 | WF_WHITE_BORDER_ONE, |
4344
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
561 |
WF_SCROLL2 = 1 << 13, |
0 | 562 |
}; |
563 |
||
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
564 |
/* window.cpp */ |
0 | 565 |
void CallWindowEventNP(Window *w, int event); |
6573 | 566 |
void CallWindowTickEvent(); |
8041
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8026
diff
changeset
|
567 |
|
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8026
diff
changeset
|
568 |
/** |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8026
diff
changeset
|
569 |
* Marks the window as dirty for repaint. |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8026
diff
changeset
|
570 |
* |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8026
diff
changeset
|
571 |
* @ingroup dirty |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8026
diff
changeset
|
572 |
*/ |
4171 | 573 |
void SetWindowDirty(const Window *w); |
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
574 |
void SendWindowMessage(WindowClass wnd_class, WindowNumber wnd_num, int msg, int wparam, int lparam); |
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
575 |
void SendWindowMessageClass(WindowClass wnd_class, int msg, int wparam, int lparam); |
0 | 576 |
|
577 |
Window *FindWindowById(WindowClass cls, WindowNumber number); |
|
578 |
void DeleteWindow(Window *w); |
|
5077
587701a06b6a
(svn r7138) -Fix: [vehicle list windows] fixed a rare crash where having some (not all) vehicle list windows open for a player, that goes bankrupt would crash the game
bjarni
parents:
5072
diff
changeset
|
579 |
void DeletePlayerWindows(PlayerID pi); |
587701a06b6a
(svn r7138) -Fix: [vehicle list windows] fixed a rare crash where having some (not all) vehicle list windows open for a player, that goes bankrupt would crash the game
bjarni
parents:
5072
diff
changeset
|
580 |
void ChangeWindowOwner(PlayerID old_player, PlayerID new_player); |
0 | 581 |
Window *BringWindowToFrontById(WindowClass cls, WindowNumber number); |
582 |
Window *FindWindowFromPt(int x, int y); |
|
583 |
||
4171 | 584 |
bool IsWindowOfPrototype(const Window *w, const Widget *widget); |
867
581154a08a78
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
585 |
void AssignWidgetToWindow(Window *w, const Widget *widget); |
0 | 586 |
Window *AllocateWindow( |
587 |
int x, |
|
588 |
int y, |
|
589 |
int width, |
|
590 |
int height, |
|
158
b1a821f84250
(svn r159) -Fix: w->custom[] was too small for 64bit pointers
truelight
parents:
129
diff
changeset
|
591 |
WindowProc *proc, |
0 | 592 |
WindowClass cls, |
7863
cc5dcf5c8ed4
(svn r10730) -Codechange: allow (some) arbitrary data to be send to the WE_CREATE event.
rubidium
parents:
7837
diff
changeset
|
593 |
const Widget *widget, |
cc5dcf5c8ed4
(svn r10730) -Codechange: allow (some) arbitrary data to be send to the WE_CREATE event.
rubidium
parents:
7837
diff
changeset
|
594 |
void *data = NULL); |
0 | 595 |
|
7863
cc5dcf5c8ed4
(svn r10730) -Codechange: allow (some) arbitrary data to be send to the WE_CREATE event.
rubidium
parents:
7837
diff
changeset
|
596 |
Window *AllocateWindowDesc(const WindowDesc *desc, void *data = NULL); |
cc5dcf5c8ed4
(svn r10730) -Codechange: allow (some) arbitrary data to be send to the WE_CREATE event.
rubidium
parents:
7837
diff
changeset
|
597 |
Window *AllocateWindowDescFront(const WindowDesc *desc, int window_number, void *data = NULL); |
0 | 598 |
|
5120
e12dfc67761f
(svn r7200) -Codechange: remove unneeded redraw (console.c), coding style, use FindWindowById
Darkvater
parents:
5108
diff
changeset
|
599 |
void DrawWindowViewport(const Window *w); |
5268
cbff87066429
(svn r7409) -Codechange: Make the ResizeWindow function also available outside of window.c. This makes
Darkvater
parents:
5236
diff
changeset
|
600 |
void ResizeWindow(Window *w, int x, int y); |
0 | 601 |
|
6573 | 602 |
void InitWindowSystem(); |
603 |
void UnInitWindowSystem(); |
|
604 |
void ResetWindowSystem(); |
|
2436
177cb6a8339f
(svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents:
2216
diff
changeset
|
605 |
int GetMenuItemIndex(const Window *w, int x, int y); |
6573 | 606 |
void InputLoop(); |
4766
a23183d868d1
(svn r6680) -Codechange r6679: [train build window] only generate the list when the window data is invalidated or the window is generated, not on each redraw
bjarni
parents:
4765
diff
changeset
|
607 |
void InvalidateThisWindowData(Window *w); |
4739
bd535b408617
(svn r6651) -Coding feature: added the windowevent WE_INVALIDATE_DATA
bjarni
parents:
4730
diff
changeset
|
608 |
void InvalidateWindowData(WindowClass cls, WindowNumber number); |
0 | 609 |
void RelocateAllWindows(int neww, int newh); |
610 |
||
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
611 |
/* misc_gui.cpp */ |
7502
71f5d2c6a605
(svn r10262) -Fix (r10258): some places that needed to be changed to uint64 were hidden/forgotten, which caused memory corruptions and that in caused all kinds of assertions to trigger.
rubidium
parents:
7226
diff
changeset
|
612 |
void GuiShowTooltipsWithArgs(StringID str, uint paramcount, const uint64 params[]); |
4834
ddcf440d0ffd
(svn r6758) -Feature: Add a measurement tool that will show dimensions and height
Darkvater
parents:
4800
diff
changeset
|
613 |
static inline void GuiShowTooltips(StringID str) |
ddcf440d0ffd
(svn r6758) -Feature: Add a measurement tool that will show dimensions and height
Darkvater
parents:
4800
diff
changeset
|
614 |
{ |
ddcf440d0ffd
(svn r6758) -Feature: Add a measurement tool that will show dimensions and height
Darkvater
parents:
4800
diff
changeset
|
615 |
GuiShowTooltipsWithArgs(str, 0, NULL); |
ddcf440d0ffd
(svn r6758) -Feature: Add a measurement tool that will show dimensions and height
Darkvater
parents:
4800
diff
changeset
|
616 |
} |
4719
413b21513ef7
(svn r6631) -Codechange: Use accessors for click_state.
belugas
parents:
4712
diff
changeset
|
617 |
|
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
618 |
/* widget.cpp */ |
2436
177cb6a8339f
(svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents:
2216
diff
changeset
|
619 |
int GetWidgetFromPos(const Window *w, int x, int y); |
177cb6a8339f
(svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents:
2216
diff
changeset
|
620 |
void DrawWindowWidgets(const Window *w); |
2448
0a34e90cb31f
(svn r2974) -Fix: Drag and drop selection on drop down boxes didn't select correct item when some items were hidden.
peter1138
parents:
2436
diff
changeset
|
621 |
void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int button, uint32 disabled_mask, uint32 hidden_mask); |
0 | 622 |
|
623 |
||
6573 | 624 |
Window *GetCallbackWnd(); |
625 |
void DeleteNonVitalWindows(); |
|
626 |
void DeleteAllNonVitalWindows(); |
|
627 |
void HideVitalWindows(); |
|
628 |
void ShowVitalWindows(); |
|
5124
d30772d0e9e1
(svn r7205) -Fix [FS#350, SF#1560913]: Window allocation and deletion messed with the actual window
Darkvater
parents:
5123
diff
changeset
|
629 |
Window **FindWindowZPosition(const Window *w); |
0 | 630 |
|
6443
b8f06d8eb7be
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6350
diff
changeset
|
631 |
/* window.cpp */ |
5124
d30772d0e9e1
(svn r7205) -Fix [FS#350, SF#1560913]: Window allocation and deletion messed with the actual window
Darkvater
parents:
5123
diff
changeset
|
632 |
extern Window *_z_windows[]; |
d30772d0e9e1
(svn r7205) -Fix [FS#350, SF#1560913]: Window allocation and deletion messed with the actual window
Darkvater
parents:
5123
diff
changeset
|
633 |
extern Window **_last_z_window; |
d30772d0e9e1
(svn r7205) -Fix [FS#350, SF#1560913]: Window allocation and deletion messed with the actual window
Darkvater
parents:
5123
diff
changeset
|
634 |
#define FOR_ALL_WINDOWS(wz) for (wz = _z_windows; wz != _last_z_window; wz++) |
0 | 635 |
|
636 |
VARDEF Point _cursorpos_drag_start; |
|
637 |
||
638 |
VARDEF int _scrollbar_start_pos; |
|
639 |
VARDEF int _scrollbar_size; |
|
640 |
VARDEF byte _scroller_click_timeout; |
|
641 |
||
642 |
VARDEF bool _scrolling_scrollbar; |
|
643 |
VARDEF bool _scrolling_viewport; |
|
644 |
VARDEF bool _popup_menu_active; |
|
645 |
||
646 |
VARDEF byte _special_mouse_mode; |
|
647 |
enum SpecialMouseMode { |
|
4344
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
648 |
WSM_NONE = 0, |
0 | 649 |
WSM_DRAGDROP = 1, |
4344
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
650 |
WSM_SIZING = 2, |
5d0e40cd67b9
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
651 |
WSM_PRESIZE = 3, |
0 | 652 |
}; |
653 |
||
654 |
void ScrollbarClickHandler(Window *w, const Widget *wi, int x, int y); |
|
655 |
||
6073
d8dae377c879
(svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added
bjarni
parents:
6032
diff
changeset
|
656 |
/** Evenly distribute some widgets when resizing horizontally (often a button row) |
6075
33cdb35f9af5
(svn r8390) -Codechange (r8384): Rewrote ResizeButtons()
bjarni
parents:
6073
diff
changeset
|
657 |
* The widgets are presumed to be in a line and numberef from left to right (without gaps) |
6073
d8dae377c879
(svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added
bjarni
parents:
6032
diff
changeset
|
658 |
* @param w widow to modify |
d8dae377c879
(svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added
bjarni
parents:
6032
diff
changeset
|
659 |
* @param left The leftmost widget to resize |
6075
33cdb35f9af5
(svn r8390) -Codechange (r8384): Rewrote ResizeButtons()
bjarni
parents:
6073
diff
changeset
|
660 |
* @param right The rightmost widget to resize. Since right side of it is used, remember to set it to RESIZE_RIGHT |
6073
d8dae377c879
(svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added
bjarni
parents:
6032
diff
changeset
|
661 |
*/ |
d8dae377c879
(svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added
bjarni
parents:
6032
diff
changeset
|
662 |
void ResizeButtons(Window *w, byte left, byte right); |
d8dae377c879
(svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added
bjarni
parents:
6032
diff
changeset
|
663 |
|
8489
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
664 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
665 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
666 |
* Sets the enabled/disabled status of a widget. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
667 |
* By default, widgets are enabled. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
668 |
* On certain conditions, they have to be disabled. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
669 |
* @param widget_index : index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
670 |
* @param disab_stat : status to use ie: disabled = true, enabled = false |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
671 |
*/ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
672 |
inline void Window::SetWidgetDisabledState(byte widget_index, bool disab_stat) |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
673 |
{ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
674 |
assert(widget_index < this->widget_count); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
675 |
SB(this->widget[widget_index].display_flags, WIDG_DISABLED, 1, !!disab_stat); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
676 |
} |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
677 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
678 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
679 |
* Sets a widget to disabled. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
680 |
* @param widget_index : index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
681 |
*/ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
682 |
inline void Window::DisableWidget(byte widget_index) |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
683 |
{ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
684 |
SetWidgetDisabledState(widget_index, true); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
685 |
} |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
686 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
687 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
688 |
* Sets a widget to Enabled. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
689 |
* @param widget_index : index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
690 |
*/ |
8491
804b3117cc36
(svn r11553) -Fix: make a few widget 'accessor' function const when they should be const.
rubidium
parents:
8489
diff
changeset
|
691 |
inline void Window::EnableWidget(byte widget_index) |
804b3117cc36
(svn r11553) -Fix: make a few widget 'accessor' function const when they should be const.
rubidium
parents:
8489
diff
changeset
|
692 |
{ |
804b3117cc36
(svn r11553) -Fix: make a few widget 'accessor' function const when they should be const.
rubidium
parents:
8489
diff
changeset
|
693 |
SetWidgetDisabledState(widget_index, false); |
804b3117cc36
(svn r11553) -Fix: make a few widget 'accessor' function const when they should be const.
rubidium
parents:
8489
diff
changeset
|
694 |
} |
8489
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
695 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
696 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
697 |
* Gets the enabled/disabled status of a widget. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
698 |
* @param widget_index : index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
699 |
* @return status of the widget ie: disabled = true, enabled = false |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
700 |
*/ |
8491
804b3117cc36
(svn r11553) -Fix: make a few widget 'accessor' function const when they should be const.
rubidium
parents:
8489
diff
changeset
|
701 |
inline bool Window::IsWidgetDisabled(byte widget_index) const |
8489
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
702 |
{ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
703 |
assert(widget_index < this->widget_count); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
704 |
return HasBit(this->widget[widget_index].display_flags, WIDG_DISABLED); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
705 |
} |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
706 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
707 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
708 |
* Sets the hidden/shown status of a widget. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
709 |
* By default, widgets are visible. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
710 |
* On certain conditions, they have to be hidden. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
711 |
* @param widget_index index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
712 |
* @param hidden_stat status to use ie. hidden = true, visible = false |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
713 |
*/ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
714 |
inline void Window::SetWidgetHiddenState(byte widget_index, bool hidden_stat) |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
715 |
{ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
716 |
assert(widget_index < this->widget_count); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
717 |
SB(this->widget[widget_index].display_flags, WIDG_HIDDEN, 1, !!hidden_stat); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
718 |
} |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
719 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
720 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
721 |
* Sets a widget hidden. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
722 |
* @param widget_index : index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
723 |
*/ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
724 |
inline void Window::HideWidget(byte widget_index) |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
725 |
{ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
726 |
SetWidgetHiddenState(widget_index, true); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
727 |
} |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
728 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
729 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
730 |
* Sets a widget visible. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
731 |
* @param widget_index : index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
732 |
*/ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
733 |
inline void Window::ShowWidget(byte widget_index) |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
734 |
{ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
735 |
SetWidgetHiddenState(widget_index, false); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
736 |
} |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
737 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
738 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
739 |
* Gets the visibility of a widget. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
740 |
* @param widget_index : index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
741 |
* @return status of the widget ie: hidden = true, visible = false |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
742 |
*/ |
8491
804b3117cc36
(svn r11553) -Fix: make a few widget 'accessor' function const when they should be const.
rubidium
parents:
8489
diff
changeset
|
743 |
inline bool Window::IsWidgetHidden(byte widget_index) const |
8489
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
744 |
{ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
745 |
assert(widget_index < this->widget_count); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
746 |
return HasBit(this->widget[widget_index].display_flags, WIDG_HIDDEN); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
747 |
} |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
748 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
749 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
750 |
* Sets the lowered/raised status of a widget. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
751 |
* @param widget_index : index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
752 |
* @param lowered_stat : status to use ie: lowered = true, raised = false |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
753 |
*/ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
754 |
inline void Window::SetWidgetLoweredState(byte widget_index, bool lowered_stat) |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
755 |
{ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
756 |
assert(widget_index < this->widget_count); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
757 |
SB(this->widget[widget_index].display_flags, WIDG_LOWERED, 1, !!lowered_stat); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
758 |
} |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
759 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
760 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
761 |
* Invert the lowered/raised status of a widget. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
762 |
* @param widget_index : index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
763 |
*/ |
8492
d61f7a733d19
(svn r11554) -Codechange: be more consistent with the naming of the widget functions.
rubidium
parents:
8491
diff
changeset
|
764 |
inline void Window::ToggleWidgetLoweredState(byte widget_index) |
8489
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
765 |
{ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
766 |
assert(widget_index < this->widget_count); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
767 |
ToggleBit(this->widget[widget_index].display_flags, WIDG_LOWERED); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
768 |
} |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
769 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
770 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
771 |
* Marks a widget as lowered. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
772 |
* @param widget_index : index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
773 |
*/ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
774 |
inline void Window::LowerWidget(byte widget_index) |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
775 |
{ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
776 |
SetWidgetLoweredState(widget_index, true); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
777 |
} |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
778 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
779 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
780 |
* Marks a widget as raised. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
781 |
* @param widget_index : index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
782 |
*/ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
783 |
inline void Window::RaiseWidget(byte widget_index) |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
784 |
{ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
785 |
SetWidgetLoweredState(widget_index, false); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
786 |
} |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
787 |
|
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
788 |
/** |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
789 |
* Gets the lowered state of a widget. |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
790 |
* @param widget_index : index of this widget in the window |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
791 |
* @return status of the widget ie: lowered = true, raised= false |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
792 |
*/ |
8491
804b3117cc36
(svn r11553) -Fix: make a few widget 'accessor' function const when they should be const.
rubidium
parents:
8489
diff
changeset
|
793 |
inline bool Window::IsWidgetLowered(byte widget_index) const |
8489
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
794 |
{ |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
795 |
assert(widget_index < this->widget_count); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
796 |
return HasBit(this->widget[widget_index].display_flags, WIDG_LOWERED); |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
797 |
} |
1e2a5fdb152f
(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"
belugas
parents:
8428
diff
changeset
|
798 |
|
8602
9e75e594a068
(svn r11667) -Codechange: split window.h into a header that defines some 'global' window related types, on that defined 'global' window functions and one that defines functions and types only used by *_gui.cpps.
rubidium
parents:
8598
diff
changeset
|
799 |
#endif /* WINDOW_GUI_H */ |