137 lines
3.6 KiB
C++
137 lines
3.6 KiB
C++
//---------------------------------------------------------------------------
|
|
|
|
#include <vcl.h>
|
|
#include <sp/interface.hpp>
|
|
#pragma hdrstop
|
|
|
|
#include "fcframe.h"
|
|
//---------------------------------------------------------------------------
|
|
#pragma package(smart_init)
|
|
#pragma resource "*.dfm"
|
|
|
|
extern bool g_IsDataSaved;
|
|
extern bool g_ForceDataUpdate;
|
|
|
|
TFrame1 *Frame1;
|
|
//---------------------------------------------------------------------------
|
|
__fastcall TFrame1::TFrame1(TComponent* Owner , int fcindex)
|
|
: TFrame(Owner) , m_FCIndex( fcindex )
|
|
{
|
|
}
|
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
|
|
void __fastcall TFrame1::CyclicCheckBoxClick(TObject *Sender)
|
|
{
|
|
SPSetCyclic( SPGetCurrentState() , m_FCIndex , this->CyclicCheckBox->State != cbUnchecked );
|
|
this->cycleForEditBox->Enabled = CyclicCheckBox->State != cbUnchecked;
|
|
g_IsDataSaved = false;
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
|
|
void __fastcall TFrame1::MaxFrameEditBoxChange(TObject *Sender)
|
|
{
|
|
FrameControllerData fcData;
|
|
SPGetFrameControllerData( SPGetCurrentState() , m_FCIndex , &fcData );
|
|
|
|
AnsiString frame;
|
|
frame = this->MaxFrameEditBox->Text;
|
|
float f = 0.0f;
|
|
try
|
|
{
|
|
f = frame.ToDouble();
|
|
}
|
|
catch (Exception&)
|
|
{
|
|
f = fcData.maxFrame;
|
|
}
|
|
|
|
SPSetFrameRange( SPGetCurrentState() , m_FCIndex , fcData.minFrame , f );
|
|
g_IsDataSaved = false;
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
|
|
void __fastcall TFrame1::MinFrameEditBoxChange(TObject *Sender)
|
|
{
|
|
FrameControllerData fcData;
|
|
SPGetFrameControllerData( SPGetCurrentState() , m_FCIndex , &fcData );
|
|
|
|
AnsiString frame;
|
|
frame = this->MinFrameEditBox->Text;
|
|
float f = 0.0f;
|
|
|
|
try
|
|
{
|
|
f = frame.ToDouble();
|
|
|
|
}
|
|
catch (Exception&)
|
|
{
|
|
f = fcData.minFrame;
|
|
}
|
|
|
|
SPSetFrameRange( SPGetCurrentState() , m_FCIndex , f , fcData.maxFrame );
|
|
g_IsDataSaved = false;
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
|
|
void __fastcall TFrame1::holdFrameCheckboxClick(TObject *Sender)
|
|
{
|
|
SPSetHoldFrame( SPGetCurrentState() , m_FCIndex , holdFrameCheckbox->Checked );
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
|
|
void __fastcall TFrame1::speedEditBoxChange(TObject *Sender)
|
|
{
|
|
FrameControllerData fcData;
|
|
SPGetFrameControllerData( SPGetCurrentState() , m_FCIndex , &fcData );
|
|
|
|
AnsiString speed;
|
|
speed = this->speedEditBox->Text;
|
|
float fSpeed = 0.0f;
|
|
|
|
try
|
|
{
|
|
fSpeed = speed.ToDouble();
|
|
}
|
|
catch (Exception&)
|
|
{
|
|
fSpeed = fcData.relativeSpeed;
|
|
}
|
|
|
|
SPSetRelativeSpeed( SPGetCurrentState() , m_FCIndex , fSpeed );
|
|
g_IsDataSaved = false;
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
|
|
void __fastcall TFrame1::cycleForEditBoxChange(TObject *Sender)
|
|
{
|
|
FrameControllerData fcData;
|
|
SPGetFrameControllerData( SPGetCurrentState() , m_FCIndex , &fcData );
|
|
|
|
AnsiString cycles;
|
|
cycles = cycleForEditBox->Text;
|
|
int iCycles = 0;
|
|
try
|
|
{
|
|
iCycles = cycles.ToInt();
|
|
}
|
|
catch (Exception&)
|
|
{
|
|
iCycles = fcData.numberOfCycles;
|
|
}
|
|
|
|
SPSetNumberOfCycles( SPGetCurrentState() , m_FCIndex , iCycles );
|
|
g_IsDataSaved = false;
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
|
|
void __fastcall TFrame1::EditBoxExit(TObject *Sender)
|
|
{
|
|
//do something here
|
|
g_ForceDataUpdate = true;
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
|