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

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


#include "font.h"

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


class Tide_dialogbox_Form : public TForm
{
__published:	// IDE-managed Components
        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);
private:	// User declarations
public:		// User declarations
        __fastcall Tide_dialogbox_Form(TComponent* Owner);
        __fastcall ~Tide_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[100];

            int                _caption_height;
            int                _caption_width;

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

            POINT              _mouse_down_point;

            //[2008.02.03.일][추가!!!]{-----------------------------------------
            //[풍선도움말] 에 출력할 문자열을 가진다.
            //단, 메모리 낭비를 막기 위하여 해당 사용이 설정된 경우만 처리한다.
            bool   _balloonHelpUse; //(기본 : false)

            //동적 생성시 크기를 주어 설정한다.
            char  *_balloonHelpStr;
            //}-----------------------------------------------------------------

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

                //[색 설정]
                //{
                    Tgui_button_Form  *_color_SelectBtn,
                                      *_color_SetBtn;

                //}

                //[통신설정]
                //{
                    //통신 포트 선택.(1 - 8 까지 설정 가능.
                    Tgui_radio_button_Form   *_comport_RadioBtn[8];

                    //통신 포트 열기/닫기 단추.
                    Tgui_button_Form         *_comport_OpenCloseBtn;

                //}

                //[편집기 바탕 밝기 설정]
                //{
                    Tgui_scroll_h_Form        *_brightnessScrollH;
                    Tgui_edit_Form            *_brightnessGuiEdit;

                //}

                //[컨트롤 색 설정 관련]
                //{
                    //[2007.11.22.목]

                    //복사할때는 투명속성을 지정해 주어야 한다.

                    //[정지점]
                    //{
                        Graphics::TBitmap  *_bmp_breakpoint_;
                        Tgui_button_Form   *_breakpoint_ColorSelectSetBtn;

                    //}

                    //[실행 행 지정자]
                    //{
                        Graphics::TBitmap  *_bmp_run_arrow_;
                        Tgui_button_Form   *_run_arrow_ColorSelectSetBtn;

                    //}

                    //[실행 지정 상자]
                    //{
                        Graphics::TBitmap  *_bmp_linebox_;
                        Tgui_button_Form   *_linebox_ColorSelectSetBtn;

                    //}

                //}

                //[검증 시간간격 설정]
                //{
                    //[2007.11.30.금][추가!!!]
                    Tgui_scroll_h_Form     *_debugDelayScrollH;

                //}

                //[색동문자]
                //{
                    //[2007.12.02.일][추가!!!]

                    //[명령어]
                    Tgui_button_Form   *_keyWord_ColorSelectSetBtn;

                    //[주석문]
                    Tgui_button_Form   *_comment_ColorSelectSetBtn;

                    //[16진수]
                    Tgui_button_Form   *_hexNumber_ColorSelectSetBtn;

                    //[2진수]
                    Tgui_button_Form   *_binNumber_ColorSelectSetBtn;

                //}

                //[편집기 배경 그림]
                //{
                    //[2007.12.02.일][추가!!!]
                    Tgui_button_Form   *_editorBackPic_SelectSetBtn;

                //}

                //[투명 속성 설정]
                //{
                    //[2007.12.17.월][추가!!!]
                    //개발환경전체의 투명도를 설정한다.
                    //이는 알파블렌딩 속성을 설정하는 것이다.

                    //알파블렌드 값을 설정한다.
                    Tgui_scroll_h_Form       *_alphaBlend_ScrollH;

                    //알파블렌드를 사용할지 말지를 결정한다.
                    Tgui_check_button_Form   *_alphaBlend_CheckBtn;

                //}

                //[풍선 도움말 설정]
                //{
                    //[2008.02.05.화][추가!!!]

                    //[풍선 도움말] 사용 유무 설정.
                    Tgui_check_button_Form   *_balloonHelpUse_CheckBtn;

                    //[풍선 도움말] 투명 사용 유무 설정.
                    Tgui_check_button_Form   *_balloonHelpAlphaBlend_CheckBtn;

                //}

            //}

        //}

        //[FUNCTION]
        //{
            //[2008.02.03.일][완료!!!]{--------------------
            void __fastcall _BalloonHelpUse(bool    pUse);
            void __fastcall _BalloonHelpStr(char   *pStr);
            //}--------------------------------------------

            void __fastcall _FormCut(void);
            void __fastcall _Draw(void);
            void __fastcall _Border(void);
            void __fastcall _Shape(void);

            void __fastcall _COLOR_SelectColor(int   pColor);

            //[2007.11.22.목][완료!!!]
            //{
                void __fastcall _COLOR_BreakPoint_SelectColor(int   pColor);
                void __fastcall _COLOR_RunArrow_SelectColor(int   pColor);
                void __fastcall _COLOR_LineBox_SelectColor(int   pColor);

            //}

            //[2007.12.02.일][완료!!!]
            //{
                void __fastcall _COLOR_Keyword_SelectColor(int   pColor);
                void __fastcall _COLOR_Comment_SelectColor(int   pColor);
                void __fastcall _COLOR_HexWord_SelectColor(int   pColor);
                void __fastcall _COLOR_BinWord_SelectColor(int   pColor);

            //}

        //}

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

            //[색 설정]
            //{
                //[2007.10.02.화][완료!!!]
                void __fastcall _EVENT_ButtonClick_ColorSelect(void);
                void __fastcall _EVENT_ButtonClick_ColorSet(void);


                //[2007.12.03.월][완료!!!]
                void __fastcall _EVENT_ButtonClick_BreakPoint_ColorSelectSet(void);

                //[2007.12.03.월][완료!!!]
                void __fastcall _EVENT_ButtonClick_RunArrow_ColorSelectSet(void);

                //[2007.12.03.월][완료!!!]
                void __fastcall _EVENT_ButtonClick_LineBox_ColorSelectSet(void);


                //[2007.12,03.월][완료!!!]
                //{
                    void __fastcall _EVENT_ButtonClick_Keyword_ColorSelectSet(void);

                    void __fastcall _EVENT_ButtonClick_Comment_ColorSelectSet(void);

                    void __fastcall _EVENT_ButtonClick_HexWord_ColorSelectSet(void);

                    void __fastcall _EVENT_ButtonClick_BinWord_ColorSelectSet(void);

                    void __fastcall _EVENT_ButtonClick_EditorBackPicSelectSet(void);

                //}

            //}

            //[통신 포트 선택]
            //{
                //[2007.10.02.화][완료!!!]
                void __fastcall _EVENT_Click_ComportSelect0(void);
                void __fastcall _EVENT_Click_ComportSelect1(void);
                void __fastcall _EVENT_Click_ComportSelect2(void);
                void __fastcall _EVENT_Click_ComportSelect3(void);
                void __fastcall _EVENT_Click_ComportSelect4(void);
                void __fastcall _EVENT_Click_ComportSelect5(void);
                void __fastcall _EVENT_Click_ComportSelect6(void);
                void __fastcall _EVENT_Click_ComportSelect7(void);

            //}

            //[통신 포트 열기/닫기]
            //{
                //[2007.10.02.화][완료!!!]
                void __fastcall _EVENT_ButtonClick_ComportOpenClose(void);

            //}

            //[편집기 밝기 조정]
            //{
                void __fastcall _EVENT_Scroll_EditorBrightness(void);

            //}

            //[검증 시간 간격 조정]
            //{
                //[2007.12.01.토][완료!!!]
                void __fastcall _EVENT_Scroll_DebugDelay(void);

            //}

            //[알파블렌딩 값 설정]
            //{
                //[2007.12.17.월][완료!!!]
                void __fastcall _EVENT_Scroll_AlphaBlend(void);

                //[2007.12.18.화][처리중!!!]
                void __fastcall _EVENT_Up_AlphaBlend(void);

            //}

            //[풍선 도움말]
            //{
                //[2008.02.05.화][완료!!!]
                void __fastcall _EVENT_Up_BalloonHelpUse(void);

                //[2008.02.05.화][완료!!!]
                void __fastcall _EVENT_Up_BalloonHelpAlphaBlend(void);

            //}

        //}




};
//---------------------------------------------------------------------------
extern PACKAGE Tide_dialogbox_Form *ide_dialogbox_Form;
//---------------------------------------------------------------------------
#endif
