Commit Graph

153 Commits

Author SHA1 Message Date
Stephanie Anderl
33b4d18638
Add Automation Names to UI Elements in EquationInputArea and KGF Panel (#1133)
* Missing EquationInputArea and KGF Automation Names added

* Updated the KGF back button automation name and tooltip and added the automation name string for the KGF equation edit box

* Reverted the removal of x:names and updated Variable Step Textbox to Variable Step Value Textbox per PR feedback

* Updated the VariableListViewItem narrator announcement to include the name of the variable
2020-04-09 13:16:05 -07:00
Rudy Huyn
825b42ad46
refactor HistoryTest.cpp to test the history using HistoryViewModel (#784)
* refactor HistoryTest

* modify MultiWindowUnitTests to not use m_standardCalcManager

* rebase

Co-authored-by: Rudy Huyn <rudy.huyn@microsoft.com>
2020-04-07 17:08:02 -07:00
Stephanie Anderl
0ed876db43
Added narrator announcement when a function is removed (#1136) 2020-04-07 11:20:14 -07:00
dovisutu
5403adc914
Fix the operand order of logbasex for consistency (#1115)
* Fix #851: inconsistent operand order for log_y(x)

 - fixed the bug in scioper.cpp
 - changed the related test in CalculatorUnitTests
 - also changed the text in GraphingNumpad

* Change the name of LogBaseX for consistency

basically every occurence is repalced by logbasey, except
for the localized string for narrator, which I left for
the localization team to fix.

* Fix the test

* Revert GraphingNumPad.cpp

* Fixup according to review
2020-04-03 10:34:59 -07:00
Rudy Huyn
b0565f90f0
Revert dual screen (#1134) 2020-04-01 11:18:04 -07:00
Matt Cooley
f552428d97
Fix some code analysis warnings in CalcManager (#1074) 2020-03-30 15:23:22 -07:00
Stephanie Anderl
cf735bbcf5
Dark Theme For Graph Control (#1106)
* Added dark them to graph control, started dark theme for the controls on the graph

* Dark theme for graphing mode updated to use event model, diagnostics added, cleaned up code that wasn't needed

* Updated prepare-release-internalonly.yaml internal package version

* Updated Theme Settings properties, removed version change, other small changes from PR feedback>

* Updated the localSettings check and updated the GraphTheme event to send bool instead of string

* Updated the equation line color to change with the graph theme

* Rebased onto master and issues created during the rebase

* Updates per code review feedback

* Update settings properties to just have IsMatchAppTheme property and updated the high contrast settings for the graph control

* Match version to current in master

* Updated per PR feedback

* Fix resetting the m_lastLineColorIndex to only happen when reassignColors is true

* Changed second if to else if in the OnPropertyChanged method

* fixed control button and equation line colors
2020-03-27 17:20:35 -07:00
Pepe Rivera
fec7c907f8
Allow line style to be changed (#1097)
* add line style

* start line style

* More fixes

* undo key

* more tweaks

* address comments

* Fix merge
2020-03-27 09:56:11 -07:00
Pepe Rivera
fc19ddcbcb
Improve error handling by displaying an error message (#1075)
* wire up error messages

* more errors

* fix crash on render error

* Always show copy and cut

* PR comments

* Fix spelling
2020-03-25 15:18:34 -07:00
Jay Windsor
7b51b45906
Remove adjustment from local time (#834) 2020-03-25 04:20:13 -07:00
Rudy Huyn
15944fcd10
Add dual-screen support to Calculator (#1027) 2020-03-24 11:39:59 -07:00
Pepe Rivera
28dbdb3d94
Persist variable settings after graph is plotted (#1055)
* Allow copying graph as image

* Persist variables

* Revert "Allow copying graph as image"

This reverts commit 4fc9d798bc5f3ff82efc4fb00140103213fb81e2.

* fix binding bug

* undo cert change

* fix animation

* remove extra lines

* remove overrides

* undo key comment
2020-03-17 11:27:00 -07:00
Stephanie Anderl
18a1f82035
Graphing Calculator Diagnostics Instrumentation (#1041)
* 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
2020-03-12 14:05:47 -07:00
Pepe Rivera
4f8db42855
Add reset button to settings flyout (#1073) 2020-03-09 16:51:39 -07:00
Pepe Rivera
1b1eb4c7e7
Add automation name to graph control (#1032)
* fix bugs

* Update src/Calculator/Resources/en-US/Resources.resw

Co-Authored-By: Rudy Huyn <rudyhuyn@gmail.com>

Co-authored-by: Rudy Huyn <rudyhuyn@gmail.com>
2020-03-06 16:25:50 -08:00
Pepe Rivera
0c8d6dd83c
Fix usability issues with settings flyout (#1049)
* various settings fixes

* PR fixes
2020-02-26 16:21:38 -08:00
Rudy Huyn
c0cb14a8e8
Make unit converters stil working when users opened 'Currency' in offline mode (#1022) 2020-02-25 16:34:18 -08:00
Pepe Rivera
f1482252ef
Allow rendering the graph on a background thread (#1014)
* Render on background thread

* More work

* variable fix

* Add comments
2020-02-04 15:02:42 -08:00
Scott Freeman
52de42e7fb Removing Utils::Swap and using std::swap instead (#932) 2020-01-14 15:22:50 -08:00
Pepe Rivera
240792a775 Adjustments to ghost textbox (#924)
* adjustments

* delete extra visual states

* Fix hover bug

* Fix a few more bugs

* Fix high contrast crash
2020-01-10 16:41:23 -08:00
Stephanie Anderl
42dcfdc598 Update group policy check to look in HKCU instead of HKLM for allowing graphing mode (#918)
* Update group policy check to look in HKCU instead of HKLM

* Update the dwFlags to use RRF_RT_DWORD.
2020-01-10 15:48:07 -08:00
Rudy Huyn
f9c049a84b Add preview tag to Graphing feature (#907)
* Add preview tag to Graphing

* Fix Graph Settings button in dark mode
2020-01-08 10:34:05 -08:00
Eric Wong (PAX)
aad968ff37 Merge remote-tracking branch 'upstream/master' into mergeFeature 2020-01-07 14:08:18 -08:00
Rudy Huyn
2d177e5160 CalcViewModel code cleaning (#754)
* move KeyboardShortcutManager, ValidationConverter and ViewState to Calculator
* remove dead code listed in #753
* remove Microsoft.UI.Xaml nuget package from CalcViewModel
2020-01-07 13:59:51 -08:00
Rudy Huyn
712bdb1b7c Code cleaning: Remove all properties/functions not used in CalculationResult (#649) 2020-01-07 11:03:47 -08:00
Eric Wong (PAX)
d2b2853114 Merge remote-tracking branch 'upstream/feature/GraphingCalculator' into mergeFeature 2020-01-06 14:42:40 -08:00
Rudy Huyn
7aaeee934c Prevent the graph to pan/zoom in some cases (#897)
* prevent the graph to change ranges when hide/show an equation or change the trig unit

* make sure to not zoom/pan when we hide the last visible equation
2020-01-06 13:10:53 -08:00
Rudy Huyn
8357f5d5c5
Add Graph Settings (#879) 2020-01-03 15:06:14 -08:00
Eric Wong
13e31799c9 Wire up keyboard in graphing calculator (#863)
* Wire up graphing calculator keyboard with math rich edit control

* CR feedback

* Handle focus bug in flyout
2019-12-19 09:56:03 -08:00
Scott Freeman
a21b4a2d1a Using wstring instead of wstringstream where appropriate (#881) 2019-12-19 01:50:31 -08:00
Rudy Huyn
38da8d7b38 support ctrl+- and + (#882) 2019-12-18 16:06:13 -08:00
Rudy Huyn
534139d67d GraphControl: refactoring and optimizations (#831)
* GraphControl cleaning

* replace textbox value after submission

* rebase

* rebase

* rebase

* Add filters

* rebase!

* rebase
2019-12-13 16:33:08 -08:00
Stephanie Anderl
f593c621aa
Update GraphingCalculator Projects to allow official builds (#852)
* renamed MockGraphingImpl to GraphingImpl, updated the nuget.config to include the WindowsApps feed

* Revert nuget.config change

* Updated vcxproj files to output to the same directory regardless of configuration

* Removed outder used GenerateProjectSpecificOutputfolder instead

* revert commenting out the temporary.pfx cert in the calculator.vcxproj file
2019-12-10 16:15:49 -08:00
Rudy Huyn
07d012cf6b [Graph] Replace the Add button by a EquationTextBlock (#826)
* init

* Replace the Add equation button by an EquationTextBox

* Move automatically the focus to the next textbox when users press Enter

* nit

* localize the placeholder

* rebase

* rebased and disable remove context menu when the equation is the last one

* replace storyboards by setters in visual states
2019-12-10 11:06:37 -08:00
Scott Freeman
06f43ad373 Refactoring LocalizationSettings (#850) 2019-12-09 19:28:43 -08:00
Rudy Huyn
503831895d
Hide or Disable graphing calculator menu item when necessary (#848) 2019-12-06 15:03:07 -08:00
Matt Cooley
03c2d6514f
Build GraphingCalculator against SDK 18362 (#841) 2019-12-03 13:28:49 -08:00
Rudy Huyn
73d6a32add merge with master 2019-12-02 19:36:54 -08:00
Scott Freeman
d0785b2fad Updating HistoryViewModel::SaveHistory so it (#819)
Taking a const ref of history items vector in HistoryViewModel::SaveHistory and iterating over those items using a range for loop.
2019-12-01 09:02:34 -08:00
Scott Freeman
369843dd37 Changing CCalcEngine::s_engineStrings to use string_view for keys (#829) 2019-12-01 08:59:50 -08:00
Rudy Huyn
7ef6eaf1b6 Added support for small windows in the graphing calculator (#803)
* Add support of small windows

* remove extra space

* Modify how we manage the tooltip

* Fix merge issues
2019-11-22 10:36:36 -08:00
Stephanie Anderl
a33c1a4494
Equation button updates: Enable/Disable on click, button content f1, f2, f3..., visibility icon on hover (#804)
* Added enable/disable line functionality

* Update EquationTextBox to change the opacity of functions have are not visible. Update the function label for the EquationTextBox to increment the label to show f1, f2, f3, etc

* rebase key-graph-features and fix issue where removing an equation box and adding a new one repopulates the previous equation

* Added visibility icon for the equation button hover

* updated EquationButton to be a toggle button to better handle the LineHidden state and other PR comment fixes.

* Updated EquationButton style to use a toggle button and to have placeholder icons for the show/hide states

* Updated equation button after pulling the refactor work into the branch. Fixed the Equation Button in KGF UI

* Fixed Pepe's bugs

* Uncomment temporary.pfx in calculator.vcxproj
2019-11-21 15:07:45 -08:00
Pepe Rivera
288a90e0fe
Refactor Equation to be treated as a model and update Key Graph Features (#791)
* refactor code

* update KGF

* Rename some functions

* Undo comment out of proj file

* Pr feedback
2019-11-20 14:28:32 -08:00
Pepe Rivera
b55659f236 Update share output (#782)
* fix share bugs

* PR feedback

* PR feedback and merge fix

* Fix spacing and use explicit break

* Fix extra space
2019-11-19 15:54:24 -08:00
Scott Freeman
00346cc5a3 Fixing typo in StandardCalculatorViewModel::UpdatecommandsInRecording… (#810)
* Fixing typo in StandardCalculatorViewModel::UpdatecommandsInRecordingMode
Removing unnecessary copy of vector in StandardCalculatorViewModel::UpdateCommandsInRecordingMode
Using range-for in StandardCalculatorViewModel::UpdateCommandsInRecordingMode

* Using static_cast instead of safe_cast for unsigned char to Command
2019-11-19 07:08:05 -08:00
Scott Freeman
582e10faed Updating RemoveUnwantedCharsFromString to be a template (#808) 2019-11-18 19:02:45 -08:00
Rudy Huyn
86307f206f Modify the declaration of some properties of StandardCalculatorViewModel to make them read-only and use macros (#799) 2019-11-14 08:08:03 -08:00
Rudy Huyn
1380c7ed83 Use only NumberBase to represent radix in CalcViewModel (#797) 2019-11-14 07:09:17 -08:00
Rudy Huyn
b9b0e068cd
Convert CopyPasteManager to runtime class (#766)
* Convert CopyPasteManager to runtime class
* merge AssertUtils and Helpers.h
* update onpastemanager
2019-11-13 15:15:13 -08:00
Stephanie Anderl
442ed6a861
Key graph features (#704)
* Added IGraphAnalyzer

* Key Graph Features called and getting returned to the client. To do put all strings into the Equation object

* Updated UpdateKeyGraphFeatures to add function analysis data to all properties in Equation object

* Update KGF when variables are updated

* Key graph features ui started

* Added MathRichEditBox and started hooking up key graph features to the UI

* Updated EquationViewModel to include parity and periodicity

* Updated key graph features to update the EquationViewModel

* updated key graph features to display more values

* Key graph features populating uing MathRichEdit mode

* moved KeyGraphFeatures control to GraphingCalculator.xaml

* Use MathML formatting instead of MathRichEdit for strings passed back from the engine

* cleaned up project targeting and equation.h comments

* Updated equation edit box to populate for KeyGraphFeatures

* Fixed vcxproj files to have the correct targeting and certificates. KGF Title strings moved to x:Uid instead of the code behind

* Updated per PR feedback

* Update MathRichEditBox to detect if the string is a mathml string and use the appropriate set method to set the text

* fixed the issue where parity, periodicity and monotonicity could be set with an old value if the next one is empty

* KGF control UI adjustments and error handling

* Error control updates

* Error handling added when analysis fails

* fixed alignment on rich edit boxes

* Add monotonicity direction into the mathml string and only have 1 richeditbox

* Set hover state on KGF EquationEditBox to change button opacity and fixed spacing in Monotonicity RichEditBox

* remove sideload package certificate info VS added

* updated logic for setting error strings to be in the viewmodel

* Updated KeyGraphFeatures to populate dynamically using a ListView and TemplateSelector

* Update periodicity to not show if it isn't supported

* Fixed issue where y-intercept was using the x-intercept value

* Remove ItemsControl ItemsContainerStyle

* Updated per pr feedback. Fixed bug where analysis error would not reset

* Update MathRichEdit box to remove selection when focus is lost

* Updated mathrichedit to get LAF access for Dev, Release and Graphing projects

* Remove OnLostFocus in MathRichEdit, Change KGF ItemsControl back to ListView

* Clean up styles for KGF and ensure the match the comps

* Moved formatoptions logic to the Grapher constructor and reverted LineColor.Text resource that was mistakenly taken out

* Add copyright header to KGF Files

* fixed issue where asymptote values were not populating

* Disable KGF button when there is no equation. Fixed issue where equation populated in a new equationtextbox after the previous one was deleted

* Removed formatoptions testing lines used for debugging
2019-11-12 13:46:11 -08:00