removed rarely used toolbar buttons, added Abort context menu command

This commit is contained in:
Stefan Frederik 2021-11-04 02:07:41 +01:00
parent aadc37c2a8
commit f5f6b681e2
3 changed files with 73 additions and 64 deletions

View File

@ -46,6 +46,36 @@ void redraw_w_a_l_r_p_rubbers(void)
new_polygon(RUBBER);
}
}
void abort_operation(void)
{
xctx->no_draw = 0;
tcleval("set constrained_move 0" );
constrained_move=0;
xctx->last_command=0;
xctx->manhattan_lines = 0;
dbg(1, "abort_operation(): Escape: ui_state=%ld\n", xctx->ui_state);
if(xctx->ui_state & STARTMOVE)
{
move_objects(ABORT,0,0,0);
if(xctx->ui_state & START_SYMPIN) {
delete(1/* to_push_undo */);
xctx->ui_state &= ~START_SYMPIN;
}
return;
}
if(xctx->ui_state & STARTCOPY)
{
copy_objects(ABORT);
return;
}
if(xctx->ui_state & STARTMERGE) {
delete(1/* to_push_undo */);
set_modify(0); /* aborted merge: no change, so reset modify flag set by delete() */
}
xctx->ui_state = 0;
unselect_all();
draw();
}
void start_place_symbol(double mx, double my)
{
@ -581,37 +611,9 @@ int callback(int event, int mx, int my, KeySym key,
new_polygon(ADD|END);
break;
}
if(key == XK_Escape ) /* abort & redraw */
if(key == XK_Escape && xctx->semaphore < 2) /* abort & redraw */
{
xctx->no_draw = 0;
if(xctx->semaphore >= 2) break;
tcleval("set constrained_move 0" );
constrained_move=0;
xctx->last_command=0;
xctx->manhattan_lines = 0;
dbg(1, "callback(): Escape: ui_state=%ld\n", xctx->ui_state);
if(xctx->ui_state & STARTMOVE)
{
move_objects(ABORT,0,0,0);
if(xctx->ui_state & START_SYMPIN) {
delete(1/* to_push_undo */);
xctx->ui_state &= ~START_SYMPIN;
}
break;
}
if(xctx->ui_state & STARTCOPY)
{
copy_objects(ABORT);
break;
}
if(xctx->ui_state & STARTMERGE) {
delete(1/* to_push_undo */);
set_modify(0); /* aborted merge: no change, so reset modify flag set by delete() */
}
xctx->ui_state = 0;
unselect_all();
draw();
abort_operation();
break;
}
if(key=='z' && state == 0) /* zoom box */
@ -1565,6 +1567,9 @@ int callback(int event, int mx, int my, KeySym key,
xctx->last_command = 0;
new_arc(PLACE, 360.);
break;
case 21: /* abort & redraw */
abort_operation();
break;
default:
break;
}

View File

@ -15,30 +15,30 @@
## FILE
image create photo imgFileNew -data "
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAACnAAAApwEPOh3cAAAA
GXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAapJREFUSImt1T1rFFEUBuBn49cK
WunWAdNYygqKtQoWiunUPxB/gqWtNnZ2ifgjVIgSUPsUamICGhRR/Gj8COj6kYzFPaOzw+7MbjIv
DId773vPe8+5556hebRxpDx5AAs41YDAVWzicNH5Kn7hRwMiN5DheD6xgl5MZiFychsC98JPDxsT
2FkitHFniyL7sSsE9oTVwQv9UWT4brx0zUnRZ/iJp1jKF6tERo3ka2lv/v1DBy9DvUjYQHcEgYO4
iOXY9xlXyqRyJJt4J5VwHeaDn+E9FvFhELGDV0F8hL1Yw4UagU9qUlTEFJ7gOY7hHN5iX4VAS0rR
m3D8GtNVJ2phRsrlNdzH9Qr+YuHUPYWXXIdDeIh1Kcfnh/DW8Nv/+zszqgBMYDY2fhmwfklKJQNa
xTg4jWchmGO3VMrzMb65HYFBaIfDBektfIzxsFRuWeCxVHkZHuiPshGBb2Hnis7LnbSIE7hdwyGV
M6mTzuKyVG2oDqNVsTYMmdSBb6l+lGMhT9F62D9hz9LgRUitIcOOGB9tWmBSf1q71F/gKMhb9BLu
SifvSv8WfwEj8oUo4ooZDgAAAABJRU5ErkJggg==
"
# image create photo imgFileNew -data "
# iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAACnAAAApwEPOh3cAAAA
# GXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAapJREFUSImt1T1rFFEUBuBn49cK
# WunWAdNYygqKtQoWiunUPxB/gqWtNnZ2ifgjVIgSUPsUamICGhRR/Gj8COj6kYzFPaOzw+7MbjIv
# DId773vPe8+5556hebRxpDx5AAs41YDAVWzicNH5Kn7hRwMiN5DheD6xgl5MZiFychsC98JPDxsT
# 2FkitHFniyL7sSsE9oTVwQv9UWT4brx0zUnRZ/iJp1jKF6tERo3ka2lv/v1DBy9DvUjYQHcEgYO4
# iOXY9xlXyqRyJJt4J5VwHeaDn+E9FvFhELGDV0F8hL1Yw4UagU9qUlTEFJ7gOY7hHN5iX4VAS0rR
# m3D8GtNVJ2phRsrlNdzH9Qr+YuHUPYWXXIdDeIh1Kcfnh/DW8Nv/+zszqgBMYDY2fhmwfklKJQNa
# xTg4jWchmGO3VMrzMb65HYFBaIfDBektfIzxsFRuWeCxVHkZHuiPshGBb2Hnis7LnbSIE7hdwyGV
# M6mTzuKyVG2oDqNVsTYMmdSBb6l+lGMhT9F62D9hz9LgRUitIcOOGB9tWmBSf1q71F/gKMhb9BLu
# SifvSv8WfwEj8oUo4ooZDgAAAABJRU5ErkJggg==
# "
image create photo imgFileNewSym -data "
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAACnAAAApwEPOh3cAAAA
GXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAWVJREFUSInt1L9KHUEUx/GPuRZB
LEQsxFiI2AhqYQoJ2OkTJLcUfAEhoFew9hEUxEKEQBAt0xiwCJgmIYiIT2AlihpUxIv/1hQzV2HZ
SzbJ3i4/OAycObPfc+acWf4rpyZwhMFGfbyKBBcYKBrwgMdoD42ATOM6BTlvBKSaASm0J5UUJMEt
XhUJmfF8XQlO8KFIAMxGwD46cIrRoiHvheyXInAPzUVDOvEJB7jBctGAmiaFqUr8xVQ15Yx7jU18
xGG0+3i+F9/xTaj0n1TxPMZpO8NU+kCexjVhHG3oir7P2EZJqO4MZSyiHfN/kvV4RrYbGXHdwkDc
oa/mLOUAHAojuy380oci4Gsq7hI/8Q6twoPtyVtFTW+FCip19stS1ebtwRu0CNnDizqx93H9gi1h
tH+rsXRWWM+Ie4kfcX+k5szTg2PhPneEXvRjF1fCGxjFMFbiuoaFPJlnaU79d5BgNVbypF9mbG+9
d79s7wAAAABJRU5ErkJggg=
"
# image create photo imgFileNewSym -data "
# iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAACnAAAApwEPOh3cAAAA
# GXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAWVJREFUSInt1L9KHUEUx/GPuRZB
# LEQsxFiI2AhqYQoJ2OkTJLcUfAEhoFew9hEUxEKEQBAt0xiwCJgmIYiIT2AlihpUxIv/1hQzV2HZ
# SzbJ3i4/OAycObPfc+acWf4rpyZwhMFGfbyKBBcYKBrwgMdoD42ATOM6BTlvBKSaASm0J5UUJMEt
# XhUJmfF8XQlO8KFIAMxGwD46cIrRoiHvheyXInAPzUVDOvEJB7jBctGAmiaFqUr8xVQ15Yx7jU18
# xGG0+3i+F9/xTaj0n1TxPMZpO8NU+kCexjVhHG3oir7P2EZJqO4MZSyiHfN/kvV4RrYbGXHdwkDc
# oa/mLOUAHAojuy380oci4Gsq7hI/8Q6twoPtyVtFTW+FCip19stS1ebtwRu0CNnDizqx93H9gi1h
# tH+rsXRWWM+Ie4kfcX+k5szTg2PhPneEXvRjF1fCGxjFMFbiuoaFPJlnaU79d5BgNVbypF9mbG+9
# d79s7wAAAABJRU5ErkJggg=
# "
image create photo imgFileOpen -data "
R0lGODlhGAAYAPYAAAAAAAEBAQMDAwQEBAUFBQcHBwgICAkJCQsLCw0NDRISEhMTExcXFxkZGRwc
@ -65,15 +65,15 @@ Ki0vJxkDgLRCtrcFycrJw8SigNDRzrXS1dHFOsfW1dja29fP39Dd4tzh5bNEbeiAAh5EJAxd6AQN
JUQzJU4Y/P3+/R5K0FBCsKBBIkEAADs=
"
image create photo imgFileMerge -data "
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAACnAAAApwEPOh3cAAAA
GXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAPpJREFUSInN1T1KxFAUxfHfaMBO
a7Gy0R24Bl2AvW7ATlAwIzLT2UzlNmwEF2KljZ1jqY3gF1r4wrwpdF5eeDgHQt5N7jl/uNyQHkbY
MNEFruRpF/tRfVNhE9vRw8vMcFjFTlS/LnQIS9LcAs5RlQLU2EOvBKBGv42vDaAJTxpNo9TmAY6x
GOoV3EfvH7CVC6hxFIUL57WofvrNPGtEJzLGEusv42kAZIfzzx/aWbg+SgFg2BWSMt8hlkyv6Sce
o56XLgB+VvXNZKOesY73WcY2GzII934LT+sVbCAHpQANZBlfpQBwmNo4t3+0ZFW4NT3PcYe8Ma6j
+u4bIZwl0p2441sAAAAASUVORK5CYII=
"
# image create photo imgFileMerge -data "
# iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAACnAAAApwEPOh3cAAAA
# GXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAPpJREFUSInN1T1KxFAUxfHfaMBO
# a7Gy0R24Bl2AvW7ATlAwIzLT2UzlNmwEF2KljZ1jqY3gF1r4wrwpdF5eeDgHQt5N7jl/uNyQHkbY
# MNEFruRpF/tRfVNhE9vRw8vMcFjFTlS/LnQIS9LcAs5RlQLU2EOvBKBGv42vDaAJTxpNo9TmAY6x
# GOoV3EfvH7CVC6hxFIUL57WofvrNPGtEJzLGEusv42kAZIfzzx/aWbg+SgFg2BWSMt8hlkyv6Sce
# o56XLgB+VvXNZKOesY73WcY2GzII934LT+sVbCAHpQANZBlfpQBwmNo4t3+0ZFW4NT3PcYe8Ma6j
# +u4bIZwl0p2441sAAAAASUVORK5CYII=
# "
image create photo imgFileReload -data "
R0lGODlhGAAYAPZLAAAAAAEBAQICAgQEBAUFBQcHBwgICAsLCw0NDQ4ODg8PDxMTExQUFBoaGhsb

View File

@ -3211,6 +3211,10 @@ proc context_menu { } {
button .ctxmenu.b8 -text {Paste} -padx 1 -pady 0 -anchor w -activebackground red \
-font [subst $font] -command {set retval 8; destroy .ctxmenu}
}
button .ctxmenu.b21 -text {Abort command} -padx 1 -pady 0 -anchor w -activebackground red \
-font [subst $font] -command {set retval 21; destroy .ctxmenu}
pack .ctxmenu.b21 -fill x -expand true
if {!$selection} {
pack .ctxmenu.b9 -fill x -expand true
}
@ -3260,7 +3264,7 @@ proc setup_toolbar {} {
# FileNewSym
FileOpen
FileSave
FileMerge
# FileMerge
FileReload
"---"
EditUndo
@ -3954,7 +3958,7 @@ if { ( $::OS== "Windows" || [string length [lindex [array get env DISPLAY] 1] ]
.menubar.file.menu add command -label "Save" -command "xschem save" -accelerator {Ctrl+S}
toolbar_create FileSave "xschem save" "Save File"
.menubar.file.menu add command -label "Merge" -command "xschem merge" -accelerator {Shift+B}
toolbar_create FileMerge "xschem merge" "Merge File"
# toolbar_create FileMerge "xschem merge" "Merge File"
.menubar.file.menu add command -label "Reload" -accelerator {Alt+S} \
-command {
if { [string compare [tk_messageBox -type okcancel -message {Are you sure you want to reload?}] ok]==0 } {