9 void OptionSelector(Widget parent,
int current_index, ScriptedWidgetEventHandler parent_c,
bool disabled)
11 m_Options = {
"#server_browser_disabled",
"#server_browser_show",
"#server_browser_hide" };
12 m_ParentClass = parent_c;
14 if (current_index < 0 || current_index >= m_Options.Count())
16 m_SelectedOptionIndex = 0;
20 m_SelectedOptionIndex = current_index;
23 m_Root =
GetGame().GetWorkspace().CreateWidgets(
"gui/layouts/new_ui/option_selector.layout", parent);
24 #ifdef PLATFORM_CONSOLE
25 m_Parent = parent.GetParent().GetParent();
27 #ifdef PLATFORM_WINDOWS
32 m_SelectedOption = TextWidget.Cast(
m_Root.FindAnyWidget(
"option_label"));
33 m_PreviousOption =
m_Root.FindAnyWidget(
"prev_option");
34 m_NextOption =
m_Root.FindAnyWidget(
"next_option");
36 #ifdef PLATFORM_CONSOLE
37 m_NextOption.Show(
false);
38 m_PreviousOption.Show(
false);
41 m_SelectedOption.SetText(m_Options.Get(m_SelectedOptionIndex));
65 if (w == m_NextOption)
70 else if (w == m_PreviousOption)
79 override bool OnClick(Widget w,
int x,
int y,
int button)
92 return super.OnMouseEnter(w,
x,
y);
97 return super.OnMouseLeave(w, enterW,
x,
y);
102 m_SelectedOptionIndex = 0;
104 m_SelectedOption.SetText(m_Options.Get(m_SelectedOptionIndex));
106 m_OptionChanged.Invoke(m_SelectedOptionIndex);
111 m_SelectedOptionIndex++;
112 if (m_SelectedOptionIndex >= m_Options.Count())
114 m_SelectedOptionIndex = 0;
117 m_SelectedOption.SetText(m_Options.Get(m_SelectedOptionIndex));
119 m_OptionChanged.Invoke(m_SelectedOptionIndex);
124 m_SelectedOptionIndex--;
125 if (m_SelectedOptionIndex < 0)
127 m_SelectedOptionIndex = m_Options.Count() - 1;
130 m_SelectedOption.SetText(m_Options.Get(m_SelectedOptionIndex));
132 m_OptionChanged.Invoke(m_SelectedOptionIndex);
143 return m_SelectedOptionIndex != 0;
149 return m_SelectedOptionIndex == 1;
160 return m_Options.Get(m_SelectedOptionIndex);
165 int index = m_Options.Find(option);
168 m_SelectedOptionIndex = index;
169 m_SelectedOption.SetText(m_Options.Get(m_SelectedOptionIndex));
172 m_OptionChanged.Invoke(m_SelectedOptionIndex);
178 switch (m_SelectedOptionIndex)
182 m_SelectedOption.SetColor(
ARGB(255, 255, 255, 255));
187 m_SelectedOption.SetColor(
ARGB(255, 0, 255, 0));
192 m_SelectedOption.SetColor(
ARGB(255, 255, 0, 0));
200 m_NextOption.Show(show);
201 m_PreviousOption.Show(show);
208 return (w ==
m_Parent || w == m_NextOption || w == m_PreviousOption);
216 #ifndef PLATFORM_CONSOLE
217 m_NextOption.ClearFlags(
WidgetFlags.IGNOREPOINTER);
218 m_NextOption.Show(
true);
219 m_PreviousOption.ClearFlags(
WidgetFlags.IGNOREPOINTER);
220 m_PreviousOption.Show(
true);
230 #ifndef PLATFORM_CONSOLE
232 m_NextOption.Show(
false);
233 m_PreviousOption.SetFlags(
WidgetFlags.IGNOREPOINTER);
234 m_PreviousOption.Show(
false);
243 super.ColorNormalConsole(w);
248 if (m_SelectedOption)
250 m_SelectedOption.SetColor(
ARGB(255,255,255,255));
256 super.ColorDisabledConsole(w);
261 if (m_SelectedOption)
263 m_SelectedOption.SetColor(
ARGB(120,255,255,255));
void SetStringOption(string option, bool fire_event=true)
int m_SelectedOptionIndex
TextWidget m_SelectedOption
override bool IsFocusable(Widget w)
bool IsEnabled()
Returns 'true' if current index == 1 (default 'enabled' value). Take care, as different selectors may...
override void ColorNormalConsole(Widget w)
bool IsSelectorEnabled()
Returns false for the selector in 'disabled' states.
ref array< string > m_Options
override void ColorDisabledConsole(Widget w)
override bool OnMouseEnter(Widget w, int x, int y)
void OptionSelector(Widget parent, int current_index, ScriptedWidgetEventHandler parent_c, bool disabled)
void ShowNavigationButtons(bool show)
override bool OnClick(Widget w, int x, int y, int button)
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
override bool OnMouseButtonUp(Widget w, int x, int y, int button)
array< string > GetOptions()
override void SetNextOption()
override void SetPrevOption()
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
int ARGB(int a, int r, int g, int b)