Граф коммитов

156 Коммитов

Автор SHA1 Сообщение Дата
Virgile Bello afd6a53583 Merge remote-tracking branch 'upstream/PCL' into PCL 2018-06-01 11:22:03 +09:00
bleibold 7c206ede15 Update EdgeControlBase.cs (#96)
The latest changes that were authored resulted in a defect.  If an edge pointer Visibility happens to be set by either a Binding or Converter, then the original code was overwriting the Visibility property value.
2018-03-25 11:47:38 +02:00
bleibold d498213b78 Update GraphArea.cs (#95)
* Update GraphArea.cs

Have noticed that sometimes during DeSerialization a failure for Source or Target to be updated properly will result in an uncaught exception to the Application Dispatcher.  It is best to test for a valid Source and Target Property value before attempting to retrieve a mapped value.

* Update GraphArea.cs

Testing revealed an issue.
2018-03-25 11:47:21 +02:00
panthernet 66b546ef7b + Fix for edge pointers visibility 2018-03-12 12:18:56 +01:00
panthernet 37a47c6f7a - Fixed label visibility error
- Added new edge pointer GetPosition() method
2018-03-07 23:35:15 +01:00
panthernet ec55ee147f - Implemented multiple labels logic for edges. Now you can display multiple labels across the edge
- Added LabelHorizontalOffset property for labels
2018-02-11 11:40:41 +01:00
panthernet f5b89bc51c Release 2.3.7 2018-01-12 17:08:11 +01:00
RachelTerry 9039250105 Fixes binding errors and strange 2x2 pixel displayed on click (#86)
When the property IsDragSelectByDefault is set to true and the user clicks on the zoom area, the ZoomBox is being set to empty and this breaks bindings resulting in the Canvas/Border 2x2 element to actually be rendered as an annoying random pixel in the upper left corder of the Zoom control.
2017-07-23 13:23:17 +02:00
Jon f2f9ba0227 RemoveEdge() was not passing the optional removeEdgeFromDataGraph parameter in its call to RemoveEdgeInternal(). As a result, edges were sometimes being regenerated during graph layout, particularly when the last edge was removed from _edgeList and _finishUpRelayoutGraph() was called. (#80) 2017-05-21 13:50:46 +02:00
Jon 11d1ddd1c4 Parallel edge modifications for connection points (#77)
* Modified the grouping mechanism used for parallel edges. This is in preparation for some other changes related to the way edges with connection points are handled. These code changes will alter the sequence of edges and does not attempt to preserve the exact ordering of the old code. In the old code, the groups were built simply as the edges were encountered and did not appear to have a defined order, so I think this should be fine, but it could change the appearance of existing graphs. The new code also excludes edges that have both ends tied to connection points because those will not be spaced within the group anyway. There is a small performance penalty for very small numbers of edges, but at 50-100 edges a 3-10x speed improvement can be observed.

* Modified the parallel edge logic so that it takes connection points into account. If an edge uses a connection point at only one end and parallel line grouping is in effect, the edge will be rendered parallel, but aligned to the connection point.

* Restored the use of parallel edge groups with just one edge. This way, parallel edge behavior is applied to single edges with one connection point.

* Edge Drag (#75)

* + SetEdgesDrag

* + Edge가 Drag 가능하도록 설정

* + Edge Drag

* Fix

* + PrepareEdgePathFromMousePointer Target Position Edit
2017-05-21 13:47:33 +02:00
LaborJos 0f2eb18e49 Edge Drag (#75)
* + SetEdgesDrag

* + Edge가 Drag 가능하도록 설정

* + Edge Drag

* Fix

* + PrepareEdgePathFromMousePointer Target Position Edit
2017-05-21 13:31:42 +02:00
Virgile Bello a963a71821 Rewrote EdgeControl.Source & Target tracking; previously SizeChanged and PositionChanged callbacks were still bound after Clean() (indirectly due to PropertyChangeNotifier.Dispose() ClearBinding) 2017-02-25 22:25:01 +09:00
Jon cd4bc87f45 Changed the edge pointer HideEdgePointerbyEdgeLength and HideEdgePointerOnVertexOverlap implementation to use dependency property coercion so that underlying pointer visibility settings are not overridden. (#73)
Thanks!
2016-12-30 02:13:36 +03:00
panthernet ae60d5e118 + ZoomControl improvements, overall refactoring 2016-09-05 13:36:03 +03:00
Jon f10c7c9708 Implemented Click event on ZoomControl (#64) 2016-09-01 10:04:32 +03:00
panthernet 3f03b4b6d6 + Tweaks, serialization improvement, refactoring 2016-08-28 17:04:29 +03:00
panthernet 64fd24c4f0 + Fixed ZoomControl dynamic content switch to corectly refresh viewfinder
+ Some refactoring
2016-08-22 11:45:52 +03:00
panthernet ddcc18e7f1 + Cert rebuild 2016-08-19 13:23:21 +03:00
panthernet 29f43db21a + Some ptrinting mods and cert fix 2016-08-19 12:55:39 +03:00
panthernet 2d7175ff40 - Removed GraphArea::EnableWinFormsHostingMode property as it is not needed any more. The WF checks has been automated. 2016-08-12 12:21:05 +03:00
panthernet 29fdd29f79 - Added new property EdgeControlBase::HideEdgePointerByEdgeLength to be able to hide edge pointers if edge length is less than or equal to the specified value. Off by default (0 value). 2016-08-03 00:34:56 +03:00
panthernet 2f3f64df87 - Fixed incorrect edge pointer position on zero length edge 2016-08-02 23:40:50 +03:00
panthernet 3c21362c99 + Refctoring pass 2016-07-16 17:38:50 +03:00
panthernet 3cbe0dbe1b - Fixed Avalon Dock interaction which caused strange exception by skipping ZooomControl viewfinder unnecessary refresh pass in some cases 2016-07-09 15:28:35 +03:00
panthernet 75a337a208 - Moved code extensions to GraphX.PCL.Common library thus eliminating the need for GraphX.PCL.Logic for *.Controls libraries 2016-07-07 12:22:37 +03:00
panthernet cfb555a98f + Added graph data filters feature and showcase example 2016-06-23 02:49:17 +03:00
Jon cdae82ca7b Drag selection, edge dragging, GraphArea control click events (#56)
* 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.
2016-06-10 12:32:47 +03:00
panthernet 10232ed1bb Added VertexControl::VCPRoot property whcih represents the VCP root container for easier runtime VCP management 2016-06-09 12:22:00 +03:00
panthernet 0ac3cb6df5 Merge branch 'PCL' of https://github.com/panthernet/GraphX.git 2016-06-02 12:20:53 +03:00
panthernet 7c881e1a74 Fixed external alg vertex sizes grab logic (thanks to ValentinMarinov) 2016-06-02 12:20:43 +03:00
Vadim Galaktionov dc8be92957 First step to C#6 2016-06-02 11:43:12 +03:00
panthernet e8fac04154 Merge branch 'PCL' of https://github.com/panthernet/GraphX.git 2016-06-02 01:35:11 +03:00
panthernet 285c13c931 Misc tweaks to the core definitions 2016-06-02 01:34:51 +03:00
xe7485 0a684cbffc Update EdgeControlBase.cs
fix self loop indicator offset calculation
2016-04-20 12:47:26 -03:00
Alexander Smirnov 32384552f2 Merge pull request #47 from perturbare/patch-Size-and-Rect-constructor-exceptions
Modifications to prevent negative numbers passed to Size and Rect
2016-02-17 01:59:55 +03:00
panthernet 8bea52f7c7 - Fixed edge label positioningm now it is more accurate for pathed edges 2016-02-16 02:00:38 +03:00
perturbare cf917ff496 Modifications to prevent negative numbers passed to Size and Rect constructors. Modifications to prevent information loss when throwing GX_GeneralException. 2016-02-15 14:47:44 -08:00
panthernet 29ba1c84ad - Improved algorithm factory logic to avoid graph type cast exceptions in some class declaration cases 2016-02-16 00:00:08 +03:00
panthernet a3cbab9998 - Added StateStorage::ImportState() method to allow state import/export logic between several graphs
- 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
2016-02-04 15:18:32 +03:00
panthernet 2ee9802889 - Exposed internal PrintHelper class with new CalculateEstimatedDPI() method which can calculate DPI required for image export based on specified criterias
- Fixed arrows display issue when printing
2016-01-18 23:49:40 +03:00
panthernet d11c35da6d + Service Release 2.3.2 2016-01-15 01:02:55 +03:00
panthernet 59bae3867f + Version 2.3.1 Release 2016-01-14 01:55:56 +03:00
panthernet 4686030ddd + Fixed METRO version build 2016-01-13 18:26:53 +03:00
panthernet 291c541421 + More ZoomControl fixes (hopefuly final) 2016-01-13 15:55:38 +03:00
panthernet 42549b96df + ZoomControl errors fix due to recent optimization 2016-01-13 15:42:14 +03:00
panthernet d958f4c740 - Improved attachable labels customization possibilities by making several methods virtual
- Label factory improvements
2016-01-11 01:49:59 +03:00
panthernet d2e2f4deb1 - Fixed showcase app edge example graph
- Improved attachable labels logic. Simplified base classes, added checks for mandatory base classes
2016-01-11 01:04:38 +03:00
panthernet 2f81165bea - Added default templates for attached vertex and edge labels
- Fixed excessive rendering issue when ZoomControl viewfinder is hidden. Should significantly increase performance of the viewfinder in this case.
2016-01-10 23:32:04 +03:00
panthernet e270b5466f + GraphArea methods extension and showcase polish 2016-01-06 14:13:40 +03:00
panthernet 9c7b06d05e Some fixes 2016-01-06 12:07:28 +03:00