Graphisoft®

API Development KitVersion: 18

APIIo_SaveLibPartFileDialogID

라이브러리 파트 파일 저장하기 다이얼로그 창을 열고 선택한 위치를 리턴합니다.

    GSErrCode ACAPI_Interface (
        APIIo_SaveLibPartFileDialogID,
        bool*              retCode,
        IO::Location*      location,
        bool*              browseForFolder,
        GS::UniString*     dialogTitle
    );

 

파라미터

retCode
[out] 다이얼로그가 확인(confirmation)과 함께 닫혔는지 여부를 리턴합니다. (OK, Save 등)
location
[in/out] 다이얼로그를 열기 위한 기본 라이브러리와 파일 이름을 세트합니다. 그리고 선택한 파일의 위치를 리턴합니다.
browseForFolder API 16 feature
[in] 다이얼로그가 라이브러리 파트들을 내장 라이브러리 밖에 저장할 수 있게 해줍니다. (선택사항; 기본 값은 false입니다)
dialogTitle API 16 feature
[in] 다이얼로그의 타이틀 타입을 정의합니다. (선택사항)

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
retCode 또는 locationNULL입니다.

다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.

 

설명

이 함수가 표준 파일 저장 다이올르게 추가하는 것은 ArchiCAD의 라이브러리 파트 저장하기 다이얼로그들에서 사용하는 'Go to Library' 패널입니다.

이 함수는 다이얼로그를 열고자 하는 올바른 위치가 필요합니다.

만약 다이얼로그가 확인(confirmation) 버튼(OK, Save 등)으로 닫히게 되는 경우에만 location이 세트됩니다.

 

예제

bool         done = false;
bool         retIsOk = false;
IO::Location location ("Untitled");
do {
    GSErrCode err = ACAPI_Interface (APIIo_SaveLibPartFileDialogID, &retIsOk, &location);
    if (err == NoError && retIsOk) {
        API_LibPart libPart;
        BNZeroMemory (&libPart, sizeof (API_LibPart));

        IO::Name name;
        location.GetLastLocalName (&name);

        CHTruncate (name.ToString ().ToCStr (), libPart.file_Name, sizeof (libPart.file_Name));
        if (ACAPI_LibPart_Search (&libPart, false) == NoError) {
            ACAPI_WriteReport ("Library part with this name already exists, please choose different name.", true);
            done = false;
        } else {
            done = true;
        }
        if (libPart.location != NULL)
            delete libPart.location;
    } else {
        done = true;
    }
} while (!done);

 

요구사항

버전: API 10 또는 이후
헤더: APIdefs_Interface.h

 

참고사항

ACAPI_Interface, API 함수