Beispiel #1
0
        /// <summary>
        /// 2-phase initialization to parse parameters
        /// </summary>
        /// <returns></returns>
        public bool Initialize()
        {
            XamlXmlReader reader = new XamlXmlReader(_filename, new XamlXmlReaderSettings {
                LocalAssembly = typeof(MainViewModel).Assembly
            });

            _workflow = ActivityXamlServices.Load(reader);

            var argumentViewModel = new ArgumentCollectorViewModel(_workflow as DynamicActivity);

            if (argumentViewModel.HasArguments)
            {
                IUIVisualizer uiVisualizer = Resolve <IUIVisualizer>();
                if (uiVisualizer.ShowDialog("WorkflowArgumentsView", argumentViewModel) == false)
                {
                    return(false);
                }
            }

            _inputs = argumentViewModel.CollectArguments();

            //_inputs.Add("img",typeof(Image<Bgr,Byte>));
            //_inputs.Add("gimg", typeof(Image<Gray, Byte>));

            return(true);
        }
Beispiel #2
0
        private void OnAddExistingFile()
        {
            var openFiles = new List <OpenBioDataViewModel>();

            SendMessage(ViewMessages.QueryOpenViewModels, openFiles);

            if (openFiles.Count > 0)
            {
                AddOpenFileViewModel afvm         = new AddOpenFileViewModel(openFiles, AvailableDataSources);
                IUIVisualizer        uiVisualizer = Resolve <IUIVisualizer>();
                if (uiVisualizer != null)
                {
                    bool?result = uiVisualizer.ShowDialog(typeof(AddOpenFileView).ToString(), afvm);
                    if (result != null && result.Value)
                    {
                        foreach (var file in afvm.SelectedFiles)
                        {
                            AddFileToWorkspace(new WorkspaceEntry
                            {
                                FormatType = file.FormatType,
                                LoaderData = file.LoadData,
                                LoaderKey  = file.LoaderKey
                            });
                        }
                        Save();
                    }
                }
            }
        }
Beispiel #3
0
        private static AlignmentFilter PromptDbInfo()
        {
            IUIVisualizer uiVisualizer = ViewModel.ServiceProvider.Resolve <IUIVisualizer>();

            Debug.Assert(uiVisualizer != null);

            var savedConnections = AlignmentFilter.Load(SAVED_CONNECTION_FILE);

            using (var cvm = new FilterListViewModel(savedConnections))
            {
                try
                {
                    if (savedConnections.Count > 0)
                    {
                        if (uiVisualizer.ShowDialog(RCADDI_SELECT_EXISTING_CONNECTION_UI, cvm) == true)
                        {
                            return(cvm.SelectedFilter.Filter);
                        }
                    }
                    else
                    {
                        var vm = new FilterViewModel();
                        if (uiVisualizer.ShowDialog(RCADRI_CREATE_CONNECTION_UI, vm) == true)
                        {
                            cvm.Filters.Add(vm);
                            cvm.SelectedFilter = vm;
                            return(vm.Filter);
                        }
                    }
                    return(null);
                }
                finally
                {
                    AlignmentFilter.Save(SAVED_CONNECTION_FILE, cvm.Filters
                                         .Where(vm => vm.ShouldSerialize)
                                         .Select(vm => vm.Filter));
                }
            }
        }
        private void ShowPropertyDialog()
        {
            var propViewModel = new AppPropertyViewModel {
                Title = this.Title, ShapeCount = Elements.Count
            };
            bool?result = _uiVisualizer.ShowDialog("ShowProperties", propViewModel);

            if (result.HasValue && result.Value)
            {
                Title = propViewModel.Title;
                CreateShapes(propViewModel.ShapeCount);
            }
        }
Beispiel #5
0
 private void OnEditConnection()
 {
     if (SelectedFilter != null)
     {
         // Create the new view
         IUIVisualizer uiVisualizer = Resolve <IUIVisualizer>();
         Debug.Assert(uiVisualizer != null);
         if (uiVisualizer.ShowDialog(RcadSequenceProvider.RCADRI_CREATE_CONNECTION_UI, SelectedFilter) == true)
         {
             OnOK();
         }
     }
 }
Beispiel #6
0
        private void OnCreateNewConnection()
        {
            // Create the new view
            IUIVisualizer uiVisualizer = Resolve <IUIVisualizer>();

            Debug.Assert(uiVisualizer != null);
            FilterViewModel vm = new FilterViewModel();

            if (uiVisualizer.ShowDialog(RcadSequenceProvider.RCADRI_CREATE_CONNECTION_UI, vm).Value)
            {
                Filters.Add(vm);
                SelectedFilter = vm;
                OnOK();
            }
        }
Beispiel #7
0
 /// <summary>
 /// This method is used to change the properties of this loader.
 /// It is assumed that a GUI will be provided by the implementation.
 /// </summary>
 public bool ChangeProperties()
 {
     if (_dbConnection != null)
     {
         var           fvm          = new FilterViewModel(_dbConnection, true);
         IUIVisualizer uiVisualizer = ViewModel.ServiceProvider.Resolve <IUIVisualizer>();
         Debug.Assert(uiVisualizer != null);
         if (uiVisualizer.ShowDialog(RCADRI_CREATE_CONNECTION_UI, fvm) == true)
         {
             // TODO: should save changes to the file..
             Load();
             PropertiesChanged(this, EventArgs.Empty);
             return(true);
         }
     }
     return(false);
 }
        /// <summary>
        /// Displays the "goto column" dialog and positions the view
        /// </summary>
        private void OnGotoColumn()
        {
            IUIVisualizer uiVisualizer = Resolve <IUIVisualizer>();

            if (uiVisualizer != null)
            {
                var vm = new GotoColumnRowViewModel
                {
                    Type        = "Column",
                    MinPosition = 1,
                    Position    = 1 + _activeView.FirstColumn,
                    MaxPosition = TotalColumns,
                };
                bool?rc = uiVisualizer.ShowDialog(typeof(GotoColumnRowView).ToString(), vm);
                if (rc == true)
                {
                    FocusedColumnIndex = _activeView.FirstColumn = vm.Position - 1;
                }
            }
        }
        /// <summary>
        /// This method displays the Options dialog for the view
        /// </summary>
        private void OnShowOptions()
        {
            IUIVisualizer uiVisualizer = Resolve <IUIVisualizer>();

            if (uiVisualizer != null)
            {
                int  groupingMinMaxLevel = Options.MinGroupingRange;
                bool sortByTaxonomy      = Options.SortByTaxonomy;
                var  displayOptions      = new DisplayOptionsViewModel();
                bool?rc = uiVisualizer.ShowDialog(typeof(OptionsWindow).ToString(), displayOptions);
                if (rc == true)
                {
                    Options.BroadcastOptionChange();
                    if (groupingMinMaxLevel != Options.MinGroupingRange || sortByTaxonomy != Options.SortByTaxonomy)
                    {
                        ReloadSequences();
                    }
                }
            }
        }
        /// <summary>
        /// This method scrolls vertically
        /// </summary>
        private void OnGotoRow()
        {
            IUIVisualizer uiVisualizer = Resolve <IUIVisualizer>();

            if (uiVisualizer != null)
            {
                var vm = new GotoColumnRowViewModel
                {
                    Type        = "Row",
                    MinPosition = 1,
                    Position    = 1,
                    MaxPosition = TotalEntities,
                };
                bool?rc = uiVisualizer.ShowDialog(typeof(GotoColumnRowView).ToString(), vm);
                if (rc == true)
                {
                    int realIndex = Enumerable.Range(0, TotalRows).First(i => VisibleData[i].DisplayIndex == vm.Position);
                    FocusedRow = VisibleData[realIndex];
                    TopRow     = realIndex;
                }
            }
        }
        /// <summary>
        /// Displays the "goto column" dialog and positions the view
        /// </summary>
        private void OnGotoRefColumn()
        {
            IUIVisualizer uiVisualizer = Resolve <IUIVisualizer>();

            if (uiVisualizer != null)
            {
                var refSequences = SelectedReferenceSequences;

                var vm = new GotoColumnRowViewModel
                {
                    MinPosition               = 1,
                    Position                  = 1,
                    MaxPosition               = TotalColumns,
                    ReferenceSequences        = refSequences,
                    SelectedReferenceSequence = refSequences[0]
                };
                bool?rc = uiVisualizer.ShowDialog(typeof(GotoRefSeqColumnView).ToString(), vm);
                if (rc == true)
                {
                    FocusedColumnIndex = _activeView.FirstColumn = (vm.SelectedReferenceSequence.FirstDataIndex + vm.Position - 1);
                }
            }
        }
 private void OnCreateNewModalWindow(object sender, RoutedEventArgs e)
 {
     _uiVisualizer.ShowDialog("MainWindow");
 }