mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-29 17:28:01 +01:00
282c434fda8ac5c1f2fdaf75ceaf3977458f79f2
22 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
3d807c3833 |
Merge branch 'v2_develop' into v2_3256_prepare_for_Rect_removal
* v2_develop: Fixes #3039. Fix View.HotKey (#3249) |
||
|
|
16055c53b0 |
Fixes #3039. Fix View.HotKey (#3249)
* 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 |
||
|
|
a638edeeaf | Rename Rect to Rectangle in preparation for removal | ||
|
|
4430fe2cc6 |
Fixes #3192. Improve correctness / clarity of existing View.AutoSize functionality/unit tests (#3202)
* 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 |
||
|
|
2c725b877f |
Fixes #2944. Makes ColorScheme explicitly readonly, removes Colors.Base, etc..., Fixes intermittent TreeView unit test failures (#3175)
* 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. |
||
|
|
d2ad11248f |
Fixes #3127 - View Layout improvements - Redefines how LayoutStyle works. Fixes AutoSize etc... (#3130)
* Removes CheckAbsoulte and updates unit tests to match
* Fixed code that was dependent on ToString behavior vs. direct test for null
* Dim/Pos != null WIP
* Moved AutoSize specific tests out of Pos/Dim tests
* Broke out AutoSize = false tests to new file
* Commented test TODOs
* New test
* Removed unused API and cleaned up code
* Removed unused API and cleaned up code
* Cleaned up code
* Cleaned up code
* reorg'd Toplevel tests
* Fixed Create and related unit tests
* Added test from #3136
* Removed TopLevel.Create
* Fixed SetCurrentOverlappedAsTop
* Updated pull request template
* Updated pull request template
* Revert "Updated pull request template"
This reverts commit
|
||
|
|
a7209bcd88 |
Improves robustness of Dim, Pos, and SetRelativeLayout (#3077)
* 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 |
||
|
|
dcb3b359ad |
Fixes #2926 - Refactor KeyEvent and KeyEventEventArgs to simplify (#2927)
* Adds basic MainLoop unit tests * Remove WinChange action from Curses * Remove WinChange action from Curses * Remove ProcessInput action from Windows MainLoop * Simplified MainLoop/ConsoleDriver by making MainLoop internal and moving impt fns to Application * Modernized Terminal resize events * Modernized Terminal resize events * Removed un used property * for _isWindowsTerminal devenv->wininit; not sure what changed * Modernized mouse/keyboard events (Action->EventHandler) * Updated OnMouseEvent API docs * Using WT_SESSION to detect WT * removes hacky GetParentProcess * Updates to fix #2634 (clear last line) * removes hacky GetParentProcess2 * Addressed mac resize issue * Addressed mac resize issue * Removes ConsoleDriver.PrepareToRun, has Init return MainLoop * Removes unneeded Attribute methods * Removed GetProcesssName * Removed GetProcesssName * Refactored KeyEvent and KeyEventEventArgs into a single class * Revert "Refactored KeyEvent and KeyEventEventArgs into a single class" This reverts commit |
||
|
|
42b9ad1d61 |
Fixes #2578 - Updates mouse events to be relative to View.Bounds (#2920)
* initial commit * Clarified RootMouseEvent * Added application mouse coord tests * ViewToScreen -> BoundsToScreen * Simplified View.Move * Simplified View.Move * Updated API docs; made some functions private * more ViewLayout cleanup * more ViewLayout cleanup * Added View.ScreenToBounds and low-level coord unit tests * Partial fix * Refactored Application.OnMouseEvent... Tests still fail and views are broken * Added Bounds/FrameToScreen * Remamed ScreenToView->ScreenToFrame * All unit tests pass * Fixed ListView * Fixed TableView * Fixed ColorPicker * Fixed RadioGroup * Fixed ListView unit tests * Fixed line drawing scenario * Updated comment * fixed api doc typo * fixed formatting * added some thickness Contains unit tests * MouseEvent api doc updates * More thickness tests * More thickness tests |
||
|
|
6851b42a49 |
Fixes #2921 - MainLoop refactoring (#2922)
* Adds basic MainLoop unit tests
* Remove WinChange action from Curses
* Remove WinChange action from Curses
* Remove ProcessInput action from Windows MainLoop
* Simplified MainLoop/ConsoleDriver by making MainLoop internal and moving impt fns to Application
* Modernized Terminal resize events
* Modernized Terminal resize events
* Removed un used property
* for _isWindowsTerminal devenv->wininit; not sure what changed
* Modernized mouse/keyboard events (Action->EventHandler)
* Updated OnMouseEvent API docs
* Using WT_SESSION to detect WT
* removes hacky GetParentProcess
* Updates to fix #2634 (clear last line)
* removes hacky GetParentProcess2
* Addressed mac resize issue
* Addressed mac resize issue
* Removes ConsoleDriver.PrepareToRun, has Init return MainLoop
* Removes unneeded Attribute methods
* Removed GetProcesssName
* Removed GetProcesssName
* Refactored KeyEvent and KeyEventEventArgs into a single class
* Revert "Refactored KeyEvent and KeyEventEventArgs into a single class"
This reverts commit
|
||
|
|
1c133ba364 | Refactored CheckTimers into MainLoop and renamed/simplified | ||
|
|
05e203c7a4 | lots of fixes | ||
|
|
0820ce985f | Fixes #2810. Pressing Alt key on a Toplevel with only a MenuBar throws System.InvalidOperationException. | ||
|
|
0df485a890 |
Fixes #666. Refactor ConsoleDrivers to simplify and remove duplicated code (#2612)
* Added ClipRegion; cleaned up driver code * clip region unit tests * api docs * Moved color stuff from ConsoleDriver to Color.cs * Removes unused ConsoleDriver APIs * Code cleanup and Removes unused ConsoleDriver APIs * Code cleanup and Removes unused ConsoleDriver APIs * Work around https://github.com/gui-cs/Terminal.Gui/issues/2610 * adjusted unit tests * initial commit * Made Rows, Cols, Top, Left virtual * Made Clipboard non-virtual * Made EnableConsoleScrolling non-virtual * Made Contents non-virtual * Pulled Row/Col up * Made MoveTo virtual; fixed stupid FakeDriver cursor issue * Made CurrentAttribute non-virtual * Made SetAttribute non-virtual * Moved clipboard code out * Code cleanup * Removes dependecy on NStack from ConsoleDrivers - WIP * Fixed unit tests * Fixed unit tests * Added list of unit tests needed * Did some perf testing; tweaked code and charmap to address * Brough in code from PR #2264 (but commented) * Tons of code cleanup * Fighting with ScrollView * Fixing bugs * Fixed TabView tests * Fixed View.Visible test that was not really working * Fixed unit tests * Cleaned up clipboard APIs in attempt to track down unit test failure * Add Cut_Preserves_Selection test * Removed invalid code * Removed invalid test code; unit tests now pass * EscSeq* - Adjusted naming, added more sequences, made code more consistent, simplified, etc... * Added CSI_SetGraphicsRendition * NetDriver code cleanup * code cleanup * Cleaned up color handling in NetDriver * refixed tabview unit test * WindowsDriver color code cleanup * WindowsDriver color code cleanup * CursesDriver color code cleanup * CursesDriver - Adding _BOLD has no effect. Further up the stack we cast the return of ColorToCursesColor from int to short and the _BOLD values don't fit in a short. * CursesDriver color code - make code more accurate * CursesDriver color code - make code more accurate * Simplified ConsoleDriver.GetColors API * Simplified ConsoleDriver.GetColors API further * Improved encapslation of Attribute; prep for TrueColor & other attributes like blink * Fixes #2249. CharacterMap isn't refreshing well non-BMP code points on scroll. * Use GetRange to take some of the runes before convert to string. * Attempting to fix unit tests not being cleaned up * Fixes #2658 - ConsoleDriver.IsRuneSupported * Fixes #2658 - ConsoleDriver.IsRuneSupported (for WindowsDriver) * Check all the range values and not only the max value. * Reducing code. * Fixes #2674 - Unit test process doesn't exit * Changed Cell to support IsDirty and list of Runes * add support for rendering TrueColor output on Windows merging veeman & tznind code * add colorconverter changes * fixed merged v2_develop * Fixing merge bugs * Fixed merge bugs * Fixed merge bugs - all unit tests pass * Debugging netdriver * More netdriver diag * API docs for escutils * Update unicode scenario to stress more stuff * Contents: Now a 2D array of Cells; WIP * AddRune and ClearContents no longer virtual/abstract * WindowsDriver renders correctly again * Progress on Curses * Progress on Curses * broke windowsdriver * Cleaned up FakeMainLoop * Cleaned up some build warnings * Removed _init from AutoInitShutdown as it's not needed anymore * Removed unused var * Removed unused var * Fixed nullabiltiy warning in LineCanvas * Fixed charmap crash * Fixes #2758 in v2 * Port testonfail fix to v2 * Remove EnableConsoleScrolling * Backport #2764 from develop (clear last line) * Remove uneeded usings * Progress on unicode * Merged in changes from PR #2786, Fixes #2784 * revamp charmap rendering * Charmap option to show glyph widths * Fixed issue with wide glpyhs being overwritten * Fixed charmap startcodepoint change issue * Added abiltiy to see ncurses verison/lib * Fought with CursesDriver; giving up for now. See notes. * Leverage Wcwidth nuget library instaed of our own tables * enhanced charmap Details dialog * Final attempt at fixing curses --------- Co-authored-by: BDisp <bd.bdisp@gmail.com> Co-authored-by: adstep <stephensonadamj@gmail.com> |
||
|
|
dea5f0fe03 |
Fixes #2597. Enables standard glyphs to be set via ConfigurationManager (#2595)
* initial * basically working * removed test settings * removed extra usings * Improved API docs * Renamed glyphs to be consistent and use unicode names; use char literals * Refactored Glyphs class & Json format to not be static (startup perf) * Refactored Glyphs class & Json format to not be static (startup perf) * Fixed a bunch of API doc errors * Switched checked/selected to glyhps from box drawing range * Switched button glyphs to nicer looking ones that seem to work on standard fonts * Upgraded LineDrawing scenario * CrossHair->Cross * Fixed unit tests * Fixed unit tests; moved Glyphs from Application to ConfigurationManager; added CM global using alias * Found and replaced all other special glyphs; fixed more unit tests |
||
|
|
ea24de3a27 |
Fixes #2482. Refactor Redraw - Non-virtual with the right set of virtual OnXXX methods. (#2577)
* Fixes #2482. Refactor Redraw - Non-virtual with the right set of virtual OnXXX methods. * Change documentation comments. * Fixes #2575 - TableView to use interface instead of System.Data.DataTable (#2576) * WIP: Add ITableDataSource * WIP: Refactor TableView * WIP: Port CSVEditor * WIP: Port TableEditor * WIP: Port MultiColouredTable scenario * Fix bug of adding duplicate column styles * Update tests to use DataTableSource * Tidy up * Add EnumerableTableDataSource<T> * Add test for EnumerableTableDataSource * Add test for EnumerableTableDataSource * Add code example to xmldoc * Add ProcessTable scenario * Rename ITableDataSource to ITableSource and update docs * Rename EnumerableTableDataSource to EnumerableTableSource * Fixed Frame != Bounds; changed UICat Scenarios list to use tableview! * Fix scroll resetting in ProcessTable scenario * Fix unit tests by setting Frame to same as Bounds * Document why we have to measure our data for use with TableView --------- Co-authored-by: Tig Kindel <tig@users.noreply.github.com> * Fixes #2582 - Refactors FileDialog for cleaner data model (#2583) * WIP: Add ITableDataSource * WIP: Refactor TableView * WIP: Port CSVEditor * WIP: Port TableEditor * WIP: Port MultiColouredTable scenario * Fix bug of adding duplicate column styles * Update tests to use DataTableSource * Tidy up * Add EnumerableTableDataSource<T> * Add test for EnumerableTableDataSource * Add test for EnumerableTableDataSource * Add code example to xmldoc * Add ProcessTable scenario * Rename ITableDataSource to ITableSource and update docs * Rename EnumerableTableDataSource to EnumerableTableSource * Fixed Frame != Bounds; changed UICat Scenarios list to use tableview! * Fix scroll resetting in ProcessTable scenario * Fix unit tests by setting Frame to same as Bounds * Document why we have to measure our data for use with TableView * WIP: Simplify FileDialogs use of TableView * WIP start migrating sorter * WIP new filedialog table source mostly working * WIP remove sorter class * Refactor GetOrderByValue to be adjacent to GetColumnValue * Fix collection navigator back so it ignores icon * Fix unit tests * Tidy up * Fix UseColors * Add test for UseColors --------- Co-authored-by: Tig Kindel <tig@users.noreply.github.com> * Fixes #2196. TextView: Setting Text places cursor at beginning, unlike TextField (#2572) * Fixes #2196. TextView: Setting Text places cursor at beginning, unlike TextField * Change all private members to have the _prefix. * Renamed local member to prevLayoutStyle. * Helper function for SetNeedsDisplay. * Fixes #2569. Borders scenarios needed to be refactored. (#2570) * Fixes #2569. Borders scenarios needed to be refactored. * Fix border title with width equal to 4 and thickness top grater than 1. * Improves border manipulation on borders scenarios. * Prevents null value on the margin, border and padding thickness on the border scenarios. * Remove NStack using dependence and fix prior commit. * Refactoring the Frames scenario. * Deleted borders scenarios. * I did not realize that it was changed to SetSubViewNeedsDisplay. * Re-layout; fixed colorpicker; fixed radio group * Remove Thickness.IsEmpty as requested. * Change the Frames scenario as requested. --------- Co-authored-by: Tig Kindel <tig@users.noreply.github.com> * Builds CollectionNavigator support into UI Catalog for TableView (#2584) * Builds collectionnav support into UI cat for TableView * Fixes keyboard mapping * MultiSelect = false for TableView * MultiSelect = false doesn't unbind ctrl-a * Fixes #2581 Refactor CollectionNavigator so it supports TableView (#2586) * Refactor CollectionNavigator to a base and a collection implementation * Refactor CollectionNavigatorBase to look for first match smartly * Add TableCollectionNavigator * Make TableCollectionNavigator a core part of TableView * Fix bad merge * Added tests for tableview collection navigator * Add FileDialogCollectionNavigator which ignores . and directory separator prefixes on file names * whitespace fixes --------- Co-authored-by: Tig <tig@users.noreply.github.com> * Resolving merge conflicts. * Fix merge errors. * Fix merge errors. * Add Command.Accept and snap to the selected glyph when ShowHorizontalScrollIndicator change to true. * Reformat. * Reformat again. --------- Co-authored-by: Thomas Nind <31306100+tznind@users.noreply.github.com> Co-authored-by: Tig Kindel <tig@users.noreply.github.com> |
||
|
|
5ae8e98631 |
Fixes menu frame and unit test on the #2483. (#2542)
* Fixes menu frame and unit test on the #2483. * Reverting some code. Only color on ScrollView is failing. * Fixes for the unit test Draw_A_ContextManu_Over_A_Dialog pass. |
||
|
|
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 |
||
|
|
8c59e8255f |
Partially Fixes #2483 - Removes old Border and leverages LineCanvas for Frames, etc... (#2527)
* POC * View.DrawFrame now uses LineCanvas * Fixes #2531. Toplevel should redraw only if it's needed. * Fix toplevel when mdi is enabled preventing clear the screen twice. * Massive LineCanvis updates * Fixes #2534. Bounds isn't updating when the Frame is changed. * Almost everything works! * Had to disable a few tests but all unit test now pass again * Deleted ConsoleDriver.DrawWindowFrame; hacked ProgressBar * Deleted ConsoleDriver.DrawWindowTitle; moved to Frame.DrawTitle * Renames BorderFrame to Border * Removed old commented code * Tweaked scenario * Added auto convert \r\n to Enviornment.NewLine in TestHelpers.AssertEqual * Fix merge errors. * Fix AssertEqual newlines to platform-specific. * Refactored frames drawing; view adds to its lineview, superview renders them * New titlebar style based on Border.Top size; fixed bugs * wzard bug --------- Co-authored-by: BDisp <bd.bdisp@gmail.com> |
||
|
|
18e18f6a7f | Cleaned up Application.cs | ||
|
|
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 |
||
|
|
574ed8fec7 |
Fixes #2469 - Revamp file structure and namespace (#2471)
* initial commit * All tests pass * Updated readme * Revert "All tests pass" This reverts commit |