Sets the given Project Navigator item and its view settings.
GSErrCode ACAPI_Navigator ( APINavigator_ChangeNavigatorViewID, API_NavigatorItem* navigatorItem, API_NavigatorView* navigatorView );
Parameters
- navigatorItem
- [in] The navigator item identified with its
guid
. - navigatorView
- [in] New view settings of the specified item (can be
nullptr
).
Return Values
APIERR_BADPARS
- The specified navigator item doesn’t exist neither in Public View Map nor in My View Map (TeamWork mode).
APIERR_NOTMINE
- You have no permission to change the item.
NoError
- The function has completed with success.
For other common API errors see the API Errors document.
Remarks
Use this function to change a Project Navigator item’s name or ID and optionally its view settings. Only View Map items are modifiable.
This function is a non-undoable data structure modifier function. See more details on this topic at Command Overview.
Example
API_NavigatorItem navItem; BNZeroMemory (&navItem, sizeof(API_NavigatorItem)); navItem.mapId = API_PublicViewMap; //for performance if (ACAPI_Navigator (APINavigator_GetNavigatorItemID, guid, &navItem)== NoError) { API_NavigatorView navView; BNZeroMemory (&navView, sizeof(API_NavigatorView)); if (ACAPI_Navigator ( APINavigator_GetNavigatorViewID, &navItem, &navView) == NoError) { if (navView.layerStats != nullptr) BMhKill ((GSHandle*) &(navView.layerStats)); if (navView.modelViewOpt != nullptr) BMKillPtr ((GSPtr*) &(navView.modelViewOpt)); if (navView.dimPrefs != nullptr) BMKillPtr ((GSPtr*) &(navView.dimPrefs)); //name if (navItem.customName) { navItem.customName = false; } else { navItem.customName = true; GS::UCopy (L("Name from API"), navItem.uName); } //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_Navigator (APINavigator_ChangeNavigatorViewID, &navItem, &navView); } }
Requirements
- Version: API 10 or later
- Header: APIdefs_Navigator.h