Trying to set icon size & text size for ToolBarToggleButton WIP

This commit is contained in:
2025-11-21 23:09:03 +01:00
parent 481c07ca3f
commit ab77b0404a
2 changed files with 33 additions and 14 deletions
+16 -5
View File
@@ -10,6 +10,7 @@ import openfl.events.Event;
import openfl.geom.ColorTransform; import openfl.geom.ColorTransform;
import openfl.text.Font; import openfl.text.Font;
import openfl.utils.Assets; import openfl.utils.Assets;
import t9.util.ColorTraces.*;
class ToolbarToggleButton extends ToggleButton { class ToolbarToggleButton extends ToggleButton {
@@ -17,13 +18,24 @@ class ToolbarToggleButton extends ToggleButton {
private var svgIcon:Shape; private var svgIcon:Shape;
private var unselectedColor:Int; private var unselectedColor:Int;
private var selectedColor:Int; private var selectedColor:Int;
private var iconSize:Int;
private var textSize:Int;
public function new(pSvgIconPath:String = null, pUnselectedColor:Int = 0x00FF00, pSelectedColor:Int = 0x000000) {
super(); public function new(pSvgIconPath:String = null,
pUnselectedColor:Int = 0x00FF00,
pSelectedColor:Int = 0x000000,
pIconSize:Int = 40,
pTextSize:Int = 16) {
super();
svgIconPath = pSvgIconPath; svgIconPath = pSvgIconPath;
unselectedColor = pSelectedColor; unselectedColor = pSelectedColor;
selectedColor = pUnselectedColor; selectedColor = pUnselectedColor;
iconSize = pIconSize;
textSize = pTextSize;
traceRed("iconSize : " + iconSize + " / textSize : " + textSize);
} }
override private function initialize():Void { override private function initialize():Void {
@@ -39,14 +51,14 @@ class ToolbarToggleButton extends ToggleButton {
colorizeIcon(unselectedColor); colorizeIcon(unselectedColor);
new SVG(svgIconPath).render(svgIcon.graphics); new SVG(svgIconPath).render(svgIcon.graphics);
icon = svgIcon; icon = svgIcon;
icon.width = icon.height = 40; icon.width = icon.height = iconSize;
iconOffsetY = 0; iconOffsetY = 0;
} }
// text // text
var fnt:Font = Assets.getFont(Constants.MONTSERRAT_REGULAR_400); var fnt:Font = Assets.getFont(Constants.MONTSERRAT_REGULAR_400);
textFormat = new TextFormat(fnt.fontName, 16, unselectedColor); textFormat = new TextFormat(fnt.fontName, textSize, unselectedColor);
selectedTextFormat = new TextFormat(fnt.fontName, 16, selectedColor); selectedTextFormat = new TextFormat(fnt.fontName, 16, selectedColor);
addEventListener(Event.CHANGE, onButtonStateChange); addEventListener(Event.CHANGE, onButtonStateChange);
@@ -63,5 +75,4 @@ class ToolbarToggleButton extends ToggleButton {
private function onButtonStateChange(e:Event):Void { private function onButtonStateChange(e:Event):Void {
selected ? colorizeIcon(selectedColor) : colorizeIcon(unselectedColor); selected ? colorizeIcon(selectedColor) : colorizeIcon(unselectedColor);
} }
} }
+17 -9
View File
@@ -1,5 +1,6 @@
package view; package view;
import feathers.layout.Measurements;
import feathers.skins.RectangleSkin; import feathers.skins.RectangleSkin;
import components.ToolBarToggleButton.ToolbarToggleButton; import components.ToolBarToggleButton.ToolbarToggleButton;
import feathers.controls.LayoutGroup; import feathers.controls.LayoutGroup;
@@ -22,23 +23,28 @@ class MainFooter extends LayoutGroup {
override private function initialize():Void { override private function initialize():Void {
super.initialize(); super.initialize();
final sw:Int = stage.stageWidth;
final sh:Int = stage.stageHeight;
final footerWidth = Std.int(sw * Constants.MAIN_HEADER_WIDTH_RATIO);
final footerHeight = Std.int(sh * Constants.MAIN_HEADER_HEIGHT_RATIO);
backgroundSkin = backgroundSkin = new RectangleSkin(SolidColor( Constants.MAIN_COLOR3, 1)); backgroundSkin = new RectangleSkin(SolidColor(Constants.MAIN_COLOR3, 1));
variant = LayoutGroup.VARIANT_TOOL_BAR; //variant = LayoutGroup.VARIANT_TOOL_BAR;
// Layout // Layout
layout = new HorizontalDistributedLayout(); var hdl:HorizontalDistributedLayout = new HorizontalDistributedLayout();
layout = hdl;
// Buttons // Buttons
btn1 = new ToolbarToggleButton(Assets.getText("vector/rider_icon_black.svg"), Constants.MAIN_COLOR2, Constants.HERO_COLOR); btn1 = new ToolbarToggleButton(Assets.getText("vector/rider_icon_black.svg"),
Constants.MAIN_COLOR2,
Constants.HERO_COLOR,
30,
14);
btn1.text = Constants.MENU_ITEM_0_STRING; btn1.text = Constants.MENU_ITEM_0_STRING;
addChild(btn1); addChild(btn1);
btn2 = new ToolbarToggleButton(Assets.getText("vector/certificate_icon_black.svg"), Constants.MAIN_COLOR2, Constants.HERO_COLOR); btn2 = new ToolbarToggleButton(Assets.getText("vector/certificate_icon_black.svg"),
Constants.MAIN_COLOR2,
Constants.HERO_COLOR,
30,
14);
btn2.text = Constants.MENU_ITEM_1_STRING; btn2.text = Constants.MENU_ITEM_1_STRING;
addChild(btn2); addChild(btn2);
@@ -46,5 +52,7 @@ class MainFooter extends LayoutGroup {
private function onCreationComplete(event:FeathersEvent):Void { private function onCreationComplete(event:FeathersEvent):Void {
traceBlue(this + " --> onCreationComplete()"); traceBlue(this + " --> onCreationComplete()");
trace(height);
} }
} }