/************************************************************************ ** ** FILE : hatraio.c ** ** ZWECK : ** ** AUTOR : Michael C. Ancutici ** Universitaet Stuttgart, Fakultaet Informatik ** ** DATUM : 14.03.93 ** *************************************************************************/ #include "hatraio.h" #include "hatraname.h" #include "haka.H" #include "celltra.h" #include "harefreshx.h" #include "traio.h" #include "hatra.h" #include "hatra.h" #include "tratype.h" #include "misc.h" #include #include "tra.h" /************************************************************************* ** FUNKTION: HaTraInsertX ** ZWECK: ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ void HaTraInsertX( TNr, t) int TNr; TRANSITION *t; { STRING Name; strcpy( Name, t->Name); t->Name[ 0] = EOL; TraInsert( TNr, t); HaTraDrawX( TNr, TraGC); CellTraEin( TNr, t->PosTrans.x, t->PosTrans.y, t->Darstellung); HaTraNReplX( TNr, Name); } /************************************************************************* ** FUNKTION: HaTraSingleRemoveX ** ZWECK: entfernt Tralle ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ void HaTraSingleRemoveX( TNr) int TNr; { HaTraNReplX( TNr, ""); XSetForeground( MyDisplay, TraGC, HaBackColor); HaTraDrawX( TNr, TraGC); XSetForeground( MyDisplay, TraGC, HaTraColor); CellTraRemove( TNr); HaRefreshXFromRL(); TraRemove( TNr); } /************************************************************************* ** FUNKTION: HaTraRemoveX ** ZWECK: entfernt Tralle einschliesslich aller abhaengiger ** Kanten. ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ void HaTraRemoveX( TNr) int TNr; { HaKaRemoveAllToTraX( TNr); HaTraSingleRemoveX( TNr); } /************************************************************************* ** FUNKTION: HaTraRemove ** ZWECK: entfernt Tralle einschliesslich aller abhaengiger ** Kanten. ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ void HaTraRemove( TNr) int TNr; { HaKaRemoveAllToTraX( TNr); HaTraSingleRemoveX( TNr); HaKaRedraw(); } /************************************************************************* ** FUNKTION: HaTraChangeSinglePlace ** ZWECK: ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ void HaTraChangeSinglePlaceX( TNr, x, y, Darst) int TNr, x, y; char Darst; { STRING Name; strcpy( Name, TraTrans[ TNr]->Name); HaTraNReplX( TNr, ""); XSetForeground( MyDisplay, TraGC, HaBackColor); HaTraDrawX( TNr, TraGC); XSetForeground( MyDisplay, TraGC, HaTraColor); CellTraRemove( TNr); HaRefreshXFromRL(); TraChangePlace( TNr, x, y, Darst); HaTraDrawX( TNr, TraGC); CellTraEin( TNr, x, y, Darst); HaTraNReplX( TNr, Name); } /************************************************************************* ** FUNKTION: HaTraChangePlace ** ZWECK: ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ void HaTraChangePlace( TNr, x, y, Darst) int TNr, x, y; char Darst; { HaKaDeInstallAllToTraX( TNr); HaTraChangeSinglePlaceX( TNr, x, y, Darst); HaKaInstallAllToTraX( TNr); HaKaRedraw(); }