//---------------------------------------------------------------------------

#ifndef VMSFORM0FH
#define VMSFORM0FH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <DB.hpp>
#include <DBClient.hpp>
#include <Provider.hpp>
//---------------------------------------------------------------------------
#include <ExtCtrls.hpp>
#include <Graphics.hpp>
#include <jpeg.hpp>
#include <Menus.hpp>
#include <GIFImg.hpp>
#include <OleCtrls.hpp>
#include "cxContainer.hpp"
#include "cxControls.hpp"
#include "cxEdit.hpp"
#include "cxGraphics.hpp"
#include "cxGroupBox.hpp"
#include "cxLookAndFeelPainters.hpp"
#include "cxLookAndFeels.hpp"
#include "dxSkinBlack.hpp"
#include "dxSkinMcSkin.hpp"
#include "dxSkinsCore.hpp"
#include "dxSkinBlue.hpp"
#include "dxSkinCaramel.hpp"
#include "dxSkinCoffee.hpp"
#include "dxSkinDarkRoom.hpp"
#include "dxSkinDarkSide.hpp"
#include "dxSkinFoggy.hpp"
#include "dxSkinGlassOceans.hpp"
#include "dxSkiniMaginary.hpp"
#include "dxSkinLilian.hpp"
#include "dxSkinLiquidSky.hpp"
#include "dxSkinLondonLiquidSky.hpp"
#include "dxSkinMoneyTwins.hpp"
#include "dxSkinOffice2007Black.hpp"
#include "dxSkinOffice2007Blue.hpp"
#include "dxSkinOffice2007Green.hpp"
#include "dxSkinOffice2007Pink.hpp"
#include "dxSkinOffice2007Silver.hpp"
#include "dxSkinOffice2010Black.hpp"
#include "dxSkinOffice2010Blue.hpp"
#include "dxSkinOffice2010Silver.hpp"
#include "dxSkinSeven.hpp"
#include "dxSkinSharp.hpp"
#include "dxSkinSilver.hpp"
#include "dxSkinStardust.hpp"

//---------------------------------------------------------------------------
#include "CDSVmsCtlrF.h"
#include "cxLabel.hpp"
#include "FFBaseComponent.hpp"
#include "FFBasePlay.hpp"
#include "FFPlay.hpp"
#include "FRAME_VmsStatusF.h"
//---------------------------------------------------------------------------
class TVMSFORM0 : public TForm
{
__published:	// IDE-managed Components
    TPopupMenu *PopupMenu1;
    TMenuItem *menuitem1;
    TMenuItem *menuitem2;
    TMenuItem *menuitem3;
    TMenuItem *menuitem4;
    TMenuItem *menuitem5;
    TMenuItem *MnuCtlrPing;
    TMenuItem *N1;
    TTimer *TmrShow;
    TTimer *TmrDisp;
    TPanel *PnlMain;
    TPanel *PnlTitle;
    TPanel *PnlSeq;
    TPanel *PnlBottom;
    TPanel *PnFormBack;
    TPanel *PnlName;
    TImage *ImgCommError;
    TPanel *PnlSvcTime;
    TPanel *PnlForm;
    TImage *ImgForm;
    TPanel *PnlComm;
    TMenuItem *MnuVmsInfId;
    TMenuItem *N2;
    TMenuItem *MnuWebcamPing;
    TImage *ImgCommNormal;
    TImage *ImgState1;
    TImage *ImgState2;
    TImage *ImgState0x;
    TImage *ImgState0;
    TLabel *LblTicker;
    TTimer *TmrTicker;
    TFFPlayer *FFPlayer1;
    TFRAME_VmsStatus *FRAME_VmsStatus1;
    void __fastcall FormDestroy(TObject *Sender);
    void __fastcall FormShow(TObject *Sender);
    void __fastcall MnuNetworkPingClick(TObject *Sender);
    void __fastcall MnuClick(TObject *Sender);
    void __fastcall TmrShowTimer(TObject *Sender);
    void __fastcall TmrDispTimer(TObject *Sender);
    void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
    void __fastcall PnlNameClick(TObject *Sender);
    void __fastcall OnFormClick(TObject *Sender);
    void __fastcall PopupMenu1Popup(TObject *Sender);
    void __fastcall PnlNameDblClick(TObject *Sender);
    void __fastcall TmrTickerTimer(TObject *Sender);
    void __fastcall FFPlayer1State(TObject *Sender, TPlayState APlayState);
private:	// User declarations
    bool        FSelected;
    int         FDisplayMode;
    int         FDispIndex;
    bool        FPlay;
    float       FZoomRate;

    int         FGapH, FGapW;
    int         FCycle;
public:
    TScrollBox *FScrollBox;
    TVmsCtlr   *FVmsObj;
    bool        FZoomView;
    HWND        FWndParent;
    float       FDispW, FDispH;

public:		// User declarations
    __fastcall TVMSFORM0(TComponent* Owner, TVmsCtlr *AVmsObj);

    void __fastcall LoadLocalSkin();

    void __fastcall SetFormSize(int AFormW = 0, float AZoomRate = 1.0);

    void __fastcall RefreshVmsStatus();
    void __fastcall RefreshVmsMessage();

    void __fastcall SelectForm(bool ASelect);
    void __fastcall SetPlay(bool APlay);

    __property bool Selected = { read = FSelected, write = SelectForm };
    __property bool Play     = { read = FPlay,     write = SetPlay };
};
//---------------------------------------------------------------------------
//extern PACKAGE TVMSFORM0 *VMSFORM0;
//---------------------------------------------------------------------------
#endif

