mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-29 09:18:01 +01:00
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.
Terminal.Gui Project
Contains all files required to build the Terminal.Gui library (and nuget package).
Project Folder Structure
Terminal.Gui.sln- The Visual Studio 2019 solutionCore/- Source files for all types that comprise the core building blocks of Terminal-GuiApplication- Astaticclass that provides the base 'application driver'. Given it defines a Terminal.Gui application it is both logically and literally (becausestatic) a singleton. It has direct dependencies onMainLoop,Events.csNetDriver,CursesDriver,WindowsDriver,Responder,View, andTopLevel(and nothing else).MainLoop- DefinesIMainLoopDriverand implements the andMainLoopclass.ConsoleDriver- Definition for the Console Driver API.Events.cs- Defines keyboard and mouse related structs & classes.PosDim.cs- Implements Terminal-Gui's Computed Layout system. These classes have deep dependencies onView.Responder- Base class for the windowing class heirachy. Implements support for keyboard & mouse input.View- Derived fromResponder, the base class for non-modal visual elements such as controls.Toplevel- Drived fromView, the base class for modal visual elements such as top-level windows and dialogs. Supports the concept ofMenuBarandStatusBar.Window- Drived fromTopLevel, implements Toplevel views with a visible frame and Title.
Types/- A folder (not namespace) containing implementations ofPoint,Rect, andSizewhich are ancient versions of the modernSystem.Drawing.Point,System.Drawing.Size, andSystem.Drawning.Rectangle.ConsoleDrivers/- Source files for the threeConsoleDriver-based drivers: .NET:NetDriver, Unix & Mac:UnixDriver, and Windows:WindowsDriver.Views/- A folder (not namespace) containing the source for all built-in classes that drive fromView(non-modals).Windows/- A folder (not namespace) containing the source all built-in classes that derive fromWindow.
Contributing
See CONTRIBUTING.md.