Currently, font and color preference defaults for all the different types of elements in all projects and diagrams can be customized. This options panel will be modified to provide an improve UI experience. Multiple elements on a diagram can be selected and the font and color of the name compartment and the background color of the element can be customized all at once, but the attribute and operation compartments (or other such sub-compartments of other element types) can only be customized one element at a time. In addition, the font and color menu actions for the element name compartment is under one submenu while the other compartments (like attributes) have font and color actions under another submenu.
The intent is to be able to customize font and color of all the different sections of an element using one a single editor. This editor will always be accessible with one action in the contextual menu no matter which section or sections of the element you wish to customize.
![]() |
The Element Types panel allows you to select a single element type to edit its fonts and colors. The Show combobox allows you to filter the listbox contents by diagram type or just nodes or edges. The selected element type is displayed in a generic format so that all subsections of the elment type's visual representation can be selected for customization. For the Class element, there are many subsections available for customization: name, stereotypes, tagged names/values, Attributes and Operations compartment titles, all attributes or operations of all scopes or individually by scope (public, package, protected or private), and package owner (not displayed in above screen shot). The element border color would also be editable when the name compartment is selected (border color field not shown in above screenshot).
![]() |
You can click on Attributes or Operations to select all of the entries in that compartment for customization. Double-click Attributes or Operations to select these compartment titles for customization.
![]() |
You can click on an individual operation for customizing
![]() |
You can use standard multi-selection techniques to select mutliple operations (and/or attributes) for customizing
![]() |
![]() |
You can customize all attribute or operation entries by clicking on the generic representations, respectively. The following image shows the public scoped attribute entries selected for editing.
![]() |
![]() |
![]() |
![]() |
When a diagram is opened and elements are rendered for display, specific element font and color settings are used if such settings are found in the diagram file. If an element has not had its font and colors customized then such settings will not exist for that element in that diagram file. In this case, the global default preferences for that element type are applied.
Global Font & Color Preference Modification Effects Modifying the global font and color preferences in the global UML options panel will only affect those elements that have not been customized. Open diagrams that are visible when the global font and color preferences are modified will be forced to refresh (repaint) in order to apply the new preferences. Of course, any elements that have custom font and color settings will not be affected.
Pulling Preferences
Pulling preferences is just the inverse of pushing preferences. Preferences from a higher tier can be applied to a lower tier, essentially just restoring it to use the global default preferences. Let's suppose like the scenario above that you have customized a Class element but this time you are not particularly happy with the end result and decide that the current global font and color preferences are much better. Again, you could bring up the font and color editor for the element and try to remember all the global default preferences and set them accordingly for the element, but there is much room for error, and if you change the global default preferences, even if this Class element had the same settings at the global default preferences, the new global default preferences would not be applied to this Class element because it has custom localized settings. And so, an action will be made available in the context menu for all elements on diagrams that will pull the global font and color preferences for that particular element type reseting the the element to use the defaults. It is important to understand that the element's custom font and color settings in that digram are just removed rather than changed to the global default preferences. In other words, an elment with no custom font and color settings just uses the settings in the global default preferences.
Dealing with Custom Attributes and Operations
TODO
| AutoAlign.png | ![]() |
8575 bytes |
| ClassElement.png | ![]() |
4181 bytes |
| EdgeContextualMenu-left.png | ![]() |
10982 bytes |
| EdgeContextualMenu-right.png | ![]() |
10934 bytes |
| ExpandCompartment.png | ![]() |
8980 bytes |
| GlobalClassElement-Name.png | ![]() |
53248 bytes |
| MultipleElements-AttrEntries.png | ![]() |
36915 bytes |
| MultipleElements-AttrsNonPublic.png | ![]() |
48593 bytes |
| MultipleElements-AttrsPublic.png | ![]() |
48419 bytes |
| MultipleElements-Name.png | ![]() |
48269 bytes |
| NewElementSelected.png | ![]() |
9658 bytes |
| OperationCompartmentContextMenu.png | ![]() |
6896 bytes |
| OperationCompartmentContextMenu2.png | ![]() |
7380 bytes |
| Palette-ClassDiagram.png | ![]() |
6976 bytes |
| Simple-SingleElement-Name.png | ![]() |
32047 bytes |
| Simple-SingleElement-PublicOperatons.png | ![]() |
30028 bytes |
| SingleElement-AllAttrs.png | ![]() |
52351 bytes |
| SingleElement-ManyOps.png | ![]() |
51002 bytes |
| SingleElement-Name.png | ![]() |
52579 bytes |
| SingleElement-OneOp.png | ![]() |
52280 bytes |