Files
LPTCManager2026/src/view/MainHeader.hx
T

79 lines
2.5 KiB
Haxe

package view;
import feathers.skins.RectangleSkin;
import com.adobe.cairngorm.control.CairngormEvent;
import com.adobe.cairngorm.control.CairngormEventDispatcher;
import components.IconButton;
import control.AppController;
import feathers.controls.Button;
import feathers.controls.Label;
import feathers.controls.LayoutGroup;
import feathers.events.FeathersEvent;
import feathers.events.TriggerEvent;
import feathers.layout.HorizontalLayout;
import feathers.text.TextFormat;
import model.Constants;
import openfl.Assets;
import openfl.text.Font;
import t9.util.ColorTraces.*;
class MainHeader extends LayoutGroup {
private var btn1:Button;
private var lbl1:Label;
public function new() {
super();
addEventListener(FeathersEvent.CREATION_COMPLETE, onCreationComplete);
}
override private function initialize():Void {
super.initialize();
final sw:Int = stage.stageWidth;
final sh:Int = stage.stageHeight;
final headerWidth = Std.int(sw * Constants.MAIN_HEADER_WIDTH_RATIO);
final headerHeight = Std.int(sh * Constants.MAIN_HEADER_HEIGHT_RATIO);
autoSizeMode = CONTENT;
backgroundSkin = new RectangleSkin(SolidColor(Constants.HERO_COLOR, 1));
variant = LayoutGroup.VARIANT_TOOL_BAR;
// Layout settings
var l:HorizontalLayout = new HorizontalLayout();
l.paddingLeft = l.paddingRight = Std.int(headerHeight * .3);
l.paddingTop = l.paddingBottom = Std.int(headerHeight * .2);
l.verticalAlign = MIDDLE;
layout = l;
// Menu button
var svgIconString:String = Assets.getText("vector/menu_icon_black.svg");
btn1 = new IconButton(svgIconString, Constants.MAIN_COLOR3);
btn1.addEventListener(TriggerEvent.TRIGGER, onMenuButtonPress);
addChild(btn1);
// Title label
lbl1 = new Label();
//lb1.backgroundSkin = new RectangleSkin(SolidColor(Constants.ACCENT_COLOR2, 1));
//lb1.verticalAlign = VerticalAlign.TOP;
lbl1.text = Constants.MENU_ITEM_0_STRING;
lbl1.embedFonts = true;
var fnt:Font = Assets.getFont(Constants.MONTSERRAT_MEDIUM_500);
lbl1.textFormat = new TextFormat(fnt.fontName, Std.int(headerHeight * .4), Constants.MAIN_COLOR3);
addChild(lbl1);
}
private function onCreationComplete(event:FeathersEvent):Void {
traceBlue(this + " --> onCreationComplete()");
}
function onMenuButtonPress(e:TriggerEvent):Void {
var e:CairngormEvent = new CairngormEvent(AppController.OPEN_DRAWER_EVENT);
CairngormEventDispatcher.getInstance().dispatchEvent(e);
}
}