• 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. Save a Skill written Toolbar within a Custom Workspace

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 143
  • Views 10826
  • 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

Save a Skill written Toolbar within a Custom Workspace

kdolan
kdolan over 3 years ago

Hi,

I have created a toolbar via Skill and when a layout cellview is opened, the toolbar is inserted into the Windows->Toolbars drop down from where the user can toggle the toolbar on and off. 

My issue is if I enable my custom toolbar, position it as I wish in my layout workspace, then save the workspace so as to capture the positioning of this toolbar, the next time I launch Cadence and open a layout cellview, the saved workspace no longer includes my custom toolbar. 

My question is, is there a way to save my custom skill toolbar as part of my custom workspace, so that a restart of Cadence would remember the toolbar settings and positioning within the workspace.

Thanks,

Keelan

  • Cancel
  • mbracht
    mbracht over 3 years ago

    Hi Keelan,

    Yes there is - in the toolbar right next to the combo box where you choose the workspace there is an icon that let's you "Save workspace" - that brings up a dialog where you are prompted for where you want to save it. Alternatively you can call the SKILL function _deSaveWinConfig()

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kdolan
    kdolan over 3 years ago in reply to mbracht

    Hi Max,

    Saving the workspace is not an issue. The issue is that for whatever reason, when I launch a layout cellview, I need to change to a different workspace and then back again, for my custom skill toolbar to show in the workspace. Not really sure why this is happening. 

    Keelan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kdolan
    kdolan over 3 years ago in reply to kdolan

    This is the test code I am trying to get working.

    I want the user to be able to select this toolbar from the toolbar drop down menu to make it active. Then save the workspace so that the toolbar is apart of the workspace. Relaunch Cadence and the toolbar will automatically be positioned into the users saved workspace. 

    procedure(customToolbarKeelanSkill(args)
    let((
    ViewcdsTBKeelan win

    );let params

    ;=======================================================
    ;Do not delete this line.Needs for toolbar to work
    ;=======================================================
    args
    ;=======================================================

    ViewcdsTBKeelan = hiCreateAction( ?name 'ViewcdsTBKeelan
    ?callback "view(\"~/.cdsinit\")"
    ?toolTip "View .cdsinit"
    ?enabled t
    ?iconText "cdsinit"
    )

    ;Create the toolbar if doesn't exists
    ;For debuging(nultiple load in the same session) comment ;unless(boundp('customToolbarKeelanSkill) and ;);unless boundp
    unless(boundp('customToolbarKeelanSkill)
    customToolbarKeelanSkill = hiCreateToolbar(
    ?name 'customToolbarKeelanSkill
    ?title "Keelan Custom Skill Toolbar"
    ?toolButtonStyle 'iconOnly
    ?toolTip "Keelan Custom Skill Toolbar"
    ?invisible nil
    ?items list(
    ViewcdsTBKeelan
    )
    )
    );unless boundp


    win=hiGetCurrentWindow()

    deManageToolbar( hiGetSessionWindow(win) customToolbarKeelanSkill)

    ;hiPlaceToolbar(hiGetSessionWindow(win) customToolbarKeelanSkill 'bottom)

    ;hiHideToolbar(customToolbarKeelanSkill)

    );let
    );procedure


    deRegUserTriggers("maskLayout" nil nil 'customToolbarKeelanSkill)
    deRegUserTriggers("maskLayoutXL" nil nil 'customToolbarKeelanSkill)
    if(rexMatchp("20.1" nth(3 parseString(getVersion() " "))) != nil then
    deRegUserTriggers("maskLayoutEXL" nil nil 'customToolbarKeelanSkill)
    )

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mbracht
    mbracht over 3 years ago in reply to kdolan

    Hi Keelan,

    I tried this code of yours and it works a treat for me - only thing I did was to uncomment the hiPlaceToolBar() function - I guess you accidently placed the semicolon there didn't you. I have two workspaces in my Layout Editor, Classic (the default one...) and Basic. I then saved the custom tool bar being activated (in Windows - Toolbars) in the Classic workspace and the one being deactivated in the Basic workspace. I then restart virtuoso and open a Layout - the VLE starts out with the Classic workspace and the custom toolbar being visible at the bottom of the VLE. Switching to the Basic workspace makes the custom toolbar disappear. So everything's as expected, well for me at least.

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mbracht
    mbracht over 3 years ago

    Keelan,

    Let me make another remark to this - the best way way to achieve what you want is in terms of the Toolbar Manager (CIW - Options - Toolbars) and then save it to whatever work space you want. That way you don't need any SKILL in the first place.

    Max

    • 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