PopulateGraphFromFile() { IGraphAdapter oGraphAdapter = new SimpleGraphAdapter(); /* * ( (Smrf.NodeXL.Visualization.Wpf.VertexDrawer) * m_oNodeXLControl.VertexDrawer ).Radius = 5; */ m_oNodeXLControl.Graph = oGraphAdapter.LoadGraphFromFile( "..\\..\\SampleGraph.txt"); AddToolTipsToVertices(); m_oNodeXLControl.DrawGraph(true); }
ReadDynamicFilterColumn ( DynamicFilterDialog oDynamicFilterDialog, Microsoft.Office.Interop.Excel.Workbook oWorkbook, NodeXLControl oNodeXLControl, String sWorksheetName, String sTableName, Dictionary<Int32, IIdentityProvider> oRowIDDictionary, HashSet<Int32> oFilteredIDs, EdgeOrVertexCanBeMadeVisibleHandler oOnEdgeOrVertexCanBeMadeVisible, EdgeOrVertexFilteredHandler oOnEdgeOrVertexFiltered, Boolean bForceRedraw ) { Debug.Assert(oDynamicFilterDialog != null); Debug.Assert(oWorkbook != null); Debug.Assert(oNodeXLControl != null); Debug.Assert( !String.IsNullOrEmpty(sWorksheetName) ); Debug.Assert( !String.IsNullOrEmpty(sTableName) ); Debug.Assert(oRowIDDictionary != null); Debug.Assert(oFilteredIDs != null); Debug.Assert(oOnEdgeOrVertexCanBeMadeVisible != null); Debug.Assert(oOnEdgeOrVertexFiltered != null); if (oNodeXLControl.IsLayingOutGraph) { return; } oFilteredIDs.Clear(); // The dynamic filter column on the edge or vertex table contains // Booleans indicating whether the edge or vertex should be made // visible. // Get the data in the ID and dynamic filter columns. Object [,] oIDColumnValues, oDynamicFilterColumnValues; if ( !TryGetIDAndDynamicFilterValues(oWorkbook, sWorksheetName, sTableName, out oIDColumnValues, out oDynamicFilterColumnValues) ) { return; } HashSet<Int32> oFilteredVertexIDs = GetFilteredVertexIDs(oDynamicFilterDialog); Int32 iRows = oIDColumnValues.GetUpperBound(0); Debug.Assert( iRows == oDynamicFilterColumnValues.GetUpperBound(0) ); for (Int32 iOneBasedRow = 1; iOneBasedRow <= iRows; iOneBasedRow++) { Object oID = oIDColumnValues[iOneBasedRow, 1]; Object oDynamicFilter = oDynamicFilterColumnValues[iOneBasedRow, 1]; IIdentityProvider oEdgeOrVertex; if ( oID is Double && oRowIDDictionary.TryGetValue( (Int32)(Double)oID, out oEdgeOrVertex ) && oDynamicFilter is Boolean ) { Debug.Assert(oEdgeOrVertex is IMetadataProvider); IMetadataProvider oEdgeOrVertex2 = (IMetadataProvider)oEdgeOrVertex; Boolean bMakeVisible = (Boolean)oDynamicFilter; if (!bMakeVisible) { oFilteredIDs.Add(oEdgeOrVertex.ID); } else if ( !oOnEdgeOrVertexCanBeMadeVisible( oEdgeOrVertex, GetFilteredEdgeIDs(oDynamicFilterDialog), oFilteredVertexIDs ) ) { bMakeVisible = false; } // Filter or make visible the edge or vertex, then call the // handler specified by the caller. DynamicallyFilterEdgeOrVertex(oEdgeOrVertex2, bMakeVisible); oOnEdgeOrVertexFiltered(oEdgeOrVertex2, bMakeVisible, oDynamicFilterDialog); } } if (bForceRedraw) { oNodeXLControl.DrawGraph(); } }
ReadFilteredAlpha ( DynamicFilterDialog dynamicFilterDialog, NodeXLControl nodeXLControl, Boolean forceRedraw ) { Debug.Assert(dynamicFilterDialog != null); Debug.Assert(nodeXLControl != null); nodeXLControl.FilteredAlpha = ( new AlphaConverter() ).WorkbookToGraphAsByte( dynamicFilterDialog.FilteredAlpha); if (forceRedraw) { nodeXLControl.DrawGraph(); } }