@@ -215,7 +215,7 @@ wstringstream GraphingCalculator::FormatTraceValue(double min, double max, float
 | 
				
			|||||||
    auto precision = static_cast<int>(floor(log10(max - min)) - 3);
 | 
					    auto precision = static_cast<int>(floor(log10(max - min)) - 3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Determine if we want to show scientific notation instead
 | 
					    // Determine if we want to show scientific notation instead
 | 
				
			||||||
    if (precision <= -7 || precision  >= 7)
 | 
					    if (precision <= -7 || precision >= 7)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        traceValueString << scientific;
 | 
					        traceValueString << scientific;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -282,11 +282,26 @@ void GraphingCalculator::ViewModel::set(GraphingCalculatorViewModel ^ vm)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CalculatorApp::GraphingCalculator::OnShareClick(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
 | 
					void GraphingCalculator::OnShareClick(Object ^ sender, RoutedEventArgs ^ e)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    // Ask the OS to start a share action.
 | 
					    // Ask the OS to start a share action.
 | 
				
			||||||
    DataTransferManager::ShowShareUI();
 | 
					    try
 | 
				
			||||||
    TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::Share, GraphButtonValue::None);
 | 
					    {
 | 
				
			||||||
 | 
					        DataTransferManager::ShowShareUI();
 | 
				
			||||||
 | 
					        TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::Share, GraphButtonValue::None);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    catch (COMException ^ ex)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (ex->HResult == RPC_E_SERVERCALL_RETRYLATER)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            ShowShareError();
 | 
				
			||||||
 | 
					            TraceLogger::GetInstance()->LogPlatformException(ViewMode::Graphing, __FUNCTIONW__, ex);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            throw;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// When share is invoked (by the user or programmatically) the event handler we registered will be called to populate the data package with the
 | 
					// When share is invoked (by the user or programmatically) the event handler we registered will be called to populate the data package with the
 | 
				
			||||||
@@ -394,17 +409,21 @@ void GraphingCalculator::OnDataRequested(DataTransferManager ^ sender, DataReque
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    catch (Exception ^ ex)
 | 
					    catch (Exception ^ ex)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        ShowShareError();
 | 
				
			||||||
        TraceLogger::GetInstance()->LogPlatformException(ViewMode::Graphing, __FUNCTIONW__, ex);
 | 
					        TraceLogger::GetInstance()->LogPlatformException(ViewMode::Graphing, __FUNCTIONW__, ex);
 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Something went wrong, notify the user.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        auto errDialog = ref new ContentDialog();
 | 
					 | 
				
			||||||
        errDialog->Content = resourceLoader->GetString(L"ShareActionErrorMessage");
 | 
					 | 
				
			||||||
        errDialog->CloseButtonText = resourceLoader->GetString(L"ShareActionErrorOk");
 | 
					 | 
				
			||||||
        errDialog->ShowAsync();
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GraphingCalculator::ShowShareError()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    // Something went wrong, notify the user.
 | 
				
			||||||
 | 
					    auto resourceLoader = ResourceLoader::GetForCurrentView();
 | 
				
			||||||
 | 
					    auto errDialog = ref new ContentDialog();
 | 
				
			||||||
 | 
					    errDialog->Content = resourceLoader->GetString(L"ShareActionErrorMessage");
 | 
				
			||||||
 | 
					    errDialog->CloseButtonText = resourceLoader->GetString(L"ShareActionErrorOk");
 | 
				
			||||||
 | 
					    errDialog->ShowAsync();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void GraphingCalculator::GraphingControl_VariablesUpdated(Object ^, Object ^)
 | 
					void GraphingCalculator::GraphingControl_VariablesUpdated(Object ^, Object ^)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    m_viewModel->UpdateVariables(GraphingControl->Variables);
 | 
					    m_viewModel->UpdateVariables(GraphingControl->Variables);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -106,6 +106,7 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo
 | 
				
			|||||||
        void OnVisualStateChanged(Platform::Object ^ sender, Windows::UI::Xaml::VisualStateChangedEventArgs ^ e);
 | 
					        void OnVisualStateChanged(Platform::Object ^ sender, Windows::UI::Xaml::VisualStateChangedEventArgs ^ e);
 | 
				
			||||||
        std::wstringstream FormatTraceValue(double min, double max, float pointValue);
 | 
					        std::wstringstream FormatTraceValue(double min, double max, float pointValue);
 | 
				
			||||||
        void GraphViewButton_Click(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
 | 
					        void GraphViewButton_Click(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
 | 
				
			||||||
 | 
					        void ShowShareError();
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user