123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- class Header: LayoutHolder
- {
- protected int m_DefaultColor;
- protected int m_DefaultFontSize;
-
- protected EntityAI m_Entity;
-
- protected Widget m_CollapseButton;
- protected Widget m_UpArrowButton;
- protected Widget m_DownArrowButton;
- protected TextWidget m_HeaderText;
-
- void Header( LayoutHolder parent, string function_name )
- {
- m_CollapseButton = GetMainWidget().FindAnyWidget( "collapse_button" );
- m_UpArrowButton = GetMainWidget().FindAnyWidget( "opened" );
- m_DownArrowButton = GetMainWidget().FindAnyWidget( "closed" );
-
- #ifdef PLATFORM_CONSOLE
- m_CollapseButton.Show( false );
- #else
- WidgetEventHandler.GetInstance().RegisterOnMouseButtonDown( m_CollapseButton, m_Parent, function_name );
- WidgetEventHandler.GetInstance().RegisterOnDropReceived( m_CollapseButton, m_Parent, "OnDropReceivedFromHeader" );
- #endif
- WidgetEventHandler.GetInstance().RegisterOnDropReceived( GetMainWidget(), m_Parent, "OnDropReceivedFromHeader" );
- WidgetEventHandler.GetInstance().RegisterOnDraggingOver( GetMainWidget(), this, "DraggingOverHeader" );
-
- m_HeaderText = TextWidget.Cast( GetMainWidget().FindAnyWidget( "TextWidget0" ) );
-
- m_DefaultColor = GetRootWidget().GetColor();
- }
-
- void SetName( string name )
- {
- name.ToUpper();
- m_HeaderText.SetText( name );
- }
-
- void SetItemPreview( EntityAI entity_ai )
- {
- #ifndef PLATFORM_CONSOLE
- m_Entity = entity_ai;
- ItemPreviewWidget item_preview = ItemPreviewWidget.Cast( GetMainWidget().FindAnyWidget( "Render" ) );
- item_preview.SetItem(entity_ai);
- item_preview.SetView( entity_ai.GetViewIndex() );
- #endif
- }
-
- void DraggingOverHeader( Widget w, int x, int y, Widget receiver )
- {
- if ( w == null )
- return;
- Container parent_container = Container.Cast( m_Parent );
- parent_container.DraggingOverHeader( w, x, y, receiver );
- }
- void OnDropReceivedFromHeader( Widget w, int x, int y, Widget receiver )
- {
- Container parent_container = Container.Cast( m_Parent );
- parent_container.OnDropReceivedFromHeader( w, x, y, receiver );
- }
-
- override void SetActive( bool active )
- {
- super.SetActive( active );
-
- if ( active )
- GetMainWidget().SetColor( ARGBF( 1, 1, 0, 0 ) );
- else
- GetMainWidget().SetColor( m_DefaultColor );
- }
-
- void ShowCollapseButton(bool state)
- {
- m_CollapseButton.Show(state);
- }
- }
|