Exemple #1
0
        private Visualization_of_nw_edge_line Generate_individual_edge(string source, Visualization_nw_edge_characterisation_line_class target)
        {
            Visualization_of_nw_edge_line new_edge_line = new Visualization_of_nw_edge_line();

            new_edge_line.Arrow_color = Hexadecimal_color_class.Get_hexadecimial_code_for_color(Options.Edge_color);
            new_edge_line.Edge_id     = source + "_to_" + target.Target;
            new_edge_line.Source_id   = source;
            new_edge_line.Target_id   = target.Target;
            new_edge_line.Arrow_width = target.Edge_width.ToString();
            new_edge_line.Arrow_label = (string)target.Edge_label.Clone();
            switch (target.EdgeArrow_type)
            {
            case EdgeArrow_type_enum.Arrow:
                new_edge_line.Arrow_type       = "line";
                new_edge_line.Arrow_source_end = "none";
                new_edge_line.Arrow_target_end = "standard";
                break;

            case EdgeArrow_type_enum.Dotted_line:
                new_edge_line.Arrow_type       = "dotted";
                new_edge_line.Arrow_source_end = "none";
                new_edge_line.Arrow_target_end = "none";
                break;

            case EdgeArrow_type_enum.Dashed_line:
                new_edge_line.Arrow_type       = "dashed";
                new_edge_line.Arrow_source_end = "none";
                new_edge_line.Arrow_target_end = "none";
                break;

            default:
                throw new Exception();
            }
            return(new_edge_line);
        }
Exemple #2
0
        public Visualization_of_nw_edge_line Deep_copy()
        {
            Visualization_of_nw_edge_line copy = (Visualization_of_nw_edge_line)this.MemberwiseClone();

            copy.Target_id             = (string)this.Target_id.Clone();
            copy.Source_id             = (string)this.Source_id.Clone();
            copy.Edge_id               = (string)this.Edge_id.Clone();
            copy.Arrow_source_end      = (string)this.Arrow_source_end.Clone();
            copy.Arrow_color           = (string)this.Arrow_color.Clone();
            copy.Arrow_target_end      = (string)this.Arrow_target_end.Clone();
            copy.Arrow_type            = (string)this.Arrow_type.Clone();
            copy.Arrow_width           = (string)this.Arrow_width.Clone();
            copy.Arrow_label           = (string)this.Arrow_label.Clone();
            copy.Arrow_label_font_size = (string)this.Arrow_label_font_size.Clone();
            return(copy);
        }
Exemple #3
0
        private void Write_individual_edge(Visualization_of_nw_edge_line edge)
        {
            string spaces    = Get_spaces_string();
            string text_edge =
                spaces + "<edge id=\"" + edge.Edge_id + "\" source=\"" + edge.Source_id + "\" target=\"" + edge.Target_id + "\">\n"
                + spaces + "  <data key=\"" + Key.Edge_description + "\"/>\n"
                + spaces + "  <data key=\"" + Key.Edge_graphics + "\">\n"
                + spaces + "    <y:PolyLineEdge>\n"
                + spaces + "      <y:Path sx=\"0.0\" sy=\"0.0\" tx=\"0.0\" ty=\"0.0\"/>\n"
                + spaces + "      <y:LineStyle color=\"" + edge.Arrow_color + "\" type=\"" + edge.Arrow_type + "\" width=\"" + edge.Arrow_width + "\"/>\n"
                + spaces + "      <y:Arrows source=\"" + edge.Arrow_source_end + "\" target=\"" + edge.Arrow_target_end + "\"/>\n"
                + spaces + "      <y:EdgeLabel alignment=\"center\" configuration=\"AutoFlippingLabel\" distance=\"2.0\" fontFamily=\"Dialog\" fontSize=\"" + edge.Arrow_label_font_size + "\" fontStyle=\"plain\" hasBackgroundColor=\"false\" hasLineColor=\"false\" height=\"28.501953125\" modelName=\"two_pos\" modelPosition=\"head\" preferredPlacement=\"anywhere\" ratio=\"0.5\" textColor=\"#000000\" visible=\"true\" width=\"25.123046875\" x=\"-72.580322265625\" y=\"-84.35603932425425\">" + edge.Arrow_label + "<y:PreferredPlacementDescriptor angle=\"0.0\" angleOffsetOnRightSide=\"0\" angleReference=\"absolute\" angleRotationOnRightSide=\"co\" distance=\"-1.0\" frozen=\"true\" placement=\"anywhere\" side=\"anywhere\" sideReference=\"relative_to_edge_flow\"/>"
                + spaces + "      </y:EdgeLabel>"
                + spaces + "      <y:BendStyle smoothed=\"false\"/>\n"
                + spaces + "    </y:PolyLineEdge>\n"
                + spaces + "  </data>\n"
                + spaces + "</edge>";

            Writer.WriteLine(text_edge);
        }