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

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


#include "font.h"

#include "gui_page.h"
#include "gui_scroll_v.h"
#include "gui_scroll_h.h"
#include "gui_edgebox.h"

//[2010.02.22.월][추가!!!]
#include  "GDotMatrix.h"

class Tide_editor_Form : public TForm
{
__published:	// IDE-managed Components

        void __fastcall FormResize(TObject *Sender);
        void __fastcall FormShow(TObject *Sender);

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

        __fastcall Tide_editor_Form(TComponent* Owner);

        //[2012.04.29.일][완료!!!]
        __fastcall ~Tide_editor_Form(void);

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

        //}

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

            //}

            //[내부 컨트롤]
            //{
                Tgui_page_Form        *_page_Form;
                Tgui_scroll_v_Form    *_scroll_v_Form;
                Tgui_scroll_h_Form    *_scroll_h_Form;
                Tgui_edgebox_Form     *_edgebox_Form;

            //}

        //}

        //[전광판]
        //{
            //[VAR]
            //{
                //[2010.02.22.월][추가!!!]
                //[편집기] 안의 특수 기능을 위한 것이다.
                TGDotMatrix_Form  *_GDotMatrix;

            //}

            //[2018.02.16.금][완료!!!]
            void __fastcall _GDotMatrix_Str(void);

            //[2010.02.22.월][완료!!!]
            void __fastcall _GDotMatrix_Color(void);

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

            //[2018.03.04.일][완료!!!]
            void __fastcall _GDotMatrix_Use(//[2018.02.17.토][추가!!!]
                                            //사용하는 경우는 true.
                                            bool  pUse);

            //[2018.02.17.토][완료!!!]
            void __fastcall _GDotMatrix_Rotate(//[2018.02.17.토][추가!!!]
                                               //사용하는 경우는 true.
                                               bool  pRotate);

            //[2010.04.06.화][완료!!!]
            void __fastcall _GDotMatrix_RotateTemp(bool  pRotate);

            //[2010.04.09.금][완료!!!]
            void __fastcall _GDotMatrix_RotateTemp2(bool  pRotate);

        //}

        //[FUNCTION]
        //{
            //[2007.03.25.일][완료!!!]
            void __fastcall _Resize(void);

            void __fastcall _Split_v(void);
            void __fastcall _Split_h(void);

            //[2010.04.09.금][완료!!!]
            void __fastcall _Enable(bool  pENABLE);
            
        //}

        //[EVENT FUNCTION]
        //{
            //[2006.11.28.화][완료!!!]
            void __fastcall _EVENT_V_Scroll(void);
            void __fastcall _EVENT_V_MouseDown(void);
            void __fastcall _EVENT_H_Scroll(void);
            //[2007.04.05.목][완료!!!]
            void __fastcall _EVENT_H_MouseDown(void);

            void __fastcall _EVENT_PageUp(void);
            void __fastcall _EVENT_PageDown(void);
        //}

        //[기능함수]
        //{
            //[2007.12.01.토][완료!!!]
            void __fastcall _RUN_Line(int  pLINEnumber);

            //[2007.12.01.토][완료!!!]
            void __fastcall _Line_View(int  pLineNumber);

            //[2022.06.28.화][완료]
            void __fastcall _Shape(void);

        //}

};

//---------------------------------------------------------------------------
extern PACKAGE Tide_editor_Form *ide_editor_Form;
//---------------------------------------------------------------------------

#endif
