public PrintJobViewModel(ISettingsManager settingsManager, IJobInfoQueue jobInfoQueue, ITranslator translator, DragAndDropEventHandler dragAndDrop, IInteractionInvoker interactionInvoker, IUserGuideHelper userGuideHelper, ApplicationNameProvider applicationNameProvider) { Title = applicationNameProvider.ApplicationName; _currentThreadDispatcher = Dispatcher.CurrentDispatcher; _translator = translator; _dragAndDrop = dragAndDrop; _interactionInvoker = interactionInvoker; _userGuideHelper = userGuideHelper; _settingsManager = settingsManager; _jobInfoQueue = jobInfoQueue; _jobInfoQueue.OnNewJobInfo += OnNewJobInfo; _settingsProvider = settingsManager.GetSettingsProvider(); SaveCommand = new DelegateCommand(ExecuteSave); EmailCommand = new DelegateCommand(ExecuteMail); ManagePrintJobsCommand = new DelegateCommand(ExecuteManagePrintJobs); ShowSettingsCommand = new DelegateCommand(ExecuteShowSettings); WindowClosingCommand = new DelegateCommand(OnWindowClosing); DragEnterCommand = new DelegateCommand <DragEventArgs>(OnDragEnter); DropCommand = new DelegateCommand <DragEventArgs>(OnDrop); KeyDownCommand = new DelegateCommand <KeyEventArgs>(OnKeyDown); }
public ManagePrintJobsViewModel(IJobInfoQueue jobInfoQueue, DragAndDropEventHandler dragAndDrop, IJobInfoManager jobInfoManager, IDispatcher dispatcher, ITranslationUpdater translationUpdater, ApplicationNameProvider applicationNameProvider) : base(translationUpdater) { _jobInfoQueue = jobInfoQueue; _dragAndDrop = dragAndDrop; _jobInfoManager = jobInfoManager; _dispatcher = dispatcher; _applicationNameProvider = applicationNameProvider; _jobInfoQueue.OnNewJobInfo += OnNewJobInfo; ListSelectionChangedCommand = new DelegateCommand(ListSelectionChanged); DeleteJobCommand = new DelegateCommand(ExecuteDeleteJob); MergeJobsCommand = new DelegateCommand(ExecuteMergeJobs, CanExecuteMergeJobs); MergeAllJobsCommand = new DelegateCommand(ExecuteMergeAllJobs, CanExecuteMergeAllJobs); DoNothingCommand = new DelegateCommand(o => { }, CanExecuteMergeAllJobs); WindowClosedCommand = new DelegateCommand(OnWindowClosed); WindowActivatedCommand = new DelegateCommand(OnWindowActivated); DragEnterCommand = new DelegateCommand <DragEventArgs>(OnDragEnter); DropCommand = new DelegateCommand <DragEventArgs>(OnDrop); KeyDownCommand = new DelegateCommand <KeyEventArgs>(OnKeyDown); SortCommand = new DelegateCommand(o => OnSortCommand(MergeSortingEnum.AlphabeticalDescending)); SetupSortCommands(); _synchronizedJobs = new Helper.SynchronizedCollection <JobInfo>(_jobInfoQueue.JobInfos); _jobInfos = _synchronizedJobs.ObservableCollection; JobInfos = new CollectionView(_jobInfos); JobListSelectionChanged = new DelegateCommand(ListItemChange); }
public ManagePrintJobsViewModel(IJobInfoQueue jobInfoQueue, DragAndDropEventHandler dragAndDrop, IJobInfoManager jobInfoManager, IDispatcher dispatcher, ManagePrintJobsWindowTranslation translation) { _jobInfoQueue = jobInfoQueue; _dragAndDrop = dragAndDrop; _jobInfoManager = jobInfoManager; _dispatcher = dispatcher; _translation = translation; _jobInfoQueue.OnNewJobInfo += OnNewJobInfo; ListSelectionChangedCommand = new DelegateCommand(ListSelectionChanged); DeleteJobCommand = new DelegateCommand(ExecuteDeleteJob, CanExecuteDeleteJob); MergeJobsCommand = new DelegateCommand(ExecuteMergeJobs, CanExecuteMergeJobs); MergeAllJobsCommand = new DelegateCommand(ExecuteMergeAllJobs, CanExecuteMergeAllJobs); MoveUpCommand = new DelegateCommand(ExecuteMoveUp, CanExecuteMoveUp); MoveDownCommand = new DelegateCommand(ExecuteMoveDown, CanExecuteMoveDown); WindowClosedCommand = new DelegateCommand(OnWindowClosed); WindowActivatedCommand = new DelegateCommand(OnWindowActivated); DragEnterCommand = new DelegateCommand <DragEventArgs>(OnDragEnter); DropCommand = new DelegateCommand <DragEventArgs>(OnDrop); KeyDownCommand = new DelegateCommand <KeyEventArgs>(OnKeyDown); _jobInfos = new ObservableCollection <JobInfo>(); JobInfos = new CollectionView(_jobInfos); JobListSelectionChanged = new DelegateCommand(ListItemCHange); foreach (var jobInfo in _jobInfoQueue.JobInfos) { AddJobInfo(jobInfo); } }
public ManagePrintJobsViewModel(IJobInfoQueue jobInfoQueue, DragAndDropEventHandler dragAndDrop, IJobInfoManager jobInfoManager, IDispatcher dispatcher, ITranslationUpdater translationUpdater) { _jobInfoQueue = jobInfoQueue; _dragAndDrop = dragAndDrop; _jobInfoManager = jobInfoManager; _dispatcher = dispatcher; _jobInfoQueue.OnNewJobInfo += OnNewJobInfo; ListSelectionChangedCommand = new DelegateCommand(ListSelectionChanged); DeleteJobCommand = new DelegateCommand(ExecuteDeleteJob); MergeJobsCommand = new DelegateCommand(ExecuteMergeJobs, CanExecuteMergeJobs); MergeAllJobsCommand = new DelegateCommand(ExecuteMergeAllJobs, CanExecuteMergeAllJobs); WindowClosedCommand = new DelegateCommand(OnWindowClosed); WindowActivatedCommand = new DelegateCommand(OnWindowActivated); DragEnterCommand = new DelegateCommand <DragEventArgs>(OnDragEnter); DropCommand = new DelegateCommand <DragEventArgs>(OnDrop); KeyDownCommand = new DelegateCommand <KeyEventArgs>(OnKeyDown); var synchronizedJobs = new Helper.SynchronizedCollection <JobInfo>(_jobInfoQueue.JobInfos); _jobInfos = synchronizedJobs.ObservableCollection; JobInfos = new CollectionView(_jobInfos); JobListSelectionChanged = new DelegateCommand(ListItemChange); translationUpdater.RegisterAndSetTranslation(tf => Translation = tf.UpdateOrCreateTranslation(Translation)); }
public void Setup() { _wasCalled = false; _queueStub = Substitute.For <IJobInfoQueue>(); _dragDrop = new DragAndDropEventHandler(Substitute.For <IFileConversionAssistant>()); _jobInfoManager = Substitute.For <IJobInfoManager>(); _dispatcher = new InvokeImmediatelyDispatcher(); _jobInfoStub = new JobInfo(); }
public void Setup() { _jobList = new List <JobInfo>(); _jobInfoQueue = MockRepository.GenerateStub <IJobInfoQueue>(); _dragAndDrop = new DragAndDropEventHandler(MockRepository.GenerateStub <IFileConversionHandler>()); _jobInfoManager = MockRepository.GenerateStub <IJobInfoManager>(); _jobInfoQueue.Stub(x => x.JobInfos).Return(_jobList); _eventWasRaised = false; _model = new ManagePrintJobsViewModel(_jobInfoQueue, _dragAndDrop, _jobInfoManager); }
public void Setup() { _jobList = new List <JobInfo> { new JobInfo(), new JobInfo(), new JobInfo() }; _jobInfoQueue = Substitute.For <IJobInfoQueue>(); _dragAndDrop = new DragAndDropEventHandler(Substitute.For <IFileConversionAssistant>()); _jobInfoManager = Substitute.For <IJobInfoManager>(); _dispatcher = new InvokeImmediatelyDispatcher(); _jobInfoQueue.JobInfos.Returns(_jobList); _eventWasRaised = false; _jobInfoStub = new JobInfo(); _model = new ManagePrintJobsViewModel(_jobInfoQueue, _dragAndDrop, _jobInfoManager, _dispatcher, new DesignTimeTranslationUpdater(), new DesignTimeApplicationNameProvider()); }
public void RemoveListener(View targetView, DragAndDropEventHandler callback) { if (!targetEventDictionary.ContainsKey(targetView)) { throw new InvalidOperationException("Fail to RemoveListener"); } InternalDragAndDropEventHandler cb = targetEventDictionary[targetView]; targetEventDictionary.Remove(targetView); if (!Interop.DragAndDrop.RemoveListener(SwigCPtr, View.getCPtr(targetView), new global::System.Runtime.InteropServices.HandleRef(this, Marshal.GetFunctionPointerForDelegate <Delegate>(cb)))) { throw new InvalidOperationException("Fail to RemoveListener"); } }
public void AddListener(View targetView, DragAndDropEventHandler callback) { InternalDragAndDropEventHandler cb = (dragEvent) => { DragType type = (DragType)Interop.DragAndDrop.GetAction(dragEvent); DragEvent ev = new DragEvent(); global::System.IntPtr cPtr = Interop.DragAndDrop.GetPosition(dragEvent); ev.Position = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false); if (type == DragType.Enter) { ev.DragType = type; callback(targetView, ev); } else if (type == DragType.Leave) { ev.DragType = type; callback(targetView, ev); } else if (type == DragType.Move) { ev.DragType = type; callback(targetView, ev); } else if (type == DragType.Drop) { ev.DragType = type; ev.MimeType = Interop.DragAndDrop.GetMimeType(dragEvent); ev.Data = Interop.DragAndDrop.GetData(dragEvent); callback(targetView, ev); } }; targetEventDictionary.Add(targetView, cb); if (!Interop.DragAndDrop.AddListener(SwigCPtr, View.getCPtr(targetView), new global::System.Runtime.InteropServices.HandleRef(this, Marshal.GetFunctionPointerForDelegate <Delegate>(cb)))) { throw new InvalidOperationException("Fail to AddListener"); } }
public MainShellViewModel(DragAndDropEventHandler dragAndDrop, ITranslationUpdater translation, ApplicationNameProvider applicationName, IInteractionRequest interactionRequest, IEventAggregator aggregator, ICommandLocator commandLocator, IDispatcher dispatcher, IRegionManager regionManager, IWelcomeSettingsHelper welcomeSettingsHelper, IGpoSettings gpoSettings, IUpdateAssistant updateAssistant, IEventAggregator eventAggregator) : base(translation) { _aggregator = aggregator; ApplicationName = applicationName; InteractionRequest = interactionRequest; _dispatcher = dispatcher; _regionManager = regionManager; _welcomeSettingsHelper = welcomeSettingsHelper; ShowUpdate = updateAssistant.IsUpdateAvailable(); GpoSettings = gpoSettings; NavigateCommand = commandLocator?.CreateMacroCommand() .AddCommand <EvaluateSettingsAndNotifyUserCommand>() .AddCommand <SaveChangedSettingsCommand>() .AddCommand <NavigateToMainTabCommand>() .Build(); CloseCommand = commandLocator?.CreateMacroCommand() .AddCommand <EvaluateSettingsAndNotifyUserCommand>() .AddCommand <SaveChangedSettingsCommand>() .Build(); DragEnterCommand = new DelegateCommand <DragEventArgs>(dragAndDrop.HandleDragEnter); DragDropCommand = new DelegateCommand <DragEventArgs>(dragAndDrop.HandleDropEvent); aggregator.GetEvent <NavigateToHomeEvent>().Subscribe(OnSettingsChanged); aggregator.GetEvent <NavigateMainTabEvent>().Subscribe(OnMainShellNavigated); aggregator.GetEvent <ForceMainShellNavigation>().Subscribe(OnForcedNavigation); aggregator.GetEvent <CloseMainWindowEvent>().Subscribe(OnCloseMainWindow); ShowUpdate = updateAssistant.ShowUpdate; eventAggregator.GetEvent <SetShowUpdateEvent>().Subscribe(value => { ShowUpdate = updateAssistant.ShowUpdate; }, true); }
public MainWindowViewModel(ISettingsManager settingsManager, IInteractionInvoker interactionInvoker, IUserGuideHelper userGuideHelper, IVersionHelper versionHelper, DragAndDropEventHandler dragAndDrop, WelcomeCommand welcomeCommand, ApplicationNameProvider applicationNameProvider) { _settingsManager = settingsManager; _interactionInvoker = interactionInvoker; _userGuideHelper = userGuideHelper; _versionHelper = versionHelper; _applicationNameProvider = applicationNameProvider; ApplicationSettingsCommand = new DelegateCommand(ExecuteApplicationSettingsCommand); ProfileSettingsCommand = new DelegateCommand(ExecuteProfileSettings); WelcomeCommand = welcomeCommand; AboutWindowCommand = new DelegateCommand(ExecuteAboutWindow); HelpCommand = new DelegateCommand <KeyEventArgs>(ExecuteHelpCommand); DragEnterCommand = new DelegateCommand <DragEventArgs>(dragAndDrop.HandleDragEnter); DragDropCommand = new DelegateCommand <DragEventArgs>(dragAndDrop.HandleDropEvent); _settingsProvider = _settingsManager.GetSettingsProvider(); ApplicationSettingsEnabled = _settingsProvider.GpoSettings?.DisableApplicationSettings == false; }
public PrintJobShellViewModel(ApplicationNameProvider applicationNameProvider, IInteractionRequest interactionRequest, ITranslationUpdater updater, IEventAggregator eventAggregator, DragAndDropEventHandler dragAndDrop) : base(updater) { ApplicationName = applicationNameProvider; InteractionRequest = interactionRequest; if (eventAggregator != null) { eventAggregator.GetEvent <ShowLockLayerEvent>().Subscribe(() => ShowLockLayer = true); eventAggregator.GetEvent <HideLockLayerEvent>().Subscribe(() => ShowLockLayer = false); } DragEnterCommand = new DelegateCommand <DragEventArgs>(dragAndDrop.HandleDragEnter); DragDropCommand = new DelegateCommand <DragEventArgs>(dragAndDrop.HandleDropEvent); }
public void Setup() { _queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); _dragDrop = new DragAndDropEventHandler(MockRepository.GenerateStub <IFileConversionHandler>()); _jobInfoManager = MockRepository.GenerateStub <IJobInfoManager>(); }