Added a "Place" button in the cell manager after realizing that
other commands like "Place Instance" and "Library Manager" do not track cells in the internal database, and so are unable to place a cell instance that does not have a corresponding file on disk (e.g., a cell read from GDS or LEF).
This commit is contained in:
parent
68a088943f
commit
dfe3a4defd
|
|
@ -34,6 +34,7 @@ proc magic::instcallback {command} {
|
||||||
if { $cellpath == {} } {
|
if { $cellpath == {} } {
|
||||||
switch $command {
|
switch $command {
|
||||||
load {$winname load $rootdef}
|
load {$winname load $rootdef}
|
||||||
|
place {$winname getcell $rootdef}
|
||||||
default {
|
default {
|
||||||
magic::select top cell
|
magic::select top cell
|
||||||
switch $command {
|
switch $command {
|
||||||
|
|
@ -51,6 +52,7 @@ proc magic::instcallback {command} {
|
||||||
|
|
||||||
switch $command {
|
switch $command {
|
||||||
load {$winname load $celldef}
|
load {$winname load $celldef}
|
||||||
|
place {$winname getcell $celldef}
|
||||||
default {
|
default {
|
||||||
# Here: need to check first for the select cell belonging to the
|
# Here: need to check first for the select cell belonging to the
|
||||||
# current loaded root cell (get the first use).
|
# current loaded root cell (get the first use).
|
||||||
|
|
@ -105,11 +107,14 @@ proc magic::makecellmanager { mgrpath } {
|
||||||
button ${mgrpath}.actionbar.edit -text "Edit" -command {magic::instcallback edit}
|
button ${mgrpath}.actionbar.edit -text "Edit" -command {magic::instcallback edit}
|
||||||
button ${mgrpath}.actionbar.load -text "Load" -command {magic::instcallback load}
|
button ${mgrpath}.actionbar.load -text "Load" -command {magic::instcallback load}
|
||||||
button ${mgrpath}.actionbar.expand -text "Expand" -command \
|
button ${mgrpath}.actionbar.expand -text "Expand" -command \
|
||||||
{magic::instcallback expand}
|
{magic::instcallback expand}
|
||||||
|
button ${mgrpath}.actionbar.place -text "Place" -command \
|
||||||
|
{magic::instcallback place}
|
||||||
|
|
||||||
pack ${mgrpath}.actionbar.load -side left
|
pack ${mgrpath}.actionbar.load -side left
|
||||||
pack ${mgrpath}.actionbar.edit -side left
|
pack ${mgrpath}.actionbar.edit -side left
|
||||||
pack ${mgrpath}.actionbar.expand -side left
|
pack ${mgrpath}.actionbar.expand -side left
|
||||||
|
pack ${mgrpath}.actionbar.place -side left
|
||||||
pack ${mgrpath}.actionbar.done -side right
|
pack ${mgrpath}.actionbar.done -side right
|
||||||
|
|
||||||
label ${mgrpath}.target.name -text "Target window:"
|
label ${mgrpath}.target.name -text "Target window:"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue