mirror of
https://github.com/bulletphysics/bullet3
synced 2024-12-05 01:50:05 +00:00
961d79703b
strip UTF-8 BOM for compatibility with MCST lcc compiler < 1.24
163 lines
3.9 KiB
C++
163 lines
3.9 KiB
C++
/*
|
|
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));
|
|
}
|