void DataGridCellPreviewMouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { DataGridCell cell = sender as DataGridCell; if (cell != null && !cell.IsEditing && !cell.IsReadOnly) { if (!cell.IsFocused) { cell.Focus(); } DataGrid dataGrid = LogicalTreeWalker.FindParentOfType<DataGrid>(cell); //FindVisualParent<DataGrid>(cell); if (dataGrid != null) { if (dataGrid.SelectionUnit != DataGridSelectionUnit.FullRow) { if (!cell.IsSelected) cell.IsSelected = true; } else { DataGridRow row = LogicalTreeWalker.FindParentOfType<DataGridRow>(cell); //FindVisualParent<DataGridRow>(cell); if (row != null && !row.IsSelected) { row.IsSelected = true; } } } } }
/// <summary> /// Handles the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>Returns <see cref="Response"/>.</returns> public override Response Handle(TRequest request) { var requestDto = request.DataTransferObject; DomainEvent.Register <RuleViolationEvent> (failure => _validationFailureOccurred = true); LogicalTreeWalker.Walk <IDataTransferObject> (requestDto, dto => dto.ClearAllDataErrorInfo()); var response = CreateTypedResponse(); response.DataTransferObject = requestDto; var processSucceeded = Process(requestDto); processSucceeded &= !_validationFailureOccurred; if (processSucceeded) { Session.Flush(); Session.Clear(); response.DataTransferObject = RefreshDto(requestDto.Key); AfterDtoRefreshed(response.DataTransferObject); } return(response); }
private void WatchObject(object objToWatch) { CheckListen(objToWatch, null, null); var logicalTreeWalker = new LogicalTreeWalker(); logicalTreeWalker.RegisterAction <TRecurse>(CheckListen); logicalTreeWalker.Walk <TRecurse>(objToWatch); }
public static void FocusFirstResponder(this FrameworkElement root) { LogicalTreeWalker.Walk(root, delegate(UIElement element) { if (Responder.GetIsFirstResponder(element)) { Focus(element); } }); }
void Search_Executed(object sender, ExecutedRoutedEventArgs e) { LogicalTreeWalker.Walk((FrameworkElement)TabHost.HeaderContent, delegate(UIElement element) { if (Responder.GetIsSearchResponder(element)) { FocusHelper.Focus(element); } }); }
void GotoLabel_Executed(object sender, ExecutedRoutedEventArgs e) { ClientStats.LogEventWithSegment("Goto folder (keyboard)", ActivityView.Label.ToString()); LogicalTreeWalker.Walk((FrameworkElement)TabHost.HeaderContent, delegate(UIElement element) { if (Responder.GetIsSearchResponder(element)) { FocusHelper.Focus(element); if (element is TextBox) { var tb = (TextBox)element; tb.Text = "label: "; tb.SelectionStart = tb.Text.Length; } } }); }
protected override void OnInitialized(EventArgs e) { if (Child is IControllablePopup) { IControllablePopup child = (IControllablePopup)Child; child.RequestClosePopup += delegate { TryClose(); }; } else { Button button = LogicalTreeWalker.FindName <Button>(this, "PART_CloseButton"); if (button != null) { button.Click += delegate { TryClose(); } } ; } base.OnInitialized(e); }
/// <summary> /// Handles the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>A <see cref="Agatha.Common.Response"/></returns> public override Response Handle(SaveDtoRequest <SelfPaymentDto> request) { var requestDto = request.DataTransferObject; DomainEvent.Register <RuleViolationEvent>(failure => _validationFailureOccurred = true); LogicalTreeWalker.Walk <IDataTransferObject>(requestDto, dto => dto.ClearAllDataErrorInfo()); var response = CreateTypedResponse(); response.DataTransferObject = requestDto; if (requestDto.EditStatus == EditStatus.Create) { var selfPayment = CreateNew(requestDto); response.DataTransferObject = AutoMapper.Mapper.Map <SelfPayment, SelfPaymentDto> (selfPayment); } else if (requestDto.EditStatus == EditStatus.Delete) { var selfPayment = _selfPaymentRepository.GetByKey(requestDto.Key); if (selfPayment != null) { Delete(selfPayment); } response.DataTransferObject = requestDto; } var processSucceeded = !_validationFailureOccurred; if (processSucceeded) { Session.Flush(); Session.Clear(); } return(response); }
private void StopWatchingObject(object objToStopWatching) { LogicalTreeWalker.Walk <TRecurse>( objToStopWatching, item => { if (item is INotifyPropertyChanged) { (item as INotifyPropertyChanged).PropertyChanged -= PropertyChanged; } else if (item is INotifyCollectionChanged) { (item as INotifyCollectionChanged).CollectionChanged -= CollectionChanged; lock ( _collectionPropertyNames ) { var itemToRemove = _collectionPropertyNames.FirstOrDefault(kvp => kvp.Key.IsAlive && kvp.Key.Target == item); _collectionPropertyNames.Remove(itemToRemove); } } }); }
public FoldersControl() { mailbox = VirtualMailBox.Current; viewFilter = ViewFilter.Current; labels = new ThreadSafeCollection <LabelsContainer>(); LabelsViewSource = new CollectionViewSource { Source = labels }; LabelsViewSource.SortDescriptions.Add(new SortDescription("Count", ListSortDirection.Descending)); LabelsViewSource.View.Filter = IsLabelVisible; InitializeComponent(); signal = new AutoResetEvent(false); workerThread = new Thread(UpdateCounters) { Name = "Counter update thread", IsBackground = true, Priority = ThreadPriority.BelowNormal }; workerThread.Start(); DataContext = this; VirtualMailBox.Current.LoadComplete += delegate { UpdateCountersAsync(); }; EventBroker.Subscribe(AppEvents.RebuildOverview, UpdateCountersAsync); EventBroker.Subscribe(AppEvents.ReceiveMessagesFinished, UpdateCountersAsync); EventBroker.Subscribe(AppEvents.MessageUpdated, UpdateCountersAsync); EventBroker.Subscribe(AppEvents.View, delegate(ActivityView view) { ClientState.Current.ViewController.MoveTo(WellKnownView.Overview); // Find the radio-button with the requested view LogicalTreeWalker.Walk(this, delegate(RadioButton rb) { if (GetActivityView(rb) == view) { rb.IsChecked = true; } }); viewFilter.Filter.CurrentView = view; viewFilter.RebuildCurrentViewAsync(); EventBroker.Publish(AppEvents.RequestFocus); }); EventBroker.Subscribe(AppEvents.View, delegate(Label label) { EventBroker.Publish(AppEvents.View, ActivityView.Label); viewFilter.Filter.Label = label.Labelname; viewFilter.RebuildCurrentViewAsync(); EventBroker.Publish(AppEvents.RequestFocus); }); EventBroker.Subscribe(AppEvents.ShuttingDown, () => Thread.CurrentThread.ExecuteOnUIThread(delegate { // Save settings during shutdown SettingsManager.ClientSettings.AppConfiguration.ShowProductivityColumn = ProductivityExpander.IsExpanded; SettingsManager.ClientSettings.AppConfiguration.ShowLabelsColumn = LabelsExpander.IsExpanded; SettingsManager.Save(); })); EventBroker.Subscribe(AppEvents.LabelCreated, (string label) => labels.Add(new LabelsContainer(label))); }
/// <summary> /// Handles the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>A <see cref="Agatha.Common.Response"/></returns> public override Response Handle(SaveDtoRequest <PayorCoverageCacheDto> request) { var requestDto = request.DataTransferObject; DomainEvent.Register <RuleViolationEvent> (failure => _validationFailureOccurred = true); LogicalTreeWalker.Walk <IDataTransferObject> (requestDto, dto => dto.ClearAllDataErrorInfo()); var response = CreateTypedResponse(); if (requestDto.EditStatus == EditStatus.Create || requestDto.EditStatus == EditStatus.Update) { var patient = _patientRepository.GetByKeyOrThrow(requestDto.PatientKey, "Patient"); var payorCache = _payorCacheRepository.GetByKeyOrThrow(requestDto.PayorCache.Key, "Payor"); var effectiveDateRange = new DateRange(requestDto.StartDate, requestDto.EndDate); var payorCoverageCacheType = _mappingHelper.MapLookupField <PayorCoverageCacheType> (requestDto.PayorCoverageCacheType); var countyArea = _mappingHelper.MapLookupField <CountyArea> (requestDto.PayorSubscriberCache.Address.CountyArea); var stateProvince = _mappingHelper.MapLookupField <StateProvince> (requestDto.PayorSubscriberCache.Address.StateProvince); var country = _mappingHelper.MapLookupField <Country> (requestDto.PayorSubscriberCache.Address.Country); var address = new Address( requestDto.PayorSubscriberCache.Address.FirstStreetAddress, requestDto.PayorSubscriberCache.Address.SecondStreetAddress, requestDto.PayorSubscriberCache.Address.CityName, countyArea, stateProvince, country, new PostalCode(requestDto.PayorSubscriberCache.Address.PostalCode)); var gender = _mappingHelper.MapLookupField <AdministrativeGender>(requestDto.PayorSubscriberCache.AdministrativeGender); var patientName = new PersonNameBuilder() .WithFirst(requestDto.PayorSubscriberCache.FirstName) .WithMiddle(requestDto.PayorSubscriberCache.MiddleName) .WithLast(requestDto.PayorSubscriberCache.LastName); var payorSubscriberRelationshipCacheType = _mappingHelper.MapLookupField <PayorSubscriberRelationshipCacheType> (requestDto.PayorSubscriberCache.PayorSubscriberRelationshipCacheType); var payorSubscriberCache = new PayorSubscriberCache( address, requestDto.PayorSubscriberCache.BirthDate, gender, patientName, payorSubscriberRelationshipCacheType); PayorCoverageCache payorCoverageCache; if (requestDto.EditStatus == EditStatus.Create) { payorCoverageCache = _payorCoverageCacheFactory.CreatePayorCoverage( patient, payorCache, effectiveDateRange, requestDto.MemberNumber, payorSubscriberCache, payorCoverageCacheType); } else { payorCoverageCache = _payorCoverageCacheRepository.GetByKeyOrThrow(requestDto.Key, "Payor"); payorCoverageCache.RevisePayorCoverageCacheInfo(payorCoverageCacheType, effectiveDateRange, requestDto.MemberNumber); payorCoverageCache.RevisePayorCache(payorCache); payorCoverageCache.RevisePayorSubscriberCache(payorSubscriberCache); } response.DataTransferObject = payorCoverageCache == null ? requestDto : Mapper.Map <PayorCoverageCache, PayorCoverageCacheDto>(payorCoverageCache); } else if (requestDto.EditStatus == EditStatus.Delete) { var payorCoverageCache = _payorCoverageCacheRepository.GetByKey(requestDto.Key); if (payorCoverageCache != null) { _payorCoverageCacheFactory.DestroyPayorCoverage(payorCoverageCache); } response.DataTransferObject = requestDto; } else { var payorCoverageCache = _payorCoverageCacheRepository.GetByKeyOrThrow(requestDto.Key, "Payor"); response.DataTransferObject = Mapper.Map <PayorCoverageCache, PayorCoverageCacheDto>(payorCoverageCache); } var processSucceeded = !_validationFailureOccurred; if (processSucceeded) { Session.Flush(); Session.Clear(); } else { if (requestDto.EditStatus == EditStatus.Create) { response.DataTransferObject.Key = 0; } } return(response); }