The MPS Inspector tool window is a great place to put information about your concept that should be easily accessible but would be too distracting in the main editor.
To put information in the inspector, define the inspected cell layout in the editor definition:
A few examples
The editor for Java classes, ClassConcept_Editor
, uses the inspector to allow setting the package name of the class
and the flags, such as abstract
, static
, or final
. Seemingly redundant, having these flags exposed as simple
property cells comes handy when you need to attach property macros to classes used in generator templates.
The inspector for ThisExpression
(representing Java this
) allows setting its qualifier to easily turn it into
SomeOuterClass.this
.
A caveat
Your users will probably not be familiar with this UI pattern and will not expect to find additional information in the inspector at first. It helps to implement a reminder in the main editor, such as an asterisk.
In one project we used encapsulated this pattern in an editor component. Additionally, we showed the asterisk in a different color when the information in the inspector was set to “interesting” (non-default) values.