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 UserDefinedCellCells(string name, string value) { UserDefinedCellHelper.CheckValidName(name); if (value == null) { throw new System.ArgumentNullException(nameof(value)); } this.Name = name; this.Value = value; }
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 bool Contains(IVisio.Shape shape, string name) { if (shape == null) { throw new System.ArgumentNullException(nameof(shape)); } if (name == null) { throw new System.ArgumentNullException(nameof(name)); } UserDefinedCellHelper.CheckValidName(name); string full_udcell_name = UserDefinedCellHelper.__GetRowName(name); var exists = (short)IVisio.VisExistsFlags.visExistsAnywhere; return(0 != (shape.CellExistsU[full_udcell_name, exists])); }
public static void Delete(IVisio.Shape shape, string name) { if (shape == null) { throw new System.ArgumentNullException(nameof(shape)); } if (name == null) { throw new System.ArgumentNullException(nameof(name)); } UserDefinedCellHelper.CheckValidName(name); string full_udcell_name = UserDefinedCellHelper.__GetRowName(name); short row = shape.CellsU[full_udcell_name].Row; shape.DeleteRow(_udcell_section, row); }
public UserDefinedCellCells(string name) { UserDefinedCellHelper.CheckValidName(name); this.Name = name; }