KDEEdu/Rocs/Todo
< KDEEdu
List of Rocs ToDos
Data-Structure
- TODO: there is a high probability of certain raise conditions (update boarders and iterate on dataList() while one of those data items is removed): maybe a port of all Data-pointers to smart-pointers solve this problem
Graph Editor
- TODO: add option to automatically give each node a name after creation (e.g., like "a,b,c..." or "1,2,3...")
Load and Save
- TODO: add projects that gather graphs and scripts
- TODO: add a "recently used" option for loading
- TODO: fix loading of graphs
- TODO: re-enable loading of different standard file types for graphs
- TODO: load scripts into existing script listing if this listing is empty
- TODO: add/re-enable load/save tests for graphs (GraphML - http://graphml.graphdrawing.org/)
- TODO: add load/save buttons to menu-bar, also separate ones at script listing
- TODO: tell the user if a file is changed and unsaved
General Options
- TODO: add switch to allow different edge style for directed edges (current style makes problems to recognize structure of larger graphs)
UI
TODO: the graph-list takes to much unused space- TODO: cleanup/restructure File-menu
- TODO: add shortcuts for all graph editor actions
- TODO: Animations on the nodes and edges. ( fade in when they are placed on the canvas, fade out when they are removed. ) doesn't need to be a huge thing, but a small fade in is better on the eyes.
Script-Interface
- TODO: check if property system is still working at script
- TODO: re-enable Kross iff it is stable enough for us
Documentation
- TODO: document extra properties
Ideas for the Future
- Port from QtScript to Kross
- Trees.
- Nice Animations on inserting and deleting nodes and edges.
- a Node.moveTo(x, y) method that will animate things.
- LinkedList and DoubleLinkedList objects on the script part for linked list visualization of the manipulation (confusing?)
l = newLinkedList(linkedList.ordered) l.append(1); // an node gracefully fades in on the scene l.append(3); // an node gracefully fades and search for it's location on the scene. l.append(5); // ditto. l.remove(3); // 3 is gracefully removed, with an fade out, and a new edge is connected between 1 and 5.