mirror of
https://github.com/bulletphysics/bullet3
synced 2024-12-14 22:00:05 +00:00
27227e5e4a
add example description for all examples (with word-wrap) add the VoronoiFractureDemo, note that the collision are disabled after breaking constraints. add optional GwenOpenGLTest, to make it easier to see Gwen user interface features.
180 lines
4.1 KiB
C++
180 lines
4.1 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 ) );
|
|
}
|
|
|