KDEEdu/Rocs/Todo: Difference between revisions

From KDE Community Wiki
(→‎Concrete Tasks: some more ideas)
Line 64: Line 64:
= Concrete Tasks =
= Concrete Tasks =


== General Tasks ==
== General Ideas ==
* Graph Copy/Duplication
* Graph Copy/Duplication
** drag/drop
** drag/drop
** copy subgraph
** copy subgraph
** script interfaces to copy? (Andreas: one of my students has such a use case while simulating changes on a graph; together with an invisibility toggle it could be a nice feature...)
** script interfaces to copy? (Andreas: one of my students has such a use case while simulating changes on a graph; together with an invisibility toggle it could be a nice feature...)
* Script Execution
** Snapshot and Recover Functionality
** Replay Function
* Script Console: allow graph modification by single commands (similar like in Maple or Cantor)


== Graph Editor ==
== Graph Editor ==

Revision as of 09:41, 20 September 2012

List of Rocs ToDos

Codebase Work

  • Cleanup of plugin system
    • Plugin Capabilities with respect to supported features: data types, pointer types (creation and/or only modification?), groups, etc.
    • Localization
    • Add plugin version for all plugin backends
  • Journal Files
  • separate toolbars from MainWindow-class
  • consistently use KUrl for all file pathes
  • use KMimeTypes for file extensions
  • use KIO to allow access of remote files
  • use shared pointers for document objects

Graph File Format Plugins

Current status for graph file format backends.

File Format Unsupported Features Documentation (complete, incomplete, missing) Unit Tests (complete or list of missing features) Notes
Dot XML labels, non-ascii identifiers missing nearly all example files could be parsed, but not functionality tests exist yet missing features documented in dotGrammar.cpp
TGF - complete complete maybe add example files
GML ???. missing very basic tests -
KML ??? missing very basic tests -
TikZ (export only) ??? missing very basic tests -
Rocs internal ??? missing basic tests -

Concrete Tasks

General Ideas

  • Graph Copy/Duplication
    • drag/drop
    • copy subgraph
    • script interfaces to copy? (Andreas: one of my students has such a use case while simulating changes on a graph; together with an invisibility toggle it could be a nice feature...)
  • Script Execution
    • Snapshot and Recover Functionality
    • Replay Function
  • Script Console: allow graph modification by single commands (similar like in Maple or Cantor)

Graph Editor

  • TODO: add option to automatically give each node a name after creation (e.g., like "a,b,c..." or "1,2,3...")
  • Copy and Paste for graphs, subgraphs, data elements

General Options

  • TODO: add switch to allow different edge style for directed edges (current style makes problems to recognize structure of larger graphs)

UI

  • Implement concept for visual graph editor toolbar (similar like in Inkscape)
  • 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.
  • Add Create Graph Wizard
  • TODO: add a "recently used" option for loading

Script-Interface

  • re-enable Kross iff it is stable enough for us
  • code-completion
  • show line numbers
  • copy graph/data structure capability (useful?)
  • add configuration options:
    • indentation
    • show line numbers
    • get inspired by what the kdevelop guys did :-)
  • Graph Plugin
    • function to compute graph diameter

Script Output

  • Add functionality:
    • copy output
    • clear output

Testing

  • prepare testing document
  • add unit tests for
    • every functionality documented
    • script functions
  • Load/Save testing
    • test for all standard values
    • test for edge values (Andreas: they vanish in one of my work files when loading)
    • data structure plugin settings (Andreas: one of my students noticed problems s.t. the plugin value is not stored/loaded correctly)
    • create test suite with graph files from all Rocs version the current file format should support

Documentation

  • unify wording and definitions