/// <summary> /// Remove all tab stops on the shape /// </summary> /// <param name="shape"></param> private static void _clear_tab_stops(IVisio.Shape shape) { if (shape == null) { throw new System.ArgumentNullException(nameof(shape)); } int num_existing_tabstops = _get_tab_stop_count(shape); if (num_existing_tabstops < 1) { return; } var cell_tabstopcount = shape.CellsSRC[ShapeSheet.SrcConstants.TabStopCount.Section, ShapeSheet.SrcConstants.TabStopCount.Row, ShapeSheet.SrcConstants.TabStopCount.Cell]; cell_tabstopcount.FormulaForce = "0"; const string formula = "0"; var writer = new VisioAutomation.ShapeSheet.Writers.SrcWriter(); for (int i = 1; i < num_existing_tabstops * 3; i++) { var src = new ShapeSheet.Src(tab_section, (short)IVisio.VisRowIndices.visRowTab, (short)i); writer.SetValue(src, formula); } writer.Commit(shape, VASS.CellValueType.Formula); }
public static void Set(IVisio.Shape shape, string name, UserDefinedCellCells cells) { if (shape == null) { throw new System.ArgumentNullException(nameof(shape)); } if (cells == null) { throw new System.ArgumentNullException(nameof(cells)); } UserDefinedCellHelper.CheckValidName(name); if (UserDefinedCellHelper.Contains(shape, name)) { // The user-defined cell already exists string full_udcell_name = UserDefinedCellHelper.__GetRowName(name); if (cells.Value.HasValue) { string value_cell_name = full_udcell_name; var cell = shape.CellsU[value_cell_name]; cell.FormulaU = cells.Value.Value; } if (cells.Prompt.HasValue) { string prompt_cell_name = full_udcell_name + ".Prompt"; var cell = shape.CellsU[prompt_cell_name]; cell.FormulaU = cells.Prompt.Value; } } else { // The user-defined cell doesn't already exist short row = shape.AddNamedRow(_udcell_section, name, (short)IVisio.VisRowIndices.visRowUser); var src_value = new ShapeSheet.Src(_udcell_section, row, (short)IVisio.VisCellIndices.visUserValue); var src_prompt = new ShapeSheet.Src(_udcell_section, row, (short)IVisio.VisCellIndices.visUserPrompt); var writer = new VisioAutomation.ShapeSheet.Writers.SrcWriter(); if (cells.Value.HasValue) { writer.SetValue(src_value, cells.Value.Value); } if (cells.Prompt.HasValue) { writer.SetValue(src_prompt, cells.Prompt.Value); } writer.CommitFormulas(shape); } }
public Column(int ordinal, string name, ShapeSheet.Src src) { if (string.IsNullOrEmpty(name)) { throw new ArgumentException("name"); } this.Src = src; this.Name = name; this.Ordinal = ordinal; }
public CellColumn AddCell(ShapeSheet.Src src, string name) { if (name == null) { throw new System.ArgumentNullException(nameof(name)); } var col = this.Cells.Add(src, name); return(col); }
public static void Set(IVisio.Shape shape, string name, ShapeSheet.CellValueLiteral udfcell_value, ShapeSheet.CellValueLiteral udfcell_prompt) { if (shape == null) { throw new System.ArgumentNullException(nameof(shape)); } UserDefinedCellHelper.CheckValidName(name); if (UserDefinedCellHelper.Contains(shape, name)) { string full_prop_name = UserDefinedCellHelper.GetRowName(name); if (udfcell_value.HasValue) { string value_cell_name = full_prop_name; var cell = shape.CellsU[value_cell_name]; cell.FormulaU = VisioAutomation.Utilities.Convert.StringToFormulaString(udfcell_value.Value); } if (udfcell_prompt.HasValue) { string prompt_cell_name = full_prop_name + ".Prompt"; var cell = shape.CellsU[prompt_cell_name]; cell.FormulaU = VisioAutomation.Utilities.Convert.StringToFormulaString(udfcell_prompt.Value); } return; } short row = shape.AddNamedRow( UserDefinedCellHelper._userdefinedcell_section, name, (short)IVisio.VisRowIndices.visRowUser); var writer = new VisioAutomation.ShapeSheet.Writers.SrcWriter(); if (udfcell_value.HasValue) { var src = new ShapeSheet.Src(UserDefinedCellHelper._userdefinedcell_section, row, (short)IVisio.VisCellIndices.visUserValue); var formula = VisioAutomation.Utilities.Convert.StringToFormulaString(udfcell_value.Value); writer.SetFormula(src, formula); } if (udfcell_prompt.HasValue) { var src = new ShapeSheet.Src(UserDefinedCellHelper._userdefinedcell_section, row, (short)IVisio.VisCellIndices.visUserPrompt); var formula = VisioAutomation.Utilities.Convert.StringToFormulaString(udfcell_prompt.Value); writer.SetFormula(src, formula); } writer.Commit(shape); }
public static void SetTabStops(IVisio.Shape shape, IList <TabStop> stops) { if (shape == null) { throw new System.ArgumentNullException(nameof(shape)); } if (stops == null) { throw new System.ArgumentNullException(nameof(stops)); } _clear_tab_stops(shape); if (stops.Count < 1) { return; } const short row = 0; var culture = System.Globalization.CultureInfo.InvariantCulture; var vis_tab_stop_count = (short)IVisio.VisCellIndices.visTabStopCount; var tabstopcountcell = shape.CellsSRC[tab_section, row, vis_tab_stop_count]; tabstopcountcell.FormulaU = stops.Count.ToString(culture); // set the number of tab stobs allowed for the shape var tagtab = _get_tab_tag_for_stops(stops.Count); shape.RowType[tab_section, (short)IVisio.VisRowIndices.visRowTab] = (short)tagtab; // add tab properties for each stop var writer = new VisioAutomation.ShapeSheet.Writers.SrcWriter(); for (int stop_index = 0; stop_index < stops.Count; stop_index++) { int i = stop_index * 3; var alignment = ((int)stops[stop_index].Alignment).ToString(culture); var position = ((int)stops[stop_index].Position).ToString(culture); var src_tabpos = new ShapeSheet.Src(tab_section, row, (short)(i + 1)); var src_tabalign = new ShapeSheet.Src(tab_section, row, (short)(i + 2)); var src_tabother = new ShapeSheet.Src(tab_section, row, (short)(i + 3)); writer.SetValue(src_tabpos, position); // tab position writer.SetValue(src_tabalign, alignment); // tab alignment writer.SetValue(src_tabother, "0"); // tab unknown } writer.Commit(shape, VASS.CellValueType.Formula); }
public static List <TabStop> GetTabStops(IVisio.Shape shape) { if (shape == null) { throw new System.ArgumentNullException(nameof(shape)); } int num_stops = _get_tab_stop_count(shape); if (num_stops < 1) { return(new List <TabStop>(0)); } const short row = 0; var srcs = new List <VASS.Src>(num_stops * 3); for (int stop_index = 0; stop_index < num_stops; stop_index++) { int i = stop_index * 3; var src_tabpos = new ShapeSheet.Src(tab_section, row, (short)(i + 1)); var src_tabalign = new ShapeSheet.Src(tab_section, row, (short)(i + 2)); var src_tabother = new ShapeSheet.Src(tab_section, row, (short)(i + 3)); srcs.Add(src_tabpos); srcs.Add(src_tabalign); srcs.Add(src_tabother); } var streamarray = VASS.Streams.StreamArray.FromSrc(srcs); var surface = new SurfaceTarget(shape); const object[] unitcodes = null; var results = surface.GetResults <double>(streamarray, unitcodes); var stops_list = new List <TabStop>(num_stops); for (int stop_index = 0; stop_index < num_stops; stop_index++) { var pos = results[(stop_index * 3) + 1]; var align = (TabStopAlignment)((int)results[(stop_index * 3) + 2]); var ts = new TabStop(pos, align); stops_list.Add(ts); } return(stops_list); }
internal CellColumn Add(ShapeSheet.Src src, string name) { check_deplicate_src(src); string norm_name = this.normalize_name(name); check_duplicate_column_name(norm_name); int ordinal = this._items.Count; var col = new CellColumn(ordinal, src, norm_name); this._items.Add(col); this.map_name_to_item[norm_name] = col; this.items.Add(src); return(col); }
public Column Add(ShapeSheet.Src src, string name) { if (name == null) { throw new System.ArgumentNullException(nameof(name)); } check_deplicate_src(src); string norm_name = this.normalize_name(name); check_duplicate_column_name(norm_name); int ordinal = this._items.Count; var col = new Column(ordinal, norm_name, src); this._items.Add(col); this.map_name_to_item[norm_name] = col; this.dic_src_to_col.Add(src, col); return col; }
internal CellColumn(int ordinal, ShapeSheet.Src src, string name) : base(ordinal, name) { this.Src = src; }
public static SidSrcValuePair Create(short shapeid, ShapeSheet.Src src, string value) { return(new SidSrcValuePair(shapeid, src, value)); }
public SrcFormulaPair(ShapeSheet.Src src, ShapeSheet.CellValueLiteral formula) { this.Src = src; this.Formula = formula; }
public SrcValuePair(ShapeSheet.Src src, string value) { this.Src = src; this.Value = value; }
public CellMetadataItem(string name, ShapeSheet.Src src, string value) { this.Name = name; this.Src = src; this.Value = value; }
public static SrcValuePair Create(ShapeSheet.Src src, CellValue cvf) { return(new SrcValuePair(src, cvf.Value)); }
public static SrcValuePair Create(ShapeSheet.Src src, string value) { return(new SrcValuePair(src, value)); }
public static SidSrcValuePair Create(short shapeid, ShapeSheet.Src src, CellValueLiteral cvf) { return(new SidSrcValuePair(shapeid, src, cvf.Value)); }
protected SrcFormulaPair newpair(ShapeSheet.Src src, ShapeSheet.CellValueLiteral formula) { return(new SrcFormulaPair(src, formula)); }
public SidSrcValuePair(short shapeid, ShapeSheet.Src src, string value) { this.ShapeID = shapeid; this.Src = src; this.Value = value; }