Initial commit
This commit is contained in:
@@ -0,0 +1,167 @@
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#include <vcl.h>
|
||||
#pragma hdrstop
|
||||
|
||||
#include "GlobalUnit.h"
|
||||
#include "SaveLocalStyleFormUnit.h"
|
||||
#include "MessageFormUnit.h"
|
||||
//---------------------------------------------------------------------------
|
||||
#pragma package(smart_init)
|
||||
#pragma link "GeneralDialogPanel"
|
||||
#pragma link "LineEdit"
|
||||
#pragma link "TextButton"
|
||||
#pragma resource "*.dfm"
|
||||
TSaveLocalStyleForm *SaveLocalStyleForm;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
__fastcall TSaveLocalStyleForm::TSaveLocalStyleForm(TComponent* Owner, TStyleItem* pStyItem)
|
||||
: TForm(Owner)
|
||||
{
|
||||
m_pStyItem = pStyItem;
|
||||
if( pStyItem->pStyle && pStyItem->pStyle->idLoc!=0 && pStyItem->pStyle->idLoc!=(UINT)-1 ){
|
||||
m_editName->Text = UTF8ToMBCS(pStyItem->pStyle->pLocal->strStyleName).c_str();
|
||||
}
|
||||
else{
|
||||
m_editName->Text = m_editName->Text.sprintf( L"×Ô¶¨Òå·ç¸ñ%d", f_CM_GetNextLocalID() );
|
||||
}
|
||||
|
||||
SetTransparent( this );
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TSaveLocalStyleForm::FormShow(TObject *Sender)
|
||||
{
|
||||
m_editName->SetFocus();
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TSaveLocalStyleForm::OkClick(TObject *Sender)
|
||||
{
|
||||
if( m_editName->Text.Length()==0 ){
|
||||
m_editName->SetFocus();
|
||||
}
|
||||
else{
|
||||
ModalResult = mrOk;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TSaveLocalStyleForm::Save(TPROSTYLE * pStyle)
|
||||
{
|
||||
for( int i=0; i<m_pStyItem->aItems->Count; i++ ){
|
||||
TSegmentItem* pSeg = (TSegmentItem*)m_pStyItem->aItems->Items[i];
|
||||
int segType = pSeg->iSegType,
|
||||
segNo = pSeg->iSegNo;
|
||||
|
||||
if( segType==SEGTYPE_VAR )
|
||||
pStyle->pLocal->nSegNum[segType]++;
|
||||
else if( segType==SEGTYPE_FILL )
|
||||
pStyle->pLocal->nSegNum[segType]++;
|
||||
else{
|
||||
int nMaj = pStyle->pLocal->nSegNum[segType] & 0x0F,
|
||||
nMin = pStyle->pLocal->nSegNum[segType] >> 4;
|
||||
|
||||
if( segNo<4 )
|
||||
nMaj++;
|
||||
else
|
||||
nMin++;
|
||||
|
||||
pStyle->pLocal->nSegNum[segType] = ( nMin<<4 ) + nMaj;
|
||||
pStyle->pLocal->aIEBars[segType-2][segNo] = pSeg->nBars;
|
||||
}
|
||||
|
||||
pStyle->pLocal->nSegVol[segType][segNo] = pSeg->volume;
|
||||
|
||||
for( int j=0; j<pSeg->aItems->Count; j++ ){
|
||||
TTrack* pTrk = ((TTrackItem*)pSeg->aItems->Items[j])->pTrack;
|
||||
pStyle->pLocal->trkRef[segType][segNo][j].idLoc = pTrk->iStyleLoc;// >pStyle->idLoc;
|
||||
pStyle->pLocal->trkRef[segType][segNo][j].idStyle = pTrk->iStyleId;// >pStyle->idStyle;
|
||||
pStyle->pLocal->trkRef[segType][segNo][j].segNo = pTrk->iSegNo;
|
||||
pStyle->pLocal->trkRef[segType][segNo][j].chan = pTrk->iChanNo;
|
||||
pStyle->pLocal->trkRef[segType][segNo][j].prog = pTrk->iProg;// >progCurr;
|
||||
pStyle->pLocal->trkRef[segType][segNo][j].vol = pTrk->nVol;// >volCurr;
|
||||
}
|
||||
}
|
||||
|
||||
f_CM_SaveLocalStyle( pStyle );
|
||||
|
||||
if( m_pStyItem->pStyle!=pStyle )
|
||||
m_pStyItem->pStyle = pStyle;
|
||||
|
||||
for( int i=0; i<m_pStyItem->aItems->Count; i++ ){
|
||||
TSegmentItem* pSeg = (TSegmentItem*)m_pStyItem->aItems->Items[i];
|
||||
for( int j=0; j<pSeg->aItems->Count; j++ ){
|
||||
TTrackItem* pTrk = (TTrackItem*)pSeg->aItems->Items[j];
|
||||
if( pTrk->pStyle->idLoc==(UINT)-1 && pTrk->pStyle->idStyle==0 ){
|
||||
pTrk->pStyle = pStyle;
|
||||
pTrk->pTrack->iStyleLoc = pStyle->idLoc;
|
||||
pTrk->pTrack->iStyleId = pStyle->idStyle;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( g_pUseStyle ){
|
||||
if( !g_pUseStyle->pStyle || g_pUseStyle->pStyle->idLoc==(UINT)-1
|
||||
&& g_pUseStyle->pStyle->idStyle==0 ){
|
||||
g_pUseStyle->pStyle = pStyle;
|
||||
}
|
||||
|
||||
for( int i=0; i<g_pUseStyle->aItems->Count; i++ ){
|
||||
TSegmentItem* pSeg = (TSegmentItem*)g_pUseStyle->aItems->Items[i];
|
||||
for( int j=0; j<pSeg->aItems->Count; j++ ){
|
||||
TTrackItem* pTrk = (TTrackItem*)pSeg->aItems->Items[j];
|
||||
if( pTrk->pStyle->idLoc==(UINT)-1 && pTrk->pStyle->idStyle==0 ){
|
||||
pTrk->pStyle = pStyle;
|
||||
g_lstOpusStages[i]->aTracks[j]->iStyleLoc = pStyle->idLoc;
|
||||
g_lstOpusStages[i]->aTracks[j]->iStyleId = pStyle->idStyle;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
f_CM_DeleteTempStyle( 0 );
|
||||
DeleteStyleInfo( -1, 0 );
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TSaveLocalStyleForm::NameChange(TObject *Sender)
|
||||
{
|
||||
TLineEdit* pEdit = ((TLineEdit*)Sender);
|
||||
|
||||
AnsiString strName = pEdit->Text.Trim();
|
||||
string strTmp = GBToUTF8(strName.c_str());
|
||||
|
||||
if( strTmp.length()>pEdit->MaxLength ){
|
||||
pEdit->OnChange = NULL;
|
||||
pEdit->Text = pEdit->Text.SubString( 0, pEdit->Text.Length()-1 );
|
||||
pEdit->SelStart = pEdit->Text.Length();
|
||||
pEdit->OnChange = NameChange;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TSaveLocalStyleForm::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
|
||||
{
|
||||
switch( Key ){
|
||||
case VK_RETURN:
|
||||
if(m_btnOk->Enabled)
|
||||
OkClick(NULL);
|
||||
break;
|
||||
|
||||
case VK_ESCAPE:
|
||||
ModalResult = mrCancel;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TSaveLocalStyleForm::FormCreate(TObject *Sender)
|
||||
{
|
||||
m_panelBk->Font->Size = g_szFont9;
|
||||
m_btnCancel->FontSize = g_szFont9;
|
||||
m_btnOk->FontSize = g_szFont9;
|
||||
m_editName->SetTextFont(g_strTxtFontName, g_szFont9);
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user