@@ -7,17 +7,23 @@ DeclareModule BevelButton
77 height.i
88 text.s
99 font.i
10+ color.i
1011 EndStructure
1112
13+ Global NewMap Gadget2BevelButton()
14+
1215 Declare New(x, y, width, height, image, text.s, font = 0, flags = 0)
1316 Declare Delete(*button.button)
1417 Declare Redraw(*button.button)
1518 Declare Enable(*button.button)
19+ Declare ColorDark(*button.button)
20+ Declare ColorNormal(*button.button)
1621 Declare Disable(*button.button)
1722 Declare GetGadgetID(*button.button)
1823 Declare SetText(*button.button, text.s, font = 0)
1924 Declare.s GetText(*button.button)
2025 Declare SetFont(*button.button, font)
26+ Declare GetButton(gadget)
2127EndDeclareModule
2228
2329Module BevelButton
@@ -29,8 +35,10 @@ Module BevelButton
2935 *button\height = height
3036 *button\font = font
3137 *button\text = text
38+ *button\color = RGB(0, 255, 0)
3239
3340 Redraw(*button)
41+ Gadget2BevelButton(Str(*button\gadget)) = *button
3442 ProcedureReturn *button
3543 EndProcedure
3644
@@ -43,7 +51,7 @@ Module BevelButton
4351
4452 ; Button state
4553 If GetGadgetState(*button\gadget) = #True
46- color = RGB(0, 255, 0)
54+ color = *button\color
4755 Else
4856 color = GetSysColor_(#COLOR_BTNFACE)
4957 EndIf
@@ -69,6 +77,16 @@ Module BevelButton
6977 Redraw(*button)
7078 EndProcedure
7179
80+ Procedure ColorDark(*button.button)
81+ *button\color = RGB(0, 150, 0)
82+ Redraw(*button)
83+ EndProcedure
84+
85+ Procedure ColorNormal(*button.button)
86+ *button\color = RGB(0, 255, 0)
87+ Redraw(*button)
88+ EndProcedure
89+
7290 Procedure Disable(*button.button)
7391 SetGadgetState(*button\gadget, #False)
7492 Redraw(*button)
@@ -92,6 +110,10 @@ Module BevelButton
92110
93111 Procedure SetFont(*button.button, font)
94112 *button\font = font
95- Redraw(*button)
113+ Redraw(*button)
114+ EndProcedure
115+
116+ Procedure GetButton(gadget)
117+ ProcedureReturn Gadget2BevelButton(Str(gadget))
96118 EndProcedure
97119EndModule
0 commit comments