/************************************************************************ ** ** FILE : hadelmisc.c ** ** ZWECK : ** ** AUTOR : Michael C. Ancutici ** Universitaet Stuttgart, Fakultaet Informatik ** ** DATUM : 14.03.93 ** *************************************************************************/ #include "hadelmisc.h" #include "hatraio.h" #include "hawin.h" #include "celltype.h" #include "hakaio.h" #include "hasteio.h" #include "hamess.h" #include "simfire.h" #include "cellget.h" #include /************************************************************************* ** FUNKTION: HaDelVictim ** ZWECK: entfernt ein Objekt ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ void HaDelVictim( w, event, params, num_params) Widget w; XEvent *event; String *params; Cardinal *num_params; { int n; OBJECT *p; n = CellGetForLook(((XButtonEvent *)event)->x, ((XButtonEvent *)event)->y, &p); if (n == 1) { switch (p->typ) { case CE_STELLE: HaSteRemove( p->Nr1); SimTouch(); break; case CE_TRANSITION: HaTraRemove( p->Nr1); break; case CE_ST_KANTE: HaKaSTRemove( p->Nr1, p->Nr2); break; case CE_TS_KANTE: HaKaTSRemove( p->Nr1, p->Nr2); break; } free( p); } else if (n > 1) { switch (p->typ) { case CE_STELLE: fprintf( stderr, "*** HaDelVictim: some places\n"); break; case CE_TRANSITION: fprintf( stderr, "*** HaDelVictim: some transitions\n"); break; case CE_ST_KANTE: fprintf( stderr, "*** HaDelVictim: some PT-edges\n"); break; case CE_TS_KANTE: fprintf( stderr, "*** HaDelVictim: some TP-edges\n"); break; } } } /************************************************************************* ** FUNKTION: HaWinSayDel ** ZWECK: Ein-/Ausschalter fuer HaDel-Funktionen *************************************************************************/ void HaWinSayDel( w, client_data, call_data) Widget w; XtPointer client_data, call_data; { static String DelOn = ": \n\ : HaDelVictim() "; static String DelOff = ": HaWinSayMove() \n\ : HaLook() "; if (!HaToggleOn) { HaToggleOn = HaDelToggle; XtOverrideTranslations( HaGraphPlane, XtParseTranslationTable( DelOn)); } else { HaToggleOn = FALSE; XtOverrideTranslations( HaGraphPlane, XtParseTranslationTable( DelOff)); } HaMessage( HA_CLEAR); }