Boolean checkselect_draw(short value, Boolean draw_selected) { short *check, savemode; value &= areawin->filter; /* apply the selection filter */ if (areawin->selects == 0) { savemode = eventmode; if (!draw_selected) eventmode = PENDING_MODE; select_element(value); eventmode = savemode; } if (areawin->selects == 0) return False; for (check = areawin->selectlist; check < areawin->selectlist + areawin->selects; check++) if (SELECTTYPE(check) & value) break; if (check == areawin->selectlist + areawin->selects) return False; else return True; }
int command(char *s) { printf("command '%s'\n",s); switch(*s) { case '\0': add(); break; case 'A'...'Z': select_element(s); break; case '@': pos(s+1); break; case '!': move(s+1); break; case '#': package(s+1); break; case '.': pin(s+1); break; case '-': wiring(); break; case 'w': wireadjust(); break; case 'h': hide(); break; case 's': save(s+1); break; case 'l': load(s+1); break; case 'i': insert(s+1); break; case 'q': return 1; //case '=': name(s+1); break; //case '&': part(s+1); break; } return 0; }