bullet3/test/GwenOpenGLTest/UnitTest.cpp
r-a-sattarov 961d79703b E2K: strip UTF-8 BOM for MCST lcc compiler < 1.24
strip UTF-8 BOM for compatibility with MCST lcc compiler < 1.24
2020-10-28 21:51:18 +03:00

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));
}