Properties Implementation Design and Details

Introduction

Properties are a convenient way to associate additional information with edges and vertices. For example, one might want to have all edges contain a weight. A single property can be displayed inside a vertex which will resize appropriately or next to an edge. No properties need be displayed.

Structure

There are 4 main components to the Properties structure:

Adding/Deleteing

All of the adding and deleting of properties is done in filters which act on the set of highlighted vertices/edges. There are also filters for seting and selecting the highlighted. In the case in which properties are inconsistant (i.e. two selected vertices have different properties) the two are merged for displaying purposes, but the actual property lists are not altered. For example, if you try to select a property that doesn't exist in all vertices, the property will be selected in the vertices that have it and the others will be unchanged.

Undo

The PropMan includes a link to the Undo Manager. Adding, deleting, and selecting are fully undoable. At this time setting the value of a property is not undoable.