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

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.