Week - 7 - Checking and correcting the edges
Objective: Create code to display free edges, t edges and temp nodes for equivalence
Procedure:

1. Create procedures for Free edges and t edges with possible null conditions
2. create procedure for deleting edges
3. create gui for buttons to display edges and remove edges
Code:
proc freeedges {} {
*nodecleartempmark
*setdisplayattributes 4 1
*createmark elements 1 "displayed"
*equivalence elements 1 1 3 0 0
*createmark nodes 1 "retrieve"
*nodemarkaddtempmark 1
*createmark components 1 "^edges" "Free_Edges" "T_Edges"
if {[hm_marklength components 1] != 0} {*deletemark components 1;\
*createmark elements 1 "displayed"; *findedges1 elements 1 0 0 0 30} else {*createmark elements 1 "displayed"; *findedges1 elements 1 0 0 0 30}
*clearmarkall 1; *createmark components 1 "^edges"
if {[hm_marklength components 1] !=0} {*setvalue components name=^edges name=Free_Edges;\
*createmark components 1 "Free_Edges";*setvalue comps mark=1 color=#FF0000;*setcomponentdisplayattributes "Free_Edges" 2 1} else {puts "No Free Edges"}
}
proc tedges {} {
*createmark components 1 "^edges"
if {[hm_marklength components 1] != 0} {*deletemark components 1;\
*createmark elements 1 "displayed"; *findedges1 elements 1 1 0 0 30} else {*createmark elements 1 "displayed"; *findedges1 elements 1 1 0 0 30}
*clearmarkall 1; *createmark components 1 "^edges"
if {[hm_marklength components 1] !=0} {*setvalue components name=^edges name=T_Edges;\
*createmark components 1 "T_Edges";*setvalue comps mark=1 color=#00B0F0;*setcomponentdisplayattributes "T_Edges" 2 1} else {puts "No Free Edges"}
}
proc del_comp {a} {
*clearmarkall 1
*createmark components 1 $a
if {[hm_marklength components 1]!=0} {*deletemark components 1}
}
proc del_edges {} {
del_comp "Free_Edges"
del_comp "Free_Edges1"
del_comp "T_Edges"
del_comp "T_Edges1"
del_comp "^edges"
*nodecleartempmark
*setdisplayattributes 2 1
}
set edg .window
catch {destroy $edg}
toplevel $edg -class Toplevel
wm title $edg "Edges"
wm geometry $edg 200x200+500+500
wm resizable $edg 0 0
wm deiconify $edg
button $edg.01 -text "Edges" -command {freeedges;tedges} -font {time 10}; place $edg.01 -x 15 -y 15 -width 50
button $edg.02 -text "Delete Edges" -command {del_edges} -font {time 10}; place $edg.02 -x 75 -y 15 -width 100

Using edges

Deleting edges:

Conclusion:
Code is deployed successfully