[moodle] / contrib / plugins / grade / report / visual / visualizations / visualization.php Repository:

View of /contrib/plugins/grade/report/visual/visualizations/visualization.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (download) (annotate)
Thu Jul 24 15:31:45 2008 WST (16 months ago) by dservos
Branch: MAIN
CONTRIB-497
*Added new visualization, Grade Distribution
*Fixed some minor bugs
*Made abstract visualization class for creating visualizations by making classes witch extend it.
*Made visual_settings.php witch takes a visualization class and truns it in to XML witch flex can read in.
*Made flex visualization application read in XML formated settings as well as tab formated data from moodle and combind them to make a custom visualization.
*Made flex visualization application read and use langue strings from moodle.
*Added printer firendly tab

TODO:
*Add more visualizations
*Refactor some of the flex/actionscript code
*More douctenation
*More UI functions for the flex application
<?php

class edge {
    public $sortby;
    public $groupby;
    
    public function __construct($sortby = null, $groupby = null) {
        $this->sortby = $sortby;
        $this->groupby = $groupby;
    }
}

class encoder {
    const ENCODER_DEFUALT = 1;
    const ENCODER_COLOR = 1;
    const ENCODER_SHAPE = 2; 
    const ENCODER_SIZE = 3;
    
    private static $counter = 0;
    
    public $id;
    
    public $type;
    
    public $settings;
    
    public $datafield;
    
    public function __construct($type, $datafield, array $settings = null) {
        $this->type = $type;
        $this->settings = $settings;
        $this->datafield = $datafield;
        $this->id = self::$counter++;
    }
}

class legend {
    public $encoder;
    
     public function __construct($encoder) {
        $this->encoder = $encoder;
    }
}

abstract class visualization {
    
    const LAYOUT_DEFAULT = 1;
    const LAYOUT_AXIS = 1;
    const LAYOUT_CIRCLE = 2;
    const LAYOUT_DENDROGRAM = 3;
    const LAYOUT_FORCEDIRECTED = 4;
    const LAYOUT_INDENTEDTREE = 5;
    const LAYOUT_NODELINKTREE = 6;
    const LAYOUT_PIE = 7;
    const LAYOUT_RADIALTREE = 8;
    const LAYOUT_RANDOM = 9;
    const LAYOUT_STACKEDAREA = 10;
    const LAYOUT_TREEMAP = 11;
    
    const SHAPE_BEZIER = 1;
    const SHAPE_BLOCK = -1;
    const SHAPE_CARDINAL = 2;
    const SHAPE_HORIZONTAL_BAR = -5;
    const SHAPE_LINE = 0;
    const SHAPE_POLYBLOB = -3;
    const SHAPE_POLYGON = -2;
    const SHAPE_VERTICAL_BAR = -4;
    const SHAPE_WEDGE = -6;
    

    public $name;
    
    public $layout = self::LAYOUT_DEFAULT;
   
    public $layoutsettings = null;
   
    public $edges = null;
   
    public $nodeshape = null;
   
    public $edgeshape = null;
    
    public $font = 'monospace';
    
    public $fontsize = 20;
    
    public $legends = null;

    public $xaxis;
    
    public $yaxis;
    
    public $xaxislabelformat;
    
    public $yaxislabelformat;
    
    public $xaxismin;
    
    public $xaxismax;
    
    public $yaxismin;
    
    public $yaxismax;
    
    public $xaxislabel;
    
    public $yaxislabel;
    
    public $yaxisyoffset;
    
    public $yaxisxoffset;
    
    public $xaxisyoffset;
    
    public $xaxisxoffset;
    
    public $title;
    
    public $capabilities = null;
    
    public $encoders = null;
    
    public $backgroundcolor = 'ffffff';
    
    public $width = 800;
    
    public $height = 600;
    
    public $framerate = 30;
    
    public $quality = "high";

    public $popupbgcolor = '7777ff';

    public $popupbgalpha = 0.60;
    
    public $popuplinecolor = '0000ff';
    
    public $popuplinealpha = 0.3;
    
    public $popuplinesize = 3;
    
    public $popupfont = 'monospace';
    
    public $popupfontsize = 12;

    public $buttonbgcolor = '9999FF';
    
    public $buttonbgalpha = 0.6;
    
    public $buttonfont = 'monospace';
    
    public $buttonfontsize = 12;
    
    public $buttonlinesize = 1;
    
    public $buttonlinecolor = '4444FF';
    
    public $buttonlinealpha = 0.3;

    public function __construct($name) {
        $this->name = $name;
    }
    
    abstract public function report_data($visualreport);
}

?>

Moodle CVS Admin
ViewVC Help
Powered by ViewVC 1.0.7