Index: lams_common/src/flash/org/lamsfoundation/lams/common/style/Theme.as =================================================================== diff -u -r45ff2fa2a4c4dd883ef6cfdde9e4908938b23ef8 -r32afedcd0b6780a158d21f5723f316bab52565e0 --- lams_common/src/flash/org/lamsfoundation/lams/common/style/Theme.as (.../Theme.as) (revision 45ff2fa2a4c4dd883ef6cfdde9e4908938b23ef8) +++ lams_common/src/flash/org/lamsfoundation/lams/common/style/Theme.as (.../Theme.as) (revision 32afedcd0b6780a158d21f5723f316bab52565e0) @@ -1,20 +1,52 @@ -import org.lamsfoundation.lams.common.style.* +import org.lamsfoundation.lams.common.style.* +import org.lamsfoundation.lams.common.util.* +import mx.styles.* /** -* A theme is a collection of styles for visual elements +* A theme represents a collections of styles for visual elements +* * @class Theme * @author DI */ class Theme { //Declarations - private var _className = Theme; + private var _className = 'Theme'; + private var _baseStyleObject:CSSStyleDeclaration; + private var visualElements:Hashtable; + private var _name:String; - //Constructor - function Theme() { + /** + * Constructor + * @param baseStyleObject Base style for the theme, holds attributes such as themeColor, backgroundColor etc + * @param name Name of the theme + */ + function Theme(name:String,baseStyleObject:CSSStyleDeclaration) { + _baseStyleObject = baseStyleObject; + _name = name; + //Create the visual elements hashtable + visualElements = new Hashtable('visualElements'); } + + /** + * Adds and element to the visual elements hash + */ + public function addVisualElement(element:VisualElement){ + visualElements.put(element.name,element); + } + + /** + * Returns reqeusted visual element + */ + public function getVisualElement(name:String):VisualElement{ + return visualElements.get(name); + } //Getters+Setters - function get className():string{ + function get name():String{ + return _name; + } + + function get className():String{ return _className; } } \ No newline at end of file Index: lams_common/src/flash/org/lamsfoundation/lams/common/style/VisualElement.as =================================================================== diff -u --- lams_common/src/flash/org/lamsfoundation/lams/common/style/VisualElement.as (revision 0) +++ lams_common/src/flash/org/lamsfoundation/lams/common/style/VisualElement.as (revision 32afedcd0b6780a158d21f5723f316bab52565e0) @@ -0,0 +1,41 @@ +import org.lamsfoundation.lams.common.style.* +import org.lamsfoundation.lams.common.util.* +import mx.styles.* + +/** +* A visual element can be anything visual in LAMS that requires style information +* e.g. 'Button', 'LFWindow', 'Label' etc +* +* @class VisualElement +* @author DI +*/ +class VisualElement { + + //Declarations + private var _className = 'VisualElement'; + private var _styleObject:CSSStyleDeclaration; + private var _name:String; + + /** + * Constructor + * @param name Name representing the relevant visual element + * @param styleObject Optional + */ + function VisualElement(name:String,styleObject:CSSStyleDeclaration) { + _name = name; + _styleObject = styleObject; + } + + //Getters+Setters + function get styleObject():CSSStyleDeclaration{ + return _styleObject; + } + + function get className():String{ + return _className; + } + + function get name():String{ + return _name; + } +} \ No newline at end of file