Commit Graph

39 Commits

Author SHA1 Message Date
Charlie Kindel
5b845307a2 UI catalog (#387)
* 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>
2020-05-20 13:37:12 -04:00
BDisp
e6c5b2599a Improved a better clipped screen. Fixes some bugs with ScrollView, Menu. Added some virtual methods. (#410)
* Improved a better clipped screen. Fixes some bugs with ScrollView, Menu. Added some virtual methods.

* Added some more key features, like shift. Cleaning and updating some stuffs .Added more features to TextField.

* Closes the menu even in a button pressed in another view than menu.

* Added a OnKeyPress action. Now all the keys events are properly mapped to the keys modifiers. Fixed a issue which keys like (ã, á, â) aren't correctly written.

* Fixed an issue with the shift flag for keys ControlA_Z.

* Ensures quiting the terminal if no other option is provided by pressing Ctrl-Q

* Ensures the exception is thrown before ordered.Reverse.

* Changed Button4 To Button3 for CursesDriver compatibility.

* Added support for word selection through keyboard and the mouse. With triple click all text is selected.

* Changed AllowNewLine to AllowWrap.

* Fix topological sort in view class (#413)

* AllowWrap removed and keys issues fixed.

* Removing ordered.Reverse (); Something went wrong.

* Fixes FrameView title.

* Reverted some MapKeyModifiers that prevented the display of some characters.

* Avoiding open the menu-bar every time we typing (€@£§). Alt key now only highlight the menu-bar without open it.

* Fixes hot-key issue preventing menu closing after opened.

* Curses now supports hot-keys and simulates AltMask with Alt+Space.  Also supports shift and ctrl combinations to use with text selection.

* Maintains the menu highlighted while focused.

* Removed the IsOutBounds method. This feature is for a future presentation.

Co-authored-by: En3Tho <37334640+En3Tho@users.noreply.github.com>
2020-05-13 12:28:35 -04:00
Charlie Kindel
8b26240741 Adds a better keyup/keydown demo to demo.cs (#395)
* Revert "Drop NuGet restore"

This reverts commit 5c7a0d05f0.

* Revert "Revert "Drop NuGet restore""

This reverts commit 2dc5fce865.

* merge

* better keyup/down demo
2020-04-29 11:09:34 -04:00
Charlie Kindel
427cf4784b Text alignment (#397)
* not sure why this keeps changing

* enhanced Show Text Alignments demo to better illustrate bugs in TextAlignment.Justified
2020-04-29 11:09:10 -04:00
Charlie Kindel
5df8500862 Status bar snap (#384)
* KeyDown/Up support

* updated demo

* defined styles

* Smarter StatusBar bottom tracking.

* Prepping for https://github.com/migueldeicaza/gui.cs/issues/376

* Fixed StatusBar 'snap to bottom'
2020-04-20 16:08:34 -04:00
BDisp
df5bc9f0b8 Fixed a moving window issue. Added OnLoad Action because there are settings that need to be accessed only once. (#375)
* Fixed a moving window issue. Added OnLoad Action because there are settings that need to be accessed only once.

* Fixes a layout issue that does not updated the Pos outside the bounds.

* Fixes a issue with other top-levels.

Co-authored-by: Miguel de Icaza <miguel@gnome.org>
2020-04-18 13:37:50 -04:00
Charlie Kindel
c7ce619092 MenuItems on MenuBar (#388)
This PR enhances MenuBar with the ability to have top-level (on the MenuBar itself), clickable, actionable, MenuItems.

Along the way it fixes a few MenuBar bugs and...

alt activates/closes the menu just like on Windows (alt and f9 work the same).
Cursor shows consistently across the MenuBar as the focus changes
Top-level menu items show accelerator keys.
demo.cs has been enhanced to include an example top-level menuitems. I also tested top-level menuitem as the first menu item as well as in the middle. I didn't want to over complicate demo.cs with tons of examples, FWIW.
2020-04-18 13:21:06 -04:00
BDisp
ee7fc3022d Fixes #355 stack overflow with Pos based on the size of windows at startup. Added a OnResized action to set the Pos after the terminal are resized. (#367) 2020-04-14 21:50:17 -04:00
miguel
12cfbb8231 Fix the demo 2020-04-14 21:49:09 -04:00
Charlie Kindel
c51e4177fe made it so Ctrl-X on status bar actually quits (#362) 2020-04-14 09:34:28 -04:00
miguel
6d08364ad9 Move the text alignment demo elsewhere, so I can debug other things 2020-04-13 14:43:46 -04:00
miguel
f8548666ee Improve the UI of the ListView demo, and the demo; And add a crashing scenario that I will fix 2020-04-13 14:10:25 -04:00
miguel
ad8461d6af Prevent crash on Linux/Mac introduced in 0.80 2020-04-13 13:45:27 -04:00
BDisp
49cd29853f All my pull-request at once (#345)
* Fixed key events traversal for modal dialogs

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Fixes culture info of DataField from pr #250

* Fixes the rectangle drawing issue

* Fixes #290 issue "Redraw issue when setting coordinates of label"

* Added sub menus into menu bar with mouse and key navigation

* Needed to assume color for the Disable attribute

* Added Colors.Menu.Disabled to CursesDriver.cs

* Mouse text selection with cut, copy and paste on text fields

* Change sepChar from char to string in DateField

* Adding a disabled menu item in the demo file

* Adding a disabled menu item in the demo file

* Fixes Button repainting issue when changing the text length to one smaller

* Fixes #290 issue "Redraw issue when setting coordinates of label"

* Only demonstration of issue # 308 that even though the cursor is gray on a gray background can be viewed.

* Fixes issue #163 "ScrollView does not render some content"

* Fixed bug in Button that caused a loop redraw calling TerminalResized

* Fixes #282 "Repaint Issue"

* Removed white space

* Mouse features added to FileDialog including wheel support.

* Forget to delete this commented method.

* Changing back to MouseFlags.AllEvents in case some mouse event is not triggering.

* Add documentation on ISupportInitialize/ISupportInitializeNotification (#286)

* Switch netcoreapp target to netstandard2.0 (#284)

Fixes #283 

Instead of adding another target framework to the list, switch from netcoreapp2.0 to netstandard2.0, as ns2.0 is a subset of netcoreapp.

* Added TextView.TextChanged event (#264)

* Fixed key events traversal for modal dialogs (#288)

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Prepare for 0.25

* Remove travis link

* Revert Daniel's change 00c5997daa as it prevents the solution from building on Mac

* Prepare for 0.26

* Restore some files that were deleted by Daniel's commit that I had not restored

* Fixed out of range exception and text redraw when navigate backward (#320)

* Typo fix (#321)

* Fixes issue #306 async/await hang (#312)

* Fixed async/await hang

* Fixed async/await hang with calling Wakeup

* Moved Wake Up into lock statement

* Support menu items that are null so they can be drawn as a menu separator (#304)

* Fixed and Enabled Library reinitialization (#291)

- Replaced static driver initialization with property getter for reference passing in Core.cs::View class, this allows the library to be reinitialized at any time.
- Made the Shutdown method on Core.cs::Application class public, since there is no reason to keep it private. Applications can shutdown the library and revert the console to the initial stage by calling it.
- Fixed a memory-leak on Drivers/WindowsDriver class by destroying the generated screen buffers at library shutdown by calling CloseHandle.
- Minor change to Core.cs::Application.Init(Func<Toplevel>) for better initialization status tracking, via backend property instead of relying on the Top field.

* Moved `ListView.ListWrapper` out of `ListView` migueldeicaza/gui.cs#313` (#315)

* Resizing the MessageBox width to accommodate all message text (#299)

* Fixed key events traversal for modal dialogs

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Resizing the MessageBox width to accommodate all message text

Co-authored-by: Adrian Alonso <adrianalonso@gmail.com>

* Timefield format with bounds values (#303)

* Implemented lower and upper bounds to TimeField

* Passing old text to the Changed event handler

* Change sepChar from char to string in TimeField

* Changing comparison from ':' to sepChar.ToCharArray () [0]

* extract methods on ListView to make it controlable from other controls (#310)

* moveup

* MoveDown

* MovePageDown

* MovePageUp

* MarkUnmarkRow

* Allowing list items selection (#302)

* Prepare for 0.26

* Restore some files that were deleted by Daniel's commit that I had not restored

* Fixed out of range exception and text redraw when navigate backward (#320)

* Typo fix (#321)

* Fixes issue #306 async/await hang (#312)

* Fixed async/await hang

* Fixed async/await hang with calling Wakeup

* Moved Wake Up into lock statement

* Support menu items that are null so they can be drawn as a menu separator (#304)

* Fixed and Enabled Library reinitialization (#291)

- Replaced static driver initialization with property getter for reference passing in Core.cs::View class, this allows the library to be reinitialized at any time.
- Made the Shutdown method on Core.cs::Application class public, since there is no reason to keep it private. Applications can shutdown the library and revert the console to the initial stage by calling it.
- Fixed a memory-leak on Drivers/WindowsDriver class by destroying the generated screen buffers at library shutdown by calling CloseHandle.
- Minor change to Core.cs::Application.Init(Func<Toplevel>) for better initialization status tracking, via backend property instead of relying on the Top field.

* Moved `ListView.ListWrapper` out of `ListView` migueldeicaza/gui.cs#313` (#315)

* Resizing the MessageBox width to accommodate all message text (#299)

* Fixed key events traversal for modal dialogs

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Resizing the MessageBox width to accommodate all message text

Co-authored-by: Adrian Alonso <adrianalonso@gmail.com>

* Timefield format with bounds values (#303)

* Implemented lower and upper bounds to TimeField

* Passing old text to the Changed event handler

* Change sepChar from char to string in TimeField

* Changing comparison from ':' to sepChar.ToCharArray () [0]

* extract methods on ListView to make it controlable from other controls (#310)

* moveup

* MoveDown

* MovePageDown

* MovePageUp

* MarkUnmarkRow

* Allowing list items selection (#302)

* Add documentation on ISupportInitialize/ISupportInitializeNotification (#286)

* Switch netcoreapp target to netstandard2.0 (#284)

Fixes #283 

Instead of adding another target framework to the list, switch from netcoreapp2.0 to netstandard2.0, as ns2.0 is a subset of netcoreapp.

* Added TextView.TextChanged event (#264)

* Fixed key events traversal for modal dialogs (#288)

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Prepare for 0.25

* Remove travis link

* Revert Daniel's change 00c5997daa as it prevents the solution from building on Mac

* Prepare for 0.26

* Restore some files that were deleted by Daniel's commit that I had not restored

* Fixed out of range exception and text redraw when navigate backward (#320)

* Typo fix (#321)

* Fixes issue #306 async/await hang (#312)

* Fixed async/await hang

* Fixed async/await hang with calling Wakeup

* Moved Wake Up into lock statement

* Support menu items that are null so they can be drawn as a menu separator (#304)

* Fixed and Enabled Library reinitialization (#291)

- Replaced static driver initialization with property getter for reference passing in Core.cs::View class, this allows the library to be reinitialized at any time.
- Made the Shutdown method on Core.cs::Application class public, since there is no reason to keep it private. Applications can shutdown the library and revert the console to the initial stage by calling it.
- Fixed a memory-leak on Drivers/WindowsDriver class by destroying the generated screen buffers at library shutdown by calling CloseHandle.
- Minor change to Core.cs::Application.Init(Func<Toplevel>) for better initialization status tracking, via backend property instead of relying on the Top field.

* Moved `ListView.ListWrapper` out of `ListView` migueldeicaza/gui.cs#313` (#315)

* Resizing the MessageBox width to accommodate all message text (#299)

* Fixed key events traversal for modal dialogs

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Resizing the MessageBox width to accommodate all message text

Co-authored-by: Adrian Alonso <adrianalonso@gmail.com>

* Timefield format with bounds values (#303)

* Implemented lower and upper bounds to TimeField

* Passing old text to the Changed event handler

* Change sepChar from char to string in TimeField

* Changing comparison from ':' to sepChar.ToCharArray () [0]

* extract methods on ListView to make it controlable from other controls (#310)

* moveup

* MoveDown

* MovePageDown

* MovePageUp

* MarkUnmarkRow

* Allowing list items selection (#302)

* Switch netcoreapp target to netstandard2.0 (#284)

Fixes #283 

Instead of adding another target framework to the list, switch from netcoreapp2.0 to netstandard2.0, as ns2.0 is a subset of netcoreapp.

* Added TextView.TextChanged event (#264)

* Prepare for 0.25

* Remove travis link

* Revert Daniel's change 00c5997daa as it prevents the solution from building on Mac

* Prepare for 0.26

* Restore some files that were deleted by Daniel's commit that I had not restored

* Fixed out of range exception and text redraw when navigate backward (#320)

* Typo fix (#321)

* Fixes issue #306 async/await hang (#312)

* Fixed async/await hang

* Fixed async/await hang with calling Wakeup

* Moved Wake Up into lock statement

* Fixed and Enabled Library reinitialization (#291)

- Replaced static driver initialization with property getter for reference passing in Core.cs::View class, this allows the library to be reinitialized at any time.
- Made the Shutdown method on Core.cs::Application class public, since there is no reason to keep it private. Applications can shutdown the library and revert the console to the initial stage by calling it.
- Fixed a memory-leak on Drivers/WindowsDriver class by destroying the generated screen buffers at library shutdown by calling CloseHandle.
- Minor change to Core.cs::Application.Init(Func<Toplevel>) for better initialization status tracking, via backend property instead of relying on the Top field.

* Moved `ListView.ListWrapper` out of `ListView` migueldeicaza/gui.cs#313` (#315)

* Resizing the MessageBox width to accommodate all message text (#299)

* Fixed key events traversal for modal dialogs

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Resizing the MessageBox width to accommodate all message text

Co-authored-by: Adrian Alonso <adrianalonso@gmail.com>

* Timefield format with bounds values (#303)

* Implemented lower and upper bounds to TimeField

* Passing old text to the Changed event handler

* Change sepChar from char to string in TimeField

* Changing comparison from ':' to sepChar.ToCharArray () [0]

* extract methods on ListView to make it controlable from other controls (#310)

* moveup

* MoveDown

* MovePageDown

* MovePageUp

* MarkUnmarkRow

* Allowing list items selection (#302)

* Added sub menus into menu bar with mouse and key navigation

* Fetch from upstream/master

* Fetch from upstream/master

* Fetch from upstream/master

* Fetch from upstream/master

* Fetch from upstream/master

* Add documentation on ISupportInitialize/ISupportInitializeNotification (#286)

* Switch netcoreapp target to netstandard2.0 (#284)

Fixes #283 

Instead of adding another target framework to the list, switch from netcoreapp2.0 to netstandard2.0, as ns2.0 is a subset of netcoreapp.

* Added TextView.TextChanged event (#264)

* Fixed key events traversal for modal dialogs (#288)

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Prepare for 0.25

* Remove travis link

* Revert Daniel's change 00c5997daa as it prevents the solution from building on Mac

* Prepare for 0.26

* Restore some files that were deleted by Daniel's commit that I had not restored

* Fixed out of range exception and text redraw when navigate backward (#320)

* Typo fix (#321)

* Fixes issue #306 async/await hang (#312)

* Fixed async/await hang

* Fixed async/await hang with calling Wakeup

* Moved Wake Up into lock statement

* Support menu items that are null so they can be drawn as a menu separator (#304)

* Fixed and Enabled Library reinitialization (#291)

- Replaced static driver initialization with property getter for reference passing in Core.cs::View class, this allows the library to be reinitialized at any time.
- Made the Shutdown method on Core.cs::Application class public, since there is no reason to keep it private. Applications can shutdown the library and revert the console to the initial stage by calling it.
- Fixed a memory-leak on Drivers/WindowsDriver class by destroying the generated screen buffers at library shutdown by calling CloseHandle.
- Minor change to Core.cs::Application.Init(Func<Toplevel>) for better initialization status tracking, via backend property instead of relying on the Top field.

* Moved `ListView.ListWrapper` out of `ListView` migueldeicaza/gui.cs#313` (#315)

* Resizing the MessageBox width to accommodate all message text (#299)

* Fixed key events traversal for modal dialogs

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Resizing the MessageBox width to accommodate all message text

Co-authored-by: Adrian Alonso <adrianalonso@gmail.com>

* Timefield format with bounds values (#303)

* Implemented lower and upper bounds to TimeField

* Passing old text to the Changed event handler

* Change sepChar from char to string in TimeField

* Changing comparison from ':' to sepChar.ToCharArray () [0]

* extract methods on ListView to make it controlable from other controls (#310)

* moveup

* MoveDown

* MovePageDown

* MovePageUp

* MarkUnmarkRow

* Allowing list items selection (#302)

* Fetch from upstream/master

* Fetch from upstream/master

* Fetch from upstream/master

* Add documentation on ISupportInitialize/ISupportInitializeNotification (#286)

* Switch netcoreapp target to netstandard2.0 (#284)

Fixes #283 

Instead of adding another target framework to the list, switch from netcoreapp2.0 to netstandard2.0, as ns2.0 is a subset of netcoreapp.

* Added TextView.TextChanged event (#264)

* Fixed key events traversal for modal dialogs (#288)

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Prepare for 0.25

* Remove travis link

* Revert Daniel's change 00c5997daa as it prevents the solution from building on Mac

* Prepare for 0.26

* Restore some files that were deleted by Daniel's commit that I had not restored

* Fixed out of range exception and text redraw when navigate backward (#320)

* Typo fix (#321)

* Fixes issue #306 async/await hang (#312)

* Fixed async/await hang

* Fixed async/await hang with calling Wakeup

* Moved Wake Up into lock statement

* Support menu items that are null so they can be drawn as a menu separator (#304)

* Fixed and Enabled Library reinitialization (#291)

- Replaced static driver initialization with property getter for reference passing in Core.cs::View class, this allows the library to be reinitialized at any time.
- Made the Shutdown method on Core.cs::Application class public, since there is no reason to keep it private. Applications can shutdown the library and revert the console to the initial stage by calling it.
- Fixed a memory-leak on Drivers/WindowsDriver class by destroying the generated screen buffers at library shutdown by calling CloseHandle.
- Minor change to Core.cs::Application.Init(Func<Toplevel>) for better initialization status tracking, via backend property instead of relying on the Top field.

* Moved `ListView.ListWrapper` out of `ListView` migueldeicaza/gui.cs#313` (#315)

* Resizing the MessageBox width to accommodate all message text (#299)

* Fixed key events traversal for modal dialogs

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Resizing the MessageBox width to accommodate all message text

Co-authored-by: Adrian Alonso <adrianalonso@gmail.com>

* Timefield format with bounds values (#303)

* Implemented lower and upper bounds to TimeField

* Passing old text to the Changed event handler

* Change sepChar from char to string in TimeField

* Changing comparison from ':' to sepChar.ToCharArray () [0]

* extract methods on ListView to make it controlable from other controls (#310)

* moveup

* MoveDown

* MovePageDown

* MovePageUp

* MarkUnmarkRow

* Allowing list items selection (#302)

* Fetch from upstream/master

* Switch netcoreapp target to netstandard2.0 (#284)

Fixes #283 

Instead of adding another target framework to the list, switch from netcoreapp2.0 to netstandard2.0, as ns2.0 is a subset of netcoreapp.

* Added TextView.TextChanged event (#264)

* Prepare for 0.25

* Remove travis link

* Revert Daniel's change 00c5997daa as it prevents the solution from building on Mac

* Prepare for 0.26

* Restore some files that were deleted by Daniel's commit that I had not restored

* Fixed out of range exception and text redraw when navigate backward (#320)

* Typo fix (#321)

* Fixes issue #306 async/await hang (#312)

* Fixed async/await hang

* Fixed async/await hang with calling Wakeup

* Moved Wake Up into lock statement

* Support menu items that are null so they can be drawn as a menu separator (#304)

* Fixed and Enabled Library reinitialization (#291)

- Replaced static driver initialization with property getter for reference passing in Core.cs::View class, this allows the library to be reinitialized at any time.
- Made the Shutdown method on Core.cs::Application class public, since there is no reason to keep it private. Applications can shutdown the library and revert the console to the initial stage by calling it.
- Fixed a memory-leak on Drivers/WindowsDriver class by destroying the generated screen buffers at library shutdown by calling CloseHandle.
- Minor change to Core.cs::Application.Init(Func<Toplevel>) for better initialization status tracking, via backend property instead of relying on the Top field.

* Moved `ListView.ListWrapper` out of `ListView` migueldeicaza/gui.cs#313` (#315)

* Resizing the MessageBox width to accommodate all message text (#299)

* Fixed key events traversal for modal dialogs

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Resizing the MessageBox width to accommodate all message text

Co-authored-by: Adrian Alonso <adrianalonso@gmail.com>

* Timefield format with bounds values (#303)

* Implemented lower and upper bounds to TimeField

* Passing old text to the Changed event handler

* Change sepChar from char to string in TimeField

* Changing comparison from ':' to sepChar.ToCharArray () [0]

* extract methods on ListView to make it controlable from other controls (#310)

* moveup

* MoveDown

* MovePageDown

* MovePageUp

* MarkUnmarkRow

* Allowing list items selection (#302)

* Fetch from upstream/master

* Fixes #342 and improves color change interaction.
Usage:
Colors.Base.Normal = new Terminal.Gui.Attribute (Color.Green, Color.Black);

* Inserted new line at the end  of file .
Changed method name to SetAttribute in the  ColorScheme class.

* Prepare for 0.70

* Prepare for 0.70

* Prepare for 0.70

* Prepare for 0.70

* Prepare for 0.70

* Prepare for 0.70

* Prepare for 0.70

* Prepare for 0.70

* Timefield format with bounds values (#303)

* Implemented lower and upper bounds to TimeField

* Passing old text to the Changed event handler

* Change sepChar from char to string in TimeField

* Changing comparison from ':' to sepChar.ToCharArray () [0]

* Prepare for 0.70

* Removed duplicated Attribute Disabled property

* Fixed some bugs with the mouse event and text selection, copy, cut and paste. There is still a random failure in the mouse events that lock on button released and only trigger button clicked after moving the mouse.

* Failure behavior solved. It was a threading safe issue. Driver.Wakeup () moved to the Post method on MainLoopSyncContext class solved it.

* Changed the default for RightmostButtonPressed to Button4 and enabled  clicked-drag

* Added support for Button Triple Clicked too.  FileDialog changed to deal with ButtonClicked.

* Fixed a bug with the timer when dragging.

* Fixes #343 - Added AllowsMultipleSelection to the ListView

* Fixes #346 issue with enhancers characters, but it only could be apply after the pull requests at NStack are merged because of the Rune.ColumnWidth error.

* Fixes code format.

* Enabled Button Pressed with ReportMousePosition simultaneously.

* Dragging is already working. TODO: optimize, only SetNeedsDisplay on the before/after regions.

* Fixes the extra characters that remains in case the new text length is smaller than the older.

* Fixes #349 TextField user typed input no longer fires Changed event.

* Includes ControlKeyState for all the buttons events.

* Added SetSourceAsync to ListView

* Menu enhancement that works well, even if the top level has no other views. Working in further feature that if clicked outside of the menu it will closed.

* Some more features in mouse and in core.

* Added more mouse events flags, drag features, toplevel color and more...

* Remove unnecessary SetNeedsDisplay.

* Fixes a bug in the label

* Added StatusBar from pr #201 with a  little change.

* Added features to TextField like mouse selection with copy, cut and paste shortcut keys. Now it's possible to use the combination of the Alt+Control+delta keys. It also be possible use special characters like €.

* Simplifying the menu with better performance.

* Private keyword dropped in all files and added some documentation.

* Changed demo to reflect the added and changes features.

* Added csproj and config files to verify if it won't trigger errors from Travis.

* Demo with the StatusBar.

* Patch for position of the StatusBar

* Removed unnecessary nugget packages.

* It looks like packages.config files are obsolete. Travis verification test.

* Update Designer.csproj

Use Stack 0.14

* Use NStack 0.14

* Use NStack 0.14

* Use NStack 0.14

* Use NStack 0.14

* Changed the NStack.Core and System.ValueTuple versions.

* Added System.ValueTuple to Example project.

* Remove System.ValueTuple and added NETStandard.Library to Example project.

* Try to restore the nuget packages.

* Revert "Try to restore the nuget packages."

This reverts commit 3957e022c3.

* Added NETStandard.Library ti the root packages.config

* Upgrade to "Microsoft.NETCore.Platforms" version="
2.0.1"

* Added <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>

* Targeting framework 472.

* Removed "System.ValueTuple" Version="4.5.0" from Terminal.Gui project.

* More cleaning to the projects.

* I guess you don't need this.

Co-authored-by: Adrian Alonso <adrianalonso@gmail.com>
Co-authored-by: Daniel Cazzulino <daniel@cazzulino.com>
Co-authored-by: Marius Ungureanu <teromario@yahoo.com>
Co-authored-by: miguel <miguel.de.icaza@gmail.com>
Co-authored-by: Miguel de Icaza <miguel@gnome.org>
Co-authored-by: imaras <imaras@net.hr>
Co-authored-by: Kasper B. Graversen <kbilsted@users.noreply.github.com>
Co-authored-by: Fabian R <kderazorback@me.com>
Co-authored-by: Timothy <timothyparez@gmail.com>
2020-03-31 09:26:54 -04:00
BDisp
832ff75973 Resizing the MessageBox width to accommodate all message text (#299)
* Fixed key events traversal for modal dialogs

The key must be propagated initially to the first chain element
before evaluating if we should stop because of the handled or
the Modal condition. Otherwise the modal dialog
won't get any process key notification.

This fixes c072e29a68

* Resizing the MessageBox width to accommodate all message text

Co-authored-by: Adrian Alonso <adrianalonso@gmail.com>
2020-02-29 11:50:37 -05:00
Miguel de Icaza
13b3ec2ce7 Restore some files that were deleted by Daniel's commit that I had not restored 2020-02-29 11:11:48 -05:00
miguel
6c8917dd30 Revert Daniel's change 00c5997daa as it prevents the solution from building on Mac 2019-11-26 20:46:04 -05:00
Daniel Cazzulino
00c5997daa Unify projects in SDK-style and PackageReference (#54)
* Unify projects in SDK-style and PackageReference

* Add a note on the known issue about dlls not being copied

* Bump CI to a more recent stable version of Mono

This adds support for .net472, the first version of .NET
with full support for netstandard2.0
2019-10-25 16:43:04 -04:00
Miguel de Icaza
401c872b31 ListView: simple selection implemented 2019-08-29 11:58:02 -04:00
miguel
c2a1f926a5 TimeField 2019-05-29 22:58:42 -04:00
Miguel de Icaza
bc19c74c60 Docs 2019-04-29 13:49:45 -04:00
miguel
137417f768 [TextField] update point to 0 or the lenght-1 on changes, fixes #150 2018-12-01 12:37:14 -05:00
miguel
7c1bfd5e8a Fix layout for FileDialog, example shows how to retrieve the file 2018-09-28 22:40:46 -04:00
miguel
1c7faba15d Make this work 2018-09-21 23:50:32 -04:00
miguel
dd9b17c495 [ListView] allow the source to be null, so that it can be easily set later, fixes #111 2018-07-18 22:26:00 -04:00
miguel
4d6efcb52e Clarified when to use ESC 9 2018-05-25 19:07:37 -04:00
miguel
2af83a14cc Coordinates in the TextField are now Rune indexes, not byte indexes into the ustring.
The ustring stores strings in Utf8 format which is variable encoding,
and I was mixing code that assumed that indexes into Utf8 were valid
rune indexes.

This normalizes point to be based on the rune index, not the offset
into the storage, so we need to do some processing to get this
information right.  It might make sense perhaps to "Explode" the string
into a List<Rune> rather than try to manipualte the ustring, but this
should work for now.

Also, fixed the positioning code, and the drawing code for this, should
fix the reported issue that came up in a pull request:

https://github.com/migueldeicaza/gui.cs/pull/90
2018-05-17 23:15:21 -04:00
Miguel De Icaza
303508b4f3 Fix demo 2018-05-13 22:30:43 -04:00
miguel
67732818a3 Make the demo work better on WIndows 2018-05-13 22:25:16 -04:00
miguel
345eec1e5d Use 0.11 2018-05-11 22:51:03 -04:00
Miguel de Icaza
4cf9c7b138 FileDialog work, HexViewer view 2018-05-09 23:12:06 -04:00
Miguel de Icaza
31ae05af42 More work on file dialog 2018-05-09 02:03:53 -04:00
Miguel de Icaza
a3a680b3e2 Small fixes to the Open File dialog 2018-05-06 17:50:24 -04:00
miguel
6c3fa389a6 FileDialog work 2018-05-05 14:09:21 -04:00
miguel
6fbccd6659 Fix the Fill computations for layout, by only special casing the Pos.Center scenarios and unrolling the rest 2018-05-04 22:41:59 -04:00
miguel
b296c920ac Implement new Dim/Pos capabilities, referencing the elements of another view 2018-05-01 23:27:15 -04:00
miguel
26db9d30de Updated docs 2018-04-29 23:31:10 -04:00
miguel
8468d8073e Move Example into a separate directory 2018-04-26 22:24:33 -04:00
miguel
4043be102c Move Example into a separate directory 2018-04-26 22:23:57 -04:00