Dayz Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Loading...
Searching...
No Matches
closableheader.c
Go to the documentation of this file.
2{
3 protected float m_SquareSize;
4 protected int m_DefaultSort;
5
6 protected Widget m_MovePanel;
9 protected ButtonWidget m_MoveUp;
10 protected ButtonWidget m_MoveDown;
11
12 protected bool m_IsInLocalEquipment;
13
14 void ClosableHeader( LayoutHolder parent, string function_name )
15 {
16 m_MovePanel = GetMainWidget().FindAnyWidget( "MovePanel" );
17 m_PanelWidget = GetMainWidget().FindAnyWidget( "PanelWidget" );
18 m_DragRender = GetMainWidget().FindAnyWidget( "Drag_Render" );
19 m_MoveUp = ButtonWidget.Cast( GetMainWidget().FindAnyWidget( "MoveUp" ) );
20 m_MoveDown = ButtonWidget.Cast( GetMainWidget().FindAnyWidget( "MoveDown" ) );
21
26
27 WidgetEventHandler.GetInstance().RegisterOnDrag( GetMainWidget() , this, "OnDragHeader" );
28 WidgetEventHandler.GetInstance().RegisterOnDrop( GetMainWidget() , this, "OnDropHeader" );
29
30 WidgetEventHandler.GetInstance().RegisterOnMouseEnter( GetMainWidget(), this, "MouseEnter" );
31 WidgetEventHandler.GetInstance().RegisterOnMouseLeave( GetMainWidget(), this, "MouseLeave" );
32
33 float temp;
34 GetMainWidget().GetScreenSize( temp, m_SquareSize );
35
36 m_DefaultColor = m_PanelWidget.GetColor();
38
40 m_IsInLocalEquipment = GetParent().GetParent().GetParent().IsInherited( RightArea );
41 }
42
44 {
45 if( InventoryItem.Cast( m_Entity ) )
46 InventoryItem.Cast( m_Entity ).GetOnItemFlipped().Remove( UpdateFlip );
47 }
48
49 override void SetLayoutName()
50 {
51 m_LayoutName = WidgetLayoutName.ClosableHeader;
52 }
53
54 override void SetName( string name )
55 {
56 name.ToUpper();
57
58 m_HeaderText.SetText( name );
59 m_HeaderText.Update();
60
61 float x, y;
62 m_HeaderText.GetScreenSize( x, y );
63 m_PanelWidget.SetSize( 1, y + InventoryMenu.GetHeightMultiplied( 10 ) );
64 }
65
66 void OnDragHeader( Widget w, int x, int y )
67 {
69 if( parent && GetMainWidget() && m_Entity )
70 {
71 ItemPreviewWidget item_preview_drag = ItemPreviewWidget.Cast( m_DragRender );
72 item_preview_drag.SetFlags(WidgetFlags.EXACTPOS );
73 m_DefaultSort = GetRootWidget().GetSort();
74 item_preview_drag.GetParent().GetParent().GetParent().GetParent().GetParent().GetParent().GetParent().GetParent().AddChild( GetRootWidget() );
75 if( item_preview_drag && m_Entity )
76 {
77 item_preview_drag.SetItem( m_Entity );
78 item_preview_drag.SetView( m_Entity.GetViewIndex() );
79 }
80
82
83 parent.HideContent( true );
84
85 m_PanelWidget.Show( false );
86 if( item_preview_drag )
87 item_preview_drag.Show( true );
88
89 int ww, hh;
90 g_Game.GetInventoryItemSize( InventoryItem.Cast( m_Entity ), ww, hh );
91 if( item_preview_drag )
92 {
93 m_Entity.GetOnItemFlipped().Insert( UpdateFlip );
94 if( m_Entity.GetInventory().GetFlipCargo() )
95 {
96 item_preview_drag.SetSize( hh * m_SquareSize, ww * m_SquareSize );
97 }
98 else
99 {
100 item_preview_drag.SetSize( ww * m_SquareSize, hh * m_SquareSize );
101 }
102 }
103 }
104 }
105
106 void UpdateFlip( bool flipped )
107 {
108 ItemPreviewWidget item_preview_drag = ItemPreviewWidget.Cast( m_DragRender );
109 if( InventoryItem.Cast( m_Entity ) && item_preview_drag )
110 {
111 int ww, hh;
112 g_Game.GetInventoryItemSize( InventoryItem.Cast( m_Entity ), ww, hh );
113 if( flipped )
114 {
115 item_preview_drag.SetSize( hh * m_SquareSize, ww * m_SquareSize );
116 }
117 else
118 {
119 item_preview_drag.SetSize( ww * m_SquareSize, hh * m_SquareSize );
120 }
121 }
122 }
123
125 {
127 parent.GetMainWidget().AddChild( GetRootWidget() );
128 GetRootWidget().SetSort( 0 );
129 if( parent )
130 {
131 //
132 ItemPreviewWidget item_preview_drag = ItemPreviewWidget.Cast( m_DragRender );
133 if( item_preview_drag )
134 {
135 item_preview_drag.SetItem( null );//TODO: is this safe?
136 }
137 //
138
139 m_PanelWidget.Show( true );
140 m_DragRender.Show( false );
141
142 parent.ShowContent( true );
143
146 }
147 if( InventoryItem.Cast( m_Entity ) )
148 InventoryItem.Cast( m_Entity ).GetOnItemFlipped().Remove( UpdateFlip );
149 }
150
151 bool MouseEnter(Widget w, int x, int y)
152 {
154 {
155 #ifdef PLATFORM_CONSOLE
156 m_MovePanel.Show( g_Game.GetInput().IsEnabledMouseAndKeyboardEvenOnServer() );
157 #else
158 m_MovePanel.Show( true );
159 #endif
160 }
161 PrepareOwnedTooltip( m_Entity, x, y );
162 return true;
163 }
164
165 bool MouseLeave( Widget w, Widget enter_w, int x, int y )
166 {
167 if( enter_w != m_MoveUp && enter_w != m_MoveDown && enter_w != m_CollapseButton )
168 {
170 {
171 m_MovePanel.Show( false );
172 }
173 }
174 HideOwnedTooltip();
175 return true;
176 }
177
178 override void SetActive( bool active )
179 {
180 super.SetActive( active );
181 if( active )
182 {
183 m_PanelWidget.SetColor( ARGBF( 1, 1, 0, 0 ) );
184 }
185 else
186 {
187 m_PanelWidget.SetColor( m_DefaultColor );
188 }
189 }
190}
Entity m_Parent
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
ButtonWidget m_MoveDown
bool MouseLeave(Widget w, Widget enter_w, int x, int y)
bool MouseEnter(Widget w, int x, int y)
override void SetName(string name)
void OnDragHeader(Widget w, int x, int y)
override void SetActive(bool active)
void ClosableHeader(LayoutHolder parent, string function_name)
void OnDropHeader(Widget w)
void UpdateFlip(bool flipped)
ButtonWidget m_MoveUp
override void SetLayoutName()
Widget m_CollapseButton
Definition header.c:8
int m_DefaultColor
Definition header.c:3
void Header(LayoutHolder parent, string function_name)
Definition header.c:13
int m_DefaultFontSize
Definition header.c:4
EntityAI m_Entity
Definition header.c:6
TextWidget m_HeaderText
Definition header.c:11
void HideDropzones()
void SetIsDragging(bool is_dragging)
static ItemManager GetInstance()
proto native void SetView(int viewIndex)
0 - default boundingbox_min + boundingbox_max + invView 1 - boundingbox_min2 + boundingbox_max2 + inv...
proto native void SetItem(EntityAI object)
static WidgetEventHandler GetInstance()
void RegisterOnDrag(Widget w, Managed eventHandler, string functionName)
void RegisterOnDrop(Widget w, Managed eventHandler, string functionName)
void RegisterOnClick(Widget w, Managed eventHandler, string functionName)
void RegisterOnMouseEnter(Widget w, Managed eventHandler, string functionName)
void RegisterOnMouseLeave(Widget w, Managed eventHandler, string functionName)
const string ClosableHeader
DayZGame g_Game
Definition dayzgame.c:3942
proto native Widget GetParent()
Get parent of the Effect.
Definition effect.c:422
WidgetFlags
Definition enwidgets.c:58
proto native Widget FindAnyWidget(string pathname)
proto native Widget GetDragWidget()
Icon x
Icon y
void InventoryMenu()
int ARGBF(float fa, float fr, float fg, float fb)
Converts <0.0, 1.0> ARGB into color.
Definition proto.c:332