• 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. Nested cyclic fields in two dimensional form

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 142
  • Views 5433
  • 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

Nested cyclic fields in two dimensional form

FormerMember
FormerMember over 9 years ago

Hello everyone,

I wan wondering if it's possible to attach cyclic fields to one choice in another cyclic field? I mean like having a cyclic field with different choices, one of these choices has an arrow that leads to another cyclic field with different choices?

Thanks,

Sherif

  • Cancel
  • skillUser
    skillUser over 9 years ago
    Hi Sherif,

    you just make the callback of the first cyclic affect the available choices of the second cyclic. They cannot be 'nested' as such, but you can 'cascade' them so that one cyclic field choice affects the next cyclic field. If you are looking to do this for lib/cell/view then there is a built-in that can do this ddHiCreateLibraryComboField(), ddHiCreateCellComboField() and ddHiCreateViewComboField() (this may only be in the latest versions, IC617/ICADV12.2, not sure about when exactly this was added).

    I hope this helps you!

    Lawrence.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • FormerMember
    FormerMember over 9 years ago
    Thanks Lawrence!
    This will make me display another field on my form which can be for example disabled until I choose a particular choice in the first cyclic field to enable it. But I was looking for that "arrow" look, like in the menu of virtuoso, this must have been done with SKILL as well. How was that done?!
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RK56
    RK56 over 9 years ago

    Hi Sherif,

    I would do this in the following way of creating a choice table

    choiceTable = makeTable('choiceTable)

    choiceTable["Alphabets"] = parseString("ABCDEF" "")
    choiceTable["Numbers"] = parseString("123456" "")
    choiceTable["Punctuation"] = parseString(",./;\":'" "")

    choice1 = hiCreateCyclicField(
        ?name 'choice1
        ?choices choiceTable~>?
        ?prompt "Choice 1"
        ?callback "cocForm->choice2->choices=choiceTable[cocForm->choice1->value]"
        )

    choice2 = hiCreateCyclicField(
        ?name 'choice2
        ?choices choiceTable["Numbers"]
        ?prompt "Choice 2"
        )
    cocForm = hiCreateAppForm(
       ?name 'cocForm
       ?fields list(choice1 choice2)
       ?formTitle "Choice O Choice"
      )
    hiDisplayForm(cocForm)

    Thanks

    RK

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • FormerMember
    FormerMember over 9 years ago

    Hi Ram, thanks for your input. This is actually not what I'm looking for. What I want is something like what hiCreateSliderMenuItem does. It creates a submenu that can be displayed when the field is in focus. I'm afraid such an option is not available for forms as well. Someone might correct me if I'm wrong!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    One possibility (although not sure I like this) is to have a button which when pressed launches a popup menu (which is a menu, so can have slider entries). Selecting the value of that menu could then update something on the form (such as the text in the button).

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • FormerMember
    FormerMember over 9 years ago

    Thanks Andrew. I already implemented another solution which is not really what I wanted but i'm not going to change it. Thanks everyone!

    • 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