Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/IndexButton.as =================================================================== diff -u -rfdf1c80df9cc884de2d9a81d6e69706049d0bcb0 -re2fcbae966f671de6b2c8fc2457543e33cf4d7b7 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/IndexButton.as (.../IndexButton.as) (revision fdf1c80df9cc884de2d9a81d6e69706049d0bcb0) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/IndexButton.as (.../IndexButton.as) (revision e2fcbae966f671de6b2c8fc2457543e33cf4d7b7) @@ -76,13 +76,13 @@ } public function indexClicked(): Void { + Selection.setFocus(mm.getMonitor().getMV().getMonitorLearnerScp()); // take focus off idx textfield as it interferes << and >> button clicks var buttonText:String = String(label.text) if (buttonText == "<<") { Debugger.log("<< clicked", Debugger.GEN, "indexClicked", "IndexButton"); mm.updateIndexButtons("<<"); } else if (buttonText == ">>") { Debugger.log(">> clicked", Debugger.GEN, "indexClicked", "IndexButton"); - Debugger.log("mm: "+mm, Debugger.GEN, "indexClicked", "IndexButton"); mm.updateIndexButtons(">>"); Debugger.log("updateIndexButtons has been called", Debugger.CRITICAL, "indexClicked", "IndexButton"); } else if (buttonText == "Go") { @@ -98,9 +98,9 @@ LFMessage.showMessageAlert("The page index must be a number between 1 and "+ mm.numIndexButtons, null); } else { - //mm.updateIndexButtons(); mm.currentLearnerIndex = Number(label.text); } + } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerIndexView.as =================================================================== diff -u -r7ab40c8ccdb695e61a1f0299757a870305dba3f6 -re2fcbae966f671de6b2c8fc2457543e33cf4d7b7 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerIndexView.as (.../LearnerIndexView.as) (revision 7ab40c8ccdb695e61a1f0299757a870305dba3f6) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerIndexView.as (.../LearnerIndexView.as) (revision e2fcbae966f671de6b2c8fc2457543e33cf4d7b7) @@ -81,6 +81,7 @@ //private var labelBackground; private var buttonsShown:Boolean; + private var drawButtons:Boolean; // buttons to the right of last index button private var direction:String; @@ -96,6 +97,7 @@ nextPosition = 0; btnWidth = 45; buttonsShown = false; + drawButtons = true; defaultString = "Enter Page Number"; this._visible = false; @@ -150,16 +152,19 @@ case 'DRAW_DESIGN' : if (infoObj.tabID == _tabID && !mm.locked && mm.numIndexButtons>1) { if (!buttonsShown || newButtonsNeeded(mm)) { + drawButtons = true; setupButtons(mm); this._visible = true; } else updatePageLabel(); } break; - case 'DRAW_BUTTONS' : + 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 ((mm.numIndexButtons > displayedButtons.length)) { if (!buttonsShown || (mm.numIndexButtons > displayedButtons.length)) { + drawButtons = false; setupButtons(mm); this._visible = true; } @@ -200,21 +205,26 @@ public function setupButtons(mm:MonitorModel):Void { rangeLabel.text = "Page " + mm.currentLearnerIndex + " of " + mm.numIndexButtons; - if (displayedButtons.length > 0 ) { + if ((displayedButtons.length > 0) && (drawButtons == true)) { Debugger.log("[displayedButtons.length > 0] => removing buttons", Debugger.CRITICAL, "setupButtons", "LearnerIndexView"); removeButtons(); - } - _buttonsPanel_mc = this.createEmptyMovieClip("_buttonsPanel_mc", DepthManager.kTop); + } - addRangeLabel(mm); - addIndexButtons(mm); - addNavigationButtons(mm); - addIndexTextField(mm); - addGoButton(mm); + if (drawButtons == true) { + _buttonsPanel_mc = this.createEmptyMovieClip("_buttonsPanel_mc", DepthManager.kTop); + addRangeLabel(mm); + } + addIndexButtons(mm); // if drawButtons = false, just rename labels + + if (drawButtons == true) { + addNavigationButtons(mm); + addIndexTextField(mm); + addGoButton(mm); - buttonsShown = true; - direction = null; - nextPosition = 0; + buttonsShown = true; + direction = null; + nextPosition = 0; + } } public function removeButtons(){ @@ -227,13 +237,14 @@ var idxBtn:MovieClip = MovieClip(displayedButtons.pop()); _buttonsPanel_mc.removeMovieClip(idxBtn); } + _buttonsPanel_mc.removeMovieClip(backBtn); _buttonsPanel_mc.removeMovieClip(nextBtn); - + //need to remove the text field from the background textFieldBackground_mc.removeMovieClip(idxTextField); _buttonsPanel_mc.removeMovieClip(textFieldBackground_mc); - + _buttonsPanel_mc.removeMovieClip(goBtn); } @@ -253,14 +264,23 @@ Debugger.log("mm.numIndexButtons: "+mm.numIndexButtons, Debugger.GEN, "addIndexButton", "LearnerIndexView"); Debugger.log("mm.firstDisplayedIndexButton: "+mm.firstDisplayedIndexButton, Debugger.GEN, "addIndexButton", "LearnerIndexView"); Debugger.log("mm.lastDisplayedIndexButton: "+mm.lastDisplayedIndexButton, Debugger.GEN, "addIndexButton", "LearnerIndexView"); - + var count:Number = 0; + for (var i=mm.firstDisplayedIndexButton; i<=mm.lastDisplayedIndexButton; i++) { - var idxBtn:MovieClip = _buttonsPanel_mc.attachMovie("IndexButton", "idxBtn"+i, _buttonsPanel_mc.getNextHighestDepth(), {_width: btnWidth, _labelText: String(i)}); - _indexButton = IndexButton(idxBtn); - _indexButton.init(mm, undefined); - displayedButtons.push(idxBtn); - idxBtn._x = nextPosition; - nextPosition += btnWidth; + if (drawButtons == true) { + var idxBtn:MovieClip = _buttonsPanel_mc.attachMovie("IndexButton", "idxBtn"+i, _buttonsPanel_mc.getNextHighestDepth(), {_width: btnWidth, _labelText: String(i)}); + _indexButton = IndexButton(idxBtn); + _indexButton.init(mm, undefined); + displayedButtons.push(idxBtn); + idxBtn._x = nextPosition; + nextPosition += btnWidth; + } else { + _indexButton = IndexButton(displayedButtons[count]); + //displayedButtons[count]._labelText = String(i); + displayedButtons[count].label = String(i); + nextPosition += btnWidth + count++; + } } } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as =================================================================== diff -u -r7ab40c8ccdb695e61a1f0299757a870305dba3f6 -re2fcbae966f671de6b2c8fc2457543e33cf4d7b7 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as (.../LearnerTabView.as) (revision 7ab40c8ccdb695e61a1f0299757a870305dba3f6) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as (.../LearnerTabView.as) (revision e2fcbae966f671de6b2c8fc2457543e33cf4d7b7) @@ -213,6 +213,7 @@ } break; case 'DRAW_ALL' : + adjustLearnerPanel(mm); if (infoObj.tabID == _tabID && !mm.locked){ evtArr = infoObj.data; drawAll(); @@ -314,8 +315,8 @@ if (mm.numIndexButtons > 1 && !panelLowered) { if (hAdjustment) { - //_scroll.setSize(s.w-_scroll._x, s.h - 20); - _scroll.setSize(s.w-_scroll._x, s.h); + _scroll.setSize(s.w-_scroll._x, s.h - 20); + //_scroll.setSize(s.w-_scroll._x, s.h); hAdjustment = false; } @@ -608,18 +609,10 @@ learnerListArr[i].learnerName._width = newWidth; learnerListArr[i].learnerButton._x = newWidth-110; } - var learnerListHeight:Number = s.h - 25; - if (learnersDrawnIndex != undefined) { - Debugger.log("learnersDrawnIndex: "+learnersDrawnIndex, Debugger.CRITICAL, "setSize", "LearnerTabView"); - learnerListHeight = Math.max(((learnersDrawnIndex)*80)+35, s.h - 25); - Debugger.log("new height learnerListHeight: "+learnerListHeight, Debugger.CRITICAL, "setSize", "LearnerTabView"); - } - + bkg_pnl._visible = false; + bkg_pnl.setSize(_activityLayer_mc._width + 6, 0); // fixes scroll display issue though 0 height is questionable - bkg_pnl.setSize(_activityLayer_mc._width + 6, learnerListHeight); - Debugger.log("_activityLayer_mc._width: "+_activityLayer_mc._width, Debugger.CRITICAL, "setSize", "LearnerTabView"); - mm.getMonitor().getMV().getMonitorLearnerScp().redraw(true); } Index: lams_monitoring/web/lams_monitoring.swf =================================================================== diff -u -r7ab40c8ccdb695e61a1f0299757a870305dba3f6 -re2fcbae966f671de6b2c8fc2457543e33cf4d7b7 Binary files differ Index: lams_monitoring/web/lams_monitoring_library.swf =================================================================== diff -u -r7ab40c8ccdb695e61a1f0299757a870305dba3f6 -re2fcbae966f671de6b2c8fc2457543e33cf4d7b7 Binary files differ