From 11babab5cfdb990ff9419ba4940096bc7c915c28 Mon Sep 17 00:00:00 2001 From: Stefan Frederik Date: Mon, 29 Aug 2022 13:24:43 +0200 Subject: [PATCH] faster toolbar creation, 2px reduction in toolbar height, better add_custom_button.tcl and add_custom_menu.tcl example codes --- src/add_custom_button.tcl | 35 +++++--- src/add_custom_menu.tcl | 6 ++ src/resources.tcl | 162 +++++++++++++++++++++++++------------- src/xschem.tcl | 25 +++--- 4 files changed, 150 insertions(+), 78 deletions(-) diff --git a/src/add_custom_button.tcl b/src/add_custom_button.tcl index 6b5dd96c..0c8cfcad 100644 --- a/src/add_custom_button.tcl +++ b/src/add_custom_button.tcl @@ -1,8 +1,8 @@ -# This example shows how to add a custom toolbar button to xschem -# Stefan Schippers 20220827 +## This example shows how to add a custom toolbar button to xschem +## Stefan Schippers 20220827 -# 24x24 GIF image (so it will be loaded by 20 years old tcl8.4, recent -# tcl accepts also PNG). Transparent background, encoded as base64 +## 24x24 GIF image (so it will be loaded by 20 years old tcl8.4, recent +## tcl accepts also PNG). Transparent background, encoded as base64 set MyButtonData { R0lGODlhGAAYAPcAACIiIiMjIyUlJSYmJicnJykpKSoqKisrKywsLDAwMDExMTIyMjMzMzQ0NDU1 NTY2Njc3Nzg4ODk5OTo6Oj09PT4+Pj8/P0FBQUJCQkNDQ0REREVFRUZGRklJSUxMTE1NTU5OTlFR @@ -27,15 +27,26 @@ set MyButtonData { Ow== } -# Add a "MyButton" button to toolbar_list +## Add a "MyButton" button to toolbar_list lappend toolbar_list MyButton -# Create an image object. Name should be img -image create photo imgMyButton -data $MyButtonData +## Create an image object. Name should be img +image create photo imgMyButton +imgMyButton put $MyButtonData -# Create the toolbar button -# constructor name tcl command tooltip topwindow +## Create the toolbar button +## constructor name tcl command tooltip topwindow toolbar_create MyButton { puts SMILE! } "SMILE!" {} -# destroy and rebuild the toolbar -toolbar_hide -toolbar_show + +## Destroy and rebuild the toolbar, but see better option here under ... +# toolbar_hide +# toolbar_show + +## ... More efficient way: just add the new button ... +pack .toolbar.bMyButton -side left + +## ... or place it before some other button: +# pack .toolbar.bMyButton -after .toolbar.bViewToggleColors -side left + +## To remove the button without destroying it: +# pack forget .toolbar.bMyButton diff --git a/src/add_custom_menu.tcl b/src/add_custom_menu.tcl index f0016a6b..2492f51a 100644 --- a/src/add_custom_menu.tcl +++ b/src/add_custom_menu.tcl @@ -14,4 +14,10 @@ menu .menubar.test.menu -tearoff 0 ## make the menu appear in xschem window pack .menubar.test -side left +## or place it before some other menu entry: +# pack .menubar.test -before .menubar.file -side left + +## To remove the menu without destroying it: +# pack forget .menubar.test + diff --git a/src/resources.tcl b/src/resources.tcl index 81f6e925..edf7d0ea 100644 --- a/src/resources.tcl +++ b/src/resources.tcl @@ -64,7 +64,8 @@ ## FILE -image create photo imgFileOpen -data " +image create photo imgFileOpen +imgFileOpen put " R0lGODlhGAAYAPYAAAAAAAEBAQMDAwQEBAUFBQcHBwgICAkJCQsLCw0NDRISEhMTExcXFxkZGRwc HB0dHR4eHiEhISYmJisrKywsLDAwMDExMTIyMjY2Njc3Nzk5OUREREVFRUZGRk5OTlRUVFlZWVpa Wl1dXV5eXmBgYGhoaGlpaW1tbW5ubm9vb3BwcHl5eXp6en19fYGBgYKCgouLi5OTk5SUlJWVlZ2d @@ -78,7 +79,8 @@ KuHi4+Ti3ysLubbr7LoLEOrt8gAIEBcJ8/MIFx0L+fILOoBg8K8dAxAoIBRkBwFFiwgL10V4IUNC RFsSZNigcJEUBRs6OHbEdEEHEQwjMWEgkqRDSgAdkjihgcKRzZs4b6Kg4WSSz58+AwEAOw== " -image create photo imgFileSave -data " +image create photo imgFileSave +imgFileSave put " R0lGODlhGAAYAPUAAAAAAAEBAQICAgMDAwQEBAUFBQcHBzExMT4+Pj8/P0FBQUNDQ0REREVFRUdH R0hISElJSV9fX2BgYGFhYWJiYmVlZWdnZ2hoaGlpaW1tbW5ubm9vb3BwcHNzc3R0dJOTk6Ghoaam pqqqqq2trbGxsbKysrOzs7a2trq6usHBwcLCwsPDw8TExMbGxsfHx8rKytXV1ebm5urq6uzs7O3t @@ -89,7 +91,8 @@ GrCdkwbCwp6lprLGycqxQrPKz8fN0NDMOs7TxtXX2Gza3Mne36XVa+JskUMkZeIGDSdETE5P8/T0 HiRpSvr7/ENBADs= " -image create photo imgFileReload -data " +image create photo imgFileReload +imgFileReload put " R0lGODlhGAAYAPYAAAAAAAEBAQICAgQEBAUFBQcHBwgICAsLCw0NDQ4ODg8PDxMTExQUFBoaGhsb GxwcHB8fHyAgICEhIScnJysrKywsLDg4OD4+Pj8/P0BAQEFBQUJCQkZGRk9PT1VVVVZWVmFhYWdn Z2hoaGlpaWtra2xsbHNzc4yMjJaWlpqamqSkpKWlpaqqqq2trbOzs7a2tri4uL6+vsHBwcPDw8TE @@ -105,7 +108,8 @@ xIvPKqhYRqCjx48gPRrQsELIjhsyUqpcyXLljiL+YsqcSXNRIAA7 ## EDIT -image create photo imgEditUndo -data " +image create photo imgEditUndo +imgEditUndo put " R0lGODlhGAAYAPYAAAAAAAEBAQICAgMDAwUFBQcHBw0NDQ4ODg8PDxAQEBERERMTExQUFBUVFRcX FxgYGBkZGRsbGxwcHB0dHR4eHiAgICIiIioqKiwsLENDQ0REREtLS1NTU1RUVFxcXGFhYWdnZ2ho aGlpaWpqamxsbHJycnR0dHV1dXd3d3h4eHx8fICAgISEhIWFhYaGhoqKipCQkJGRkZSUlJWVlZqa @@ -119,7 +123,8 @@ mEIox7oFBgXJCShFhkIpra4ZODc0MyskGxUFEjTWhEYlILgaNWiKER4wPEDg0OMQlBIVREl60iJD C3/XoqTYhChLlhsrhAjDFEXFC0VTfOwYaUiJkkVRgpEilAXjzJs4GQUCADs= " -image create photo imgEditRedo -data " +image create photo imgEditRedo +imgEditRedo put " R0lGODlhGAAYAPYAAAAAAAEBAQICAgUFBQcHBw0NDQ4ODhAQEBERERISEhUVFRcXFxgYGBoaGhwc HB0dHR4eHiAgICEhISMjIyoqKkNDQ0REREtLS1NTU1ZWVl1dXWBgYGdnZ2hoaGlpaWpqamtra2xs bG1tbXJycnNzc3R0dHV1dXZ2dnd3d3h4eHt7e3x8fH9/f4KCgoODg4SEhIWFhYeHh4qKipCQkJGR @@ -133,7 +138,8 @@ BhxIpUYlBs0EBr+z6SNEpU83vhMXITE2Nzg5FsCaRIU9MkDQQIOHkieETjUooYqQlBYVYpA6xAHA hBFOClkREgOHFWMJF5TgpHGHD4SJZLAgqRFJRkVKlCSSAtKTzZs4bwYCADs= " -image create photo imgEditCopy -data " +image create photo imgEditCopy +imgEditCopy put " R0lGODlhGAAYAPYAAAAAAAcHBwoKCg4ODhAQEBERESUlJSsrKywsLC0tLS4uLi8vLzAwMDExMTMz Mzg4ODk5OTo6OkBAQEFBQURERFJSUlNTU1RUVFVVVVpaWmFhYWRkZGVlZXd3d35+foGBgYODg4SE hIWFhYaGhoiIiJWVlZaWlpmZmZ+fn6urq66urq+vr7S0tLW1tbm5ubu7u76+vr+/v8DAwMTExMzM @@ -148,7 +154,8 @@ Ax+oUPWg0WORDRugaOTIGIQCgAiKZBBKVBIABZLjygVhoS0myRYdWCjq4eEDxiA4W5AcSrQoo0AA Ow== " -image create photo imgEditCut -data " +image create photo imgEditCut +imgEditCut put " R0lGODlhGAAYAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQsLCwwMDA0NDQ4ODhAQ EBERERISEhMTExUVFRYWFhcXFxoaGhsbGx0dHR4eHh8fHyIiIiMjIyQkJCUlJScnJysrKywsLC0t LS8vLzExMTMzMzU1NTY2Njg4ODk5OTo6Ojs7Ozw8PD4+Pj8/P0JCQkNDQ0REREVFRUhISExMTE5O @@ -172,7 +179,8 @@ gWFhFgALMz0ZRURSS7HwBmWUSNWBBTSkFVMMczRiE046iUTJIXnkEchQI5WkQwwLqESZSE9dlBFH AIDwUUgNmeHED+VRxGJtI85oI0MBAQA7 " -image create photo imgEditPaste -data " +image create photo imgEditPaste +imgEditPaste put " R0lGODlhGAAYAPYAAAAAAAEBAQUFBQoKCgsLCw4ODg8PDxAQEBkZGRsbGx0dHR8fHyAgICEhISMj IyYmJicnJy0tLS4uLi8vLzAwMDIyMjMzMzU1NTg4ODk5OUFBQUJCQkREREVFRUZGRkxMTE1NTVBQ UFFRUVRUVFdXV1paWl1dXWpqanR0dHd3d3h4eHx8fH19fX5+foODg4iIiI2NjY+Pj5ycnJ6enqCg @@ -187,7 +195,8 @@ J3szKJwwlIRDAYcFxYF0J7ATBwAZgqhcuXLXuVTUjPm64C2mTF7IVPkI0eKFz58/VZAQ4q2o0aOp AgEAOw== " -image create photo imgEditDelete -data " +image create photo imgEditDelete +imgEditDelete put " R0lGODlhGAAYAPUAAAAAAAEBAQICAgMDAwYGBgcHBw0NDRAQEBQUFBUVFRkZGRoaGi4uLjAwMDEx MTw8PD09PUBAQEZGRklJSVNTU1RUVFhYWICAgIGBgYuLi4+Pj5KSkpOTk5ubm6ioqKmpqaqqqra2 tre3t8PDw8bGxsfHx8zMzM3Nzdra2vHx8fLy8vPz8/T09Pb29vn5+fr6+vz8/P39/f7+/gAAAAAA @@ -197,7 +206,8 @@ FQYFEiRUSjIfDwMHFBYJAw8eYEsyHQwDnAMMHZdMYgecBhl7TiwaBqWnTjOZDZ2eoE2MjgkVFqQP H6FHfX8GFIMUhoiKSG4Kh3N1d3moR2JkZkNoDGuLV1lbXV9Pv7DJr+Xm5+ivQQA7 " -image create photo imgEditDuplicate -data " +image create photo imgEditDuplicate +imgEditDuplicate put " R0lGODlhGAAYAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQsLCwwMDA0NDRERERIS EhMTExQUFBkZGRoaGhwcHB0dHR4eHh8fHyIiIiQkJCcnJygoKCkpKSsrKywsLC4uLi8vLzMzMzQ0 NDY2Njk5OTs7Oz09PT4+Pj8/P0BAQEFBQUREREdHR0lJSUpKSktLS09PT1JSUlRUVFVVVVdXV1pa @@ -221,7 +231,8 @@ GMRjA77OJPUJhJxSHO03iGMDPRFgI+jlNFAiCA5UxYID6tcRQQoCcJ5MMADBw4cghsgDECUsqIYD v6W4AEF13LBCCTDCiAIKMs5IYwku6EAQZIz16GOPhfwYEAA7 " -image create photo imgEditMove -data " +image create photo imgEditMove +imgEditMove put " R0lGODlhGAAYAPYAAAAAAAEBAQICAgYGBgcHBwkJCQsLCxQUFBkZGRoaGhsbGx8fHyEhISIiIiMj IyUlJTc3Nzs7Oz4+Pj8/P0VFRUdHR0lJSUtLS05OTlJSUmRkZGdnZ2lpaWpqanNzc3h4eH19fYqK io2NjZCQkJiYmJmZmZycnJ+fn6GhoaampqqqqrS0tLi4uMLCwsPDw9TU1NbW1uDg4OPj4+Tk5OXl @@ -235,7 +246,8 @@ kUElLtbEGBUriEEiyczMGgoFFSk7xBLBwAMSJvb4wA4dDAXJcKCVQQUDADjwIEOgjVAQZ8iA4CDE qHKCgnwgkQPjoCCePIoc6TEQADs= " -image create photo imgEditPushSch -data " +image create photo imgEditPushSch +imgEditPushSch put " R0lGODlhGAAYAPUAAAAAAAEBAQICAgYGBhAQEBMTExUVFRYWFhgYGBoaGhsbGxwcHB0dHSAgIC4u LjExMTc3Nz4+PnR0dHh4eHx8fIODg4SEhIeHh4iIiIuLi5KSkpOTk5aWlpycnKCgoLCwsNzc3N7e 3t/f3+Dg4OLi4uTk5OXl5ebm5ufn5+np6ezs7PPz8/T09Pb29vr6+vz8/P39/f7+/gAAAAAAAAAA @@ -245,7 +257,8 @@ fStWQy0eDwsJA4EDCQsOHS1EMCEYBYFcBRUhh0QkGAubAAkXIUgwKBQNgQsTJKBGMCoTrmILEimz R7UUCVwJu72qKRcHWgcVKMVKogkHGKlMRiEbG9TVeiuG29/g1UEAOw== " -image create photo imgEditPushSym -data " +image create photo imgEditPushSym +imgEditPushSym put " R0lGODlhGAAYAPUAAAAAAAUFBQoKCgwMDBISEhcXFxsbGx8fHyAgICcnJygoKCwsLDIyMjQ0NDg4 OD09PUNDQ01NTVJSUlVVVVtbW15eXmVlZWpqam1tbXJycoaGho+Pj5mZmZ2dnaqqqq+vr7e3t7i4 uLy8vMLCwsrKys/Pz9PT09jY2N3d3eLi4ujo6O7u7vLy8vf39/v7+wAAAAAAAAAAAAAAAAAAAAAA @@ -256,7 +269,8 @@ CAlvE18oAQAhTRQAGXS5DRYWF0PIGHQKZtEA01+GzRYYvghvEl8nxLMvZg9aK6ELRB8eHw8Aq6yS JiMbBgABa00LolgIgKgyASAABBkwMQkCADs= " -image create photo imgEditPop -data " +image create photo imgEditPop +imgEditPop put " R0lGODlhGAAYAPUAAAAAAAEBAQICAgYGBhAQEBMTExUVFRYWFhgYGBoaGhsbGxwcHB0dHSAgIC4u LjExMTc3Nz4+PnR0dHh4eHx8fIODg4SEhIeHh4iIiIuLi5KSkpOTk5aWlpycnKCgoLCwsNzc3N7e 3t/f3+Dg4OLi4uTk5OXl5ebm5ufn5+np6ezs7PPz8/T09Pb29vr6+vz8/P39/f7+/gAAAAAAAAAA @@ -271,7 +285,8 @@ uVEuvIy+S8C4usTBg8NKxb3HzMl6y3YfGxzX2BsftV/d3t9LQQA7 ## VIEW -image create photo imgViewZoomIn -data " +image create photo imgViewZoomIn +imgViewZoomIn put " R0lGODlhGAAYAPUAAAAAAAEBAQYGBggICBERERISEhMTExQUFBoaGjc3Nzg4OD4+PkFBQUJCQklJ SUpKSktLS0xMTF5eXl9fX2BgYGxsbHd3d3l5eXp6enx8fIODg4SEhIWFhZGRkZKSkpOTk5SUlLu7 u7y8vL29vcDAwMHBwcLCws/Pz9DQ0NHR0dbW1tfX19ra2tvb29zc3N3d3eDg4O7u7u/v7/X19fb2 @@ -283,7 +298,8 @@ mqepeBMzfKT3sfnWHFg1RAQuUwBBiRqyqJSaBDBgJJhUqQ8GQGsEETKE4YUSHSsw2HmlhkAGFmKU 3GDRIcLIOwcivOFDxcqGCRG2dPnSaUwOkiYlSqCw5JPKESNjggAAOw== " -image create photo imgViewZoomOut -data " +image create photo imgViewZoomOut +imgViewZoomOut put " R0lGODlhGAAYAPUAAAAAAAEBAQYGBggICBERERISEhMTExQUFBoaGjc3Nz4+PkFBQUJCQklJSUpK SktLS0xMTF5eXl9fX2BgYHd3d3l5eXp6enx8fIODg4SEhIWFhZGRkZKSkpOTk5SUlLu7u7y8vL29 vcDAwMHBwcLCws/Pz9DQ0NHR0dbW1tfX19ra2tvb29zc3N3d3eDg4O7u7u/v7/X19fb29vf39/r6 @@ -294,7 +310,8 @@ vTU2LghqDCO1twC5Nr6+wMIAxKWnqa3UCrBqDbRVEqGCE2FCGYrdagecQyCn5AAQIESImd0EHjF9 FoChhC1KcxbxggQuqOCTpIaKDRDGrTkAwUOLR1SsZJAAYUuDCV/AjXnnBEq9jVSOGBkTBAA7 " -image create photo imgViewZoomBox -data " +image create photo imgViewZoomBox +imgViewZoomBox put " R0lGODlhGAAYAPYAAAAAAAEBAQICAgQEBAUFBQYGBgcHBwgICAoKCgsLCwwMDBYWFhcXFxoaGhsb Gx0dHSMjIysrKzQ0NDY2NkBAQEFBQUJCQkNDQ0lJSUpKSk1NTVFRUVJSUlZWVldXV1tbW1xcXF5e XmJiYmNjY2RkZGlpaWpqamtra3t7e4aGho+Pj5aWlpeXl5ubm6ampqurq66urq+vr7i4uLq6uru7 @@ -309,7 +326,8 @@ DwcBWlA0SO6ixEFL3nG05HFivn0OeWA06a+hxZUbHZaM+fJjPpfxZubD4K2Ez59Af4bgpTFfCgi3 ktoaQKEGSB0pMFCgMOHC1KlVr1L4AEMgSESKwIZVlAjUoEAAOw== " -image create photo imgViewToggleColors -data " +image create photo imgViewToggleColors +imgViewToggleColors put " R0lGODlhGAAYAPYAAAAAAAEBAQICAg8PDxERERISEhMTExQUFBUVFRYWFhkZGRsbGx4eHiUlJSYm JicnJykpKSoqKj4+PkJCQkNDQ0RERE5OTk9PT1FRUVJSUlRUVFdXV1hYWFlZWVpaWltbW2JiYmNj Y2RkZGdnZ2hoaGpqamtra2xsbG9vb3BwcHFxcXJycnNzc3R0dICAgIGBgYKCgo6Ojo+Pj5CQkJGR @@ -326,7 +344,8 @@ m5ak2bMkybpUuzZoVq2xuXb1EgQsQilCQ0oMQ5eqR9IxXmaVKEKIEkRMFjJwGhQmSREq9wY5ohAp 9T1DJaCkDgQAOw== " -image create photo imgViewRedraw -data " +image create photo imgViewRedraw +imgViewRedraw put " R0lGODlhGAAYAPYAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgkJCQoKCgsLCwwMDA8PDxAQEBERERMT ExQUFBUVFRsbGxwcHB8fHyQkJCkpKSsrKy0tLS4uLjExMTQ0NDg4ODo6Ojs7Ozw8PD09PUREREVF RUZGRkdHR0lJSUpKSkxMTE5OTk9PT1JSUlNTU1VVVVdXV1hYWF5eXl9fX2BgYGFhYWJiYmNjY2Rk @@ -349,7 +368,8 @@ pKSo8MHFjzEzTXVhwgQdnaimAgEAOw== ## TOOLS -image create photo imgToolInsertSymbol -data " +image create photo imgToolInsertSymbol +imgToolInsertSymbol put " R0lGODlhGAAYAPUAAAAAAAYGBgkJCRcXFxoaGh0dHSAgICYmJiwsLDMzMzg4OEdHR0hISFFRUWtr a2xsbHd3d3l5eYKCgoWFhYiIiJGRkZmZmZ6enqOjo6enp6qqqqysrLu7u7+/v8vLy83Nzdra2t3d 3enp6fPz8/f39wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -359,7 +379,8 @@ EFsQShdbDkYhWxFLBgADGhobQ40Aj0oJXpeOS3RdIRYWE59KkZOVBXmIWw9DnF0Ne31/QyQdHBhb CnFwc1wVRx9oZwFqR1nGXGBKUFRUVk7U1dbX2EVBADs= " -image create photo imgToolInsertText -data " +image create photo imgToolInsertText +imgToolInsertText put " R0lGODlhGAAYAPUAAAAAAAMDAwQEBAgICBERERMTExUVFRYWFh8fHyAgICIiIjQ0NERERFVVVVZW VlhYWGZmZnd3d3h4eH19fY2NjZSUlKCgoKqqqqurq7u7u729vcvLy83NzdDQ0NHR0dLS0t3d3eHh 4eLi4u3t7e7u7vLy8vX19fb29vz8/P39/f7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -369,7 +390,8 @@ GoUkaIiJZhQQjY6NEiVmHHxTZiULBJqbmgofiqChomQmDJynnAYSVZSVdQRVKhMNtLW2thejurtc QQA7 " -image create photo imgToolInsertWire -data " +image create photo imgToolInsertWire +imgToolInsertWire put " R0lGODlhGAAYAPUAAAQEBA8PDzs7Ozw8PD09PUREREVFRU5OTk9PT1BQUGJiYmNjY2RkZGVlZWho aGlpaXd3d3h4eHx8fH19fX5+foaGhoeHh5OTk5SUlJubm6WlpaampsHBwcnJycrKysvLy8/Pz9DQ 0NTU1NXV1dnZ2dra2ujo6O7u7u/v7/Hx8fLy8vz8/P39/f7+/gAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -379,13 +401,15 @@ GWN/QhwAAByHRImLjUOPjJEuk5WWipSRl5WdnJqVgYOFjXcCCQl8fnUlEQpxc4dmD0cMa4cpGF5g Yo0hVVdZkU0ghpFHWkEAOw== " -image create photo imgToolInsertLine -data " +image create photo imgToolInsertLine +imgToolInsertLine put " R0lGODlhGAAYAPMAAAQEBAcHByAgICEhIcHBwcLCwsjIyMnJyfLy8gAAAAAAAAAAAAAAAAAAAAAA AAAAACH5BAEAAAkALAAAAAAYABgAAAQ1MMlJq7046827/2AojmTZIQahrmxRGAhmDAFg33gwGDKN /wAd74JiGVWvmGnJbDqf0Kg0EwEAOw== " -image create photo imgToolInsertRect -data " +image create photo imgToolInsertRect +imgToolInsertRect put " R0lGODlhGAAYAPQAAAAAAAgICAkJCQsLCxsbG0BAQEFBQV5eXl9fX2BgYGFhYWlpaWpqapaWlp6e np+fn8TExMXFxeTk5Pn5+fr6+v39/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABYALAAAAAAYABgAAAWPoCVWVFlO56SaVCW+FnQUdG3bBwSLzgD8wGBw4NhZGoDBgcFsOg++hhFJ @@ -393,7 +417,8 @@ kBhhEgJAuqNar6LsdgqogsNaLsx7tojVL/b5TTbP0/UvmN4t6698a35tgXGDd2N9dnt4in9GhSJy jImCi4CNlo87kUeHlHCSSUtOpVCVLz1Cq0BERjI3sTUKOjskJiorLCYuIiEAOw== " -image create photo imgToolInsertPolygon -data " +image create photo imgToolInsertPolygon +imgToolInsertPolygon put " R0lGODlhGAAYAPUAAAEBAQUFBQoKCg8PDxMTExcXFxoaGh4eHiYmJiwsLDExMTY2Njk5OUBAQEpK SlRUVFdXV1lZWV5eXmRkZGdnZ3d3d39/f4KCgoqKio6OjpCQkJmZmaampqqqqq6urrCwsLu7u76+ vsTExMnJyc7OztPT09nZ2eHh4ebm5ujo6Ozs7PPz8/j4+Pv7+wAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -404,7 +429,8 @@ vVmILhcAB0YHvr6tQyNRJS4dURgb0tPTyUQFABguhQ1rRBIADSRRHt5DnwJlxOZCKWDa7EKFAAOd 8cFRuvcu4wDN+8HgeQsCADs= " -image create photo imgToolInsertArc -data " +image create photo imgToolInsertArc +imgToolInsertArc put " R0lGODlhGAAYAPUAAAMDAwQEBAwMDA8PDxYWFh8fHyEhISwsLDExMTk5OUREREVFRU9PT1dXV15e XmBgYGZmZm5ubnR0dHd3d4GBgYSEhIqKio+Pj5ycnKKioqenp6qqqrm5ucnJydbW1tjY2Nzc3OHh 4ebm5ujo6Orq6vLy8vX19fn5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -414,7 +440,8 @@ Jk4ACWyDSyYJTxOKVyFxAR6QTBlPDZZMgAAgm0obTxWgQyd5CKVDDE9WqhNPHaooogAbsxxPGLi6 sxpPt6oUsbMPTyWzGwEOs0tBADs= " -image create photo imgToolInsertCircle -data " +image create photo imgToolInsertCircle +imgToolInsertCircle put " R0lGODlhGAAYAPYAAAAAAAEBAQICAgYGBgcHBwgICAkJCQoKCgsLCwwMDBMTExQUFBUVFRkZGRoa GhsbGxwcHB0dHR4eHh8fHykpKSoqKjQ0NDU1NTY2Njc3Nzw8PD09PT4+Pj8/P0pKSktLS0xMTFBQ UFFRUVJSUlNTU2BgYGFhYWNjY2dnZ2hoaGlpaWpqam1tbW9vb3BwcHFxcXJycn19fX5+fn9/f4CA @@ -430,7 +457,8 @@ H+nLUISoPDI/jK2AZAQViUcT6YEgoCFJJG4LFIBzSqjcuX5QXBB49kPaJGo7IHa50CYp1wICvXIU UaKkSI5ix5KNM6UhgSoNHz68iqWhRjh/XZKs0FBBEydPK5L0K3qox41FjR45DQQAOw== " -image create photo imgToolSearch -data " +image create photo imgToolSearch +imgToolSearch put " R0lGODlhGAAYAPUAAAAAAAoKChISEhYWFhkZGSIiIicnJysrKy0tLTMzMzc3Nzg4OEBAQFFRUVdX V1tbW11dXWNjY2RkZGpqamxsbHFxcXR0dLm5ub+/v8HBwcbGxsnJyc7Ozs/Pz+/v7/Hx8fj4+AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -440,7 +468,8 @@ UQIADFFtCVFeB1ELg4WHeVUYR34AgEhxAAd0Ql1VeFEOVQeWQmxVBlshHghfYVcBE60fpVerAQAB Eq0hGxQLBgsVUBK7ARG/SBHJvsxGEM/R0tTVRNO80NhC2gkg3UMPCR7iROHnR0EAOw== " -image create photo imgToolJoinTrim -data " +image create photo imgToolJoinTrim +imgToolJoinTrim put " R0lGODlhGAAYAPUAAAAAAAEBAQMDAwQEBAUFBQsLCw0NDQ4ODhAQEBERERMTExQUFBkZGRoaGh8f HycnJykpKSoqKi4uLlRUVFdXV1hYWF9fX2NjY2RkZGVlZWhoaGlpaW9vb3BwcHJycnNzc3l5eXx8 fIqKio2NjZCQkJiYmJubm5+fn6amprm5ub6+vr+/v8TExMbGxsjIyMnJycvLy87Ozs/Pz9HR0dLS @@ -450,7 +479,8 @@ dX6AgRkzfn+BgQweiotCKBcblhkikZKbnJ2enjckFhmWFyicOCEPjQAbnTgceoGumzwzHqy0kjAX BXizkjwsFAhxHh4OGZI6JxIACBczOCAjwbwQFTI6PTeaizAnK4W1POOLQQA7 " -image create photo imgToolBreak -data " +image create photo imgToolBreak +imgToolBreak put " R0lGODlhGAAYAPUAAAAAAAEBAQICAgMDAwoKCgsLCw8PDxAQEBERERMTExUVFRYWFicnJywsLDEx MVFRUVJSUlNTU1RUVFZWVldXV1hYWFpaWlxcXF1dXWFhYWJiYmNjY2VlZWZmZmlpaXR0dHZ2dnl5 eZqamqKioqamprS0tLa2tre3t7q6uru7u7+/v8DAwMTExMXFxcbGxsfHx8jIyMnJycrKysvLy8zM @@ -470,7 +500,8 @@ F3G8KrlKHmMFFy2RxFsDHTOYZcpbFKXJYwoVKM9VJBlRHSAn2pHj5EZBADs= ## ACTION BUTTONS -image create photo imgSimulate -data " +image create photo imgSimulate +imgSimulate put " R0lGODlhGAAYAPUAAAAAAAEBAQQEBAkJCQ8PDxoaGhsbGx4eHi8vLzY2Njw8PD09PUVFRUxMTE1N TVVVVV5eXnZ2dnp6ep2dnaCgoKGhoaioqL6+vsHBwcLCwtDQ0NHR0dbW1tfX19ra2tzc3OPj4+Tk 5OXl5ejo6Onp6e/v7/Hx8fj4+Pn5+fr6+vv7+/7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -480,7 +511,8 @@ FG1KgIFyBhF+SIiJAIslh3mBgxQfbo4HiQgSGJNLIJUAB3V3TWdpa4ZvXwdiZGZXWZpUUB6NXLu8 vb68QQA7 " -image create photo imgNetlist -data " +image create photo imgNetlist +imgNetlist put " R0lGODlhGAAYAPUAAAAAAAUFBQcHBxERERISEiIiIiUlJSsrKzMzMzo6Oj8/P0tLS1JSUl5eXmBg YHNzc3d3d3x8fIKCgoaGhoiIiI6OjpGRkZaWlpmZmZ6enqOjo6enp6ioqK6urrGxsbq6usHBwcXF xcvLy9TU1NnZ2d3d3eXl5enp6e/v7/b29vn5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -491,7 +523,8 @@ ZBWcEZOXkH6UCXlEfAANjytiJldWIshufX+AskZ6KykHcnMAIRDj5B6fYQAaCOvsEudLkWRZW3Zf TCkZF4T6hBlN/wCNBAEAOw== " -image create photo imgWaves -data " +image create photo imgWaves +imgWaves put " R0lGODlhGAAYAPUAAAEBAQUFBQsLCwwMDBISEhcXFxwcHCUlJTIyMj4+PktLS1FRUV1dXWNjY2Vl ZXV1dXp6eoeHh4uLi5OTk5iYmJmZmaOjo6ioqKqqqru7u729vcPDw8fHx8nJyc/Pz9DQ0NXV1dvb 29zc3OLi4uXl5enp6e3t7fHx8fX19QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -504,11 +537,13 @@ Hh33+fj6/PghygCTiRiASp3Bg+pIpHjwQZ5DJUEAADs= ## Context menu -image create photo CtxmenuBlank -data " +image create photo CtxmenuBlank +CtxmenuBlank put " R0lGODlhEAAQAPAAAAAAAAAAACH5BAEAAAAALAAAAAAQABAAAAIOhI+py+0Po5y02ouzPgUAOw== " -image create photo CtxmenuAbort -data " +image create photo CtxmenuAbort +CtxmenuAbort put " R0lGODlhEAAQAPUAAAAAAAQEBAkJCQ0NDRISEhcXFx4eHicnJygoKC4uLjIyMjg4ODw8PE5OTlFR UVdXV1paWl1dXWZmZnBwcHt7e35+foKCgoODg4iIiI2NjZeXl56enqKioqioqLW1tcPDw8XFxcfH x9DQ0Onp6e3t7fDw8PX19fj4+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -518,7 +553,8 @@ EhiGh4YUUBENUQGPkJFRCxCOkZdRChkBAhGIiBNQDSFrC31ClQEaKAVaaHQfdyMoGmYTJUInFmAW QxBZA0oIAmAJY0JPUlMMJn1FR0kHr0JBADs= " -image create photo CtxmenuRecent -data " +image create photo CtxmenuRecent +CtxmenuRecent put " R0lGODlhEAAQAPUAAAAAAA4ODikpKS8vLzg4OENDQ0dHR0xMTFZWVm9vb3Z2dnp6enx8fIKCgoeH h4mJiYyMjJmZmaGhoaampqmpqbCwsLe3t7q6ur+/v8XFxcjIyM7OztHR0dXV1dvb2+Dg4OXl5efn 5+3t7fPz8/T09Pr6+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -527,7 +563,8 @@ aNJQiMTShDhZmEgl0wU0LDyGoI6poKgIRMORA3kBZCIfpJpwULsrgI1bPUCoR5QMsQF4cKIdFCAg ChJECQEAAAEgFgoccyYiGBNRkZeYbhdzGCRECnZCJGBCEAaWJAmWJhQMex5zFxBuQQA7 " -image create photo CtxmenuSymbol -data " +image create photo CtxmenuSymbol +CtxmenuSymbol put " R0lGODlhEAAQAPUAAAAAAAYGBgkJCRsbGxwcHCQkJCsrKy0tLTAwMDY2Nj09PUREREtLS1BQUFhY WGhoaG1tbXFxcXp6en5+foKCgoeHh4qKio+Pj5mZmaGhoaysrLW1tbq6ur29vcPDw9PT09nZ2d3d 3eLi4uTk5O7u7vPz8/n5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -536,21 +573,24 @@ SCwaj8fRILFYIAiRUFEkaQCuWICAQ6xgFaHw5xIomIYlDQUgKUoAGRLRA5gUNVjGkG4n4gkIdiAP DAAQRVYdQxZYBhgYFxGFCkQmHW9ZVwciRiYOEhUVEQ4bZ0inqKmqq0RBADs= " -image create photo CtxmenuUp -data " +image create photo CtxmenuUp +CtxmenuUp put " R0lGODlhEAAQAPQAAAAAAAUFBQoKCgwMDBMTExYWFhsbGyAgICcnJy4uLjAwMDw8PE9PT1JSUm9v b4WFhZKSkpOTk7y8vMLCwsPDw83NzdXV1eHh4evr6/Pz8/j4+AAAAAAAAAAAAAAAAAAAACH5BAEA ABsALAAAAAAQABAAAAVI4CaOG0WepzMsF0pqTAAAR+Ru2DLvQ5OdFsVuCEhIRpWCwSAgLgm2E4Jo uk2HVdd1l0VtZ10p9bb5AsIkM3oUebjdGLJ8jgoBADs= " -image create photo CtxmenuDown -data " +image create photo CtxmenuDown +CtxmenuDown put " R0lGODlhEAAQAPQAAAAAAAsLCxISEhYWFiAgICcnJygoKC0tLTc3Nz8/P0dHR1NTU1paWnFxcXZ2 dpCQkJeXl7u7u8LCwtHR0d3d3eLi4vHx8fr6+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABgALAAAAAAQABAAAAVOICaOZGlWVJpe5kgEMCy1YgHc90zbOKC3PNzPFMzRMEXfMTnETBAKxaAH SCgSj1HkQMUFGKyRZRGgCho0CAFHgBwxlATA0GxdHJW3HhMCADs= " -image create photo CtxmenuDownSym -data " +image create photo CtxmenuDownSym +CtxmenuDownSym put " R0lGODlhEAAQAPUAAAAAAAcHBwoKCg0NDRAQEBQUFBoaGiMjIyYmJi4uLjQ0NDs7Oz4+PkREREtL S1NTU1ZWVlpaWmJiYmZmZmtra3p6en5+foGBgYmJiZGRkZiYmJ2dnaampqmpqa2trbm5uby8vMHB wcTExMnJydPT093d3eHh4erq6u7u7vPz8/n5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -559,7 +599,8 @@ SCwaKYqkQmMkQgBQgKW5ylQUUQCj4jFiCFmoAdS8DLKGDnVFCUALzPVKEiBg5MPHBa86MBoJDB9N JxgWWhALBwBqRSIFYI1zCB8hRigAlkIVUSNDIFEceQolJkQpGxgACAoGBAJkVAsSEw4RJEVBADs= " -image create photo CtxmenuPaste -data " +image create photo CtxmenuPaste +CtxmenuPaste put " R0lGODlhEAAQAPUAAAAAAAEBAQUFBQkJCQ0NDScnJy0tLTQ0NEBAQEZGRk1NTU9PT1BQUFNTU1lZ WWBgYGFhYWNjY2VlZWlpaWxsbG5ubnNzc3R0dHZ2dnd3d3h4eICAgIGBgYmJiYqKio6OjpCQkJGR kZmZmaKioqenp6qqqq6urrm5ubq6usHBwcXFxcnJydXV1dvb293d3d7e3uDg4OPj4+Tk5Onp6erq @@ -569,7 +610,8 @@ AX1ZGHk0Alg8fH55e4WPMTgRJjwrBpKHeTFDPB9qhk2Ieiw2PDgTAS2TWhoBGiKzswmQWQpsulVZ Nh0lwMEjI1rFxUEAOw== " -image create photo CtxmenuDelete -data " +image create photo CtxmenuDelete +CtxmenuDelete put " R0lGODlhEAAQAPUAAAAAAAMDAwgICA0NDRYWFh8fHyEhISkpKS8vLzMzMzU1NT8/P0BAQEVFRUxM TGlpaXp6eoaGhomJiZCQkJSUlJeXl5ycnK2tra6urrGxsbW1tbu7u729vc3NzdfX19vb2+Pj4+Xl 5evr6+7u7vHx8fb29vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -578,14 +620,16 @@ SCwOTSbjyVQiggiFT1GUGHSGGgCgABqSElrKkaE9iE6lRXlEJCm0CJFDyzWKDlpCXqoMGbQAVkpD D4ANg0ITgFoPgxaAEQNaEEYZgBYnHAJaEkQegBNDF4AbQxyTRCajAJhDFRdKGRJJR7SIJ0EAOw== " -image create photo CtxmenuDuplicate -data " +image create photo CtxmenuDuplicate +CtxmenuDuplicate put " R0lGODlhEAAQAPQAAAAAAAcHBwgICA8PDxAQEBUVFSsrKzMzMzU1NT4+PlRUVFdXV2JiYn9/f4iI iJqamqGhoaampqqqqq2trba2tsPDw8TExO7u7vb29gAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABkALAAAAAAQABAAAAVTYJZhk2SekiWuWQS88CuwIjRceA7NNERklIaj0VAAHA+WL2OMvQ7KX9OJ iDKdr+pqOY1pa1Is4Jvhisk7B+LMqhQIAjbtiiWvGIa83pCY+/+ALCEAOw== " -image create photo CtxmenuCut -data " +image create photo CtxmenuCut +CtxmenuCut put " R0lGODlhEAAQAPUAAAEBAQUFBQkJCQwMDBAQEB4eHiIiIiYmJicnJzc3Nzw8PEJCQkVFRUtLS0xM TFZWVllZWV1dXWNjY2lpaXFxcX5+foSEhImJiZGRkZWVlZqamp2dnaGhoaampqmpqa6urrKysri4 uL29vcHBwcbGxsrKys/Pz9HR0dbW1tnZ2d/f3+Li4ufn5+jo6O3t7fPz8/b29vn5+QAAAAAAAAAA @@ -595,7 +639,8 @@ TgBiTQkkSSUTFSl+ThNKHoSHh15kMit3hAASLCUKThEtGgAGW02BQh0FTQMWAAwyMWImSTAWeSJN Egt4MFEsHzIOhRlRZRYKDcTJz9AyQQA7 " -image create photo CtxmenuMove -data " +image create photo CtxmenuMove +CtxmenuMove put " R0lGODlhEAAQAPUAAAMDAwQEBAkJCQ4ODhISEhsbGx0dHSMjIyUlJSgoKC8vLzMzMzk5OUZGRkxM TFBQUGdnZ29vb3BwcHl5eX9/f5GRkZOTk5WVlZiYmJ+fn6SkpLCwsLy8vMHBwcXFxdHR0dXV1djY 2Ovr6+/v7/Ly8vT09Pz8/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -604,7 +649,8 @@ SCwaj8iOUWncJIyNSTGEWBgdBM2QtAAMDIXQCWEgAAwfoQPABgRA4zZAMaLIAQI44v4QKeR5cW0F HCceBW2BB4kWQxgDCBYXJScZFgwAEEUST0UODSZFJhFGEyNIqKmqqydBADs= " -image create photo CtxmenuCopy -data " +image create photo CtxmenuCopy +CtxmenuCopy put " R0lGODlhEAAQAPUAAAAAAAICAgUFBQoKCgwMDBERERMTExcXFxkZGRoaGiIiIiQkJCkpKS4uLjAw MDMzMzk5OTw8PEpKSlxcXGZmZnV1dXh4eHx8fIWFhYaGhoqKio2NjY6Ojo+Pj52dnaCgoKGhoaOj o6urq6ysrLOzs7e3t7m5uby8vL29vcHBwcfHx8nJycrKys7OztHR0dPT09fX19ra2t/f3+Dg4OHh @@ -614,7 +660,8 @@ eHVUXn95PDYTJzwXAAQGk5MDACQ8LQAWPCUGDQ8ODqEMCDRILjdZPC4cOTwjIzw5HC6rFQBcCAg8 KwAVqzIgOzwnjjsgp6vLSUEAOw== " -image create photo CtxmenuEdit -data " +image create photo CtxmenuEdit +CtxmenuEdit put " R0lGODlhEAAQAPQAAAAAACMjIzMzMzQ0NEREREVFRUtLS1VVVVlZWWRkZGpqamxsbHNzc4iIiIyM jJaWlpiYmJ+fn6Ghoampqbm5ub+/v9XV1d3d3eDg4Ojo6O/v7/j4+AAAAAAAAAAAAAAAACH5BAEA ABwALAAAAAAQABAAAAVqIMdtEWSeZpSJ4gS8cMywnAQcTa4zwELbD12DwrH0fgCIQ1cpHlm2CE1k @@ -622,28 +669,32 @@ ABwALAAAAAAQABAAAAVqIMdtEWSeZpSJ4gS8cMywnAQcTa4zwELbD12DwrH0fgCIQ1cpHlm2CE1k k5RNYZc0IQA7 " -image create photo CtxmenuWire -data " +image create photo CtxmenuWire +CtxmenuWire put " R0lGODlhEAAQAPQAAAAAACAgICUlJTMzMzk5OUBAQEZGRlVVVVpaWmZmZnh4eIiIiI2NjZubm6Cg oLu7u729vdXV1djY2PPz8/b29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABUALAAAAAAQABAAAAU3YCWOZGmeaKqurBgtCzOdDQwhQK48fO/kAMEBSCzmAsNcIcFsJgEBx2BA kJgohqmixe16v+BRCAA7 " -image create photo CtxmenuLine -data " +image create photo CtxmenuLine +CtxmenuLine put " R0lGODlhEAAQAPQAAAICAgcHBwsLCw8PD1RUVGFhYZmZmZ2dnaCgoKSkpKqqqq6urrKysra2trq6 ur29vcLCwsXFxczMzNra2vb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABUALAAAAAAQABAAAAVBYCWO5OhMZSoaAKGWBzBI74gAAlSLCq7vC9xjV1kEAsNd48ggOpjOAKC5 cwgACiJkAEgQI1fvjsJFEEUF8XktCgEAOw== " -image create photo CtxmenuBox -data " +image create photo CtxmenuBox +CtxmenuBox put " R0lGODlhEAAQAPQAAAAAAA0NDRERERcXF0ZGRklJSWZmZmtra3t7e35+foiIiJGRkbW1tbu7u8LC wsbGxt3d3fv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABIALAAAAAAQABAAAAVCoCSOZGmeJXQYbOsajpgAdG3ThYgAS+P/PwBBB3igIkKi8YQcSnZLU1N5 TD6LVSc0SwwIvmCwlTEIm78KlHrNZocAADs= " -image create photo CtxmenuPoly -data " +image create photo CtxmenuPoly +CtxmenuPoly put " R0lGODlhEAAQAPUAAAAAAAUFBQsLCw0NDRERERUVFRsbGxwcHCMjIyUlJSgoKCwsLD09PUdHR09P T1JSUlRUVF1dXWhoaG1tbXV1dXl5eX5+foCAgIiIiJWVlZ2dnaioqKysrLW1tbi4uMLCwsfHx8rK ytPT09fX19ra2uDg4Orq6uzs7PLy8vb29vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -653,7 +704,8 @@ FmtkQhNXAhYqEABqK4MjQh0ADF4oAndCDwAnKkZeQhuEQwwBKQwCKEedkCsJBQ5XIEMmAgpHBFeB GiYZDQGlX1cLlQV1BhMnQyh2JifCCBS1SR98Kx+vSUEAOw== " -image create photo CtxmenuArc -data " +image create photo CtxmenuArc +CtxmenuArc put " R0lGODlhEAAQAPUAAAAAAAQEBAsLCwwMDBAQECsrKywsLDAwMDw8PEFBQUdHR0tLS1lZWW1tbX5+ foWFhYmJiZGRkZ6enqOjo6ysrLe3t76+vsrKytDQ0NTU1NnZ2ejo6Ovr6+3t7fPz8/T09Pv7+wAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -662,7 +714,8 @@ sTAcFA5MaMlcQgDQKGChaS45EszHk4kUAAKKdbyMCABistUiGFTVTQlAAbcmAJc6swJo6JcgBAV/ SwgAIIQMAByJi4QIAYQhAgaSDROSTEEAOw== " -image create photo CtxmenuCircle -data " +image create photo CtxmenuCircle +CtxmenuCircle put " R0lGODlhEAAQAPUAAAAAAAQEBA4ODhERERUVFRsbGykpKS4uLjQ0NDo6Oj4+Pk9PT1BQUFpaWl9f X2NjY2lpaW5ubnBwcH5+foGBgYeHh46OjpCQkJeXl5mZmZ+fn6KiorCwsLm5ucHBwdLS0tXV1djY 2OHh4eTk5O/v7/T09Pr6+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -672,7 +725,8 @@ fiVzQhYAHH4jAA1CHQASfhsAFUImBAIjUyZNIUMXAAlwQyYOAA5KCwAFFx8gG00GpaYRW09ztUog EwsLEmt+w0JBADs= " -image create photo CtxmenuText -data " +image create photo CtxmenuText +CtxmenuText put " R0lGODlhEAAQAPQAAAAAAB4eHjMzMzU1NURERElJSVRUVFVVVXt7e4aGhoqKipOTk5mZmZ6enqCg oLKyssLCwszMzM/Pz9LS0tjY2N3d3eDg4Obm5unp6e7u7vLy8gAAAAAAAAAAAAAAAAAAACH5BAEA ABsALAAAAAAQABAAAAVN4CaOZDlGaIqZ4gK8cMBu02HfyqyzmKIkwJ8wYRkpYEgkYqRxMJ5QaCOz diff --git a/src/xschem.tcl b/src/xschem.tcl index 5b924175..28abc64a 100644 --- a/src/xschem.tcl +++ b/src/xschem.tcl @@ -4290,19 +4290,15 @@ proc setup_toolbar {} { # } -# -# Toolbar constructor -# -proc toolbar_toolbar { {topwin {} } } { - frame $topwin.toolbar -relief raised -bd 0 -bg white -} - # # Create a tool button which may be displayed # proc toolbar_create {name cmd { help "" } {topwin {} } } { + if {![winfo exists $topwin.toolbar]} { + frame $topwin.toolbar -relief raised -bd 0 -bg white + } button $topwin.toolbar.b$name -image img$name -relief flat -bd 0 -bg white -fg white -height 24 \ - -padx 0 -pady 0 -command $cmd + -padx 0 -pady 0 -highlightthickness 0 -command $cmd if { $help == "" } { balloon $topwin.toolbar.b$name $name } else { balloon $topwin.toolbar.b$name $help } } @@ -4312,7 +4308,11 @@ proc toolbar_create {name cmd { help "" } {topwin {} } } { # proc toolbar_show { { topwin {} } } { global toolbar_horiz toolbar_list toolbar_visible tabbed_interface - if { ! $toolbar_visible } { return } + set toolbar_visible 1 + if {![winfo exists $topwin.toolbar]} { + frame $topwin.toolbar -relief raised -bd 0 -bg white + } + if {[winfo ismapped $topwin.toolbar]} {return} if { $toolbar_horiz } { if {$tabbed_interface} { pack $topwin.toolbar -fill x -before $topwin.tabs @@ -4349,7 +4349,6 @@ proc toolbar_show { { topwin {} } } { foreach b { Waves Simulate Netlist } { pack $topwin.toolbar.b$b -side $pos } - set $toolbar_visible 1 } # @@ -4357,6 +4356,9 @@ proc toolbar_show { { topwin {} } } { # proc toolbar_hide { { topwin {} } } { global toolbar_visible + set toolbar_visible 0 + if {![winfo exists $topwin.toolbar]} {return} + if {![winfo ismapped $topwin.toolbar]} {return} set tlist [ winfo children $topwin.toolbar ] foreach b $tlist { pack forget $b @@ -4365,7 +4367,7 @@ proc toolbar_hide { { topwin {} } } { } } pack forget $topwin.toolbar - set $toolbar_visible 0 + set toolbar_visible 0 } proc setup_tabbed_interface {} { @@ -4851,7 +4853,6 @@ proc build_widgets { {topwin {} } } { set bbg {-bg gray50 -highlightthickness 0} } eval frame $topwin.menubar -relief raised -bd 2 $mbg - toolbar_toolbar $topwin eval menubutton $topwin.menubar.file -text "File" -menu $topwin.menubar.file.menu \ -padx 3 -pady 0 $mbg menu $topwin.menubar.file.menu -tearoff 0