TryRemoveSelectedGroups ( Microsoft.Office.Interop.Excel.Workbook oWorkbook, Sheet5 oGroupWorksheet ) { Debug.Assert(oWorkbook != null); Debug.Assert(oGroupWorksheet != null); ICollection <String> oSelectedGroupNames = oGroupWorksheet.GetSelectedGroupNames(); ExcelTableUtil.RemoveTableRowsByStringColumnValues(oWorkbook, WorksheetNames.Groups, TableNames.Groups, GroupTableColumnNames.Name, oSelectedGroupNames); ExcelTableUtil.RemoveTableRowsByStringColumnValues(oWorkbook, WorksheetNames.GroupVertices, TableNames.GroupVertices, GroupVertexTableColumnNames.GroupName, oSelectedGroupNames); return(true); }
TrySelectGroupsWithSelectedVertices ( Microsoft.Office.Interop.Excel.Workbook oWorkbook, Sheet2 oVertexWorksheet, Sheet5 oGroupWorksheet ) { Debug.Assert(oWorkbook != null); Debug.Assert(oVertexWorksheet != null); Debug.Assert(oGroupWorksheet != null); // For each selected vertex, get the vertex's group name from the // group-vertex worksheet and select that group in the group worksheet. ICollection <String> oSelectedVertexNames = oVertexWorksheet.GetSelectedVertexNames(); oGroupWorksheet.SelectGroups( NodeXLWorkbookUtil.GetGroupNamesByVertexName(oWorkbook, oSelectedVertexNames)); return(true); }
TryRunGroupCommand ( GroupCommands groupCommand, Microsoft.Office.Interop.Excel.Workbook workbook, Sheet2 vertexWorksheet, Sheet5 groupWorksheet ) { Debug.Assert(workbook != null); Debug.Assert(vertexWorksheet != null); Debug.Assert(groupWorksheet != null); switch (groupCommand) { case GroupCommands.None: return(true); case GroupCommands.CollapseSelectedGroups: return(TryCollapseOrExpandSelectedGroups(workbook, true)); case GroupCommands.ExpandSelectedGroups: return(TryCollapseOrExpandSelectedGroups(workbook, false)); case GroupCommands.CollapseAllGroups: return(TryCollapseOrExpandAllGroups(workbook, true)); case GroupCommands.ExpandAllGroups: return(TryCollapseOrExpandAllGroups(workbook, false)); case GroupCommands.SelectGroupsWithSelectedVertices: return(TrySelectGroupsWithSelectedVertices(workbook, vertexWorksheet, groupWorksheet)); case GroupCommands.SelectAllGroups: return(TrySelectAllGroups(workbook)); case GroupCommands.AddSelectedVerticesToGroup: return(TryAddSelectedVerticesToGroup(workbook, vertexWorksheet)); case GroupCommands.RemoveSelectedVerticesFromGroups: ICollection <String> oSelectedVertexNames; return(TryRemoveSelectedVerticesFromGroups(workbook, vertexWorksheet, out oSelectedVertexNames)); case GroupCommands.RemoveSelectedGroups: return(TryRemoveSelectedGroups(workbook, groupWorksheet)); case GroupCommands.RemoveAllGroups: return(TryRemoveAllGroups(workbook)); default: Debug.Assert(false); return(false); } }
//************************************************************************* // Constructor: SelectionCoordinator() // /// <summary> /// Initializes a new instance of the <see cref="SelectionCoordinator" /> /// class. /// </summary> /// /// <param name="thisWorkbook"> /// The Excel workbook. /// </param> /// /// <param name="edgeWorksheet"> /// The edge worksheet in the Excel workbook. /// </param> /// /// <param name="edgeTable"> /// The edge table on the edge worksheet. /// </param> /// /// <param name="vertexWorksheet"> /// The vertex worksheet in the Excel workbook. /// </param> /// /// <param name="vertexTable"> /// The vertex table on the vertex worksheet. /// </param> /// /// <param name="groupWorksheet"> /// The group worksheet in the Excel workbook. /// </param> /// /// <param name="groupTable"> /// The group table on the group worksheet. /// </param> /// /// <param name="groupVertexWorksheet"> /// The group-vertex worksheet in the Excel workbook. /// </param> /// /// <param name="taskPane"> /// The TaskPane. /// </param> //************************************************************************* public SelectionCoordinator ( ThisWorkbook thisWorkbook, Sheet1 edgeWorksheet, Microsoft.Office.Tools.Excel.ListObject edgeTable, Sheet2 vertexWorksheet, Microsoft.Office.Tools.Excel.ListObject vertexTable, Sheet5 groupWorksheet, Microsoft.Office.Tools.Excel.ListObject groupTable, Sheet6 groupVertexWorksheet, TaskPane taskPane ) { Debug.Assert(thisWorkbook != null); Debug.Assert(edgeWorksheet != null); Debug.Assert(edgeTable != null); Debug.Assert(vertexWorksheet != null); Debug.Assert(vertexTable != null); Debug.Assert(groupWorksheet != null); Debug.Assert(groupTable != null); Debug.Assert(groupVertexWorksheet != null); Debug.Assert(taskPane != null); m_oThisWorkbook = thisWorkbook; m_oEdgeWorksheet = edgeWorksheet; m_oVertexWorksheet = vertexWorksheet; m_oGroupWorksheet = groupWorksheet; m_oGroupTable = groupTable; m_oGroupVertexWorksheet = groupVertexWorksheet; m_oTaskPane = taskPane; m_bIgnoreSelectionEvents = false; m_bUpdateVertexSelectionOnActivation = false; m_bUpdateEdgeSelectionOnActivation = false; m_bUpdateGroupSelectionOnActivation = false; edgeTable.SelectionChange += new DocEvents_SelectionChangeEventHandler( EdgeTable_SelectionChange); edgeTable.Deselected += new DocEvents_SelectionChangeEventHandler( EdgeTable_Deselected); m_oEdgeWorksheet.ActivateEvent += new DocEvents_ActivateEventHandler( EdgeWorksheet_ActivateEvent); vertexTable.SelectionChange += new DocEvents_SelectionChangeEventHandler( VertexTable_SelectionChange); vertexTable.Deselected += new DocEvents_SelectionChangeEventHandler( VertexTable_Deselected); m_oVertexWorksheet.ActivateEvent += new DocEvents_ActivateEventHandler( VertexWorksheet_ActivateEvent); m_oGroupTable.SelectionChange += new DocEvents_SelectionChangeEventHandler( GroupTable_SelectionChange); m_oGroupTable.Deselected += new DocEvents_SelectionChangeEventHandler( GroupTable_Deselected); m_oGroupWorksheet.ActivateEvent += new DocEvents_ActivateEventHandler( GroupWorksheet_ActivateEvent); m_oTaskPane.SelectionChangedInGraph += new EventHandler <EventArgs>(this.TaskPane_SelectionChangedInGraph); }
//************************************************************************* // Constructor: SelectionCoordinator() // /// <summary> /// Initializes a new instance of the <see cref="SelectionCoordinator" /> /// class. /// </summary> /// /// <param name="thisWorkbook"> /// The Excel workbook. /// </param> /// /// <param name="edgeWorksheet"> /// The edge worksheet in the Excel workbook. /// </param> /// /// <param name="edgeTable"> /// The edge table on the edge worksheet. /// </param> /// /// <param name="vertexWorksheet"> /// The vertex worksheet in the Excel workbook. /// </param> /// /// <param name="vertexTable"> /// The vertex table on the vertex worksheet. /// </param> /// /// <param name="groupWorksheet"> /// The group worksheet in the Excel workbook. /// </param> /// /// <param name="groupTable"> /// The group table on the group worksheet. /// </param> /// /// <param name="groupVertexWorksheet"> /// The group-vertex worksheet in the Excel workbook. /// </param> /// /// <param name="taskPane"> /// The TaskPane. /// </param> //************************************************************************* public SelectionCoordinator ( ThisWorkbook thisWorkbook, Sheet1 edgeWorksheet, Microsoft.Office.Tools.Excel.ListObject edgeTable, Sheet2 vertexWorksheet, Microsoft.Office.Tools.Excel.ListObject vertexTable, Sheet5 groupWorksheet, Microsoft.Office.Tools.Excel.ListObject groupTable, Sheet6 groupVertexWorksheet, TaskPane taskPane ) { Debug.Assert(thisWorkbook != null); Debug.Assert(edgeWorksheet != null); Debug.Assert(edgeTable != null); Debug.Assert(vertexWorksheet != null); Debug.Assert(vertexTable != null); Debug.Assert(groupWorksheet != null); Debug.Assert(groupTable != null); Debug.Assert(groupVertexWorksheet != null); Debug.Assert(taskPane != null); m_oThisWorkbook = thisWorkbook; m_oEdgeWorksheet = edgeWorksheet; m_oVertexWorksheet = vertexWorksheet; m_oGroupWorksheet = groupWorksheet; m_oGroupTable = groupTable; m_oGroupVertexWorksheet = groupVertexWorksheet; m_oTaskPane = taskPane; m_bIgnoreSelectionEvents = false; m_bUpdateVertexSelectionOnActivation = false; m_bUpdateEdgeSelectionOnActivation = false; m_bUpdateGroupSelectionOnActivation = false; edgeTable.SelectionChange += new DocEvents_SelectionChangeEventHandler( EdgeTable_SelectionChange); edgeTable.Deselected += new DocEvents_SelectionChangeEventHandler( EdgeTable_Deselected); m_oEdgeWorksheet.ActivateEvent += new DocEvents_ActivateEventHandler( EdgeWorksheet_ActivateEvent); vertexTable.SelectionChange += new DocEvents_SelectionChangeEventHandler( VertexTable_SelectionChange); vertexTable.Deselected += new DocEvents_SelectionChangeEventHandler( VertexTable_Deselected); m_oVertexWorksheet.ActivateEvent += new DocEvents_ActivateEventHandler( VertexWorksheet_ActivateEvent); m_oGroupTable.SelectionChange += new DocEvents_SelectionChangeEventHandler( GroupTable_SelectionChange); m_oGroupTable.Deselected += new DocEvents_SelectionChangeEventHandler( GroupTable_Deselected); m_oGroupWorksheet.ActivateEvent += new DocEvents_ActivateEventHandler( GroupWorksheet_ActivateEvent); m_oTaskPane.SelectionChangedInGraph += new EventHandler<EventArgs>(this.TaskPane_SelectionChangedInGraph); }
TryRemoveSelectedGroups ( Microsoft.Office.Interop.Excel.Workbook oWorkbook, Sheet5 oGroupWorksheet ) { Debug.Assert(oWorkbook != null); Debug.Assert(oGroupWorksheet != null); ICollection<String> oSelectedGroupNames = oGroupWorksheet.GetSelectedGroupNames(); ExcelTableUtil.RemoveTableRowsByStringColumnValues(oWorkbook, WorksheetNames.Groups, TableNames.Groups, GroupTableColumnNames.Name, oSelectedGroupNames); ExcelTableUtil.RemoveTableRowsByStringColumnValues(oWorkbook, WorksheetNames.GroupVertices, TableNames.GroupVertices, GroupVertexTableColumnNames.GroupName, oSelectedGroupNames); return (true); }
TrySelectGroupsWithSelectedVertices ( Microsoft.Office.Interop.Excel.Workbook oWorkbook, Sheet2 oVertexWorksheet, Sheet5 oGroupWorksheet ) { Debug.Assert(oWorkbook != null); Debug.Assert(oVertexWorksheet != null); Debug.Assert(oGroupWorksheet != null); // For each selected vertex, get the vertex's group name from the // group-vertex worksheet and select that group in the group worksheet. ICollection<String> oSelectedVertexNames = oVertexWorksheet.GetSelectedVertexNames(); oGroupWorksheet.SelectGroups( NodeXLWorkbookUtil.GetGroupNamesByVertexName(oWorkbook, oSelectedVertexNames) ); return (true); }
TryRunGroupCommand ( GroupCommands groupCommand, Microsoft.Office.Interop.Excel.Workbook workbook, Sheet2 vertexWorksheet, Sheet5 groupWorksheet ) { Debug.Assert(workbook != null); Debug.Assert(vertexWorksheet != null); Debug.Assert(groupWorksheet != null); switch (groupCommand) { case GroupCommands.None: return (true); case GroupCommands.CollapseSelectedGroups: return ( TryCollapseOrExpandSelectedGroups(workbook, true) ); case GroupCommands.ExpandSelectedGroups: return ( TryCollapseOrExpandSelectedGroups(workbook, false) ); case GroupCommands.CollapseAllGroups: return ( TryCollapseOrExpandAllGroups(workbook, true) ); case GroupCommands.ExpandAllGroups: return ( TryCollapseOrExpandAllGroups(workbook, false) ); case GroupCommands.SelectGroupsWithSelectedVertices: return ( TrySelectGroupsWithSelectedVertices(workbook, vertexWorksheet, groupWorksheet) ); case GroupCommands.SelectAllGroups: return ( TrySelectAllGroups(workbook) ); case GroupCommands.AddSelectedVerticesToGroup: return ( TryAddSelectedVerticesToGroup(workbook, vertexWorksheet) ); case GroupCommands.RemoveSelectedVerticesFromGroups: ICollection<String> oSelectedVertexNames; return ( TryRemoveSelectedVerticesFromGroups(workbook, vertexWorksheet, out oSelectedVertexNames) ); case GroupCommands.RemoveSelectedGroups: return ( TryRemoveSelectedGroups(workbook, groupWorksheet) ); case GroupCommands.RemoveAllGroups: return ( TryRemoveAllGroups(workbook) ); default: Debug.Assert(false); return (false); } }