• 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. Ask User to click on a form

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 143
  • Views 16172
  • 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

Ask User to click on a form

ChristianPM
ChristianPM over 5 years ago

Hi *,

I'm looking for a code part to ask a user to click on an open from. -- Typically we have forms for all physical verification steps. Within my procedure (GUI) I want to ask the user to click on one of these opened Verification Forms, read some informations from there and fill them into my GUI. Essential would be here to get the form handle after clicking on the form.

THANKS in advance!

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    I don't really understand what you're asking for. 

    After clicking on a form, hiGetCurrentForm() will return the form object, but it's not clear to me what you're really expecting other than that. Are you asking how to use hiDisplayAppDBox() to ask the user to do something? Maybe it's obvious, but I don't get what you're asking...

    Andrew.

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

    Hi Andrew,

    yes, hiGetCurrentForm() gives exactly what I need further. The question from my side is the combination of this function call and wait for a users click. A hiPickWindow() for example is waiting for a users input (click). Probably the task is to simple but at the moment i'm mind blocked how to wait for a users click and then call hiGetCurrentForm().

    Thanks Christian

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

    Hi Andrew,

    yes, hiGetCurrentForm() gives exactly what I need further. The question from my side is the combination of this function call and wait for a users click. A hiPickWindow() for example is waiting for a users input (click). Probably the task is to simple but at the moment i'm mind blocked how to wait for a users click and then call hiGetCurrentForm().

    Thanks Christian

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

    This sounds a very strange use model you're trying to implement. The hiPickWindow is specifically for picking windows rather than forms (and I don't think I've ever used it). There is no function to prompt you to pick a form and wait until you've done so. 

    Andrew.

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

    this is my problem - sure hiPickWindow does not work (it is just an example that after calling hiPickWindow it waits until you pick resp. click a window and gives you the window id). Now I want to do the same for forms. -- I want to ask the user for clicking a form to get some informations out of it. Typically the user have multiple forms of this kind opened and so hiGetCurrentForm (i guess) gives just the handle of the form with the last focus on it.

    Is there any other way to wait for a users click (somewhere on the screen, not bound to windows)? This I can then use to get the last focus on a form and then use hiGetCurrentForm to retrive the informations.

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

    Hi Andrew,

    even worse - if I simply use the hiGetCurrentForm command, I will retrieve always just the informations from my own GUI (Form) because this is always the last form where I called the hiGetCurrentForm from. So I need a click of a user in between.

    Do you know ANY other procedure where skill waits for a users click somewhere on the screen not bound to windows (like hiPickWindow)?

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

    You could call hiPickWindow(), and then when it returns, call hiGetCurrentForm(). If you clicked on the other form (rather than a window) it returns nil, but the next hiGetCurrentForm() would be the right form.

    I think it's a strange use model, but if you really want to do this, that seems to work for me.

    Andrew.

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

    Hi Andrew again,

    First of all I thought I tested this already and it wasn't working at all but after testing it again, it was working "somehow".

    After now implementing it as callback to a hiCreateButton:

    procedure( GetInfoFromForm()
        let(    (
            )
        println("Click on Verification GUI")
        when(hiPickWindow()==nil println(hiGetCurrentForm()~>hiFormSym))
        println("Thanks")
        );let
    )

    It turned out, that after click the focus leaves still on my gui and i will not get the clicked gui.

    Christian

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

    why is it a "strange use model" if a GUI tries to use informations from another GUI in a flexible way?

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

    OK, it doesn't change the active form when used within a form callback. I tried various things to get around this, but couldn't find anything that works. Given that hiPickWindow isn't really intended for this purpose, I guess it's not entirely surprising that it doesn't achieve what you want here. So I can't think of any way of doing this. Maybe you could check which forms (of the type you want) are displayed (using hiIsFormDisplayed) and then offer a cyclic field to pick the one you want?

    I've just never seen any application that works this way (within or outside of Cadence tools), which is why it strikes me as a strange use model.

    • 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