Files
LPTCManager2026/src/LPTCManager2026.hx
T
2025-12-20 15:41:16 +01:00

84 lines
2.1 KiB
Haxe

import ui.LPTCTheme;
import feathers.style.Theme;
import hx.strings.RandomStrings;
import utils.StringUtils;
import view.RiderCardDrawer;
import openfl.system.Security;
import business.Services;
import com.adobe.cairngorm.control.CairngormEventDispatcher;
import control.AppController;
import control.LoadRidersEvent;
import feathers.controls.Application;
import feathers.events.FeathersEvent;
import model.AppModelLocator;
import openfl.events.Event;
import t9.util.ColorTraces.*;
import view.MainDrawer;
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 md:MainDrawer;
private var rcd:RiderCardDrawer;
public function new() {
Theme.setTheme(new LPTCTheme());
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;
/*for (i in 0...23){
traceYellow(RandomStrings.randomUUIDv4());
}*/
mainPanel = new MainPanel();
addChild(mainPanel);
md = new MainDrawer();
addChild(md);
rcd = new RiderCardDrawer();
addChild(rcd);
model.addEventListener(AppModelLocator.DRAWER_STATE_CHANGE, onDrawerStateChange);
model.addEventListener(AppModelLocator.RIDER_SELECT_CHANGE, onRiderSelectChange);
//traceBlue(this + " --> initialize()");
}
private function loadRiders():Void {
traceGreen(this + " --> loadRiders()");
var cgEvent:LoadRidersEvent = new LoadRidersEvent();
CairngormEventDispatcher.getInstance().dispatchEvent(cgEvent);
}
private function onRiderSelectChange(event:Event):Void {
rcd.populateAndShow();
}
private function onDrawerStateChange(e:Event):Void {
model.drawerIsOpen ? md.openDrawer() : md.closeDrawer();
}
private function onCreationComplete(event:FeathersEvent):Void {
traceBlue("Application --> onCreationComplete()");
loadRiders();
}
}