From 79670053c7247d3a49b607960efd284e93f057e5 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 2 Aug 2013 17:14:26 -0500 Subject: install.pl --- bPod/com/threads/ThreadButton.as | 57 ++++++++++++++++++++++++ bPod/com/threads/ThreadScroller.as | 15 +++++++ bPod/com/threads/ThreadSelectionSystem.as | 74 +++++++++++++++++++++++++++++++ 3 files changed, 146 insertions(+) create mode 100644 bPod/com/threads/ThreadButton.as create mode 100644 bPod/com/threads/ThreadScroller.as create mode 100644 bPod/com/threads/ThreadSelectionSystem.as (limited to 'bPod/com/threads') diff --git a/bPod/com/threads/ThreadButton.as b/bPod/com/threads/ThreadButton.as new file mode 100644 index 0000000..296c15f --- /dev/null +++ b/bPod/com/threads/ThreadButton.as @@ -0,0 +1,57 @@ +import mx.utils.Delegate; +import mx.transitions.easing.*; +import mx.transitions.Tween; +import com.events.EventBroadcaster; + +import com.keywords.KeywordButton; + +class com.threads.ThreadButton extends KeywordButton { + + private var username_mc:MovieClip; + private var alphabet_mc:MovieClip; + private var backing:MovieClip; + private var initialAlpha:Number; + private var overlay:MovieClip; + + private function makeButton(_val:Object):Void { + overlay._visible = false; + initialAlpha = backing._alpha; + title_mc.title_txt.text = _val.name; + username_mc.username_txt.text = _val.user; + + var ok:String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + var stru:String = _val.name.toUpperCase(); + var strc:String = stru.charAt(0); + var strl:String = stru.charAt(1).toLowerCase(); + + if ( ok.indexOf (strc) != -1) + alphabet_mc.alphabet_txt.text = strc + strl; + else + alphabet_mc.alphabet_txt.text = ""; + + super.setPosition(); + } + + private function handleRollOver():Void { + var tTween = new Tween(backing, "_alpha", Regular.easeOut, backing._alpha, 40, .4, true); +// makeWhite(); + } + + private function handleRollOut():Void { + + if(visited) { var fadeVal:Number = initialAlpha; } + else { var fadeVal:Number = initialAlpha; } + + var tTween = new Tween(backing, "_alpha", Regular.easeOut, backing._alpha, initialAlpha, .4, true); +// makeBlack(); + } + + private function makeWhite():Void { + title_mc.title_txt.textColor =0xFFFFFF; + } + + private function makeBlack():Void { + title_mc.title_txt.textColor =0x000000; + } + +}; \ No newline at end of file diff --git a/bPod/com/threads/ThreadScroller.as b/bPod/com/threads/ThreadScroller.as new file mode 100644 index 0000000..2aecde6 --- /dev/null +++ b/bPod/com/threads/ThreadScroller.as @@ -0,0 +1,15 @@ +import com.oop.ScrollingMenuFrame; + +class com.threads.ThreadScroller extends ScrollingMenuFrame +{ + var intRate:Number = 20; // scroller speed + + public function doLoad(_dataArray:Array , _buttonType:String):Void { + holder_mc.attachMovie("ThreadSelectionSystem", "threads", 1000); + holder_mc["threads"].doInit(_dataArray, _buttonType ); + +// holder_mc._x = 0; // use as needed! this puts the horiz scroller back in view + holder_mc._y = 0; // when a keyword tile is clicked. + } + +}; \ No newline at end of file diff --git a/bPod/com/threads/ThreadSelectionSystem.as b/bPod/com/threads/ThreadSelectionSystem.as new file mode 100644 index 0000000..c94b57d --- /dev/null +++ b/bPod/com/threads/ThreadSelectionSystem.as @@ -0,0 +1,74 @@ +import com.keywords.KeywordSelectionSystem; +import com.events.EventBroadcaster; +import com.tubes.BuckyFileTube; +import com.services.BuckyServices; + +class com.threads.ThreadSelectionSystem extends KeywordSelectionSystem { + + private var itemsPerRow:Number = 1; + private var vertSpace:Number = 1; + private var tube:BuckyFileTube; + + private function doAction():Void { + eraseExistingSpinners(); + BuckyServices.setActiveThread( selectedData() ); + EventBroadcaster.getInstance().addEventListener("fileListMade", this); + tube = new BuckyFileTube ( BuckyServices.files + selectedData().id ); + startButtonSpinner(); + } + + + private function showSelectedFeedback():Void { + for (var i:Number = listItems.length ; i >= 0 ; i--) { + var t:MovieClip = listItems[i]; + + t.overlay._visible = ( currentSelection == i) ? true : false; + + } + } + + private function eraseExistingSpinners():Void { + for (var i:Number = 0 ; i < listItems.length ; i++) { + var t:MovieClip = listItems[i]; + t.alphabet_mc._visible = true; + t.username_mc.username_txt.text = systemData[i].user; + t["spinnerHolder"].removeMovieClip(); // kill if exists .. fail silently if not + } + EventBroadcaster.getInstance().removeEventListener("threadListMade", this); + } + + private function startButtonSpinner():Void { + var t:MovieClip = listItems[currentSelection]; + t.alphabet_mc._visible = false; + t.username_mc.username_txt.text = "loading!!!"; + t.createEmptyMovieClip ("spinnerHolder", t.getNextHighestDepth()); + t["spinnerHolder"].attachMovie ("Spinner", "spinner" , 100, {_x:196, _y:15, _width:18, _height:18}); + } + + + private function fileListMade (_evt:Object):Void { + + eraseExistingSpinners(); + + _root.debug.text = tube.articles.length; + + if (( tube.articles.length != undefined) && ( tube.articles.length != 0 )) { + + BuckyServices.setActiveThread ( selectedData() ); + + setCurrentSelection ( currentSelection ); + showSelectedFeedback(); + + BuckyServices.filesMC.doLoad( tube.articles , "FileButton" ); + + EventBroadcaster.getInstance().broadcastEvent("switchToFilesView", null); + + } else if ( tube.articles.length == 0 ) { + + _root.switcher.handleOpenThreadBtn(); + var t:MovieClip = listItems[currentSelection]; + t.username_mc.username_txt.text = "opening " + selectedData().user + "'s thread.."; + + } + } +}; \ No newline at end of file -- cgit v1.2.3-70-g09d2