/************************************************************************ ** ** FILE : habreakmisc.c ** ** ZWECK : ** ** AUTOR : Michael C. Ancutici ** Universitaet Stuttgart, Fakultaet Informatik ** ** DATUM : 14.03.93 ** *************************************************************************/ #include "habreakmisc.h" #include "hawin.h" #include "simbreak.h" #include "misc.h" #include "celltype.h" #include "hatramisc.h" #include "hastemisc.h" #include "haste.h" #include "haka.H" #include "hatra.h" #include "hawin.h" #include "hamess.h" #include "sim.h" BOOLEAN HaBreakMarked; /************************************************************************* ** FUNKTION: HaBreakInit() ** ZWECK: ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ void HaBreakInit() { SimBreakInit(); HaBreakMarked = FALSE; } /************************************************************************* ** FUNKTION: HaBreakMark ** ZWECK: ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ static HaBreakMark( MarkOn) BOOLEAN MarkOn; { OBJECT *e; if ( (MarkOn) ) { HaBreakMarked = TRUE; XSetForeground( MyDisplay, TraGC, HaModColor); XSetForeground( MyDisplay, SteGC, HaModColor); } else if ( (HaBreakMarked) ) { HaBreakMarked = FALSE; XSetForeground( MyDisplay, TraGC, HaTraColor); XSetForeground( MyDisplay, SteGC, HaSteColor); } else return; e = BreakList; while ( (e=e->next) ) if (e->typ == CE_STELLE) HaSteDrawX( e->Nr1, SteGC); else HaTraDrawX( e->Nr1, TraGC); HaKaRedraw(); if ( !(HaBreakMarked) ) SimBreakClearBL(); } /************************************************************************* ** FUNKTION: HaWinSayBreak ** ZWECK: ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ void HaWinSayBreak( w, client_data, call_data) Widget w; XtPointer client_data, call_data; { static String On = ": "; static String Off = ": HaWinSayMove()"; XtOverrideTranslations( HaGraphPlane, XtParseTranslationTable( On)); HaMessage( HA_CLEAR); if (HaToggleOn == HaUnbreakToggle) { HaToggleOn = FALSE; XtVaSetValues( HaUnbreakToggle, XtNstate, FALSE, NULL); XtVaSetValues( HaUnbreakToggle, XtNsensitive, FALSE, NULL); HaBreakMark( FALSE); XtOverrideTranslations( HaGraphPlane, XtParseTranslationTable( Off)); return; } XtOverrideTranslations( HaGraphPlane, XtParseTranslationTable( On)); HaToggleOn = HaUnbreakToggle; HaMessage( HA_BREAK_SET); HaBreakMark( TRUE); }