#include "UnitTest.h" #include "Gwen/Controls/TextBox.h" using namespace Gwen; class TextBox : public GUnit { public: GWEN_CONTROL_INLINE( TextBox, GUnit ) { { Gwen::Controls::TextBox* label = new Gwen::Controls::TextBox( this ); label->SetText( "" ); label->SetPos( 10, 10 ); label->onTextChanged.Add( this, &ThisClass::OnEdit ); label->onReturnPressed.Add( this, &ThisClass::OnSubmit ); } { Gwen::Controls::TextBox* label = new Gwen::Controls::TextBox( this ); label->SetText( "Normal Everyday Label" ); label->SetPos( 10, 10 + 25 ); } { Gwen::Controls::TextBox* label = new Gwen::Controls::TextBox( this ); label->SetText( "Select All Text On Focus" ); label->SetPos( 10, 10 + 25 * 2 ); label->SetSelectAllOnFocus( true ); } { Gwen::Controls::TextBox* label = new Gwen::Controls::TextBox( this ); label->SetText( L"Different Coloured Text, for some reason" ); label->SetTextColor( Gwen::Color( 255, 0, 255, 255 ) ); label->SetPos( 10, 10 + 25 * 3 ); } { Gwen::Controls::TextBoxNumeric* label = new Gwen::Controls::TextBoxNumeric( this ); label->SetText( L"2004" ); label->SetTextColor( Gwen::Color( 255, 0, 255, 255 ) ); label->SetPos( 10, 10 + 25 * 4 ); } { m_Font.facename = L"Impact"; m_Font.size = 50; Gwen::Controls::TextBox* label = new Gwen::Controls::TextBox( this ); label->SetText( L"Different Font" ); label->SetPos( 10, 10 + 25 * 5 ); label->SetFont( &m_Font ); label->SetSize( 200, 55 ); } } void OnEdit( Gwen::Controls::Base* pControl ) { Gwen::Controls::TextBox* textbox = (Gwen::Controls::TextBox*) (pControl); UnitPrint( Utility::Format( L"Textbox Edit: [%s]\n", textbox->GetText().c_str() ) ); } void OnSubmit( Gwen::Controls::Base* pControl ) { Gwen::Controls::TextBox* textbox = (Gwen::Controls::TextBox*) (pControl); UnitPrint( Utility::Format( L"Textbox Submit: [%s]\n", textbox->GetText().c_str() ) ); } Gwen::Font m_Font; }; DEFINE_UNIT_TEST( TextBox, L"TextBox" );