User Interface Style Guidelines
This page details the guidelines to developing User Interface elements of EiffelStudio.
Consistency is Key
Both first and third parties need to be in sync when authoring tools. Users have a much better experience with the UI when the are faced with icons, labels and color that perform/indicate similar functions elsewhere in the environment. To facilitate this EiffelStudio contains UI specific constants and onces.
ES_FONTS ES_COLORS ES_UI_CONSTANTS
Extending
If you need to add your own constants or onces, then feel free to do so. However, before jumping head first and authoring access to constants or once, please aheare to the following:
Tool specifics that have no general application do not belong in these classes. The class are only for common fonts, colors and UI constants.
Just because an existing feature uses the same information (font, color, size, etc) as one you are looking for it doesn't mean it can be reused directly. For instance, the editor has a selection color and so do grid/list elements. These colors might be the same in one release but not another. When finding a selection color for a new widget none of these should be used directly, instead a widget_selection_color should be created and can for the moment call one of the existing selection colors. Calling an existing selection color is more desirable that duplicating the code because if the general selection color is to change, your code will be updated automatically. If the change is not desirable for your custom widget then you can remove the call and implement the desired color directly, which is less of a maintenance issue.