Jump to content

KDEEdu/Rocs/Todo: Difference between revisions

From KDE Community Wiki
Cola (talk | contribs)
No edit summary
Cola (talk | contribs)
List of Rocs ToDos: Update ToDos (removed finished ones)
Line 1: Line 1:
= List of Rocs ToDos =
= 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 ==
== Graph Editor ==
Line 10: Line 7:
* TODO: add projects that gather graphs and scripts
* TODO: add projects that gather graphs and scripts
* TODO: add a "recently used" option for loading
* TODO: add a "recently used" option for loading
* TODO: fix loading of graphs
* TODO: write unit tests for loading/saving
* TODO: re-enable loading of different standard file types for 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: 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 ==
== General Options ==
Line 21: Line 15:


== UI ==
== UI ==
* <del>TODO: the graph-list takes to much unused space</del>
* TODO: cleanup/restructure File-menu
* TODO: add shortcuts for all graph editor actions
* 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.
* 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.
Line 29: Line 21:
* TODO: check if property system is still working at script
* TODO: check if property system is still working at script
* TODO: re-enable Kross iff it is stable enough for us
* TODO: re-enable Kross iff it is stable enough for us
* TODO: add configuration to set script execution speed


== Documentation ==
== Documentation ==

Revision as of 13:31, 19 February 2012

List of Rocs ToDos

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: write unit tests for loading/saving
  • TODO: re-enable loading of different standard file types for graphs
  • TODO: load scripts into existing script listing if this listing is empty

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: 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
  • TODO: add configuration to set script execution speed

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.