* Fix TableView multi selections extending to -1 indexes
* Add to test confirmation that the main active cell also didn't get pushed off
* Tidy up formatting
* Fixed not calling Application.Shutdown in tests and made it easier to diagnose which test is not shutting down
* Fixed TableView always showing selected cell(s) even when not focused
* Changed CsvEditor label to a text field to show focus changing and allow manually entering a cell
* Fixed TableView_ColorsTest_ColorGetter and improved Exception when wrong colors are used
* Added full focused/not test suite for TableView
* Support for flexible column widths in TableView
* Fixed not respecting min width of MinAcceptableWidth an added UICatalog support
* Added menu options for SmoothHorizontalScrolling and setting all MinAcceptableWidth to 1
* spelling fix
* TableView scroll down goes one line at a time
Fixes#1626
* Removed accidentally committed test
* Updated test comments
* Added TableStyle.SmoothHorizontalScrolling
* Add explicit break into while for when scrolled to last column.
* Added tests for SmoothHorizontalScrolling
* Refactored ProcessKey to use public methods for case logic
* Added KeyBinding class
* Refactored key binding to split key->command from command->implementation
This reduces duplication and simplifies the API
* Finishing key bindings implementation in ListView.
* Adding more unit tests to the ListView.
* Added key bindings to the Button and more features.
* Replaces Action for Func<KeyEvent, bool> on CommandImplementations.
* Allowing commands to have any number of arguments.
* Implementing key bindings on Checkbox view.
* Added test for changing HotKey in Button and made ReplaceKeyBinding protected
* Changed `CommandImplementations` to `Func<KeyEvent, bool>` to better understand current command implementations
* Implementing key bindings in ComboBox.
* Renamed Command keys and fixed ComboBox issues:
- Fixed pressing Esc in ListAndCombos scenario without selecting cause an array out of bounds error
- Changed the Esc key in ComboBox to also collapse the list selection
- Added bool return to public virtual method Expand and Collapse (this is a breaking change)
* Implementing key bindings in DateField.
* Organizing some things.
* Implementing key bindings on TimeField.
* No key bindings on FrameView.
* Added keybinding support to TreeView
* Added mouse support and more features.
* Updating NuGet packages.
* Putting text on the same line.
* Changing function command to Func<bool>.
* Added a read only Position, CursorPosition properties and events.
* Keybindings for GraphView
* Added a stream argument to ApplyEdits to only save the edits.
* Implementing key bindings on the HexView.
* Added MenuOpened event and others bug fixes.
* Fixing typo.
* Unifying constructors initializations.
* Implementing keybindings in the Menu.
* Removing unnecessary variable.
* Implementing keybindings in RadioGroup view.
* Changing Home to TopHome and End to BottomEnd.
* Implementing keybindings in the ScrollView.
* Changing the PageLeft and PageRight keybindings.
* Fixing PageLeft and RightPage.
* Removing CleanUp command.
* Key bindings for TabView
* Keybindings for TableView
* Fixed unit tests for PageDown to correctly assign input focus to the TableView
* Fixes the CalculateLeftColumn method avoiding jump two columns on forward moving.
* Fixes#1525. Gives the same backspace behavior as TextView.
* Changes kill-to-start key to work on Linux too.
* Fixes SelectedStart, SelectedText and some cleaning.
* Implementing keybindings in TextField.
* Updated command names and merged as discussed with @BDisp
- Merged LeftItem and LeftChar to Left (same for Right).
- Also renamed Kill to Cut
- Added ScrollLeft / ScrollRight (and renamed ScrollLineUp to just ScrollUp
* Renamed Command.InsertChar to ToggleOverwriteMode and added Enable/Disable
* Removed 'Mode' suffix from toggle overwrite
* Allows navigation to outside a TextView if IsMdiContainer is true.
* Implementing keybindings in Toplevel.
* Fixing null reference exception.
* Changing to keys instances events instead static.
* Transferring the events to the Toplevel.
* Implementing keybindings in TextView.
* Removing static from the QuitKeyChanged and adding unit test.
* Replacing Added with the Initialized event.
* Ignore control characters and other special keys.
* Changing InvokeKeybindings to return Nullable bool and added two more keys to the Toplevel.
* Implementing keybindings in Autocomplete. I had to derive from View.
* Added keybindings menu item to UICatalog
* Added ClearBinding
* Implementing IAutocomplete, abstract Autocomplete and derived TextViewAutocomplete.
* Implementing keybindings in the TextValidateProvider
* Add keybinding to CellActivationKey.
* Fixing some formats.
* Add ObjectActivationKey to the keybindings.
* Made it much easier to implement abstract base `Autocomplete` in other views by moving methods up out of `TextViewAutocomplete` implementation
* Allowing Autocomplete to popup inside or outside the container.
* Fixes the cursor not being showing if the text length is equal to the view width.
* A unit test to prove the 4df5897.
* Removed unused method `GetCursorPosition` from Autocomplete
* Trimmed down implementation specific methods from IAutocomplete
* Fixed xmldoc comment tag
* Format Autocomplete on multiline and fixes wrap settings.
* Adding keys from a to z to avoid the Key.Space on ToString.
* Fixes the vertical position outside the container.
* Adding more key unit tests.
* Changing comment to upper case and proving that doesn't will breaking nothing.
* Replaces Pos.Bottom to Pos.AnchorEnd.
* Fixes popup on resizing.
* Should only using the Pos.Bottom to position outside the view.
* Fixes#1584
* Fixes https://github.com/migueldeicaza/gui.cs/issues/1584#issuecomment-1027987475
* Fixes some bugs with SelectedItem.
* Command must also return a nullable bool.
* Ensures updating the ComboBox text on leaving the control.
* Only with the nullable bool was possible to make the MoveUp and the MoveDown working.
* Added logging of which scenario failed in test
Co-authored-by: BDisp <bd.bdisp@gmail.com>
* Adds a final vertical column line at the end of the last header in TableView
* Added clear line as first step in RenderRow
* Added TableStyle.EnforceMaxWidthOnLastColumn
* Added Scenario toggle setting and tests
* Fixed EnforceMaxWidthOnLastColumn when Bounds match exactly the last column width
* Fixed whitespace and comment on ColumntoRender.Width
* Renamed EnforceMaxWidthOnLastColumn to ExpandLastColumn
* Empty GraphView with basic axis
* Added ISeries
* Added zoom
* Fixed zoom
* Tests and scrolling
* Refactored AxisView into abstract base
* Added atomic mass example
* Added Y axis labels
* Added Y axis labels
* comments
* Refactored axis to not be floating views
* Split axis drawing code to seperate draw line from draw labels
* Added MarginBottom and MarginLeft
* Added bar graph
* Fixes horizontal axis label generation
* Fixed axis labels changing during scrolling
* Added test for overlapping cells
* Added TestReversing_ScreenToGraphSpace
* Changed graph space from float to decimal
* Added axis labels
* Fixed issues where labels/axis overspilled bounds
* Fixed origin screen coordinates being off by 1 in y axis
* Added Orientation to BarSeries
* Added comments and standardised Name to Text
* Added prototype 'population pyramid'
* Fixed bar graphs not stopping at axis
* Added Reset and Ctrl to speed up scrolling
* Added line graph
* Fixed LineSeries implementation
* Made LineSeries Points readonly and sort on add
* Fixed RectangleD.GetHasCode()
* Improved performance of LineSeries
* Added color to graph
* Fixed colors not working on linux
* Added Visible and ColorGetter
* Added Ctrl+G Next Graph
* Added MultiBarSeries
* Fixed layout issue with population pyramid
* fixed y label overspill and origin rendering
* Fixed warnings
* Made examples prettier
* Fixed xAxis potentially drawing labels outside of control area
* Fixed multi bar example labels
* Added IAnnotation
* Added example of using GraphPosition in IAnnotation
* Fixed Annotations drawing outside of graph bounds
* Fixed Reset() not clearing Annotations and sp fixes
* Changed line drawing to Bresenham's line algorithm and deleted CohenSutherland
Testing for collisions with screen space is very slow and gives quite thick lines. I looked at Xiaolin Wu which supports anti aliasing but this also would require more work to look good (out of the box it just looks thick).
* Fixed layout/whitespace
* Graph now renders without series if annotations are present
* Fixed ScreenToGraphSpace rect overload
* Added SeriesDrawMode for when it is easier/faster for a series to draw itself all in one go
* Added LegendAnnotation
* Added tests for correct bounds
* Added more tests
* Changed GraphView namespace to Terminal.Gui.Graphs
* Made Line2D and Horizontal/Vertical axis private classes
* Made AxisIncrementToRender.Text internal to avoid confusing user when implementing `LabelGetterDelegate`
* Changed back from decimal to float
* Refactored axis label drawing to avoid rounding errors
* Fixed over spilling bounds when drawing bars/axis increments
* Re-implemented disco colors
* Added Minimum to Axis
* Fixed tests build and render order
* Fixed test by adjusting epsilon
* tidyup, docs and warning fixes
* Standardised parameter order and added axis test
* Fixed x axis line drawing into margins and added tests
* Fixed axis increment rendering in margins, tests and tidyup examples
* Added test for BarSeries
* Added more BarSeriesTests
* Split GraphView.cs into sub files as suggested
* Fixed pointlessly passing around ConsoleDriver and Bounds
* Fixed colored bars not reseting color before drawing labels
* spelling fixes
* Replaced System.Drawing with code copied from dotnet/corefx repo
* Change to trigger CI
* Added tests for MultiBarSeries
* Added test support for Asserting exact graph contents
* Added xml doc where missing from System.Drawing Types
* Standardised unit test namespaces to Terminal.Gui
* Fixed namespace correctly this time after merging main
* Fixed test to avoid using Attribute constructor
* Reduced code duplication in test by moving InitFakeDriver to static in GraphViewTests
* Added TextAnnotationTests and improved GraphViewTests.AssertDriverContentsAre
* Added more TextAnnotation tests and fixed file indentation
* Added tests for Legend and Path
And fixed TruncateOrPad being off by 1 when truncating
* Removed unused paths in TruncateOrPad
* tweaked version # for v1.0.0-beta.10
* tweaked version # for v1.0.0-beta.11
* Updated readme and revision history for 1.0
* excluding test results
* Added support for viewing code coverage results with Fine Code Coverage
* add generating CC to CI/CD
* refactored unit test namespaces
* more refactoring. commented out failing test.
* Removed UnitTests and UICatalog from code coverage reporting
* made Application and test more deterministic
* disabled Multi_Thread_Toplevels because it is currently broken and don't understand why
* updated threading test per @bdisp
* testing cc badge stuff
* another test
* using coverlet.settings
* trying copy
* trying cp. duh.
* trying mv.
* wrong path
* print
* chaging badge output for testing
* yaml error
* fixed code coverage
* moved dimtests to core