public void AddElementBaseNodeBindingFor <T>(T node)
        {
            var bt = new GoXmlBindingTransformer(node);

            AddElementBaseNodeBindings(bt);
            Transformers.Add(bt);
        }
 protected void AddBaseNodeBindings(GoXmlBindingTransformer bt)
 {
     bt.AddBinding("Id");
     bt.AddBinding("Name");
     AddWithLayoutInfoBindings(bt);
     bt.AddBinding("Description");
 }
 protected void AddWithLayoutInfoBindings(GoXmlBindingTransformer bt)
 {
     AddWithLocationBindings(bt);
     bt.AddBinding("Hidden");
     bt.AddBinding("IsVisible");
     bt.AddBinding("LocationFixed");
     bt.AddBinding("UserFlags");
 }
        private void addExpandableElementBaseNodeBindingFor <T>(T node)
        {
            var bt = new GoXmlBindingTransformer(node);

            bt.AddBinding("IsExpanded");
            AddElementBaseNodeBindings(bt);
            Transformers.Add(bt);
        }
Example #5
0
 private static void AddBrushBindings(GoXmlBindingTransformer t, string xmlprefix, string objprefix)
 {
     t.AddBinding(xmlprefix + "color", objprefix + ".BrushColor");
     t.AddBinding(xmlprefix + "midcolor", objprefix + ".BrushMidColor");
     t.AddBinding(xmlprefix + "forecolor", objprefix + ".BrushForeColor");
     t.AddBinding(xmlprefix + "midfraction", objprefix + ".BrushMidFraction");
     t.AddBinding(xmlprefix + "brushstyle", objprefix + ".BrushStyle");
 }
 protected void AddContainerBaseNodeBindings(GoXmlBindingTransformer bt)
 {
     bt.HandlesChildren                  = true;
     bt.HandlesChildAttributes           = true;
     bt.HandlesSubGraphCollapsedChildren = true;
     AddBaseNodeBindings(bt);
     bt.AddBinding("IsLogical");
     bt.AddBinding("IsExpanded");
     bt.AddBinding("IsExpandedByDefault");
 }
Example #7
0
 private static void AddFontBindings(GoXmlBindingTransformer t, string xmlprefix, string objprefix)
 {
     t.AddBinding(xmlprefix + "familyname", objprefix + ".FamilyName");
     t.AddBinding(xmlprefix + "fontsize", objprefix + ".FontSize");
     t.AddBinding(xmlprefix + "alignment", objprefix + ".Alignment");
     t.AddBinding(xmlprefix + "bold", objprefix + ".Bold");
     t.AddBinding(xmlprefix + "italic", objprefix + ".Italic");
     t.AddBinding(xmlprefix + "multiline", objprefix + ".Multiline");
     t.AddBinding(xmlprefix + "strikethru", objprefix + ".StrikeThrough");
     t.AddBinding(xmlprefix + "underline", objprefix + ".Underline");
     t.AddBinding(xmlprefix + "textcolor", objprefix + ".TextColor");
 }
Example #8
0
        private static void InitReaderWriterA(GoXmlReaderWriterBase rw)
        {
            GoXmlBindingTransformer tr = new GoXmlBindingTransformer("node", new GraphNode(GraphNodeKind.End));

            // indicate that the XML consists of nested elements
            tr.TreeStructured = true;
            // provide the prototype link for connecting the nodes
            tr.TreeLinkPrototype = new GoLink();
            // indicate the direction of the link (from parent to child)
            tr.TreeLinksToChildren = true;
            //tr.AddBinding("label", "Text");

            //tr.AddBinding("kind", "Kind");
            tr.AddBinding("text", "Text");

            rw.AddTransformer(tr);
        }
Example #9
0
        // TODO: adapt the XML elements and attributes to match your classes and their properties
        private static void InitReaderWriter(GoXmlReaderWriterBase rw)
        {
            GoXmlBindingTransformer.DefaultTracingEnabled = true;  // for debugging, check your Output window (trace listener)
            GoXmlBindingTransformer t;

            t = new GoXmlBindingTransformer("statechart", new StateChartDocument());
            t.AddBinding("version", "Version", GoXmlBindingFlags.RethrowsExceptions);  // let exception from Version setter propagate out
            t.AddBinding("name", "Name");
            t.AddBinding("path", "Path");
            rw.AddTransformer(t);

            t = new GoXmlBindingTransformer("comment", NewComment());
            t.IdAttributeUsedForSharedObjects = true; // each GoComment gets a unique ID
            t.AddBinding("label", "Text");
            t.AddBinding("center", "Center");         // last property, since it depends on content/alignment
            AddBrushBindings(t, "", "Shape");
            AddPenBindings(t, "pen", "Shape");
            AddFontBindings(t, "label", "Label");
            rw.AddTransformer(t);

            t = new GoXmlBindingTransformer("state", NewNode());
            t.IdAttributeUsedForSharedObjects = true; // each GraphNode gets a unique ID
            t.HandlesNamedPorts = true;               // generate attributes for each of the named ports, specifying their IDs
            t.AddBinding("label", "Text");
            t.AddBinding("loc", "Location");
            AddBrushBindings(t, "", "Shape");
            AddPenBindings(t, "pen", "Shape");
            AddFontBindings(t, "label", "Label");
            //t.AddBinding("userFlags", "UserFlags");
            rw.AddTransformer(t);



            t = new GoXmlBindingTransformer("transition", new AnimatedLink());
            t.AddBinding("from", "FromPort");
            t.AddBinding("to", "ToPort");
            t.AddBinding("curviness", "Curviness");
            t.AddBinding("brush", "RealLink.BrushColor");
            t.AddBinding("adjusted", "RealLink.AdjustingStyle");
            t.AddBinding("points", "RealLink.Points");
            t.AddBinding("label", "Text");
            //t.AddBinding("userFlags", "UserFlags");
            AddPenBindings(t, "pen", "RealLink");
            AddFontBindings(t, "label", "MidLabel");
            rw.AddTransformer(t);
        }
Example #10
0
        // TODO: adapt the XML elements and attributes to match your classes and their properties
        private static void InitReaderWriter(GoXmlReaderWriterBase rw)
        {
            GoXmlBindingTransformer.DefaultTracingEnabled = true;  // for debugging, check your Output window (trace listener)
            GoXmlBindingTransformer t;

            t = new GoXmlBindingTransformer("flowchart", new GraphDoc());
            t.AddBinding("version", "Version", GoXmlBindingFlags.RethrowsExceptions);  // let exception from Version setter propagate out
            t.AddBinding("name", "Name");
            t.AddBinding("nextnodepos", "InternalNextNodePos");
            rw.AddTransformer(t);

            t = new GoXmlBindingTransformer("node", new GraphNode());
            t.IdAttributeUsedForSharedObjects = true; // each GraphNode gets a unique ID
            t.HandlesNamedPorts = true;               // generate attributes for each of the named ports, specifying their IDs
            t.AddBinding("kind", "Kind");
            t.AddBinding("text", "Text");
            t.AddBinding("pos", "Position");
            rw.AddTransformer(t);

            t = new GoXmlBindingTransformer("title", new Title());
            rw.AddTransformer(t);

            t = new GoXmlBindingTransformer("comment", new GoComment());
            t.IdAttributeUsedForSharedObjects = true;  // each GoComment and Title gets a unique ID
            t.AddBinding("text", "Text");
            t.AddBinding("familyname", "Label.FamilyName");
            t.AddBinding("fontsize", "Label.FontSize");
            t.AddBinding("alignment", "Label.Alignment");
            t.AddBinding("bold", "Label.Bold");
            t.AddBinding("italic", "Label.Italic");
            t.AddBinding("strikethrough", "Label.StrikeThrough");
            t.AddBinding("underline", "Label.Underline");
            t.AddBinding("multiline", "Label.Multiline");
            t.AddBinding("wrapping", "Label.Wrapping");
            t.AddBinding("wrappingwidth", "Label.WrappingWidth");
            t.AddBinding("editable", "Label.Editable");
            t.AddBinding("loc", "Location");  // last property, since it depends on content/alignment
            rw.AddTransformer(t);

            t = new GoXmlBindingTransformer("link", new GraphLink());
            t.AddBinding("from", "FromPort");
            t.AddBinding("to", "ToPort");
            //t.AddBinding("LabelType", "FromOrTo");
            t.AddBinding("label", "Text");
            rw.AddTransformer(t);
        }
        public FormDiagram(List <string[]> pre_data, List <KeyValuePair <int, float> > time_sequence)
        {
            InitializeComponent();

            this.Text = Application.ProductName + " - Precedence Diagram";

            rawData     = pre_data;
            indexNumber = time_sequence.Count;

            nodes = new GoBasicNode[indexNumber];
            links = new GoLink[rawData.Count];

            timeSeq = time_sequence;
            createDiagram(rawData);

            #region Graph Data Test

            #region Adding Transformer

            GoBasicNode             node = new GoBasicNode();
            GoXmlBindingTransformer x    = new GoXmlBindingTransformer("node", node);
            x.IdAttributeUsedForSharedObjects = true;
            x.TreeStructured      = true;
            x.TreeLinkPrototype   = new GoLink();
            x.TreeLinksToChildren = true;
            x.AddBinding("label", "Text");
            x.AddBinding("parent", "TreeParentNode");

            #endregion

            GoXmlWriter w = new GoXmlWriter();
            w.AddTransformer(x);
            w.Objects = goViewDiagram.Document;
            using (StreamWriter writer = new StreamWriter("output.xml"))
            {
                w.Generate(writer);
            }
            #endregion
        }
        virtual protected void CreateTransformers()
        {
            GoXmlBindingTransformer bt;

            bt = new GoXmlBindingTransformer(ElementName, new DiagramModel());
            Transformers.Add(bt);


            bt = new GoXmlBindingTransformer(new SimpleNeighborhoodNode());
            AddNeighborhoodNodeBindings(bt);
            Transformers.Add(bt);

            var btc = new GoXmlBindingTransformer(new SimpleContainerNode());

            AddContainerBaseNodeBindings(btc);
            Transformers.Add(btc);

            bt = new GoXmlBindingTransformer(new MultiPortContainerNode());
            bt.HandlesChildAttributes           = true;
            bt.HandlesSubGraphCollapsedChildren = true;

            Transformers.Add(bt);

            bt = new GoXmlBindingTransformer(new ReactionNode());
            AddReactionNodeBindings(bt);
            Transformers.Add(bt);

            AddElementBaseNodeBindingFor(new MoleculeNode());

            AddElementBaseNodeBindingFor(new ObserverNode());

            addExpandableElementBaseNodeBindingFor(new JournalPageNode());

            AddElementBaseNodeBindingFor(new RelatedItemNode());

            // Links do not need to be serialized, because they have no individual properties,
            // so the automatic creation is sufficient.
        }
Example #13
0
 private static void AddPenBindings(GoXmlBindingTransformer t, string xmlprefix, string objprefix)
 {
     t.AddBinding(xmlprefix + "color", objprefix + ".PenColor");
     t.AddBinding(xmlprefix + "width", objprefix + ".PenWidth");
     t.AddBinding(xmlprefix + "dashstyle", objprefix + ".Pen.DashStyle");
 }
 protected void AddWithLocationBindings(GoXmlBindingTransformer bt)
 {
     bt.AddBinding("Location");
     bt.AddBinding("Size");
     // Center must not be serialized, because is determined by Location and Size
 }
 public void AddElementBaseNodeBindings(GoXmlBindingTransformer bt)
 {
     AddBaseNodeBindings(bt);
     bt.AddBinding("NodeSize");
     // NodeBaseSize must not be serialized, because is determined in Constructor / copy
 }
 protected void AddReactionNodeBindings(GoXmlBindingTransformer bt)
 {
     AddElementBaseNodeBindings(bt);
     bt.AddBinding("DisplayEductsRight");
 }
 protected void AddNeighborhoodNodeBindings(GoXmlBindingTransformer bt)
 {
     AddElementBaseNodeBindings(bt);
     bt.AddBinding("FirstNeighbor");
     bt.AddBinding("SecondNeighbor");
 }