[moodle] / contrib / plugins / grade / report / visual / flare_visualization / Button.as Repository:

View of /contrib/plugins/grade/report/visual/flare_visualization/Button.as

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (download) (annotate)
Tue Jul 15 03:27:17 2008 WST (16 months, 1 week ago) by dservos
Branch: MAIN
Changes since 1.1: +48 -2 lines
CONTRIB-497
Cleaned up some of the code for report/visual and the flex based application for viewing the visualizations.

Improved the UI of the visualization.

Added documentation to both the php and actionscript 3 (flex) code.

Removed some unneeded files.

TODO:
*Add more visualizations.
*Add printer firendly version.
*Make flex appplications settings less hardcoded and loaded from moodle.
*Load lang files from moodle to flex for full language support.
*Add a settings page for the report.
///////////////////////////////////////////////////////////////////////////
//                                                                       //
// NOTICE OF COPYRIGHT                                                   //
//                                                                       //
// Moodle - Modular Object-Oriented Dynamic Learning Environment         //
//          http://moodle.org                                            //
//                                                                       //
// Copyright (C) 1999 onwards  Martin Dougiamas  http://moodle.com       //
//                                                                       //
// This program is free software; you can redistribute it and/or modify  //
// it under the terms of the GNU General Public License as published by  //
// the Free Software Foundation; either version 2 of the License, or     //
// (at your option) any later version.                                   //
//                                                                       //
// This program is distributed in the hope that it will be useful,       //
// but WITHOUT ANY WARRANTY; without even the implied warranty of        //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         //
// GNU General Public License for more details:                          //
//                                                                       //
//          http://www.gnu.org/copyleft/gpl.html                         //
//                                                                       //
///////////////////////////////////////////////////////////////////////////

package {
	import flash.display.SimpleButton;
	import flash.text.TextField;
	import flash.text.TextFormat;

	public class Button extends SimpleButton {
		private var upColor:uint = 0x9999FF;
    	private var overColor:uint = 0xBABAFF;
    	private var downColor:uint = 0xBBBBFF;
    	private var fmt:TextFormat = new TextFormat("mono",12,0,null,null,null,null,null,"center");
    	private var buttonText:String;
    	
    	public var props:Object = new Object();
		
		public function Button(text:String) {
			buttonText = text;
			downState = new ButtonDisplayState(text, fmt, downColor);
        	overState = new ButtonDisplayState(text, fmt, overColor);
        	upState = new ButtonDisplayState(text, fmt, upColor);
        	hitTestState = upState;
        	useHandCursor = true;	
		}
		
		public function set text(text:String):void {
			buttonText = text;
			ButtonDisplayState(downState).text = text;
			ButtonDisplayState(overState).text = text;
			ButtonDisplayState(upState).text = text;
		}
		
		public function get text():String {
			return buttonText;
		}
	}
}
	
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
import flare.display.TextSprite;

class ButtonDisplayState extends Sprite
{
    private var bgColor:uint;
    private var w:uint;
    private var h:uint;
	private var buttonText:String;
	private var fmt:TextFormat;
	private var ts:TextSprite;

	public function ButtonDisplayState(text:String, fmt:TextFormat, bgColor:uint) {
		this.bgColor = bgColor;
		buttonText = text;
		this.fmt = fmt;
		this.ts = new TextSprite(text, fmt);
 
		var tf:TextField = ts.textField;
		
        w = tf.width = tf.textWidth + 6;
        h = tf.height = tf.textHeight + 4;
		ts.dirty();
		
        addChild(ts);
        draw();
    }

    private function draw():void {
		graphics.beginFill(bgColor, 0.6);
        graphics.lineStyle(1, 0x4444FF, 0.3, true);
        graphics.drawRoundRect(0, 0, w, h, 10, 10);
        graphics.endFill();
	}
	
	public function set text(text:String):void {
		buttonText = text;
		ts.text = text;
	}
}

Moodle CVS Admin
ViewVC Help
Powered by ViewVC 1.0.7