/************************************************************************ ** ** FILE : hakasets.c ** ** ZWECK : ** ** AUTOR : Michael C. Ancutici ** Universitaet Stuttgart, Fakultaet Informatik ** ** DATUM : 14.03.93 ** *************************************************************************/ #include "hakasets.h" #include "haka.h" #include "haka.H" #include "ste.h" #include "tra.h" #include "cellkaget.h" #include "hamess.h" #include "celltype.h" /************************************************************************* ** FUNKTION: HaKaSetStart ** ZWECK: setzt Startknoten und startet Kantenzeichnen ** EINGABE: ** AUSGABE: ** RETURN: ** ANMERK: *************************************************************************/ void HaKaSetStart( w, event, params, num_params) Widget w; XEvent *event; String *params; Cardinal *num_params; { static String KaMovOn = ": HaKaMov() \n\ : HaKaSetZiel() \n\ : HaKaSetZiel() \n\ : HaKaSetEck() \n\ : HaKaLineOff() \n\ : HaKaLineOn()"; HaAlt.x = ((XButtonEvent *)event)->x; HaAlt.y = ((XButtonEvent *)event)->y; if (!CellKaGetStart( HaAlt.x, HaAlt.y, &StartTyp, &StartNr) ) { HaMessage( HA_NO_START_FOUND); return; } ENeuNr = 0; if (StartTyp == CE_STELLE) { ZielTyp = CE_TRANSITION; HaKaFirst.x = StartKoord.x = SteStelle[ StartNr]->PosStelle.x; HaKaFirst.y = StartKoord.y = SteStelle[ StartNr]->PosStelle.y; } else { ZielTyp = CE_STELLE; HaKaFirst.x = StartKoord.x = TraTrans[ StartNr]->PosTrans.x; HaKaFirst.y = StartKoord.y = TraTrans[ StartNr]->PosTrans.y; } HaKaInvLine( HaKaFirst.x, HaKaFirst.y, HaAlt.x, HaAlt.y); XtOverrideTranslations( HaGraphPlane, XtParseTranslationTable( KaMovOn)); HaMessage( HA_CLEAR); }