Files
LPTCManager2026/src/LPTCManager2026.hx
T
nekotoro db50bec414 NekoIconButton reshaping in progress...
TODO :
Is there a reason NekoIconButton heritates from Button Feathers component or not ?
2025-11-20 16:02:35 +01:00

134 lines
4.0 KiB
Haxe

import haxe.macro.Expr.Case;
import openfl.events.Event;
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();
addChild(dr);
model.addEventListener(NekoDrawerEvent.DRAWER_STATE_CHANGE, onDrawerStateChange);
/*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 onDrawerStateChange(e:Event):Void
{
switch (model.drawerState) {
case NekoDrawer.OPEN : dr.openDrawer();
case NekoDrawer.CLOSE : dr.closeDrawer();
default : dr.closeDrawer();
}
}
}