drawer event chain complete
This commit is contained in:
+11
-3
@@ -1,3 +1,5 @@
|
|||||||
|
import haxe.macro.Expr.Case;
|
||||||
|
import openfl.events.Event;
|
||||||
import control.NekoDrawerEvent;
|
import control.NekoDrawerEvent;
|
||||||
import com.adobe.cairngorm.control.CairngormEvent;
|
import com.adobe.cairngorm.control.CairngormEvent;
|
||||||
import components.NekoDrawer;
|
import components.NekoDrawer;
|
||||||
@@ -54,9 +56,11 @@ class LPTCManager2026 extends Application {
|
|||||||
addChild(mainPanel);
|
addChild(mainPanel);
|
||||||
|
|
||||||
dr = new NekoDrawer();
|
dr = new NekoDrawer();
|
||||||
dr.addEventListener(NekoDrawerEvent.STATUS_CHANGE, onDrawerStatusChange);
|
//dr.addEventListener(NekoDrawerEvent.STATUS_CHANGE, onDrawerStatusChange);
|
||||||
addChild(dr);
|
addChild(dr);
|
||||||
|
|
||||||
|
model.addEventListener(NekoDrawerEvent.DRAWER_STATE_CHANGE, onDrawerStateChange);
|
||||||
|
|
||||||
/*mainPanel = new Panel();
|
/*mainPanel = new Panel();
|
||||||
mainPanel.autoSizeMode = STAGE;
|
mainPanel.autoSizeMode = STAGE;
|
||||||
mainPanel.backgroundSkin = new NekoRectangle(Constants.MAIN_COLOR3);
|
mainPanel.backgroundSkin = new NekoRectangle(Constants.MAIN_COLOR3);
|
||||||
@@ -119,8 +123,12 @@ class LPTCManager2026 extends Application {
|
|||||||
loadRiders();
|
loadRiders();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function onDrawerStatusChange(e:NekoDrawerEvent):Void
|
private function onDrawerStateChange(e:Event):Void
|
||||||
{
|
{
|
||||||
trace("ALO ? " + e.openDrawer);
|
switch (model.drawerState) {
|
||||||
|
case NekoDrawer.OPEN : dr.openDrawer();
|
||||||
|
case NekoDrawer.CLOSE : dr.closeDrawer();
|
||||||
|
default : dr.closeDrawer();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,6 @@ class NekoDrawerCommand implements ICommand {
|
|||||||
|
|
||||||
public function execute(e:CairngormEvent):Void {
|
public function execute(e:CairngormEvent):Void {
|
||||||
var e:NekoDrawerEvent = cast(e, NekoDrawerEvent);
|
var e:NekoDrawerEvent = cast(e, NekoDrawerEvent);
|
||||||
//trace("OpenDrawer ? : " + e.openDrawer);
|
model.drawerState = e.drawerState;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package components;
|
package components;
|
||||||
|
|
||||||
|
import model.Constants;
|
||||||
import feathers.events.TriggerEvent;
|
import feathers.events.TriggerEvent;
|
||||||
import feathers.controls.Button;
|
import feathers.controls.Button;
|
||||||
import feathers.layout.VerticalLayout;
|
import feathers.layout.VerticalLayout;
|
||||||
@@ -10,6 +11,9 @@ import feathers.controls.Drawer;
|
|||||||
|
|
||||||
class NekoDrawer extends Drawer {
|
class NekoDrawer extends Drawer {
|
||||||
|
|
||||||
|
public static final CLOSE:String = "close";
|
||||||
|
public static final OPEN:String = "open";
|
||||||
|
|
||||||
private var openDrawerButton:Button;
|
private var openDrawerButton:Button;
|
||||||
private var closeDrawerButton:Button;
|
private var closeDrawerButton:Button;
|
||||||
private var coucou:Bool;
|
private var coucou:Bool;
|
||||||
@@ -22,24 +26,11 @@ class NekoDrawer extends Drawer {
|
|||||||
override private function initialize():Void {
|
override private function initialize():Void {
|
||||||
super.initialize();
|
super.initialize();
|
||||||
|
|
||||||
var c1 = new LayoutGroup();
|
|
||||||
var contentLayout = new VerticalLayout();
|
|
||||||
contentLayout.horizontalAlign = CENTER;
|
|
||||||
contentLayout.verticalAlign = MIDDLE;
|
|
||||||
c1.layout = contentLayout;
|
|
||||||
openDrawerButton = new Button();
|
|
||||||
openDrawerButton.text = "Open Drawer";
|
|
||||||
openDrawerButton.addEventListener(TriggerEvent.TRIGGER, (event) -> {
|
|
||||||
opened = true;
|
|
||||||
});
|
|
||||||
c1.addChild(openDrawerButton);
|
|
||||||
|
|
||||||
content = c1;
|
|
||||||
|
|
||||||
var d1 = new LayoutGroup();
|
var d1 = new LayoutGroup();
|
||||||
var drawerLayout = new VerticalLayout();
|
var drawerLayout = new VerticalLayout();
|
||||||
|
drawerLayout.setPadding(10);
|
||||||
drawerLayout.horizontalAlign = CENTER;
|
drawerLayout.horizontalAlign = CENTER;
|
||||||
drawerLayout.verticalAlign = MIDDLE;
|
drawerLayout.verticalAlign = TOP;
|
||||||
d1.layout = drawerLayout;
|
d1.layout = drawerLayout;
|
||||||
closeDrawerButton = new Button();
|
closeDrawerButton = new Button();
|
||||||
closeDrawerButton.text = "Close Drawer";
|
closeDrawerButton.text = "Close Drawer";
|
||||||
@@ -48,6 +39,8 @@ class NekoDrawer extends Drawer {
|
|||||||
});
|
});
|
||||||
d1.addChild(closeDrawerButton);
|
d1.addChild(closeDrawerButton);
|
||||||
|
|
||||||
|
overlaySkin = new NekoRectangle(Constants.HERO_COLOR);
|
||||||
|
|
||||||
drawer = d1;
|
drawer = d1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import command.LoadRidersCommand;
|
|||||||
import com.adobe.cairngorm.control.FrontController;
|
import com.adobe.cairngorm.control.FrontController;
|
||||||
|
|
||||||
class AppController extends FrontController {
|
class AppController extends FrontController {
|
||||||
|
|
||||||
public static final LOAD_RIDERS_EVENT = "loadRidersEvent";
|
public static final LOAD_RIDERS_EVENT = "loadRidersEvent";
|
||||||
public static final NEKO_DRAWER_EVENT = "nekoDrawerEvent";
|
public static final NEKO_DRAWER_EVENT = "nekoDrawerEvent";
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ import com.adobe.cairngorm.control.CairngormEvent;
|
|||||||
|
|
||||||
class NekoDrawerEvent extends CairngormEvent {
|
class NekoDrawerEvent extends CairngormEvent {
|
||||||
|
|
||||||
public static final STATUS_CHANGE:String = "statusChange";
|
public static final DRAWER_STATE_CHANGE:String = "drawerStateChange";
|
||||||
public var openDrawer:Bool;
|
public var drawerState:String;
|
||||||
|
|
||||||
public function new(pOpenDrawer:Bool) {
|
public function new(pDrawerState:String) {
|
||||||
super(AppController.NEKO_DRAWER_EVENT);
|
super(AppController.NEKO_DRAWER_EVENT);
|
||||||
openDrawer = pOpenDrawer;
|
drawerState = pDrawerState;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
package model;
|
package model;
|
||||||
|
|
||||||
|
import components.NekoDrawer;
|
||||||
|
import control.NekoDrawerEvent;
|
||||||
import vo.Rider;
|
import vo.Rider;
|
||||||
import feathers.data.ArrayCollection;
|
import feathers.data.ArrayCollection;
|
||||||
import openfl.errors.Error;
|
import openfl.errors.Error;
|
||||||
@@ -10,14 +12,16 @@ import openfl.events.EventDispatcher;
|
|||||||
class AppModelLocator extends EventDispatcher implements IModelLocator {
|
class AppModelLocator extends EventDispatcher implements IModelLocator {
|
||||||
|
|
||||||
// events constants
|
// events constants
|
||||||
public static final VIEWING_CHANGE = "viewingChange";
|
public static final VIEWING_CHANGE:String = "viewingChange";
|
||||||
public static final RIDERS_LIST_DP_CHANGE = "ridersListDPChange";
|
public static final RIDERS_LIST_DP_CHANGE:String = "ridersListDPChange";
|
||||||
|
//public static final DRAWER_STATE_CHANGE:String = "drawerStateChange";
|
||||||
|
|
||||||
|
|
||||||
// this instance stores a static reference to itself
|
// this instance stores a static reference to itself
|
||||||
private static var model:AppModelLocator;
|
private static var model:AppModelLocator;
|
||||||
|
|
||||||
// available values for the main viewstack defined as constants to help uncover errors at compile time instead of run time
|
// available values for the main viewstack defined as constants to help uncover errors at compile time instead of run time
|
||||||
|
// Navigator
|
||||||
public static final ADMIN_LOGIN = 0;
|
public static final ADMIN_LOGIN = 0;
|
||||||
public static final RIDERS_LIST = 1;
|
public static final RIDERS_LIST = 1;
|
||||||
public static final RIDER_DETAIL = 2;
|
public static final RIDER_DETAIL = 2;
|
||||||
@@ -31,6 +35,15 @@ class AppModelLocator extends EventDispatcher implements IModelLocator {
|
|||||||
return viewing;
|
return viewing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// at startup, the drawer is closed
|
||||||
|
public var drawerState(default, set):String = NekoDrawer.CLOSE;
|
||||||
|
|
||||||
|
private function set_drawerState(pState:String):String {
|
||||||
|
drawerState = pState;
|
||||||
|
dispatchEvent(new Event(NekoDrawerEvent.DRAWER_STATE_CHANGE));
|
||||||
|
return drawerState;
|
||||||
|
}
|
||||||
|
|
||||||
// rider object contains uid/passwd
|
// rider object contains uid/passwd
|
||||||
// its value gets set at login and cleared at logout but nothing binds to it or uses it
|
// its value gets set at login and cleared at logout but nothing binds to it or uses it
|
||||||
// retained since it was used in the original Adobe CafeTownsend example app
|
// retained since it was used in the original Adobe CafeTownsend example app
|
||||||
|
|||||||
+9
-16
@@ -1,26 +1,19 @@
|
|||||||
package view;
|
package view;
|
||||||
|
|
||||||
|
import com.adobe.cairngorm.control.CairngormEventDispatcher;
|
||||||
import control.NekoDrawerEvent;
|
import control.NekoDrawerEvent;
|
||||||
import components.NekoDrawer;
|
import components.NekoDrawer;
|
||||||
import com.adobe.cairngorm.control.CairngormEvent;
|
|
||||||
import com.adobe.cairngorm.control.CairngormEventDispatcher;
|
|
||||||
import components.NekoIconButton;
|
import components.NekoIconButton;
|
||||||
import openfl.display.Bitmap;
|
import components.NekoRectangle;
|
||||||
|
import feathers.controls.Label;
|
||||||
|
import feathers.controls.LayoutGroup;
|
||||||
|
import feathers.events.FeathersEvent;
|
||||||
import feathers.events.TriggerEvent;
|
import feathers.events.TriggerEvent;
|
||||||
import feathers.controls.Button;
|
|
||||||
import feathers.layout.HorizontalLayout;
|
import feathers.layout.HorizontalLayout;
|
||||||
import feathers.layout.AnchorLayoutData;
|
|
||||||
import feathers.text.TextFormat;
|
import feathers.text.TextFormat;
|
||||||
|
import model.Constants;
|
||||||
import openfl.Assets;
|
import openfl.Assets;
|
||||||
import openfl.text.Font;
|
import openfl.text.Font;
|
||||||
import feathers.layout.VerticalAlign;
|
|
||||||
import feathers.controls.Label;
|
|
||||||
import feathers.layout.AnchorLayout;
|
|
||||||
import components.NekoRectangle;
|
|
||||||
import feathers.controls.LayoutGroup;
|
|
||||||
import feathers.controls.Panel;
|
|
||||||
import feathers.events.FeathersEvent;
|
|
||||||
import model.Constants;
|
|
||||||
import t9.util.ColorTraces.*;
|
import t9.util.ColorTraces.*;
|
||||||
|
|
||||||
class MainHeader extends LayoutGroup {
|
class MainHeader extends LayoutGroup {
|
||||||
@@ -79,9 +72,9 @@ class MainHeader extends LayoutGroup {
|
|||||||
traceBlue(this + " --> onCreationComplete()");
|
traceBlue(this + " --> onCreationComplete()");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function onDBtnPress(e:TriggerEvent):Void {
|
function onDBtnPress(e:TriggerEvent):Void {
|
||||||
//var button = cast(e.currentTarget, NekoIconButton);
|
var ce:NekoDrawerEvent = new NekoDrawerEvent(NekoDrawer.OPEN);
|
||||||
var e = new NekoDrawerEvent(true);
|
CairngormEventDispatcher.getInstance().dispatchEvent(ce);
|
||||||
CairngormEventDispatcher.getInstance().dispatchEvent(e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user