/* Copyright (c) 2024 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved. */ #include <ProToolkit.h> #include <ProGraphic.h> #include <ProLayer.h> #include <ProUtil.h> #include <TestError.h> ProError UserScanLayers() { ProFileName msgfil; ProMdl model; ProName *layer_names; ProLayer *layers; ProLayerDisplay *display_status; int n_layers; int ll, junk; ProError err; ProStringToWstring(msgfil,"msg_ugmodel.txt"); /* PHILIPPE : The Layer examples have to be changed for rev 20 Until then, I make it unavailable */ return (PRO_TK_NO_ERROR); #if 0 /*-------------------------------------------------------------------------*\ Get handle for the active model. \*-------------------------------------------------------------------------*/ err=ProMdlCurrentGet(&model); ERROR_CHECK("UserScanLayers","ProMdlCurrentGet",err); /*-------------------------------------------------------------------------*\ Get the list of layers. \*-------------------------------------------------------------------------*/ err=ProMdlLayerNamesGet(model,&layer_names,&n_layers); ERROR_CHECK("UserScanLayers","ProMdlLayerNamesGet",err); display_status=(ProLayerDisplay*)calloc(n_layers,sizeof(ProLayerDisplay)); if ( display_status==NULL ) return(PRO_TK_GENERAL_ERROR); layers=(ProLayer*)calloc(n_layers,sizeof(ProLayer)); if ( layers==NULL ) return(PRO_TK_GENERAL_ERROR); /*-------------------------------------------------------------------------*\ Convert names to layer structs and get their current display status. \*-------------------------------------------------------------------------*/ for (ll = 0; ll < n_layers; ll++) { layers[ll].owner=model; ProUtilWstrcpy(layers[ll].layer_name,layer_names[ll]); ProLayerDisplaystatusGet( &(layers[ll]), &(display_status[ll]) ); } /*-------------------------------------------------------------------------*\ For each layer ... \*-------------------------------------------------------------------------*/ for (ll = 0; ll < n_layers; ll++) { /*-------------------------------------------------------------------------*\ Set the layer status to BLANK and repaint. \*-------------------------------------------------------------------------*/ ProLayerDisplaystatusSet( &(layers[ll]), PRO_LAYER_TYPE_BLANK ); ProWindowRepaint(-1); /*-------------------------------------------------------------------------*\ Report the layer name and prompt to continue. \*-------------------------------------------------------------------------*/ ProMessageDisplay(msgfil, "USER Items on layer %0w (<CR> to continue)", layer_names[ll]); ProMessageIntegerRead(NULL,&junk); /*-------------------------------------------------------------------------*\ Set its status to DISPLAY and repaint. \*-------------------------------------------------------------------------*/ ProLayerDisplaystatusSet( &(layers[ll]), PRO_LAYER_TYPE_DISPLAY ); ProWindowRepaint(-1); } /*-------------------------------------------------------------------------*\ Return all the display statuses to the original setting. \*-------------------------------------------------------------------------*/ for (ll = 0; ll < n_layers; ll++) ProLayerDisplaystatusSet( &(layers[ll]), display_status[ll] ); ProWindowRepaint (-1); free(display_status); free(layers); return(PRO_TK_NO_ERROR); #endif }