Graphisoft®

API Development KitVersion: 18

ACAPI_Notify_CatchToolChange

툴박스 항목 변경사항들에 대한 모니터링을 on/off 합니다.

    GSErrCode  ACAPI_Notify_CatchToolChange (
        APIToolChangeHandlerProc*     handlerProc
    );

 

파라미터

handlerProc
[in] 툴박스에서 변경사항이 발생할 때 알림이 전송되면 호출되는 콜백 프로시저입니다. 여기에 NULL을 지정하는 것은 당신이 더 이상 알림이 필요하지 않다는 것을 의미합니다.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.

다른 공통 API 오류들에 대해서는 오류 코드들의 리스트를 보십시오.

 

설명

이 함수는 툴박스에서의 변경사항을 모니터링하고 싶은 애드온을 등록/등록해제하는 데 사용합니다. 예. 사용자가 다른 툴박스 항목으로 전환했을 때. 그 후에 ACAPI_KeepInMemory 함수를 호출해서는 안 됩니다. 왜냐하면 API가 설치된 알림 핸들러들을 가진 애드온들이 언로드되지 않도록 보장해주기 때문입니다.
애드온의 handlerProc이 등록된 후에 당신은 선택한 툴박스 항목이 변경될 때 호출 받게 될 것입니다.

 

예제

// -----------------------------------------------------------------------------
// 툴박스 항목 변경 핸들러 함수
// -----------------------------------------------------------------------------
static GSErrCode __ACENV_CALL   ToolChangeHandler (const API_ToolBoxItem *newToolMode)

{
        char    msgStr[256];
        char    elemStr[32];

        if (newToolMode->typeID == API_ZombieElemID)
                CHCopyC ("Arrow or Marquee", elemStr);
        else if (!GetElementTypeString (newToolMode->typeID, elemStr))
                CHCopyC ("Unknown", elemStr);

        sprintf (msgStr, "%s toolbox mode selected", elemStr);
        ACAPI_WriteReport (msgStr, false);

        return NoError;
}   // ToolChangeHandler


// -----------------------------------------------------------------------------
// 애드온이 메모리에 로드된 후에 호출됨
// -----------------------------------------------------------------------------
GSErrCode    __ACENV_CALL    Initialize (void)

{
    // 툴박스에서의 변경사항을 캐치
    GSErrCode err = ACAPI_Notify_CatchToolChange (ToolChangeHandler);

    return err;
}   // Initialize

 

요구사항

버전: API 4.1 또는 이후
헤더: ACAPinc.h

 

참고사항

ACAPI_KeepInMemory
APIEnv_GetToolBoxModeID
APIEnv_SetToolBoxModeID
알림 관리자
API 함수