• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. How to find out the windowID of an open cell-view

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 143
  • Views 18734
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to find out the windowID of an open cell-view

Sheppie
Sheppie over 5 years ago

Hi,

How do I do the following:
Using the procedure dbGetOpenCellViews() you get the list of all open cell-views in virtual memory. This lists both cell-views open in an editor window (i.e. opened through the librrary manager) and cell-views that are not opened in an editor window (i.e. opened using dbOpenCellViewByType()) I'd like to filter all cell-views which are opened in an editor window. So as an example:

I have two open cell-views: 1 = libA/cell1/view in a window and libB/cell2/view in memory only. The filetered list should only contain the database ID of  libA/cell1/view.

When you want to close data (CIW->File->Close Data) it presents a table listing all open cell-views. Ini this table, the window ID is shown (in the "status" column) if it is in an editor window. This is what I would like to know.

I could also specificly look for a particular lib/cell/view to see if it is opened or not by using procedure dbFindOpenCellView(), but this will only return the cell-view ID, not the windowID.

So the short question: how do I find the window ID from a cell-view ID?

Thanks in advance.

Kind regards,

Sjoerd

  • Cancel
Parents
  • mbracht
    mbracht over 5 years ago

    Hi Sjoerd,

    A cell view is an OA database object and it does not have window ID, so there's no way to get from a given cell view to a window. It does work the other way round though, for a window id you can get at the contained cell view. Here's how you get the cellviews that are currently displayed in a window:

    wCvs = (setof cv (foreach mapcar wid (hiGetWindowList) (geGetWindowCellView wid)) cv)

    You need to filter with setof() because (geGetWindowCellView wid) returns nil for windows that do not contain a cell view...the CIW as an example.
    You may then create the difference between dbgetOpenCellViews() and the list from the command above and there you go...

    (setof cv dbGetOpenCellViews() (not (member cv wCvs)))

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to mbracht

    I think you could also use geGetCellViewWindow(cvId) to find out whether there is a window for each cellView?

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mbracht
    mbracht over 5 years ago in reply to Andrew Beckett

    Hi Andrew,

    I wasn't aware of that function - so there must be some internal mapping between cell views and containing windows...

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • mbracht
    mbracht over 5 years ago in reply to Andrew Beckett

    Hi Andrew,

    I wasn't aware of that function - so there must be some internal mapping between cell views and containing windows...

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information