Files: gui/properties.h, gui/properties.c
The Property Editor is a window with dynamically generated contents. It displays the property editor widgets (described in Property Editor Widgets) for all properties of a certain object or for the common properties of all selected objects.
There are two different Property Editors: the context one and the non-context one. The former displays the properties of all selected objects, if there are any, or the properties of the last used context object (see The Context). If there is a selection, then only the editors for properties common for all selected objects are shown (with the values of the first selected object). Any change is done to all selected objects at once. The latter displays the properties of one fixed object.
The Property Window has many hook handlers for property changes, adding and removing of properties, context changes etc. After any change of property values, the widgets are updated; after any change of the property list the window's property list is rebuilt.
If the object is deleted, the non-context Property Window is closed. The context window displays the “no object to display” message when there is no context object nor any selection.
Almost all the intelligence of Property Editor is contained in the property editor widgets, see Property Editor Widgets for more details.