#include using namespace leda; GRAPH G; void minty(GraphWin& gw){ //... gw.redraw(); return; } void newEdge(GraphWin& gw, edge e){ G[e]=nil; gw.set_color(e, blue); gw.update_graph(); gw.redraw(); return; } void newGraph(GraphWin& gw){ edge e; forall_edges(e,G){ newEdge(gw,e); } return; } void mark_red(GraphWin& gw){ //färbt alle ausgewählten Kanten rot und löscht die Auswahl edge e; forall_edges(e, G){ if(gw.is_selected(e)){ gw.deselect(e); gw.set_color(e,red); } } gw.redraw(); return; } void mark_green(GraphWin& gw){ //färbt alle ausgewählten Kanten grün und löscht die Auswahl edge e; forall_edges(e, G){ if(gw.is_selected(e)){ gw.deselect(e); gw.set_color(e,green); } } gw.redraw(); return; } int main(){ GraphWin gw(G,1000,1000,"Algorithmus von Minty"); gw.display(); gw.set_node_label_type(no_label); gw.set_new_edge_handler(newEdge); //setzt alle neuen Kanten auf blau gw.set_init_graph_handler(newGraph); gw.add_simple_call(mark_red,"rote Kanten"); //beim betätigen des Buttons rote Kanten wird die Funktion mark_red ausgeführt gw.add_simple_call(mark_green,"gruene Kanten"); //analog gw.del_message(); gw.message("Markieren Sie die betrachtete Kante."); while(gw.edit()){ minty(gw); } gw.redraw(); return 0; }