* Add telemetry for keyboard button usage in graphing mode * Added the diagnostics for EquationAdded and FunctionAnalysis * Added remaining diagnostics events for graphing calculator * Fix proj files to include the IsStoreBuild condition. Move the Delayer class to the Calculator/Utils folder * Ensure the variable textbox has focus before logging diagnostics * Move maxVariableCount check into the tracelogger class * Created enums and updated the slider value changed method to remove the variable from the map after the log method is called * Re-enable hidden lines when the expression is updated * Fixed extra line in grapher.h and removed the conditional logging for variable count * Updated logging per PR feedback * Updated variable logging and fixed issues in the IsEquationLineDisabled binding the EditTextBox control. * Update per PR feedback * Added TraceLogging project to contain shared logging logic. * Updated TraceLogging project and updated tracelogger classes to use the TraceLogging project methods * Updated VariableLogging to log variable name. And updated per PR comments * Updated Variables logging to log count changed instead of variable added and fixed issue with variableSliders not being initialized * Remove outdated tracelogging call caused by rebase * Updated Delayer class to DispatcherTimerDelayer and fixed some small formatting issues * Fixed missing Dalyer class name updates * Removed extra line in traceloger.h
40 lines
876 B
C++
40 lines
876 B
C++
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
#include "pch.h"
|
|
#include "DispatcherTimerDelayer.h"
|
|
|
|
using namespace CalculatorApp;
|
|
using namespace Windows::UI::Xaml;
|
|
using namespace Windows::Foundation;
|
|
|
|
DispatcherTimerDelayer::DispatcherTimerDelayer(TimeSpan timeSpan)
|
|
{
|
|
m_timer = ref new DispatcherTimer();
|
|
m_timer->Interval = timeSpan;
|
|
auto interval = m_timer->Interval;
|
|
m_timer->Tick += ref new EventHandler<Object ^>(this, &DispatcherTimerDelayer::Timer_Tick);
|
|
}
|
|
|
|
void DispatcherTimerDelayer::Timer_Tick(Object ^ sender, Object ^ e)
|
|
{
|
|
m_timer->Stop();
|
|
Action(this, nullptr);
|
|
}
|
|
|
|
void DispatcherTimerDelayer::Start()
|
|
{
|
|
m_timer->Start();
|
|
}
|
|
|
|
void DispatcherTimerDelayer::ResetAndStart()
|
|
{
|
|
m_timer->Stop();
|
|
m_timer->Start();
|
|
}
|
|
|
|
void DispatcherTimerDelayer::Stop()
|
|
{
|
|
m_timer->Stop();
|
|
}
|