Commit Graph

67 Commits

Author SHA1 Message Date
Stephanie Anderl
a0f98ca76b
Improved error handing for function analysis for functions in the f(y) format (#1338)
* Updated the CanFunctionAnalysisBePerformed api to use the updated one with variableIsNotX error handling. Updated the UI to reflect the new descriptive error case to show an informative error.

* Fixed spacing and updated the moved the variableIsNotX check up into the parent if statement

* Update the internals version to match the version needed to support this change
2020-09-15 14:27:22 -07:00
Stephanie Anderl
96c1a45774
Revert "Updated the Calculator projects to include the /Z7 compiler flag" (#1356)
* Revert "Updated the Calculator projects to include the /Z7 compiler flag (#1337)"

This reverts commit 6299ec2303.

* Update Calculator.vcxproj

Add  %(AdditionalOptions) where it is missing

* Update TraceLogging.vcxproj

Updated the AdditionalOptions to add /await /std:c++17 /utf-8  so this project is consistent with the other projects.
2020-08-25 09:31:40 -07:00
Stephanie Anderl
6299ec2303
Updated the Calculator projects to include the /Z7 compiler flag (#1337)
* Added the /Z7 compiler flag

* added /Z7 compiler flag to remaining calculator projects

* Add %(AdditionalOptions) to complier configuration where it is missing
2020-08-11 15:39:32 -07:00
Lee Won Jun
ed7bfb8142
Null Check in RenderMain::CanRenderPoint (#1316) 2020-07-17 14:33:15 -07:00
Quentin Al-Timimi
0175b51655
Updated APIs to use new GetClosePointData() from Graphing Engine. (#1250)
* Updated APIs to use new GetClosePointData() from Graphing Engine. Now specifiying precision on API consumption to aid with correct display and rounding.

* Updated function to be const-corect

* Updated to use correct APIs

* Converted TraceValue from Point to two doubles, point's X and Y was using float and conversion between float and doubles was causing unwanted rounding.

* Update to pch file and fixing typo

* Point to updated graphing version
2020-06-30 15:08:54 -07:00
Stephanie Anderl
76e33ef159
Updates ResetGrid to account for when equations are added during Manual Adjustment mode (#1231)
* updated the reset grid logic to track and set the initial range after an equation is added

* When in manual adjustment mode and an equation is added, replot the graph when reset is called

* remove members that are no longer needed

* Added logic to include the PrepareGraph() and removed re-graphing in the ResetGrid method

* skip SetDisplayRanges if TryInitialize returns a nullopt so there is no crash

* Updated the logic to handle the case where the range is updated via settings

* Fix bug with reset view hyperlink

* Updated the logic for graph settings updating the graph range

* Rebased with the latest, fixed issues with the rebase

 Author:    Stephanie Anderl <46726333+sanderl@users.noreply.github.com>

* Update the internals version of calculator to the latest so that the PrepareGraph API available
2020-06-17 12:30:19 -07:00
Stephanie Anderl
20df252d39
Replot the graph when the user clicks Graph View after manually updating the graph range (#1254)
* Reset the graph by replotting if the graph range was changed by the user

* When calling SetDisplayRanges, just set Replot to true instead of passing in a parameter
2020-06-02 12:58:06 -07:00
Pepe Rivera
09391d869f
Delay load graph engine dll (#1257) 2020-06-02 10:08:51 -07:00
Rudy Huyn
6e521d8f29
Remove LRE/LRO characters from results and error messages (#1161)
* Remove LRE/LRO characters and rely on Xaml to correctly displayed the numbers and error messages RtL

* unit tests
2020-04-30 12:04:33 -07:00
Pepe Rivera
0465dc8538
Change trace point value precision to be dynamic based on graph scale (#1148)
* Dynamic precision

* add comments

* feedback

* Update src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp

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

* PR feedback

* Pr comment

Co-authored-by: Rudy Huyn <rudyhuyn@gmail.com>
2020-04-21 17:44:08 -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
b93fe0b2b2
Update default min/max values for variables (#1146) 2020-04-02 12:52:52 -07:00
Pepe Rivera
ded99f87b4
Fix trace value not appearing after touch input (#1120) 2020-04-01 09:12:14 -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
7dcfe0439c
Add line width option (#1098)
* add line thickness

* clean up

* Fix pr comments
2020-03-26 14:15:44 -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
pi1024e
475aafdbc4
Replace old C headers with the C++ ones (#1099) 2020-03-23 08:44:06 -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
Pepe Rivera
76fa670f92
Support mouse gestures when active tracing is enabled (#1064)
* Make the pointer follow the mouse

* Only render when necessary

* Move trace rendering to background thread
2020-03-16 11:54:19 -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
102782df47
Select the equation when the EquationTextBox has focus and during analysis (#1067)
* Select equation on focus

* PR comment
2020-03-12 10:12:01 -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
f1d53fba61
Support other locales for decimal and list separators (#1060)
* Support other locales for decimal and list seperators

* PR fixes
2020-03-04 15:15:18 -08:00
Pepe Rivera
814473f4d6
Parse each individual equation (#1059) 2020-03-03 10:53:03 -08:00
Stephanie Anderl
d7e7f46c99
Update Analysis after variables change (#1056)
* Updated Analyze Equation to set the current value of the variables before analysis

* Updated SetGraphArgs to take in a graph parameter and use it in AnalyzeEquation()
2020-02-28 09:34:16 -08:00
Matt Cooley
7da1ab6874
Fix ARM64 build (#1026) 2020-02-11 14:03:43 -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
Stephanie Anderl
f4ab94ce1c
Enables analysis on functions with variables (#1021)
* Add Graph Options to enable analysis with variables

* Remove debugging call to GetAllowKeyGraphFeaturesForFunctionsWithParameters()

* Updated the variable analysis logic to use the UpdateGraphOptions method
2020-02-04 13:43:00 -08:00
Pepe Rivera
350b8a9024
Fix graphing crash when plotting equations with errors (#958)
* fix crash

* Fix follow up crash

* real fix
2020-01-22 13:39:51 -08:00
Scott Freeman
1947a25ff8 Making a few improvements in Grapher (#922)
- Removed unused variable
- Using ArrayReference in GetGraphBitmapStream so bytes aren't copied an extra time
2020-01-15 09:36:31 -08:00
Scott Freeman
52de42e7fb Removing Utils::Swap and using std::swap instead (#932) 2020-01-14 15:22:50 -08:00
Pepe Rivera
ca0b3d83e8
fix bugs (#934) 2020-01-14 13:52:57 -08:00
Eric Wong
c7c9bf0513
Use path instead of glyph for active tracing (#910)
* Use path instead of glyph
2020-01-10 16:42:55 -08:00
Pepe Rivera
397c180d52 Format MathML equations before submission to the GraphControl (#926)
* Format richedit input

* fix spelling error
2020-01-10 15:17:36 -08:00
Scott Freeman
bea4c2429f Inferring std::array template params for featureLevels. (#917) 2020-01-09 12:05:49 -08:00
Scott Freeman
4f05b63ba6 Removing unnecessary string copies when iterating vectors and maps in KeyGraphFeaturesInfo (#915) 2020-01-09 12:05:16 -08:00
Pepe Rivera
9329af37f1 Fix crash when setting graph options to very large numbers (#904)
* fix crash

* Fixes

* Update build/pipelines/templates/build-app-internal.yaml

Co-Authored-By: Stephanie Anderl <46726333+sanderl@users.noreply.github.com>

Co-authored-by: Stephanie Anderl <46726333+sanderl@users.noreply.github.com>
2020-01-08 15:06:26 -08:00
Scott Freeman
8141941208 Removing wstringstream usage since it adds unnecessary overhead (#908) 2020-01-08 14:35:05 -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
234ac8deb3
Change active tracing to use correct glyph instead of dot (#890)
* Change active tracing to use correct glyph instead of dot

* make the pointer on the glyph line up correctly
2020-01-03 12:08:02 -08:00
Rudy Huyn
3942662c9d High Contrast support for Graphing Calculator (#878)
* Equation Control - High contrast

* tweak

* Update graph colors when users switch from one high contrast mode to another

* decrease opacity of reveal borders
2019-12-20 10:56:01 -08:00
Rudy Huyn
eb2fa6db9b Fix focus issues (#868) 2019-12-16 10:13:34 -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
Pepe Rivera
2a0637e51c
Fix some UI bugs in graph mode (#862)
* Address issues with error states

* Add various fixes

* Add back initial tooltip

* PR comments
2019-12-12 12:58:28 -08:00
Rudy Huyn
f282605bc6 Redesign graph buttons + replace ActiveTracing button by a ToggleButton (#864)
* redesign graph buttons

* fix high-contrast and focus
2019-12-12 09:38:10 -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
Pepe Rivera
f1bf3354c4
Fix graph rendering of inequalities (#856)
* fix inequality rendering

* Add comment
2019-12-09 13:30:39 -08:00
Pepe Rivera
89c3fc3e4d Add error handling to graph and equations (#827)
* add error handling

* Handle regraphing on certain errors

* Fix high contrast

* Hide KGF button in error state
2019-12-03 14:41:39 -08:00