small ansi-C compliance changes
This commit is contained in:
parent
dafb0c870d
commit
31d5e0938f
267
src/callback.c
267
src/callback.c
|
|
@ -2089,7 +2089,7 @@ static void context_menu_action(double mx, double my)
|
|||
break;
|
||||
case 7: /* cut selection into clipboard */
|
||||
rebuild_selected_array();
|
||||
if(xctx->lastsel) { /* 20071203 check if something selected */
|
||||
if(xctx->lastsel) { /* 20071203 check if something selected */
|
||||
save_selection(2);
|
||||
delete(1/* to_push_undo */);
|
||||
}
|
||||
|
|
@ -2477,7 +2477,8 @@ static void handle_enter_notify(int draw_xhair, int crosshair_size)
|
|||
}
|
||||
|
||||
static void handle_motion_notify(int event, KeySym key, int state, int rstate, int button,
|
||||
int mx, int my, int aux, int draw_xhair, int enable_stretch, int snap_cursor, int wire_draw_active)
|
||||
int mx, int my, int aux, int draw_xhair, int enable_stretch,
|
||||
int snap_cursor, int wire_draw_active)
|
||||
{
|
||||
char str[PATH_MAX + 100];
|
||||
if( waves_selected(event, key, state, button)) {
|
||||
|
|
@ -2584,7 +2585,7 @@ static void handle_motion_notify(int event, KeySym key, int state, int rstate, i
|
|||
select_rect(enable_stretch, START,1);
|
||||
}
|
||||
if(abs(mx-xctx->mx_save) > 8 ||
|
||||
abs(my-xctx->my_save) > 8 ) { /* set reasonable threshold before unsel */
|
||||
abs(my-xctx->my_save) > 8 ) { /* set reasonable threshold before unsel */
|
||||
if(!xctx->already_selected) {
|
||||
select_object(X_TO_XSCHEM(xctx->mx_save),
|
||||
Y_TO_XSCHEM(xctx->my_save), 0, 0, NULL); /* remove near obj if dragging */
|
||||
|
|
@ -2602,18 +2603,24 @@ static void handle_motion_notify(int event, KeySym key, int state, int rstate, i
|
|||
}
|
||||
|
||||
static void handle_key_press(int event, KeySym key, int state, int rstate, int mx, int my,
|
||||
int button, int aux, int infix_interface, int enable_stretch, const char *win_path, double c_snap,
|
||||
int button, int aux, int infix_interface, int enable_stretch,
|
||||
const char *win_path, double c_snap,
|
||||
int cadence_compat, int wire_draw_active, int snap_cursor)
|
||||
{
|
||||
char str[PATH_MAX + 100];
|
||||
int dr_gr;
|
||||
switch (key) {
|
||||
case '0' ... '4':
|
||||
if(state == 0) { /* toggle pin logic level */
|
||||
case '0':
|
||||
case '1':
|
||||
case '2':
|
||||
case '3':
|
||||
case '4':
|
||||
if(state == 0) { /* toggle pin logic level */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
if(key == '4') logic_set(-1, 1, NULL);
|
||||
else logic_set((int)key - '0', 1, NULL);
|
||||
}
|
||||
else if(state==ControlMask) { /* choose layer */
|
||||
else if(state==ControlMask) { /* choose layer */
|
||||
char n[30];
|
||||
xctx->rectcolor = (int)key - '0'+4;
|
||||
my_snprintf(n, S(n), "%d", xctx->rectcolor);
|
||||
|
|
@ -2631,15 +2638,18 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case '5':
|
||||
if(rstate == 0) { /* 20110112 display only probes */
|
||||
if(rstate == 0) { /* 20110112 display only probes */
|
||||
xctx->only_probes = !xctx->only_probes;
|
||||
tclsetboolvar("only_probes", xctx->only_probes);
|
||||
toggle_only_probes();
|
||||
} /* /20110112 */
|
||||
break;
|
||||
|
||||
case '6' ... '9':
|
||||
if(state==ControlMask) { /* choose layer */
|
||||
case '6':
|
||||
case '7':
|
||||
case '8':
|
||||
case '9':
|
||||
if(state==ControlMask) { /* choose layer */
|
||||
char n[30];
|
||||
xctx->rectcolor = (int)key - '0'+4;
|
||||
my_snprintf(n, S(n), "%d", xctx->rectcolor);
|
||||
|
|
@ -2657,7 +2667,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'a':
|
||||
if(rstate == 0) { /* make symbol */
|
||||
if(rstate == 0) { /* make symbol */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
|
|
@ -2671,7 +2681,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
make_symbol();
|
||||
}
|
||||
}
|
||||
else if(rstate == ControlMask) { /* select all */
|
||||
else if(rstate == ControlMask) { /* select all */
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
break;
|
||||
|
|
@ -2681,7 +2691,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'A':
|
||||
if(rstate == 0) { /* toggle show netlist */
|
||||
if(rstate == 0) { /* toggle show netlist */
|
||||
int net_s;
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
|
|
@ -2698,7 +2708,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
tclsetvar("netlist_show","0");
|
||||
}
|
||||
}
|
||||
else if(rstate == ControlMask) { /* only for graph (toggle hcursor1 if graph_use_ctrl_key set) */
|
||||
else if(rstate == ControlMask) { /* only for graph (toggle hcursor1 if graph_use_ctrl_key set) */
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
break;
|
||||
|
|
@ -2707,7 +2717,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'b':
|
||||
if(rstate==0) { /* merge schematic */
|
||||
if(rstate==0) { /* merge schematic */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
|
|
@ -2715,7 +2725,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
}
|
||||
merge_file(0, ""); /* 2nd parameter not used any more for merge 25122002 */
|
||||
}
|
||||
else if(rstate==ControlMask) { /* toggle show text in symbol */
|
||||
else if(rstate==ControlMask) { /* toggle show text in symbol */
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
break;
|
||||
|
|
@ -2732,7 +2742,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
draw();
|
||||
}
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* hide/show instance details */
|
||||
else if(EQUAL_MODMASK) { /* hide/show instance details */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
xctx->hide_symbols++;
|
||||
if(xctx->hide_symbols >= 3) xctx->hide_symbols = 0;
|
||||
|
|
@ -2742,14 +2752,14 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'B':
|
||||
if(rstate == 0) { /* edit schematic header/license */
|
||||
if(rstate == 0) { /* edit schematic header/license */
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
break;
|
||||
}
|
||||
tcleval("update_schematic_header");
|
||||
}
|
||||
else if(rstate == ControlMask) { /* only for graph (toggle hcursor2 if graph_use_ctrl_key set) */
|
||||
else if(rstate == ControlMask) { /* only for graph (toggle hcursor2 if graph_use_ctrl_key set) */
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
break;
|
||||
|
|
@ -2774,7 +2784,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
else if(rstate == ControlMask) {
|
||||
if(xctx->semaphore >= 2) break;
|
||||
rebuild_selected_array();
|
||||
if(xctx->lastsel) { /* 20071203 check if something selected */
|
||||
if(xctx->lastsel) { /* 20071203 check if something selected */
|
||||
save_selection(2);
|
||||
}
|
||||
}
|
||||
|
|
@ -2794,7 +2804,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'C':
|
||||
if(/* !xctx->ui_state && */ rstate == 0) { /* place arc */
|
||||
if(/* !xctx->ui_state && */ rstate == 0) { /* place arc */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
if(infix_interface) {
|
||||
xctx->mx_double_save=xctx->mousex_snap;
|
||||
|
|
@ -2806,7 +2816,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
xctx->ui_state2 = MENUSTARTARC;
|
||||
}
|
||||
}
|
||||
else if(/* !xctx->ui_state && */ rstate == ControlMask) { /* place circle */
|
||||
else if(/* !xctx->ui_state && */ rstate == ControlMask) { /* place circle */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
if(infix_interface) {
|
||||
xctx->mx_double_save=xctx->mousex_snap;
|
||||
|
|
@ -2821,7 +2831,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'd':
|
||||
if(rstate == 0) { /* unselect object under the mouse */
|
||||
if(rstate == 0) { /* unselect object under the mouse */
|
||||
if(infix_interface) {
|
||||
unselect_at_mouse_pos(mx, my);
|
||||
} else {
|
||||
|
|
@ -2829,14 +2839,14 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
xctx->ui_state2 = MENUSTARTDESEL;
|
||||
}
|
||||
}
|
||||
else if(rstate == ControlMask) { /* delete files */
|
||||
else if(rstate == ControlMask) { /* delete files */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
delete_files();
|
||||
}
|
||||
break;
|
||||
|
||||
case 'D':
|
||||
if(rstate == 0) { /* unselect by area */
|
||||
if(rstate == 0) { /* unselect by area */
|
||||
if( !(xctx->ui_state & STARTPAN) && !xctx->shape_point_selected &&
|
||||
!(xctx->ui_state & (PLACE_SYMBOL | PLACE_TEXT)) && !(xctx->ui_state & STARTSELECT)) {
|
||||
if(infix_interface) {
|
||||
|
|
@ -2853,7 +2863,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'e':
|
||||
if(rstate == 0) { /* descend to schematic */
|
||||
if(rstate == 0) { /* descend to schematic */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
descend_schematic(0, 1, 1, 1);
|
||||
}
|
||||
|
|
@ -2861,7 +2871,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
if(xctx->semaphore >= 2) break;
|
||||
go_back(1);
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* edit schematic in new window */
|
||||
else if(EQUAL_MODMASK) { /* edit schematic in new window */
|
||||
int save = xctx->semaphore;
|
||||
xctx->semaphore--; /* so semaphore for current context wll be saved correctly */
|
||||
/* schematic_in_new_window(0, 1, 0); */
|
||||
|
|
@ -2871,7 +2881,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'E':
|
||||
if(EQUAL_MODMASK) { /* edit schematic in new window - new xschem process */
|
||||
if(EQUAL_MODMASK) { /* edit schematic in new window - new xschem process */
|
||||
int save = xctx->semaphore;
|
||||
xctx->semaphore--; /* so semaphore for current context wll be saved correctly */
|
||||
schematic_in_new_window(1, 1, 0);
|
||||
|
|
@ -2880,7 +2890,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'f':
|
||||
if(rstate == 0) { /* full zoom */
|
||||
if(rstate == 0) { /* full zoom */
|
||||
int flags = 1;
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
|
|
@ -2889,7 +2899,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
if(tclgetboolvar("zoom_full_center")) flags |= 2;
|
||||
zoom_full(1, 0, flags, 0.97);
|
||||
}
|
||||
else if(rstate == ControlMask) { /* search */
|
||||
else if(rstate == ControlMask) { /* search */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
|
|
@ -2897,7 +2907,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
}
|
||||
tcleval("property_search");
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* flip objects around their anchor points 20171208 */
|
||||
else if(EQUAL_MODMASK) { /* flip objects around their anchor points 20171208 */
|
||||
if(xctx->ui_state & STARTMOVE) move_objects(FLIP|ROTATELOCAL,0,0,0);
|
||||
else if(xctx->ui_state & STARTCOPY) copy_objects(FLIP|ROTATELOCAL);
|
||||
else {
|
||||
|
|
@ -2912,7 +2922,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'F':
|
||||
if(rstate == 0) { /* flip */
|
||||
if(rstate == 0) { /* flip */
|
||||
if(xctx->ui_state & STARTMOVE) move_objects(FLIP,0,0,0);
|
||||
else if(xctx->ui_state & STARTCOPY) copy_objects(FLIP);
|
||||
else {
|
||||
|
|
@ -2924,7 +2934,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
move_objects(END,0,0,0);
|
||||
}
|
||||
}
|
||||
else if(rstate == ControlMask ) { /* full zoom selection */
|
||||
else if(rstate == ControlMask ) { /* full zoom selection */
|
||||
if(xctx->ui_state == SELECTION) {
|
||||
zoom_full(1, 1, 3, 0.97);
|
||||
}
|
||||
|
|
@ -2932,18 +2942,18 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'g':
|
||||
if(rstate==0) { /* half snap factor */
|
||||
if(rstate==0) { /* half snap factor */
|
||||
set_snap(c_snap / 2.0);
|
||||
change_linewidth(-1.);
|
||||
draw();
|
||||
}
|
||||
else if(rstate==ControlMask) { /* set snap factor 20161212 */
|
||||
else if(rstate==ControlMask) { /* set snap factor 20161212 */
|
||||
my_snprintf(str, S(str),
|
||||
"input_line {Enter snap value (default: %.16g current: %.16g)} {xschem set cadsnap} {%g} 10",
|
||||
CADSNAP, c_snap, c_snap);
|
||||
tcleval(str);
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* highlight net and send to viewer */
|
||||
else if(EQUAL_MODMASK) { /* highlight net and send to viewer */
|
||||
int tool = 0;
|
||||
int exists = 0;
|
||||
char *tool_name = NULL;
|
||||
|
|
@ -2979,7 +2989,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'G':
|
||||
if(rstate == 0) { /* double snap factor */
|
||||
if(rstate == 0) { /* double snap factor */
|
||||
set_snap(c_snap * 2.0);
|
||||
change_linewidth(-1.);
|
||||
draw();
|
||||
|
|
@ -2987,13 +2997,13 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'h':
|
||||
if(rstate==ControlMask ) { /* go to http link */
|
||||
if(rstate==ControlMask ) { /* go to http link */
|
||||
int savesem = xctx->semaphore;
|
||||
xctx->semaphore = 0;
|
||||
launcher();
|
||||
xctx->semaphore = savesem;
|
||||
}
|
||||
else if (rstate == 0) { /* horizontally constrained drag 20171023 */
|
||||
else if (rstate == 0) { /* horizontally constrained drag 20171023 */
|
||||
if ( xctx->constr_mv == 1 ) {
|
||||
tcleval("set constr_mv 0" );
|
||||
xctx->constr_mv = 0;
|
||||
|
|
@ -3018,27 +3028,27 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'H':
|
||||
if(rstate == 0) { /* attach labels to selected instances */
|
||||
if(rstate == 0) { /* attach labels to selected instances */
|
||||
attach_labels_to_inst(1);
|
||||
}
|
||||
else if (rstate == ControlMask) { /* create schematic and symbol from selected components */
|
||||
else if (rstate == ControlMask) { /* create schematic and symbol from selected components */
|
||||
make_schematic_symbol_from_sel();
|
||||
}
|
||||
break;
|
||||
|
||||
case 'i':
|
||||
if(rstate==0) { /* descend to symbol */
|
||||
if(rstate==0) { /* descend to symbol */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
descend_symbol();
|
||||
}
|
||||
else if(rstate == ControlMask) { /* insert sym */
|
||||
else if(rstate == ControlMask) { /* insert sym */
|
||||
if(tclgetboolvar("new_symbol_browser")) {
|
||||
tcleval("insert_symbol $new_symbol_browser_paths $new_symbol_browser_depth $new_symbol_browser_ext");
|
||||
} else {
|
||||
tcleval("load_file_dialog {Insert symbol} *.\\{sym,tcl\\} INITIALINSTDIR 2");
|
||||
}
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* edit symbol in new window */
|
||||
else if(EQUAL_MODMASK) { /* edit symbol in new window */
|
||||
int save = xctx->semaphore;
|
||||
xctx->semaphore--; /* so semaphore for current context wll be saved correctly */
|
||||
symbol_in_new_window(0);
|
||||
|
|
@ -3047,7 +3057,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'I':
|
||||
if(rstate == 0) { /* insert sym */
|
||||
if(rstate == 0) { /* insert sym */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
if(tclgetboolvar("new_symbol_browser")) {
|
||||
tcleval("insert_symbol $new_symbol_browser_paths $new_symbol_browser_depth $new_symbol_browser_ext");
|
||||
|
|
@ -3055,7 +3065,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
start_place_symbol();
|
||||
}
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* edit symbol in new window - new xschem process */
|
||||
else if(EQUAL_MODMASK) { /* edit symbol in new window - new xschem process */
|
||||
int save = xctx->semaphore;
|
||||
xctx->semaphore--; /* so semaphore for current context wll be saved correctly */
|
||||
symbol_in_new_window(1);
|
||||
|
|
@ -3064,19 +3074,19 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'j':
|
||||
if(rstate==0 ) { /* print list of highlight nets */
|
||||
if(rstate==0 ) { /* print list of highlight nets */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
print_hilight_net(1);
|
||||
}
|
||||
else if(rstate==ControlMask) { /* create ipins from highlight nets */
|
||||
else if(rstate==ControlMask) { /* create ipins from highlight nets */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
print_hilight_net(0);
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* create labels without i prefix from hilight nets */
|
||||
else if(EQUAL_MODMASK) { /* create labels without i prefix from hilight nets */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
print_hilight_net(4);
|
||||
}
|
||||
else if( SET_MODMASK && (state & ControlMask) ) { /* print list of highlight net with label expansion */
|
||||
else if( SET_MODMASK && (state & ControlMask) ) { /* print list of highlight net with label expansion */
|
||||
print_hilight_net(3);
|
||||
}
|
||||
break;
|
||||
|
|
@ -3085,38 +3095,38 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
if(rstate == 0) {
|
||||
create_plot_cmd();
|
||||
}
|
||||
else if(SET_MODMASK ) { /* create labels with i prefix from hilight nets */
|
||||
else if(SET_MODMASK ) { /* create labels with i prefix from hilight nets */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
print_hilight_net(2);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'k':
|
||||
if(rstate==0) { /* hilight net */
|
||||
if(rstate==0) { /* hilight net */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
xctx->enable_drill=0;
|
||||
hilight_net(0);
|
||||
redraw_hilights(0);
|
||||
/* draw_hilight_net(1); */
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* select whole net (all attached wires/labels/pins) */
|
||||
else if(EQUAL_MODMASK) { /* select whole net (all attached wires/labels/pins) */
|
||||
select_hilight_net();
|
||||
}
|
||||
else if(rstate==ControlMask) { /* unhilight net */
|
||||
else if(rstate==ControlMask) { /* unhilight net */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
unhilight_net();
|
||||
}
|
||||
break;
|
||||
|
||||
case 'K':
|
||||
if(rstate == 0) { /* delete hilighted nets */
|
||||
if(rstate == 0) { /* delete hilighted nets */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
xctx->enable_drill=0;
|
||||
clear_all_hilights();
|
||||
/* undraw_hilight_net(1); */
|
||||
draw();
|
||||
}
|
||||
else if(rstate == ControlMask) { /* hilight net drilling thru elements with 'propag=' prop set on pins */
|
||||
else if(rstate == ControlMask) { /* hilight net drilling thru elements with 'propag=' prop set on pins */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
xctx->enable_drill=1;
|
||||
hilight_net(0);
|
||||
|
|
@ -3126,7 +3136,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'l':
|
||||
if(/* !xctx->ui_state && */ rstate == 0) { /* start line */
|
||||
if(/* !xctx->ui_state && */ rstate == 0) { /* start line */
|
||||
int prev_state = xctx->ui_state;
|
||||
if(xctx->semaphore >= 2) break;
|
||||
if(infix_interface) {
|
||||
|
|
@ -3141,17 +3151,17 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
xctx->ui_state2 = MENUSTARTLINE;
|
||||
}
|
||||
}
|
||||
else if(rstate == ControlMask) { /* create schematic from selected symbol 20171004 */
|
||||
else if(rstate == ControlMask) { /* create schematic from selected symbol 20171004 */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
create_sch_from_sym();
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* add pin label*/
|
||||
else if(EQUAL_MODMASK) { /* add pin label*/
|
||||
place_net_label(1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'L':
|
||||
if(rstate == 0) { /* toggle orthogonal routing */
|
||||
if(rstate == 0) { /* toggle orthogonal routing */
|
||||
if(tclgetboolvar("orthogonal_wiring")){
|
||||
tclsetboolvar("orthogonal_wiring", 0);
|
||||
xctx->manhattan_lines = 0;
|
||||
|
|
@ -3160,7 +3170,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
}
|
||||
redraw_w_a_l_r_p_z_rubbers(1);
|
||||
}
|
||||
else if(EQUAL_MODMASK ) { /* add pin label*/
|
||||
else if(EQUAL_MODMASK ) { /* add pin label*/
|
||||
place_net_label(0);
|
||||
}
|
||||
break;
|
||||
|
|
@ -3243,18 +3253,18 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'n':
|
||||
if(rstate==0) { /* hierarchical netlist */
|
||||
if(rstate==0) { /* hierarchical netlist */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
tcleval("xschem netlist -erc");
|
||||
}
|
||||
else if(rstate == ControlMask) { /* clear schematic */
|
||||
else if(rstate == ControlMask) { /* clear schematic */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
tcleval("xschem clear SCHEMATIC");
|
||||
}
|
||||
break;
|
||||
|
||||
case 'N':
|
||||
if(rstate == 0) { /* current level only netlist */
|
||||
if(rstate == 0) { /* current level only netlist */
|
||||
int err = 0;
|
||||
yyparse_error = 0;
|
||||
if(xctx->semaphore >= 2) break;
|
||||
|
|
@ -3292,14 +3302,14 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
}
|
||||
|
||||
}
|
||||
else if(rstate == ControlMask ) { /* clear symbol */
|
||||
else if(rstate == ControlMask ) { /* clear symbol */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
tcleval("xschem clear SYMBOL");
|
||||
}
|
||||
break;
|
||||
|
||||
case 'o':
|
||||
if(rstate == ControlMask) { /* load */
|
||||
if(rstate == ControlMask) { /* load */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
ask_new_file();
|
||||
xctx->semaphore--;
|
||||
|
|
@ -3309,10 +3319,10 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'O':
|
||||
if(rstate == ControlMask ) { /* load most recent tile */
|
||||
if(rstate == ControlMask ) { /* load most recent tile */
|
||||
tclvareval("xschem load -gui [lindex $recentfile 0]", NULL);
|
||||
}
|
||||
else if(rstate == 0) { /* toggle light/dark colorscheme 20171113 */
|
||||
else if(rstate == 0) { /* toggle light/dark colorscheme 20171113 */
|
||||
int d_c;
|
||||
d_c = tclgetboolvar("dark_colorscheme");
|
||||
d_c = !d_c;
|
||||
|
|
@ -3325,7 +3335,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'p':
|
||||
if(EQUAL_MODMASK) { /* add symbol pin */
|
||||
if(EQUAL_MODMASK) { /* add symbol pin */
|
||||
xctx->push_undo();
|
||||
unselect_all(1);
|
||||
storeobject(-1, xctx->mousex_snap-2.5, xctx->mousey_snap-2.5, xctx->mousex_snap+2.5, xctx->mousey_snap+2.5,
|
||||
|
|
@ -3335,7 +3345,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
move_objects(START,0,0,0);
|
||||
xctx->ui_state |= START_SYMPIN;
|
||||
}
|
||||
else if( !(xctx->ui_state & STARTPOLYGON) && rstate==0) { /* start polygon */
|
||||
else if( !(xctx->ui_state & STARTPOLYGON) && rstate==0) { /* start polygon */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
dbg(1, "callback(): start polygon\n");
|
||||
if(infix_interface) {
|
||||
|
|
@ -3351,7 +3361,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'P':
|
||||
if(rstate == 0) { /* pan, other way to. */
|
||||
if(rstate == 0) { /* pan, other way to. */
|
||||
xctx->xorigin=-xctx->mousex_snap+xctx->areaw*xctx->zoom/2.0;
|
||||
xctx->yorigin=-xctx->mousey_snap+xctx->areah*xctx->zoom/2.0;
|
||||
draw();
|
||||
|
|
@ -3360,18 +3370,18 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'q':
|
||||
if(rstate==ControlMask) { /* quit xschem */
|
||||
if(rstate==ControlMask) { /* quit xschem */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
/* must be set to zero, otherwise switch_tab/switch_win does not proceed
|
||||
* and these are necessary when closing tabs/windows */
|
||||
xctx->semaphore = 0;
|
||||
tcleval("quit_xschem");
|
||||
}
|
||||
else if(rstate==0) { /* edit attributes */
|
||||
else if(rstate==0) { /* edit attributes */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
edit_property(0);
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* edit .sch file (DANGER!!) */
|
||||
else if(EQUAL_MODMASK) { /* edit .sch file (DANGER!!) */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
rebuild_selected_array();
|
||||
if(xctx->lastsel==0 ) {
|
||||
|
|
@ -3388,17 +3398,17 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'Q':
|
||||
if(rstate == 0) { /* edit attributes in editor */
|
||||
if(rstate == 0) { /* edit attributes in editor */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
edit_property(1);
|
||||
}
|
||||
else if(rstate == ControlMask) { /* view attributes */
|
||||
else if(rstate == ControlMask) { /* view attributes */
|
||||
edit_property(2);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'r':
|
||||
if(/* !xctx->ui_state && */ rstate==0) { /* start rect */
|
||||
if(/* !xctx->ui_state && */ rstate==0) { /* start rect */
|
||||
dbg(1, "callback(): start rect\n");
|
||||
if(xctx->semaphore >= 2) break;
|
||||
if(infix_interface) {
|
||||
|
|
@ -3411,7 +3421,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
xctx->ui_state2 = MENUSTARTRECT;
|
||||
}
|
||||
}
|
||||
else if((rstate == ControlMask) && cadence_compat) { /* simulate (for cadence users) */
|
||||
else if((rstate == ControlMask) && cadence_compat) { /* simulate (for cadence users) */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
|
|
@ -3423,7 +3433,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
tcleval("[xschem get top_path].menubar invoke Simulate");
|
||||
}
|
||||
}
|
||||
else if(SET_MODMASK) { /* reload */
|
||||
else if(SET_MODMASK) { /* reload */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
tcleval("tk_messageBox -type okcancel -parent [xschem get topwindow] "
|
||||
"-message {Are you sure you want to reload from disk?}");
|
||||
|
|
@ -3436,7 +3446,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
draw();
|
||||
}
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* rotate objects around their anchor points 20171208 */
|
||||
else if(EQUAL_MODMASK) { /* rotate objects around their anchor points 20171208 */
|
||||
if(xctx->ui_state & STARTMOVE) move_objects(ROTATE|ROTATELOCAL,0,0,0);
|
||||
else if(xctx->ui_state & STARTCOPY) copy_objects(ROTATE|ROTATELOCAL);
|
||||
else {
|
||||
|
|
@ -3451,7 +3461,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'R':
|
||||
if(rstate == 0) { /* rotate */
|
||||
if(rstate == 0) { /* rotate */
|
||||
if(xctx->ui_state & STARTMOVE) move_objects(ROTATE,0,0,0);
|
||||
else if(xctx->ui_state & STARTCOPY) copy_objects(ROTATE);
|
||||
else {
|
||||
|
|
@ -3467,7 +3477,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 's':
|
||||
if((rstate == 0) && !cadence_compat) { /* simulate (original keybind) */
|
||||
if((rstate == 0) && !cadence_compat) { /* simulate (original keybind) */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
|
|
@ -3479,11 +3489,11 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
tcleval("[xschem get top_path].menubar invoke Simulate");
|
||||
}
|
||||
}
|
||||
else if(/* !xctx->ui_state && */ (rstate == 0) && cadence_compat) { /* create wire snapping to closest instance pin (cadence keybind) */
|
||||
else if(/* !xctx->ui_state && */ (rstate == 0) && cadence_compat) { /* create wire snapping to closest instance pin (cadence keybind) */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
snapped_wire(c_snap);
|
||||
}
|
||||
else if(rstate == ControlMask ){ /* save 20121201 */
|
||||
else if(rstate == ControlMask ){ /* save 20121201 */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
|
|
@ -3496,25 +3506,25 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
save(1, 0);
|
||||
}
|
||||
}
|
||||
else if(SET_MODMASK && (state & ControlMask) ) { /* save as symbol */
|
||||
else if(SET_MODMASK && (state & ControlMask) ) { /* save as symbol */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
saveas(NULL, SYMBOL);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'S':
|
||||
if(rstate == 0) { /* change element order */
|
||||
if(rstate == 0) { /* change element order */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
change_elem_order(-1);
|
||||
}
|
||||
else if(rstate == ControlMask) { /* save as schematic */
|
||||
else if(rstate == ControlMask) { /* save as schematic */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
saveas(NULL, SCHEMATIC);
|
||||
}
|
||||
break;
|
||||
|
||||
case 't':
|
||||
if(rstate == 0) { /* place text */
|
||||
if(rstate == 0) { /* place text */
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
break;
|
||||
|
|
@ -3523,7 +3533,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
xctx->last_command = 0;
|
||||
xctx->mx_double_save = xctx->mousex_snap;
|
||||
xctx->my_double_save = xctx->mousey_snap;
|
||||
if(place_text(0, xctx->mousex_snap, xctx->mousey_snap)) { /* 1 = draw text 24122002 */
|
||||
if(place_text(0, xctx->mousex_snap, xctx->mousey_snap)) { /* 1 = draw text 24122002 */
|
||||
xctx->mousey_snap = xctx->my_double_save;
|
||||
xctx->mousex_snap = xctx->mx_double_save;
|
||||
move_objects(START,0,0,0);
|
||||
|
|
@ -3539,18 +3549,18 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'T':
|
||||
if(rstate == 0) { /* toggle spice_ignore, verilog_ignore, ... flag on selected instances. */
|
||||
if(rstate == 0) { /* toggle spice_ignore, verilog_ignore, ... flag on selected instances. */
|
||||
toggle_ignore();
|
||||
}
|
||||
break;
|
||||
|
||||
case 'u':
|
||||
if(rstate==0) { /* undo */
|
||||
if(rstate==0) { /* undo */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
xctx->pop_undo(0, 1); /* 2nd parameter: set_modify_status */
|
||||
draw();
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* align to grid */
|
||||
else if(EQUAL_MODMASK) { /* align to grid */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
xctx->push_undo();
|
||||
round_schematic_to_grid(c_snap);
|
||||
|
|
@ -3570,7 +3580,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'U':
|
||||
if(rstate == 0) { /* redo */
|
||||
if(rstate == 0) { /* redo */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
xctx->pop_undo(1, 1); /* 2nd parameter: set_modify_status */
|
||||
draw();
|
||||
|
|
@ -3578,7 +3588,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'v':
|
||||
if(rstate==0) { /* vertically constrained drag 20171023 */
|
||||
if(rstate==0) { /* vertically constrained drag 20171023 */
|
||||
if ( xctx->constr_mv == 2 ) {
|
||||
tcleval("set constr_mv 0" );
|
||||
xctx->constr_mv = 0;
|
||||
|
|
@ -3597,11 +3607,11 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
new_line(RUBBER, xctx->mousex_snap, xctx->mousey_snap);
|
||||
}
|
||||
}
|
||||
else if(rstate == ControlMask) { /* paste from clipboard */
|
||||
else if(rstate == ControlMask) { /* paste from clipboard */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
merge_file(2,".sch");
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* vertical flip objects around their anchor points */
|
||||
else if(EQUAL_MODMASK) { /* vertical flip objects around their anchor points */
|
||||
if(xctx->ui_state & STARTMOVE) {
|
||||
move_objects(ROTATE|ROTATELOCAL,0,0,0);
|
||||
move_objects(ROTATE|ROTATELOCAL,0,0,0);
|
||||
|
|
@ -3626,7 +3636,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'V':
|
||||
if(rstate == 0) { /* vertical flip */
|
||||
if(rstate == 0) { /* vertical flip */
|
||||
if(xctx->ui_state & STARTMOVE) {
|
||||
move_objects(ROTATE,0,0,0);
|
||||
move_objects(ROTATE,0,0,0);
|
||||
|
|
@ -3648,7 +3658,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
move_objects(END,0,0,0);
|
||||
}
|
||||
}
|
||||
else if(rstate == ControlMask) { /* toggle spice/vhdl netlist */
|
||||
else if(rstate == ControlMask) { /* toggle spice/vhdl netlist */
|
||||
xctx->netlist_type++;
|
||||
if(xctx->netlist_type==6) xctx->netlist_type=1;
|
||||
set_tcl_netlist_type();
|
||||
|
|
@ -3657,7 +3667,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'w':
|
||||
if(/* !xctx->ui_state && */ rstate==0) { /* place wire. */
|
||||
if(/* !xctx->ui_state && */ rstate==0) { /* place wire. */
|
||||
int prev_state = xctx->ui_state;
|
||||
if(xctx->semaphore >= 2) break;
|
||||
|
||||
|
|
@ -3674,7 +3684,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
if(prev_state & STARTWIRE) start_wire(xctx->mousex_snap, xctx->mousey_snap);
|
||||
}
|
||||
}
|
||||
else if(rstate == ControlMask) { /* close current schematic */
|
||||
else if(rstate == ControlMask) { /* close current schematic */
|
||||
int save_sem;
|
||||
if(xctx->semaphore >= 2) break;
|
||||
save_sem = xctx->semaphore;
|
||||
|
|
@ -3684,17 +3694,17 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'W':
|
||||
if(/* !xctx->ui_state && */ (rstate == 0) && !cadence_compat) { /* create wire snapping to closest instance pin (original keybind) */
|
||||
if(/* !xctx->ui_state && */ (rstate == 0) && !cadence_compat) { /* create wire snapping to closest instance pin (original keybind) */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
snapped_wire(c_snap);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'x':
|
||||
if(rstate == 0) { /* new cad session */
|
||||
if(rstate == 0) { /* new cad session */
|
||||
new_xschem_process(NULL ,0);
|
||||
}
|
||||
else if(EQUAL_MODMASK) { /* toggle draw crosshair at mouse pos */
|
||||
else if(EQUAL_MODMASK) { /* toggle draw crosshair at mouse pos */
|
||||
if(tclgetboolvar("draw_crosshair")) {
|
||||
tclsetvar("draw_crosshair", "0");
|
||||
} else {
|
||||
|
|
@ -3702,10 +3712,10 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
}
|
||||
draw();
|
||||
}
|
||||
else if(rstate == ControlMask) { /* cut selection into clipboard */
|
||||
else if(rstate == ControlMask) { /* cut selection into clipboard */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
rebuild_selected_array();
|
||||
if(xctx->lastsel) { /* 20071203 check if something selected */
|
||||
if(xctx->lastsel) { /* 20071203 check if something selected */
|
||||
save_selection(2);
|
||||
delete(1/* to_push_undo */);
|
||||
}
|
||||
|
|
@ -3713,13 +3723,13 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'X':
|
||||
if(rstate == 0) { /* highlight discrepanciens between selected instance pin and net names */
|
||||
if(rstate == 0) { /* highlight discrepanciens between selected instance pin and net names */
|
||||
hilight_net_pin_mismatches();
|
||||
}
|
||||
break;
|
||||
|
||||
case 'y':
|
||||
if(rstate == 0) { /* toggle stretching */
|
||||
if(rstate == 0) { /* toggle stretching */
|
||||
enable_stretch = !enable_stretch;
|
||||
tclsetboolvar("enable_stretch", enable_stretch);
|
||||
}
|
||||
|
|
@ -3730,10 +3740,10 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
dbg(1, "callback(): zoom_rectangle call\n");
|
||||
zoom_rectangle(START);
|
||||
}
|
||||
else if(rstate==ControlMask) { /* zoom out */
|
||||
else if(rstate==ControlMask) { /* zoom out */
|
||||
view_unzoom(0.0);
|
||||
}
|
||||
else if(EQUAL_MODMASK && cadence_compat) { /* toggle snap-cursor option */
|
||||
else if(EQUAL_MODMASK && cadence_compat) { /* toggle snap-cursor option */
|
||||
if(tclgetboolvar("snap_cursor")) {
|
||||
tclsetvar("snap_cursor", "0");
|
||||
draw_snap_cursor(1);
|
||||
|
|
@ -3748,13 +3758,13 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case 'Z':
|
||||
if(rstate == 0) { /* zoom in */
|
||||
if(rstate == 0) { /* zoom in */
|
||||
view_zoom(0.0);
|
||||
}
|
||||
break;
|
||||
|
||||
case ' ':
|
||||
if(xctx->ui_state & STARTWIRE) { /* & instead of == 20190409 */
|
||||
if(xctx->ui_state & STARTWIRE) { /* & instead of == 20190409 */
|
||||
new_wire(RUBBER|CLEAR, xctx->mousex_snap, xctx->mousey_snap);
|
||||
xctx->manhattan_lines++;
|
||||
xctx->manhattan_lines %=3;
|
||||
|
|
@ -3786,7 +3796,6 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case '%': /* toggle draw grid */
|
||||
int dr_gr;
|
||||
dr_gr = tclgetboolvar("draw_grid");
|
||||
dr_gr =!dr_gr;
|
||||
if(dr_gr) {
|
||||
|
|
@ -3802,12 +3811,12 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case '$':
|
||||
if( rstate == 0 ) { /* toggle pixmap saving */
|
||||
if( rstate == 0 ) { /* toggle pixmap saving */
|
||||
xctx->draw_pixmap =!xctx->draw_pixmap;
|
||||
if(xctx->draw_pixmap) tcleval("alert_ { enabling draw pixmap} {}");
|
||||
else tcleval("alert_ { disabling draw pixmap} {}");
|
||||
}
|
||||
else if(state & ControlMask) { /* toggle window drawing */
|
||||
else if(state & ControlMask) { /* toggle window drawing */
|
||||
xctx->draw_window =!xctx->draw_window;
|
||||
if(xctx->draw_window) {
|
||||
tcleval("alert_ { enabling draw window} {}");
|
||||
|
|
@ -3820,7 +3829,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case '=':
|
||||
if(state & ControlMask) { /* toggle fill rectangles */
|
||||
if(state & ControlMask) { /* toggle fill rectangles */
|
||||
int x;
|
||||
xctx->fill_pattern++;
|
||||
if(xctx->fill_pattern==2) xctx->fill_pattern=0;
|
||||
|
|
@ -3848,7 +3857,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case '+':
|
||||
if(state & ControlMask) { /* change line width */
|
||||
if(state & ControlMask) { /* change line width */
|
||||
xctx->lw = round_to_n_digits(xctx->lw + 0.5, 2);
|
||||
change_linewidth(xctx->lw);
|
||||
tclsetboolvar("change_lw", 0);
|
||||
|
|
@ -3857,7 +3866,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case '-':
|
||||
if(state & ControlMask) { /* change line width */
|
||||
if(state & ControlMask) { /* change line width */
|
||||
xctx->lw = round_to_n_digits(xctx->lw - 0.5, 2);
|
||||
if(xctx->lw < 0.0) xctx->lw = 0.0;
|
||||
change_linewidth(xctx->lw);
|
||||
|
|
@ -3867,7 +3876,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case XK_Return:
|
||||
if((state == 0 ) && xctx->ui_state & STARTPOLYGON) { /* close polygon */
|
||||
if((state == 0 ) && xctx->ui_state & STARTPOLYGON) { /* close polygon */
|
||||
new_polygon(ADD|END, xctx->mousex_snap, xctx->mousey_snap);
|
||||
}
|
||||
break;
|
||||
|
|
@ -3888,7 +3897,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case XK_Delete:
|
||||
if(xctx->ui_state & SELECTION) { /* delete selection */
|
||||
if(xctx->ui_state & SELECTION) { /* delete selection */
|
||||
if(xctx->semaphore >= 2) break;
|
||||
delete(1/* to_push_undo */);
|
||||
}
|
||||
|
|
@ -3906,7 +3915,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
tcleval("next_tab");
|
||||
xctx->semaphore = save;
|
||||
}
|
||||
else { /* left */
|
||||
else { /* left */
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
break;
|
||||
|
|
@ -3929,7 +3938,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
tcleval("prev_tab");
|
||||
xctx->semaphore = save;
|
||||
}
|
||||
else { /* right */
|
||||
else { /* right */
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
break;
|
||||
|
|
@ -4014,7 +4023,7 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case '\\':
|
||||
if(state==0) { /* fullscreen */
|
||||
if(state==0) { /* fullscreen */
|
||||
dbg(1, "callback(): toggle fullscreen, win_path=%s\n", win_path);
|
||||
toggle_fullscreen(win_path);
|
||||
}
|
||||
|
|
@ -4054,17 +4063,17 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
break;
|
||||
|
||||
case ';':
|
||||
if(0 && (state & ControlMask)) { /* testmode */
|
||||
if(0 && (state & ControlMask)) { /* testmode */
|
||||
}
|
||||
break;
|
||||
|
||||
case '~':
|
||||
if(0 && (state & ControlMask)) { /* testmode */
|
||||
if(0 && (state & ControlMask)) { /* testmode */
|
||||
}
|
||||
break;
|
||||
|
||||
case '|':
|
||||
if(0 && (state & ControlMask)) { /* testmode */
|
||||
if(0 && (state & ControlMask)) { /* testmode */
|
||||
static int x = 0;
|
||||
|
||||
if(x == 0) {
|
||||
|
|
@ -4118,9 +4127,9 @@ static void handle_key_press(int event, KeySym key, int state, int rstate, int m
|
|||
static void handle_button_press(int event, int state, int rstate, KeySym key, int button, int mx, int my,
|
||||
double c_snap, int draw_xhair, int crosshair_size, int enable_stretch, int aux)
|
||||
{
|
||||
dbg(1, "callback(): ButtonPress ui_state=%d state=%d\n",xctx->ui_state,state);
|
||||
int use_cursor_for_sel = tclgetintvar("use_cursor_for_selection");
|
||||
int excl = xctx->ui_state & (STARTWIRE | STARTRECT | STARTLINE | STARTPOLYGON | STARTARC);
|
||||
dbg(1, "callback(): ButtonPress ui_state=%d state=%d\n",xctx->ui_state,state);
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
waves_callback(event, mx, my, key, button, aux, state);
|
||||
return;
|
||||
|
|
@ -4366,7 +4375,8 @@ static void handle_button_press(int event, int state, int rstate, KeySym key, in
|
|||
}
|
||||
|
||||
static void handle_button_release(int event, KeySym key, int state, int button, int mx, int my,
|
||||
int aux, double c_snap, int enable_stretch, int draw_xhair, int snap_cursor, int wire_draw_active)
|
||||
int aux, double c_snap, int enable_stretch, int draw_xhair,
|
||||
int snap_cursor, int wire_draw_active)
|
||||
{
|
||||
char str[PATH_MAX + 100];
|
||||
if(waves_selected(event, key, state, button)) {
|
||||
|
|
@ -4595,7 +4605,8 @@ int wire_draw_active = (xctx->ui_state & STARTWIRE) ||
|
|||
redraw_only = 1;
|
||||
new_schematic("switch_no_tcl_ctx", win_path, "", 1);
|
||||
} else {
|
||||
dbg(1, "callback(): switching window context: %s --> %s, semaphore=%d\n", old_win_path, win_path, xctx->semaphore);
|
||||
dbg(1, "callback(): switching window context: %s --> %s, semaphore=%d\n",
|
||||
old_win_path, win_path, xctx->semaphore);
|
||||
new_schematic("switch", win_path, "", 1);
|
||||
}
|
||||
tclvareval("housekeeping_ctx", NULL);
|
||||
|
|
|
|||
Loading…
Reference in New Issue