86 lines
2.6 KiB
C++
86 lines
2.6 KiB
C++
//---------------------------------------------------------------------------
|
|
|
|
#ifndef ComposePanelUnitH
|
|
#define ComposePanelUnitH
|
|
//---------------------------------------------------------------------------
|
|
#include "ShowBarsPanelUnit.h"
|
|
//#include "BackupUnit.h"
|
|
|
|
namespace ComposePanelUnit
|
|
{
|
|
|
|
//---------------------------------------------------------------------------
|
|
class TPanel : public TShowBarsPanel
|
|
{
|
|
__published:
|
|
void __fastcall StageHeaderMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
|
|
|
|
private:
|
|
TComponentList * m_lstStageHeader;
|
|
// TComposeBackup m_bkCompose;
|
|
// TMelodyBackup m_bkMelody;
|
|
|
|
TImage *m_imgDrag;
|
|
int m_xImgDrag,
|
|
m_yImgDrag,
|
|
m_iDragOverPos,
|
|
m_iDragingStage;
|
|
bool m_bDraging,
|
|
m_bAddStage;
|
|
|
|
int m_nChordWidth,
|
|
m_nChordHeight,
|
|
m_iFocusStage;
|
|
|
|
TImage * NewStageHeader( int iStage );
|
|
void UpdateStageHeader( int iStage );
|
|
void AddStageHeader( int iInsStage, int iShowBar, int iComposeStage );
|
|
void RemoveStageHeader( int iDelStage );
|
|
void UpdateDragOverPos( int iNewPos );
|
|
int FirstBar( int iStage );
|
|
void InvalidateStage( int iStage, int iArea=BAR_DATA );
|
|
void UpdateHeaders( int iStart=0 );
|
|
|
|
protected:
|
|
virtual void __fastcall CreateWnd();
|
|
virtual void __fastcall Paint(void);
|
|
virtual void __fastcall SetBarTitle( int iBar, String& strText );
|
|
virtual void __fastcall DrawBarBkgnd( int iBar, int left, int top );
|
|
virtual void __fastcall DrawBarContext( int iBar, int left, int top );
|
|
virtual void __fastcall DrawBarOperation( int iBar, int left, int top );
|
|
virtual void __fastcall BarPosChanged();
|
|
// DYNAMIC void __fastcall KeyDown(System::Word &Key, System::Classes::TShiftState Shift);
|
|
|
|
public:
|
|
__fastcall virtual TPanel(System::Classes::TComponent* AOwner);
|
|
__fastcall ~TPanel();
|
|
|
|
void InitialVars();
|
|
int ComposeBarCount(){ return m_nBarNum; };
|
|
// BOOL CheckModify( int iCheckType=CHECK_ALL );
|
|
// void BackupModify();
|
|
// void RestoreModify();
|
|
|
|
int FindStage( int iBar, int *piFirstBar=NULL );
|
|
void SetFocusStage( int iStage );
|
|
void SetBarFill( int iBar, int iFill );
|
|
void SetStageVar( int iStage, int iVar );
|
|
void SetStageStyle( int iStage, int idStyle );
|
|
|
|
void SetDragImage( TImage* img ){ m_imgDrag = img; };
|
|
void SetDragState( bool bDraging );
|
|
void SetDragStage( bool bAdd, int iStage );
|
|
void SetDragImgPos( int X, int Y );
|
|
BOOL SetDragingPoint( int X, int Y );
|
|
int SetDropPoint( int X, int Y );
|
|
void InsertStage( int iStage, int iInsertPos );
|
|
void AddStage( int iStage );
|
|
void DeleteStage( int iStage );
|
|
void MoveStage( int iSource, int iDest );
|
|
};
|
|
|
|
}
|
|
|
|
using namespace ComposePanelUnit;
|
|
#endif
|