* 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
* Turn off keyboard shortcuts when in graphing mode
* Added automation names to the graphnumpad, added any missing ones to the resources.resw file
* Remove HonorShortcuts call in the EquationInputArea, update Equal button automation name to use the existing one
* conditionally set the HonorShortcuts when the nav menu is closed
* added disable shortcuts to override HonorShortcuts when it is set
* 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
* 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
* 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
* 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
* 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()
* Added testcasefilter to the UI tests yaml
* Set priorities on UI tests
* Add UI tests for PRs yaml file, conditionally add it to the CI build yaml
* Update priority on functional tests
* Use a conditional task input instead of an additional yaml file to determine if UI tests should be filtered to P0 only
* Add condition:succeeded() back into the run-ui-tests.yaml
* Add back line
Co-authored-by: Matt Cooley <matt@mattcooley.net>
* Add Graph Options to enable analysis with variables
* Remove debugging call to GetAllowKeyGraphFeaturesForFunctionsWithParameters()
* Updated the variable analysis logic to use the UpdateGraphOptions method
* First implementation of KeyboardAccelerators for OnTop
* Changed shortcut keys to match the specs
* Adjusted ToolTips for compact overlay buttons to show the KeyboardAccelerator
* Remove rounded corners on the back button
* Updated back button style to align with Equation button.
* Fixed issue where the forground color was white in high contrast and fixed the crash in high contrast
* move KeyboardShortcutManager, ValidationConverter and ViewState to Calculator
* remove dead code listed in #753
* remove Microsoft.UI.Xaml nuget package from CalcViewModel
* 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
* Equation Control - High contrast
* tweak
* Update graph colors when users switch from one high contrast mode to another
* decrease opacity of reveal borders
* move variable editor
* support high contrast and tab navigation
* Remove obsolete resources
* take feedback into account
* Fix focus when virtualization recycle a EquationTextBox
* formatting
* 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
* 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
* Add context menu to rich edit to allow for keyboard support
* Update src/Calculator/Controls/EquationTextBox.cpp
Co-Authored-By: Pepe Rivera <joseartrivera@gmail.com>
* Check for focus before triggering submit
* 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
* 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
* 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
- Using default wstring constructor instead of taking empty string literal
- Updated to for range-for where appropriate
- Used std::find for IsOp* code that was doing it by hand
- Used std::count to calculate LengthWithoutPadding
- Used existing wstring constructor to pad a string
* Replacing CalculatorVector usage with std::vector
Assumptions made here are that memory allocations
are not recoverable. If it can be proved that an index
will be in range, then the indexing operation is used.
If not (without manual checks) the std::vector::at function
is used to throw an exception in case of a programmer bug.
* Changes based on PR feedback
Using auto& in CalculatorCollector::UpdateHistoryExpression
so the token.first value is properly updated.
Using range for loop to GenerateExpressions.
Setting isEditable directly to the result of boolean expression.
Using token.second directly instead of creating a
separate tokenCommandIndex variable.
* Fixing issue with generating expressions strings.
A space should not be added before the first item.
The CalculatorUITestFramework project does not need Microsoft.NET.Test.Sdk or MSTest.TestAdapter. These dependencies are needed only in the project which produces the actual test assembly (in our case, the CalculatorUITests project).
Removing these resolves a build warning, since the test adapter package does not target .NET Standard.