public MyViewModel()
        {
            StringBuilder sb = new StringBuilder();

            if (_uiVisualizer != null)
            {
                sb.AppendLine("Found [Import] IUIVisualizer");
            }
            else
            {
                sb.AppendLine("Missing [Import] IUIVisualizer");
            }

            IUIVisualizer vis = ServiceLocator.Instance.Resolve <IUIVisualizer>();

            if (vis != null)
            {
                sb.AppendLine("Found ServiceLocator.Resolve IUIVisualizer");
            }
            else
            {
                sb.AppendLine("Missing ServiceLocator.Resolve IUIVisualizer");
            }

            if (!ReferenceEquals(vis, _uiVisualizer))
            {
                sb.AppendLine("Resolved version is different than imported version!");
            }
            else
            {
                sb.AppendLine("Found same reference.");
            }

            Text = sb.ToString();
        }
Example #2
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);
        }
Example #3
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();
                    }
                }
            }
        }
Example #4
0
        /// <summary>
        /// Static constructor which registers UI dialogs.
        /// </summary>
        static RcadSequenceProvider()
        {
            IUIVisualizer uiVisualizer = ViewModel.ServiceProvider.Resolve <IUIVisualizer>();

            Debug.Assert(uiVisualizer != null);
            uiVisualizer.Register(RCADDI_SELECT_EXISTING_CONNECTION_UI, typeof(SelectExistingConnection));
            uiVisualizer.Register(RCADRI_CREATE_CONNECTION_UI, typeof(CreateNewConnection));
        }
Example #5
0
        private void ShowColorDialog(object parameter)
        {
            IUIVisualizer vis = Resolve <IUIVisualizer>();

            if (vis != null)
            {
                var cdvm = new ColorDialogViewModel((Element)parameter);
                vis.Show(cdvm.ToString(), cdvm, true, null);
            }
        }
Example #6
0
        /// <summary>
        /// Constructor
        /// </summary>
        public App()
        {
            ViewModel.RegisterKnownServiceTypes();
            IUIVisualizer uiVisualizer = ViewModel.ServiceProvider.Resolve <IUIVisualizer>();

            if (uiVisualizer != null)
            {
                uiVisualizer.Register(typeof(AddOpenFileView).ToString(), typeof(AddOpenFileView));
            }
        }
        /// <summary>
        /// Initialize globals
        /// </summary>
        static AlignmentViewModel()
        {
            IUIVisualizer uiVisualizer = ServiceProvider.Resolve <IUIVisualizer>();

            if (uiVisualizer != null)
            {
                uiVisualizer.Register(typeof(OptionsWindow).ToString(), typeof(OptionsWindow));
                uiVisualizer.Register(typeof(GotoColumnRowView).ToString(), typeof(GotoColumnRowView));
                uiVisualizer.Register(typeof(GotoRefSeqColumnView).ToString(), typeof(GotoRefSeqColumnView));
                uiVisualizer.Register(typeof(FindSearchView).ToString(), typeof(FindSearchView));
            }
        }
Example #8
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();
         }
     }
 }
Example #9
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();
            }
        }
        /// <summary>
        /// Locate a specific sequence by name (or partial name)
        /// </summary>
        private void OnFindByName()
        {
            if (_finder != null)
            {
                _finder.RaiseActivateRequest();
                return;
            }

            IUIVisualizer uiVisualizer = Resolve <IUIVisualizer>();

            if (uiVisualizer != null)
            {
                _finder = new FindSearchViewModel(new DelegatingCommand <FindSearchViewModel>(OnFindNext, fsvm => fsvm != null && !string.IsNullOrEmpty(fsvm.SearchString)));
                uiVisualizer.Show(typeof(FindSearchView).ToString(), _finder, true, (s, e) => { _finder = null; RaiseActivateRequest(); });
            }
        }
Example #11
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);
 }
Example #12
0
        /// <summary>
        /// This method executes the workflow.
        /// </summary>
        private void OnRunWorkflow()
        {
            if (RequireSave != null)
            {
                RequireSave();
            }

            var execViewModel = new ExecutionViewModel(WorkflowFile);

            if (!execViewModel.Initialize())
            {
                return;
            }

            IUIVisualizer uiVisualizer = Resolve <IUIVisualizer>();

            uiVisualizer.Show("ExecutionWindow", execViewModel, true,
                              (s, e) => execViewModel.Dispose());
        }
        /// <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>
        /// 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;
                }
            }
        }
Example #15
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));
                }
            }
        }
        /// <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);
                }
            }
        }