* 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
26 lines
656 B
C++
26 lines
656 B
C++
#pragma once
|
|
|
|
#include <winrt/base.h>
|
|
#include <winrt/Windows.Foundation.h>
|
|
#include <winrt/Windows.Foundation.Collections.h>
|
|
#include <winrt/Windows.Foundation.Diagnostics.h>
|
|
#include <winrt/Windows.UI.Xaml.Interop.h>
|
|
|
|
template <typename T>
|
|
T from_cx(Platform::Object^ from)
|
|
{
|
|
T to{ nullptr };
|
|
|
|
winrt::check_hresult(reinterpret_cast<::IUnknown*>(from)
|
|
->QueryInterface(winrt::guid_of<T>(),
|
|
reinterpret_cast<void**>(winrt::put_abi(to))));
|
|
|
|
return to;
|
|
}
|
|
|
|
template <typename T>
|
|
T^ to_cx(winrt::Windows::Foundation::IUnknown const& from)
|
|
{
|
|
return safe_cast<T^>(reinterpret_cast<Platform::Object^>(winrt::get_abi(from)));
|
|
}
|