| Summary: | Implement graphical editor | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Technology] STEM | Reporter: | Stefan Edlund <sedlund> | ||||||||||||
| Component: | Core | Assignee: | Christian Thoens <christian.thoens> | ||||||||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||||||||
| Severity: | enhancement | ||||||||||||||
| Priority: | P2 | CC: | christian.thoens, dirk.reuter, jan-frederik.wigger, justin, mattadav, matthias.filter | ||||||||||||
| Version: | unspecified | ||||||||||||||
| Target Milestone: | 1.2.0 | ||||||||||||||
| Hardware: | All | ||||||||||||||
| OS: | All | ||||||||||||||
| Whiteboard: | |||||||||||||||
| Attachments: |
|
||||||||||||||
|
Description
Stefan Edlund
*** Bug 318686 has been marked as a duplicate of this bug. *** Accepting, target to 1.2.0 Just want to remind you on the following library as a possible source to be used in this context: http://jung.sourceforge.net/ *** Bug 233281 has been marked as a duplicate of this bug. *** As discussed on this weeks call some thoughts on features that the graph editor should possess: - it should be possible to visualize the value that is assigned to an edge, e.g. after encoding it as width of the drawn line - in case of unbalanced migration rates it should be possible to display edges as arrows that do not overlap - it should be possible to visualize any STEM graph immediately, i.e. independently from any disease model or scenario - it should be possible to add nodes and edges (and their corresponding parameters) within the new graph editor, e.g. by a simple right-click into the graph editor pane - it should be possible to relocate or move nodes, most relevant in case of arbitrary networks like those imported from a Pajek .net file - from the newsgroup threat on "Modifying Disease Parameters by Location" there was also the wish to enable the creation of completely new node (and edge) labels via the graph editor - provide complete compatibility between all kind of graphs, e.g. lattice, arbitrary networks, map graphs, i.e. one should in this way also be able to delete nodes from a map, e.g. to remove certain districts. - use the available property files that are already implemented in STEM Matthias Another potential editor is the Eclipse Graphical Editing Framework (GEF) http://www.eclipse.org/gef/ You are right, the Zest subproject might come close to what jung offers: http://www.eclipse.org/gef/zest/index.php We will have a look on it, Matthias Hi Mathias, Here are a few license findings re/Jung. Direct Dependencies (according to Jung Web site): * Collections-Generic Not currently approved by Eclipse License: Apache --- * CERN Colt Library Not currently approved by Eclipse Multiple licensed... Packages prefixed with cern.* are licensed by a CERN open license which reads "Copyright (c) 1999 CERN - European Organization for Nuclear Research. Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. CERN makes no representations about the suitability of this software for any purpose. It is provided "as is" without expressed or implied warranty." Packages are prefixed by hep.aida.* are licensed by the LGPL, which is a NO GO from an Eclipse perspective. Further, a source check of Colt found the class corejava.Format, which is used in both hep.* and cern.* packages in Colt. This class is also LGPL. Another small addendum is the mention with hep.aida.* that "any usage related to military applications is expressly forbidden". While LGPL is a no-go to begin with, this may also be difficult because STEM has received substantial funding from the United States Air Force. The hep.aida.* packages cannot be distributed with Eclipse packages. This is a no-go. ********************************* Indirect dependencies (JARs shipped w/Jung) --- Concurrency 1.3.4 Eclipse IP Approved CQ 1423 Public domain and with an exclusionary usage license from Sun. --- StAX API 1.0.1 License: ASL 2 Eclipse IP Approved CQ 1264 and others -- Woodstox 3.2.6 Eclipse IP Approved CQ 3165 and others License: ASL 2 (Cross-license w/GPL) --- Java3d Core 1.3.1 Not currently approved by Eclipse License: Version 1.3.2 (and 1.3.1?) use JDL (https://java3d.dev.java.net/jdl-java3d.pdf) and JRL (http://java3d.dev.java.net/jrl.html). Newer versions use GPL --- Java3d VecMath 1.3.1 Not currently approved by Eclipse License: Version 1.3.2 (and 1.3.1?) uses JDL (https://java3d.dev.java.net/jdl-java3d.pdf) and JRL (http://java3d.dev.java.net/jrl.html). Newer versions use GPL. After having had a look at GEF/Zest, it seems that it is the better path to follow and most of the desired features can be implemented in STEM. - In contrast to JUNG the GEF/Zest framework avoids the legal and technical problems that arise with old or incompatible licenses and third party content. - It is easy to set the dependencies on the Zest libraries within a STEM package. - It is possible to label edges, to move nodes within the display and get/set their coordinates. - I think with a little effort, a context menu can be installed to add/delete edges between nodes. Created attachment 190581 [details]
Patch from Jan-Fredrick Wigger
Created attachment 191633 [details]
Patch from Jan-Fredrick Wigger
Created attachment 191634 [details]
Patch from Jan-Fredrick Wigger
Adding this contribution to IPLog All original Software from Jan-Frederic Wigger and Dirk Reuter Contributor agreement in place and signed by their employer Created attachment 192824 [details]
Some changes in the graph editor
Click on models instead on graphs, assignment of information from other graphs in canonical graph, adapters, creating local copies.
adding saving of additional labels Created attachment 193361 [details]
saving of additional labels
Extended GraphEditor committed (Revision 2775): 1. Nodes, Edges and NodeLabels can be added and removed 2. Improved GUI and zooming 3. Several Bug Fixes 4. NLS, Javadoc and Wiki documention will be added soon Additional Improvements committed, will not be part of 1.3.1. Documenation will be updated for 1.3.2. Is done. Clear IP log per recommendation Comment on attachment 190581 [details]
Patch from Jan-Fredrick Wigger
Add IP log + per recommendation
Comment on attachment 191633 [details]
Patch from Jan-Fredrick Wigger
Add IP log + per recommendation
Comment on attachment 191634 [details]
Patch from Jan-Fredrick Wigger
Add IP log + per recommendation
|