• 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. Error constantly pops up after defining a custom dockable...

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 143
  • Views 6976
  • 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

Error constantly pops up after defining a custom dockable window

Dario T
Dario T over 1 year ago

Hi, 

i'm trying to convert a form that i made a couple weeks ago into a docking window for ease of use but after executing the script and effectively showing my docking window i get this weird error whenever i select anything on the layout or when i try to execute any kind of command like for example a move or a stretch:

mgc_calibre_realtime_Btn1Down() mouseSingleSelectPt()
*Error* parseString: argument #1 should be either a string or a symbol (type template = "SSg") at line 0 of file "*ciwInPort*" - nil
t

which brings focus to the CIW and it becomes crazy to work with because every time i press anything on a layout the CIW pops up so my input is conveyed to the CIW instead of the layout...

I'm using ICADVM 20.1-64b.500.28.EHF13629

this is the code of my docking form, i hope someone can explain me what i did wrong and how to solve this inconvenient, because the docking window works as i expected but the CIW does not...



defvar(dockFormTest)
procedure(dockForm()
prog((Grid1 Grid2)
Grid1=hiCreateGridLayout(
'Grid1
?items
list(
list(hiCreateLabel(
?name 'funct1_l1
?labelText "function1-set1"
)
'row 0 'col 0
)
list(hiCreateButton(
?name 'btn1
?buttonText "btn1"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function1(dockFormTest~>inst \"1\")
else
warn(\"Please select instances before clicking the button\"))"
)
'row 1 'col 0
)
list(hiCreateButton(
?name 'btn2
?buttonText "btn2"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function1(dockFormTest~>inst \"2\")
else
warn(\"Please select instances before clicking the button\"))"

)
'row 2 'col 0
)
list(hiCreateButton(
?name 'btn3
?buttonText "btn3"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function1(dockFormTest~>inst \"3\")
else
warn(\"Please select instances before clicking the button\"))"
)
'row 3 'col 0
)
list(hiCreateLabel(
?name 'funct1_l2
?labelText "function1-set2"
)
'row 4 'col 0
)
list(hiCreateButton(
?name 'btn4
?buttonText "btn4"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function1(dockFormTest~>inst \"4\")
else
warn(\"Please select instances before clicking the button\"))"

)
'row 5 'col 0
)
list(hiCreateButton(
?name 'btn5
?buttonText "btn5"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function1(dockFormTest~>inst \"5\")
else
warn(\"Please select instances before clicking the button\"))"
)
'row 6 'col 0
)
list(hiCreateButton(
?name 'btn6
?buttonText "btn6"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function1(dockFormTest~>inst \"6\")
else
warn(\"Please select instances before clicking the button\"))"
)
'row 7 'col 0
)
list(hiCreateLabel(
?name 'funct1_l3
?labelText "function1-set3"
)
'row 8 'col 0
)
list(hiCreateButton(
?name 'btn7
?buttonText "btn7"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function1(dockFormTest~>inst \"7\")
else
warn(\"Please select instances before clicking the button\"))"
)
'row 9 'col 0
)
list(hiCreateButton(
?name 'btn8
?buttonText "btn8"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function1(dockFormTest~>inst \"8\")
else
warn(\"Please select instances before clicking the button\"))"
)
'row 10 'col 0
)
list(hiCreateButton(
?name 'btn9
?buttonText "btn9"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function1(dockFormTest~>inst \"9\")
else
warn(\"Please select instances before clicking the button\"))"
)
'row 11 'col 0
)
list(hiCreateLabel(
?name 'funct1_l4
?labelText "function1-set4"
)
'row 12 'col 0
)
list(hiCreateButton(
?name 'btn10
?buttonText "btn10"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function1(dockFormTest~>inst \"10\")
else
warn(\"Please select instances before clicking the button\"))"
)
'row 13 'col 0
)
list(hiCreateButton(
?name 'btn11
?buttonText "btn11"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function1(dockFormTest~>inst \"11\")
else
warn(\"Please select instances before clicking the button\"))" )
'row 14 'col 0
)
; only the entry fields are stretchable
; the labels do not stretch
list('col_stretch 0 0)
list('col_min_width 0 100)
)
?frame "Frame1"
)

Grid2=hiCreateGridLayout(
'Grid2
?frame "Grid 2"
?enabled nil
?invisible t
?items
list(
list(hiCreateLabel(
?name 'f2_lab1
?labelText "f2_lab1"
)
'row 0 'col 0
)

list(hiCreateButton(
?name 'f2_btn1
?buttonText "btn1"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function2(dockFormTest~>inst \"1\")
else
warn(\"Please select instances to convert before clicking the button\"))"
)
'row 1 'col 0
)

list(hiCreateButton(
?name 'f2_btn2
?buttonText "btn2"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function2(dockFormTest~>inst \"2\")
else
warn(\"Please select instances to convert before clicking the button\"))"
)
'row 2 'col 0
)

list(hiCreateLabel(
?name 'f2_lab2
?labelText "Boundary to:"
)
'row 3 'col 0
)
list(hiCreateButton(
?name 'f2_btn3
?buttonText "btn3"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function2(dockFormTest~>inst \"3\")
else
warn(\"Please select instances to convert before clicking the button\"))"
)
'row 4 'col 0
)
list(hiCreateButton(
?name 'f2_btn4
?buttonText "btn4"
?callback "dockFormTest~>inst = setof(obj geGetSelectedSet(geGetWindowCellView()) obj~>objType == \"inst\")
if(length(dockFormTest~>inst)
then
my_function2(dockFormTest~>inst \"4\")
else
warn(\"Please select instances to convert before clicking the button\"))"
)
'row 5 'col 0
)
)
)
unless(hiIsForm(dockFormTest)
hiCreateLayoutForm(
'dockFormTest
"DockableFormTest"
hiCreateGridLayout(
'topLayout
?spacing list(5 15)
?items
list(
list(hiCreateRadioField(
?name 'gridChoiceField
?value "1"
?choices '("1" "2")
?callback list("dockFormTest~>Grid1~>enabled = t
dockFormTest~>Grid1~>invisible = nil
dockFormTest~>Grid2~>enabled = nil
dockFormTest~>Grid2~>invisible = t
"
"dockFormTest~>Grid1~>enabled = nil
dockFormTest~>Grid1~>invisible = t
dockFormTest~>Grid2~>enabled = t
dockFormTest~>Grid2~>invisible = nil
")
)
'row 0 'col 0 'col_span 2
)
list(Grid1 'row 1 'col 0)
list(Grid2 'row 1 'col 0)
list(hiCreateLabel(
?name 'extraLablel
?labelText "Extra Tools:"
)
'row 2 'col 0
)
list(hiCreateButton(
?name 'extra_btn2
?buttonText "extra 2"
?callback "myfun3()"
?toolTip "Launch extra gui"
)
'row 4 'col 0
)
list(hiCreateButton(
?name 'extra_btn1
?buttonText "extra 1"
?callback "my_function1(dockFormTest~>wId \"extra 1\")"
)
'row 3 'col 0
)
)
)
?callback "printf(\"Test\")"

)
)
;hiDisplayForm(dockFormTest)
dockFormTest~>wId = geGetWindowCellView()
dockFormTest~>inst = list()
unless(dwindowp(dockFormTest~>dckWin)
dockFormTest~>dckWin = hiCreateDockWindow(?appType "form" ?widgetType "form" ?form dockFormTest)
)
hiDockWindow(?window dockFormTest~>dckWin ?session hiGetSessionWindow(hiGetCurrentWindow()) ?side 'left ?index 0)
)
)



Thanks in Advance,

Dario


*EDIT*

I've tried to fix the indentation a bit and hopefully uploaded a text file with the formatting.

sorry for the inconvinient.

Dario

  • Cancel
Parents
  • Dario T
    Dario T over 1 year ago

    I forgot to mention that i'm using ICADVM20.1

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Dario T
    Dario T over 1 year ago

    I forgot to mention that i'm using ICADVM20.1

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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