diff options
| author | Jules Laplace <carbon@melanarchy.org> | 2013-08-02 17:14:26 -0500 |
|---|---|---|
| committer | Jules Laplace <carbon@melanarchy.org> | 2013-08-02 17:14:26 -0500 |
| commit | 79670053c7247d3a49b607960efd284e93f057e5 (patch) | |
| tree | 9617f6eefa38b2686ae409bf75cc27a340444eda /bPod/com/oop/SelectionSwitcher.as | |
| parent | c53827d5d044ae5ca7ebb27acb404b7a8988918e (diff) | |
install.pl
Diffstat (limited to 'bPod/com/oop/SelectionSwitcher.as')
| -rw-r--r-- | bPod/com/oop/SelectionSwitcher.as | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/bPod/com/oop/SelectionSwitcher.as b/bPod/com/oop/SelectionSwitcher.as new file mode 100644 index 0000000..f5685ea --- /dev/null +++ b/bPod/com/oop/SelectionSwitcher.as @@ -0,0 +1,194 @@ +import mx.utils.Delegate;
+import com.services.BuckyServices;
+import com.events.EventBroadcaster;
+import mx.transitions.easing.Regular;
+import mx.transitions.Tween;
+
+class com.oop.SelectionSwitcher extends MovieClip
+{
+ private static var slideAround:Boolean = true; // turn off while debugging only
+
+ private var selectionsMC:MovieClip; // all scrolling selection systems
+ private var initX:Number; // where they start
+ private var initY:Number;
+
+ private var bb:MovieClip; // back button
+
+ private var bbX:Number; // starting positions of nav buttons;
+ private var thX:Number;
+ private var kwX:Number;
+
+ private var initAlpha:Number = 70;
+
+ private var openKeywordsBtn:MovieClip; // open keywords button
+ private var openThreadBtn:MovieClip; // open threads button
+
+ private var currentView:String; // might as well be a string
+ private var agreedAlpha:Number = 75;
+ private var slideAmountX:Number = 210;
+ private var slideAmountY:Number = 210;
+ private var slideSpeed:Number = .4
+ private var activeThread:String; // to open a new browser window instead of
+ // switching to keyword/thread/file view.
+
+ public function SelectionSwitcher() {
+ establishStartingPoints();
+ EventBroadcaster.getInstance().addEventListener("switchToKeywordsView", this);
+ EventBroadcaster.getInstance().addEventListener("switchToThreadsView", this);
+ EventBroadcaster.getInstance().addEventListener("switchToFilesView", this);
+
+ EventBroadcaster.getInstance().addEventListener("switchToFeedThreadsView", this);
+
+
+ bb.onRelease = Delegate.create (this, handleBackButton);
+ openKeywordsBtn.onRelease = Delegate.create (this, handleOpenKeywordsBtn);
+ openThreadBtn.onRelease = Delegate.create (this, handleOpenThreadBtn);
+ }
+
+ private function handleBackButton():Void {
+ switch (currentView) {
+ case "threads" : switchToKeywordsView(); break;
+ case "files" : switchToThreadsView(); break;
+ case "feeds" : switchToFeedsView(); break;
+ default : break;
+ }
+ }
+
+ private function establishStartingPoints():Void {
+ initX = selectionsMC._x;
+ initY = selectionsMC._y;
+ bbX= bb._x;
+ thX= openThreadBtn._x;
+ kwX= openKeywordsBtn._x;
+ currentView = "keywords";
+ hideBackButton();
+ hideOpenThreadBtn();
+ hideOpenKeywordsBtn();
+
+ bb._alpha = openKeywordsBtn._alpha = openThreadBtn._alpha = initAlpha;
+ }
+
+ private function swapPlaces(_inA:MovieClip, _inB:MovieClip):Void {
+
+ var oldX:Number = _inA._x;
+ var oldY:Number = _inA._y;
+
+ _inA._x = _inB._x;
+ _inA._y = _inB._y;
+
+ _inB._x = oldX;
+ _inB._y = oldY;
+ }
+
+ private function handleOpenKeywordsBtn():Void {
+ switchToKeywordsView();
+ }
+
+ public function handleOpenThreadBtn():Void {
+ getURL ( BuckyServices.activeThreadPath , "_blank");
+ }
+
+ public function switchToKeywordsView(_evt:Object):Void {
+ removeAnyThumbnails();
+ hideBackButton();
+ hideOpenKeywordsBtn();
+ hideOpenThreadBtn();
+ _root.thumbnail.removeMovieClip();
+
+ // swapPlaces ( BuckyServices.threadsMC , BuckyServices.feedThreadsMC );
+
+ if (slideAround) {
+ var sTween = new Tween(selectionsMC, "_x", Regular.easeOut, selectionsMC._x, initX, slideSpeed, true);
+ }
+ currentView = "keywords";
+ }
+
+
+ public function switchToFeedsView(_evt:Object):Void {
+ removeAnyThumbnails();
+ hideBackButton();
+ hideOpenKeywordsBtn();
+ hideOpenThreadBtn();
+ _root.thumbnail.removeMovieClip();
+
+// swapPlaces ( BuckyServices.threadsMC , BuckyServices.feedThreadsMC );
+
+ if (slideAround) {
+ var xTween = new Tween(selectionsMC, "_x", Regular.easeOut, selectionsMC._x, initX, slideSpeed, true);
+ var yTween = new Tween(selectionsMC, "_y", Regular.easeOut, selectionsMC._y, initY, slideSpeed, true);
+ }
+ currentView = "feeds";
+ }
+
+
+
+
+ public function switchToThreadsView(_evt:Object):Void {
+ removeAnyThumbnails();
+ hideOpenKeywordsBtn();
+ hideOpenThreadBtn();
+ _root.thumbnail.removeMovieClip();
+
+ if (slideAround) {
+ var sTween = new Tween(selectionsMC, "_x", Regular.easeOut, selectionsMC._x, -slideAmountX, slideSpeed, true);
+ sTween.onMotionFinished = Delegate.create (this, showBackButton);
+ }
+ currentView = "threads";
+ }
+
+
+
+ public function switchToFeedThreadsView(_evt:Object):Void {
+ removeAnyThumbnails();
+ hideOpenKeywordsBtn();
+ hideOpenThreadBtn();
+ _root.thumbnail.removeMovieClip();
+
+ if (slideAround) {
+ var sTween = new Tween(selectionsMC, "_y", Regular.easeOut, selectionsMC._y, -slideAmountY, slideSpeed, true);
+ var sTween = new Tween(selectionsMC, "_x", Regular.easeOut, selectionsMC._x, -slideAmountX, slideSpeed, true);
+ sTween.onMotionFinished = Delegate.create (this, showBackButton);
+ }
+ currentView = "feeds";
+ }
+
+
+
+
+
+
+
+ public function switchToFilesView(_evt:Object):Void {
+// removeAnyThumbnails();
+ showOpenKeywordsBtn();
+ showOpenThreadBtn();
+
+ if (slideAround) {
+ var sTween = new Tween(selectionsMC, "_x", Regular.easeOut, selectionsMC._x, -slideAmountX*2, slideSpeed, true);
+ sTween.onMotionFinished = Delegate.create (this, showBackButton);
+ }
+ currentView = "files";
+ }
+
+
+
+
+
+
+
+ public function removeAnyThumbnails():Void {
+ _root.imagesHolder.thumbnail.unloadMovie();
+ }
+
+
+ private function showBackButton():Void { bb._x = bbX; }
+ private function showOpenKeywordsBtn():Void { openKeywordsBtn._x = kwX; }
+ private function showOpenThreadBtn():Void { openThreadBtn._x = thX; }
+
+ private function hideBackButton():Void { bb._x = -5000; }
+ private function hideOpenKeywordsBtn():Void { openKeywordsBtn._x = -5000; }
+ private function hideOpenThreadBtn():Void { openThreadBtn._x = -5000; }
+
+
+
+}
|
