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

#ifndef optionIde_DialogBoxH
#define optionIde_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_radio_button.h"
#include "gui_scroll_v.h"
#include "gui_check_button.h"
#include "gui_Label.h"
#include "gui_edit.h"
#include <ExtCtrls.hpp>


class ToptionIde_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);

        //[2018.05.09.수][완료!!!]
        void __fastcall FormShow(TObject *Sender);

        void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
        void __fastcall captionMoveTimerTimer(TObject *Sender);

private:    // User declarations
public:     // User declarations

        __fastcall ToptionIde_DialogBox_Form(TComponent* Owner);

        //[2018.02.17.토][완료!!!]
        __fastcall ~ToptionIde_DialogBox_Form(void);

        //[서브클래싱]
        //{
            //[2012.05.20.일][완료!!!]
            void __fastcall WndProc(Messages::TMessage &Message);

        //}

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

            //}

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

            //}

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

            //}

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

            int                _caption_height;
            int                _caption_width;

            //caption 을 마우스로 끄는 경우 true.
            bool               _caption_selected;
            
            //[제목줄 이동 관련]
            //{
                //[2018.03.17.토][추가!!!]
                int  deltaLeft;
                int  deltaTop;

            //}

            //[내부 컨트롤]
            //{
                //닫기 버튼.
                Tgui_bmpbutton_Form  *_close_bmpbtns;

            //}

            //[설정 컨트롤]
            //{
                //[200904.19.일][추가!!!]{---------------------
                //설정용 대화상자의 각각의 설정 내용을 만든다.
                //}--------------------------------------------

                //각 배경색은 희미하게 설정한다.
                int  _colorBack;

                //[전체 배경]
                //{
                    //전체 컨트롤을 담는다.
                    Tgui_Label_Form     *base_Label;

                //}

                //[수직 줄이동자]
                //{
                    Tgui_scroll_v_Form  *scroll_V;

                //}

                //[전체 색 설정]
                //{
                    Tgui_Label_Form     *ideColor_Label;
                    Tgui_Label_Form     *ideColorView_Label;
                    Tgui_button_Form    *ideColorSel_Btn,
                                        *ideColorSet_Btn;

                //}

                //[통신 포트 설정]
                //{
                    Tgui_Label_Form     *comPort_Label;
                    Tgui_button_Form    *comPortSel_Btn,
                                        *comPortOpen_Btn;

                //}

                //[구성요소 색 설정]
                //{
                    Tgui_Label_Form      *itemColor_Label;

                    Tgui_bmpbutton_Form  *itemBreakPoint_bmpbtn,
                                         *itemArrow_bmpbtn,
                                         *itemLineBox_bmpbtn;

                    Tgui_button_Form    *syntaxColorKeyword_Btn,
                                        *syntaxColorComment_Btn,
                                        *syntaxColor16_Btn,
                                        *syntaxColor2_Btn,
                                        *syntaxColorChar_Btn,
                                        *syntaxColorString_Btn;

                //}

                //[배경그림 설정]
                //{
                    Tgui_Label_Form     *backPhoto_Label;
                    Tgui_button_Form    *backPhoto_Btn;

                //}

                //[바탕 밝기 설정]
                //{
                    Tgui_Label_Form     *backBright_Label;
                    Tgui_button_Form    *editBright_Btn,
                                        *treeBright_Btn,
                                        *msgBright_Btn;

                //}

                //[투명도 설정]
                //{
                    Tgui_Label_Form         *alphaBlend_Label;
                    Tgui_check_button_Form  *alphaBlend_CheckBtn;
                    Tgui_Label_Form         *alphaBlendText_Label;
                    Tgui_button_Form        *alphaBlend_Btn;

                //}

                //[풍선 도움말 설정]
                //{
                    Tgui_Label_Form         *balloonHelp_Label;
                    Tgui_check_button_Form  *balloonHelpUse_CheckBtn;
                    Tgui_Label_Form         *balloonHelpUse_Label;

                    //[2018.05.09.수][추가!!!]{--------------------------------
                    Tgui_check_button_Form  *balloonChangeNotSaveUse_CheckBtn;
                    Tgui_Label_Form         *balloonChangeNotSaveUse_Label;
                    //}--------------------------------------------------------

                    Tgui_check_button_Form  *balloonHelpAlpha_CheckBtn;
                    Tgui_Label_Form         *balloonHelpAlpha_Label;

                //}

                //[전광판 설정]
                //{
                    //[2018.02.17.토][추가!!!]
                    Tgui_Label_Form         *dotMatrix_Label;

                    Tgui_check_button_Form  *dotMatrixUse_CheckBtn;
                    Tgui_Label_Form         *dotMatrixUse_Label;

                    Tgui_check_button_Form  *dotMatrixRotate_CheckBtn;
                    Tgui_Label_Form         *dotMatrixRotate_Label;

                    //[2018.02.19.월][추가!!!]
                    //회전 시간 간격(작을 수록 빠르며 ms 값) 설정.
                    Tgui_button_Form        *dotMatrixRotateTime_Btn;

                    Tgui_button_Form        *dotMatrixStr_Btn;

                    //[동작함수]
                    //{
                        //[2018.02.17.토][완료!!!]
                        void __fastcall _EVENT_Click_dotMatrixUse_CheckBtn(void);
                        //[2018.02.17.토][완료!!!]
                        void __fastcall _EVENT_Click_dotMatrixRotate_CheckBtn(void);
                        //[2018.02.21.수][완료!!!]
                        void __fastcall _EVENT_Click_dotMatrixStr_Btn(void);

                        //[2018.02.21.수][완료!!!]
                        void __fastcall _EVENT_Click_dotMatrixRotateTime_Btn(void);

                    //}

                //}

                //[자동 저장 설정]
                //{
                    //[2018.05.05.토][추가!!!]{------------------------
                    //[편집기] 열린 문서의 [자동 저장] 기능 관련 설정.
                    //}------------------------------------------------

                    Tgui_Label_Form         *autoSave_Label;

                    Tgui_check_button_Form  *autoSaveUse_CheckBtn;
                    Tgui_Label_Form         *autoSaveUse_Label;

                    Tgui_button_Form        *autoSavePeriod_Btn;

                    //[동작함수]
                    //{
                        //[2018.05.05.토][완료!!!]
                        void __fastcall _EVENT_Click_autoSaveUse_CheckBtn(void);

                        //[2018.05.05.토][완료!!!]
                        void __fastcall _EVENT_Click_autoSavePeriod_Btn(void);

                    //}

                //}

                //[wine 설정]
                //{
                    //[2018.02.17.토][추가!!!]
                    Tgui_Label_Form         *wine_Label;

                    Tgui_check_button_Form  *wineUse_CheckBtn;
                    Tgui_Label_Form         *wineUse_Label;

                    //[동작함수]
                    //{
                        void __fastcall _EVENT_Click_wineUse_CheckBtn(void);

                    //}

                //}

            //}

        //}

        //[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);

        //}

        //[동작홤수들]
        //{
            //[2007.10.02.화][완료!!!]
            void __fastcall _EVENT_CloseButton_Click(void);

            //[2018.03.04.일][완료!!!]
            void __fastcall _EVENT_Scroll_V(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_ideColorSel_Btn(void);

            //[2018.02.21.수][완료!!!]
            void __fastcall _EVENT_Click_ideColorSet_Btn(void);

            //[2018.02.21.수][완료!!!]
            void __fastcall _EVENT_Click_comPortSel_Btn(void);

            //[2018.02.21.수][완료!!!]
            void __fastcall _EVENT_Click_comPortOpen_Btn(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_itemBreakPoint_bmpbtn(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_itemArrow_bmpbtn(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_itemLineBox_bmpbtn(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_syntaxColorKeyword_Btn(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_syntaxColorComment_Btn(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_syntaxColor16_Btn(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_syntaxColor2_Btn(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_syntaxColorChar_Btn(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_syntaxColorString_Btn(void);

            //[2018.03.04.일][완료!!!]
            void __fastcall _EVENT_Click_backPhoto_Btn(void);

            //[2018.02.21.수][완료!!!]
            void __fastcall _EVENT_Click_editBright_Btn(void);

            //[2018.02.21.수][완료!!!]
            void __fastcall _EVENT_Click_treeBright_Btn(void);

            //[2018.02.21.수][완료!!!]
            void __fastcall _EVENT_Click_msgBright_Btn(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_alphaBlend_CheckBtn(void);

            //[2018.02.21.수][완료!!!]
            void __fastcall _EVENT_Click_alphaBlend_Btn(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_balloonHelpUse_CheckBtn(void);

            //[2009.04.21.화][완료!!!]
            void __fastcall _EVENT_Click_balloonHelpAlpha_CheckBtn(void);

            //[2018.05.09.수][완료!!!]
            void __fastcall _EVENT_Click_balloonChangeNotSaveUse_CheckBtn(void);

        //}

        


};
//---------------------------------------------------------------------------
extern PACKAGE ToptionIde_DialogBox_Form *optionIde_DialogBox_Form;
//---------------------------------------------------------------------------
#endif





