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

#ifndef servoZero_DialogBoxH
#define servoZero_DialogBoxH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------


#include "font.h"

#include "gui_bmpbutton.h"
#include "gui_button.h"
#include "gui_check_button.h"
#include "gui_Label.h"
#include "gui_edit.h"
#include "gui_scroll_h.h"

//[2009.11.20.금]
#include "gui_radio_button.h"
#include <ExtCtrls.hpp>


class TservoZero_DialogBox_Form : public TForm
{
__published:	// IDE-managed Components
    TTimer *captionMoveTimer;
        void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y);
        void __fastcall FormMouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y);
        void __fastcall FormMouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y);
    void __fastcall FormShow(TObject *Sender);
    void __fastcall captionMoveTimerTimer(TObject *Sender);
private:	// User declarations
public:		// User declarations

        __fastcall TservoZero_DialogBox_Form(TComponent* Owner);

        //[2012.04.30.월][완료!!!]
        __fastcall ~TservoZero_DialogBox_Form(void);

        //[서브클래싱]
        //{
            void __fastcall WndProc(Messages::TMessage &Message);

        //}

        //[VAR]
        //{
            //[환경변수]
            //{
                //[2007.10.02.화][추가!!!]
                struct  IDE_OPTION   *_ide_option;

            //}

            //[실제 그리는 영역]
            //{
                Graphics::TBitmap    *_bmp_;

            //}

            //[사용글꼴]
            //{
                struct FONTPACK       _font;

            //}

            //caption 에 표시할 문자열을 기록한다.
            char               _caption[256];

            int                _caption_height;
            int                _caption_width;

            //caption 을 마우스로 끄는 경우 true.
            bool               _caption_selected;

            //[제목줄 이동 관련]
            //{
                //[2018.03.17.토][추가!!!]
                int  deltaLeft;
                int  deltaTop;

            //}

            //[기본 부품]
            //{
                //닫기 버튼.
                Tgui_bmpbutton_Form   *_close_bmpbtns;

            //}

            //[내부 부품들]
            //{
                Tgui_Label_Form          *_pwmSelect_Label,
                                         *_pwmDutyStart_Label,
                                         *_pwmDutyEnd_Label;

                Tgui_edit_Form           *_pwmDuty_Edit;

                Tgui_button_Form         *_pwmId_Btn,
                                         *_pwmCh_Btn;
                //줄이동자.
                Tgui_scroll_h_Form       *_pwmDuty_ScrollH;

                //[PWM 채널 선택]
                //{
                    //3개 장치당 4개 채널이다.
                    Tgui_Label_Form          *_pwm_Label[12];
                    Tgui_radio_button_Form   *_pwm_RadioBtn[12];

                //}

                //[설명라벨]
                //{
                    //[2009.11.21.토][추가!!!]
                    Tgui_Label_Form  *_pwmText_Label;

                //}

            //}

            //[변수]
            //{
                //true 이면 돈다.
                bool   loop;

            //}

        //}

        //[FUNCTION]
        //{
            void __fastcall _FormCut(void);

            void __fastcall _Draw(void);

            void __fastcall _Border(void);

            void __fastcall _Shape(void);


            //[2007.12.14.금][완료!!!]
            void __fastcall _Caption(char  *pCaption);

            //[2007.12.14.금][완료!!!]
            void __fastcall _Width(int  pWidth);

            //[2007.12.14.금][완료!!!]
            void __fastcall _Height(int  pHeight);

        //}

        //[동작홤수들]
        //{
            void __fastcall _EVENT_CloseButton_Click(void);

            //[2009.11.21.토][완료!!!]
            void __fastcall _EVENT_KeyEnter_pwmDuty_Edit(void);

            //[2009.11.22.일][완료!!!]
            void __fastcall _EVENT_Scroll_pwmDuty_ScrollH(void);

            //[2009.11.21.토][완료!!!]
            void __fastcall _EVENT_Down_pwm_RadioBtn(void);

            //[2009.11.22.일][완료!!!]
            void __fastcall _EVENT_Click_pwm_RadioBtn(void);

        //}

};
//---------------------------------------------------------------------------
extern PACKAGE TservoZero_DialogBox_Form *servoZero_DialogBox_Form;
//---------------------------------------------------------------------------
#endif
