private void OpenDocument() { var notification = new OpenFileDialogNotification(); notification.RestoreDirectory = true; notification.Filter = "DGML files (*.dgml)|*.dgml|DOT files (*.dot)|*.dot|GraphML files (*.graphml)|*.graphml|DOT plain files (*.plain)|*.plain"; notification.FilterIndex = 0; notification.DefaultExt = ".dgml"; OpenFileRequest.Raise( notification, n => { if( n.Confirmed ) { Open( n.FileName ); } } ); }
private void LoadMasks() { var notification = new OpenFileDialogNotification(); notification.RestoreDirectory = true; notification.Filter = "GraphViz filter files (*.bgf)|*.bgf"; notification.FilterIndex = 0; notification.DefaultExt = ".bgf"; OpenFileRequest.Raise( notification, n => { if( n.Confirmed ) { var masks = myPersistanceService.Load( n.FileName ); var module = myPresentation.GetModule<INodeMaskModule>(); var masksToRemove = module.Items.ToList(); // unfort. we have to add masks first and then remove the old ones because the system reacts on // removal and in case of very huge graphs this causes performance issues because then the whole // graph is picked instead of subset // do reverse as we use push (stack) foreach( var mask in masks.Reverse() ) { module.Push( mask ); } foreach( var mask in masksToRemove ) { module.Remove( mask ); } } } ); }
private void OnBrowseClicked() { var notification = new OpenFileDialogNotification(); notification.RestoreDirectory = true; notification.Filter = "Assemblies (*.dll,*.exe)|*.dll;*.exe"; notification.FilterIndex = 0; OpenFileRequest.Raise( notification, n => { if ( n.Confirmed ) { AssemblyToAnalyseLocation = n.FileName; } } ); }