/* GWEN Copyright (c) 2010 Facepunch Studios See license in Gwen.h */ #include "UnitTest.h" #include "Gwen/Platform.h" #include "Gwen/Controls/TreeControl.h" using namespace Gwen; #define ADD_UNIT_TEST(name) \ GUnit* RegisterUnitTest_##name(Gwen::Controls::TabControl* tab); \ RegisterUnitTest_##name(m_TabControl)->SetUnitTest(this); GWEN_CONTROL_CONSTRUCTOR(UnitTest) { SetTitle(L"GWEN Unit Test"); SetSize(600, 450); m_TabControl = new Controls::TabControl(this); m_TabControl->Dock(Pos::Fill); m_TabControl->SetMargin(Margin(2, 2, 2, 2)); m_TextOutput = new Controls::ListBox(this); m_TextOutput->Dock(Pos::Bottom); m_TextOutput->SetHeight(100); ADD_UNIT_TEST(ImagePanel); //ADD_UNIT_TEST( MenuStrip ); Gwen::UnicodeString str1(L"testje"); Gwen::Controls::TabButton* tab = m_TabControl->AddPage(str1); Gwen::Controls::TreeControl* ctrl = 0; { ctrl = new Gwen::Controls::TreeControl(tab->GetPage()); ctrl->SetKeyboardInputEnabled(true); ctrl->AddNode(L"Node One"); { Gwen::Controls::TreeNode* pNode = ctrl->AddNode(L"Node Two"); pNode->AddNode(L"Node Two Inside"); pNode->AddNode(L"Eyes"); } { Gwen::Controls::TreeNode* pNode = ctrl->AddNode(L"Node Two"); pNode->AddNode(L"Node Two Inside"); pNode->AddNode(L"Eyes"); } { Gwen::Controls::TreeNode* pNode = ctrl->AddNode(L"Node Two"); pNode->AddNode(L"Node Two Inside"); pNode->AddNode(L"Eyes"); } { Gwen::Controls::TreeNode* pNode = ctrl->AddNode(L"Node Two"); pNode->AddNode(L"Node Two Inside"); pNode->AddNode(L"Eyes"); } { Gwen::Controls::TreeNode* pNode = ctrl->AddNode(L"Node Two"); pNode->AddNode(L"Node Two Inside"); pNode->AddNode(L"Eyes"); } { Gwen::Controls::TreeNode* pNode = ctrl->AddNode(L"Node Two"); pNode->AddNode(L"Node Two Inside"); pNode->AddNode(L"Eyes"); pNode->SetSelected(true); pNode->AddNode(L"Brown")->AddNode(L"Node Two Inside")->AddNode(L"Eyes")->AddNode(L"Brown"); } ctrl->AddNode(L"Node Three"); ctrl->Focus(); ctrl->SetKeyboardInputEnabled(true); ctrl->SetBounds(30, 30, 200, 30 + 16 * 10); //ctrl->ExpandAll(); ctrl->ForceUpdateScrollBars(); ctrl->OnKeyDown(true); } //GUnit* u = new TreeControl2(m_TabControl);..Gwen::Controls::TreeControl2( m_TabControl ); //GUnit* RegisterUnitTest_TreeControl2( Gwen::Controls::TabControl* tab );\ //RegisterUnitTest_TreeControl2( m_TabControl )->SetUnitTest( this ); //#define DEFINE_UNIT_TEST( name, displayname ) //GUnit* RegisterUnitTest_TreeControl2( Gwen::Controls::TabControl* tab ) //{ // GUnit* u = new TreeControl2( tab ); // tab->AddPage( displayname, u ); // return u; //} //ADD_UNIT_TEST( TreeControl2 ); ADD_UNIT_TEST(Properties2); ADD_UNIT_TEST(TabControl2); ADD_UNIT_TEST(ScrollControl); ADD_UNIT_TEST(MenuStrip); ADD_UNIT_TEST(Numeric); ADD_UNIT_TEST(ComboBox); ADD_UNIT_TEST(TextBox); ADD_UNIT_TEST(ListBox); ADD_UNIT_TEST(Slider); ADD_UNIT_TEST(ProgressBar); ADD_UNIT_TEST(RadioButton2); ADD_UNIT_TEST(Label); ADD_UNIT_TEST(Checkbox); ADD_UNIT_TEST(Button); ADD_UNIT_TEST(CrossSplitter); ADD_UNIT_TEST(PanelListPanel); ADD_UNIT_TEST(GroupBox2); ADD_UNIT_TEST(StatusBar); ctrl->Focus(); PrintText(L"Unit Test Started.\n"); m_fLastSecond = Gwen::Platform::GetTimeInSeconds(); m_iFrames = 0; } void UnitTest::PrintText(const Gwen::UnicodeString& str) { m_TextOutput->AddItem(str); m_TextOutput->Scroller()->ScrollToBottom(); } void UnitTest::Render(Gwen::Skin::Base* skin) { m_iFrames++; if (m_fLastSecond < Gwen::Platform::GetTimeInSeconds()) { SetTitle(Gwen::Utility::Format(L"GWEN Unit Test - %i fps", m_iFrames)); m_fLastSecond = Gwen::Platform::GetTimeInSeconds() + 1.0f; m_iFrames = 0; } BaseClass::Render(skin); } void GUnit::UnitPrint(const Gwen::UnicodeString& str) { m_pUnitTest->PrintText(str); } void GUnit::UnitPrint(const Gwen::String& str) { UnitPrint(Utility::StringToUnicode(str)); }