#include "ortoolconstraint_tool.h"
#define ORTOOLCONSTRAINT__CLASS ORTOOLCONSTRAINT__CLASSNAME
#define ORTOOLCONSTRAINT__LABEL "Constraint"
#define ORTOOLCONSTRAINT__DESC "OR - Simple Constraint Tool"
ORTOOLCONSTRAINT__LABEL,
ORTOOLCONSTRAINT__DESC,
bool ORToolConstraint::FBCreate()
{
StartSize[0] = 150;
StartSize[1] = 250;
UICreate ();
UIConfigure ();
UIReset ();
OnShow.Add (
this, (
FBCallback) &ORToolConstraint::EventToolShow );
return true;
}
void ORToolConstraint::FBDestroy()
{
OnShow.Remove (
this, (
FBCallback) &ORToolConstraint::EventToolShow );
}
void ORToolConstraint::EventButtonCreateConstraintClick(
HISender pSender,
HKEvent pEvent )
{
FBConstraint* lConstraint;
int lIndex = mListConstraints.ItemIndex;
if( lIndex >= 0 )
{
int lConstraintTypeIndex = mListConstraints.Items.GetReferenceAt( lIndex );
lConstraint = FBConstraintManager::TheOne().TypeCreateConstraint(lConstraintTypeIndex);
}
}
{
FBEventShow lEvent( pEvent );
if( lEvent.Shown )
{
UIReset();
}
else
{
}
}
void ORToolConstraint::UICreate()
{
int lS = 4;
int lH = 18;
AddRegion( "LabelDirections", "LabelDirections",
AddRegion( "ButtonCreateConstraint", "ButtonCreateConstraint",
AddRegion( "ListConstraints", "ListConstraints",
SetControl( "LabelDirections", mLabelDirections );
SetControl( "ButtonCreateConstraint", mButtonCreateConstraint );
SetControl( "ListConstraints", mListConstraints );
}
void ORToolConstraint::UIConfigure()
{
mLabelDirections.Caption = "Select constraint and click\n"
"button to create an instance.";
mButtonCreateConstraint.Caption = "Create selected..";
mButtonCreateConstraint.OnClick.Add(
this, (
FBCallback)&ORToolConstraint::EventButtonCreateConstraintClick);
}
void ORToolConstraint::UIReset()
{
FBConstraintManager* lCM = &FBConstraintManager::TheOne();
mListConstraints.Items.Clear();
for(
int i = 0;
i < lCM->TypeGetCount();
i++)
{
mListConstraints.Items.Add( lCM->TypeGetName(
i ),
i );
}
}