MSEgui documentation
About MSEgui
MSEgui is a cross-platform GUI library for Free Pascal, written by Martin Schreiber. It is the library used by MSEide, and it does not depend on the LCL.
This documentation covers the maint branch, based on MSEide+MSEgui 4.6.3 and modified to compile with Free Pascal 3.2.x. The source code is available at https://codeberg.org/rchastain/mseide-msegui.
License
MSEgui is distributed under the GNU Library General Public License, with a special exception allowing to link the library with independent modules and to distribute the resulting executable under terms of your choice. See the files COPYING.LGPL and COPYING.MSE in the root directory.
About this documentation
This documentation is generated by PasDoc from the source files in lib/common. Only comments starting with ++ (for example {++ ... }) are shown, so that documentation comments stay separate from the original source comments. Many of them are taken from explanations given by Martin Schreiber.
The documentation is incomplete: many identifiers have no description yet. Some directories and units are left out, such as platform-specific code, OpenGL, PascalScript, low-level C bindings and units generated from *.mfm forms.
Where to start
msetypes: basic types, including
msestring.msestrings: string functions.
mseapplication: application object and event loop.
msegui:
twidgetand core GUI classes.msegraphics: canvas, fonts, colors.
msewidgets: base unit of every visual component.
msesimplewidgets: buttons, labels, group boxes...
mseforms: forms.
msedataedits: edit widgets.
msegrids: grids.
Naming conventions
Type names
t* is used for classes.
*ty is used for all other types.
*arty is used for dynamic arrays (example: integerarty = array of integer).
*ararty is used for dynamic arrays of dynamic arrays.
*aty is used for pseudo arrays in the form of array[0..0] of type, needed for Delphi compatibility because Delphi has limited support for pointer arithmetic.
p* is used for a pointer to a type (ˆtype).
Event types
Method pointer types used for events end with eventty, for example notifyeventty or painteventty.
Enumeration and set names
Enum members have ab_* where ab is an abbreviation of the enum type name, for example oe_readonly in the enum optioneditty.
Sets have the name of their enum in plural, for example optionseditty for optioneditty.
Object inspector property names
The object inspector shows property names with _ as a tree, for example twidget.bounds_x, bounds_y..., where bounds is the root node and x, y... are the leaves.
Strings
msestring is the string type used throughout MSEgui. Since version 4.0, it is UTF-16 (unicodestring).
Generated by PasDoc 1.0.4.