Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
collapsiblecontainer.c
Go to the documentation of this file.
2{
4 protected bool m_Hidden;
5
6 void CollapsibleContainer( LayoutHolder parent, int sort = -1 )
7 {
8 m_MainWidget.Show( true );
9
10 if ( sort > -1 )
11 m_MainWidget.SetSort( sort + 2 );
12
13 m_MainWidget = m_MainWidget.FindAnyWidget( "header" );
14
15 m_Body = new array<ref LayoutHolder>;
16 m_CollapsibleHeader = new CollapsibleHeader( this, "CollapseButtonOnMouseButtonDown" );
17 }
18
19 override void SetLayoutName()
20 {
21 m_LayoutName = WidgetLayoutName.CollapsibleContainer;
22 }
23
25 {
26 return m_Entity;
27 }
28
29 override void OnDropReceivedFromHeader( Widget w, int x, int y, Widget receiver ) { }
30
31 override void Refresh()
32 {
33 super.Refresh();
34 }
35
36 override void OnShow()
37 {
38 super.OnShow();
39 m_Hidden = false;
40 for (int i = 0; i < m_Body.Count(); i++)
41 {
42 m_Body.Get( i ).OnShow();
43 Container c = Container.Cast(m_Body.Get(i));
44 if (c)
45 {
46 c.Open();
47 }
48 }
50 }
51
52 override void OnHide()
53 {
54 m_Hidden = true;
56 {
58 }
59 else
60 {
61 super.OnHide();
62 }
63
64 }
65
66 override void Insert( LayoutHolder container, int pos = -1, bool immedUpdate = true )
67 {
68 super.Insert( container, pos, immedUpdate );
69
70 //if ( immedUpdate )
71 //{
72 RecomputeOpenedContainers();
74 //}
75
77 }
78
79 override void Remove( LayoutHolder container )
80 {
81 super.Remove( container );
82 RecomputeOpenedContainers();
84 }
85
87 {
88 return false;
89 }
90
92 {
93 #ifndef PLATFORM_CONSOLE
94 if (m_Body.Count() < 2)
95 {
97 {
98 m_CollapsibleHeader.ShowCollapseButton(false);
99 }
100 }
101 else
102 {
104 {
105 m_CollapsibleHeader.ShowCollapseButton(true);
106 }
107 }
108 #endif
109 }
110
112 {
114 //m_Closed = m_Hidden;
115
116 if ( m_Hidden )
117 {
118 OnHide();
119 }
120 else
121 {
122 OnShow();
123 }
124 }
125
126 bool IsHidden()
127 {
128 return m_Hidden;
129 }
130
132 {
133 Toggle();
134 }
135
136 override void Toggle()
137 {
138 if (!m_Hidden)
139 {
140 for (int i = 1; i < m_Body.Count(); i++)
141 {
142 m_Body.Get( i ).OnHide();
143 Container c = Container.Cast(m_Body.Get(i));
144 if (c)
145 {
146 c.Close();
147 }
148 }
149 OnHide();
150 }
151 else
152 {
153 OnShow();
154 }
155 m_Closed = m_Hidden;
156
158
160 }
161
162 override bool OnChildRemove( Widget w, Widget child )
163 {
164 if( w == GetMainWidget() )
165 GetMainWidget().Update();
166 return true;
167 }
168
169 override bool OnChildAdd( Widget w, Widget child )
170 {
171 if( w == GetMainWidget() )
172 GetMainWidget().Update();
173 return true;
174 }
175
176 override Header GetHeader()
177 {
178 return m_CollapsibleHeader;
179 }
180
181 override void SetHeader(Header header)
182 {
184 }
185
187 {
189 {
190 m_CollapsibleHeader.SetArrowButtonOpened(open);
191 }
192 }
193}
EntityAI m_Entity
Definition actiondebug.c:11
void CollapsibleContainer(LayoutHolder parent, int sort=-1)
override void Remove(LayoutHolder container)
ref CollapsibleHeader m_CollapsibleHeader
void SetCollapsibleHeaderArrowState(bool open)
override bool OnChildAdd(Widget w, Widget child)
override void OnDropReceivedFromHeader(Widget w, int x, int y, Widget receiver)
override Header GetHeader()
override void SetHeader(Header header)
void CollapseButtonOnMouseButtonDown(Widget w)
override void Insert(LayoutHolder container, int pos=-1, bool immedUpdate=true)
override bool OnChildRemove(Widget w, Widget child)
override void SetLayoutName()
override void Close()
override void Open()
Definition header.c:2
bool GetDefaultHeaderOpenState(string type)
static ItemManager GetInstance()
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Icon x
Icon y