• 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 Can Utilize a dwindow in the same fashion as an Assistant...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 145
  • Views 14250
  • 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 Can Utilize a dwindow in the same fashion as an Assistant in virtuoso so that it is available on All design windows .

Kevin Guay
Kevin Guay over 10 years ago

I have created a dwindow with a form in side of it that works fine on a window to window basis but I wish it to act like the pallet window whereas it is available in all windows

As well I want it added as a action menu item in the assistant menu items like Annotation Browser

I have been able to add it to the window menu in IC6.1.5 but in IC6.1.6 it does not add  As well it does not add to the right click Assistants Menu in either version

Any Ideas are appreciated

Thanks

Kev

  • Cancel
Parents
  • drdanmc
    drdanmc over 8 years ago

    Sort of. It has a nice example of changing out the contents of a form in a dockable window. That's pretty useful. I still can't seem to get this new dock window to show up in the window->assistants menu (without jumping through all sorts of hoops) or the banner popup at all (can't seem to figure out how to access the banner popup). What is interesting is that if I run the example in that article with no modifications, it creates a new session, a new window, adds the dockable window, and the dockable window *does* show up in the banner popup and I fail to see which part of the code causes that addition to the popup. So this is mystery #1 (getting the dockable added to the assistants menus in the two spots).


    In Ted's first reply he implies that an assistant is somehow different than a dockable window and that an assistant can be added to more than one window (a dockable window can only be added to a single window at a time). If this is indeed true, it would be helpful for me to figure out how to do that (create an actual assistant instead of multiple dockable windows, each with their own form as forms can't be instantiated in more than one window at a time and dockable windows are tied to a single session+window). My other option is I can keep track of all of my dockable windows and put in place some code that keeps groups of them synchronized (sort of like the palette is synchronized across layout windows) but that sounds like it may start to be a bit of a book keeping headache.

    -Dan

    p.s. here is the (very ugly with no error checking) code I hacked together to insert something into the Window->Assistants schematic menu:

    <pre>


    win = getCurrentWindow()
    menus = hiGetBannerMenus(win)
    window_menu = nil
    foreach( m menus
    m2 = eval(m)
    ;;printf("m2~>?? = %L\n", m2->_menuTitle)
    when( m2->_menuTitle == "&Window"
    window_menu = m2
    )
    )

    foreach( m hiGetMenuItems(window_menu)
    when(boundp(m)
    m2 = eval(m)
    ;;printf("m2~>?? = %L\n", m2->_menuTitle)
    when(m2->_menuTitle == "&Assistants"
    a_menu = m2
    )
    )
    )

    my_act = hiCreateAction(
    ?name 'my_dock_act
    ?iconText "Example Dock"
    ?toolTip "my example dock tooltip"
    ?enabled t ?checkable t ?checked t
    ?callback "my_callback()"
    )

    hiInsertMenuItem(a_menu, my_act, 100)

    </pre>

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • drdanmc
    drdanmc over 8 years ago

    Sort of. It has a nice example of changing out the contents of a form in a dockable window. That's pretty useful. I still can't seem to get this new dock window to show up in the window->assistants menu (without jumping through all sorts of hoops) or the banner popup at all (can't seem to figure out how to access the banner popup). What is interesting is that if I run the example in that article with no modifications, it creates a new session, a new window, adds the dockable window, and the dockable window *does* show up in the banner popup and I fail to see which part of the code causes that addition to the popup. So this is mystery #1 (getting the dockable added to the assistants menus in the two spots).


    In Ted's first reply he implies that an assistant is somehow different than a dockable window and that an assistant can be added to more than one window (a dockable window can only be added to a single window at a time). If this is indeed true, it would be helpful for me to figure out how to do that (create an actual assistant instead of multiple dockable windows, each with their own form as forms can't be instantiated in more than one window at a time and dockable windows are tied to a single session+window). My other option is I can keep track of all of my dockable windows and put in place some code that keeps groups of them synchronized (sort of like the palette is synchronized across layout windows) but that sounds like it may start to be a bit of a book keeping headache.

    -Dan

    p.s. here is the (very ugly with no error checking) code I hacked together to insert something into the Window->Assistants schematic menu:

    <pre>


    win = getCurrentWindow()
    menus = hiGetBannerMenus(win)
    window_menu = nil
    foreach( m menus
    m2 = eval(m)
    ;;printf("m2~>?? = %L\n", m2->_menuTitle)
    when( m2->_menuTitle == "&Window"
    window_menu = m2
    )
    )

    foreach( m hiGetMenuItems(window_menu)
    when(boundp(m)
    m2 = eval(m)
    ;;printf("m2~>?? = %L\n", m2->_menuTitle)
    when(m2->_menuTitle == "&Assistants"
    a_menu = m2
    )
    )
    )

    my_act = hiCreateAction(
    ?name 'my_dock_act
    ?iconText "Example Dock"
    ?toolTip "my example dock tooltip"
    ?enabled t ?checkable t ?checked t
    ?callback "my_callback()"
    )

    hiInsertMenuItem(a_menu, my_act, 100)

    </pre>

    • 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