Smrf.NodeXL.ExcelTemplate.ColumnGroupManager.GetColumnNames C# (CSharp) Method

GetColumnNames() private static method

private static GetColumnNames ( Microsoft oWorkbook, ColumnGroups eColumnGroup ) : String[]
oWorkbook Microsoft
eColumnGroup ColumnGroups
return String[]
    GetColumnNames
    (
        Microsoft.Office.Interop.Excel.Workbook oWorkbook,
        ColumnGroups eColumnGroup
    )
    {
        Debug.Assert(oWorkbook != null);

        String [] asColumnNames = null;

        switch (eColumnGroup)
        {
            case ColumnGroups.EdgeDoNotHide:

                asColumnNames = new String [] {
                    EdgeTableColumnNames.Vertex1Name,
                    EdgeTableColumnNames.Vertex2Name,
                    };

                break;

            case ColumnGroups.EdgeVisualAttributes:

                asColumnNames = new String [] {
                    EdgeTableColumnNames.Color,
                    EdgeTableColumnNames.Width,
                    EdgeTableColumnNames.Style,
                    CommonTableColumnNames.Alpha,
                    CommonTableColumnNames.Visibility,
                    };

                break;

            case ColumnGroups.EdgeLabels:

                asColumnNames = new String [] {
                    EdgeTableColumnNames.Label,
                    EdgeTableColumnNames.LabelTextColor,
                    EdgeTableColumnNames.LabelFontSize,
                    };

                break;

            case ColumnGroups.EdgeGraphMetrics:

                asColumnNames = new String [] {
                    EdgeTableColumnNames.IsReciprocated,
                    };

                break;

            case ColumnGroups.VertexDoNotHide:

                asColumnNames = new String [] {
                    VertexTableColumnNames.VertexName,
                    };

                break;

            case ColumnGroups.VertexVisualAttributes:

                asColumnNames = new String [] {
                    VertexTableColumnNames.Color,
                    VertexTableColumnNames.Shape,
                    VertexTableColumnNames.Radius,
                    CommonTableColumnNames.Alpha,
                    VertexTableColumnNames.ImageUri,
                    CommonTableColumnNames.Visibility,
                    };

                break;

            case ColumnGroups.VertexGraphMetrics:

                asColumnNames = new String [] {
                    VertexTableColumnNames.Degree,
                    VertexTableColumnNames.InDegree,
                    VertexTableColumnNames.OutDegree,
                    VertexTableColumnNames.BetweennessCentrality,
                    VertexTableColumnNames.ClosenessCentrality,
                    VertexTableColumnNames.EigenvectorCentrality,
                    VertexTableColumnNames.PageRank,
                    VertexTableColumnNames.ClusteringCoefficient,
                    VertexTableColumnNames.ReciprocatedVertexPairRatio,
                    };

                break;

            case ColumnGroups.VertexLabels:

                asColumnNames = new String [] {
                    VertexTableColumnNames.Label,
                    VertexTableColumnNames.LabelFillColor,
                    VertexTableColumnNames.LabelPosition,
                    VertexTableColumnNames.ToolTip,
                    };

                break;

            case ColumnGroups.VertexLayout:

                asColumnNames = new String [] {
                    VertexTableColumnNames.LayoutOrder,
                    VertexTableColumnNames.X,
                    VertexTableColumnNames.Y,
                    VertexTableColumnNames.Locked,
                    VertexTableColumnNames.PolarR,
                    VertexTableColumnNames.PolarAngle,
                    };

                break;

            case ColumnGroups.EdgeInternalUse:
            case ColumnGroups.VertexInternalUse:

                asColumnNames = new String [] {
                    CommonTableColumnNames.ID,
                    CommonTableColumnNames.DynamicFilter,
                    };

                break;

            case ColumnGroups.EdgeOtherColumns:
            case ColumnGroups.VertexOtherColumns:
            case ColumnGroups.GroupOtherColumns:

                asColumnNames = GetOtherColumnNames(oWorkbook, eColumnGroup);
                break;

            case ColumnGroups.GroupDoNotHide:

                asColumnNames = new String [] {
                    GroupTableColumnNames.Name,
                    };

                break;

            case ColumnGroups.GroupVisualAttributes:

                asColumnNames = new String [] {
                    GroupTableColumnNames.VertexColor,
                    GroupTableColumnNames.VertexShape,
                    CommonTableColumnNames.Visibility,
                    GroupTableColumnNames.Collapsed,
                    };

                break;

            case ColumnGroups.GroupLabels:

                asColumnNames = new String [] {
                    GroupTableColumnNames.Label,
                    };

                break;

            case ColumnGroups.GroupLayout:

                asColumnNames = new String [] {
                    GroupTableColumnNames.CollapsedX,
                    GroupTableColumnNames.CollapsedY,
                    };

                break;

            case ColumnGroups.GroupGraphMetrics:

                asColumnNames = new String [] {
                    GroupTableColumnNames.Vertices,
                    GroupTableColumnNames.UniqueEdges,
                    GroupTableColumnNames.EdgesWithDuplicates,
                    GroupTableColumnNames.TotalEdges,
                    GroupTableColumnNames.SelfLoops,
                    GroupTableColumnNames.ReciprocatedVertexPairRatio,
                    GroupTableColumnNames.ReciprocatedEdgeRatio,
                    GroupTableColumnNames.ConnectedComponents,
                    GroupTableColumnNames.SingleVertexConnectedComponents,
                    GroupTableColumnNames.MaximumConnectedComponentVertices,
                    GroupTableColumnNames.MaximumConnectedComponentEdges,
                    GroupTableColumnNames.MaximumGeodesicDistance,
                    GroupTableColumnNames.AverageGeodesicDistance,
                    GroupTableColumnNames.GraphDensity,
                    };

                break;

            case ColumnGroups.GroupInternalUse:

                asColumnNames = new String [] {
                    CommonTableColumnNames.ID,
                    GroupTableColumnNames.CollapsedAttributes,
                    };

                break;

            case ColumnGroups.GroupEdgeDoNotHide:

                asColumnNames = new String [] {
                    GroupEdgeTableColumnNames.Group1Name,
                    GroupEdgeTableColumnNames.Group2Name,
                    };

                break;

            case ColumnGroups.GroupEdgeGraphMetrics:

                asColumnNames = new String [] {
                    GroupEdgeTableColumnNames.Edges,
                    };

                break;

            default:

                Debug.Assert(false);
                break;
        }
        
        Debug.Assert(asColumnNames != null);

        return (asColumnNames);
    }