#include "ormanip_template_layout.h"
#define ORMANIPTEMPLATE__LAYOUT ORManip_Template_Layout
ORMANIPTEMPLATE__CLASSSTR,
bool ORManip_Template_Layout::FBCreate()
{
if( FBManipulatorLayout::FBCreate() )
{
mManipulator = ((ORManip_Template *)(FBManipulator *) Manipulator);
UICreate ();
UIConfigure ();
UIReset ();
return true;
}
return false;
}
void ORManip_Template_Layout::FBDestroy()
{
FBManipulatorLayout::FBDestroy();
}
void ORManip_Template_Layout::UICreate()
{
int lB = 10;
int lS = 4;
int lH = 18;
AddRegion( "ButtonTest", "ButtonTest",
AddRegion( "ButtonModelSpace", "ButtonModelSpace",
AddRegion( "ButtonDrawSquare", "ButtonDrawSquare",
AddRegion( "ButtonDefaultBehavior", "ButtonDefaultBehavior",
AddRegion( "ButtonAlwaysActive", "ButtonAlwaysActive",
SetControl("ButtonTest", mButtonTest );
SetControl("ButtonModelSpace", mButtonModelSpace );
SetControl("ButtonDrawSquare", mButtonDrawSquare );
SetControl("ButtonDefaultBehavior", mButtonDefaultBehavior );
SetControl("ButtonAlwaysActive", mButtonAlwaysActive );
}
void ORManip_Template_Layout::UIConfigure()
{
mButtonTest.Caption = "Create model";
mButtonModelSpace.Caption = "Model Space";
mButtonDrawSquare.Caption = "Draw Square";
mButtonDefaultBehavior.Caption = "Default Behavior";
mButtonAlwaysActive.Caption = "Always Active";
mButtonTest.OnClick.Add (
this, (
FBCallback) &ORManip_Template_Layout::EventButtonTestClick );
mButtonModelSpace.OnClick.Add (
this, (
FBCallback) &ORManip_Template_Layout::EventButtonModelSpaceClick );
mButtonDrawSquare.OnClick.Add (
this, (
FBCallback) &ORManip_Template_Layout::EventButtonDrawSquareClick );
mButtonDefaultBehavior.OnClick.Add (
this, (
FBCallback) &ORManip_Template_Layout::EventButtonDefaultBehaviorClick );
mButtonAlwaysActive.OnClick.Add (
this, (
FBCallback) &ORManip_Template_Layout::EventButtonAlwaysActiveClick );
}
void ORManip_Template_Layout::UIReset()
{
mButtonModelSpace.State = mManipulator->mRenderInModelSpace ? 1:0;
mButtonDrawSquare.State = mManipulator->mDrawSquare ? 1:0;
mButtonDefaultBehavior.State = mManipulator->DefaultBehavior ? 1:0;
mButtonAlwaysActive.State = mManipulator->AlwaysActive ? 1:0;
}
void ORManip_Template_Layout::EventButtonTestClick(
HISender pSender,
HKEvent pEvent )
{
switch( mManipulator->mTestState )
{
case 0:
{
mManipulator->mModel = new FBModelMarker("ORManipulator_Template Model");
mButtonTest.Caption = "Make visible";
}
break;
case 1:
{
if(mManipulator->mModel)
{
mManipulator->mModel->Show = true;
}
mButtonTest.Caption = "Remove model";
}
break;
case 2:
{
if( mManipulator->mModel )
{
mManipulator->mModel->Show = false;
}
mButtonTest.Caption = "Delete model";
}
break;
case 3:
{
if( mManipulator->mModel )
{
mManipulator->mModel->FBDelete();
mManipulator->mModel =
NULL;
}
mButtonTest.Caption = "Create model";
mManipulator->mTestState = -1;
}
break;
}
mManipulator->mTestState ++;
}
void ORManip_Template_Layout::EventButtonModelSpaceClick(
HISender pSender,
HKEvent pEvent )
{
mManipulator->mRenderInModelSpace = mButtonModelSpace.State != 0;
UIReset();
}
void ORManip_Template_Layout::EventButtonDrawSquareClick(
HISender pSender,
HKEvent pEvent )
{
mManipulator->mDrawSquare = mButtonDrawSquare.State != 0;
UIReset();
}
void ORManip_Template_Layout::EventButtonDefaultBehaviorClick(
HISender pSender,
HKEvent pEvent )
{
mManipulator->DefaultBehavior = mButtonDefaultBehavior.State != 0;
UIReset();
}
void ORManip_Template_Layout::EventButtonAlwaysActiveClick(
HISender pSender,
HKEvent pEvent )
{
mManipulator->AlwaysActive = mButtonAlwaysActive.State != 0;
UIReset();
}