APIEnv_​SearchNavigatorItemID

Searches the navigator items of the requested database.

    GSErrCode ACAPI_Environment (
        APIEnv_SearchNavigatorItemID,
        API_NavigatorItem*       item,
        API_NavigatorItem***     items
    );

 

Parameters

item
[in] The identification parameters of the requested Viewpoint/database. The itemType parameter is compulsory.
items
[out] The navigator items matching the specified Viewpoint/database

 

Return Values

NoError
The function has completed with success.
APIERR_BADPARS
The item or the items parameter is nullptr, or contains invalid data.
APIERR_GENERAL
No open project.

 

Remarks

This function retrieves the items of the Project Navigator which refer to the specified Viewpoint/database.

Do not forget to dispose the items handle if it is not needed any more.

 

Example


GSErrCode err = NoError;

API_DatabaseInfo db;
BNZeroMemory (&db, sizeof (API_DatabaseInfo));
db.typeID = APIWind_FloorPlanID;

API_NavigatorView   view;
API_NavigatorItem   parent;
API_NavigatorItem   item;
API_NavigatorItem** items = nullptr;

BNZeroMemory (&item, sizeof (API_NavigatorItem));
item.itemType = API_StoryNavItem;
item.mapId    = API_PublicViewMap;
db.typeID     = APIWind_FloorPlanID;

err = ACAPI_Environment (APIEnv_SearchNavigatorItemID, &item, &items, nullptr);
if (err != NoError || items == nullptr)
    return;

char    str[256];
Int32   num;
Int32   n = BMhGetSize ((GSHandle) items) / sizeof (API_NavigatorItem);

ACAPI_WriteReport ("Stories of View Map:", false);

for (Int32 i = 0; i < n; i++) {
    sprintf (str, "%s", (*items)[i].name);
    ACAPI_WriteReport (str, false);

    BNZeroMemory (&parent, sizeof (API_NavigatorItem));
    parent.mapId = API_PublicViewMap;
    err = ACAPI_Environment (APIEnv_GetNavigatorParentItemID, (*items)[i].guid, &parent, nullptr);
    sprintf (str, " - parent name: %s", parent.name);
    ACAPI_WriteReport (str, false);

    err = ACAPI_Environment (APIEnv_GetNavigatorChildNumID, &parent, &num, nullptr);
    sprintf (str, " - number of children of the parent: %d", num);
    ACAPI_WriteReport (str, false);

    BNZeroMemory (&view, sizeof (API_NavigatorView));
    err = ACAPI_Environment (APIEnv_GetNavigatorViewID, &((*items)[i]), &view, nullptr);
    if (view.saveLaySet) {
        if (view.layerCombination[0] != 0)
            sprintf (str, " - Layer combination: %s", view.layerCombination);
        else
            sprintf (str, " - Layers individual");
    } else {
        sprintf (str, " - none layers");
    }
    BMhKill ((GSHandle*) &view.layerStats);

    ACAPI_WriteReport (str, false);
}

BMhKill ((GSHandle *) &items);

 

Requirements

Version: API 4.3 or later
Header: APIdefs_Environment.h

 

See Also

API_NavigatorItem
APIEnv_GetNavigatorItemID
APIEnv_GetNavigatorParentItemID
APIEnv_GetNavigatorChildrenItemsID
ACAPI_Environment
API Functions