package EDU.neu.ccs.demeter.tools.apstudio.graphedit;
import java.awt.*;
import java.io.*;
import java.util.*;
import EDU.neu.ccs.demeter.*;
import EDU.neu.ccs.demeter.common.tg.*;


import EDU.neu.ccs.demeter.*;
class TGUpdateVisitor extends superInitVisitor {
  public TGUpdateVisitor() {
    super();
  }
  public void before(UVertex host) {
//		System.out.println("debug 1");
		if(host.get_vdeco() == null){
//			System.out.println("debug 1a");
			host.set_vdeco(new Decorator());
//			System.out.println("debug 1b");
		}
		if(host.get_tgv() == null)
			System.out.println("how come no tgv for - " + host.get_vertexname().get_name());
		if(host.get_tgv().is_in_trav()){
//			System.out.println("debug 2");
			host.get_vdeco().setMarked(3);//host.set tag
		}
		else{
//			System.out.println("debug 3");
			host.get_vdeco().setMarked(0);//host.reset tag
		}
//		System.out.println("debug 4");
		host.set_tgv(null);
		}
  public void before(UConstEdge host) {
		if(host.get_edeco() == null)
			host.set_edeco(new Decorator());
		if(host.get_tge().is_in_trav()){
			host.get_edeco().setMarked(3);//host.set tag
		}
		else
			host.get_edeco().setMarked(0);//host.reset tag
		host.set_tge(null);
		}
  public void before(UAltEdge host) {
		if(host.get_edeco() == null)
			host.set_edeco(new Decorator());
		if(host.get_tge().is_in_trav()){
			host.get_edeco().setMarked(3);//host.set tag
		}
		else
			host.get_edeco().setMarked(0);//host.reset tag
		host.set_tge(null);
		}
  public void before(UExtendEdge host) {
		if(host.get_edeco() == null)
			host.set_edeco(new Decorator());
		if(host.get_tge().is_in_trav()){
			host.get_edeco().setMarked(3);//host.set tag
		}
		else
			host.get_edeco().setMarked(0);//host.reset tag
		host.set_tge(null);
		}
  public void before(UImplEdge host) {
		if(host.get_edeco() == null)
			host.set_edeco(new Decorator());
		if(host.get_tge().is_in_trav()){
			host.get_edeco().setMarked(3);//host.set tag
		}
		else
			host.get_edeco().setMarked(0);//host.reset tag
		host.set_tge(null);
		}
  void universal_trv0_bef(UniversalVisitor _v_) {
    super.universal_trv0_bef(_v_);
  }
  void universal_trv0_aft(UniversalVisitor _v_) {
    super.universal_trv0_aft(_v_);
  }
  void universal_trv0(UniversalVisitor _v_) {
    universal_trv0_bef(_v_);
    super.universal_trv0(_v_);
    universal_trv0_aft(_v_);
  }
}

