Files
LPTCManager2026/src/LPTCManager2026.hx
T
nekotoro a6e2e7aa58 first try of drawer event chain
currently stuck in NekoDrawerCommand
TODO : extract the event from NekoDrawerCommand
2025-11-19 14:48:54 +01:00

127 lines
3.9 KiB
Haxe

import control.NekoDrawerEvent;
import com.adobe.cairngorm.control.CairngormEvent;
import components.NekoDrawer;
import feathers.controls.Drawer;
import control.AppController;
import business.Services;
import model.AppModelLocator;
import com.adobe.cairngorm.control.CairngormEventDispatcher;
import control.LoadRidersEvent;
import feathers.events.FeathersEvent;
import feathers.layout.VerticalAlign;
import components.NekoRectangle;
import feathers.controls.Application;
import feathers.controls.Label;
import feathers.controls.LayoutGroup;
import feathers.controls.Panel;
import feathers.layout.AnchorLayout;
import feathers.layout.AnchorLayoutData;
import feathers.text.TextFormat;
import model.Constants;
import openfl.Assets;
import openfl.text.Font;
import t9.util.ColorTraces.*;
import view.MainPanel;
class LPTCManager2026 extends Application {
private var model:AppModelLocator;
private var services:Services;
private var appController:AppController;
private var mainPanel:MainPanel;
private var dr:NekoDrawer;
// private var nav:StackNavigator;
public function new() {
super();
model = AppModelLocator.getInstance();
services = new Services();
appController = new AppController();
addEventListener(FeathersEvent.CREATION_COMPLETE, onCreationComplete);
}
override private function initialize():Void {
super.initialize();
stage.displayState = NORMAL;
stage.scaleMode = NO_SCALE;
mainPanel = new MainPanel();
addChild(mainPanel);
dr = new NekoDrawer();
dr.addEventListener(NekoDrawerEvent.STATUS_CHANGE, onDrawerStatusChange);
addChild(dr);
/*mainPanel = new Panel();
mainPanel.autoSizeMode = STAGE;
mainPanel.backgroundSkin = new NekoRectangle(Constants.MAIN_COLOR3);
// ############################################################################################# HEADER
var header = new LayoutGroup();
header.autoSizeMode = CONTENT;
header.backgroundSkin = new NekoRectangle(Constants.HERO_COLOR, 0, 0, Std.int(stage.stageWidth * Constants.MAIN_HEADER_WIDTH_RATIO), Std.int(stage.stageHeight * Constants.MAIN_HEADER_HEIGHT_RATIO));
header.variant = LayoutGroup.VARIANT_TOOL_BAR;
header.layout = new AnchorLayout();
var title = new Label();
title.backgroundSkin = new NekoRectangle(Constants.ACCENT_COLOR2, 0, 0, 200, 80);
title.verticalAlign = VerticalAlign.MIDDLE;
title.text = "Header";
title.embedFonts = true;
var fnt:Font = Assets.getFont(Constants.MONTSERRAT_MEDIUM_500);
var tf:TextFormat = new TextFormat(fnt.fontName, Std.int(stage.stageHeight * Constants.MAIN_HEADER_HEIGHT_RATIO * .1), Constants.MAIN_COLOR3);
title.textFormat = tf;
title.variant = Label.VARIANT_HEADING;
title.layoutData = AnchorLayoutData.center();
header.addChild(title);
mainPanel.header = header;
// ############################################################################################# FOOTER
var footer = new LayoutGroup();
footer.autoSizeMode = CONTENT;
footer.backgroundSkin = new NekoRectangle(Constants.MAIN_COLOR2, 0, 0, stage.stageWidth, Std.int(stage.stageHeight * 10 / 100));
footer.variant = LayoutGroup.VARIANT_TOOL_BAR;
footer.layout = new AnchorLayout();
var title = new Label();
title.text = "Footer";
//title.embedFonts = true;
title.variant = Label.VARIANT_HEADING;
title.layoutData = AnchorLayoutData.center();
footer.addChild(title);
mainPanel.footer = footer;
addChild(mainPanel);*/
// nav = new StackNavigator();
traceBlue(this + " --> initialize()");
}
private function loadRiders():Void {
traceGreen(this + " --> loadRiders()");
var cgEvent:LoadRidersEvent = new LoadRidersEvent();
CairngormEventDispatcher.getInstance().dispatchEvent(cgEvent);
}
private function onCreationComplete(event:FeathersEvent):Void {
traceBlue("Application --> onCreationComplete()");
loadRiders();
}
private function onDrawerStatusChange(e:NekoDrawerEvent):Void
{
trace("ALO ? " + e.openDrawer);
}
}