My favorites | Sign in
Project Home Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
ComponentsOfTheGraphWidgets  
Design ideas for KGraphingWidgets
components, goals
Updated Feb 4, 2010 by miketd...@gmail.com

Parts of the KGraphingWidgets Structure

A suitable implementation for generic graphing widgets for KDE4 will require a framework of its own to handle the various tasks required of graphing widgets with as little replication as possible. In order to satisfy this requirement, a number of basic tool classes need to be designed and implemented.

Categories of Basic Graph Widget Components

Graphical

Classes need to be designed and implemented to handle the following basic graphical tasks:

  • Drawing the Background Types
    1. Image
    2. Solid color
    3. Gradient
    4. etc
  • Drawing the Graph's Scale on the Background
  • Drawing the Data for the graph (using, ie, bars for bar graphs, lines, points, etc)
  • Theming to allow the developer to specify a set of images (or theme files?) to change the look of a graph?

Logical

A number of classes need to be implemented to handle the logic behind the creation of graphs as well. These include:

  • Handling of the Graph Window operations
    1. Size and shape
    2. Mouse input
    3. Handling resizing
    4. etc
  • Messaging system
    1. DBus
    2. Signals/Slots
    3. Any others needed for other operating systems
  • Backbuffering of the graph in a sliding window fashion (ala old 2-D side-scrolling arcade games)

Data

A number of classes will need to be implemented to handle the data for the graphs.

  • Sliding window data buffer for the point data for a continuous display graph
  • Filter chain for the data, to allow:
    1. Clamping the data to within specified boundaries
    2. Filtering spurious data points
    3. Signaling the scale of the graph to resize when new data exceeds current scale boundaries (for auto-sizing graphs)
    4. Any other filters the library users desire
  • Configuration component, to allow persistence of graph type, colors, etc, which should be able to setup graph to utilize the default configuration options specified by the user's chosen KDE style.
  • Data Source Selector to connect the graphs to a SQL database data source
Powered by Google Project Hosting