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

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

#include "font.h"

#include "gui_captionbar.h"
#include "gui_page.h"
#include "gui_scroll_v.h"
#include "gui_tabs.h"

//[2022.06.13.월][추가]
#include "GEdit.h"


class Tide_tree_Form : public TForm
{
__published:	// IDE-managed Components
        void __fastcall FormResize(TObject *Sender);
private:	// User declarations
public:		// User declarations

        __fastcall Tide_tree_Form(TComponent* Owner);

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

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

        //}

        //[VAR]
        //{
            //[환경변수]
            //{
                //[2022.06.13.월][추가]
                struct  IDE_OPTION   *_ide_option;

            //}

            //[내부 컨트롤]
            //{ 
                Tgui_captionbar_Form  *_captionbar_Form;
                Tgui_page_Form        *_page_Form;
                Tgui_scroll_v_Form    *_scroll_v_Form;
                Tgui_tabs_Form        *_tabs_Form;
            //}

            //[API 찾기 관련]
            //{
                //[2022.06.13.월][추가]

                //[VAR]
                //{
                    TGEdit_Form  *_findEdit;

                    //[편집기] 에서 <Ctrl+P> 로 [API 검색] 이 활성화된 경우는 <true>.
                    bool  _editor_Ctrl_P; //(기본값:false)

                //}

                //[2022.06.27.월][완료]
                void __fastcall _EVENT_findEdit_KeyDown_Esc(void);

                //[2022.06.20.월][완료]
                void __fastcall _EVENT_findEdit_Change(void);

                //[2022.06.21.화][완료]
                void __fastcall _EVENT_findEdit_CaretMove(void);

                //[2022.07.03.일][완료]
                void __fastcall _EVENT_findEdit_KeyDown_Up(void);

                //[2022.07.03.일][완료]
                void __fastcall _EVENT_findEdit_KeyDown_Down(void);

                //[2022.06.27.월][완료]
                void __fastcall _EVENT_tree_tree_Form_KeyDown_Esc(void);

            //}

        //}

        //[FUNCTION]
        //{
            void __fastcall _Resize(void);
            void __fastcall _Split_v(void);
            void __fastcall _Split_h(void);

            //[2022.06.15.수][완료]
            void __fastcall _Tree_All_Init(//[2009.05.30.토][수정!!!]
                                           //각각의 비트 조합을 사용하는 것으로 수정한다.
                                           int   pTrees,
                                           //[2012.06.03.일][추가!!!]
                                           bool  pRePaint);
            //{
                //[2009.05.30.토][추가!!!]
                //[인수] 를 단순화 하고 확장을 위하여 각각의 비트 조합을 사용하는 것으로 수정한다.
                #define d_Tree_Prj       0x01
                #define d_Tree_Info      0x02
                #define d_Tree_Api       0x04
                #define d_Tree_Sys       0x08

                //[2011.07.11.월][추가!!!]
                #define d_Tree_DbgExp    0x10

                //[2019.02.16.토][추가]
                #define d_Tree_Find      0x20

                //[2022.06.15.수][추가]
                #define d_Tree_ApiSrch   0x40

            //}

        //}

        //[EVENT FUNCTION]
        //{
            void __fastcall _EVENT_V_Scroll(void);
            void __fastcall _EVENT_V_MouseDown(void);

            void __fastcall _EVENT_PageUp(void);
            void __fastcall _EVENT_PageDown(void);

            //[2022.06.15.수][완료]
            void __fastcall _EVENT_TabSelect(void);

            //[2011.07.21.목][완료!!!]
            void __fastcall _EVENT_TabSelect_DbgExpTree_ViewAll(void);

        //}

        //[부가함수]
        //{
            //[2011.07.13.수][완료!!!]
            void __fastcall _Tab_Change(bool  pTdefault_Fdebug);


        //}


};
//---------------------------------------------------------------------------
extern PACKAGE Tide_tree_Form *ide_tree_Form;
//---------------------------------------------------------------------------
#endif
