DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
PluginItemDiagnostic.c
Go to the documentation of this file.
1class PluginItemDiagnosticEventHandler extends ScriptedWidgetEventHandler
2{
4 override bool OnMouseEnter(Widget w, int x, int y)
5 {
6 if( ButtonWidget.Cast(w))
7 {
9 }
10 return true;
11
12 }
13
14 override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
15 {
16 if( ButtonWidget.Cast(w))
17 {
19 }
20
21 return true;
22 }
23
24 override bool OnClick( Widget w, int x, int y, int button )
25 {
26 return m_Owner.OnClick( w, x, y, button );
27 }
28
29 override bool OnMouseButtonDown(Widget w, int x, int y, int button)
30 {
31 return m_Owner.OnMouseButtonDown( w, x, y, button );
32 }
33 override bool OnMouseButtonUp(Widget w, int x, int y, int button)
34 {
35 return m_Owner.OnMouseButtonUp( w, x, y, button );
36 }
37}
38
39
40
41class PluginItemDiagnostic extends PluginDeveloper
42{
44
45
53 bool m_IsActive = false;
56 ref PluginItemDiagnosticEventHandler m_EventHandler;
59
62
63 TextListboxWidget m_DebugAgentListWidget;
67 TextListboxWidget m_DebugClientVarsWidget;
71
76
77 ButtonWidget m_CloseButton;
78
81
82
84 {
85
86 #ifndef NO_GUI
88 ShowWidgets(false);
89 #endif
90 }
91
92
93 override void OnInit()
94 {
97 {
98 vector pos = m_ConfigDebugProfile.GetItemDebugPos();
99 if (m_DebugRootWidget && pos != vector.Zero)
100 {
101 float wx = pos[0];
102 float wy = pos[1];
103 m_DebugRootWidget.SetPos(wx, wy);
104 }
105 }
106 }
107
109 {
111 if (m_ItemLine)
112 {
113 m_ItemLine.Destroy();
114 m_ItemLine = null;
115 }
116 }
117
118 bool OnMouseButtonDown(Widget w, int x, int y, int button)
119 {
120 SetDragging(true);
121 return true;
122 }
123
124 bool OnMouseButtonUp(Widget w, int x, int y, int button)
125 {
126 SetDragging(false);
127 return true;
128 }
129
130 void SetDragging(bool enable)
131 {
132 if(enable && !m_IsDragging)
134 else if (!enable && m_IsDragging)
136 m_IsDragging = enable;
137 }
138
140 {
141 int mx, my;
142 float wx, wy;
143 GetMousePos(mx,my);
144 m_DebugRootWidget.GetScreenPos(wx,wy);
145 m_DraggingOffset[0] = wx - mx;
146 m_DraggingOffset[1] = wy - my;
147 }
148
150 {
152 {
153 float wx, wy;
154 m_DebugRootWidget.GetScreenPos(wx,wy);
155 m_ConfigDebugProfile.SetItemDebugPos(Vector(wx,wy,0));
156 }
157 }
158
159
160
161 bool OnClick( Widget w, int x, int y, int button )
162 {
163 SetDragging(false);
164 int index;
165
166 if (w == m_DebugButtonWidget1)
167 {
168 index = 1;
169 }
170 else if (w == m_DebugButtonWidget2)
171 {
172 index = 2;
173 }
174 else if (w == m_DebugButtonWidget3)
175 {
176 index = 3;
177 }
178 else if (w == m_DebugButtonWidget4)
179 {
180 index = 4;
181 }
182 else if (w == m_CloseButton)
183 {
185 return true;
186 }
187
188 #ifdef DEVELOPER
189 EntityAI entity = EntityAI.Cast(_item);
190 if(entity)
191 entity.OnDebugButtonPressClient(index);
192 #endif
193
194 GetGame().RPCSingleParam(null, ERPCs.DEV_RPC_ITEM_DIAG_BUTTON, new Param1<int>(index),true, GetGame().GetPlayer().GetIdentity());
195 return true;
196 }
197
199 {
200 if(!myTimer1)
201 {
202 myTimer1 = new Timer();
203 myTimer1.Run(1, this, "Tick", NULL, true);
204 }
205
206 if(m_ObserversMap.Contains(player))
207 {
208 m_ObserversMap.Set(player,item);
209 }
210 else
211 {
212 m_ObserversMap.Insert(player,item);
213 }
214 #ifdef DEVELOPER
215 SetDebugDeveloper_item(item);
216 #endif
217 }
218
220 {
221 return m_ObserversMap.Get(player);
222 }
223
224
225 bool IsActive()
226 {
227 return m_IsActive;
228 }
229
230 void OnScriptMenuOpened(bool opened/*1 - opened , 0 - closed*/)
231 {
232 m_ScriptMenuOpened = opened;
233 }
234
235
236 void ShowWidgets(bool show)
237 {
238 m_IsActive = show;
239
241 m_DebugRootWidget.Show(show);
242 }
243
245 {
248 if (GetGame().GetUIManager())
249 {
250 if (GetGame().GetUIManager().IsDialogVisible())
251 {
253
254 }
255 }
256 }
257
259 {
260 if (m_IsActive)
261 {
262 PlayerBase player = PlayerBase.Cast(GetGame().GetPlayer());
263 GetGame().RPCSingleParam(player, ERPCs.RPC_ITEM_DIAG_CLOSE,null, true);
264 ShowWidgets(false);
265 ClearWidgets();
266
268 //m_IsActive = false;
269 SetDragging(false);
270 }
271 else
272 {
273 ShowWidgets(true);
274 //m_IsActive = true;
275 }
276
277 }
278
280 {
281 m_DebugAgentListWidget.ClearItems();
282 m_DebugOutputServer.SetText("");
283 m_DebugOutputClient.SetText("");
286 m_ClassNameWidget.SetText("");
287 }
288
289 void Tick()
290 {
291 for(int i = 0; i < m_ObserversMap.Count();i++)
292 {
293 Object item = m_ObserversMap.GetElement(i);
294 PlayerBase player = m_ObserversMap.GetKey(i);
295
296 if (item && player)
297 {
299 SendRPC(item, player);
300 }
301 else
302 {
303 Debug.LogError("PluginItemDiagnostic: dead debug record, removing record");
304 m_ObserversMap.RemoveElement(i);
305 }
306 }
307
308 }
309
311 {
312 m_Properties.Clear();
313 }
314
315
317 {
320
321 }
322
323 void SendRPC(Object item, PlayerBase player)
324 {
325 Param1<Object> p1 = new Param1<Object>(item);
326 m_Properties.InsertAt(p1,0);
327 GetGame().RPC(player,ERPCs.RPC_ITEM_DIAG,m_Properties,true,player.GetIdentity());
328
329 if (!GetGame().IsMultiplayer())
330 {
331 m_Entity = item;
332 }
333
334 }
335
336 void StopWatchRequest(PlayerBase player)//called from player after an RPC call
337 {
338 if( m_ObserversMap.Contains(player) )
339 {
340 m_ObserversMap.Remove(player);
341 }
342 }
343
345 {
346
347 if (!GetGame().IsMultiplayer())
348 {
349 entity = m_Entity;
350 }
351 else
352 {
353 m_Entity = entity;
354 }
355
356 ItemBase item = ItemBase.Cast(entity);
357
358
359
360 #ifdef DEVELOPER
361 SetDebugDeveloper_item(entity);
362 #endif
363 if( !IsActive() )
364 {
365 ShowWidgets(true);
366 }
367
369 string debug_output_server = CachedObjectsParams.PARAM1_STRING.param1;
370 array<ref Param> vars_client;
371 array<ref Param> vars_server;
372 if (item)
373 {
374 ctx.Read(CachedObjectsParams.PARAM1_INT);//hardcoded to index 1
375 int agents_count = CachedObjectsParams.PARAM1_INT.param1;
376
377 ctx.Read(CachedObjectsParams.PARAM1_INT);//hardcoded to index 2
378 int individual_items_count = CachedObjectsParams.PARAM1_INT.param1;
379
380 FillAgentArray(ctx, agents_count);
381
382 vars_server = new array<ref Param>;
383 FillServerFinalVars(individual_items_count, ctx, vars_server);
384
385 vars_client = new array<ref Param>;
386 GetLocalProperties(item, vars_client, true);
387 }
388 if (EntityAI.Cast(entity))
389 {
390 DisplayAll(EntityAI.Cast(entity), vars_server, vars_client, debug_output_server );
391 }
392 if (GetDayZGame().IsInventoryOpen() || GetGame().GetUIManager().FindMenu(MENU_SCRIPTCONSOLE))
393 m_DebugRootWidget.SetSort(-1);
394 else
395 m_DebugRootWidget.SetSort(10);
396 m_DebugRootWidget.Show(true);
397
398
399 }
400
402 {
403 for(int i = 0; i < count; i++)
404 {
406
407 ctx.Read(p2);
408 /*
409 string name = CachedObjectsParams.PARAM2_STRING_FLOAT.param1;
410 float value = CachedObjectsParams.PARAM2_STRING_FLOAT.param2;
411 PrintString(name+","+value.ToString());
412 */
413 params.Insert(p2);
414 }
415 //PrintString("----------------------------------------------------");
416 }
417
419 {
420 m_EventHandler = new PluginItemDiagnosticEventHandler;
421 m_EventHandler.m_Owner = this;
422
424 m_DebugRootWidget = GetGame().GetWorkspace().CreateWidgets("gui/layouts/debug/debug_item.layout");
425
427
428 m_FrameWidget = m_DebugRootWidget.FindAnyWidget("FrameWidget0");
429 m_DebugAgentListWidget = TextListboxWidget.Cast(m_DebugRootWidget.FindAnyWidget("w_Agents"));
430 m_DebugOutputServer = TextWidget.Cast(m_DebugRootWidget.FindAnyWidget("DebugOutputServer"));
431 m_DebugOutputClient = TextWidget.Cast(m_DebugRootWidget.FindAnyWidget("DebugOutputClient"));
432 m_DebugFloatsProperListWidget = TextListboxWidget.Cast(m_DebugRootWidget.FindAnyWidget("w_FloatsProper"));
433 m_ItemPreviewWidget = ItemPreviewWidget.Cast(m_DebugRootWidget.FindAnyWidget("w_ItemPreview"));
434 m_ClassNameWidget = TextWidget.Cast(m_DebugRootWidget.FindAnyWidget("w_ClassName"));
435 m_DistanceWidget = TextWidget.Cast(m_DebugRootWidget.FindAnyWidget("w_Distance"));
436
437 m_DebugButtonWidget1 = ButtonWidget.Cast(m_DebugRootWidget.FindAnyWidget("DebugButton1"));
438 m_DebugButtonWidget2 = ButtonWidget.Cast(m_DebugRootWidget.FindAnyWidget("DebugButton2"));
439 m_DebugButtonWidget3 = ButtonWidget.Cast(m_DebugRootWidget.FindAnyWidget("DebugButton3"));
440 m_DebugButtonWidget4 = ButtonWidget.Cast(m_DebugRootWidget.FindAnyWidget("DebugButton4"));
441
442 m_CloseButton = ButtonWidget.Cast(m_DebugRootWidget.FindAnyWidget("CloseButton"));
443 }
444
445 override void OnUpdate(float delta_time)
446 {
447 super.OnUpdate(delta_time);
448
449 if (!m_Entity || !m_IsActive)
450 {
451
452 if (m_ItemLine)
453 {
454 m_ItemLine.Destroy();
455 m_ItemLine = null;
456 }
457 return;
458 }
459
461
462
463 if (m_IsDragging)
464 {
465 int x,y;
466 GetMousePos(x,y);
468 }
469 vector pts[2];
470 pts[0] = GetGame().GetPlayer().GetPosition();
471 pts[1] = m_Entity.GetPosition();
472 if (m_ItemLine)
473 {
474 m_ItemLine.Destroy();
475 m_ItemLine = null;
476
477 }
478 m_ItemLine = Shape.CreateLines(COLOR_BLUE, ShapeFlags.TRANSP|ShapeFlags.NOOUTLINE|ShapeFlags.NOZBUFFER, pts, 2);
479 m_DistanceWidget.SetText(vector.Distance(pts[0], pts[1]).ToString()+"m.");
480 }
481
482 void DisplayAll(EntityAI item, array<ref Param> vars_server, array<ref Param> vars_client, string debug_text_server)
483 {
484 m_ClassNameWidget.SetText( item.GetType() );
487 //UpdateFloatWidget();
488 if (vars_server && vars_client)
489 UpdateNumericalVarsWidget(vars_server, vars_client);
490 m_DebugOutputServer.SetText(debug_text_server);
491 m_DebugOutputClient.SetText(item.GetDebugText());
492
493 string button1, button2, button3, button4;
494 item.GetDebugButtonNames(button1, button2, button3, button4);
495 m_DebugButtonWidget1.SetText(button1);
496 m_DebugButtonWidget2.SetText(button2);
497 m_DebugButtonWidget3.SetText(button3);
498 m_DebugButtonWidget4.SetText(button4);
499
500
501
502 }
503
504 void FillAgentArray(ParamsReadContext ctx, int agents_count)
505 {
506 m_Agents.Clear();
507 for(int i = 0; i < agents_count; i++)
508 {
510 {
511 string agent = CachedObjectsParams.PARAM1_STRING.param1;
512 m_Agents.Insert(agent);
513 }
514 }
515 }
516
517
519 {
520 m_DebugAgentListWidget.ClearItems();
521 for(int i = 0; i < m_Agents.Count(); i++)
522 {
523 string agent = m_Agents.Get(i);
524 m_DebugAgentListWidget.AddItem(agent,NULL,0);
525 }
526 }
527
528
530 {
532 for(int i = 0; i < vars_server.Count(); i++)
533 {
534 Param param_server = vars_server.Get(i);
535 Param2<string,float> p2_server = Param2<string,float>.Cast(param_server);
536
537 Param param_client = vars_client.Get(i);
538 Param2<string,float> p2_client = Param2<string,float>.Cast(param_client);
539
540 string name = p2_server.param1;
541 m_DebugFloatsProperListWidget.AddItem(name,NULL,0);
542 m_DebugFloatsProperListWidget.SetItem(i,p2_server.param2.ToString(),NULL,1);
543 m_DebugFloatsProperListWidget.SetItem(i,p2_client.param2.ToString(),NULL,2);
544 }
545 }
546
547
548 void PrintOut()
549 {
550 Debug.LogArrayString(m_Agents,"ItemDebug");
551 Debug.Log("----------------------","ItemDebug");
552 }
553
554 //-------------------------
555 // QUERY FOR DEBUG PROPERTIES
556 //-------------------------
557 void GetLocalProperties(EntityAI entity, array<ref Param> properties, bool client = false)
558 {
559 if(!entity)
560 return;
561 ItemBase item = ItemBase.Cast(entity);
562
563 if(!client)
564 {
565 // -------- DEBUG OUTPUT ------
566 Param1<string> debug_output = new Param1<string>(entity.GetDebugText());
567 properties.Insert(debug_output);
568 if(!item)
569 return;
570 // -------- AGENTS ------------
571 int num_of_agents = FillWithAgents(item, properties);
572 Param1<int> agents_count = new Param1<int>(num_of_agents);
573 properties.InsertAt(agents_count,1);// hard coded index 1 !!
574 }
575 if(!item)
576 return;
577 // ------ INDIVIDUAL VARS------
578 int number_of_items = 0;
579 Param2<string, float> quantity = new Param2<string, float>("quantity", item.GetQuantity() );
580 properties.Insert(quantity);
581 number_of_items++;
582 //-----------------------------
583 Param2<string, float> liquid_type = new Param2<string, float>("liquid_type", item.GetLiquidType() );
584 properties.Insert(liquid_type);
585 number_of_items++;
586 //-----------------------------
587 Param2<string, float> wetness = new Param2<string, float>("wetness", item.GetWet() );
588 properties.Insert(wetness);
589 number_of_items++;
590 //-----------------------------
591 Param2<string, float> temperature = new Param2<string, float>("temperature", item.GetTemperature() );
592 properties.Insert(temperature);
593 number_of_items++;
594 //-----------------------------
595 Param2<string, float> energy = new Param2<string, float>("energy", item.GetEnergy() );
596 properties.Insert(energy);
597 number_of_items++;
598 //-----------------------------
600 if(!client)
601 {
602 health = new Param2<string, float>("health", item.GetHealth("", "") );
603 }
604 else
605 {
606 health = new Param2<string, float>("NO SYNC",0 );
607 }
608 properties.Insert(health);
609 number_of_items++;
610 //-----------------------------
611 int r,g,b,a;
612 item.GetColor(r,g,b,a);
614 properties.Insert(p2r);
615 number_of_items++;
617 properties.Insert(p2g);
618 number_of_items++;
620 properties.Insert(p2b);
621 number_of_items++;
623 properties.Insert(p2a);
624 number_of_items++;
625 //-----------------------------
626 if(!client)
627 {
628 Param1<int> item_count = new Param1<int>(number_of_items);
629 properties.InsertAt(item_count,2);
630 }
631 }
632
634 {
635 if (!item)
636 {
637 return 0;
638 }
639 int agents = item.GetAgents();
640 if(agents == 0) return 0;
641 int num_of_agents = 0;
642 ref array<int> agents_aray = new array<int>;
643 PluginTransmissionAgents.BuildAgentArray(agents, agents_aray);
644 int agents_count = agents_aray.Count();
645
646 for(int i = 0; i < agents_count; i++)
647 {
648 //PluginTransmissionAgents mta = PluginTransmissionAgents.Cast(GetPlugin(PluginTransmissionAgents));
649 string agent_name = PluginTransmissionAgents.GetNameByID(agents_aray.Get(i));
650 Param1<string> param1 = new Param1<string>(agent_name);
651 properties.Insert(param1);
652 num_of_agents++;
653 }
654
655 return num_of_agents;
656 }
657}
658
659
void OnInit()
Definition AIBehaviour.c:49
int m_Agents
DayZGame GetDayZGame()
Definition DayZGame.c:3656
override bool OnClick(Widget w, int x, int y, int button)
buttons clicks
Definition DayZGame.c:146
void SendRPC()
ERPCs
Definition ERPCs.c:2
Icon x
Icon y
bool m_IsActive
PlayerBase GetPlayer()
bool IsActive()
enum ProcessDirectDamageFlags m_Owner
string name
void ShowWidgets(bool show)
void ToggleDebugWindowEvent()
void RegisterDebugItem(ItemBase item, PlayerBase player)
void ReleaseFocus()
void UpdateNumericalVarsWidget(array< ref Param > vars_server, array< ref Param > vars_client)
Widget m_DebugRootWidget
ref map< string, float > m_Floats
void PrintOut()
ref map< string, float > m_VarsNumbersFinalServer
void GeneratePropertiesObject(EntityAI item)
void GetLocalProperties(EntityAI entity, array< ref Param > properties, bool client=false)
TextWidget m_ClassNameWidget
void OnDraggingStart()
ref map< string, float > m_VarsFinalClient
ButtonWidget m_CloseButton
void ClearWidgets()
ButtonWidget m_DebugButtonWidget3
PluginConfigDebugProfile m_ConfigDebugProfile
TextListboxWidget m_DebugFloatsProperListWidget
TextListboxWidget m_DebugClientVarsWidget
void SetDragging(bool enable)
bool m_ScriptMenuOpened
void FillServerFinalVars(int count, ParamsReadContext ctx, array< ref Param > params)
class PluginItemDiagnosticEventHandler extends ScriptedWidgetEventHandler m_Entity
TextWidget m_DebugOutputClient
ButtonWidget m_DebugButtonWidget4
Shape m_ItemLine
ButtonWidget m_DebugButtonWidget1
ItemPreviewWidget m_ItemPreviewWidget
void InitializeWidgets()
void PluginItemDiagnostic()
int FillWithAgents(ItemBase item, array< ref Param > properties)
TextListboxWidget m_DebugAgentListWidget
void UpdateAgentWidget()
void OnScriptMenuOpened(bool opened)
ref PluginItemDiagnosticEventHandler m_EventHandler
bool m_IsDragging
void FillAgentArray(ParamsReadContext ctx, int agents_count)
ref map< PlayerBase, Object > m_ObserversMap
Object GetWatchedItem(PlayerBase player)
void StopWatchRequest(PlayerBase player)
string m_NoteClient
TextWidget m_DebugOutputServer
void ClearProperties()
ButtonWidget m_DebugButtonWidget2
void DisplayAll(EntityAI item, array< ref Param > vars_server, array< ref Param > vars_client, string debug_text_server)
void OnDraggingEnd()
Widget m_FrameWidget
vector m_DraggingOffset
void ~PluginItemDiagnostic()
ref array< ref Param > m_Properties
ref Timer myTimer1
bool OnMouseButtonDown(Widget w, int x, int y, int button)
PluginBase GetPlugin(typename plugin_type)
ref TextWidget m_DistanceWidget[MAX_SIMULTANIOUS_PLAYERS]
override bool OnMouseButtonUp(Widget w, int x, int y, int button)
Definition RadialMenu.c:668
void Tick()
void OnRPC(float stamina, float stamina_cap, bool cooldown)
deprecated use, StaminaHandler uses SyncJunctures now
proto native Mission GetMission()
proto native void RPC(Object target, int rpcType, notnull array< ref Param > params, bool guaranteed, PlayerIdentity recipient=null)
Initiate remote procedure call. When called on client, RPC is evaluated on server; When called on ser...
proto native Input GetInput()
proto native DayZPlayer GetPlayer()
override ScriptCallQueue GetCallQueue(int call_category)
Definition DayZGame.c:1153
void RPCSingleParam(Object target, int rpc_type, Param param, bool guaranteed, PlayerIdentity recipient=null)
see CGame.RPC
Definition Game.c:882
proto native UIManager GetUIManager()
proto native WorkspaceWidget GetWorkspace()
static ref Param1< string > PARAM1_STRING
static ref Param1< int > PARAM1_INT
Definition Debug.c:14
static void LogArrayString(array< string > arr=NULL, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Definition Debug.c:251
static void LogError(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message as error message.
Definition Debug.c:235
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
Definition Debug.c:133
proto native void ResetGameFocus(int input_device=-1)
Reset game focus number (set to 0)
proto native void SetItem(EntityAI object)
void AddActiveInputExcludes(array< string > excludes)
void RemoveActiveInputExcludes(array< string > excludes, bool bForceSupress=false)
deprecated
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Definition param.c:12
proto void CallLater(func fn, int delay=0, bool repeat=false, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
map: item x vector(index, width, height)
Definition EnWidgets.c:538
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
override bool OnMouseEnter(Widget w, int x, int y)
override bool OnMouseButtonDown(Widget w, int x, int y, int button)
override bool OnClick(Widget w, int x, int y, int button)
override bool OnMouseButtonUp(Widget w, int x, int y, int button)
Serialization general interface. Serializer API works with:
Definition Serializer.c:56
proto bool Read(void value_in)
proto native void CloseDialog()
void ShowUICursor(bool visible)
Definition UIManager.c:246
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto string ToString()
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
static const vector Zero
Definition EnConvert.c:110
proto native CGame GetGame()
const int COLOR_BLUE
Definition constants.c:66
ShapeFlags
Definition EnDebug.c:126
class DiagMenu Shape
don't call destructor directly. Use Destroy() instead
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
const int MENU_SCRIPTCONSOLE
Definition constants.c:163
proto void GetMousePos(out int x, out int y)
const int CALL_CATEGORY_GUI
Definition tools.c:9
proto native void OnUpdate()
Definition tools.c:338
proto native external Widget CreateWidgets(string layout, Widget parentWidget=NULL, bool immedUpdate=true)
Create widgets from *.layout file.