APIEnv_ChangeNavigatorViewID
주어진 Project Navigator 항목과 그것의 뷰 설정들을 세트합니다.
GSErrCode ACAPI_Environment ( APIEnv_ChangeNavigatorViewID, API_NavigatorItem* navigatorItem, API_NavigatorView* navigatorView );
파라미터
- navigatorItem
- [in]
guid
로 식별되는 네비게이터 항목입니다. - navigatorView
- [in] 지정한 항목의 새로운 뷰 설정들입니다. (
NULL
이 될 수 있음)
리턴 값
APIERR_BADPARS
- 지정한 네비게이터 항목이 Public View Map 또는 My View Map에 존재하지 않습니다. (팀워크 모드)
APIERR_NOTMINE
- 당신은 항목을 변경할 권한을 갖고 있지 않습니다.
NoError
- 함수가 성공적으로 완료되었습니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수를 이용하여 Project Navigator 항목의 이름 또는 ID를 변경할 수 있고 선택적으로 그것의 뷰 설정들도 변경할 수 있습니다. View Map 항목들만 변경할 수 있습니다.
예제
API_NavigatorItem navItem; BNZeroMemory (&navItem, sizeof(API_NavigatorItem)); navItem.mapId = API_PublicViewMap; //for performance if (ACAPI_Environment (APIEnv_GetNavigatorItemID, guid, &navItem)== NoError) { API_NavigatorView navView; BNZeroMemory (&navView, sizeof(API_NavigatorView)); if (ACAPI_Environment ( APIEnv_GetNavigatorViewID, &navItem, &navView) == NoError) { if (navView.layerStats != NULL) BMhKill ((GSHandle*) &(navView.layerStats)); if (navView.modelViewOpt != NULL) BMKillPtr ((GSPtr*) &(navView.modelViewOpt)); if (navView.dimPrefs != NULL) BMKillPtr ((GSPtr*) &(navView.dimPrefs)); //name if (navItem.customName) { navItem.customName = false; } else { navItem.customName = true; CHCopyC ("Name from API", navItem.name); } //uiId if (navItem.customUiId) { navItem.customUiId = false; } else { navItem.customUiId = true; CHCopyC ("ID from API", navItem.uiId); } // settings // layer combination short attributeCount, i; API_Attribute attribute; err = ACAPI_Attribute_GetNum (API_LayerCombID, &attributeCount); if (err == NoError) { BNZeroMemory (&attribute, sizeof (API_Attribute)); attribute.header.typeID = API_LayerCombID; for (i = attributeCount; i > 0; --i) { attribute.header.index = i; err = ACAPI_Attribute_Get (&attribute); if (err == NoError) { CHTruncate (attribute.header.name, navView.layerCombination, sizeof (navView.layerCombination)); break; } } } // model view options err = ACAPI_Attribute_GetNum (API_ModelViewOptionsID, &attributeCount); if (err == NoError) { BNZeroMemory (&attribute, sizeof (API_Attribute)); attribute.header.typeID = API_ModelViewOptionsID; for (i = attributeCount; i > 0; --i) { attribute.header.index = i; err = ACAPI_Attribute_Get (&attribute); if (err == NoError) { CHTruncate (attribute.header.name, navView.modelViewOptName, sizeof (navView.modelViewOptName)); break; } } } // dimension styles err = ACAPI_Attribute_GetNum (API_DimStandID, &attributeCount); if (err == NoError) { BNZeroMemory (&attribute, sizeof (API_Attribute)); attribute.header.typeID = API_DimStandID; for (i = attributeCount; i > 0; --i) { attribute.header.index = i; err = ACAPI_Attribute_Get (&attribute); if (err == NoError) { CHTruncate (attribute.header.name, navView.dimName, sizeof (navView.dimName)); break; } } } // scale navView.drawingScale = 123; err = ACAPI_Environment (APIEnv_ChangeNavigatorViewID, &navItem, &navView); } }
요구사항
- 버전: API 10 또는 이후
- 헤더: APIdefs_Environment.h