Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_WidgetListEntrySelectionList.c
Go to the documentation of this file.
1
4
[
BaseContainerProps
(configRoot:
true
),
SCR_WidgetListEntryCustomTitle
()]
5
class
SCR_WidgetListEntrySelectionList
:
SCR_WidgetListEntry
6
{
7
[
Attribute
()]
8
protected
ref
SCR_WidgetListEntry
m_Element
;
9
10
[
Attribute
()]
11
protected
ResourceName
m_sAddingElementPath
;
12
13
[
Attribute
()]
14
protected
string
m_ElementType
;
15
16
[
Attribute
()]
17
protected
ref array<ref SCR_WidgetListEntry>
m_aEntries
;
18
19
protected
ref SCR_ModularButtonComponent
m_AddingButton
;
20
21
protected
ref
ScriptInvokerVoid
m_OnClickAddingButton
;
22
protected
ref
ScriptInvokerWidget
m_OnAddElement
;
23
24
//-------------------------------------------------------------------------------------------
26
override
void
CreateWidget
(
Widget
parent)
27
{
28
// Create widget
29
m_EntryRoot
=
GetGame
().GetWorkspace().CreateWidgets(
m_sEntryLayout
, parent);
30
31
// Show
32
m_EntryRoot
.SetVisible(
m_bShow
);
33
if
(!
m_bShow
)
34
return
;
35
36
SetupHandlers
();
37
SetInteractive
(
m_bInteractive
);
38
}
39
40
//-------------------------------------------------------------------------------------------
41
override
protected
void
SetupHandlers
()
42
{
43
if
(!
m_sAddingElementPath
.IsEmpty())
44
{
45
Widget
addingButton =
GetGame
().GetWorkspace().CreateWidgets(
m_sAddingElementPath
,
m_EntryRoot
);
46
m_AddingButton
= SCR_ModularButtonComponent.Cast(addingButton.FindHandler(SCR_ModularButtonComponent));
47
48
if
(
m_AddingButton
)
49
m_AddingButton
.m_OnClicked.Insert(
OnClickAddingButton
);
50
}
51
}
52
53
//-------------------------------------------------------------------------------------------
55
protected
void
FindElements
(array<string> elementNames)
56
{
57
SCR_ConfigListEntries
presets =
GetEntriesDefinitions
(
ENTRY_DEFINITIONS
);
58
59
ScriptedWidgetEventHandler
component;
60
SCR_ConfigListEntry configEntry;
61
SCR_WidgetListEntry
entry;
62
63
foreach
(
string
name : elementNames)
64
{
65
Widget
w =
m_EntryRoot
.FindAnyWidget(name);
66
if
(!w)
67
continue
;
68
69
typename
type
=
m_ElementType
.ToType();
70
71
component = w.FindHandler(
type
);
72
if
(!component)
73
continue
;
74
75
configEntry = presets.
FindEntryByComponentType
(
type
);
76
if
(!configEntry)
77
continue
;
78
79
entry = configEntry.GetWidgetListEntry();
80
if
(!entry)
81
continue
;
82
83
m_aEntries
.Insert(entry);
84
}
85
}
86
87
//-------------------------------------------------------------------------------------------
88
void
AddElement
(notnull
SCR_WidgetListEntry
entry)
89
{
90
array<string> values =
GetElementValues
();
91
92
if
(
m_OnAddElement
)
93
m_OnAddElement
.Invoke(entry.m_EntryRoot);
94
}
95
96
//-------------------------------------------------------------------------------------------
97
void
RemoveElementByName
(
string
propertyName)
98
{
99
SCR_WidgetListEntry
entryToRemove;
100
101
foreach
(
SCR_WidgetListEntry
entry :
m_aEntries
)
102
{
103
if
(entry.GetPropertyName() != propertyName)
104
continue
;
105
106
entryToRemove = entry;
107
break
;
108
}
109
110
if
(!entryToRemove)
111
return
;
112
113
Widget
entryWidget = entryToRemove.
GetEntryRoot
();
114
Widget
widgetParent = entryWidget.GetParent();
115
widgetParent.RemoveChild(entryWidget);
116
117
m_aEntries
.RemoveItem(entryToRemove);
118
}
119
120
//-------------------------------------------------------------------------------------------
121
void
RemoveElementByWidget
(
Widget
widget)
122
{
123
SCR_WidgetListEntry
entryToRemove;
124
125
foreach
(
SCR_WidgetListEntry
entry :
m_aEntries
)
126
{
127
if
(entry.GetEntryRoot() != widget)
128
continue
;
129
130
entryToRemove = entry;
131
break
;
132
}
133
134
if
(!entryToRemove)
135
return
;
136
137
Widget
entryWidget = entryToRemove.
GetEntryRoot
();
138
Widget
widgetParent = entryWidget.GetParent();
139
widgetParent.RemoveChild(entryWidget);
140
141
m_aEntries
.RemoveItem(entryToRemove);
142
}
143
144
//-------------------------------------------------------------------------------------------
145
void
GetEntries
(out array<SCR_WidgetListEntry> entries)
146
{
147
entries = {};
148
foreach
(
SCR_WidgetListEntry
entry :
m_aEntries
)
149
{
150
entries.Insert(entry);
151
}
152
}
153
154
//-------------------------------------------------------------------------------------------
155
array<string>
GetElementValues
()
156
{
157
array<string> values = {};
158
159
foreach
(
SCR_WidgetListEntry
entry :
m_aEntries
)
160
{
161
string
val = entry.ValueAsString();
162
values.Insert(val);
163
}
164
165
return
values;
166
}
167
168
//-------------------------------------------------------------------------------------------
169
protected
void
OnClickAddingButton
()
170
{
171
AddElement
(
m_Element
);
172
173
if
(
m_OnClickAddingButton
)
174
m_OnClickAddingButton
.Invoke();
175
}
176
177
//-------------------------------------------------------------------------------------------
178
ScriptInvokerVoid
GetOnAddingButtonElement
()
179
{
180
if
(!
m_OnClickAddingButton
)
181
m_OnClickAddingButton
=
new
ScriptInvokerVoid
();
182
183
return
m_OnClickAddingButton
;
184
}
185
186
//-------------------------------------------------------------------------------------------
187
ScriptInvokerWidget
GetOnAddElement
()
188
{
189
if
(!
m_OnAddElement
)
190
m_OnAddElement
=
new
ScriptInvokerWidget
();
191
192
return
m_OnAddElement
;
193
}
194
195
//-------------------------------------------------------------------------------------------
196
SCR_WidgetListEntry
GetElement
()
197
{
198
return
m_Element
;
199
}
200
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
type
EDamageType type
Definition
SCR_DestructibleTreeV2.c:32
ScriptInvokerVoid
ScriptInvokerBase< ScriptInvokerVoidMethod > ScriptInvokerVoid
Definition
SCR_ScriptInvokerHelper.c:9
ScriptInvokerWidget
ScriptInvokerBase< ScriptInvokerWidgetMethod > ScriptInvokerWidget
Definition
SCR_ScriptInvokerHelper.c:106
ResourceName
Definition
ResourceName.c:13
SCR_ConfigListEntries
Definition
SCR_ConfigListEntries.c:3
SCR_ConfigListEntries::FindEntryByComponentType
SCR_ConfigListEntry FindEntryByComponentType(typename componentType)
Definition
SCR_ConfigListEntries.c:32
SCR_WidgetListEntryCustomTitle
Definition
SCR_WidgetListEntry.c:12
SCR_WidgetListEntry
Configurable class for widget.
Definition
SCR_WidgetListEntry.c:116
SCR_WidgetListEntry::GetEntryRoot
Widget GetEntryRoot()
Definition
SCR_WidgetListEntry.c:276
SCR_WidgetListEntry::GetEntriesDefinitions
static SCR_ConfigListEntries GetEntriesDefinitions(ResourceName presetsResourceName)
Definition
SCR_WidgetListEntry.c:301
SCR_WidgetListEntry::m_sEntryLayout
ResourceName m_sEntryLayout
Definition
SCR_WidgetListEntry.c:122
SCR_WidgetListEntry::SetInteractive
void SetInteractive(bool interactive)
Can value be interacted - set handler enabled.
Definition
SCR_WidgetListEntry.c:209
SCR_WidgetListEntry::m_EntryRoot
Widget m_EntryRoot
Definition
SCR_WidgetListEntry.c:149
SCR_WidgetListEntry::m_bInteractive
bool m_bInteractive
Definition
SCR_WidgetListEntry.c:143
SCR_WidgetListEntry::ENTRY_DEFINITIONS
const ResourceName ENTRY_DEFINITIONS
Definition
SCR_WidgetListEntry.c:117
SCR_WidgetListEntry::m_bShow
bool m_bShow
Definition
SCR_WidgetListEntry.c:125
SCR_WidgetListEntrySelectionList
Definition
SCR_WidgetListEntrySelectionList.c:6
SCR_WidgetListEntrySelectionList::GetElement
SCR_WidgetListEntry GetElement()
Definition
SCR_WidgetListEntrySelectionList.c:196
SCR_WidgetListEntrySelectionList::CreateWidget
override void CreateWidget(Widget parent)
Removed setting up of m_ChangeableComponent as it's not used for this case.
Definition
SCR_WidgetListEntrySelectionList.c:26
SCR_WidgetListEntrySelectionList::FindElements
void FindElements(array< string > elementNames)
Search for elements with given names.
Definition
SCR_WidgetListEntrySelectionList.c:55
SCR_WidgetListEntrySelectionList::SetupHandlers
void SetupHandlers()
Definition
SCR_WidgetListEntrySelectionList.c:41
SCR_WidgetListEntrySelectionList::RemoveElementByName
void RemoveElementByName(string propertyName)
Definition
SCR_WidgetListEntrySelectionList.c:97
SCR_WidgetListEntrySelectionList::GetOnAddElement
ScriptInvokerWidget GetOnAddElement()
Definition
SCR_WidgetListEntrySelectionList.c:187
SCR_WidgetListEntrySelectionList::AddElement
void AddElement(notnull SCR_WidgetListEntry entry)
Definition
SCR_WidgetListEntrySelectionList.c:88
SCR_WidgetListEntrySelectionList::m_sAddingElementPath
ResourceName m_sAddingElementPath
Definition
SCR_WidgetListEntrySelectionList.c:11
SCR_WidgetListEntrySelectionList::m_OnAddElement
ref ScriptInvokerWidget m_OnAddElement
Definition
SCR_WidgetListEntrySelectionList.c:22
SCR_WidgetListEntrySelectionList::GetElementValues
array< string > GetElementValues()
Definition
SCR_WidgetListEntrySelectionList.c:155
SCR_WidgetListEntrySelectionList::OnClickAddingButton
void OnClickAddingButton()
Definition
SCR_WidgetListEntrySelectionList.c:169
SCR_WidgetListEntrySelectionList::m_ElementType
string m_ElementType
Definition
SCR_WidgetListEntrySelectionList.c:14
SCR_WidgetListEntrySelectionList::GetEntries
void GetEntries(out array< SCR_WidgetListEntry > entries)
Definition
SCR_WidgetListEntrySelectionList.c:145
SCR_WidgetListEntrySelectionList::m_OnClickAddingButton
ref ScriptInvokerVoid m_OnClickAddingButton
Definition
SCR_WidgetListEntrySelectionList.c:21
SCR_WidgetListEntrySelectionList::m_AddingButton
ref SCR_ModularButtonComponent m_AddingButton
Definition
SCR_WidgetListEntrySelectionList.c:19
SCR_WidgetListEntrySelectionList::GetOnAddingButtonElement
ScriptInvokerVoid GetOnAddingButtonElement()
Definition
SCR_WidgetListEntrySelectionList.c:178
SCR_WidgetListEntrySelectionList::m_aEntries
ref array< ref SCR_WidgetListEntry > m_aEntries
Definition
SCR_WidgetListEntrySelectionList.c:17
SCR_WidgetListEntrySelectionList::RemoveElementByWidget
void RemoveElementByWidget(Widget widget)
Definition
SCR_WidgetListEntrySelectionList.c:121
SCR_WidgetListEntrySelectionList::m_Element
ref SCR_WidgetListEntry m_Element
Definition
SCR_WidgetListEntrySelectionList.c:8
ScriptedWidgetEventHandler
Definition
ScriptedWidgetEventHandler.c:19
Widget
Definition
Widget.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
UI
Menu
ConfigurableWidgetEntries
SCR_WidgetListEntrySelectionList.c
Generated by
1.17.0