• 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. Keep guis or menus from closing

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 5768
  • 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

Keep guis or menus from closing

psill00
psill00 over 1 year ago

When I am working in layout or schematic I hit the escape button and the form is active and disappears or closes

I there a way to keep the menus/guis/forms from closing

I used these functions to create the forms, hiCreateLayoutForm or hiCreateAppForm

Paul

  • Cancel
  • psill00
    psill00 over 1 year ago

    I think I found a solution menu/guis/forms closing by using dockable forms

    Now I have a new problem.

    When I switch between tabs the form closes and I get warning when added the dock form to switched tab.

    *WARNING* hiGetWinConfig: duplicate dock assistant name found: miniMojo

    Any solution to fixing this problem

    my script I use to dock the form

    procedure(dockGuiToWindow(form formTxt formSide)
    let( (dock
    (swin hiGetSessionWindow(hiGetCurrentWindow()))
    )
    dock=hiCreateDockWindow(
    ?appType "Dock Gui"
    ?widgetType "form"
    ?handle gensym("dockGui")
    ?form form
    ?title formTxt
    )
    hiDockWindow(
    ?window dock
    ?session swin
    ?side concat(formSide)
    )
    )); end of dockGuiToWindow


    Paul

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • psill00
    psill00 over 1 year ago in reply to psill00

    Me again

    Is there a equivalent hiGetCurrentForm() for dockable form/guis?

    Paul

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to psill00
    psill00 said:
    I there a way to keep the menus/guis/forms from closing

    No. Escape always calls hiFormCancel. 

    psill00 said:
    *WARNING* hiGetWinConfig: duplicate dock assistant name found: miniMojo

    Any solution to fixing this problem

    Yes, you should use hiSetWinObjName to ensure that there is a unique name for each dock window. See the code below:

    procedure(createForm()
      hiCreateAppForm(
        ?name gensym('MyForm)
        ?formTitle "The form"
        ?fields 
          list(
            list(
              hiCreateStringField(
                ?name 'string 
                ?prompt "string"
                ?callback lambda((field scope) printf("New value in field %L scope %L\n" field scope))
              )
              0:0 300:30 100
            )
          )
      )
    )
    
    procedure(dockGuiToWindow(form formTxt formSide)
      let( (dock
          (swin hiGetSessionWindow(hiGetCurrentWindow()))
        )
        dock=hiCreateDockWindow(
          ?appType "Dock Gui"
          ?widgetType "form"
          ?handle gensym("dockGui")
          ?form form
          ?title formTxt
        )
        ; ensure object name is unique for each dock window 
        hiSetWinObjName(dock get_string(dock->hiHandle))
        hiDockWindow(
          ?window dock
          ?session swin
          ?side concat(formSide)
        )
    )); end of dockGuiToWindow
    
    psill00 said:
    Is there a equivalent hiGetCurrentForm() for dockable form/guis?

    No, because forms in dock windows are never the current form. However, if you use a function object callback (see the lambda in the string field above), the scope variable contains the specific form that the field is contained within. Perhaps that does what you want?

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • psill00
    psill00 over 1 year ago in reply to Andrew Beckett

    Hello

    I dont know if I need to create another post about the docking gui issue ( great info and greatly appreciated )

    The docking is working as I want but when I add another tab to the cell window the docking gui disappears.

    Is there a way to keep the docked gui when I add a tab or something to live with

    Paul

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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