Is there a skill command to get a cellview default application?
I want to search a library and report the default or current application of a cellview.
In reply to kb how:
You can get the viewType easily enough - maybe that's what you mean?
given a library name:
procedure(CCFshowViewTypes(libName)let((masterObj) foreach(cell ddGetObj(libName)~>cells foreach(view cell~>views ; the * in the file arg gives the "master" file masterObj=ddGetObj(libName cell~>name view~>name "*") when(masterObj printf("%s/%s/%s has viewType %L\n" libName cell~>name view~>name ddMapGetFileViewType(masterObj) ) ) ) ) t))
In reply to Andrew Beckett:
Sorry I did not clarify the question better.
I want to search the library and see which application the opens cellview.
Does the cellview open L, XL, or GXL?
In reply to psill:
If the default application has been overridden for a cellView, that is done by setting the viewSubType on the cellView. This can only be done for "db" cellViews (e.g. schematics, symbols, layouts), and can be found by looking at:
I'll leave the rest for you...
When I drop geGetWindowCellView()~>viewSubType I get nil.
I also tried hiGetCurrentWindow(), ddGetobj(lib cell view), and dbOpenCellViewByType(lib cell view masklayout r).
I tried some of the examples on source link but get the same result from different cellviews and sessions.
I would like to get an value similar to the function deGetViewType() outputs, without opening the cell.
My version 220.127.116.110.11
The viewSubType will be nil if the default application has not been set specifically for that cellView; if there's no viewSubType, the viewType is the actual viewType of the cellView.
You can also set the global default application by using these three cdsenv vars:
graphic maskLayoutDefaultAppgraphic schematicDefaultAppgraphic schematicSymbolDefaultApp
So the way you'd have to code it to do what you want is to first use the approach I described initially to get the base viewType of the cellView using ddGetObj approach - this can be done without opening the cellView. Then if the viewType is maskLayout, schematic, or schematicSymbol, you'd have to open the cellView using cv=dbOpenCellViewByType(lib cell view) and then check if cv~>viewSubType has been set - if so, you know the subViewType and hence the application used. If it's not set, you'd need to check the cdsenv to see if the global default app has been overridden.
I'll leave it to you to glue all this together, because what you're trying to do seems a fairly unusual requirement and probably specific to your needs rather than something general purpose.
In reply to wgtkan:
If you type:
in the CIW, what does it say?