private void BinButtonChecked(object sender, RoutedEventArgs e) { TraceLogger.GetInstance().UpdateButtonUsage(NumbersAndOperatorsEnum.BinButton, ViewMode.Programmer); if (Model != null) { Model.SwitchProgrammerModeBase(NumberBase.BinBase); } }
private void OnConsolidated(ApplicationView sender, ApplicationViewConsolidatedEventArgs e) { TraceLogger.GetInstance().DecreaseWindowCount(); if (m_parent.IsAlive) { var parent = m_parent.Target as App; parent.RemoveWindow(this); } }
private void BackSpaceButton_Clicked(object sender, RoutedEventArgs e) { var mathRichEdit = GetActiveRichEdit(); if (mathRichEdit != null) { mathRichEdit.BackSpace(); TraceLogger.GetInstance().UpdateButtonUsage(NumbersAndOperatorsEnum.Backspace, CalculatorApp.ViewModel.Common.ViewMode.Graphing); } }
private void SubmitButton_Clicked(object sender, RoutedEventArgs e) { var mathRichEdit = GetActiveRichEdit(); if (mathRichEdit != null) { mathRichEdit.SubmitEquation(CalculatorApp.Controls.EquationSubmissionSource.ENTER_KEY); TraceLogger.GetInstance().UpdateButtonUsage(NumbersAndOperatorsEnum.Submit, CalculatorApp.ViewModel.Common.ViewMode.Graphing); } }
private void OffsetValue_Changed(object sender, SelectionChangedEventArgs e) { var dateCalcViewModel = (DateCalculatorViewModel)this.DataContext; // do not log diagnostics for no-ops and initialization of combo boxes if (dateCalcViewModel.DaysOffset != 0 || dateCalcViewModel.MonthsOffset != 0 || dateCalcViewModel.YearsOffset != 0) { TraceLogger.GetInstance().LogDateCalculationModeUsed(true); } }
private void Button_Clicked(object sender, RoutedEventArgs e) { var mathRichEdit = GetActiveRichEdit(); var button = sender as CalculatorApp.Controls.CalculatorButton; if (mathRichEdit != null && sender != null) { var id = button.ButtonId; TraceLogger.GetInstance().UpdateButtonUsage(id, CalculatorApp.ViewModel.Common.ViewMode.Graphing); Tuple <string, int, int> output = GraphingNumPad.GetButtonOutput(id); mathRichEdit.InsertText(output.Item1, output.Item2, output.Item3); } }
private void AddSubtract_DateChanged(CalendarDatePicker sender, CalendarDatePickerDateChangedEventArgs e) { if (e.NewDate != null) { var dateCalcViewModel = (DateCalculatorViewModel)this.DataContext; dateCalcViewModel.StartDate = e.NewDate.Value; TraceLogger.GetInstance().LogDateCalculationModeUsed(true); } else { ReselectCalendarDate(sender, e.OldDate.Value); } }
private void AddWindowToMap(WindowFrameService frameService) { m_windowsMapLock.EnterWriteLock(); try { m_secondaryWindows[frameService.GetViewId()] = frameService; TraceLogger.GetInstance().UpdateWindowCount(Convert.ToUInt64(m_secondaryWindows.Count)); } finally { m_windowsMapLock.ExitWriteLock(); } }
private void ClearButton_Clicked(object sender, RoutedEventArgs e) { var mathRichEdit = GetActiveRichEdit(); if (mathRichEdit != null) { mathRichEdit.TextDocument.GetText(Windows.UI.Text.TextGetOptions.NoHidden, out string text); if (!string.IsNullOrEmpty(text)) { mathRichEdit.MathText = "<math xmlns=\"http://www.w3.org/1998/Math/MathML\"></math>"; mathRichEdit.SubmitEquation(CalculatorApp.Controls.EquationSubmissionSource.PROGRAMMATIC); } TraceLogger.GetInstance().UpdateButtonUsage(NumbersAndOperatorsEnum.Clear, CalculatorApp.ViewModel.Common.ViewMode.Graphing); } }
public void TraceInput(SoapMessage message) { CopyStream(oldStream, newStream); TraceMessageType soapType = (message is SoapServerMessage) ? TraceMessageType.SoapRequest : TraceMessageType.SoapResponse; newStream.Position = 0; string soapMessage = GetText(newStream); TraceRecord traceRecord = new TraceRecord(soapType, message.MethodInfo.Name, soapMessage); try { TraceLogger.GetInstance().AddTraceRecord(traceRecord); } catch { } newStream.Position = 0; }
private void OnVisualStateChanged(object sender, VisualStateChangedEventArgs e) { TraceLogger.GetInstance().LogVisualStateChanged(ViewMode.Date, e.NewState.Name, false); }
private void OnSuspending(object sender, SuspendingEventArgs args) { TraceLogger.GetInstance().LogButtonUsage(); }
private void OnAppLaunch(IActivatedEventArgs args, string argument) { // Uncomment the following lines to display frame-rate and per-frame CPU usage info. //#if _DEBUG // if (IsDebuggerPresent()) // { // DebugSettings->EnableFrameRateCounter = true; // } //#endif args.SplashScreen.Dismissed += DismissedEventHandler; var rootFrame = (Window.Current.Content as Frame); WeakReference weak = new WeakReference(this); float minWindowWidth = (float)((double)Resources[ApplicationResourceKeys.Globals.AppMinWindowWidth]); float minWindowHeight = (float)((double)Resources[ApplicationResourceKeys.Globals.AppMinWindowHeight]); Size minWindowSize = SizeHelper.FromDimensions(minWindowWidth, minWindowHeight); ApplicationView appView = ApplicationView.GetForCurrentView(); ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings; // For very first launch, set the size of the calc as size of the default standard mode if (!localSettings.Values.ContainsKey("VeryFirstLaunch")) { localSettings.Values["VeryFirstLaunch"] = false; appView.SetPreferredMinSize(minWindowSize); appView.TryResizeView(minWindowSize); } else { ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.Auto; } // Do not repeat app initialization when the Window already has content, // just ensure that the window is active if (rootFrame == null) { if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")) // PC Family { // Disable the system view activation policy during the first launch of the app // only for PC family devices and not for phone family devices try { ApplicationViewSwitcher.DisableSystemViewActivationPolicy(); } catch (Exception) { // Log that DisableSystemViewActionPolicy didn't work } } // Create a Frame to act as the navigation context rootFrame = App.CreateFrame(); // When the navigation stack isn't restored navigate to the first page, // configuring the new page by passing required information as a navigation // parameter if (!rootFrame.Navigate(typeof(MainPage), argument)) { // We couldn't navigate to the main page, kill the app so we have a good // stack to debug throw new SystemException(); } SetMinWindowSizeAndThemeAndActivate(rootFrame, minWindowSize); m_mainViewId = ApplicationView.GetForCurrentView().Id; AddWindowToMap(WindowFrameService.CreateNewWindowFrameService(rootFrame, false, weak)); } else { // For first launch, LaunchStart is logged in constructor, this is for subsequent launches. // !Phone check is required because even in continuum mode user interaction mode is Mouse not Touch if ((UIViewSettings.GetForCurrentView().UserInteractionMode == UserInteractionMode.Mouse) && (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))) { // If the pre-launch hasn't happened then allow for the new window/view creation if (!m_preLaunched) { var newCoreAppView = CoreApplication.CreateNewView(); _ = newCoreAppView.Dispatcher.RunAsync( CoreDispatcherPriority.Normal, async() => { var that = weak.Target as App; if (that != null) { var newRootFrame = App.CreateFrame(); SetMinWindowSizeAndThemeAndActivate(newRootFrame, minWindowSize); if (!newRootFrame.Navigate(typeof(MainPage), argument)) { // We couldn't navigate to the main page, kill the app so we have a good // stack to debug throw new SystemException(); } var frameService = WindowFrameService.CreateNewWindowFrameService(newRootFrame, true, weak); that.AddWindowToMap(frameService); var dispatcher = CoreWindow.GetForCurrentThread().Dispatcher; // CSHARP_MIGRATION_ANNOTATION: // class SafeFrameWindowCreation is being interpreted into a IDisposable class // in order to enhance its RAII capability that was written in C++/CX using (var safeFrameServiceCreation = new SafeFrameWindowCreation(frameService, that)) { int newWindowId = ApplicationView.GetApplicationViewIdForWindow(CoreWindow.GetForCurrentThread()); ActivationViewSwitcher activationViewSwitcher = null; var activateEventArgs = (args as IViewSwitcherProvider); if (activateEventArgs != null) { activationViewSwitcher = activateEventArgs.ViewSwitcher; } if (activationViewSwitcher != null) { _ = activationViewSwitcher.ShowAsStandaloneAsync(newWindowId, ViewSizePreference.Default); safeFrameServiceCreation.SetOperationSuccess(true); } else { var activatedEventArgs = (args as IApplicationViewActivatedEventArgs); if ((activatedEventArgs != null) && (activatedEventArgs.CurrentlyShownApplicationViewId != 0)) { // CSHARP_MIGRATION_ANNOTATION: // here we don't use ContinueWith() to interpret origin code because we would like to // pursue the design of class SafeFrameWindowCreate whichi was using RAII to ensure // some states get handled properly when its instance is being destructed. // // To achieve that, SafeFrameWindowCreate has been reinterpreted using IDisposable // pattern, which forces we use below way to keep async works being controlled within // a same code block. var viewShown = await ApplicationViewSwitcher.TryShowAsStandaloneAsync( frameService.GetViewId(), ViewSizePreference.Default, activatedEventArgs.CurrentlyShownApplicationViewId, ViewSizePreference.Default); // SafeFrameServiceCreation is used to automatically remove the frame // from the list of frames if something goes bad. safeFrameServiceCreation.SetOperationSuccess(viewShown); } } } } }); } else { ActivationViewSwitcher activationViewSwitcher = null; var activateEventArgs = (args as IViewSwitcherProvider); if (activateEventArgs != null) { activationViewSwitcher = activateEventArgs.ViewSwitcher; } if (activationViewSwitcher != null) { _ = activationViewSwitcher.ShowAsStandaloneAsync( ApplicationView.GetApplicationViewIdForWindow(CoreWindow.GetForCurrentThread()), ViewSizePreference.Default); } else { TraceLogger.GetInstance().LogError(ViewMode.None, "App.OnAppLaunch", "Null_ActivationViewSwitcher"); } } // Set the preLaunched flag to false m_preLaunched = false; } else // for touch devices { if (rootFrame.Content == null) { // When the navigation stack isn't restored navigate to the first page, // configuring the new page by passing required information as a navigation // parameter if (!rootFrame.Navigate(typeof(MainPage), argument)) { // We couldn't navigate to the main page, // kill the app so we have a good stack to debug throw new SystemException(); } } if (ApplicationView.GetForCurrentView().ViewMode != ApplicationViewMode.CompactOverlay) { if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")) { // for tablet mode: since system view activation policy is disabled so do ShowAsStandaloneAsync if activationViewSwitcher exists in // activationArgs ActivationViewSwitcher activationViewSwitcher = null; var activateEventArgs = (args as IViewSwitcherProvider); if (activateEventArgs != null) { activationViewSwitcher = activateEventArgs.ViewSwitcher; } if (activationViewSwitcher != null) { var viewId = (args as IApplicationViewActivatedEventArgs).CurrentlyShownApplicationViewId; if (viewId != 0) { _ = activationViewSwitcher.ShowAsStandaloneAsync(viewId); } } } // Ensure the current window is active Window.Current.Activate(); } } } }
private void OnVisualStateChanged(object sender, Windows.UI.Xaml.VisualStateChangedEventArgs e) { var mode = NavCategoryStates.Deserialize(Model.CurrentCategory.GetModelCategoryId()); TraceLogger.GetInstance().LogVisualStateChanged(mode, e.NewState.Name, false); }