public DBLogonViewModel(IUIVisualizerService uiVisualizer, IMessageBoxService messageBoxService, IViewAwareStatus viewAwareStatusService)
 {
     this.uiVisualizer                       = uiVisualizer;
     this.messageBoxService                  = messageBoxService;
     this.viewAwareStatusService             = viewAwareStatusService;
     this.viewAwareStatusService.ViewLoaded += ViewAwareStatusService_ViewLoaded;
 }
Ejemplo n.º 2
0
        public ImageLoaderViewModel(
            IMessageBoxService messageBoxService,
            IOpenFileService openFileService,
            ISaveFileService saveFileService,
            IUIVisualizerService uiVisualizerService,
            IImageProvider imageProvider,
            IImageDiskOperations imageDiskOperations,
            IViewAwareStatus viewAwareStatusService)
        {
            //setup services
            this.messageBoxService                  = messageBoxService;
            this.openFileService                    = openFileService;
            this.saveFileService                    = saveFileService;
            this.uiVisualizerService                = uiVisualizerService;
            this.imageProvider                      = imageProvider;
            this.imageDiskOperations                = imageDiskOperations;
            this.viewAwareStatusService             = viewAwareStatusService;
            this.viewAwareStatusService.ViewLoaded += ViewAwareStatusService_ViewLoaded;

            //commands, SimpleCommand<T1,T2> T1 is CanExecute parameter type, and T2 is Execute type
            AddImageRatingCommand   = new SimpleCommand <Object, Object>(ExecuteAddImageRatingCommand);
            SaveToFileCommand       = new SimpleCommand <Object, Object>(ExecuteSaveToFileCommand);
            OpenExistingFileCommand = new SimpleCommand <Object, Object>(ExecuteOpenExistingFileCommand);

            //EventToCommand triggered, see the View
            ShowActionsCommand = new SimpleCommand <Object, Object>(ExecuteShowActionsCommand);
            HideActionsCommand = new SimpleCommand <Object, Object>(ExecuteHideActionsCommand);

            //some reverse commands, that the VM fires, and the View uses as CompletedAwareCommandTriggers
            //to carry out some actions. In this case GoToStateActions are used in the View
            ShowActionsCommandReversed = new SimpleCommand <Object, Object>((input) => { });
            HideActionsCommandReversed = new SimpleCommand <Object, Object>((input) => { });
        }
Ejemplo n.º 3
0
        protected override void ConfigureViewModelLocator()
        {
            ViewModelLocationProvider.SetDefaultViewTypeToViewModelTypeResolver((viewType) =>
            {
                string?viewName         = viewType.FullName;
                viewName                = viewName?.Replace(".Views.", ".ViewModels.");
                string?viewAssemblyName = viewType.GetTypeInfo().Assembly.FullName;
                string?suffix           = viewName != null && (viewName.EndsWith("View") | viewName.EndsWith("Window")) ? "Model" : "ViewModel";
                string viewModelName    = string.Format(CultureInfo.InvariantCulture, "{0}{1}, {2}", viewName, suffix, viewAssemblyName);
                return(Type.GetType(viewModelName));
            });

            ViewModelLocationProvider.SetDefaultViewModelFactory((view, type) =>
            {
                object vm = ContainerLocator.Container.Resolve(type);

                if (vm is IViewAwareStatusInjectionAware contextViewModel)
                {
                    IViewAwareStatus service = ContainerLocator.Container.Resolve <IViewAwareStatus>();
                    service.InjectContext(view);
                    contextViewModel.InitialiseViewAwareService(service);
                    return(vm);
                }

                if (vm is IWindowAwareStatusInjectionAware contextWindowModel)
                {
                    IWindowAwareStatus service = ContainerLocator.Container.Resolve <IWindowAwareStatus>();
                    service.InjectContext(view);
                    contextWindowModel.InitialiseWindowAwareService(service);
                    return(vm);
                }

                return(vm);
            });
        }
Ejemplo n.º 4
0
        public MainWindowViewModel(IViewAwareStatus viewAwareStatusService, IMessageBoxService messageBoxService)
        {
            this.viewAwareStatusService             = viewAwareStatusService;
            this.viewAwareStatusService.ViewLoaded += ViewAwareStatusService_ViewLoaded;
            this.MessageBoxService   = messageBoxService;
            this.UIVisualizerService = ViewModelRepository.Instance.Resolver.Container.GetExport <IUIVisualizerService>().Value;
            this.DisplayName         = "Main Window";


            this.ViewProfileCommand = new CommandBase <User>(o => this.ExecuteViewProfileCommand(o));

            if (Designer.IsInDesignMode)
            {
                return;
            }

            // add view
            WorkspaceData workspace = new WorkspaceData(@"/XRMS.Presentation;component/Images/Cashier.png",
                                                        "CashierOrdersView", null, "Orders Management", false);

            Views.Add(workspace);
            SetActiveWorkspace(workspace);

            _refreshingTimer          = new DispatcherTimer();
            _refreshingTimer.Tick    += new EventHandler(OnRefreshingData);
            _refreshingTimer.Interval = TimeSpan.FromMilliseconds(1000);
            _refreshingTimer.Start();

            ReadRestaurantInfo();
        }
        public PrettierDisplayViewModel(ITweetService tweetService, IViewAwareStatus viewAwareStatus)
            : base(tweetService)
        {
            viewAwareStatus.ViewLoaded += () =>
            {
                MessageBoxService.ShowInformation("You loaded the pretty view!");
                _isLoaded = true;
                // use common if you want to loosely couple from the logger type
                Logger.Default.Debug("Pretty loaded");
            };
            viewAwareStatus.ViewUnloaded += () => _isLoaded = false;

            TweetSearchTweets.CurrentChanged += (s, e) =>
            {
                if (!_isLoaded)
                {
                    return;
                }

                var current = TweetSearchTweets.CurrentItem as LinqTweet;
                if (current != null)
                {
                    Process.Start(current.Link);
                }
            };
        }
Ejemplo n.º 6
0
        public LoginViewViewModel(IViewAwareStatus viewAwareStatus, IAuthenticateService authenticateService,
                                  IMessageBoxService messageBoxService, IBusinessUnitService businessUnitService, IViewInjectionService viewInjectionService)
        {
            //base.IsCloseable = true;
            //Initialise Services
            this.viewAwareStatus      = viewAwareStatus;
            this.authenticateService  = authenticateService;
            this.messageBoxService    = messageBoxService;
            this.businessUnitService  = businessUnitService;
            this.viewInjectionService = viewInjectionService;
            //this.regionManager = regionManager;
            //Initialise Properties
            UserName                         = new DataWrapper <string>(this, userNameArgs);
            Password                         = new DataWrapper <string>(this, passwordArgs);
            SelectedBusinessUnit             = new DataWrapper <Int32>(this, businessUnitsArgs);
            this.viewAwareStatus.ViewLoaded += new Action(viewAwareStatus_ViewLoaded);


            cachedListOfDataWrappers =
                DataWrapperHelper.GetWrapperProperties <LoginViewViewModel>(this);

            //Register Mediator
            Mediator.Instance.Register(this);

            //Initialise Rules
            userName.AddRule(UserNameCannnotBeEmptyRule);
            password.AddRule(PasswordCannotBeEmptyRule);
            selectedBusinessUnit.AddRule(SelectedBusinessUnitCannotBeEmpty);

            //Initialise Commands
            LoginCommand       = new SimpleCommand <object, object>(CanExecuteLoginCommand, ExecuteLoginCommand);
            CancelLoginCommand = new SimpleCommand <object, object>(ExecuteCancelLoginCommand);
        }
        public UserListViewViewModel(IViewAwareStatus viewAwareStatus, IMessageBoxService messageBoxService, IUserService userService)
        {
            this.viewAwareStatus = viewAwareStatus;
            this.messageBoxService = messageBoxService;
            this.userService = userService;
            Mediator.Instance.Register(this);

            this.viewAwareStatus.ViewLoaded += new Action(viewAwareStatus_ViewLoaded);
        }
        public UserListViewViewModel(IViewAwareStatus viewAwareStatus, IMessageBoxService messageBoxService, IUserService userService)
        {
            this.viewAwareStatus   = viewAwareStatus;
            this.messageBoxService = messageBoxService;
            this.userService       = userService;
            Mediator.Instance.Register(this);

            this.viewAwareStatus.ViewLoaded += new Action(viewAwareStatus_ViewLoaded);
        }
Ejemplo n.º 9
0
        public CreateMeetViewModel(IViewAwareStatus viewAwareStatus, IMessageBoxService messageBoxService)
        {
            this.viewAwareStatus = viewAwareStatus;
            this.messageBoxService = messageBoxService;

            //Commands
            CreateMeetCommand = new SimpleCommand<Object, Object>(CanExecuteCreateMeetCommand, ExecuteCreateMeetCommand);

            Mediator.Instance.Register(this);
        }
Ejemplo n.º 10
0
        public ShellViewModel(IViewAwareStatus viewAwareStatus,
            IMessageBoxService messageBoxService)
        {
            this.viewAwareStatus = viewAwareStatus;
            this.messageBoxService = messageBoxService;

            //Commands
            AddNewMeetCommand = new SimpleCommand<Object, Object>(ExecuteAddNewMeetCommand);

            Mediator.Instance.Register(this);
        }
 public MainWindowViewModel([NotNull] IViewAwareStatus viewAwareStatus,
                                           IMessageBoxService messageBox,
                                           IUIVisualizerService visualizer,
                                           IHRCSaveFileService saveFile)
 {
     _viewAwareStatus = viewAwareStatus;
     _messageBox = messageBox;
     _visualizer = visualizer;
     _saveFile = saveFile;
     _viewAwareStatus.ViewLoaded += () => _visualizer.ShowWindow("PSMBrowserView", new PSMBrowserViewModel(),false,(s, e) => Application.Current.Shutdown());
 }
        public TablesViewModel(IUIVisualizerService uiVisualizer, IMessageBoxService messageBoxService, IViewAwareStatus viewAwareStatusService)
        {
            this.uiVisualizer                       = uiVisualizer;
            this.messageBoxService                  = messageBoxService;
            this.viewAwareStatusService             = viewAwareStatusService;
            this.viewAwareStatusService.ViewLoaded += ViewAwareStatusService_ViewLoaded;

            _backgroundWorker                     = new BackgroundWorker();
            _backgroundWorker.DoWork             += _backgroundWorker_DoWork;
            _backgroundWorker.RunWorkerCompleted += _backgroundWorker_RunWorkerCompleted;
        }
        public UserRibbonViewViewModel(IMessageBoxService messageBoxService, IViewAwareStatus viewAwareStatus, IViewInjectionService viewInjectionService)
        {
            this.messageBoxService    = messageBoxService;
            this.viewAwareStatus      = viewAwareStatus;
            this.viewInjectionService = viewInjectionService;

            Mediator.Instance.Register(this);
            //Initialise Commands
            AddNewUserCommand   = new SimpleCommand <object, object>(CanExecuteAddNewUserCommand, ExecuteAddNewUserCommand);
            ViewAllUsersCommand = new SimpleCommand <object, object>(CanExecuteViewAllUsersCommand, ExecuteViewAllUsersCommand);
        }
Ejemplo n.º 14
0
        public ForeignKeysViewModel(IUIVisualizerService uiVisualizer, IMessageBoxService messageBoxService, IViewAwareStatus viewAwareStatusService)
        {
            this.uiVisualizer                       = uiVisualizer;
            this.messageBoxService                  = messageBoxService;
            this.viewAwareStatusService             = viewAwareStatusService;
            this.viewAwareStatusService.ViewLoaded += ViewAwareStatusService_ViewLoaded;

            //Commands
            DoCopyToClipboardCommand = new SimpleCommand <Object, Object>(ExecuteDoCopyToClipboardCommand);
            DoSaveAsCommand          = new SimpleCommand <Object, Object>(ExecuteDoSaveAsCommand);
        }
        public UserRibbonViewViewModel(IMessageBoxService messageBoxService, IViewAwareStatus viewAwareStatus, IViewInjectionService viewInjectionService)
        {
            this.messageBoxService = messageBoxService;
            this.viewAwareStatus = viewAwareStatus;
            this.viewInjectionService = viewInjectionService;

            Mediator.Instance.Register(this);
            //Initialise Commands
            AddNewUserCommand = new SimpleCommand<object, object>(CanExecuteAddNewUserCommand, ExecuteAddNewUserCommand);
            ViewAllUsersCommand = new SimpleCommand<object, object>(CanExecuteViewAllUsersCommand, ExecuteViewAllUsersCommand);
        }
        public MainViewViewModel( IViewAwareStatus viewAwareStatus, IMessageBoxService messageBoxService, IViewInjectionService viewInjectionService)
        {
            //this.regionManager = regionManager;
            this.viewAwareStatus = viewAwareStatus;
            this.messageBoxService = messageBoxService;
            this.viewInjectionService = viewInjectionService;
            this.viewAwareStatus.ViewLoaded += new Action(viewAwareStatus_ViewLoaded);

            //Listen for login event
            Mediator.Instance.Register(this);
            LogoutCommand = new SimpleCommand<object, object>(ExecuteLogoutCommand);
        }
Ejemplo n.º 17
0
        public MainViewViewModel(IViewAwareStatus viewAwareStatus, IMessageBoxService messageBoxService, IViewInjectionService viewInjectionService)
        {
            //this.regionManager = regionManager;
            this.viewAwareStatus             = viewAwareStatus;
            this.messageBoxService           = messageBoxService;
            this.viewInjectionService        = viewInjectionService;
            this.viewAwareStatus.ViewLoaded += new Action(viewAwareStatus_ViewLoaded);

            //Listen for login event
            Mediator.Instance.Register(this);
            LogoutCommand = new SimpleCommand <object, object>(ExecuteLogoutCommand);
        }
Ejemplo n.º 18
0
        public MainWindowViewModel(IViewAwareStatus viewAwareStatusService, IMessageBoxService messageBoxService)
        {
            this.viewAwareStatusService             = viewAwareStatusService;
            this.viewAwareStatusService.ViewLoaded += ViewAwareStatusService_ViewLoaded;
            this.messageBoxService = messageBoxService;

            //Create an instance of the background worker used for generating the script events.
            _generateScriptsBackgroundWorker                     = new BackgroundWorker();
            _generateScriptsBackgroundWorker.DoWork             += _generateScriptsBackgroundWorker_DoWork;
            _generateScriptsBackgroundWorker.RunWorkerCompleted += _generateScriptsBackgroundWorker_RunWorkerCompleted;

            InitialiseViewModel();
        }
        public HomepageViewModel(IUIVisualizerService uiVisualizer, IMessageBoxService messageBoxService, IViewAwareStatus viewAwareStatusService)
        {
            this.uiVisualizer                       = uiVisualizer;
            this.messageBoxService                  = messageBoxService;
            this.viewAwareStatusService             = viewAwareStatusService;
            this.viewAwareStatusService.ViewLoaded += ViewAwareStatusService_ViewLoaded;

            _backgroundWorker                     = new BackgroundWorker();
            _backgroundWorker.DoWork             += _backgroundWorker_DoWork;
            _backgroundWorker.RunWorkerCompleted += _backgroundWorker_RunWorkerCompleted;

            //Commands
            DoScriptCommand = new SimpleCommand <Object, Object>(ExecuteDoScriptCommand);
        }
 public ViewAllUsersViewViewModel(IMessageBoxService messageBoxService, IViewAwareStatus viewAwareStatus,
     IViewInjectionService viewInjectionService, IUserService userService, IOpenFileService openFileService)
 {
     this.messageBoxService = messageBoxService;
     this.viewAwareStatus = viewAwareStatus;
     this.userService = userService;
     this.viewInjectionService = viewInjectionService;
     this.openFileService = openFileService;
     Mediator.Instance.Register(this);
     //Initialise Commands
     UpdateUserCommand = new SimpleCommand<object, object>(CanExecuteUpdateUserCommand, ExecuteUpdateUserCommand);
     UploadUserImageCommand = new SimpleCommand<object, object>(CanExecuteUploadUserImageCommand,
                                                                ExecuteUploadUserImageCommand);
     viewAwareStatus.ViewLoaded += new Action(viewAwareStatus_ViewLoaded);
 }
        public StoredProcsViewModel(IUIVisualizerService uiVisualizer, IMessageBoxService messageBoxService, IViewAwareStatus viewAwareStatusService)
        {
            this.uiVisualizer                       = uiVisualizer;
            this.messageBoxService                  = messageBoxService;
            this.viewAwareStatusService             = viewAwareStatusService;
            this.viewAwareStatusService.ViewLoaded += ViewAwareStatusService_ViewLoaded;

            _backgroundWorker                     = new BackgroundWorker();
            _backgroundWorker.DoWork             += _backgroundWorker_DoWork;
            _backgroundWorker.RunWorkerCompleted += _backgroundWorker_RunWorkerCompleted;

            //Commands
            DoCopyToClipboardCommand = new SimpleCommand <Object, Object>(ExecuteDoCopyToClipboardCommand);
            DoSaveAsCommand          = new SimpleCommand <Object, Object>(ExecuteDoSaveAsCommand);
        }
Ejemplo n.º 22
0
 public ViewAllUsersViewViewModel(IMessageBoxService messageBoxService, IViewAwareStatus viewAwareStatus,
                                  IViewInjectionService viewInjectionService, IUserService userService, IOpenFileService openFileService)
 {
     this.messageBoxService    = messageBoxService;
     this.viewAwareStatus      = viewAwareStatus;
     this.userService          = userService;
     this.viewInjectionService = viewInjectionService;
     this.openFileService      = openFileService;
     Mediator.Instance.Register(this);
     //Initialise Commands
     UpdateUserCommand      = new SimpleCommand <object, object>(CanExecuteUpdateUserCommand, ExecuteUpdateUserCommand);
     UploadUserImageCommand = new SimpleCommand <object, object>(CanExecuteUploadUserImageCommand,
                                                                 ExecuteUploadUserImageCommand);
     viewAwareStatus.ViewLoaded += new Action(viewAwareStatus_ViewLoaded);
 }
Ejemplo n.º 23
0
 public UglyDisplayViewModel(ITweetService tweetService, IViewAwareStatus viewAwareStatus)
     : base(tweetService)
 {
     viewAwareStatus.ViewLoaded += () =>
     {
         //MessageBoxService.ShowInformation("You loaded the ugly view!");
         Logger.Default.Debug("Ugly loaded");
         State = Loaded;
         if (!_injected)
         {
             _injected = true;
             RegisterAndActivateView <ITweetBrowser>("BrowserRegion");
         }
     };
     viewAwareStatus.ViewUnloaded += () => State = Unloaded;
 }
 public MainViewModel(IHRCSaveFileService saveFileService, IViewAwareStatus viewAwareStatus, IMasterDatabaseService database)
 {
     ESME.Globals.SaveFileService = saveFileService;
     ESME.Globals.ViewAwareStatusService = viewAwareStatus;
     ESME.Globals.MasterDatabaseService = database;
     if (!Designer.IsInDesignMode)
     {
         viewAwareStatus.ViewLoaded += () =>
                                           {
                                               TransmissionLossViewModel.RadialViewModel = new RadialViewModel { RadialView = ((Window)viewAwareStatus.View).FindChildren<RadialView>().First() };
                                               TransmissionLossViewModel.SaveFileService = saveFileService;
                                               TransmissionLossViewModel.RadialViewModel.WaitToRenderText = "No Scenario Selected";
                                           };
         viewAwareStatus.ViewActivated += () => ESME.Globals.MasterDatabaseService.Refresh();
     }
 }
        public MainWindowViewModel(IViewAwareStatus viewAwareStatus)
        {
            _viewAwareStatus = viewAwareStatus;
            _viewAwareStatus.ViewLoaded += () =>
            {
                _dispatcher = ((Window)_viewAwareStatus.View).Dispatcher;
                CreateTopLeftSeries();
                CreateTopRightSeries();
                CreateMiddleLeftSeries();
                CreateMiddleRightSeries();
                CreateBottomLeftSeries();
                CreateBottomRightSeries();
#if true
                var timer = new DispatcherTimer(DispatcherPriority.Background, _dispatcher) { Interval = TimeSpan.FromMilliseconds(5) };
                timer.Start();
                timer.Tick += (s, e) =>
                {
                    if (AnimateMiddleLeft)
                    {
                        var selectedSeries = (BarSeriesViewModel)MiddleLeft.DataSeriesCollection[1];
                        var seriesData = (ObservableList<Tuple<double, double>>)selectedSeries.SeriesData;
                        selectedSeries.SeriesName = string.Format("y = {0:0.0} * x", _middleLeftAmplitude);
                        for (var i = 0; i < seriesData.Count; i++) seriesData[i] = Tuple.Create(seriesData[i].Item1, _middleLeftAmplitude * seriesData[i].Item1);
                        selectedSeries = (BarSeriesViewModel)MiddleLeft.DataSeriesCollection[2];
                        seriesData = (ObservableList<Tuple<double, double>>)selectedSeries.SeriesData;
                        selectedSeries.SeriesName = string.Format("y = {0:0.0} * x", -_middleLeftAmplitude);
                        for (var i = 0; i < seriesData.Count; i++) seriesData[i] = Tuple.Create(seriesData[i].Item1, -_middleLeftAmplitude * seriesData[i].Item1);
                        _middleLeftAmplitude += _middleLeftAmplitudeDelta;
                        if (_middleLeftAmplitude > 10) _middleLeftAmplitudeDelta = -1;
                        if (_middleLeftAmplitude < -10) _middleLeftAmplitudeDelta = 1;

                    }
                    if (!AnimateTopLeft) return;
                    for (var seriesIndex = 0; seriesIndex < TopLeft.DataSeriesCollection.Count; seriesIndex++)
                    {
                        var selectedSeries = (LineSeriesViewModel)TopLeft.DataSeriesCollection[seriesIndex];
                        var seriesData = (ObservableList<Tuple<double, double>>)selectedSeries.SeriesData;
                        selectedSeries.SeriesName = string.Format("y = ({0:0.0} * sin(x)) + {1}", _topLeftAmplitude, 11 - seriesIndex);
                        for (var i = 0; i < seriesData.Count; i++) seriesData[i] = Tuple.Create(seriesData[i].Item1, (_topLeftAmplitude * Math.Sin(seriesData[i].Item1)) + (11 - seriesIndex));
                    }
                    _topLeftAmplitude += _topLeftAmplitudeDelta;
                    if (_topLeftAmplitude > 10) _topLeftAmplitudeDelta = -1;
                    if (_topLeftAmplitude < -10) _topLeftAmplitudeDelta = 1;
                };
#endif
            };
        }
        public AddNewUserViewViewModel(IViewAwareStatus viewAwareStatus, IMessageBoxService messageBoxService, IUserService userService, IOpenFileService openFileService)
        {
            this.viewAwareStatus = viewAwareStatus;
            this.messageBoxService = messageBoxService;
            this.userService = userService;
            this.openFileService = openFileService;
            NewUser = new User();
            NewUser.PhotoPath.DataValue = GymSoft.CinchMVVM.Common.GymSoftConfigurationManger.GetDefaultUserPicture().ToString();

            //messageBoxService.ShowInformation(Directory.GetCurrentDirectory());

            //Initialise Commands
            AddNewUserCommand = new SimpleCommand<object, object>(CanAddNewUserCommand, ExecuteAddNewUserCommand);
            CancelAddNewUserCommand = new SimpleCommand<object, object>(ExecuteCancelAddNewUserCommand);
            UploadUserImageCommand = new SimpleCommand<object, object>(CanExecuteUploadUserImageCommand,
                                                                       ExecuteUploadUserImageCommand);
            //this._viewAwareStatus.ViewLoaded += new Action(_viewAwareStatus_ViewLoaded);
        }
        public AddNewUserViewViewModel(IViewAwareStatus viewAwareStatus, IMessageBoxService messageBoxService, IUserService userService, IOpenFileService openFileService)
        {
            this.viewAwareStatus   = viewAwareStatus;
            this.messageBoxService = messageBoxService;
            this.userService       = userService;
            this.openFileService   = openFileService;
            NewUser = new User();
            NewUser.PhotoPath.DataValue = GymSoft.CinchMVVM.Common.GymSoftConfigurationManger.GetDefaultUserPicture().ToString();

            //messageBoxService.ShowInformation(Directory.GetCurrentDirectory());

            //Initialise Commands
            AddNewUserCommand       = new SimpleCommand <object, object>(CanAddNewUserCommand, ExecuteAddNewUserCommand);
            CancelAddNewUserCommand = new SimpleCommand <object, object>(ExecuteCancelAddNewUserCommand);
            UploadUserImageCommand  = new SimpleCommand <object, object>(CanExecuteUploadUserImageCommand,
                                                                         ExecuteUploadUserImageCommand);
            //this._viewAwareStatus.ViewLoaded += new Action(_viewAwareStatus_ViewLoaded);
        }
Ejemplo n.º 28
0
        public MainWindowViewModel(
            IViewAwareStatus viewAwareStatusService,
            IMessageBoxService messageBoxService,
            IUIVisualizerService uiVisualizerService,
            IOpenFileService openFileService,
            ISaveFileService saveFileService,
            ISavePNGFileService savePNGService,
            IPrintPNGFileService printPNGFileService,
            IAssemblyManipulationService assemblyManipulationService
            )
        {
            SettingsViewModel.Instance.SetGraphObject(graphLayout);
            this.assemblyManipulationService = assemblyManipulationService;


            this.viewAwareStatusService             = viewAwareStatusService;
            this.viewAwareStatusService.ViewLoaded += ViewAwareStatusService_ViewLoaded;
            this.messageBoxService   = messageBoxService;
            this.uiVisualizerService = uiVisualizerService;
            this.openFileService     = openFileService;
            this.saveFileService     = saveFileService;
            this.savePNGService      = savePNGService;
            this.printPNGFileService = printPNGFileService;


            //Commands
            SaveSettingsAsXmlCommand  = new SimpleCommand <Object, Object>(ExecuteSaveSettingsAsXmlCommand);
            ShowSettingsWindowCommand = new SimpleCommand <Object, Object>(NotBusyCheck, ExecuteShowSettingsWindowCommand);
            OpenFileCommand           = new SimpleCommand <Object, Object>(NotBusyCheck, ExecuteOpenFileCommand);
            OpenFileDragCommand       = new SimpleCommand <Object, Object>(NotBusyCheck, ExecuteOpenFileDragCommand);
            CommenceDrawingCommand    = new SimpleCommand <Object, Object>(CanExecuteCommenceDrawingCommand, ExecuteCommenceDrawingCommand);
            ReLayoutCommand           = new SimpleCommand <Object, Object>(NotBusyCheckAndNotDrawingAndHasGraphCheck, ExecuteReLayoutCommand);
            SaveCommand      = new SimpleCommand <Object, Object>(NotBusyCheckAndNotDrawingAndHasGraphCheck, ExecuteSaveCommand);
            PrintFileCommand = new SimpleCommand <Object, Object>(NotBusyCheckAndNotDrawingAndHasGraphCheck, ExecutePrintFileCommand);
            ShowSpecificNotAssociatedVertexCommand = new SimpleCommand <Object, Object>(ExecuteShowSpecificNotAssociatedVertexCommand);
            AboutCommand = new SimpleCommand <Object, Object>(NotBusyCheck, ExecuteAboutCommand);
            HelpCommand  = new SimpleCommand <Object, Object>(NotBusyCheck, ExecuteHelpCommand);

            CollapseVertexRegionsCommand = new SimpleCommand <Object, Object>(NotBusyCheckAndNotDrawingAndHasGraphCheck, ExecuteCollapseVertexRegionsCommand);

            Mediator.Instance.Register(this);
        }
        public MainWindowViewModel(IViewAwareStatus viewAwareStatusService)
        {
            ExpandAllCommand = new SimpleCommand <object, EventToCommandArgs>((commandParameter) =>
            {
                TreeModel.ToggleExpanded(this.ItemsSource, true);
            });

            CollapseAllCommand = new SimpleCommand <object, EventToCommandArgs>((commandParameter) =>
            {
                TreeModel.ToggleExpanded(this.ItemsSource, false);
            });

            GetSelectedCommand = new SimpleCommand <object, EventToCommandArgs>((commandParameter) =>
            {
                var selectedNode         = TreeModel.GetSelectedNode(this.ItemsSource);
                this.SelectedDisplayText = selectedNode != null ? selectedNode.DisplayText : "none selected";
            });

            this._viewAwareStatusService             = viewAwareStatusService;
            this._viewAwareStatusService.ViewLoaded += ViewAwareStatusService_ViewLoaded;
        }
Ejemplo n.º 30
0
        /// <summary>
        /// This creates the WPF window from a key.
        /// </summary>
        /// <param name="key">Key</param>
        /// <param name="dataContext">DataContext (state) object</param>
        /// <param name="setOwner">True/False to set ownership to MainWindow</param>
        /// <param name="completedProc">Callback</param>
        /// <param name="isModal">True if this is a ShowDialog request</param>
        /// <returns>Success code</returns>
        private Window CreateWindow(string key, object dataContext, bool setOwner,
                                    EventHandler <UICompletedEventArgs> completedProc, bool isModal)
        {
            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException("key");
            }

            Type winType;

            lock (_registeredWindows)
            {
                if (!_registeredWindows.TryGetValue(key, out winType))
                {
                    return(null);
                }
            }

            var win = (Window)Activator.CreateInstance(winType);

            if (dataContext is IViewStatusAwareInjectionAware)
            {
                IViewAwareStatus viewAwareStatus =
                    ViewModelRepository.Instance.Resolver.Container.GetExport <IViewAwareStatus>().Value;
                viewAwareStatus.InjectContext((FrameworkElement)win);
                ((IViewStatusAwareInjectionAware)dataContext).InitialiseViewAwareService(viewAwareStatus);
            }

            if (dataContext is IViewStatusAwareWindowInjectionAware)
            {
                IViewAwareStatusWindow viewAwareStatusWindow =
                    ViewModelRepository.Instance.Resolver.Container.GetExport <IViewAwareStatusWindow>().Value;
                viewAwareStatusWindow.InjectContext((FrameworkElement)win);
                ((IViewStatusAwareWindowInjectionAware)dataContext).InitialiseViewAwareWindowService(viewAwareStatusWindow);
            }


            win.DataContext = dataContext;


            if (setOwner)
            {
                win.Owner = Application.Current.MainWindow;
            }

            if (dataContext != null)
            {
                var bvm = dataContext as ViewModelBase;
                if (bvm != null)
                {
                    if (isModal)
                    {
                        bvm.CloseRequest += ((EventHandler <CloseRequestEventArgs>)((s, e) =>
                        {
                            try
                            {
                                win.DialogResult = e.Result;
                            }
                            catch (InvalidOperationException)
                            {
                                win.Close();
                            }
                        })).MakeWeak(eh => bvm.CloseRequest -= eh);
                    }
                    else
                    {
                        bvm.CloseRequest += ((EventHandler <CloseRequestEventArgs>)((s, e) => win.Close()))
                                            .MakeWeak(eh => bvm.CloseRequest -= eh);
                    }
                    bvm.ActivateRequest += ((EventHandler <EventArgs>)((s, e) => win.Activate()))
                                           .MakeWeak(eh => bvm.ActivateRequest -= eh);
                }
            }

            win.Closed += (s, e) =>
            {
                win.DataContext = null;
                if (completedProc != null)
                {
                    completedProc(this, new UICompletedEventArgs()
                    {
                        State  = dataContext,
                        Result = (isModal) ? win.DialogResult : null
                    });
                }
            };



            return(win);
        }
 public SimulationLogAnalysisMainViewModel(IViewAwareStatus viewAwareStatus,
                                           IMessageBoxService messageBox,
                                           IUIVisualizerService visualizer,
                                           IHRCSaveFileService saveFile)
 {
     _viewAwareStatus = viewAwareStatus;
     _messageBox = messageBox;
     _visualizer = visualizer;
     _saveFile = saveFile;
     _simulationStartTime = new TimeSpan(0);
     _simulationEndTime = new TimeSpan(0);
     _viewAwareStatus.ViewLoaded += () =>
     {
         _dispatcher = ((Window)_viewAwareStatus.View).Dispatcher;
         SelectedFileName = (string)Application.Current.Properties["SelectedFileName"];
     };
     _propertyObserver = new PropertyObserver<SimulationLogAnalysisMainViewModel>(this)
         .RegisterHandler(p => p.SelectedFileName, SelectedFileNameChanged)
         .RegisterHandler(p => p.AreAnyPlatformsSelected, CommandManager.InvalidateRequerySuggested)
         .RegisterHandler(p => p.AreAnyModesSelected, CommandManager.InvalidateRequerySuggested)
         .RegisterHandler(p => p.AreAnySpeciesSelected, CommandManager.InvalidateRequerySuggested)
         .RegisterHandler(p => p.PerformOurOnlyAnalysis, CommandManager.InvalidateRequerySuggested)
         .RegisterHandler(p => p.StartTimeString, StartOrStopTimeStringsChanged)
         .RegisterHandler(p => p.StopTimeString, StartOrStopTimeStringsChanged)
         .RegisterHandler(p => p.AllTimes,
                          () =>
                          {
                              if (!AllTimes || SelectedFileName == null || !File.Exists(SelectedFileName)) return;
                              _filterStartTime = new TimeSpan(_simulationStartTime.Ticks);
                              _filterEndTime = new TimeSpan(_simulationEndTime.Ticks);
                              StartTimeString = _filterStartTime.ToString(TimeSpanFormatString);
                              StopTimeString = _filterEndTime.ToString(TimeSpanFormatString);
                          });
     AddValidationRules(new ValidationRule<SimulationLogAnalysisMainViewModel>
     {
         PropertyName = "StartTimeString",
         Description = "Must be a valid, non-negative time span value in the format hh:mm:ss where 00 <= hh <= 23; 00 <= mm <= 59; 00 <= ss <= 59",
         IsRuleValid = (target, rule) =>
         {
             if (AllTimes) return true;
             if (string.IsNullOrEmpty(target.StartTimeString)) return false;
             TimeSpan timeSpan;
             var isOK = TimeSpan.TryParseExact(target.StartTimeString, TimeSpanFormatString, null, out timeSpan);
             return isOK && timeSpan.Ticks >= 0;
         },
     }, new ValidationRule<SimulationLogAnalysisMainViewModel>
     {
         PropertyName = "StopTimeString",
         Description = "Must be a valid, non-negative time span value in the format hh:mm:ss where 00 <= hh <= 23; 00 <= mm <= 59; 00 <= ss <= 59",
         IsRuleValid = (target, rule) =>
         {
             if (AllTimes) return true;
             if (string.IsNullOrEmpty(target.StopTimeString)) return false;
             TimeSpan timeSpan;
             var isOK = TimeSpan.TryParseExact(target.StopTimeString, TimeSpanFormatString, null, out timeSpan);
             return isOK && timeSpan.Ticks > 0;
         },
     });
     _startTimeValidationRule = new ValidationRule<SimulationLogAnalysisMainViewModel>
     {
         PropertyName = "StartTimeString",
         Description = string.Format("Must be between {0} and {1}", _simulationStartTime.ToString(TimeSpanFormatString), _filterEndTime.ToString(TimeSpanFormatString)),
         IsRuleValid = (target, rule) =>
         {
             if (AllTimes) return true;
             if (_simulationStartTime.Ticks == 0 && _simulationEndTime.Ticks == 0) return true;
             if (string.IsNullOrEmpty(target.StartTimeString)) return false;
             TimeSpan timeSpan;
             var isOK = TimeSpan.TryParseExact(target.StartTimeString, TimeSpanFormatString, null, out timeSpan);
             return isOK && timeSpan >= _simulationStartTime && timeSpan < _filterEndTime;
         },
     };
     _endTimeValidationRule = new ValidationRule<SimulationLogAnalysisMainViewModel>
     {
         PropertyName = "StopTimeString",
         Description = string.Format("Must be between {0} and {1}", _filterStartTime.ToString(TimeSpanFormatString), _simulationEndTime.ToString(TimeSpanFormatString)),
         IsRuleValid = (target, rule) =>
         {
             if (AllTimes) return true;
             if (_simulationStartTime.Ticks == 0 && _simulationEndTime.Ticks == 0) return true;
             if (string.IsNullOrEmpty(target.StopTimeString)) return false;
             TimeSpan timeSpan;
             var isOK = TimeSpan.TryParseExact(target.StopTimeString, TimeSpanFormatString, null, out timeSpan);
             return isOK && timeSpan > _filterStartTime && timeSpan <= _simulationEndTime;
         },
     };
     AddValidationRules(_startTimeValidationRule, _endTimeValidationRule);
 }
        public LoginViewViewModel(IViewAwareStatus viewAwareStatus, IAuthenticateService authenticateService,
                                  IMessageBoxService messageBoxService, IBusinessUnitService businessUnitService, IViewInjectionService viewInjectionService)
        {
            //base.IsCloseable = true;
            //Initialise Services
            this.viewAwareStatus = viewAwareStatus;
            this.authenticateService = authenticateService;
            this.messageBoxService = messageBoxService;
            this.businessUnitService = businessUnitService;
            this.viewInjectionService = viewInjectionService;
            //this.regionManager = regionManager;
            //Initialise Properties
            UserName = new DataWrapper<string>(this, userNameArgs);
            Password = new DataWrapper<string>(this, passwordArgs);
            SelectedBusinessUnit = new DataWrapper<Int32>(this, businessUnitsArgs);
            this.viewAwareStatus.ViewLoaded += new Action(viewAwareStatus_ViewLoaded);

            cachedListOfDataWrappers =
                DataWrapperHelper.GetWrapperProperties<LoginViewViewModel>(this);

            //Register Mediator
            Mediator.Instance.Register(this);

            //Initialise Rules
            userName.AddRule(UserNameCannnotBeEmptyRule);
            password.AddRule(PasswordCannotBeEmptyRule);
            selectedBusinessUnit.AddRule(SelectedBusinessUnitCannotBeEmpty);

            //Initialise Commands
            LoginCommand = new SimpleCommand<object, object>(CanExecuteLoginCommand, ExecuteLoginCommand);
            CancelLoginCommand = new SimpleCommand<object, object>(ExecuteCancelLoginCommand);
        }
Ejemplo n.º 33
0
        public SettingsViewModel(IViewAwareStatus viewAwareStatus)
        {
            _viewAwareStatus = viewAwareStatus;
            _themeList       = new System.Collections.ObjectModel.ObservableCollection <ThemeListItem>();
            foreach (var theme in ControlzEx.Theming.ThemeManager.Current.Themes.OrderBy(t => t.DisplayName))
            {
                _themeList.Add(new ThemeListItem()
                {
                    Name = theme.DisplayName, Value = theme.Name
                });
            }

            _modeList = new ObservableCollection <ModeListItem>();
            _modeList.Add(new ModeListItem()
            {
                Mode = Common.RadioLogMode.Normal, ModeName = "Normal"
            });
            _modeList.Add(new ModeListItem()
            {
                Mode = Common.RadioLogMode.Fireground, ModeName = "Fireground"
            });

            _displayList = new ObservableCollection <DisplayStyleListItem>();
            _displayList.Add(new DisplayStyleListItem()
            {
                DisplayName = "Tabbed Interface", DisplayStyle = Common.DisplayStyle.TabbedInterface
            });
            _displayList.Add(new DisplayStyleListItem()
            {
                DisplayName = "Grid Interface", DisplayStyle = Common.DisplayStyle.GridsOnlyInterface
            });
            _displayList.Add(new DisplayStyleListItem()
            {
                DisplayName = "All-in-One", DisplayStyle = Common.DisplayStyle.AllInOne
            });
            _displayList.Add(new DisplayStyleListItem()
            {
                DisplayName = "Grids and Auto-Open Sources", DisplayStyle = Common.DisplayStyle.GridsAutoOpenSources
            });
            _displayList.Add(new DisplayStyleListItem()
            {
                DisplayName = "Column Interface", DisplayStyle = Common.DisplayStyle.Columns
            });

            _viewSizeList = new ObservableCollection <ViewSizeListItem>();
            _viewSizeList.Add(new ViewSizeListItem()
            {
                Value = Common.ProcessorViewSize.Normal, Name = "Normal"
            });
            _viewSizeList.Add(new ViewSizeListItem()
            {
                Value = Common.ProcessorViewSize.Small, Name = "Small"
            });
            _viewSizeList.Add(new ViewSizeListItem()
            {
                Value = Common.ProcessorViewSize.Wide, Name = "Wide"
            });
            _viewSizeList.Add(new ViewSizeListItem()
            {
                Value = Common.ProcessorViewSize.ExtraWide, Name = "Extra Wide"
            });

            _fileBitsPerSampleList = new ObservableCollection <IntListItem>();
            _fileBitsPerSampleList.Add(new IntListItem()
            {
                Value = 8, Name = "8-bits"
            });
            _fileBitsPerSampleList.Add(new IntListItem()
            {
                Value = 16, Name = "16-bits"
            });
            _fileBitsPerSampleList.Add(new IntListItem()
            {
                Value = 24, Name = "24-bits"
            });
            _fileBitsPerSampleList.Add(new IntListItem()
            {
                Value = 32, Name = "32-bits"
            });

            _fileRecordingRateList = new ObservableCollection <IntListItem>();
            _fileRecordingRateList.Add(new IntListItem()
            {
                Value = 8000, Name = "8000Hz"
            });
            _fileRecordingRateList.Add(new IntListItem()
            {
                Value = 16000, Name = "16000Hz"
            });
            _fileRecordingRateList.Add(new IntListItem()
            {
                Value = 22050, Name = "22050Hz"
            });
            _fileRecordingRateList.Add(new IntListItem()
            {
                Value = 32000, Name = "32000Hz"
            });
            _fileRecordingRateList.Add(new IntListItem()
            {
                Value = 44100, Name = "44100Hz"
            });
            _fileRecordingRateList.Add(new IntListItem()
            {
                Value = 48000, Name = "48000Hz"
            });
            _fileRecordingRateList.Add(new IntListItem()
            {
                Value = 88200, Name = "88200Hz"
            });
            _fileRecordingRateList.Add(new IntListItem()
            {
                Value = 96000, Name = "96000Hz"
            });
        }
Ejemplo n.º 34
0
 public void InitialiseViewAwareService(IViewAwareStatus view)
 {
     view.Loaded   += OnLoaded;
     view.Unloaded += OnUnloaded;
 }
 public void InitialiseViewAwareService(IViewAwareStatus viewAwareStatusService)
 {
     viewAwareStatusService.ViewLoaded += BeginEdit;
 }
 public UserDetailViewViewModel(IMessageBoxService messageBoxService, IViewAwareStatus viewAwareStatus)
 {
     this.messageBoxService = messageBoxService;
     this.viewAwareStatus = viewAwareStatus;
     this.viewAwareStatus.ViewLoaded += new Action(viewAwareStatus_ViewLoaded);
 }
Ejemplo n.º 37
0
        public SettingsViewModel(IViewAwareStatus viewAwareStatus)
        {
            _viewAwareStatus = viewAwareStatus;
            _themeList = new System.Collections.ObjectModel.ObservableCollection<ThemeListItem>();
            foreach (MahApps.Metro.AppTheme theme in MahApps.Metro.ThemeManager.AppThemes)
            {
                string themeName = theme.Name;
                if (themeName.StartsWith("Base"))
                    themeName = themeName.Substring(4);
                _themeList.Add(new ThemeListItem() { Name = themeName, Value = theme.Name });
            }

            _accentList = new System.Collections.ObjectModel.ObservableCollection<string>();
            foreach (MahApps.Metro.Accent accent in MahApps.Metro.ThemeManager.Accents.OrderBy(a => a.Name))
            {
                _accentList.Add(accent.Name);
            }

            _modeList = new ObservableCollection<ModeListItem>();
            _modeList.Add(new ModeListItem() { Mode = Common.RadioLogMode.Normal, ModeName = "Normal" });
            _modeList.Add(new ModeListItem() { Mode = Common.RadioLogMode.Fireground, ModeName = "Fireground" });

            _displayList = new ObservableCollection<DisplayStyleListItem>();
            _displayList.Add(new DisplayStyleListItem() { DisplayName = "Tabbed Interface", DisplayStyle = Common.DisplayStyle.TabbedInterface });
            _displayList.Add(new DisplayStyleListItem() { DisplayName = "Grid Interface", DisplayStyle = Common.DisplayStyle.GridsOnlyInterface });
            _displayList.Add(new DisplayStyleListItem() { DisplayName = "All-in-One", DisplayStyle = Common.DisplayStyle.AllInOne });
            _displayList.Add(new DisplayStyleListItem() { DisplayName = "Grids and Auto-Open Sources", DisplayStyle = Common.DisplayStyle.GridsAutoOpenSources });
            _displayList.Add(new DisplayStyleListItem() { DisplayName = "Column Interface", DisplayStyle = Common.DisplayStyle.Columns });

            _viewSizeList = new ObservableCollection<ViewSizeListItem>();
            _viewSizeList.Add(new ViewSizeListItem() { Value = Common.ProcessorViewSize.Normal, Name = "Normal" });
            _viewSizeList.Add(new ViewSizeListItem() { Value = Common.ProcessorViewSize.Small, Name = "Small" });
            _viewSizeList.Add(new ViewSizeListItem() { Value = Common.ProcessorViewSize.Wide, Name = "Wide" });
            _viewSizeList.Add(new ViewSizeListItem() { Value = Common.ProcessorViewSize.ExtraWide, Name = "Extra Wide" });

            _fileBitsPerSampleList = new ObservableCollection<IntListItem>();
            _fileBitsPerSampleList.Add(new IntListItem() { Value = 8, Name = "8-bits" });
            _fileBitsPerSampleList.Add(new IntListItem() { Value = 16, Name = "16-bits" });
            _fileBitsPerSampleList.Add(new IntListItem() { Value = 24, Name = "24-bits" });
            _fileBitsPerSampleList.Add(new IntListItem() { Value = 32, Name = "32-bits" });

            _fileRecordingRateList = new ObservableCollection<IntListItem>();
            _fileRecordingRateList.Add(new IntListItem() { Value = 8000, Name = "8000Hz" });
            _fileRecordingRateList.Add(new IntListItem() { Value = 16000, Name = "16000Hz" });
            _fileRecordingRateList.Add(new IntListItem() { Value = 22050, Name = "22050Hz" });
            _fileRecordingRateList.Add(new IntListItem() { Value = 32000, Name = "32000Hz" });
            _fileRecordingRateList.Add(new IntListItem() { Value = 44100, Name = "44100Hz" });
            _fileRecordingRateList.Add(new IntListItem() { Value = 48000, Name = "48000Hz" });
            _fileRecordingRateList.Add(new IntListItem() { Value = 88200, Name = "88200Hz" });
            _fileRecordingRateList.Add(new IntListItem() { Value = 96000, Name = "96000Hz" });
        }
Ejemplo n.º 38
0
        public MainViewModel(IViewAwareStatus viewAwareStatus)
        {
            if (MEFedMVVM.Common.Designer.IsInDesignMode)
                return;

            _tAudioCheck = new System.Threading.Thread(() =>
            {
                while (_shouldRunThreads)
                {
                    foreach (SourceGroupModel grp in SignalGroups)
                    {
                        grp.UpdateHasAudio();
                    }
                    System.Threading.Thread.Sleep(1500);
                }
            });
            _tAudioCheck.IsBackground = true;
            _tAudioCheck.Name = "Audio Check Thread";

            if (Common.AppSettings.Instance.UseGroups)
            {
                foreach (Common.SignalGroup grp in Common.AppSettings.Instance.SignalGroups)
                {
                    AddSignalGroupToList(grp);
                }
            }
            else
            {
                Common.SignalGroup mainGroup = Common.AppSettings.Instance.SignalGroups.FirstOrDefault(g => g.GroupId == Guid.Empty);
                if (mainGroup != null)
                {
                    AddSignalGroupToList(mainGroup);
                }
            }

            _viewStatus = viewAwareStatus;
            _viewStatus.ViewLoaded += viewAwareStatus_ViewLoaded;
            Cinch.Mediator.Instance.RegisterHandler<Common.SignalSourceGroupChangeHolder>("SOURCE_GROUP_CHANGE", ProcessSourceGroupChange);
            Cinch.Mediator.Instance.RegisterHandler<Common.SignalSource>("NEW_SIGNAL_SOURCE", ProcessNewSignalSource);
            Cinch.Mediator.Instance.RegisterHandler<Guid>("DELETE_SIGNAL_SOURCE", ProcessRemoveSignalSource);
            Cinch.Mediator.Instance.RegisterHandler<Guid>("UPDATE_SIGNAL_SOURCE", ProcessRefreshSignalSource);
            Cinch.Mediator.Instance.RegisterHandler<Guid>("GROUP_CHANGED", ProcessGroupUpdated);
            Cinch.Mediator.Instance.RegisterHandler<Guid>("GROUP_DELETED", ProcessGroupDeleted);
            Cinch.Mediator.Instance.RegisterHandler<Common.SignalGroup>("NEW_GROUP_ADDED", ProcessGroupAdded);
            Cinch.Mediator.Instance.RegisterHandler<Guid>("TOGGLE_SOURCE_MUTE_OTHERS", ProcessToggleSourceMuteOthers);
            Cinch.Mediator.Instance.RegisterHandler<Guid>("END_IF_NON_MUTED_SOURCE", ProcessShutdownSourceMuteOthers);
            Cinch.Mediator.Instance.RegisterHandler<bool>("AUDIO_MUTE_STATE_CHANGED", ProcessAudioMuteStateChanged);

            Cinch.Mediator.Instance.RegisterHandler<bool>("REFRESH_RADIO_LOOKUPS", (b) =>
            {
                foreach (RadioSignalItemModel rSig in RadioLog) { rSig.UpdateLookups(); }
                foreach (EmergencyRadioSignalItemModel eSig in EmergencyRadioLog) { eSig.UpdateLookups(); }
            });
            Cinch.Mediator.Instance.RegisterHandler<bool>("SETTINGS_CHANGED", (b) =>
            {
                GridFontSize = Common.AppSettings.Instance.GridFontSize;
                GridSmallFontSize = Common.AppSettings.Instance.GridFontSize - 4;
                GridLargeFontSize = Common.AppSettings.Instance.GridFontSize + 4;
                foreach (SourceGroupModel grp in _signalGroups)
                {
                    grp.UpdateForSystemSettingsChanged();
                }
            });

            UpdateEmergencyAlarmSoundPlayer();
        }
Ejemplo n.º 39
0
 public OtherMeetViewModel(IMessageBoxService messageBoxService, IViewAwareStatus viewAwareStatus)
 {
     this.messageBoxService = messageBoxService;
     this.viewAwareStatus = viewAwareStatus;
     this.viewAwareStatus.ViewLoaded += ViewAwareStatus_ViewLoaded;
 }
Ejemplo n.º 40
0
        /// <summary>
        /// This creates the SL ChildWindow from a key.
        /// </summary>
        /// <param name="key">Key</param>
        /// <param name="dataContext">DataContext (state) object</param>
        /// <param name="completedProc">Callback used when UI closes (may be null)</param>
        /// <returns>ChildWindow</returns>
        private ChildWindow CreateChildWindow(string key, object dataContext,
                                              EventHandler <UICompletedEventArgs> completedProc)
        {
            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException("key");
            }

            Type winType;

            lock (_registeredWindows)
            {
                if (!_registeredWindows.TryGetValue(key, out winType))
                {
                    return(null);
                }
            }

            var win = (ChildWindow)Activator.CreateInstance(winType);

            if (dataContext is IViewStatusAwareInjectionAware)
            {
                IViewAwareStatus viewAwareStatus =
                    ViewModelRepository.Instance.Resolver.Container.GetExport <IViewAwareStatus>().Value;
                viewAwareStatus.InjectContext((FrameworkElement)win);
                ((IViewStatusAwareInjectionAware)dataContext).InitialiseViewAwareService(viewAwareStatus);
            }


            win.DataContext = dataContext;
            ViewModelBase bvm = null;

            EventHandler <CloseRequestEventArgs> handler = ((s, e) =>
            {
                try
                {
                    win.DialogResult = e.Result;
                }
                catch (InvalidOperationException)
                {
                    win.Close();
                }
            });


            if (dataContext != null)
            {
                bvm = dataContext as ViewModelBase;
                if (bvm != null)
                {
                    bvm.CloseRequest += handler;
                }
            }


            win.Closed += (s, e) =>
            {
                bvm.CloseRequest -= handler;
                win.DataContext   = dataContext;

                if (completedProc != null)
                {
                    completedProc(this, new UICompletedEventArgs()
                    {
                        State  = dataContext,
                        Result = win.DialogResult
                    });

                    GC.Collect();
                }
            };

            return(win);
        }
        public MainViewModel(IViewAwareStatus viewAwareStatus,
                             IMasterDatabaseService database,
                             IMessageBoxService messageBox,
                             IUIVisualizerService visualizer,
                             IHRCSaveFileService saveFile,
                             IHRCOpenFileService openFile,
                             TransmissionLossCalculatorService transmissionLoss,
                             IPluginManagerService plugins,
                             EnvironmentalCacheService cache)
        {
            try
            {
                Mediator.Instance.Register(this);
            }
            catch (Exception ex)
            {
                Debug.WriteLine("***********\nMainViewModel: Mediator registration failed: " + ex.Message + "\n***********");
                throw;
            }
            Cursor = Cursors.Arrow;

            ESME.Data.AppSettings.ApplicationName = App.Name;
            Globals.AppSettings = ESME.Data.AppSettings.Load(ESME.Data.AppSettings.AppSettingsFile);
            Globals.AppSettings.Save();

            Globals.PluginManagerService = plugins;
            Globals.TransmissionLossCalculatorService = transmissionLoss;
            Globals.MasterDatabaseService = database;
            Globals.VisualizerService = visualizer;
            Globals.SaveFileService = saveFile;
            Globals.OpenFileService = openFile;
            Globals.EnvironmentalCacheService = cache;
            Globals.ViewAwareStatusService = viewAwareStatus;
            Globals.MessageBoxService = messageBox;

            MapViewModel = new MapViewModel(this);

            Globals.TransmissionLossCalculatorService.WorkQueue.PropertyChanged +=
                (s, e) =>
                {
                    if (e.PropertyName == "Count")
                    {
                        TransmissionLossActivity = Globals.TransmissionLossCalculatorService.WorkQueue.Keys.Count > 0
                            ? string.Format("Acoustic Simulator: {0} items", Globals.TransmissionLossCalculatorService.WorkQueue.Keys.Count)
                            : "Acoustic Simulator: idle";
                        // Debug.WriteLine(string.Format("TransmissionLossActivity: {0}", TransmissionLossActivity));
                        var isBusy = Globals.TransmissionLossCalculatorService.WorkQueue.Keys.Count > 0;
                        IsTransmissionLossBusy = isBusy;
                        if (!isBusy && IsSaveSampleDataRequested)
                        {
                            Globals.MasterDatabaseService.SaveChanges();
                            IsSaveSampleDataRequested = false;
                        }

                    }
                };

            if (Designer.IsInDesignMode) return;

            Globals.ViewAwareStatusService.ViewLoaded += ViewLoaded;
            //_appTracker = new ApplicationTracker("UA-44329261-1", "TestWPFApp");
            //_appTracker.StartSession();
            //_appTracker.TrackEvent(ApplicationTrackerCategories.Command, "ApplicationStartup");
        }
 public void InitialiseViewAwareService(IViewAwareStatus viewAwareStatusService)
 {
     this.ViewAwareStatusService             = viewAwareStatusService;
     this.ViewAwareStatusService.ViewLoaded += ViewAwareStatusService_ViewLoaded;
 }
Ejemplo n.º 43
0
        public MainViewModel(IViewAwareStatus viewAwareStatus)
        {
            if (MEFedMVVM.Common.Designer.IsInDesignMode)
            {
                return;
            }

            _tAudioCheck = new System.Threading.Thread(() =>
            {
                while (_shouldRunThreads)
                {
                    foreach (SourceGroupModel grp in SignalGroups)
                    {
                        grp.UpdateHasAudio();
                    }
                    System.Threading.Thread.Sleep(1500);
                }
            });
            _tAudioCheck.IsBackground = true;
            _tAudioCheck.Name         = "Audio Check Thread";

            if (Common.AppSettings.Instance.UseGroups)
            {
                foreach (Common.SignalGroup grp in Common.AppSettings.Instance.SignalGroups)
                {
                    AddSignalGroupToList(grp);
                }
            }
            else
            {
                Common.SignalGroup mainGroup = Common.AppSettings.Instance.SignalGroups.FirstOrDefault(g => g.GroupId == Guid.Empty);
                if (mainGroup != null)
                {
                    AddSignalGroupToList(mainGroup);
                }
            }

            _viewStatus             = viewAwareStatus;
            _viewStatus.ViewLoaded += viewAwareStatus_ViewLoaded;
            Cinch.Mediator.Instance.RegisterHandler <Common.SignalSourceGroupChangeHolder>("SOURCE_GROUP_CHANGE", ProcessSourceGroupChange);
            Cinch.Mediator.Instance.RegisterHandler <Common.SignalSource>("NEW_SIGNAL_SOURCE", ProcessNewSignalSource);
            Cinch.Mediator.Instance.RegisterHandler <Guid>("DELETE_SIGNAL_SOURCE", ProcessRemoveSignalSource);
            Cinch.Mediator.Instance.RegisterHandler <Guid>("UPDATE_SIGNAL_SOURCE", ProcessRefreshSignalSource);
            Cinch.Mediator.Instance.RegisterHandler <Guid>("GROUP_CHANGED", ProcessGroupUpdated);
            Cinch.Mediator.Instance.RegisterHandler <Guid>("GROUP_DELETED", ProcessGroupDeleted);
            Cinch.Mediator.Instance.RegisterHandler <Common.SignalGroup>("NEW_GROUP_ADDED", ProcessGroupAdded);
            Cinch.Mediator.Instance.RegisterHandler <Guid>("TOGGLE_SOURCE_MUTE_OTHERS", ProcessToggleSourceMuteOthers);
            Cinch.Mediator.Instance.RegisterHandler <Guid>("END_IF_NON_MUTED_SOURCE", ProcessShutdownSourceMuteOthers);
            Cinch.Mediator.Instance.RegisterHandler <bool>("AUDIO_MUTE_STATE_CHANGED", ProcessAudioMuteStateChanged);

            Cinch.Mediator.Instance.RegisterHandler <bool>("REFRESH_RADIO_LOOKUPS", (b) =>
            {
                foreach (RadioSignalItemModel rSig in RadioLog)
                {
                    rSig.UpdateLookups();
                }
                foreach (EmergencyRadioSignalItemModel eSig in EmergencyRadioLog)
                {
                    eSig.UpdateLookups();
                }
            });
            Cinch.Mediator.Instance.RegisterHandler <bool>("SETTINGS_CHANGED", (b) =>
            {
                GridFontSize      = Common.AppSettings.Instance.GridFontSize;
                GridSmallFontSize = Common.AppSettings.Instance.GridFontSize - 4;
                GridLargeFontSize = Common.AppSettings.Instance.GridFontSize + 4;
                foreach (SourceGroupModel grp in _signalGroups)
                {
                    grp.UpdateForSystemSettingsChanged();
                }
            });

            UpdateEmergencyAlarmSoundPlayer();
        }
Ejemplo n.º 44
0
 public UserDetailViewViewModel(IMessageBoxService messageBoxService, IViewAwareStatus viewAwareStatus)
 {
     this.messageBoxService           = messageBoxService;
     this.viewAwareStatus             = viewAwareStatus;
     this.viewAwareStatus.ViewLoaded += new Action(viewAwareStatus_ViewLoaded);
 }
 public void InitialiseViewAwareService(IViewAwareStatus viewAwareStatusService)
 { }
Ejemplo n.º 46
0
 public MainWindowViewModel(IViewAwareStatus viewAwareStatusService, IMessageBoxService messageBoxService)
 {
     this.viewAwareStatusService             = viewAwareStatusService;
     this.viewAwareStatusService.ViewLoaded += ViewAwareStatusService_ViewLoaded;
     this.messageBoxService = messageBoxService;
 }