Index: lams_central/conf/flashxml/lams/defaultTheme.xml =================================================================== diff -u -rea5dd39341c9597a297fe0e292479b5e184196c5 -ra9a7abb38e9856ba77cfb56c8106d3a379a4bc70 --- lams_central/conf/flashxml/lams/defaultTheme.xml (.../defaultTheme.xml) (revision ea5dd39341c9597a297fe0e292479b5e184196c5) +++ lams_central/conf/flashxml/lams/defaultTheme.xml (.../defaultTheme.xml) (revision a9a7abb38e9856ba77cfb56c8106d3a379a4bc70) @@ -1 +1 @@ -
0x33364810Verdana0x669BF20x669BF20x669BF2insetdefaultbutton0x3336489Verdana0xBFFFBF0xBFFFBF0xBFFFBF0x669BF2label0x33364812VerdanaPIlabel0x33364810VerdanaCALabel0x33364811VerdananoneEndGatelabel0x3336487VerdanaLFWindow0x33364814Verdana0xBFFFBF0xBFFFBF0xBFFFBFinsettreeview0x33364814Verdana0xBFFFBF0xBFFFBF0xBFFFBFElasticdatagrid0x33364814Verdana0xBFFFBF0xBFFFBF0xBFFFBFElasticcombo0x33364811Verdana0xBFFFBF0xBFFFBF0xBFFFBFpicombo0x3336489Verdana0xBFFFBF0xBFFFBF0xBFFFBFLFMenuBar0x33364811Verdana0xBFFFBF0xBFFFBF0xBFFFBFBGPaneloutset0xC2D5FEFlowPanelnone0xC2D5FEWZPaneloutset0xDBE6FDMHPanelnone0xDBE6FDTAPaneloutset0xC2D5FE0x000000scrollpane0x669BF2textarea0x333648Verdana10CanvasPanel0xFCFCFCACTPanelNone0xC2D5FEACTPanel0None0xE1E7E7ACTPanel1None0xC2D5FEACTPanel2None0xFFFDBEACTPanel3None0xDDFCB1ACTPanel4None0xFFEEC8ACTPanel5None0xE9E2F5OptActContainerPanelinset0x25a56fOptActPanelnone0xd8ffefparallelHeadPaneloutset0x4684F7OptHeadPaneloutset0x4684F7ACTPanelNegativeNone0x000000smallLabel0x333648 10 VerdanaredLabel0xFF0000 12 VerdanaboldTAPanelSelected0x1B6BA7TAPanelRollover0xFFFFFFoutsetBGPanelShadow0xAFC8FFCAHighlightBorder0x266DEELTVLearnerText0x555555Verdana11bold0xE7EEFEsolidAboutDialogScpGeneralItem0x66666611VerdanaAboutDialogScpHeaderItem0x66666611VerdanaboldAboutDialogPanel0xFFFFFFnoneAlertDialog1000100010001000 \ No newline at end of file +
0x33364810Verdana0x669BF20x669BF20x669BF2insetdefaultbutton0x3336489Verdana0xBFFFBF0xBFFFBF0xBFFFBF0x669BF2label0x33364812VerdanaPIlabel0x33364810VerdanaCALabel0x33364811VerdananoneEndGatelabel0x3336487VerdanaLFWindow0x33364814Verdana0xBFFFBF0xBFFFBF0xBFFFBFinsettreeview0x33364814Verdana0xBFFFBF0xBFFFBF0xBFFFBFElasticdatagrid0x33364814Verdana0xBFFFBF0xBFFFBF0xBFFFBFElasticcombo0x33364811Verdana0xBFFFBF0xBFFFBF0xBFFFBFpicombo0x3336489Verdana0xBFFFBF0xBFFFBF0xBFFFBFLFMenuBar0x33364811Verdana0xBFFFBF0xBFFFBF0xBFFFBFBGPaneloutset0xC2D5FEFlowPanelnone0xC2D5FEWZPaneloutset0xDBE6FDMHPanelnone0xDBE6FDTAPaneloutset0xC2D5FE0x000000scrollpane0x669BF2textarea0x333648Verdana10CanvasPanel0xFCFCFCACTPanelNone0xC2D5FEACTPanel0None0xE1E7E7ACTPanel1None0xC2D5FEACTPanel2None0xFFFDBEACTPanel3None0xDDFCB1ACTPanel4None0xFFEEC8ACTPanel5None0xE9E2F5OptActContainerPanelinset0x25a56fOptActPanelnone0xd8ffefparallelHeadPaneloutset0x4684F7OptHeadPaneloutset0x4684F7ACTPanelNegativeNone0x000000smallLabel0x333648 10 VerdanaredLabel0xFF0000 12 VerdanaboldTAPanelSelected0x1B6BA7TAPanelRollover0xFFFFFFoutsetBGPanelShadow0xAFC8FFCAHighlightBorder0x266DEELTVLearnerText0x555555Verdana11bold0xE7EEFEsolidAboutDialogScpGeneralItem0x66666611VerdanaAboutDialogScpHeaderItem0x66666611VerdanaboldAboutDialogPanel0xFFFFFFnoneAlertDialog1000100010001000IndexBar0x1647BEIndexButtonTahoma12IndexTextFieldTahoma120x333333 \ No newline at end of file Index: lams_central/conf/flashxml/rams/defaultTheme.xml =================================================================== diff -u -rea5dd39341c9597a297fe0e292479b5e184196c5 -ra9a7abb38e9856ba77cfb56c8106d3a379a4bc70 --- lams_central/conf/flashxml/rams/defaultTheme.xml (.../defaultTheme.xml) (revision ea5dd39341c9597a297fe0e292479b5e184196c5) +++ lams_central/conf/flashxml/rams/defaultTheme.xml (.../defaultTheme.xml) (revision a9a7abb38e9856ba77cfb56c8106d3a379a4bc70) @@ -1 +1 @@ -
0x33364810Verdana0x669BF20x669BF20x669BF2insetdefaultbutton0x3336489Verdana0xBFFFBF0xBFFFBF0xBFFFBF0x669BF2label0x33364812VerdanaPIlabel0x33364810VerdanaCALabel0x33364811VerdananoneEndGatelabel0x3336487VerdanaLFWindow0x33364814Verdana0xBFFFBF0xBFFFBF0xBFFFBFinsettreeview0x33364814Verdana0xBFFFBF0xBFFFBF0xBFFFBFElasticdatagrid0x33364814Verdana0xBFFFBF0xBFFFBF0xBFFFBFElasticcombo0x33364811Verdana0xBFFFBF0xBFFFBF0xBFFFBFpicombo0x3336489Verdana0xBFFFBF0xBFFFBF0xBFFFBFLFMenuBar0x33364811Verdana0xBFFFBF0xBFFFBF0xBFFFBFBGPaneloutset0xC2D5FEFlowPanelnone0xC2D5FEWZPaneloutset0xDBE6FDMHPanelnone0xDBE6FDTAPaneloutset0xC2D5FE0x000000scrollpane0x669BF2textarea0x333648Verdana10CanvasPanel0xFCFCFCACTPanelNone0xC2D5FEACTPanel0None0xE1E7E7ACTPanel1None0xC2D5FEACTPanel2None0xFFFDBEACTPanel3None0xDDFCB1ACTPanel4None0xFFEEC8ACTPanel5None0xE9E2F5OptActContainerPanelinset0x25a56fOptActPanelnone0xd8ffefparallelHeadPaneloutset0x4684F7OptHeadPaneloutset0x4684F7ACTPanelNegativeNone0x000000smallLabel0x333648 10 VerdanaredLabel0xFF0000 12 VerdanaboldTAPanelSelected0x1B6BA7TAPanelRollover0xFFFFFFoutsetBGPanelShadow0xAFC8FFCAHighlightBorder0x266DEELTVLearnerText0x555555Verdana11bold0xE7EEFEsolidAboutDialogScpGeneralItem0x66666611VerdanaAboutDialogScpHeaderItem0x66666611VerdanaboldAboutDialogPanel0xFFFFFFnoneAlertDialog1000100010001000 \ No newline at end of file +
0x33364810Verdana0x669BF20x669BF20x669BF2insetdefaultbutton0x3336489Verdana0xBFFFBF0xBFFFBF0xBFFFBF0x669BF2label0x33364812VerdanaPIlabel0x33364810VerdanaCALabel0x33364811VerdananoneEndGatelabel0x3336487VerdanaLFWindow0x33364814Verdana0xBFFFBF0xBFFFBF0xBFFFBFinsettreeview0x33364814Verdana0xBFFFBF0xBFFFBF0xBFFFBFElasticdatagrid0x33364814Verdana0xBFFFBF0xBFFFBF0xBFFFBFElasticcombo0x33364811Verdana0xBFFFBF0xBFFFBF0xBFFFBFpicombo0x3336489Verdana0xBFFFBF0xBFFFBF0xBFFFBFLFMenuBar0x33364811Verdana0xBFFFBF0xBFFFBF0xBFFFBFBGPaneloutset0xC2D5FEFlowPanelnone0xC2D5FEWZPaneloutset0xDBE6FDMHPanelnone0xDBE6FDTAPaneloutset0xC2D5FE0x000000scrollpane0x669BF2textarea0x333648Verdana10CanvasPanel0xFCFCFCACTPanelNone0xC2D5FEACTPanel0None0xE1E7E7ACTPanel1None0xC2D5FEACTPanel2None0xFFFDBEACTPanel3None0xDDFCB1ACTPanel4None0xFFEEC8ACTPanel5None0xE9E2F5OptActContainerPanelinset0x25a56fOptActPanelnone0xd8ffefparallelHeadPaneloutset0x4684F7OptHeadPaneloutset0x4684F7ACTPanelNegativeNone0x000000smallLabel0x333648 10 VerdanaredLabel0xFF0000 12 VerdanaboldTAPanelSelected0x1B6BA7TAPanelRollover0xFFFFFFoutsetBGPanelShadow0xAFC8FFCAHighlightBorder0x266DEELTVLearnerText0x555555Verdana11bold0xE7EEFEsolidAboutDialogScpGeneralItem0x66666611VerdanaAboutDialogScpHeaderItem0x66666611VerdanaboldAboutDialogPanel0xFFFFFFnoneAlertDialog1000100010001000IndexBar0xFFAA55IndexButtonTahoma12IndexTextFieldTahoma120x333333 \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/IndexButton.as =================================================================== diff -u -r4baa0faadcf337948845caf35b65d88366b1ed0d -ra9a7abb38e9856ba77cfb56c8106d3a379a4bc70 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/IndexButton.as (.../IndexButton.as) (revision 4baa0faadcf337948845caf35b65d88366b1ed0d) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/IndexButton.as (.../IndexButton.as) (revision a9a7abb38e9856ba77cfb56c8106d3a379a4bc70) @@ -64,9 +64,9 @@ _tm = ThemeManager.getInstance(); - //lblWidth = StringUtils.getButtonWidthForStr(Dictionary.getValue(_labelText)); idxLabel_mc = this.attachMovie("Label", "idxLabel", this.getNextHighestDepth(), {text:_labelText, _width: 45, autoSize: "center"}); idxLabel = Label(idxLabel_mc); + setStyles(); _bgPanel.onRollOver = Delegate.create(this, onMouseOver); _bgPanel.onPress = Delegate.create(this, indexClicked); @@ -135,6 +135,15 @@ } + /** + * Get the CSSStyleDeclaration objects for each component and apply them + * directly to the instance + */ + private function setStyles():Void{ + var styleObj = _tm.getStyleObject('IndexButton'); + idxLabel.setStyle('styleName', styleObj); + } + public function setSize(_btnWidth:Number):Void { this._width = _btnWidth; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerIndexView.as =================================================================== diff -u -r4baa0faadcf337948845caf35b65d88366b1ed0d -ra9a7abb38e9856ba77cfb56c8106d3a379a4bc70 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerIndexView.as (.../LearnerIndexView.as) (revision 4baa0faadcf337948845caf35b65d88366b1ed0d) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerIndexView.as (.../LearnerIndexView.as) (revision a9a7abb38e9856ba77cfb56c8106d3a379a4bc70) @@ -35,8 +35,8 @@ import org.lamsfoundation.lams.authoring.cv.CanvasActivity; import org.lamsfoundation.lams.common.Sequence; import org.lamsfoundation.lams.common.ToolTip; -import org.lamsfoundation.lams.authoring.Transition; - +import org.lamsfoundation.lams.authoring.Transition; + import mx.managers.*; import mx.containers.*; import mx.events.*; @@ -49,7 +49,7 @@ private var _className = "LearnerIndexView"; private var _bgPanel:MovieClip; - + private var _tm:ThemeManager; private var _tip:ToolTip; @@ -81,6 +81,7 @@ private var btnSpacing:Number; private var txtFieldSpacing:Number; private var untranslatedWidth:Number; + private var fontWidthVariance:Number; private var buttonsShown:Boolean; private var navigationButtonsDrawn:Boolean; @@ -92,19 +93,18 @@ */ function LearnerIndexView(){ Debugger.log("LearnerIndexView Constructor", Debugger.CRITICAL, "LearnerIndexView", "LearnerIndexView"); - _tm = ThemeManager.getInstance(); _tip = new ToolTip(); nextPosition = 0; btnWidth = 40; btnSpacing = 20; txtFieldSpacing = 5; + fontWidthVariance = 1.15; // Tahoma font requires greater width buttonsShown = false; navigationButtonsDrawn = false; defaultString = Dictionary.getValue("mv_search_default_txt"); - untranslatedWidth = StringUtils.getButtonWidthForStr('?'); - + untranslatedWidth = Math.ceil(StringUtils.getButtonWidthForStr('?') * fontWidthVariance); this._visible = false; displayedButtons = new Array(); @@ -158,6 +158,7 @@ break; case 'DRAW_DESIGN' : if (infoObj.tabID == _tabID && !mm.locked && (mm.numIndexButtons>1 || mm.inSearchView)) { + setStyles(); mm.updateIndexButtons(); setupButtons(mm); this._visible = true; @@ -167,6 +168,7 @@ case 'DRAW_BUTTONS' : // this event is only fired when << or >> buttons clicked as it doesn't redraw learnertabview contents if (infoObj.tabID == _tabID && !mm.locked && mm.numIndexButtons>1) { if (!buttonsShown || (mm.numIndexButtons > displayedButtons.length)) { + setStyles(); setupButtons(mm); // this only renames the index buttons as drawbuttons equals false this._visible = true; } @@ -187,12 +189,22 @@ * directly to the instance */ private function setStyles():Void{ - var styleObj = _tm.getStyleObject('IdxBar'); - //bkg_pnl.setStyle('styleName',styleObj); - - //var styleObj = _tm.getStyleObject('IndexBar'); + var styleObj = _tm.getStyleObject('IndexBar'); + var _bgPanelColor:Color = new Color(_bgPanel); + drawOutline(); } + public function drawOutline():Void { + var outline_mc = this.createEmptyMovieClip("outline_mc", _bgPanel.getNextHighestDepth()); + var outline = this['outline_mc']; + + outline.lineStyle(0, 0x000000, 100); + outline.lineTo(10000, 0); // TODO: base this on mm.getSize().w or Stage._width instead of 10000 + outline.lineTo(10000, 20); // similarly + outline.lineTo(0, 20); + outline.lineTo(0, 0); + } + public function setupButtons(mm:MonitorModel):Void { rangeLabel.text = Dictionary.getValue('mv_search_current_page_lbl', [mm.currentLearnerIndex, mm.numIndexButtons]); Debugger.log("displayedButtons.length: "+displayedButtons.length, Debugger.CRITICAL, "setupButtons", "LearnerIndexView"); @@ -264,10 +276,15 @@ // Label that displays 'Page # of #' var idxLabel_mc:MovieClip = _buttonsPanel_mc.attachMovie("Label", "rangeLabel", _buttonsPanel_mc.getNextHighestDepth()); rangeLabel = _buttonsPanel_mc["rangeLabel"]; + + // style info + var styleObj = _tm.getStyleObject('IndexButton'); + rangeLabel.setStyle('styleName', styleObj); + rangeLabel._x = 0; rangeLabel.autoSize = "center" rangeLabel.text = Dictionary.getValue('mv_search_current_page_lbl', [mm.currentLearnerIndex, mm.numIndexButtons]); - var generatedWidth:Number = StringUtils.getButtonWidthForStr(String(rangeLabel.text)); + var generatedWidth:Number = Math.ceil(StringUtils.getButtonWidthForStr(String(rangeLabel.text)) * fontWidthVariance); rangeLabel._width = (generatedWidth <= untranslatedWidth) ? 90 : generatedWidth + btnSpacing; nextPosition += rangeLabel._width; @@ -307,7 +324,6 @@ idxBtn._x = nextPosition; nextPosition += btnWidth; } else { - _indexButton = IndexButton(displayedButtons[count]); displayedButtons[count].label = String(i); displayedButtons[count]._width = btnWidth; @@ -334,17 +350,30 @@ _buttonsPanel_mc.attachMovie("textFieldBackground", "textFieldBackground_mc", _buttonsPanel_mc.getNextHighestDepth(), {_x: nextPosition, _y: 0}); var textFieldBackground = _buttonsPanel_mc["textFieldBackground_mc"]; - var generatedWidth:Number = StringUtils.getButtonWidthForStr(defaultString); + + var textFieldColor:Color = new Color(textFieldBackground); + + var generatedWidth:Number = Math.round(StringUtils.getButtonWidthForStr(defaultString) * fontWidthVariance); textFieldBackground._width = (generatedWidth <= untranslatedWidth) ? 175 : generatedWidth + txtFieldSpacing; textFieldBackground.createTextField("idxTextField", textFieldBackground.getNextHighestDepth(), 0, 0, textFieldBackground._width, 20); idxTextField = textFieldBackground["idxTextField"]; + idxTextField._visible = true; idxTextField.enabled = true; idxTextField._editable = true; idxTextField.type = "input"; idxTextField.autosize = "center" + + // style info + var styleObj = _tm.getStyleObject('IndexTextField'); + var txtFmt:TextFormat = new TextFormat(); + txtFmt.font = styleObj.fontFamily; + txtFmt.size = styleObj.fontSize; + txtFmt.color = styleObj.color; + idxTextField.setNewTextFormat(txtFmt); + if (!mm.resetSearchTextField) idxTextField.text = (_textFieldContents == undefined) ? defaultString : _textFieldContents; else { @@ -361,7 +390,7 @@ } private function addGoButton(mm:MonitorModel):Void { - var generatedWidth:Number = StringUtils.getButtonWidthForStr(Dictionary.getValue('mv_search_go_btn_lbl')); + var generatedWidth:Number = Math.ceil(StringUtils.getButtonWidthForStr(Dictionary.getValue('mv_search_go_btn_lbl')) * fontWidthVariance); var goBtnWidth:Number = (generatedWidth <= untranslatedWidth) ? btnWidth : generatedWidth + btnSpacing; goBtn = _buttonsPanel_mc.attachMovie("IndexButton", "goBtn", _buttonsPanel_mc.getNextHighestDepth(), {_width: goBtnWidth, _labelText: Dictionary.getValue('mv_search_go_btn_lbl')}); _indexButton = IndexButton(goBtn); @@ -372,14 +401,18 @@ } private function addIndexViewButton(mm:MonitorModel):Void { - var generatedWidth:Number = StringUtils.getButtonWidthForStr(Dictionary.getValue('mv_search_index_view_btn_lbl')); - var indexViewBtnWidth:Number = (generatedWidth <= untranslatedWidth) ? 84 : generatedWidth + btnSpacing; + var generatedWidth:Number = Math.round(StringUtils.getButtonWidthForStr(Dictionary.getValue('mv_search_index_view_btn_lbl')) * fontWidthVariance); + var indexViewBtnWidth:Number = (generatedWidth <= untranslatedWidth) ? 93 : generatedWidth + btnSpacing; indexViewBtn = _buttonsPanel_mc.attachMovie("IndexButton", "indexViewBtn", _buttonsPanel_mc.getNextHighestDepth(), {_width: indexViewBtnWidth, _labelText: Dictionary.getValue('mv_search_index_view_btn_lbl')}); _indexButton = IndexButton(indexViewBtn); _indexButton.init(mm, undefined); _indexButton.btnType = "IndexView"; indexViewBtn._x = nextPosition; + Debugger.log("addIndexButton1_nextPosition: "+nextPosition, Debugger.CRITICAL, "addIndexButton", "LearnerIndexView"); + Debugger.log("addIndexButton1_indexViewBtnWidth: "+indexViewBtnWidth, Debugger.CRITICAL, "addIndexButton", "LearnerIndexView"); nextPosition += indexViewBtnWidth; + Debugger.log("addIndexButton2_nextPosition: "+nextPosition, Debugger.CRITICAL, "addIndexButton", "LearnerIndexView"); + nextPosition--; } private function setPosition(mm:MonitorModel):Void{ @@ -390,7 +423,8 @@ } public function setSize(mm:MonitorModel):Void{ - _bgPanel._width = mm.getSize().w; + var panelOffset:Number = mm.getSize().w/100; + _bgPanel._width = Math.round(mm.getSize().w + panelOffset); } public function getController():MonitorController{ Index: lams_monitoring/web/lams_monitoring.swf =================================================================== diff -u -re44760ecb853e178f8a9b3569933e492ee13130a -ra9a7abb38e9856ba77cfb56c8106d3a379a4bc70 Binary files differ Index: lams_monitoring/web/lams_monitoring_library.swf =================================================================== diff -u -re44760ecb853e178f8a9b3569933e492ee13130a -ra9a7abb38e9856ba77cfb56c8106d3a379a4bc70 Binary files differ