* Made changes to provide an option for drag selecting by default instead of panning by default in the ZoomControl.
Modified some of the dragging code to allow dragging based on selecting and dragging an edge. This works for a case where selecting an edge triggers automatic tagging of the vertices it's connected to. Then dragging the edge propogates to movement of the connected VertexControl objects.
* Revert "Made changes to provide an option for drag selecting by default instead of panning by default in the ZoomControl."
This reverts commit 049aebf8921c2b263ae7ed52b6c140a6e041031e.
* Allow global changes to snapping behavior while maintaining the ability to get custom snapping behavior on individual objects.
* Made changes to provide an option for drag selecting by default instead of panning by default in the ZoomControl.
Modified some of the dragging code to allow dragging based on selecting and dragging an edge. This works for a case where selecting an edge triggers automatic tagging of the vertices it's connected to. Then dragging the edge propogates to movement of the connected VertexControl objects.
* Implemented click handling for EdgeControl similar to the click handling for VertexControl. Cleaned up some stuff that isn't used in METRO.
* Implemented a snapping capability. The default behavior is not to snap unless the shift key is held down while dragging. If the shift key is held down, the default snapping is to round X and Y values to the nearest 10. Behaviors can be modified for individual objects or groups of objects using the provided attached properties. Callbacks can be used to control whether to snap, how to treat groups for snapping, and how to calculate the X and Y values when snapping.
* Added snap options to DynamicGraph page to demonstrate snapping of tagged items.
- Added GraphArea::IsDisposed property that indicated that GraphArea object has been disposed and shouldn't be used anymore
- Added GraphArea::CreateNewStateStorage() protected method to be able to implement custom state storage logic for GraphArea
- Made StateStorage class extensible by adding virtual modifiers to methods