* Added View.DefaultCommand etc... Started on dedicated scenario
* Fixed un-shifted hotkeys -> Fixed Key Equals. Fixed WindowsDriver passing wrong key. Etc.
* Fixed Key Bindings and HotKeys
* Fixed Key Bindings and HotKeys
* Label now correctly supports hotkey
* Disabled unix hot keys because they are annoying and get in the way
* Updated nuget. fixed warnings
* Trying to fix ci/ci issue
* Trying to fix ci/ci issue
* Trying to fix ci/ci issue
* Changed TextChangingEventArgs to inherit from CancelEventArgs
* TextChangingEventArgs -> TextEventArgs
* Simplified Text events by having only on args class
* Fixed unit tests fail
* Simplified by removing TitleEventArgs
* POC of Title being primary for hotkey. Label and Button hacked to work
* POC of Title being primary for hotkey. Label and Button hacked to work - all unit tests pass
* Dropped Microsoft.NETFramework.ReferenceAssemblies
* Fixed Dialogs scenario hotkeys
* Fixed build warnings
* Fixed Border Title render bug
* Regiggering default command handling
* Regiggering default command handling
* Checkbox clean up
* Added StateEventArgs POC
* Command.Default -> Command.HotKey
* Command.Default -> Command.HotKey - fixed TableView
* Command.Default -> Command.HotKey - fixed TableView
* Updated reactive example
* Fixed Toplevel.BringOverlappedTopToFront - was reordering SubViews when it shouldn't
* WIP - broke
* Finished impl of StateEventArgs
* Deleted ToggleEventArgs.cs. Added StateEventArgs.cs
* XML doc fix
* Removed old code
* Removed commented out code
* Label.Clicked -> Label.Accept (missed this before)
* Removed Labels as Buttons scenario as it's not really useful
* Moved SubView tests to own file
* Moved SubView tests to own file
* Simplified Text test
* Added OnAccept test
* Deleted DefaultCommand
* Modernized CheckBox
* New button test
* Cleaned up RadioGroup; added tests
* KeyCode->Key in ListView
* Added ListView unit tests
* ListView now does Accept correctly
* TreeView now does Accept correctly
* Cleaned up some TextField tests
* TextView now handles Accept properly; updated CharMap and Adornments scenarios to test
* Fixed ComboBox to deal with TextView now handles Accept properly; updated CharMap and Adornments scenarios to test
* Removed un-needed using statement
* Removed resharper settings from editorconfig
* Remove constructors with frame parameters from Button class.
* Remove constructors with frame parameters from CheckBox class.
* Cleanup code.
* Remove constructors with frame parameters from ComboBox class.
* @BDisp
Remove constructors with frame parameters from FrameView class.
* Remove constructors with frame parameters from Label class.
* Remove constructors with frame parameters from ListView class.
* Remove constructors with frame parameters from ScrollBarView class.
* Remove constructors with frame parameters from ScrollView class.
* Remove namespace braces.
* Cleanup code.
* Cleanup code.
* Cleanup code.
* Remove constructors with frame parameters from TextField class.
* Remove constructors with frame parameters from TimeField class.
* Fixes#3182. OnResizeNeeded returns int.MaxValue and int.MaxValue when Application.Top is null, should return Size.Empty.
* Remove constructors with frame parameters from Toplevel class.
* Remove constructors with frame parameters from Window class.
* Fix merge errors.
* Revert "Fixes #3182. OnResizeNeeded returns int.MaxValue and int.MaxValue when Application.Top is null, should return Size.Empty."
This reverts commit cf9c24b846.
* Revert unit test.
* Fixes#2882. TabView: 'Frame.DrawFrame(Rect, bool)' is obsolete: 'This method is obsolete in v2. Use use LineCanvas or Frame (#2980)
* Fixes#2882. TabView: 'Frame.DrawFrame(Rect, bool)' is obsolete: 'This method is obsolete in v2. Use use LineCanvas or Frame
* Trying fix this unit test that sometimes fail.
* Fixes#2983. View need a alternative DrawFrame for the v2.
* Use new DrawFrame method.
* Change _lines field to Lines property.
* Add TabWindow unit test.
* Add DrawIncompleteFrame method and unit tests.
* Add more unit tests to LineCanvas.
* Fix newline conflict errors.
* Revert "Change _lines field to Lines property."
This reverts commit ab6c5f3094.
* Add DrawIncompleteFrame method and unit tests.
* Add more unit tests to LineCanvas.
* Fix newline conflict errors.
* Force render immediately instead of join.
* I will never rely on zero-location-based unit test again.
* Fix TestTreeViewColor unit test fail.
* Using location of 3 to avoid be divisible by 2 and so avoiding bugs.
* Revert "Using location of 3 to avoid be divisible by 2 and so avoiding bugs."
This reverts commit dd3df135d8.
* Revert "I will never rely on zero-location-based unit test again."
This reverts commit 62adf6f285.
* Revert "Fix newline conflict errors."
This reverts commit 4acf72612d.
* Revert "Add more unit tests to LineCanvas."
This reverts commit 66bc6f514e.
* Revert "Add DrawIncompleteFrame method and unit tests."
This reverts commit 680ba264e1.
* Resolving merge conflicts.
* Revert "Use new DrawFrame method."
This reverts commit 69a7f17f19.
* Revert "Fixes #2983. View need a alternative DrawFrame for the v2."
This reverts commit dade9fd767.
* Reverting this changes to start a new one.
* Add horizontal and vertical support for combining glyphs.
* Fix text and auto size behavior.
* Add TabWidth property.
* Add unit test for WordWrap.
* Fixes#3017. View TextDirection returns incorrect size on a vertical direction instance with AutoSize as false.
* Using Frame to force read from the get method.
* Fix some issues with AutoSize and ForceValidatePosDim.
* Fixing broken unit tests.
* Restoring code I've broken.
* Removing forgotten code.
* Only LayoutStyle.Computed can change the Frame.
* DateField and TimeField depends on LayoutStyle.Computed.
* Fix unit tests related with LayoutStyle.
* Implements tabs, left and right arrows as View.
* Draws a minimum full border.
* Adds missing XML parameter.
* Adds assert tests for Frame.
* Removes duplicates InlineData.
* Adds more unit tests for minimum full border without Left and Right thickness.
* Trying to fix the TestTreeViewColor unit test fail.
* Prevents a user to set TextDirection to -1.
* Prevents any invalid TextDirection value.
* Removes (TextDirection)(-1).
* Removes unnecessary TextDirection initialization.
* Removes LayoutStyle.
* Fixing unit tests with border.
* Trying to fix TestTreeViewColor again.
* Revert "Trying to fix TestTreeViewColor again."
This reverts commit c2efa8e42e.
* Trying to fix TestTreeViewColor again.
* Fix merge errors.
* Fix merge errors.
* Restoring unit test.
* Restores the right XML comment.
* Fix Disposing unit tests that sometimes throws because some instances aren't cleared on others unit tests classes.
* Fix Disposing unit tests that sometimes throws because some instances aren't cleared on others unit tests classes.
* Only call OnResizeNeeded if it's LayoutStyle.Computed.
* Fix merge errors.
* Fix merge errors.
* Fix unit tests fail.
* Reformat.
* Again.
* Rename to OnDrawAdornments.
* Fix failing unit tests.
* Reduces indentation and cleanup code.
* Cleanup code.
* Fix bug done when cleanup.
* Replace FrameHandledMouseEvent to AdornmentHandledMouseEvent.
* Removes Tab constructor parameters.
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* Fix merge errors.
* Remove constructors with parameters from Button.
* Remove parenthesis on objects initializers from Button.
* Remove constructors with parameters from CheckBox.
* Remove parenthesis on objects initializers from CheckBox.
* Remove constructors with parameters from ComboBox.
* Remove constructors with parameters from FrameView.
* Remove parenthesis on objects initializers from FrameView.
* Initial commit
* Renamed Direction enum for clarity in refactoring unit tests
* Moved nav tests to NavigationTests
* Moved view tests around
* Cleaning up TextFormatter and View.AutoSize code
* Fixed latent TextFormatter bug with \n
* removed Application dependency on some autosize unit tests
* Fixed Label tests to deal with auotsize overriding height/width
* Fixed more label tests. WIP
* Fixed all places where AutoSize = happend after setting Dims
* Started adding new primitive View.Text tests
* Code comments
* WIP: Enforce that it makes no sense to set Width/Height if AutoSize = true. Update Unit tests to match.
* WIP: Enforce that it makes no sense to set Width/Height if AutoSize = true. Update Unit tests to match.
* Remove frame set from the View constructor and prevent SetRelativeLayout running if not yet initialized.
* Changes needed for unit tests pass on remove parameters constructors from the Label class.
* Remove constructors with parameters from Label.
* Remove parenthesis on objects initializers from Label.
* Prefix private fields with underscore.
* Renamed to MaxLength.
* Remove constructors with parameters from ListView.
* MakeWrapper not needed anymore.
* Remove parenthesis on objects initializers from ListView.
* WIP: Enforce that it makes no sense to set Width/Height if AutoSize = true. Update Unit tests to match.
* Massive code cleanup - use parameterless constructors and ensure AutoSize is set properly. Code reformat.
* Massive code cleanup - use parameterless constructors and ensure AutoSize is set properly. Code reformat.
* Fixed messagebox
* Remove constructors with parameters from ScrollBarView and ScrollView.
* Remove parenthesis on objects initializers from ScrollBarView and ScrollView.
* Cleanup code.
* Fix merge errors.
* Add empty dotsettings for solution and projects.
* Set ReSharper language analysis level for projects to C#12
* Make ReSharper consider itself the boss for style
* Add rule to enforce property backing fields above the property
* Disable auto-detection of naming rules so ReSharper doesn't change them by itself
* Don't let someone's VS settings override the indent settings
* Explicitly set tab width to 4 spaces and force spaces.
* Rules to keep various multi-line constructs aligned within themselves
* Curly brace rules (Using K&R style, per current project spec)
* Blank line rules
Mostly to add breaks in various situations, and also to enforce max of 1 blank line.
* Increase auto-wrap to 160 from default of 120
* Line break at end of all files, to make Unixy systems happy
* Keep attributes on their own lines except for methods and records that are themselves single-line
* Increase attribute auto-wrap to 60 from default of 38
* Wrap/chop rules for long method signatures and record declarations
Chop if either already multi-line or if over 8 parameters.
Chop AFTER the left paren and BEFORE the first parameter.
* Chop rules for generics
For generics with multi-line type parameters or multiple type parameter constraints, chop in a way that has consistent alignment.
* Always enforce enum members on their own lines
* One-line functions completely on one line
They're usually expression-bodied anyway, here, so this is almost irrelevant
* Keep control flow statements on their own lines
* Follow same chop rules for method invocation as method declaration
* Chop long or multi-line method chains or patterns
* Wrap rules for binary operators
Operator at beginning of new lines
Auto-chop if long or already multi-line
* Spaces between keywords and their opening parentheses
* Add file layout rules for organization of reorderable items like fields, properties, etc.
Ugly XML, so load it up in the UI to look at it
It's MOSTLY the ReSharper defaults, but with more aggressive sorting, generally by access modifier and name, within each grouping.
* Deconstructors use per-member types
* Use keywords for built-in types and increase severity of inspection for violations
Also apply to IntPtr and similar, which should now be nint and similar
* Apply syntax style on completion.
* Use var when evident for built-in and simple types, but not elsewhere
* Increase severity for some minor redundancy and clarity inspections
* Enforce braces always required for blocks, and treat as error
* Warn if a local function is not statement-bodied
* Increase various inspection severities
IF Condition => Severity:
Attributes not wrapped property => Suggestion
Constructors expression-bodied => Error
default doesn't have type when it isn't clear => suggestion
Namespaces not file-scoped => error
Methods not statement-bodied => hint
Null check pattern not the object property pattern => Error
* Adjust preference order of null check patterns to make object pattern highest
* XmlDoc rules to keep tags and contents aligned and wrapped
* Add a few custom profiles for code cleanup and make the full profile default
* Remove parts for languages not used in this solution
* copied in v2_develop changes
* Merged v2_develop
* Added Begin/Init unit tests. Removed Application dependencey from AutoSizeFalse tests
* TextFormatter.Lines -> GetLines ()
* Let ReSharper know we intend to localize things
* TextFormatter code cleanup
* copied in v2_develop changes
* Merged v2_develop
* Spaces aren't wanted here either.
* Fix merge errors.
* Fixes ContentBottomRightCorner related with https://github.com/gui-cs/Terminal.Gui/issues/3211#issue-2098878820
* Remove constructors with parameters from ContextMenu.
* Remove commented code.
* Remove constructors with parameters from OpenDialog.
* Remove constructors with parameters from SaveDialog.
* Remove constructors with parameters from TextField.
* Remove constructors with parameters from TimeField.
* Fix unit test.
* Remove unnecessary SetInitialProperties method.
* Remove unnecessary SetInitialProperties method.
* Remove parenthesis on objects initializers from Toplevel and Window.
* Remove constructors with parameters from RadioGroup.
* Remove constructors with parameters from TextView.
* Remove constructors with parameters from MenuBar.
* TEMPORARY: Turn everything that was set to error down to warning or lower
* Fixes#3219. MenuBar is opened by call OpenMenu even it's disabled.
* Remove constructors with parameters from Menu.
* Remove constructors with parameters from View.
* Change constructor to internal because is mainly useful for testing.
* ReSharper Cleanup Code.
* Added format only r# config
* Fixes#3224. TextFormatter.Lines should return a single string.Empty list even with Width or Height equal to zero.
* Remove constructors with parameters from Dialog.
* Remove constructors with parameters from TextValidateField.
* Fixes https://github.com/gui-cs/Terminal.Gui/issues/3224#issuecomment-1924096038
* Fixes#3225. Press CursorDown on TabView doesn't move to the next view.
* Fixes#3229. TextFormatter should have a FillRemaining property.
* Testing formatting merge in bdisp
* Testing formatting merge
* Testing formatting merge bdisp
* Testing formatting merge 2
* xmldoc format
* R# Full Code Cleanup
* R# Full Code Cleanup2
* R# Full Code Cleanup2
* Merged! But broke tests
* Refixing...
* Refixed DrawTests
* Refixed ViewTests
* Refixed Text Tests
* Refixed more unit tests
* Refixed scenarios
* Refixed rest of scenarios
* Refixed ViewsTests
* Refixed rest of tests. All unit tests pass again!
* Fixed warnings
* Updated R# version. Added new code cleanup settings
* Applied latest code cleanup to solution
* Another code cleanup pass
* Tweaked r# settings. .editorconfig now matches.
* r# else on separate line
* r# - update
* r# - full solution
* test commit
* test commit
* test commit
* Removed extra profiles
* Full cleanup following cleaning up profiles
* Null checking pattern rules/inspections
* Tabs and extra whitespace are evil
* Attributes on their own lines
* Code layout rules to put fields first and to put backing fields with their properties
* Merged v2_develop
* Full cleanup following dodexahedron's PR
---------
Co-authored-by: BDisp <bd.bdisp@gmail.com>
Co-authored-by: Brandon Thetford <github@snapsinazfs.com>
* Removed resharper settings from editorconfig
* Moved ColorScheme to ColorScheme.cs
* Moved ColorScheme to ColorScheme.cs
* Potential fix. PlatformColor was not being set by FakeDriver correctly.
* Made ColorScheme effectively readonly
* Removed Color.Base etc... Updated API docs.
* Updated overview docs
* Updated toc
* Updated docs more
* Updated yml via dependabot
* Initial work in progress
* Fixed some autosize things
* Revamped Pos / Dim API docs
* Removed margin
* horiz->width
* Updated MessageBoxes and Dialogs Scenarios to use AutoSize
* AutoSize->Auxo
* Adds validation
* prep for Dialog to use Dim.Auto - Simplify unit tests to not depend on things not important to the unit test (like Dialog)
* prep for Dialog to use Dim.Auto - Simplify unit tests
* prep for Dialog to use Dim.Auto - Simplify unit tests
* prep for Dialog to use Dim.Auto - Make Dialog tests not depend on MessageBox
* Started on DimAuto unit tests
* started impl on min/max.
* started impl on min/max.
* Added DimAutoStyle
* Added arg checking for not implemented features
* Temporarily made DimAutoStyle.Subviews default
* Removed unneeded override of Anchor
* Fixed GethashCode warning
* Implemented DimAuto(min)
* Fixed unit tests
* renamed scenario
* WIP
* Moved ViewLayout.cs into Layout folder
* Clean up cocde formatting
* Renamed and moved SetFrameToFitText
* Fixed API docs for SetRelativeLayout
* Factored out SetRelativeLayout tests
* Better documented existing SetRelativeLayout behavior + unit tess
* Debugging Pos.Center + x in SetRelativeLayout - WIP
* Progress on low level unit tess
* Initial commit
* Restored unmodified scenarios
* Bump deps
* Remove NStack and replace ustring to string.
* Add unit test and improving some code.
* Adjust code and fix all unit tests errors.
* Add XML Document and move the Rune folder into the Text folder.
* Improve unit tests with byte array on DecodeRune and DecodeLastRune.
* Fix unit test.
* 😂Code review
* Reduce unit tests code.
* Change StringExtensions.Make to StringExtensions.ToString and added some more unit tests.
* Fix merge errors.
* Remove GetTextWidth and calls replaced with StringExtensions.GetColumns.
* Hack to use UseSystemConsole passed in the command line arguments.
* Revert "Hack to use UseSystemConsole passed in the command line arguments."
This reverts commit b74d11c786.
* Remove Application.UseSystemConsole from the config file.
* Fix errors related by removing UseSystemConsole from the config file.
* Fixes#2633. DecodeEscSeq throw an exception if cki is null.
* Fix an exception if SelectedItem is -1.
* Set SelectedItem to 0 and remove unnecessary ToString.
* Using a unique ToString method for Rune and other for byte.
* Fix a bug where a wider rune is added with only a width of 1.
* Force the SelectedGlyph is the one that was typed after jumpList is executed.
* Added more InlineData to RuneTests.
* Reducing significantly the code by using Theory attribute in the TextFormatterTests.
* Override PositionCursor to handle the CharMap cursor position.
* Fix merge errors.
* Minor tweaks to API docs
---------
Co-authored-by: Tig Kindel <tig@users.noreply.github.com>
* Fixes#1800. TextView now uses the same colors as TextField.
* Replacing the textview to default in some scenarios.
* Removing TextView ColorScheme from the Wizard component.
* Changing someText color to be different from the help text color.
* Renamed some color methods as requested.
Co-authored-by: Tig Kindel <tig@users.noreply.github.com>
* Added AutoSize. CalcRect calculates vertical. Fixes Draw bug.
* Added TextDirection constructor. Ensuring set frame on Pos/Dim absolute. Improves AutoSize.
* Added a scenario for the AutoSize and TextDirection.
* Added more unit tests.
* Fixing some broken scenarios.
* Fixes others TextDirection that was not working.
* Fixes#1133. Flaw in LayoutSubviews/TopologicalSort.
* Toplevel can't be used on Pos/Dim but only his subviews. Was not caught before because the LayoutSubviews method never gone so deep before.
* Fixed the error that is triggered when the Pos/Dim is the current Application.Top.
* Application.Top is the only exception in the TopologicalSort method check.
* Fixes#1179. TextView does not copy to the clipboard on deleting.
* Added Button DoubleClick and fixed WordForward/WordBackward issues.
* Prevents a negative height.
* Fixes the enter key line feed.
* Fixes#1187. Prevents WordBackward throwing an exception if point is greater than the text length.
* Fixes#1189. Prevents negative index.
* Fixes#1193. A non auto size default Button now preserves his width and thus the text alignment now work.
* Fixing the Width and Height checks of the Dim class with AutoSize dependence.
* Fixes#1197. Prevents width negative value if added directly to the Application.Top
* Fixes#1199. Normalize views constructors and did some typo fixing.
* Fixing the Application.Top Pos/Dim settings.
* Always uses inverted color for selected text to avoid same colors.
* Prevents throw an exception if the clipboard content is null.
* Added Find and Replace (next/previous). Replace All and Select All. A non modal dialog box.
* Keeps tracking the selected replaced text.
* Fixes#1202. CheckBox now deals with a functional '_' underscore hotkey.
* The selected text should be maintained when losing focus.
* Fixes an extra line on page down.
* Fixes the WordBackward if it text has more than one whitespaces or when has only one digit or letter.
* Fixes WordForward/WordBackward on text with more than one whitespace or with only one digit or letter.
* Forgot to replace the hacking.
* Added unit tests for the TextField view. Fixed some more bugs.
* Redraw should only show the selected text if it is focused.
* Fixes cursor position on double click and ensures the setting of the selected text.
* Added match whole word checking.
* Added missing parameters documentation.
* Ensures the SelectedLength property to be always with positive value.
* Fixes the WordBackward when at the end of the text has a character between two whitespace.
* Added unit tests to the TextView, Used property and fixed some more bugs.
* Fixed Used to only show if it has focus.
* Fixed ReplaceAll and prevents Debug.Assert from showing.
* Fixes#1159. Dialog must have a default button if none is provided.
* Reverting this because someone may don't want buttons at all. Thanks @tig
* Allow to specify which default button for MessageBox.
* Added a check if default button is greater than the buttons length and changing the MessageBox scenario.
This PR includes:
#586 - Fixed Clipping
#587 - LayoutComplete
#591 - Sys Console Scenario
#590 - Significantly improves MessageBox, Dialog, Frame drawning and more
See the PRs above for all the details.
Here are the issues this closes:
Closes#299 - MessageBox now auto sizes
Closes#557 - MessageBoxes on small screens
Closes#432 - MessageBox does not deal with long text; width/height params are goofy
Closes#521 - MessageBox should take ustrings (BREAKING CHANGE)
Closes#35 - Dialog should have 1 char padding around edges
Closes#570 - Dialog should use computed layout for buttons
Closes#470 - UI Catalog: Add Dialogs Scenario
Closes#569 - LayoutComplete event
Plus probably more.
* key down/up support
* line endings?
* line endings
* KeyDown/Up support
* line endings
* line endings
* Revert "Drop NuGet restore"
This reverts commit 5c7a0d05f0.
* Revert "Revert "Drop NuGet restore""
This reverts commit 2dc5fce865.
* updated demo
* defined styles
* Smarter StatusBar bottom tracking.
* Prepping for https://github.com/migueldeicaza/gui.cs/issues/376
* Oops.
* Fixed StatusBar 'snap to bottom'
* line endings
* Revert "Fixed StatusBar 'snap to bottom'"
This reverts commit 9a91c957e2.
* started UICatalog project
* Initial working POC.
* Fix newlines
* merge
* textalignment demo tweaks
* textalignment demo tweaks
* Unicode Menu Scenario
* not sure why this keeps changing
* re-added project to .sln file
* re-enabled status bar
* moved scenarios to dir
* building a dim and pos demo
* terminal.sln
* progress...barely
* fixed exit
* progress with some underlying fixes to Label
* added readme
* fixes build issue
* launch
* made default colors readable on Windows
* major UI Catalog upgrade
* added more demos and updated readme
* refactored and added more tests
* added ref to Issue #437
* added OnKeyUp support to Curses and Net drivers
* more tweaks - grab PR #438 first
* Added a OpenSelectedItem event to the ListView #429
* updates
* moved KeyUpHandler out of special ESC stuff
* more tweaks & improvements
* testing top window bug
* supported OpenSelectedItem
* lots of updates
* fixed regression, fixed#444
* better button scenario
* tweaks
* add Ready event to Toplevel
* dotfx .gitignroe
* ready for ready
* updated colors based on feedback; consolodated config code
* tweaked readme
* readme
* Added Editor demonstrating TextView
* Added Editor demonstrating TextView
* added hexeditor scenario
Co-authored-by: Miguel de Icaza <miguel@gnome.org>
Co-authored-by: BDisp <bd.bdisp@gmail.com>