Reference » Dictionary » Property

Property (of a window class)


A window class setting that can be revealed and changed freely by the developer who uses that class.


A property has a TYPE, NAME, and INIT_VAL characteristics.

For each property named NAME, the class interface defines the following:

For example, MButton class has Text property of MString type, which means that it has a getText() revealer and a setText(MString) mutator, which repaints the window and generates Notice with "TextChanged" notice name (if MWindow::setNoticeID was called to activate this notice, of course).

The defining quality of the property is that it can only be changed programmatically by the users of the class, which defines the property - never by the class itself (except for the initialization during construction, of course) or by the external system. This gives the user of this class a full control over the property's value. Of course, the preceding condition may not hold for a derived class. For example, MScrollBar does change the CursorImage and DrawOrigin properties, defined in its base class MWindow, but it never changes its own properties, such as AutoHideSliders.

Some properties are inherited from the parent. For such property the initial value is set to getParent().isRTL() during construction of the window. Also, by default, changing this property for a given window changes it recursively to the same value in all descendants of this window, although this behavior can be overridden by overloading MWindow::OnNotice. Inheritability allows setting or changing a property for multiple windows by a single command, but beyond this convenience the concept of inheritability is not essential. The inheritability is not an intrinsic quality of a property, and is determined by the class itself. MWindow defines the following properties as inherited: MWindow::OS, MWindow::RTL, and MWindow::HighQuality.


Let us know

Please Contact us to report any errors on this page, or to suggest any improvements.

Miranor Home | About Miranor | About Elgrint | Create account | Login | Account settings | Contact Us | Privacy Policy | Site map

© Copyright 2014 by Miranor. All rights reserved. By using this site you agree to the Terms of Use.

Page last updated on August 10th, 2014.