
#include "기계닉스\기계닉스.h"


//[이름정의]
//{
    //[!]{--------------------------------------
    //기본 파일 처리 API 의 [처리결과] 와 동일하게 설정.
    //}-----------------------------------------

    #define  d_처리중    -1

    #define  d_처리오류   0

    #define  d_처리완료   1

    #define  d_처리취소   2

//}


struct ts_목록정보
{
  //[2022.03.14.월][추가]

  //목록을 수집할 대상 경로 저장.
  char   경로_[10*1024]; //기본("").

  //수시로 크기가 변할수 있으므로 가변문자열 사용.
  t_생성자  vstrbuf_목록_[8]; //<VStrBuf>.

};

struct ts_검색결과_GLIST
{
  //[2022.11.15.화][추가]{-----------------
  //<검색결과_GList> 의 출력 관련 정보를 가진다.
  //이는 <검색결과_GTabs> 전환시 필요.
  //}-------------------------------------

  //[검색목록:0]
  //{
      t_생성자  vstrbuf_검색목록_[8]; //<VStrBuf>.

      int      검색목록_줄이동자위치;

  //[처리결과:1]
  //{
      t_생성자  vstrbuf_오류보고_[8]; //<VStrBuf>.

      int      오류보고_줄이동자위치;

  //}

  //<오류보고_GTabs> 의 선택 탭번호를 기록.
  int  탭번호;

};

struct ts_그림부품유효상태
{
  //[2022.04.17.일][생성]{-------------------------------------------
  //<그림부품_유효화()> 함수에서 [그림부품] 의 [유/무효 상태] 를 복구 할때 사용.
  //<그림부품_무효화()> 함수에서 기록하고, <그림부품_유효화()> 함수에서 사용된다.
  //}---------------------------------------------------------------

  bool  창닫기버튼_유효;

  bool  검색경로_GBtn_유효;
  bool  검색조건_폴더_GChkBtn_유효;
  bool  검색조건_파일_GChkBtn_유효;

  //[2022.04.28.목][추가]{--------
  bool  풍선도움말사용_GChkBtn_유효;
  //}---------------------------

  bool  확장자_GEdit_유효;
  bool  확장자_펼치기_GBmpBtn_유효;
  bool  확장자_경로_GChkBtn_유효;
  bool  확장자_경로_GBmpBtn_유효;

  bool  포함단어목록_GEdit_유효;
  bool  포함단어목록_펼치기_GBmpBtn_유효;
  bool  포함단어목록_경로_GChkBtn_유효;
  bool  포함단어목록_경로_GBmpBtn_유효;


  bool  제외단어목록_GEdit_유효;
  bool  제외단어목록_펼치기_GBmpBtn_유효;
  bool  제외단어목록_경로_GChkBtn_유효;
  bool  제외단어목록_경로_GBmpBtn_유효;

  bool  검색_GBtn_유효;
  bool  저장_GBtn_유효;

  bool  검색결과_GList_유효;

  //[2022.11.15.화][추가]
  bool  검색결과_GTabs_유효;

  //[2022.11.22.화][추가]{---
  bool  포함단어조합_GBtn_유효;
  bool  제외단어조합_GBtn_유효;
  //}-----------------------

  //[이름변경대화상자 관련]
  //{
      //[2022.08.29.월][추가]
      bool  이름변경_처리조건바탕_GLabel_유효;
      bool  이름변경_문자열바탕_GLabel_유효;
      bool  이름변경_GBtn_유효;
      bool  이름변경대화상자_확인_GBtn_유효;

  //}

};

//[전역변수]
//{
    struct t_전역변수
    {
      //[2022.12.05.월][생성]{------------------------------------------
      //그동안 모든 [전역변수] 를 하나의 구조체로 통합.
      //이는 <__Main.c>, <__이름변경대화상자.c> 모두에서 공통으로 사용하기 위한것.
      //}--------------------------------------------------------------


      //[2021.12.30.목][추가]
      char  검색경로[10*1024];

      bool  중단요청;

      //[2022.03.14.월][추가]
      struct ts_목록정보  확장자목록정보;
      struct ts_목록정보  포함단어목록정보;
      struct ts_목록정보  제외단어목록정보;

      //[2022.04.17.일][추가]
      struct ts_그림부품유효상태  그림부품유효상태;

      //[<검색결과_GList> 관련]
      //{
          //[2022.11.15.화][추가]{----------------------------------
          //<검색결과_GList> 에서 <검색결과_GTabs> 로 전환시 각 내용을 저장.
          //}------------------------------------------------------

          struct ts_검색결과_GLIST  검색결과_GLIST_출력정보;

      //}


    };

    void 전역변수_주소얻기(struct t_전역변수 **r주소);

//}


void __Main(void);

void __Main_소멸자(void);


//[2022.01.02.일][완료]
void 검색(void);

//[2022.01.02.일][완료]
void 검색조건_정리(void);

//[2022.04.17.일][완료]
bool 검색조건_확장자(char  *p행문자열_);

//[2022.11.24.목][완료]
bool 검색조건_포함단어목록(char  *p행문자열_);

//[2022.11.24.목][완료]
bool 검색조건_제외단어목록(char  *p행문자열_);

//[2022.01.08.토][완료]
void 검색결과_개수_제목줄에_표시(//<0> 인 경우는 "::: 문서 검색기 :::" 로 기본 표기만 수행.
                           //이 경우는 <p검색결과개수> 는 무시된다.
                           int  p전체목록개수,
                           //[2022.01.08.토][추가]{----------------------------------------
                           //<p전체목록개수> 에서 [실제 처리한 개수] 를 가진다.
                           //이는 [검색] 도중에 [중단] 된 경우, [실제 처리한 개수] 를 표시하기 위한것.
                           int  p처리목록개수,
                           //}------------------------------------------------------------
                           int  p검색결과개수);

//[2022.04.13.수][완료]
void 이름_추출(//[파일이름] 이나 지정 경로 안에 있는 [폴더이름] 일수 있다.
             char  *p파일폴더이름_,
             //행단위로 구분된 [이름목록] 을 반환(<p문자열> 에서 여러개 이름이 추출될수 있다).
             char  *r이름목록_);

//[2022.08.29.월][완료]
void 그림부품_유효화(void);

//[2022.08.29.월][완료]
void 그림부품_무효화(t_생성자  *p제외할그림부품);

//[2022.12.06.화][완료]
void 중단요청_보이기(bool  pT_보이기_F_감추기);

//[2023.01.01.일][완료]
void 중단요청_위치조정(void);

//[2022.12.15.목][완료]
void 탭에_경로이름확장자_출력(char  *p경로이름확장자_);

//[2022.12.19.월][완료]
int 진행막대_진행값(int  p진행값);

//[2022.12.19.월][완료]
int 진행막대_진행값_경로이름확장자(int    p진행값,
                            //진행막대에 출력할 [경로이름확장자].
                            char  *p경로이름확장자_);





