private SDON.Model.Shape generateShapeTemplate() { SDON.Model.Shape ret = new SDON.Model.Shape(); ret.Table = new SDON.Model.Table(); ret.Table.Cell = new List <SDON.Model.Cell>(); //ret.Table.RowProperties = new List<SDON.Model.RowProperties>(); ret.Table.ColumnProperties = new List <SDON.Model.ColumnProperties>(); //SDON.Model.RowProperties rprop = new SDON.Model.RowProperties(); SDON.Model.ColumnProperties cprop = new SDON.Model.ColumnProperties(); SDON.Model.Join join = new SDON.Model.Join(); //rprop.LineThick = 2; //rprop.Index = 1; cprop.Width = 40; cprop.FixedWidth = true; cprop.Index = 2; ret.Table.Columns = 2; ret.Table.Rows = 1; //ret.Table.ColumnWidth = 300; ret.ShapeType = "Rect"; ret.FillColor = "#FFFFFF"; ret.TextMargin = 6; ret.TextGrow = SDON.Model.TextGrow.Horizontal; //ret.TextFont = "Courier New"; //ret.Table.RowProperties.Add(rprop); ret.Table.ColumnProperties.Add(cprop); join.Column = 1; join.Row = 1; join.N = 1; ret.Table.Join = new List <SDON.Model.Join>(); //ret.Table.Join.Add(join); return(ret); }
private void generateNodeToTree(int index) { List <Entry> members; SDON.Model.Cell cell; SDON.Model.Cell auxCell; SDON.Model.Join join; SDON.Model.ShapeConnector connector; List <SDON.Model.Shape> parent = null; SDON.Model.Shape row; SDON.Model.Shape column; int i; bool methodsInit = false; bool propertiesInit = false; if (_nodesOnTree[index].Entry.Kind == "class") { members = _classes[_nodesOnTree[index].ContainerIndex].Members; } else if (_nodesOnTree[index].Entry.Kind == "namespace") { members = _namespaces[_nodesOnTree[index].ContainerIndex].Members; } else { return; } if (_nodesOnTree[index].Shape.Table.Cell.Last().Row != 1) { i = _nodesOnTree[index].Shape.Table.Cell.Count - 1; while ((i > 0) && (_nodesOnTree[index].Shape.Table.Cell[i].Row != 1)) { i--; } _nodesOnTree[index].Shape.Table.Cell.RemoveRange(i, _nodesOnTree[index].Shape.Table.Cell.Count - i); } //Insert methods (if enabled) if (!MethodsInNote) { for (i = 0; i < members.Count; i++) { if (((members[i].Kind == "method") || (members[i].Kind == "function")) && (members[i].Access != "private") && (members[i].Access != "protected")) { if (!methodsInit) { insertSectionToNode("Methods", _nodesOnTree[index].Shape.Table); methodsInit = true; join = new SDON.Model.Join(); join.Row = _nodesOnTree[index].Shape.Table.Rows; join.Column = 1; join.N = 1; if (_nodesOnTree[index].Shape.Table.Join == null) { _nodesOnTree[index].Shape.Table.Join = new List <SDON.Model.Join>(); } //_nodesOnTree[index].Shape.Table.Join.Add(join); } insertEntryToNode(members[i], _nodesOnTree[index].Shape.Table); } } } else { cell = null; auxCell = null; for (i = 0; i < members.Count; i++) { if (((members[i].Kind == "method") || (members[i].Kind == "function")) && (members[i].Access != "private") && (members[i].Access != "protected")) { if (!methodsInit) { insertSectionToNode("Methods", _nodesOnTree[index].Shape.Table); methodsInit = true; auxCell = _nodesOnTree[index].Shape.Table.Cell.Last(); auxCell.Note = ""; } auxCell.Note += _entries[members[i].EntryID - 1].TagName + generateSignature(members[i].EntryID) + "\n"; } } } if (!PropertiesInNote) { for (i = 0; i < members.Count; i++) { if (((members[i].Kind == "property") || (members[i].Kind == "variable")) && (members[i].Access != "private") && (members[i].Access != "protected")) { if (!propertiesInit) { insertSectionToNode("Properties", _nodesOnTree[index].Shape.Table); propertiesInit = true; join = new SDON.Model.Join(); join.Row = _nodesOnTree[index].Shape.Table.Rows; join.Column = 1; join.N = 1; if (_nodesOnTree[index].Shape.Table.Join == null) { _nodesOnTree[index].Shape.Table.Join = new List <SDON.Model.Join>(); } //_nodesOnTree[index].Shape.Table.Join.Add(join); } insertEntryToNode(members[i], _nodesOnTree[index].Shape.Table); } } } else { cell = null; auxCell = null; for (i = 0; i < members.Count; i++) { if (((members[i].Kind == "property") || (members[i].Kind == "variable")) && (members[i].Access != "private") && (members[i].Access != "protected")) { if (!propertiesInit) { insertSectionToNode("Properties", _nodesOnTree[index].Shape.Table); propertiesInit = true; auxCell = _nodesOnTree[index].Shape.Table.Cell.Last(); auxCell.Note = ""; } auxCell.Note += _entries[members[i].EntryID - 1].TagName + generateSignature(members[i].EntryID) + "\n"; } } } parent = findParent(_nodesOnTree[index].Entry.ParentID); if (parent != null) { parent.Add(_nodesOnTree[index].Shape); } }
public SDON.Model.Shape ExportAsShape() { const bool textBold = true; const int truncate = 20; const bool hasKeys = true; SDON.Model.Shape shape = new SDON.Model.Shape(); shape.TextGrow = SDON.Model.TextGrow.Horizontal; shape.LineColor = "#BFBFBF"; if (ID != null) { shape.ID = (int)ID; } if (!_showColumns) { shape.FillColor = "#D8D8D8"; shape.Label = _tableName; shape.TextMargin = 6; shape.TextSize = 12; shape.NoteIcon = SDON.Model.Icons.Info; //SDON.Model.ColumnProperties cp = new SDON.Model.ColumnProperties(); //cell = new SDON.Model.Cell(); // //cell.Column = 2; //cell.Row = 1; //cell.Note = ""; //cell.NoteIcon = SDON.Model.Icons.Info; //cell.FillColor = "#D8D8D8"; // //cp.Index = 2; //cp.Width = 20; //cp.FixedWidth = true; for (int i = 0; i < _entries.Count; i++) { shape.Note += _entries[i].ColumnName + "\n"; } //shape.Table.Columns = 2; //shape.Table.Rows = 1; //shape.Table.Cell.Add(cell); //shape.Table.ColumnProperties = new List<SDON.Model.ColumnProperties>(); //shape.Table.ColumnProperties.Add(cp); return(shape); } shape.Table = new SDON.Model.Table(); shape.Table.Cell = new List <SDON.Model.Cell>(); shape.TextMargin = 6; SDON.Model.Cell cell; shape.Table.Columns = 1; shape.Table.Rows = _entries.Count + 1; cell = new SDON.Model.Cell(); cell.Label = _tableName; cell.Column = 1; cell.Row = 1; cell.TextBold = textBold; //cell.Truncate = truncate; cell.FillColor = "#D8D8D8"; cell.TextSize = 12; shape.Table.Cell.Add(cell); SDON.Model.RowProperties rprop; // = new SDON.Model.RowProperties(); shape.Table.RowProperties = new List <SDON.Model.RowProperties>(); //rprop.Index = 1; //rprop.LineThick = 2; //shape.Table.RowProperties.Add(rprop); SDON.Model.Join join = null; if (_showTypes) { shape.Table.Columns = 3; join = new SDON.Model.Join(); join.Row = 1; join.Column = 1; join.N = 2; shape.Table.Join = new List <SDON.Model.Join>(); shape.Table.Join.Add(join); } if (hasKeys) { shape.Table.Columns++; SDON.Model.ColumnProperties keyColumnProperties = new SDON.Model.ColumnProperties(); keyColumnProperties.Width = 20; keyColumnProperties.FixedWidth = true; keyColumnProperties.Index = 1; if (shape.Table.ColumnProperties == null) { shape.Table.ColumnProperties = new List <SDON.Model.ColumnProperties>(); } shape.Table.ColumnProperties.Add(keyColumnProperties); if (join == null) { join = new SDON.Model.Join(); join.Row = 1; join.Column = 1; shape.Table.Join = new List <SDON.Model.Join>(); shape.Table.Join.Add(join); join.N = 0; } join.N++; } for (int i = 0; i < _entries.Count; i++) { if (_showTypes) { createRowWithEntry(shape.Table, i + 2, _entries[i], true, hasKeys, true, true); } else { createRowWithEntry(shape.Table, i + 2, _entries[i], true, hasKeys, false, false); } //cell = new SDON.Model.Cell(); //cell.Label = _entries[i].ColumnName; //cell.Row = i + 2; //cell.Column = 1; //cell.TextAlignH = SDON.Model.HorizontalAlignments.Left; //cell.Truncate = 20; //cell.FillColor = "#FFFFFF"; //shape.Table.Cell.Add(cell); // //if(_showTypes) //{ // //Types // cell = new SDON.Model.Cell(); // cell.Label = _entries[i].DataType; // cell.Row = i + 2; // cell.Column = 2; // cell.TextAlignH = SDON.Model.HorizontalAlignments.Left; // cell.Truncate = 20; // cell.FillColor = "#FFFFFF"; // shape.Table.Cell.Add(cell); // // //Size // cell = new SDON.Model.Cell(); // cell.Label = (_entries[i].ColumnSize != "NULL") ? _entries[i].ColumnSize : ""; // cell.Row = i + 2; // cell.Column = 3; // cell.TextAlignH = SDON.Model.HorizontalAlignments.Left; // cell.Truncate = 20; // cell.FillColor = "#FFFFFF"; // shape.Table.Cell.Add(cell); //} rprop = new SDON.Model.RowProperties(); rprop.LineColor = "#D8D8D8"; rprop.Index = i + 1; } return(shape); }