• 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. Is there any way to disable "Drag and Move" in Virtuoso...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 149
  • Views 3843
  • 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

Is there any way to disable "Drag and Move" in Virtuoso LE?

sparksu
sparksu over 15 years ago

Is there any way to do that?

Thanks very much.

  • Cancel
  • dmay
    dmay over 15 years ago

    If I understand your question correctly, you dislike the bindkey setting for when you drag you mouse with button 1 pressed. If you check your bindkey settings, you will see that "Drawthru1" is set to "leSelBoxOrStretch". In your CIW, type this:

    hiGetBindKey("Layout" "<Drawthru1>")
    The result should be: list("<DrawThru1>"          "leSelBoxOrStretch()"

    This bindkey tells Cadence that if something is selected under the cursor, it will be stretched or moved. If nothing is selected, it will create a selection box. We found that this bindkey caused more problems for us with many large objects getting moved inadvertantly, so we change the bindkey:

    hiSetBindKey("Layout" "<Drawthru1>" "geSingleSelectBox()")

    I hope this helps.

    Derek

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • sparksu
    sparksu over 15 years ago

    Thanks very much.

    It works.

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

    You might also find this code useful - I wrote it a rather long time ago, to aid switching back and forth between dragging or selection. I think it should still work (I see the bindkey for DrawThru1 in layout is leSelBoxOrStretch nowadays - it used to be leiSelBoxOrStretch, but these are aliases anyway so should still be find.

    /* abSetMouseKeys.il

    Author A.D.Beckett
    Group Structured Custom, Cadence Design Systems Ltd
    Machine SUN
    Date May 09, 1994
    Modified
    By

    Change the mouse keys to either edit mode or select mode

    There are two main entry points into these functions:

    (abHiSetMouseKeys)
    - brings up a form to set mouse bindings for applications

    (abSetMouseKeys application mode)
    - sets the bindings directly - e.g. in your .cdsinit file
    for example (abSetMouseKeys "Schematics" "select") sets the
    mouse keys so that they only select, and not drag-move in the
    schematic editor.

    ***************************************************

    SCCS Info: @(#) abSetMouseKeys.il 11/20/08.15:26:20 1.2

    */


    /***************************************************************
    * *
    * (abSetMouseKeys application mode) *
    * *
    * Set the mouse keys to be in mode "edit" or mode "select". *
    * This means that you can drag edit, or drag select boxes. *
    * mode "toggle" is allowed to toggle the definition. *
    * *
    ***************************************************************/


    (procedure (abSetMouseKeys application mode)
    (when (equal mode "toggle")
    (if (equal (hiGetBindKey application "<DrawThru1>") "geSingleSelectBox()")
    (setq mode "edit")
    (setq mode "select")))
    (case mode
    ("edit"
    (case application
    ("Layout"
    (hiSetBindKey application "<DrawThru1>" "leiSelBoxOrStretch()"))
    (("Schematics" "Symbol")
    (hiSetBindKey application "<DrawThru1>" "schDirectEdit(1)")
    (hiSetBindKey application "Shift<DrawThru1>" "schDirectEdit(2)")
    (hiSetBindKey application "Ctrl<DrawThru1>" "schDirectEdit(3)"))
    (t
    (warn "Cannot set mouse keys for application %s" application))))
    ("select"
    (case application
    ("Layout"
    (hiSetBindKey application "<DrawThru1>" "geSingleSelectBox()"))
    (("Schematics" "Symbol")
    (hiSetBindKey application "<DrawThru1>" "geSingleSelectBox()")
    (hiSetBindKey application "Shift<DrawThru1>" "geAddSelectBox()")
    (hiSetBindKey application "Ctrl<DrawThru1>" "geSubSelectBox()"))
    (t
    (warn "Cannot set mouse keys for application %s" application))))
    (t
    (error "Unrecognised mode %s for abSetMouseKeys" mode)))
    )

    /***************************************************************
    * *
    * (abCreateSetMouseKeysForm) *
    * *
    * Create the form for setting the mouse keys *
    * *
    ***************************************************************/


    (procedure (abCreateSetMouseKeysForm)
    (let (application mode)
    (setq application
    (hiCreateCyclicField
    ?name 'application
    ?prompt "Application"
    ?choices '("Layout" "Schematics" "Symbol")
    ?value "Layout"
    ?callback "(abSetModeField)"))
    (setq mode
    (hiCreateCyclicField
    ?name 'mode
    ?prompt "Mouse mode"
    ?choices '("select" "edit")
    ?value "select"))
    (setq abSetMouseKeysForm
    (hiCreateAppForm
    ?name 'abSetMouseKeysForm
    ?fields (list
    (list application 0:0 400:35 105)
    (list mode 0:35 400:35 105)
    )
    ?formTitle "Mouse Drag Settings"
    ?callback 'abHiSetMouseKeysCB))
    ))

    /***************************************************************
    * *
    * (abSetModeField) *
    * *
    * Callback to set the mode field to the right value for the *
    * application *
    * *
    ***************************************************************/


    (procedure (abSetModeField)
    (let (application mode)
    (setq application (getq (getq abSetMouseKeysForm application) value))
    (if (equal (hiGetBindKey application "<DrawThru1>") "geSingleSelectBox()")
    (setq mode "select")
    (setq mode "edit"))
    (putpropq (getq abSetMouseKeysForm mode) mode value)))

    /***************************************************************
    * *
    * (abHiSetMouseKeysCB form) *
    * *
    * Callback to set the mouse key type *
    * *
    ***************************************************************/


    (procedure (abHiSetMouseKeysCB form)
    (let (application mode)
    (setq application (getq (getq form application) value))
    (setq mode (getq (getq form mode) value))
    (abSetMouseKeys application mode)))

    /***************************************************************
    * *
    * (abHiSetMouseKeys) *
    * *
    * Entry point to bring up the set mouse keys form *
    * *
    ***************************************************************/


    (procedure (abHiSetMouseKeys)
    (unless (boundp 'abSetMouseKeysForm) (abCreateSetMouseKeysForm))
    (abSetModeField)
    (hiDisplayForm abSetMouseKeysForm))

     

    • 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