Package OpenCAGE.GIF.RFG.Edges

Class RFG_Edge_Model

extends OpenCAGE.GIF.Typed.Typed_Edge_Model

This class represents an edge in a RFG. Thus, it knows the specification of RFG edges and has direct access to it.

Attributes

private RFGs.Edge_Ptr RFG_Edge 

private OpenCAGE.GIF.RFG.Views.RFG_View_Node_Model View 

The view, this edge is in

private OpenCAGE.GIF.Node_Model Start_Node 

private OpenCAGE.GIF.Node_Model End_Node 

private OpenCAGE.GIF.RFG.Edges.RFG_Edge_Type_Info Type_Info 

private OpenCAGE.GIF.OC_ID ID 

private OpenCAGE.GIF.RFG.Edges.RFG_Edge_Observer RFG_Observer 

Operations

public OpenCAGE.GIF.RFG.Edges.RFG_Edge_Model Get_Or_Create_Edge( OpenCAGE.GIF.RFG.Views.RFG_View_Node_Model The_View, RFGs.Edge_Ptr Rfg_Edge);

Creates a edge model if it doesn't exist yet in the given view. Otherwise the already existing edge model is returned.

public Ada.Strings.Unbounded.Unbounded_String Get_Annotation( Ada.Strings.Unbounded.Unbounded_String Key);

Get a node annotation. [This description is adopted from 'OpenCAGE.GIF.Simple.Simple_Edge_Model'.]

public Set_Annotation( Ada.Strings.Unbounded.Unbounded_String Key, Ada.Strings.Unbounded.Unbounded_String Value);

Set a node annotation. If it exists already, it is updated, else it is created. [This description is adopted from 'OpenCAGE.GIF.Simple.Simple_Edge_Model'.]

public Boolean Get_Annotation( Ada.Strings.Unbounded.Unbounded_String Key);

Get a node annotation. [This description is adopted from 'OpenCAGE.GIF.Simple.Simple_Edge_Model'.]

public Set_Annotation( Ada.Strings.Unbounded.Unbounded_String Key, Boolean Value);

Set a node annotation. If it exists already, it is updated, else it is created. [This description is adopted from 'OpenCAGE.GIF.Simple.Simple_Edge_Model'.]

public Integer Get_Annotation( Ada.Strings.Unbounded.Unbounded_String Key);

Get a node annotation. [This description is adopted from 'OpenCAGE.GIF.Simple.Simple_Edge_Model'.]

public Set_Annotation( Ada.Strings.Unbounded.Unbounded_String Key, Integer Value);

Set a node annotation. If it exists already, it is updated, else it is created. [This description is adopted from 'OpenCAGE.GIF.Simple.Simple_Edge_Model'.]

public OpenCAGE.GIF.Type_Infos.Type_Info Get_Type_Info(void);

public FET.Pot_Element Create_Pot_Element(void);

Encapsulate the Edge in a Pot element [This description is adopted from 'OpenCAGE.GIF.Edge_Model'.]

public Boolean Is_In_RFG_View( RFGs.View View);

returns true if this node is in the given view

public Set_Start_Node_From_Node_ONLY( OpenCAGE.GIF.Node_Model To);

This method should only be called from the rfg node model. If you want to set the start node, call Node.Add_Outgoing_Edge (Edge).

public Set_End_Node_From_Node_ONLY( OpenCAGE.GIF.Node_Model To);

This method should only be called from the rfg node model. If you want to set the end node, call Node.Add_Incoming_Edge (Edge).

public OpenCAGE.GIF.RFG.Edges.RFG_Edge_Model Get_Edge( OpenCAGE.GIF.RFG.Views.RFG_View_Node_Model The_View, RFGs.Edge_Ptr Rfg_Edge);

The edge_model corresponding to the given Rfg_Edge in the given View is returned.

Class RFG_Edge_Type_Info

extends OpenCAGE.GIF.RFG.Type_Infos.RFG_Type_Info

Attributes

private OpenCAGE.GIF.RFG.Edges.RFG_Edge_Model Edge 

Operations

public Ada.Strings.Unbounded.Unbounded_String Get_Type_ID(void);

This operation returns the type of a graph model. [This description is adopted from 'OpenCAGE.GIF.Type_Infos.Type_Info'.]

Class RFG_Edge_Observer

extends RFGs.Edge_Observer

Attributes

private OpenCAGE.GIF.RFG.Edges.RFG_Edge_Model RFG_Edge_Model 

Operations

public Destroying( RFGs.Edge_Ptr Old_Edge, RFGs.View View);

This message is sent if the edge is destroying itself. [This description is adopted from 'RFGs.Edge_Observer'.]

public Changed( RFGs.Edge_Ptr Changed_Edge, RFGs.View View);

This message is sent if the edge has been changed. [This description is adopted from 'RFGs.Edge_Observer'.]