Commit Graph

31 Commits

Author SHA1 Message Date
Tigger Kindel
05e203c7a4 lots of fixes 2023-10-04 06:42:47 -06:00
Tig
4d6781e5f9 Fixes #2649 - Unit Tests on Windows are failing (#2650)
* attempt to fix

* Removed unneeded ToString() calls

* Forced all unit tests to use FakeClipboard
2023-05-21 17:45:02 +02:00
BDisp
713b2c4725 Fixes #92. Remove dependency on ustring. (#2620)
* 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>
2023-05-20 19:35:32 +02:00
Tig
b4552ee14b Fixes #2493. Move all layout code out of View (and Toplevel) into a layout helper class (#2544)
* Comment/warning clean up

* Moved Text and Drawing out

* Moved Layout out

* Removed extra lines

* Removed Mouse out

* Reorgainzed View

* API docs

* removed border.cs

* TopLevel.Resized -> TerminalResized

* Mdi -> Overlapped

* Removed confusing and un-needed WillPresent

* privates -> _

* Tweaked RunLoop API
2023-04-14 10:26:10 -06:00
Tig
a637f8a29c Fixes #2486 - Removes old Border and fixes a litany of related things (#2525)
* Added View.BorderStyle and renamed BorderStyle enum to LineStyle

* Fixed a lot of things and broke everything else

* Fixed things

* Updated DialogTests

* Updates including Rect unit tests

* Fixed Dialog & MessagBox tests

* Fixed AllviewsTester bug

* Fixed AllviewsTester bug

* Removed Border class

* Renamed View privates with _

* Removed comments in MessageBox.cs
2023-04-10 17:34:52 -06:00
Tig
574ed8fec7 Fixes #2469 - Revamp file structure and namespace (#2471)
* initial commit

* All tests pass

* Updated readme

* Revert "All tests pass"

This reverts commit 94ac462350.

* Revert "initial commit"

This reverts commit 36d92cc4e5.

* Moved Terminal.Gui files around

* Nuked .Graphs namespace

* Nuked .Graphs namespace

* Nuked .Trees namespace

* Nuked .Configuration namespace

* Nuked .Configuration namespace

* All tests pass

* tweaked tests

* removed unneeded usings

* re-enabled scrollview tests

* move scrollview test to ScrollViewTests

* Moved view navigation related tests to separate cs file

* Moved view scrollbarview related tests ScrollBarTestse

* Refactored View tests into smaller files

* Refactored driver tests

* Fixed a ton of BUGBUGs
2023-04-06 10:09:21 -06:00
Tigger Kindel
49561439e0 Fixed and simplified dialog tests 2023-03-27 14:00:57 -06:00
Tigger Kindel
791976428e merged !!! woot. 2023-03-20 17:22:11 -06:00
Tig Kindel
7f1471283f mergeed 2023-03-18 16:09:08 -07:00
tznind
3bec36ac47 Change Action to EventHandler for more events 2023-03-12 02:10:22 +00:00
tznind
bdcbd55856 Switch to EventHandler<ToplevelEventArgs> for
- Activate
- Deactivate
- ChildClosed
- Closed
- ChildLoaded
- ChildUnloaded
2023-03-11 10:18:39 +00:00
tznind
58c267fd7c Switch to EventHandler for TopLevel methods
- Loaded,
- Ready
- Unloaded
- AllChildClosed
2023-03-11 10:08:36 +00:00
Tig Kindel
57cd5ff73a Fixed broken Dialog scenario and other issues 2023-02-22 17:56:50 +13:00
Tig Kindel
4bbd359745 Removed a ton of code 2023-02-21 22:57:11 +13:00
BDisp
9d1a429676 Implementing nullable bool checked on CheckBox. 2023-01-30 14:32:18 +00:00
Charlie Kindel
bf1ed31281 Refactored UI Catalog and added tons of unit tests 2022-11-03 15:58:15 -06:00
Tig Kindel
492966048c Fixes #1849. Wizard as non-popup is broken (#1853)
* trying to make it work

* Fixes #1849. Wizard as non-modal doesn't work

* Fixes #1855. Window and Frame content view without the margin frame.

* Fixing layout of non-modal

* WizardSTep is now a FrameView

* Now use Modal = false to set visual style automatically

* Removed Controls as an explicit construct. Now just Add to WizardStep

Co-authored-by: BDisp <bd.bdisp@gmail.com>
2022-07-21 05:57:25 -07:00
BDisp
e02df8c043 Added some more features and bug fixes. 2022-07-04 11:22:27 -04:00
Tig Kindel
2451c19d15 Wizard fixes (#1802)
* Fixes #1791. Added Pos/Dim Function feature to automate layout.

* Added PosFunc/DimFunc class. and some more features.

* Fixes #1793. ScrollBarView is hiding if the host fit the available space.

* Fixes #1791. View not turn off AutoSize if TextFormatter.Size fit the Anchor.

* Done requested changes.

* Addressing feedback

* Added more AutoSize unit tests.

* wip

* Refactored and enhanced API

* Fixed test

Co-authored-by: BDisp <bd.bdisp@gmail.com>
2022-06-14 08:54:33 -07:00
BDisp
10b410e406 Wizard and Dialog fix. (#1803) 2022-06-13 15:55:39 -07:00
Tig Kindel
48dbbb05a7 Adds multi-step Wizard view (#1783)
* Initial commit for Wizard

* Fixes #1777 - Dialog button justification. Adds unit tests

* Added missing API doc

* Work in progress

* Added tests for wide chars

* Tests

* more tests

* wip

* fixed test that broke by adjusting dialog button alignment

* fixed test that broke by adjusting dialog button alignment

* Fixed Dialogs scenario crash re: Parse v TryParse

* broke tests. can't figure out how.

* Revert "broke tests. can't figure out how."

This reverts commit f3c53928ac.

* Fixed unit tests

* Reverted workaround that doesn't work

* Refactor and cleanup
2022-06-12 13:24:29 -07:00
Tig Kindel
4a338bc693 Fixes #1777 - Dialog button justification. Adds unit tests. (#1782)
* Fixes #1777 - Dialog button justification. Adds unit tests

* Added missing API doc

* Added tests for wide chars

* more tests

* fixed test that broke by adjusting dialog button alignment

* fixed test that broke by adjusting dialog button alignment

* Fixed Dialogs scenario crash re: Parse v TryParse
2022-06-12 09:08:41 -07:00
Charlie Kindel
32ae3cb62f Cleaned up Categories and Scenario descripitons. 2022-04-17 15:48:48 -07:00
BDisp
239191cde0 Fixes #1434. Regenerating the docs. (#1528)
* Fixes #1434. Regenerating the docs.

* Fixing warnings on docs regeneration and improving.
2021-12-18 05:33:40 -08:00
BDisp
8dabd16975 Fixes #1276. Added TextDirection constructor to View and Label and improving AutoSize. (#1277)
* 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.
2021-05-02 11:21:08 -07:00
BDisp
e784765094 Fixes #1179. TextView does not copy to the clipboard on deleting. (#1180)
* 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.
2021-04-13 13:37:13 -07:00
BDisp
06a001d5ea horizontalRuler.Text and verticalRuler.Text of the Scrolling scenario only need setted once, avoiding continuous redrawing. 2020-11-17 14:49:42 +00:00
BDisp
fa0827a4af Fixes #1007. Added a Loaded event in the Toplevel class. 2020-11-15 20:57:08 +00:00
BDisp
4bbe50c506 Fixes #990. Pos and Dim only can be properly used when all the views are totally initialized. 2020-11-04 16:45:35 +00:00
Artyom
6aef632633 Button.Clicked as a C# event 2020-09-23 01:01:53 +03:00
Charlie Kindel
fddfcf8802 Charlie's Mondo Patch (#600)
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.
2020-06-03 11:33:06 -04:00