Commit Graph

155 Commits

Author SHA1 Message Date
Daniel-Parker
2cafb0dc88
Scientific and Programmer tests (#779)
* Maximize window during setup, and added divide by zero error test

* Added Error_CubedNegativeNumber test and AOT buttons

* Made Added AoT Tests and test are faster

* Hotkey and Mouse Input BVT Test added, Memory Test started

* Started Aligning BVTs with manual tests.  Added TC23466694, TC17416429, and TC17416884, and a test to switching mode test

* Basic Scientific Mode Functional Test Tests

* Added history panel test, and history flyout test for Standard calculator, and added the supporting framework

* Added some functional tests for Scientific mode.

* Basic Scientific Mode functional tests, added solution to set Angle Operator button correctly.

* Created functions to resize the app to display history panel, to display history button, display memory panel, and memory button.  Then I applied them to reduce areas with rewritten code, and to help with over all test stability and speed.

* I added the trigonometry functional tests

* Pull from latetest master, and retargeted solution

* Added a GetCalculatorWindowPostion function, when resizing window to show history/memory label, set window position to (0,0), and the same when resizing KOT calculator.  This will make tests more stable by keeping calculator on screen. It will also help with any testing that may require tracking the apps postion. To fix a test failure, changed function from ResizeToDiplayHistoryButton to ResizeToNotDisplayHistoryLabel.

* Sorted Using Statements, modified .gitignore to ignore **src/out, etc...

* Merged CalcMemoryFlyout into MemoryPanel, and deleted CalcMemoryFlyout. Merged CalcHistoryFlyout in HistoryPanel, and deleted CalcMemory.  Created GlobalCalculatorUI.cs.  Updated tests to work with these changes.

* hold on to changes

* Changed all KOT to Aot,
Removed equal button click in Test Cleanup/History method uses page source,
Removed extra line in Calculator.vcxproj.filters, Removed Try/Catch in the ClearHistory method

* Removed unused elses
Added CalculatorResults class
Added StandardAoTCalculatorPage
Removed manual test case info in the comments

* - In test framework, where it worked,
made some elements private
- Created EnsureCalculatorHasFocus() in GlobalCalculatorUI.cs
- Due to new classes, moved some methods to more correct classes
- Moved "page.MemoryPanel.ResizeWindowToDiplayMemoryLabel();" from
SetupCalculatorSession() to ClassInitialize()

* Sorted Using

* Updating fork from latest master

* Don't stand so

* Minor edits, fixing things from PR comments

* Merging scientific and standard mode tests, minor merge conflict fixes

* Method work
- Created ResizeAoTWindowToDiplayInvertButton()
    - Applied to test method AoT_ErrorMessage()
- Added page.ScientificOperators.ResetFEButton(fEButtonState.Normal);
to TestIniT in ScientificModeFunctionalTests
- Fixed if statement in public void ResetFEButton(fEButtonState value)

* Added StandardOperatorsPanel and removed duplicated code

* Created tests for Programmer mode, fixed a typo that appeared in multiple locations

* Fixed clear entry not working in Scientific test

* This time I really fixed the problem with clear memory not being found every time

* Revert shared changes

* Rebased onto master and resolved conflicts

* Fixed the 15 second delay on every scientific mode test

* Greatly shortened bitflipkeypad test

Co-authored-by: Crystal Edwards (Insight Global Inc) <v-credwa@microsoft.com>
Co-authored-by: Crystal Edwards <45952655+v-credwa@users.noreply.github.com>
2020-04-28 10:54:55 -07:00
Stephanie Anderl
3a8fcaa18a
Update Icons Implement the Graph View Button (#1149)
* Update icon file

* function analysis and negate button icons updated

* Replace zoom reset button with graph view button

* Fixed issue where the window settings did not update after panning/zooming

* Updated icon styling and added logic for updating the graph view button state when user manipulates the graph and when all equations are removed

* updated LogGraphButton clicked to have an enum for the button value instead of a string

* Updated the logic for how to set the IsManualAdjustment, ensured graphsettings now update IsManualAdjustment when changed
2020-04-14 12:37:23 -07:00
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