mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-27 00:07:58 +01:00
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.