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

139 Коммитов

Автор SHA1 Сообщение Дата
panthernet 62829149c9 + Added grouped graph showcase feature 2015-11-02 20:30:05 +03:00
panthernet 271ca09de3 + AttachedLabels and stuff 2015-11-02 18:03:43 +03:00
panthernet 31485b4b61 Fixed an exception in ZoomControl caused by Ctrl + Alt + DblClick combination (thanks to persalmi) 2015-09-04 03:14:33 +03:00
panthernet c6d6bd58aa + Preparations for grouping algorithm
+ Quick fix for graph printing
2015-09-02 11:23:43 +03:00
panthernet 74e6389454 + Changelog update 2015-08-29 01:26:38 +03:00
panthernet 4f7dec6de8 + Version increment 2015-08-27 21:57:38 +03:00
panthernet 5aa846de17 + Improved overall graph cleaning in different areas allowing to easily clean graph data and fix potentional memory leaks 2015-08-27 16:30:03 +03:00
panthernet c478aa5146 + Added VertexShape.Ellipse math shape 2015-08-27 12:23:34 +03:00
panthernet 5dae64a3ca + Added two methods to EdgeControl: GetEdgePointerForSource() and GetEdgePointerForTarget() which allows to get to edge pointer objects manualy
+ Fixed bindings to DefaultEdgePointer::Visibility property
+ Implemented edge cut logic for EdgePointer placed at edge 'source' to gain better visual quality like its 'target' counterpart
2015-07-08 19:04:30 +03:00
panthernet 42cf594b8c + Added GroupId property to IGraphXVertex interface
+ Added parameters class RandomLayoutAlgorithmParams for corresponding algorithm. It contains Bounds property which can restrict vertex coordinates to respect provided bounds.
+ Implemented many changed in algorithm base classes, mainly in AlgorithmLayoutBase: made VisitedGraph and VertexPositions props assignable externally
+ Implemented RandomLayoutAlgorithms to derive from LayoutAlgorithmBase class
2015-07-08 01:52:56 +03:00
panthernet fd8189ed58 + v2.2.0 release 2015-06-28 13:51:29 +03:00
panthernet b38bc7e1f1 + Small fixes and changelog edit 2015-06-28 13:34:41 +03:00
panthernet fcfaf9c829 + Added EdgeLabelControl::FlipOnRotation
+ Fixed edge routing when graph state has been loaded
+ Interfaces documentation
+ Fixed METRO showcase app work
2015-06-28 12:21:16 +03:00
panthernet e6f3524099 + Fixed zoom control zoom out value
+ Switched off METRO debug mode before upload
2015-06-25 21:28:32 +03:00
panthernet 9d1ee550ef + Fixes for manual graph handling methods
+ Fix for ZoomControl::Zoom property changed notifications
+ Added mini showcase for Parallel Edges
2015-06-23 04:13:49 +03:00
panthernet 1a2a0d9588 + Added syntax highlight to ShowcaseApp
+ Made more EdgeControl methods virtual for greater flexibility
2015-06-20 16:04:47 +03:00
panthernet cefd02bb2e + Made EdgeControlBase::UpdateEdge() method public. It can be used now to fully update edge visual on custom edge-related modifications [WPF, METRO]
+ Some code for lib debug & test improvement
+ VCP tweaks
2015-06-16 23:23:41 +03:00
panthernet 6db1d624c8 + Moved visual SLE props from LogicCore to EdgeControl 2015-06-11 16:55:28 +03:00
panthernet 01489d5461 + Fixed SLE object causing normal edges to become invisible
+ Added StateStorage::SaveOrUpdate() method
+ Misc design and code tweaks
2015-06-10 03:42:48 +03:00
panthernet 70c5e8f257 + added self looped edge custom indicator 2015-06-10 00:02:58 +03:00
panthernet a15fc060fc + Fixed first time solution rebuild problems by referencing new QuickGraphPCL nuget [ALL]
+ Cleaned up solution
+ Renewed METRO app certificate
2015-06-08 20:06:18 +03:00
panthernet ef0414e51e + Major refactoring pt.5
+ Various performance improvements
+ New showcase framework enchancements
+ Many other tweaks
2015-06-08 14:48:39 +03:00
panthernet 9bdde20fff + Fix for layouting problems
+ Used new xmlns name in all showcase tenplates
2015-06-02 03:52:09 +03:00
panthernet 7eb5e91f57 + Huge refactoring pass pt. 4
+ Optimized edge label and VCP templates
2015-06-02 03:19:42 +03:00
Alexander Smirnov 5b7b676b91 + Code merge pt.3 2015-05-28 23:49:45 +03:00
Alexander Smirnov 488b9f69cd + Edge pointer controls modifications 2015-05-28 22:12:12 +03:00
Alexander Smirnov edcfeaf1a2 + Major code unification and refactoring pt.2 2015-05-28 12:58:55 +03:00
Alexander Smirnov aaaab97065 + Heavy crossplatform code refactoring
+ Fixed Fade Move animation logic to report OnCompleted event correctly [WPF]
2015-05-28 00:23:06 +03:00
Alexander Smirnov 1b6522b1b5 * Now GraphX for WPF can use "http://schemas.panthernet.ru/graphx/" XAML namespace + post process scripts
+ Changed XAML namespaces and default assembly name for controls to GraphX.Controls
2015-05-26 23:26:19 +03:00
Alexander Smirnov 70fa600fb4 + Massive namespace changes to GraphX.Control
+ Fixed ZoomControl zoom sometimes not firing from code call after control is loaded [WPF]
+ Fixed VB sample project dependencies and refactored code a bit
+ GraphArea::PreloadVertexes() now accepts graph param as optional
+ Added GraphArea::PreloadGraph() method
2015-05-26 13:24:38 +03:00
Alexander Smirnov 1c2880cf2c + Added new property GrphArea::ControlsDrawOrder which defines vertex or edges should be drawn topmost [WPF, METRO] 2015-05-24 00:54:28 +03:00
Alexander Smirnov e650c3c29a + Fixed and enhanced automatic data object Id resolve logic [WPF,METRO] thanks to perturbare
+ Some refactoring
2015-05-24 00:34:45 +03:00
Alexander Smirnov 74a878388b + Fixed EdgeControl.ShowArrows to implement DependencyProperty [WPF, METRO] thanks to perturbare
+ Fixed minor performance problems in ZoomControl [METRO]
+ Decoupled serialization logic from GraphX completely [ALL]  thanks to perturbare
2015-05-21 12:03:20 +03:00
Alexander Smirnov 094c54edbb Fixed use of ControlFactory for edge deserialization [WPF, METRO] thanks to perturbare 2015-05-20 11:06:13 +03:00
Alexander Smirnov 58ead875af Yet another changelog update 2015-05-20 02:36:43 +03:00
Alexander Smirnov 48c0603193 Another changelog fix 2015-05-20 02:22:51 +03:00
Alexander Smirnov 4ad38d724f Small changelog addition 2015-05-20 02:17:52 +03:00
Alexander Smirnov 64163c710a Many changes. See changelog.txt 2015-05-20 02:16:12 +03:00
Alexander Smirnov e67a8b42fb + Another changelog fix, ops! 2015-05-15 03:16:05 +03:00
Alexander Smirnov c8ffd5c058 + Fixed changelog 2015-05-15 03:09:07 +03:00
Alexander Smirnov a2f01b968b + Massive refactoring
+ Fixes to previous changes
See CHANGELOG.txt for details
2015-05-15 03:04:51 +03:00
Alexander Smirnov ef4e8498cb + Added selective vertex and edge support to METRO version [METRO]
+ Added selective vertex and edge support for following algorithms: Circular [ALL]
+ Fixed layout algorithm calculations to always receive actual vertex positions as input parameter
 This will fix selective VaE support for default algorithms. [WPF, METRO]
2015-05-13 01:27:57 +03:00
Alexander Smirnov 0fd3ea83ac + Added showcase app icon
+ Misc tweaks to templates
2015-04-14 02:02:34 +03:00
Alexander Smirnov b55b90fd91 + Added async mode for METRO
+ Bug fixes for async mode resource management in WPF
2015-04-14 01:36:54 +03:00
Alexander Smirnov 23a54806ad + Fixed calculation of label control position and angle [WPF, METRO] thanks to jorgensigvardsson
+ Made EdgeControl::LabelVerticalOffset property dependecy [WPF, METRO]
+ Updated default control templstes to include some new properties setup by default [WPF, METRO]
2015-04-08 11:51:14 +03:00
Alexander Smirnov 866525e8db + Fixed edge labels display for self looped edges [WPF, METRO]
+ Added new property EdgeLabelControl::DisplayForSelfLoopedEdges which is self explaining [WPF, METRO]
2015-03-31 16:56:15 +03:00
Alexander Smirnov 723c1804bb + Improved extensibility by making some methods virtual for EdgeLabelControl, VertexLabelControl, EdgeControl
Uploaded sources for metro with latest buggy features
2015-03-20 10:12:18 +03:00
Alexander Smirnov 9e19a4f48b + Fixed some issues in ShowcaseApp.WPF
+ Added extensibility to corresponding controls by inheriting from IVertexLabelControl [WPF]
2015-03-08 11:16:40 +03:00
Alexander Smirnov 5f2c360f4c + Added rotation support for image based edge pointers
+ Added extensibility to corresponding controls by inheriting from IEdgeLabelControl and IEdgePointer [WPF]
2015-03-08 08:33:34 +03:00
Alexander Smirnov eed5eb5fca + Added basic support for Image based edge pointers. Introduced new object for EdgeControl template: [WPF]
1. EdgePointerImage class with name "PART_EdgePointerImageForSource" - marks edge source pointer (new!)
 2. EdgePointerImage class with name "PART_EdgePointerImageForTarget" - marks edge target pointer
 Look in GeneralTemplate.xaml of ShowcaseApp.WPF project.
2015-03-06 00:54:50 +03:00
Alexander Smirnov d982bc4857 + Fixed GraphArea::DeserializeFromFile() logic and filestorage logic to properly restore internal data for loaded graphs 2015-03-05 01:04:58 +03:00
Alexander Smirnov 6d76ede310 + Added new option GraphArea::LogicCoreChangeAction which defines what action will be taken on LogicCore property change. You can rebuild graph now. [WPF, METRO] 2015-02-25 19:46:11 +03:00
Alexander Smirnov 32bd8c04df + Fixed showcase app icons 2015-01-31 22:27:15 +03:00
Alexander Smirnov ec4418e43f + Fixed ZoomControl::Zoom property bug on empty content window resize [WPF, METRO]
+ Added new showcase example: Templates/Graph editor [WPF]
+ Optimized showcase app media files
2015-01-26 23:07:50 +03:00
Alexander Smirnov 911a38c57a + Added VertexControl::GetCenterPosition() method to get vertex center position instead the default top-left
+ Fixed dynamic graph showcase example first vertex auto zooming onto
2015-01-26 20:05:14 +03:00
Alexander Smirnov bd2813d1fa + Added support method GraphArea::GetVertexControlAt(Point position) to get VC by coordinates [METRO, WPF]
+ Fixed annoying data binding error in ZoomControl slider binding [METRO, WPF]
+ Fixed ZoomControl unresponsivness after startup (prev needed to change zoom/translation first to work fine) [WPF,METRO]

!Breaking changes
+ Renamed and changed to Enum - ZoomControl::UseAbsoluteZoomOnMouseWheel to MouseWheelZoomingMode [METRO, WPF]
2015-01-26 16:54:34 +03:00
Alexander Smirnov 6e7fee3f1c RELEASE 2.1.7
+ Added new ShowcaseApp.WPF with mostly the same functionality as before but in a new nutshell and with refactored code. Expect new showcases soon.

+ Added some new exceptions for GraphArea on invalid or insufficient data [WPF,METRO]
+ Addded automatic default params generation for GXLogicCore if default algorithm was changed and default params property is null
+ Fixed async calc not being aborted on invalid data (can cause crash) [WPF,METRO]
+ Implemented VertexControl::ShowLabel property as dependecy for templating purpose [WPF]
+ Fixed vertex label display [WPF]
+ Implemented IOverlapRemovalParameters properties setters to be able to change params easily[ALL]
+ Made EdgeBase::RoutingPoints property virtual in case you want to override it and add custom serialization attributes (as was the issue with YAXLib)[ALL]

!Breaking changes
+ Renamed VertexControl::MathShape property to VertexShape for template bindings to work [WPF, METRO]
+ Removed YAXLib project from solution and its dependencies from GraphX projects except showcase project. This will make GraphX independent from this 3rd party lib. [WPF]
  The cost is that there is no built in FileServiceProvider anymore but you can easily create your own using provided interface or use YAXLib example from showcase app.
  One less additional dll file :)
2015-01-20 15:38:35 +03:00
Alexander Smirnov 5fc871478c + 2.1.7 fixes 2015-01-19 14:14:50 +03:00
Alexander Smirnov 191d1e2bc0 Version 2.1.6 see Documents/changelog.txt 2015-01-15 11:52:13 +03:00
Alexander Smirnov 04127f8a69 + Modified SkipProcessing feature to support new Freeze logic. See changelog.txt for details
+ Code refactoring
2014-12-25 01:23:11 +03:00
Alexander Smirnov 248cd9aeef + METRO: Fixed edge labels placement w/o edge routing 2014-12-24 22:35:22 +03:00
Alexander Smirnov dc7bc11ddb + Fixed major memory leak when regenerating visual edges 2014-12-24 19:04:18 +03:00
Alexander Smirnov 98768c62cc RELEASE 2.1.5 WIP
+ Added selective vertex and edge support for calculations. Use SkipProcessing property on vertex or edge data object to include/exclude in calculations and visualization.
	Works only in WPF version.
+ Changed CopyToBidirectionalGraph() extension method
+ Fixed rectangular selection logic
+ Some code refactoring
2014-12-16 18:37:13 +03:00
Alexander Smirnov 67f909ad75 GraphX METRO sources reupload
+ Fixed platform settings
2014-10-28 00:45:24 +04:00
Alexander Smirnov 3dd1c6b3e4 v 2.1.3 see changelog.txt for changes
Introduced BETA metro support
2014-09-16 18:14:01 +04:00
Alexander Smirnov 164c7fa62d + Fixed EdgeControl data context bug after graph deserialization 2014-07-02 13:51:33 +04:00
Alexander Smirnov 4cb9c52919 + Added MouseUp event global handling for VertexControl 2014-06-18 16:24:25 +04:00
Alexander Smirnov c49238c321 + Fixed edge labels positioning 2014-06-18 15:10:29 +04:00
Alexander Smirnov b45b9a2ad7 + Fixed LinLog, KK, ISOM, FR algorithms display when there is only one vertex
+ Fixed overlap removal algorithm loading with incorrect parameters
2014-06-14 16:42:21 +04:00
Alexander Smirnov 6a5dd85dbe Set (0,0) coordinate by default for all custom objects newly added to GraphArea 2014-06-14 15:55:45 +04:00
Alexander Smirnov 2da89f391b Added method to GraphArea to show/hide vertex labels 2014-06-05 11:47:34 +04:00
Alexander Smirnov 92d648819c Added example project for VB.NET 2014-05-26 23:58:05 +04:00
Alexander Smirnov cd84686cd0 readme update 2014-05-17 05:00:03 +04:00
Alexander Smirnov e4308e8b09 RELEASE 2.1.2 WIP
Look at changelog.txt for details
2014-05-17 02:44:04 +04:00
panthernet 997a1f3302 Version GraphX 2.1.1 PCL WIP
+ Solved file operations problem
+ Some tweaks implemented
+ Rebuilt all strong name files
+ Fixed incorrect references
2014-05-16 17:54:59 +04:00
panthernet bd0010c5c9 + Version 2.1.0 WIP. Look at changelog.txt for changes. 2014-05-16 15:29:12 +04:00
Alexander Smirnov 2a2e32c114 + Implemented GraphX.Logic PCL version 2014-05-16 01:59:27 +04:00
panthernet c9fc717c84 Commit 1 2014-05-15 19:04:16 +04:00
Alexander Smirnov 833ab2c556 + Removed redundant dependencies 2014-05-07 15:35:24 +04:00
Alexander Smirnov 23283cf6e3 + Fixed Sugiyama and EfficientSugiyama algorithms calculation with only
one vertex
2014-05-06 14:03:14 +04:00
Alexander Smirnov 935ec0f0c2 + Fixed visual properties recovery terminating template values 2014-05-06 13:22:17 +04:00
Alexander Smirnov 65997deb9f + Fixed hidden edges update on vertex drag
+ Fixed some inconsistent interfaces update
2014-05-05 16:29:09 +04:00
Alexander Smirnov 335eb9c7b0 Merge with another branch
Many updates and fixes (See change log)
2014-05-01 22:53:40 +04:00
Alexander Smirnov 873fe84b50 Implemented EdgeControl::IsSelfLooped property as read-only dependency
property.
2014-05-01 18:20:15 +04:00
Alexander Smirnov 564931c9f6 Reworked
Reworked main objects hierarchy to use more interfaces for loosened
conditions
2014-05-01 15:44:09 +04:00
Alexander Smirnov 358faa27bc + Added vertex control labels with following functionality:
+ 2 available positioning modes: by sides or by coordinates
	+ Always attached to vertex and moves with it
	+ Rotation angle support
	+ Same template logic as in EdgeLabelControl
+ Added key modifiers to vertex event args
+ Added new layout type Custom. When set layout algorithm calculation is skipped completely and manually added data is used for OR and ER algorithms (if any).
+ Added (reintroduced) GraphArea::SideExpansionSize property which gets or sets additional space for GraphArea borders. Useful for zoom adjustments when custom text or controls which are not used in size calculations must fit into the zooming.
+ Fixed labels rendering for parallel edges. Now they are displayed separately for each edge.
+ Fixed async calculations being broken due to LogicCore property became dependency
+ Fixed ViewFinder not deriving ZoomControl content background
+ Fixed edge label update on alignment change
+ Fixed self-looped edges handling in GraphArea::GenerateEdgesForVertex() method
+ Fixed bugs with edge routing calculation in some cases
+ Implemented some properties as dependencies
+ Reworked EdgeLabelControl inner logic. Should now be more flexible and performance efficient.
+ Some code refactoring. Minor performance improvements.
2014-03-18 23:00:59 +04:00
panthernet 27fe40bb08 + Fixed edge label update on alignment change 2014-02-26 18:51:37 +04:00
panthernet f3966d8042 + Added vertex control labels with following functionality:
+ 2 available positioning modes: by sides or by coordinates
	+ Always attached to vertex and moves with it
	+ Same template logic as in EdgeLabelControl
+ Added key modifiers to vertex event args
+ Fixed ViewFinder not deriving ZoomControl background
+ Implemented some properties as dependencies
+ Reworked EdgeLabelControl inner logic. Should now be more flexible and performance efficient.
2014-02-26 18:43:24 +04:00
Alexander Smirnov dde2ca1502 Initial GraphXv2 GitHub commit 2014-02-24 17:04:27 +04:00