rendered paste bodyimport com.stevensacks.utils.ObservableClass;
import com.stevensacks.galapagos.pages.PageModel;
import mx.utils.Delegate;
class com.stevensacks.galapagos.pages.Page extends OberservableClass
{
private var page:MovieClip;
private var model:PageModel;
private var progressInterval:Number;
function Page(pm:PageModel)
{
super();
model = pm;
page = model.clip;
}
public function transitionIn():Void
{
if (page.transitionIn) {
page.transitionIn();
} else {
page.gotoAndPlay("transitionIn");
}
}
public function transitionOut():Void
{
if (page.transitionOut) {
page.transitionOut();
} else {
page.gotoAndPlay("transitionOut");
}
}
// called by page
private function transitionInComplete():Void
{
dispatchEvent({type:"transitionInComplete"});
}
private function transitionOutComplete():Void
{
dispatchEvent({type:"transitionOutComplete"});
}
// inject functions and properties into page clip
private function inject():Void
{
page.transitionInComplete = Delegate.create(this, transitionInComplete);
page.transitionOutComplete = Delegate.create(this, transitionOutComplete);
page.assets = model.assets;
page.props = model.props;
}
}