add initial examples, replacing the 'Demos/Demos3'. Will make it work cross-platform, OpenGL3/OpenGL2 and add more examples to it.
This commit is contained in:
87
examples/ThirdPartyLibs/Gwen/Controls/ComboBox.h
Normal file
87
examples/ThirdPartyLibs/Gwen/Controls/ComboBox.h
Normal file
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
GWEN
|
||||
Copyright (c) 2010 Facepunch Studios
|
||||
See license in Gwen.h
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifndef GWEN_CONTROLS_COMBOBOX_H
|
||||
#define GWEN_CONTROLS_COMBOBOX_H
|
||||
|
||||
#include "Gwen/Controls/Base.h"
|
||||
#include "Gwen/Controls/Button.h"
|
||||
#include "Gwen/Gwen.h"
|
||||
#include "Gwen/Skin.h"
|
||||
#include "Gwen/Controls/TextBox.h"
|
||||
#include "Gwen/Controls/Menu.h"
|
||||
|
||||
|
||||
namespace Gwen
|
||||
{
|
||||
namespace Controls
|
||||
{
|
||||
class GWEN_EXPORT ComboBoxButton : public Button
|
||||
{
|
||||
GWEN_CONTROL_INLINE( ComboBoxButton, Button ){}
|
||||
|
||||
virtual void Render( Skin::Base* skin )
|
||||
{
|
||||
skin->DrawComboBoxButton( this, m_bDepressed );
|
||||
}
|
||||
};
|
||||
|
||||
class GWEN_EXPORT ComboBox : public Button
|
||||
{
|
||||
public:
|
||||
|
||||
GWEN_CONTROL( ComboBox, Button );
|
||||
|
||||
virtual void Render( Skin::Base* skin );
|
||||
|
||||
virtual Gwen::Controls::Label* GetSelectedItem();
|
||||
|
||||
virtual void OnPress();
|
||||
void OpenButtonPressed( Controls::Base* /*pControl*/ );
|
||||
|
||||
virtual void OnItemSelected( Controls::Base* pControl );
|
||||
virtual void OpenList();
|
||||
virtual void CloseList();
|
||||
|
||||
virtual Controls::Base* GetControlAt( int x, int y )
|
||||
{
|
||||
if ( x < 0 || y < 0 || x >= Width() || y >= Height() )
|
||||
return NULL;
|
||||
|
||||
return this;
|
||||
}
|
||||
virtual bool IsMenuComponent()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual void ClearItems();
|
||||
|
||||
virtual MenuItem* AddItem( const UnicodeString& strLabel, const String& strName = "", Gwen::Event::Handler* pHandler = NULL, Gwen::Event::Handler::Function fn = NULL );
|
||||
virtual bool OnKeyUp( bool bDown );
|
||||
virtual bool OnKeyDown( bool bDown );
|
||||
|
||||
virtual void RenderFocus( Gwen::Skin::Base* skin );
|
||||
virtual void OnLostKeyboardFocus();
|
||||
virtual void OnKeyboardFocus();
|
||||
|
||||
virtual bool IsMenuOpen();
|
||||
|
||||
Gwen::Event::Caller onSelection;
|
||||
|
||||
protected:
|
||||
|
||||
Menu* m_Menu;
|
||||
MenuItem* m_SelectedItem;
|
||||
|
||||
Controls::Base* m_Button;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user