• 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 use 'ddSyncWithForm()' inside a TabField?

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 143
  • Views 590
  • 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 use 'ddSyncWithForm()' inside a TabField?

Manikk0501
Manikk0501 over 10 years ago

Hi,

                        I created a SKILL GUI containing two Tabs. I want to add 'ddSyncWithForm()' as a callback to one of Button Widget i created. Anyone tried this before? . If so, can you please direct me how can i do this

Thanks and Regards,

Manikandan Kuzandhaivelu

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Hi Manikandan,

    The trick is to pass the tab page as the form argument to ddsSyncWithForm. For example, in this code:

    procedure( CCStabFormCreate()
     let((
           ( xWidth  330 )
           ( yDelta  30 )
           ( prompt  126 )
           LayoutLib LayoutCell LayoutView Reason LayoutBrowse
           tabfield1 tabfield2 tabField
        )

         LayoutLib=
          hiCreateStringField(
            ?name     'LayoutLib
            ?prompt      "Library"
            ?value    ""
          ) ; hiCreateStringField

        LayoutCell=
          hiCreateStringField(
            ?name     'LayoutCell
            ?prompt      "Cell"
            ?value    ""
          ) ; hiCreateStringField

        LayoutView=
          hiCreateStringField(
            ?name     'LayoutView
            ?prompt      "View"
            ?value    ""
          ) ; hiCreateStringField

        Reason=
          hiCreateStringField(
            ?name     'Reason
            ?prompt      "Reason"
            ?value    ""
          ) ; hiCreateStringField

        LayoutBrowse=
          hiCreateButtonBoxField(
            ?name     'LayoutBrowse
            ?choices  list( "Browse" )
            ?callback
            ;list( "ddsSyncWithForm( CCStabForm 'browse 'LayoutLib 'LayoutCell 'LayoutView )" )
            list( "ddsSyncWithForm( eval(CCStabForm->tabField->page1) 'browse 'LayoutLib 'LayoutCell 'LayoutView )" )
            ?prompt      " "
          ) ; hiCreateButtonBoxField
            
        tabfield1 = list(
                       list(LayoutBrowse  xWidth/2:1*yDelta  xWidth/2 :yDelta-10  prompt/2        )
                       list(LayoutLib           10:2*yDelta  xWidth-20:yDelta      prompt/2        )
                       list(LayoutCell          10:3*yDelta  xWidth-20:yDelta      prompt/2        )
                       list(LayoutView          10:4*yDelta  xWidth-20:yDelta      prompt/2        )
                    )
                    
        tabfield2 = list(
                       list(LayoutLib           10:2*yDelta                xWidth-20:yDelta  prompt/2        )
                       list(LayoutCell          10:3*yDelta                xWidth-20:yDelta  prompt/2        )
                       list(LayoutView          10:4*yDelta                xWidth-20:yDelta  prompt/2        )
                       list(Reason              10:5*yDelta                xWidth-20:yDelta  prompt/2        )
                    )

        tabField = hiCreateTabField(
              ?name                                'tabField
              ?notebookStyle nil
              ?pageScroller        nil
              ?tabPlacement        'top
              ?tabs                                list("first" "second")
              ?fields                        list(tabfield1 tabfield2)
              ?value                        1
             )

          hiCreateAppForm(
            ?name                    'CCStabForm
            ?fields                 list(list(tabField 0:0 xWidth+5:13*yDelta+15 0))        
            ?initialSize list( xWidth+5 13*yDelta+15)
           )

         hiDisplayForm(CCStabForm)
    ))

    Note that this example is a little peculiar, because it has the same lib/cell/view fields on both the first two pages. However, see the callback for the button - you should get the idea from this.

    Regards,

    Andrew.

    • 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