ShowOrHideColumnGroup
        (
            Microsoft.Office.Interop.Excel.Workbook oWorkbook,
            ColumnGroups eColumnGroup,
            Boolean bShow
        )
        {
            Debug.Assert(oWorkbook != null);

        #if DEBUG
            // Verify that a single value in the ColumnGroup enumeration has been
            // specified.

            Double dLogColumnGroup = Math.Log((Double)eColumnGroup, 2);
            Debug.Assert((Int32)dLogColumnGroup == dLogColumnGroup);
        #endif

            ListObject oTable;

            if (TryGetColumnGroupTable(oWorkbook, eColumnGroup, out oTable))
            {
                ExcelColumnHider.ShowOrHideColumns(oTable,
                                                   GetColumnNames(oWorkbook, eColumnGroup), bShow);

                if (eColumnGroup == ColumnGroups.VertexOtherColumns)
                {
                    // Hiding the subgraph image column doesn't hide the images in
                    // the column.

                    SubgraphImageColumnPopulator.ShowOrHideSubgraphImages(
                        oWorkbook, bShow);
                }
            }
        }
Example #2
0
        ClearAllNodeXLTables
        (
            Microsoft.Office.Interop.Excel.Workbook workbook
        )
        {
            Debug.Assert(workbook != null);

            SubgraphImageColumnPopulator.DeleteSubgraphImages(workbook);

            ExcelTableUtil.ClearTables(workbook,
                                       WorksheetNames.Edges, TableNames.Edges,
                                       WorksheetNames.Vertices, TableNames.Vertices,
                                       WorksheetNames.OverallMetrics, TableNames.OverallMetrics,
                                       WorksheetNames.OverallMetrics, TableNames.OverallReadabilityMetrics,
                                       WorksheetNames.Miscellaneous, TableNames.DynamicFilterSettings
                                       );

            ClearGroupTables(workbook);

            foreach (String sWorksheetName in new String [] {
                WorksheetNames.TopNByMetrics,
                WorksheetNames.TwitterSearchNetworkTopItems,
                WorksheetNames.WordCounts,
                WorksheetNames.WordPairCounts,
            })
            {
                ExcelUtil.TryClearWorksheet(workbook, sWorksheetName);
            }

            (new PerWorkbookSettings(workbook)).OnWorkbookTablesCleared();
        }
        OnImageCreationCompleted
        (
            RunWorkerCompletedEventArgs e
        )
        {
            AssertValid();
            Debug.Assert(m_oWorkbook != null);
            Debug.Assert(m_oSelectedVertexNames != null);

            if (e.Cancelled)
            {
                this.State = DialogState.Idle;

                lblStatus.Text = "Image creation stopped.";
            }
            else if (e.Error != null)
            {
                this.State = DialogState.Idle;

                Exception oException = e.Error;

                if (oException is System.IO.IOException)
                {
                    lblStatus.Text = "Image creation error.";

                    this.ShowWarning(oException.Message);
                }
                else
                {
                    ErrorUtil.OnException(oException);
                }
            }
            else
            {
                // Success.  Were temporary images created that need to be inserted
                // into the vertex worksheet?

                Debug.Assert(e.Result is TemporaryImages);

                TemporaryImages oTemporaryImages = (TemporaryImages)e.Result;

                if (oTemporaryImages.Folder != null)
                {
                    // Yes.  Insert them, then delete the temporary images.

                    this.State = DialogState.PopulatingImageColumn;

                    String sLastStatusFromSubgraphImageCreator = lblStatus.Text;

                    lblStatus.Text =
                        "Inserting subgraph thumbnails into the worksheet.  Please"
                        + " wait...";

                    SubgraphImageColumnPopulator.PopulateSubgraphImageColumn(
                        m_oWorkbook, oTemporaryImages);

                    lblStatus.Text = sLastStatusFromSubgraphImageCreator;
                }

                this.State = DialogState.Idle;

                if (m_eMode == DialogMode.Automate)
                {
                    this.Close();
                }
            }
        }