forked from joelhooks/robotlegsdemos
-
Notifications
You must be signed in to change notification settings - Fork 46
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
unknown
authored and
unknown
committed
Nov 12, 2009
1 parent
a14a330
commit 211f6e5
Showing
12 changed files
with
232 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
<AS3Classpath> | ||
<AS3Classpath generateProblems="true" type="source" useAsSharedCode="false">src</AS3Classpath> | ||
<AS3Classpath generateProblems="false" type="lib" useAsSharedCode="false">playerglobal.swc</AS3Classpath> | ||
<AS3Classpath generateProblems="false" type="lib" useAsSharedCode="false">lib/robotlegs-framework-v1.0RC6.swc</AS3Classpath> | ||
</AS3Classpath> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>RobotLegsClock</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>com.powerflasher.fdt.core.FlashBuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>com.powerflasher.fdt.core.FlashNature</nature> | ||
</natures> | ||
<linkedResources> | ||
<link> | ||
<name>playerglobal.swc</name> | ||
<type>1</type> | ||
<locationURI>Flex_3_SDK_0/frameworks/libs/player/9/playerglobal.swc</locationURI> | ||
</link> | ||
</linkedResources> | ||
</projectDescription> |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package | ||
{ | ||
import flash.display.DisplayObject; | ||
import org.robotlegs.examples.clock.view.ITimeDisplay; | ||
import org.robotlegs.examples.clock.view.DigitalClock; | ||
import org.robotlegs.examples.clock.ClockContext; | ||
|
||
import flash.display.Sprite; | ||
|
||
/** | ||
* @author John Lindquist | ||
*/ | ||
public class Main extends Sprite | ||
{ | ||
public var timeDisplay:ITimeDisplay; | ||
|
||
public function Main() | ||
{ | ||
new ClockContext(this); | ||
|
||
timeDisplay = new DigitalClock(); | ||
addChild(timeDisplay as DisplayObject); | ||
} | ||
} | ||
} |
28 changes: 28 additions & 0 deletions
28
RobotLegsClock/src/org/robotlegs/examples/clock/ClockContext.as
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package org.robotlegs.examples.clock | ||
{ | ||
import org.robotlegs.examples.clock.view.DigitalClock; | ||
import org.robotlegs.examples.clock.model.TimeModel; | ||
import org.robotlegs.examples.clock.view.ITimeDisplay; | ||
import org.robotlegs.examples.clock.view.TimeDisplayMediator; | ||
import org.robotlegs.mvcs.Context; | ||
|
||
import flash.display.DisplayObjectContainer; | ||
|
||
/** | ||
* @author John Lindquist | ||
*/ | ||
public class ClockContext extends Context | ||
{ | ||
public function ClockContext(contextView:DisplayObjectContainer = null, autoStartup:Boolean = true) | ||
{ | ||
super(contextView, autoStartup); | ||
} | ||
|
||
override public function startup():void | ||
{ | ||
injector.mapSingleton(TimeModel); | ||
injector.instantiate(TimeModel); | ||
mediatorMap.mapView(DigitalClock, TimeDisplayMediator, ITimeDisplay); | ||
} | ||
} | ||
} |
34 changes: 34 additions & 0 deletions
34
RobotLegsClock/src/org/robotlegs/examples/clock/controller/TimeUpdateEvent.as
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package org.robotlegs.examples.clock.controller { | ||
import flash.events.Event; | ||
import flash.events.TimerEvent; | ||
|
||
/** | ||
* @author John Lindquist | ||
*/ | ||
public class TimeUpdateEvent extends TimerEvent | ||
{ | ||
public static const TIME_UPDATED:String = "TIME_UPDATED"; | ||
|
||
private var _newTime:Number; | ||
public function get newTime():Number | ||
{ | ||
return _newTime; | ||
} | ||
|
||
public function set newTime(newTime:Number):void | ||
{ | ||
_newTime = newTime; | ||
} | ||
|
||
public function TimeUpdateEvent(type:String, newTime:Number, bubbles:Boolean = false, cancelable:Boolean = false) | ||
{ | ||
this.newTime = newTime; | ||
super(type, bubbles, cancelable); | ||
} | ||
|
||
override public function clone():Event | ||
{ | ||
return new TimeUpdateEvent(type, newTime, bubbles, cancelable); | ||
} | ||
} | ||
} |
32 changes: 32 additions & 0 deletions
32
RobotLegsClock/src/org/robotlegs/examples/clock/model/TimeModel.as
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package org.robotlegs.examples.clock.model | ||
{ | ||
import org.robotlegs.examples.clock.controller.TimeUpdateEvent; | ||
import flash.events.TimerEvent; | ||
import flash.utils.Timer; | ||
import org.robotlegs.mvcs.Actor; | ||
|
||
/** | ||
* @author John Lindquist | ||
*/ | ||
public class TimeModel extends Actor | ||
{ | ||
public static const TIME_INCREMENT:Number = 1000; | ||
|
||
private var timer:Timer = new Timer(TIME_INCREMENT); | ||
private var timeTracker:Number = 0; | ||
|
||
public function TimeModel() | ||
{ | ||
timer.addEventListener(TimerEvent.TIMER, handleTimer); | ||
timer.start(); | ||
} | ||
|
||
protected function handleTimer(event:TimerEvent):void | ||
{ | ||
timeTracker += TIME_INCREMENT / 1000; | ||
var timeUpdateEvent:TimeUpdateEvent = new TimeUpdateEvent(TimeUpdateEvent.TIME_UPDATED, timeTracker); | ||
|
||
dispatch(timeUpdateEvent); | ||
} | ||
} | ||
} |
19 changes: 19 additions & 0 deletions
19
RobotLegsClock/src/org/robotlegs/examples/clock/view/AnalogClock.as
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package org.robotlegs.examples.clock.view { | ||
import flash.display.Sprite; | ||
|
||
/** | ||
* @author John Lindquist | ||
*/ | ||
public class AnalogClock extends Sprite implements ITimeDisplay | ||
{ | ||
public function AnalogClock() | ||
{ | ||
//in progress | ||
} | ||
|
||
public function updateTime(newTime:Number):void | ||
{ | ||
|
||
} | ||
} | ||
} |
24 changes: 24 additions & 0 deletions
24
RobotLegsClock/src/org/robotlegs/examples/clock/view/DigitalClock.as
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
package org.robotlegs.examples.clock.view | ||
{ | ||
import flash.text.TextField; | ||
import flash.display.Sprite; | ||
|
||
/** | ||
* @author John Lindquist | ||
*/ | ||
public class DigitalClock extends Sprite implements ITimeDisplay | ||
{ | ||
protected var timeDisplay:TextField; | ||
|
||
public function DigitalClock() | ||
{ | ||
timeDisplay = new TextField(); | ||
addChild(timeDisplay); | ||
} | ||
|
||
public function updateTime(newTime:Number):void | ||
{ | ||
timeDisplay.text = newTime.toString(); | ||
} | ||
} | ||
} |
11 changes: 11 additions & 0 deletions
11
RobotLegsClock/src/org/robotlegs/examples/clock/view/ITimeDisplay.as
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package org.robotlegs.examples.clock.view | ||
{ | ||
|
||
/** | ||
* @author John Lindquist | ||
*/ | ||
public interface ITimeDisplay | ||
{ | ||
function updateTime(newTime:Number):void; | ||
} | ||
} |
29 changes: 29 additions & 0 deletions
29
RobotLegsClock/src/org/robotlegs/examples/clock/view/TimeDisplayMediator.as
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package org.robotlegs.examples.clock.view | ||
{ | ||
import org.robotlegs.examples.clock.controller.TimeUpdateEvent; | ||
import org.robotlegs.examples.clock.model.TimeModel; | ||
import org.robotlegs.mvcs.Mediator; | ||
|
||
/** | ||
* @author John Lindquist | ||
*/ | ||
public class TimeDisplayMediator extends Mediator | ||
{ | ||
[Inject] | ||
public var timeDisplay:ITimeDisplay; //how does injection work with interfaces? Should I use "Abstract" classes instead? | ||
|
||
[Inject] | ||
public var timeModel:TimeModel; | ||
|
||
override public function onRegister():void | ||
{ | ||
//Why do I still have to inject the TimeModel if I just use eventDispatcher? | ||
eventMap.mapListener(eventDispatcher, TimeUpdateEvent.TIME_UPDATED, handleTimeUpdate); | ||
} | ||
|
||
protected function handleTimeUpdate(event:TimeUpdateEvent):void | ||
{ | ||
timeDisplay.updateTime(event.newTime); | ||
} | ||
} | ||
} |