mirror of https://github.com/buggins/dlangui.git
refactoring: standard style ids
This commit is contained in:
parent
50d82fd414
commit
22bd6fac35
|
|
@ -227,12 +227,12 @@ class FileDialog : Dialog, CustomGridCellAdapter {
|
||||||
|
|
||||||
protected ListWidget createRootsList() {
|
protected ListWidget createRootsList() {
|
||||||
ListWidget res = new ListWidget("ROOTS_LIST");
|
ListWidget res = new ListWidget("ROOTS_LIST");
|
||||||
res.styleId = "EDIT_BOX";
|
res.styleId = STYLE_EDIT_BOX;
|
||||||
WidgetListAdapter adapter = new WidgetListAdapter();
|
WidgetListAdapter adapter = new WidgetListAdapter();
|
||||||
foreach(ref RootEntry root; _roots) {
|
foreach(ref RootEntry root; _roots) {
|
||||||
ImageTextButton btn = new ImageTextButton(null, root.icon, root.label);
|
ImageTextButton btn = new ImageTextButton(null, root.icon, root.label);
|
||||||
btn.orientation = Orientation.Vertical;
|
btn.orientation = Orientation.Vertical;
|
||||||
btn.styleId = "TRANSPARENT_BUTTON_BACKGROUND";
|
btn.styleId = STYLE_TRANSPARENT_BUTTON_BACKGROUND;
|
||||||
btn.focusable = false;
|
btn.focusable = false;
|
||||||
adapter.widgets.add(btn);
|
adapter.widgets.add(btn);
|
||||||
}
|
}
|
||||||
|
|
@ -418,17 +418,17 @@ class FilePathPanelItem : HorizontalLayout {
|
||||||
Listener!OnPathSelectionHandler onPathSelectionListener;
|
Listener!OnPathSelectionHandler onPathSelectionListener;
|
||||||
this(string path) {
|
this(string path) {
|
||||||
super(null);
|
super(null);
|
||||||
styleId = "LIST_ITEM";
|
styleId = STYLE_LIST_ITEM;
|
||||||
_path = path;
|
_path = path;
|
||||||
string fname = isRoot(path) ? path : baseName(path);
|
string fname = isRoot(path) ? path : baseName(path);
|
||||||
_text = new TextWidget(null, toUTF32(fname));
|
_text = new TextWidget(null, toUTF32(fname));
|
||||||
_text.styleId = "BUTTON_TRANSPARENT";
|
_text.styleId = STYLE_BUTTON_TRANSPARENT;
|
||||||
_text.clickable = true;
|
_text.clickable = true;
|
||||||
_text.onClickListener = &onTextClick;
|
_text.onClickListener = &onTextClick;
|
||||||
//_text.backgroundColor = 0xC0FFFF;
|
//_text.backgroundColor = 0xC0FFFF;
|
||||||
_text.state = State.Parent;
|
_text.state = State.Parent;
|
||||||
_button = new ImageButton(null, "scrollbar_btn_right");
|
_button = new ImageButton(null, "scrollbar_btn_right");
|
||||||
_button.styleId = "BUTTON_TRANSPARENT";
|
_button.styleId = STYLE_BUTTON_TRANSPARENT;
|
||||||
_button.focusable = false;
|
_button.focusable = false;
|
||||||
_button.onClickListener = &onButtonClick;
|
_button.onClickListener = &onButtonClick;
|
||||||
//_button.backgroundColor = 0xC0FFC0;
|
//_button.backgroundColor = 0xC0FFC0;
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ class ComboBoxBase : HorizontalLayout, OnClickHandler {
|
||||||
|
|
||||||
protected ImageButton createButton() {
|
protected ImageButton createButton() {
|
||||||
ImageButton res = new ImageButton("COMBOBOX_BUTTON", "scrollbar_btn_down");
|
ImageButton res = new ImageButton("COMBOBOX_BUTTON", "scrollbar_btn_down");
|
||||||
res.styleId = "COMBO_BOX_BUTTON";
|
res.styleId = STYLE_COMBO_BOX_BUTTON;
|
||||||
res.layoutWeight = 0;
|
res.layoutWeight = 0;
|
||||||
res.onClickListener = this;
|
res.onClickListener = this;
|
||||||
return res;
|
return res;
|
||||||
|
|
@ -100,7 +100,7 @@ class ComboBoxBase : HorizontalLayout, OnClickHandler {
|
||||||
_popupList = createPopup();
|
_popupList = createPopup();
|
||||||
_popup = window.showPopup(_popupList, this, PopupAlign.Below | PopupAlign.FitAnchorSize);
|
_popup = window.showPopup(_popupList, this, PopupAlign.Below | PopupAlign.FitAnchorSize);
|
||||||
_popup.flags = PopupFlags.CloseOnClickOutside;
|
_popup.flags = PopupFlags.CloseOnClickOutside;
|
||||||
_popup.styleId = "POPUP_MENU";
|
_popup.styleId = STYLE_POPUP_MENU;
|
||||||
_popup.onPopupCloseListener = delegate (PopupWidget source) {
|
_popup.onPopupCloseListener = delegate (PopupWidget source) {
|
||||||
_popup = null;
|
_popup = null;
|
||||||
_popupList = null;
|
_popupList = null;
|
||||||
|
|
@ -122,7 +122,7 @@ class ComboBoxBase : HorizontalLayout, OnClickHandler {
|
||||||
super(ID);
|
super(ID);
|
||||||
_adapter = adapter;
|
_adapter = adapter;
|
||||||
_ownAdapter = ownAdapter;
|
_ownAdapter = ownAdapter;
|
||||||
styleId = "COMBO_BOX";
|
styleId = STYLE_COMBO_BOX;
|
||||||
trackHover = true;
|
trackHover = true;
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
@ -201,14 +201,13 @@ class ComboBox : ComboBoxBase {
|
||||||
_body.focusable = false;
|
_body.focusable = false;
|
||||||
_body.clickable = true;
|
_body.clickable = true;
|
||||||
focusable = true;
|
focusable = true;
|
||||||
//styleId = "COMBO_BOX";
|
|
||||||
clickable = true;
|
clickable = true;
|
||||||
onClickListener = this;
|
onClickListener = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
override protected Widget createSelectedItemWidget() {
|
override protected Widget createSelectedItemWidget() {
|
||||||
TextWidget res = new TextWidget("COMBO_BOX_BODY");
|
TextWidget res = new TextWidget("COMBO_BOX_BODY");
|
||||||
res.styleId = "COMBO_BOX_BODY";
|
res.styleId = STYLE_COMBO_BOX_BODY;
|
||||||
res.clickable = true;
|
res.clickable = true;
|
||||||
res.layoutWidth = FILL_PARENT;
|
res.layoutWidth = FILL_PARENT;
|
||||||
res.layoutHeight = WRAP_CONTENT;
|
res.layoutHeight = WRAP_CONTENT;
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ private import std.conv : to;
|
||||||
/// vertical spacer to fill empty space in vertical layouts
|
/// vertical spacer to fill empty space in vertical layouts
|
||||||
class VSpacer : Widget {
|
class VSpacer : Widget {
|
||||||
this() {
|
this() {
|
||||||
styleId = "VSPACER";
|
styleId = STYLE_VSPACER;
|
||||||
}
|
}
|
||||||
//override void measure(int parentWidth, int parentHeight) {
|
//override void measure(int parentWidth, int parentHeight) {
|
||||||
// measuredContent(parentWidth, parentHeight, 8, 8);
|
// measuredContent(parentWidth, parentHeight, 8, 8);
|
||||||
|
|
@ -46,7 +46,7 @@ class VSpacer : Widget {
|
||||||
/// horizontal spacer to fill empty space in horizontal layouts
|
/// horizontal spacer to fill empty space in horizontal layouts
|
||||||
class HSpacer : Widget {
|
class HSpacer : Widget {
|
||||||
this() {
|
this() {
|
||||||
styleId = "HSPACER";
|
styleId = STYLE_HSPACER;
|
||||||
}
|
}
|
||||||
//override void measure(int parentWidth, int parentHeight) {
|
//override void measure(int parentWidth, int parentHeight) {
|
||||||
// measuredContent(parentWidth, parentHeight, 8, 8);
|
// measuredContent(parentWidth, parentHeight, 8, 8);
|
||||||
|
|
@ -199,7 +199,7 @@ class ImageButton : ImageWidget {
|
||||||
/// constructor by id and icon resource id
|
/// constructor by id and icon resource id
|
||||||
this(string ID = null, string drawableId = null) {
|
this(string ID = null, string drawableId = null) {
|
||||||
super(ID, drawableId);
|
super(ID, drawableId);
|
||||||
styleId = "BUTTON";
|
styleId = STYLE_BUTTON;
|
||||||
_drawableId = drawableId;
|
_drawableId = drawableId;
|
||||||
clickable = true;
|
clickable = true;
|
||||||
focusable = true;
|
focusable = true;
|
||||||
|
|
@ -247,11 +247,11 @@ class ImageTextButton : HorizontalLayout {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void init(string drawableId, UIString caption) {
|
protected void init(string drawableId, UIString caption) {
|
||||||
styleId = "BUTTON";
|
styleId = STYLE_BUTTON;
|
||||||
_icon = new ImageWidget("icon", drawableId);
|
_icon = new ImageWidget("icon", drawableId);
|
||||||
_icon.styleId = "BUTTON_IMAGE";
|
_icon.styleId = STYLE_BUTTON_IMAGE;
|
||||||
_label = new TextWidget("label", caption);
|
_label = new TextWidget("label", caption);
|
||||||
_label.styleId = "BUTTON_LABEL";
|
_label.styleId = STYLE_BUTTON_LABEL;
|
||||||
_icon.state = State.Parent;
|
_icon.state = State.Parent;
|
||||||
_label.state = State.Parent;
|
_label.state = State.Parent;
|
||||||
addChild(_icon);
|
addChild(_icon);
|
||||||
|
|
@ -292,11 +292,11 @@ class CheckBox : ImageTextButton {
|
||||||
}
|
}
|
||||||
override protected void init(string drawableId, UIString caption) {
|
override protected void init(string drawableId, UIString caption) {
|
||||||
super.init(drawableId, caption);
|
super.init(drawableId, caption);
|
||||||
styleId = "CHECKBOX";
|
styleId = STYLE_CHECKBOX;
|
||||||
if (_icon)
|
if (_icon)
|
||||||
_icon.styleId = "CHECKBOX_IMAGE";
|
_icon.styleId = STYLE_CHECKBOX_IMAGE;
|
||||||
if (_label)
|
if (_label)
|
||||||
_label.styleId = "CHECKBOX_LABEL";
|
_label.styleId = STYLE_CHECKBOX_LABEL;
|
||||||
checkable = true;
|
checkable = true;
|
||||||
}
|
}
|
||||||
// called to process click and notify listeners
|
// called to process click and notify listeners
|
||||||
|
|
@ -508,7 +508,7 @@ class ScrollBar : AbstractSlider, OnClickHandler {
|
||||||
class PageScrollButton : Widget {
|
class PageScrollButton : Widget {
|
||||||
this(string ID) {
|
this(string ID) {
|
||||||
super(ID);
|
super(ID);
|
||||||
styleId = "PAGE_SCROLL";
|
styleId = STYLE_PAGE_SCROLL;
|
||||||
trackHover = true;
|
trackHover = true;
|
||||||
clickable = true;
|
clickable = true;
|
||||||
}
|
}
|
||||||
|
|
@ -522,7 +522,7 @@ class ScrollBar : AbstractSlider, OnClickHandler {
|
||||||
|
|
||||||
this(string resourceId) {
|
this(string resourceId) {
|
||||||
super("SLIDER", resourceId);
|
super("SLIDER", resourceId);
|
||||||
styleId = "BUTTON_NOMARGINS";
|
styleId = STYLE_BUTTON_NOMARGINS;
|
||||||
trackHover = true;
|
trackHover = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -682,14 +682,14 @@ class ScrollBar : AbstractSlider, OnClickHandler {
|
||||||
/// create with ID parameter
|
/// create with ID parameter
|
||||||
this(string ID, Orientation orient = Orientation.Vertical) {
|
this(string ID, Orientation orient = Orientation.Vertical) {
|
||||||
super(ID);
|
super(ID);
|
||||||
styleId = "SCROLLBAR";
|
styleId = STYLE_SCROLLBAR;
|
||||||
_orientation = orient;
|
_orientation = orient;
|
||||||
_btnBack = new ImageButton("BACK", style.customDrawableId(_orientation == Orientation.Vertical ? ATTR_SCROLLBAR_BUTTON_UP : ATTR_SCROLLBAR_BUTTON_LEFT));
|
_btnBack = new ImageButton("BACK", style.customDrawableId(_orientation == Orientation.Vertical ? ATTR_SCROLLBAR_BUTTON_UP : ATTR_SCROLLBAR_BUTTON_LEFT));
|
||||||
_btnForward = new ImageButton("FORWARD", style.customDrawableId(_orientation == Orientation.Vertical ? ATTR_SCROLLBAR_BUTTON_DOWN : ATTR_SCROLLBAR_BUTTON_RIGHT));
|
_btnForward = new ImageButton("FORWARD", style.customDrawableId(_orientation == Orientation.Vertical ? ATTR_SCROLLBAR_BUTTON_DOWN : ATTR_SCROLLBAR_BUTTON_RIGHT));
|
||||||
_pageUp = new PageScrollButton("PAGE_UP");
|
_pageUp = new PageScrollButton("PAGE_UP");
|
||||||
_pageDown = new PageScrollButton("PAGE_DOWN");
|
_pageDown = new PageScrollButton("PAGE_DOWN");
|
||||||
_btnBack.styleId("SCROLLBAR_BUTTON");
|
_btnBack.styleId = STYLE_SCROLLBAR_BUTTON;
|
||||||
_btnForward.styleId("SCROLLBAR_BUTTON");
|
_btnForward.styleId = STYLE_SCROLLBAR_BUTTON;
|
||||||
_indicator = new SliderButton(style.customDrawableId(_orientation == Orientation.Vertical ? ATTR_SCROLLBAR_INDICATOR_VERTICAL : ATTR_SCROLLBAR_INDICATOR_HORIZONTAL));
|
_indicator = new SliderButton(style.customDrawableId(_orientation == Orientation.Vertical ? ATTR_SCROLLBAR_INDICATOR_VERTICAL : ATTR_SCROLLBAR_INDICATOR_HORIZONTAL));
|
||||||
addChild(_btnBack);
|
addChild(_btnBack);
|
||||||
addChild(_btnForward);
|
addChild(_btnForward);
|
||||||
|
|
|
||||||
|
|
@ -1727,7 +1727,7 @@ class EditLine : EditWidgetBase {
|
||||||
_content = new EditableContent(false);
|
_content = new EditableContent(false);
|
||||||
_content.contentChangeListeners = this;
|
_content.contentChangeListeners = this;
|
||||||
wantTabs = false;
|
wantTabs = false;
|
||||||
styleId = "EDIT_LINE";
|
styleId = STYLE_EDIT_LINE;
|
||||||
text = initialContent;
|
text = initialContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1905,7 +1905,7 @@ class EditBox : EditWidgetBase {
|
||||||
super(ID, hscrollbarMode, vscrollbarMode);
|
super(ID, hscrollbarMode, vscrollbarMode);
|
||||||
_content = new EditableContent(true); // multiline
|
_content = new EditableContent(true); // multiline
|
||||||
_content.contentChangeListeners = this;
|
_content.contentChangeListeners = this;
|
||||||
styleId = "EDIT_BOX";
|
styleId = STYLE_EDIT_BOX;
|
||||||
text = initialContent;
|
text = initialContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1170,7 +1170,7 @@ class StringGridWidget : StringGridWidgetBase {
|
||||||
/// create with ID parameter
|
/// create with ID parameter
|
||||||
this(string ID) {
|
this(string ID) {
|
||||||
super(ID);
|
super(ID);
|
||||||
styleId = "EDIT_BOX";
|
styleId = STYLE_EDIT_BOX;
|
||||||
}
|
}
|
||||||
/// get cell text
|
/// get cell text
|
||||||
override dstring cellText(int col, int row) {
|
override dstring cellText(int col, int row) {
|
||||||
|
|
|
||||||
|
|
@ -114,7 +114,7 @@ class StringListAdapter : ListAdapter {
|
||||||
updateStatesLength();
|
updateStatesLength();
|
||||||
if (_widget is null) {
|
if (_widget is null) {
|
||||||
_widget = new TextWidget("LIST_ITEM");
|
_widget = new TextWidget("LIST_ITEM");
|
||||||
_widget.styleId = "LIST_ITEM";
|
_widget.styleId = STYLE_LIST_ITEM;
|
||||||
} else {
|
} else {
|
||||||
if (index == _lastItemIndex)
|
if (index == _lastItemIndex)
|
||||||
return _widget;
|
return _widget;
|
||||||
|
|
|
||||||
|
|
@ -320,7 +320,7 @@ class MenuItemWidget : WidgetGroup {
|
||||||
id="menuitem";
|
id="menuitem";
|
||||||
_mainMenu = mainMenu;
|
_mainMenu = mainMenu;
|
||||||
_item = item;
|
_item = item;
|
||||||
styleId = "MENU_ITEM";
|
styleId = STYLE_MENU_ITEM;
|
||||||
updateState();
|
updateState();
|
||||||
string iconId = _item.action.iconId;
|
string iconId = _item.action.iconId;
|
||||||
if (_item.type == MenuItemType.Check)
|
if (_item.type == MenuItemType.Check)
|
||||||
|
|
@ -330,7 +330,7 @@ class MenuItemWidget : WidgetGroup {
|
||||||
// icon
|
// icon
|
||||||
if (_item.action && iconId.length) {
|
if (_item.action && iconId.length) {
|
||||||
_icon = new ImageWidget("MENU_ICON", iconId);
|
_icon = new ImageWidget("MENU_ICON", iconId);
|
||||||
_icon.styleId = "MENU_ICON";
|
_icon.styleId = STYLE_MENU_ICON;
|
||||||
_icon.state = State.Parent;
|
_icon.state = State.Parent;
|
||||||
addChild(_icon);
|
addChild(_icon);
|
||||||
}
|
}
|
||||||
|
|
@ -352,7 +352,7 @@ class MenuItemWidget : WidgetGroup {
|
||||||
}
|
}
|
||||||
if (acc !is null) {
|
if (acc !is null) {
|
||||||
_accel = new TextWidget("MENU_ACCEL");
|
_accel = new TextWidget("MENU_ACCEL");
|
||||||
_accel.styleId = "MENU_ACCEL";
|
_accel.styleId = STYLE_MENU_ACCEL;
|
||||||
_accel.text = acc;
|
_accel.text = acc;
|
||||||
_accel.state = State.Parent;
|
_accel.state = State.Parent;
|
||||||
if (_item.isSubmenu && !mainMenu)
|
if (_item.isSubmenu && !mainMenu)
|
||||||
|
|
@ -382,13 +382,13 @@ class MenuWidgetBase : ListWidget {
|
||||||
_item = item;
|
_item = item;
|
||||||
this.orientation = orientation;
|
this.orientation = orientation;
|
||||||
id = "popup_menu";
|
id = "popup_menu";
|
||||||
styleId = "POPUP_MENU";
|
styleId = STYLE_POPUP_MENU;
|
||||||
WidgetListAdapter adapter = new WidgetListAdapter();
|
WidgetListAdapter adapter = new WidgetListAdapter();
|
||||||
for (int i=0; i < _item.subitemCount; i++) {
|
for (int i=0; i < _item.subitemCount; i++) {
|
||||||
MenuItem subitem = _item.subitem(i);
|
MenuItem subitem = _item.subitem(i);
|
||||||
MenuItemWidget widget = new MenuItemWidget(subitem, orientation == Orientation.Horizontal);
|
MenuItemWidget widget = new MenuItemWidget(subitem, orientation == Orientation.Horizontal);
|
||||||
if (orientation == Orientation.Horizontal)
|
if (orientation == Orientation.Horizontal)
|
||||||
widget.styleId = "MAIN_MENU_ITEM";
|
widget.styleId = STYLE_MAIN_MENU_ITEM;
|
||||||
widget.parent = this;
|
widget.parent = this;
|
||||||
adapter.widgets.add(widget);
|
adapter.widgets.add(widget);
|
||||||
}
|
}
|
||||||
|
|
@ -650,7 +650,7 @@ class MainMenu : MenuWidgetBase {
|
||||||
this(MenuItem item) {
|
this(MenuItem item) {
|
||||||
super(null, item, Orientation.Horizontal);
|
super(null, item, Orientation.Horizontal);
|
||||||
id = "MAIN_MENU";
|
id = "MAIN_MENU";
|
||||||
styleId = "MAIN_MENU";
|
styleId = STYLE_MAIN_MENU;
|
||||||
_clickOnButtonDown = true;
|
_clickOnButtonDown = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -799,7 +799,7 @@ class PopupMenu : MenuWidgetBase {
|
||||||
this(MenuItem item, MenuWidgetBase parentMenu = null) {
|
this(MenuItem item, MenuWidgetBase parentMenu = null) {
|
||||||
super(parentMenu, item, Orientation.Vertical);
|
super(parentMenu, item, Orientation.Vertical);
|
||||||
id = "POPUP_MENU";
|
id = "POPUP_MENU";
|
||||||
styleId = "POPUP_MENU";
|
styleId = STYLE_POPUP_MENU;
|
||||||
selectOnHover = true;
|
selectOnHover = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,10 +31,19 @@ import dlangui.graphics.drawbuf;
|
||||||
import dlangui.graphics.resources;
|
import dlangui.graphics.resources;
|
||||||
|
|
||||||
// Standard style constants
|
// Standard style constants
|
||||||
|
// Themes should define all of these styles in order to support all controls
|
||||||
/// standard style id for TextWidget
|
/// standard style id for TextWidget
|
||||||
immutable string STYLE_TEXT = "TEXT";
|
immutable string STYLE_TEXT = "TEXT";
|
||||||
/// standard style id for Button
|
/// standard style id for Button
|
||||||
immutable string STYLE_BUTTON = "BUTTON";
|
immutable string STYLE_BUTTON = "BUTTON";
|
||||||
|
/// standard style id for Button label
|
||||||
|
immutable string STYLE_BUTTON_LABEL = "BUTTON_LABEL";
|
||||||
|
/// standard style id for Button image
|
||||||
|
immutable string STYLE_BUTTON_IMAGE = "BUTTON_IMAGE";
|
||||||
|
/// style id for transparent Button
|
||||||
|
immutable string STYLE_BUTTON_TRANSPARENT = "BUTTON_TRANSPARENT";
|
||||||
|
/// style id for Button w/o margins
|
||||||
|
immutable string STYLE_BUTTON_NOMARGINS = "BUTTON_NOMARGINS";
|
||||||
/// standard style id for CheckBox
|
/// standard style id for CheckBox
|
||||||
immutable string STYLE_CHECKBOX = "CHECKBOX";
|
immutable string STYLE_CHECKBOX = "CHECKBOX";
|
||||||
/// standard style id for CheckBox image
|
/// standard style id for CheckBox image
|
||||||
|
|
@ -47,6 +56,66 @@ immutable string STYLE_RADIOBUTTON = "RADIOBUTTON";
|
||||||
immutable string STYLE_RADIOBUTTON_IMAGE = "RADIOBUTTON_IMAGE";
|
immutable string STYLE_RADIOBUTTON_IMAGE = "RADIOBUTTON_IMAGE";
|
||||||
/// standard style id for RadioButton label
|
/// standard style id for RadioButton label
|
||||||
immutable string STYLE_RADIOBUTTON_LABEL = "RADIOBUTTON_LABEL";
|
immutable string STYLE_RADIOBUTTON_LABEL = "RADIOBUTTON_LABEL";
|
||||||
|
/// standard style id for HSpacer
|
||||||
|
immutable string STYLE_HSPACER = "HSPACER";
|
||||||
|
/// standard style id for VSpacer
|
||||||
|
immutable string STYLE_VSPACER = "VSPACER";
|
||||||
|
/// standard style id for ScrollBar
|
||||||
|
immutable string STYLE_SCROLLBAR = "SCROLLBAR";
|
||||||
|
/// standard style id for ScrollBar button
|
||||||
|
immutable string STYLE_SCROLLBAR_BUTTON = "SCROLLBAR_BUTTON";
|
||||||
|
/// standard style id for ScrollBar page control
|
||||||
|
immutable string STYLE_PAGE_SCROLL = "PAGE_SCROLL";
|
||||||
|
/// standard style id for Slider
|
||||||
|
immutable string STYLE_SLIDER = "SLIDER";
|
||||||
|
/// standard style id for TabWidget
|
||||||
|
immutable string STYLE_TAB_WIDGET = "TAB_WIDGET";
|
||||||
|
/// standard style id for Tab with Up alignment
|
||||||
|
immutable string STYLE_TAB_UP = "TAB_UP";
|
||||||
|
/// standard style id for button of Tab with Up alignment
|
||||||
|
immutable string STYLE_TAB_UP_BUTTON = "TAB_UP_BUTTON";
|
||||||
|
/// standard style id for button of Tab with Up alignment
|
||||||
|
immutable string STYLE_TAB_UP_BUTTON_TEXT = "TAB_UP_BUTTON_TEXT";
|
||||||
|
/// standard style id for TabHost
|
||||||
|
immutable string STYLE_TAB_HOST = "TAB_HOST";
|
||||||
|
/// standard style id for PopupMenu
|
||||||
|
immutable string STYLE_POPUP_MENU = "POPUP_MENU";
|
||||||
|
/// standard style id for menu item
|
||||||
|
immutable string STYLE_MENU_ITEM = "MENU_ITEM";
|
||||||
|
/// standard style id for menu item label
|
||||||
|
immutable string STYLE_MENU_LABEL = "MENU_LABEL";
|
||||||
|
/// standard style id for menu item icon
|
||||||
|
immutable string STYLE_MENU_ICON = "MENU_ICON";
|
||||||
|
/// standard style id for menu item accelerators label
|
||||||
|
immutable string STYLE_MENU_ACCEL = "MENU_ACCEL";
|
||||||
|
/// standard style id for main menu item
|
||||||
|
immutable string STYLE_MAIN_MENU_ITEM = "MAIN_MENU_ITEM";
|
||||||
|
/// standard style id for main menu item label
|
||||||
|
immutable string STYLE_MAIN_MENU_LABEL = "MAIN_MENU_LABEL";
|
||||||
|
/// standard style id for main menu
|
||||||
|
immutable string STYLE_MAIN_MENU = "MAIN_MENU";
|
||||||
|
/// standard style id for list items
|
||||||
|
immutable string STYLE_LIST_ITEM = "LIST_ITEM";
|
||||||
|
/// standard style id for EditLine
|
||||||
|
immutable string STYLE_EDIT_LINE = "EDIT_LINE";
|
||||||
|
/// standard style id for EditBox
|
||||||
|
immutable string STYLE_EDIT_BOX = "EDIT_BOX";
|
||||||
|
/// standard style id for background similar to transparent button
|
||||||
|
immutable string STYLE_TRANSPARENT_BUTTON_BACKGROUND = "TRANSPARENT_BUTTON_BACKGROUND";
|
||||||
|
/// standard style id for tree item
|
||||||
|
immutable string STYLE_TREE_ITEM = "TREE_ITEM";
|
||||||
|
/// standard style id for tree item label
|
||||||
|
immutable string STYLE_TREE_ITEM_LABEL = "TREE_ITEM_LABEL";
|
||||||
|
/// standard style id for tree item icon
|
||||||
|
immutable string STYLE_TREE_ITEM_ICON = "TREE_ITEM_ICON";
|
||||||
|
/// standard style id for tree item expand icon
|
||||||
|
immutable string STYLE_TREE_ITEM_EXPAND_ICON = "TREE_ITEM_EXPAND_ICON";
|
||||||
|
/// standard style id for combo box
|
||||||
|
immutable string STYLE_COMBO_BOX = "COMBO_BOX";
|
||||||
|
/// standard style id for combo box button
|
||||||
|
immutable string STYLE_COMBO_BOX_BUTTON = "COMBO_BOX_BUTTON";
|
||||||
|
/// standard style id for combo box body (current item)
|
||||||
|
immutable string STYLE_COMBO_BOX_BODY = "COMBO_BOX_BODY";
|
||||||
|
|
||||||
// Layout size constants
|
// Layout size constants
|
||||||
/// layout option, to occupy all available place
|
/// layout option, to occupy all available place
|
||||||
|
|
@ -791,14 +860,14 @@ Theme createDefaultTheme() {
|
||||||
}
|
}
|
||||||
//res.fontFace = "Arial Narrow";
|
//res.fontFace = "Arial Narrow";
|
||||||
res.fontSize = 15; // TODO: choose based on DPI
|
res.fontSize = 15; // TODO: choose based on DPI
|
||||||
Style button = res.createSubstyle("BUTTON").backgroundImageId("btn_background").alignment(Align.Center).setMargins(5,5,5,5);
|
Style button = res.createSubstyle(STYLE_BUTTON).backgroundImageId("btn_background").alignment(Align.Center).setMargins(5,5,5,5);
|
||||||
res.createSubstyle("BUTTON_TRANSPARENT").backgroundImageId("btn_background_transparent").alignment(Align.Center);
|
res.createSubstyle(STYLE_BUTTON_TRANSPARENT).backgroundImageId("btn_background_transparent").alignment(Align.Center);
|
||||||
res.createSubstyle("BUTTON_LABEL").layoutWidth(FILL_PARENT).alignment(Align.Left|Align.VCenter);
|
res.createSubstyle(STYLE_BUTTON_LABEL).layoutWidth(FILL_PARENT).alignment(Align.Left|Align.VCenter);
|
||||||
res.createSubstyle("BUTTON_ICON").alignment(Align.Center);
|
res.createSubstyle(STYLE_BUTTON_IMAGE).alignment(Align.Center);
|
||||||
res.createSubstyle("TEXT").setMargins(2,2,2,2).setPadding(1,1,1,1);
|
res.createSubstyle(STYLE_TEXT).setMargins(2,2,2,2).setPadding(1,1,1,1);
|
||||||
res.createSubstyle("HSPACER").layoutWidth(FILL_PARENT).minWidth(5).layoutWeight(100);
|
res.createSubstyle(STYLE_HSPACER).layoutWidth(FILL_PARENT).minWidth(5).layoutWeight(100);
|
||||||
res.createSubstyle("VSPACER").layoutHeight(FILL_PARENT).minHeight(5).layoutWeight(100);
|
res.createSubstyle(STYLE_VSPACER).layoutHeight(FILL_PARENT).minHeight(5).layoutWeight(100);
|
||||||
res.createSubstyle("BUTTON_NOMARGINS").backgroundImageId("btn_background").alignment(Align.Center); // .setMargins(5,5,5,5)
|
res.createSubstyle(STYLE_BUTTON_NOMARGINS).backgroundImageId("btn_background").alignment(Align.Center); // .setMargins(5,5,5,5)
|
||||||
//button.createState(State.Enabled | State.Focused, State.Focused).backgroundImageId("btn_default_small_normal_disable_focused");
|
//button.createState(State.Enabled | State.Focused, State.Focused).backgroundImageId("btn_default_small_normal_disable_focused");
|
||||||
//button.createState(State.Enabled, 0).backgroundImageId("btn_default_small_normal_disable");
|
//button.createState(State.Enabled, 0).backgroundImageId("btn_default_small_normal_disable");
|
||||||
//button.createState(State.Pressed, State.Pressed).backgroundImageId("btn_default_small_pressed");
|
//button.createState(State.Pressed, State.Pressed).backgroundImageId("btn_default_small_pressed");
|
||||||
|
|
@ -811,67 +880,67 @@ Theme createDefaultTheme() {
|
||||||
res.setCustomDrawable(ATTR_SCROLLBAR_INDICATOR_VERTICAL, "scrollbar_indicator_vertical");
|
res.setCustomDrawable(ATTR_SCROLLBAR_INDICATOR_VERTICAL, "scrollbar_indicator_vertical");
|
||||||
res.setCustomDrawable(ATTR_SCROLLBAR_INDICATOR_HORIZONTAL, "scrollbar_indicator_horizontal");
|
res.setCustomDrawable(ATTR_SCROLLBAR_INDICATOR_HORIZONTAL, "scrollbar_indicator_horizontal");
|
||||||
|
|
||||||
Style scrollbar = res.createSubstyle("SCROLLBAR");
|
Style scrollbar = res.createSubstyle(STYLE_SCROLLBAR);
|
||||||
scrollbar.backgroundColor(0xC0808080);
|
scrollbar.backgroundColor(0xC0808080);
|
||||||
Style scrollbarButton = button.createSubstyle("SCROLLBAR_BUTTON");
|
Style scrollbarButton = button.createSubstyle(STYLE_SCROLLBAR_BUTTON);
|
||||||
Style scrollbarSlider = res.createSubstyle("SLIDER");
|
Style scrollbarSlider = res.createSubstyle(STYLE_SLIDER);
|
||||||
Style scrollbarPage = res.createSubstyle("PAGE_SCROLL").backgroundColor(COLOR_TRANSPARENT);
|
Style scrollbarPage = res.createSubstyle(STYLE_PAGE_SCROLL).backgroundColor(COLOR_TRANSPARENT);
|
||||||
scrollbarPage.createState(State.Pressed, State.Pressed).backgroundColor(0xC0404080);
|
scrollbarPage.createState(State.Pressed, State.Pressed).backgroundColor(0xC0404080);
|
||||||
scrollbarPage.createState(State.Hovered, State.Hovered).backgroundColor(0xF0404080);
|
scrollbarPage.createState(State.Hovered, State.Hovered).backgroundColor(0xF0404080);
|
||||||
|
|
||||||
Style tabUp = res.createSubstyle("TAB_UP");
|
Style tabUp = res.createSubstyle(STYLE_TAB_UP);
|
||||||
tabUp.backgroundImageId("tab_up_background");
|
tabUp.backgroundImageId("tab_up_background");
|
||||||
tabUp.layoutWidth(FILL_PARENT);
|
tabUp.layoutWidth(FILL_PARENT);
|
||||||
tabUp.createState(State.Selected, State.Selected).backgroundImageId("tab_up_backgrond_selected");
|
tabUp.createState(State.Selected, State.Selected).backgroundImageId("tab_up_backgrond_selected");
|
||||||
Style tabUpButtonText = res.createSubstyle("TAB_UP_BUTTON_TEXT");
|
Style tabUpButtonText = res.createSubstyle(STYLE_TAB_UP_BUTTON_TEXT);
|
||||||
tabUpButtonText.textColor(0x000000).fontSize(12).alignment(Align.Center);
|
tabUpButtonText.textColor(0x000000).fontSize(12).alignment(Align.Center);
|
||||||
tabUpButtonText.createState(State.Selected, State.Selected).textColor(0x000000);
|
tabUpButtonText.createState(State.Selected, State.Selected).textColor(0x000000);
|
||||||
tabUpButtonText.createState(State.Selected|State.Focused, State.Selected|State.Focused).textColor(0x000000);
|
tabUpButtonText.createState(State.Selected|State.Focused, State.Selected|State.Focused).textColor(0x000000);
|
||||||
tabUpButtonText.createState(State.Focused, State.Focused).textColor(0x000000);
|
tabUpButtonText.createState(State.Focused, State.Focused).textColor(0x000000);
|
||||||
tabUpButtonText.createState(State.Hovered, State.Hovered).textColor(0xFFE0E0);
|
tabUpButtonText.createState(State.Hovered, State.Hovered).textColor(0xFFE0E0);
|
||||||
Style tabUpButton = res.createSubstyle("TAB_UP_BUTTON");
|
Style tabUpButton = res.createSubstyle(STYLE_TAB_UP_BUTTON);
|
||||||
tabUpButton.backgroundImageId("tab_btn_up");
|
tabUpButton.backgroundImageId("tab_btn_up");
|
||||||
//tabUpButton.backgroundImageId("tab_btn_up_normal");
|
//tabUpButton.backgroundImageId("tab_btn_up_normal");
|
||||||
//tabUpButton.createState(State.Selected, State.Selected).backgroundImageId("tab_btn_up_selected");
|
//tabUpButton.createState(State.Selected, State.Selected).backgroundImageId("tab_btn_up_selected");
|
||||||
//tabUpButton.createState(State.Selected|State.Focused, State.Selected|State.Focused).backgroundImageId("tab_btn_up_focused_selected");
|
//tabUpButton.createState(State.Selected|State.Focused, State.Selected|State.Focused).backgroundImageId("tab_btn_up_focused_selected");
|
||||||
//tabUpButton.createState(State.Focused, State.Focused).backgroundImageId("tab_btn_up_focused");
|
//tabUpButton.createState(State.Focused, State.Focused).backgroundImageId("tab_btn_up_focused");
|
||||||
//tabUpButton.createState(State.Hovered, State.Hovered).backgroundImageId("tab_btn_up_hover");
|
//tabUpButton.createState(State.Hovered, State.Hovered).backgroundImageId("tab_btn_up_hover");
|
||||||
Style tabHost = res.createSubstyle("TAB_HOST");
|
Style tabHost = res.createSubstyle(STYLE_TAB_HOST);
|
||||||
tabHost.layoutWidth(FILL_PARENT).layoutHeight(FILL_PARENT);
|
tabHost.layoutWidth(FILL_PARENT).layoutHeight(FILL_PARENT);
|
||||||
tabHost.backgroundColor(0xF0F0F0);
|
tabHost.backgroundColor(0xF0F0F0);
|
||||||
Style tabWidget = res.createSubstyle("TAB_WIDGET");
|
Style tabWidget = res.createSubstyle(STYLE_TAB_WIDGET);
|
||||||
tabWidget.setPadding(3,3,3,3).backgroundColor(0xEEEEEE);
|
tabWidget.setPadding(3,3,3,3).backgroundColor(0xEEEEEE);
|
||||||
//tabWidget.backgroundImageId("frame_blue");
|
//tabWidget.backgroundImageId("frame_blue");
|
||||||
//res.dumpStats();
|
//res.dumpStats();
|
||||||
|
|
||||||
Style mainMenu = res.createSubstyle("MAIN_MENU").backgroundColor(0xEFEFF2).layoutWidth(FILL_PARENT);
|
Style mainMenu = res.createSubstyle(STYLE_MAIN_MENU).backgroundColor(0xEFEFF2).layoutWidth(FILL_PARENT);
|
||||||
Style mainMenuItem = res.createSubstyle("MAIN_MENU_ITEM").setPadding(4,2,4,2).backgroundImageId("main_menu_item_background").textFlags(TEXT_FLAGS_USE_PARENT);
|
Style mainMenuItem = res.createSubstyle(STYLE_MAIN_MENU_ITEM).setPadding(4,2,4,2).backgroundImageId("main_menu_item_background").textFlags(TEXT_FLAGS_USE_PARENT);
|
||||||
Style menuItem = res.createSubstyle("MENU_ITEM").setPadding(4,2,4,2); //.backgroundColor(0xE0E080) ;
|
Style menuItem = res.createSubstyle(STYLE_MENU_ITEM).setPadding(4,2,4,2); //.backgroundColor(0xE0E080) ;
|
||||||
menuItem.createState(State.Focused, State.Focused).backgroundColor(0x40C0C000);
|
menuItem.createState(State.Focused, State.Focused).backgroundColor(0x40C0C000);
|
||||||
menuItem.createState(State.Pressed, State.Pressed).backgroundColor(0x4080C000);
|
menuItem.createState(State.Pressed, State.Pressed).backgroundColor(0x4080C000);
|
||||||
menuItem.createState(State.Selected, State.Selected).backgroundColor(0x00F8F9Fa);
|
menuItem.createState(State.Selected, State.Selected).backgroundColor(0x00F8F9Fa);
|
||||||
menuItem.createState(State.Hovered, State.Hovered).backgroundColor(0xC0FFFF00);
|
menuItem.createState(State.Hovered, State.Hovered).backgroundColor(0xC0FFFF00);
|
||||||
res.createSubstyle("MENU_ICON").setMargins(2,2,2,2).alignment(Align.VCenter|Align.Left).createState(State.Enabled,0).alpha(0xA0);
|
res.createSubstyle(STYLE_MENU_ICON).setMargins(2,2,2,2).alignment(Align.VCenter|Align.Left).createState(State.Enabled,0).alpha(0xA0);
|
||||||
res.createSubstyle("MENU_LABEL").setMargins(4,2,4,2).alignment(Align.VCenter|Align.Left).textFlags(TextFlag.UnderlineHotKeys).createState(State.Enabled,0).textColor(0x80404040);
|
res.createSubstyle(STYLE_MENU_LABEL).setMargins(4,2,4,2).alignment(Align.VCenter|Align.Left).textFlags(TextFlag.UnderlineHotKeys).createState(State.Enabled,0).textColor(0x80404040);
|
||||||
res.createSubstyle("MAIN_MENU_LABEL").setMargins(4,2,4,2).alignment(Align.VCenter|Align.Left).textFlags(TEXT_FLAGS_USE_PARENT).createState(State.Enabled,0).textColor(0x80404040);
|
res.createSubstyle(STYLE_MAIN_MENU_LABEL).setMargins(4,2,4,2).alignment(Align.VCenter|Align.Left).textFlags(TEXT_FLAGS_USE_PARENT).createState(State.Enabled,0).textColor(0x80404040);
|
||||||
res.createSubstyle("MENU_ACCEL").setMargins(4,2,4,2).alignment(Align.VCenter|Align.Left).createState(State.Enabled,0).textColor(0x80404040);
|
res.createSubstyle(STYLE_MENU_ACCEL).setMargins(4,2,4,2).alignment(Align.VCenter|Align.Left).createState(State.Enabled,0).textColor(0x80404040);
|
||||||
|
|
||||||
Style transparentButtonBackground = res.createSubstyle("TRANSPARENT_BUTTON_BACKGROUND").backgroundImageId("transparent_button_background").setPadding(4,2,4,2); //.backgroundColor(0xE0E080) ;
|
Style transparentButtonBackground = res.createSubstyle(STYLE_TRANSPARENT_BUTTON_BACKGROUND).backgroundImageId("transparent_button_background").setPadding(4,2,4,2); //.backgroundColor(0xE0E080) ;
|
||||||
//transparentButtonBackground.createState(State.Focused, State.Focused).backgroundColor(0xC0C0C000);
|
//transparentButtonBackground.createState(State.Focused, State.Focused).backgroundColor(0xC0C0C000);
|
||||||
//transparentButtonBackground.createState(State.Pressed, State.Pressed).backgroundColor(0x4080C000);
|
//transparentButtonBackground.createState(State.Pressed, State.Pressed).backgroundColor(0x4080C000);
|
||||||
//transparentButtonBackground.createState(State.Selected, State.Selected).backgroundColor(0x00F8F9Fa);
|
//transparentButtonBackground.createState(State.Selected, State.Selected).backgroundColor(0x00F8F9Fa);
|
||||||
//transparentButtonBackground.createState(State.Hovered, State.Hovered).backgroundColor(0xD0FFFF00);
|
//transparentButtonBackground.createState(State.Hovered, State.Hovered).backgroundColor(0xD0FFFF00);
|
||||||
|
|
||||||
Style poopupMenu = res.createSubstyle("POPUP_MENU").backgroundImageId("popup_menu_background_normal");
|
Style poopupMenu = res.createSubstyle(STYLE_POPUP_MENU).backgroundImageId("popup_menu_background_normal");
|
||||||
|
|
||||||
Style listItem = res.createSubstyle("LIST_ITEM").backgroundImageId("list_item_background");
|
Style listItem = res.createSubstyle(STYLE_LIST_ITEM).backgroundImageId("list_item_background");
|
||||||
//listItem.createState(State.Selected, State.Selected).backgroundColor(0xC04040FF).textColor(0x000000);
|
//listItem.createState(State.Selected, State.Selected).backgroundColor(0xC04040FF).textColor(0x000000);
|
||||||
//listItem.createState(State.Enabled, 0).textColor(0x80000000); // half transparent text for disabled item
|
//listItem.createState(State.Enabled, 0).textColor(0x80000000); // half transparent text for disabled item
|
||||||
|
|
||||||
Style editLine = res.createSubstyle("EDIT_LINE").backgroundImageId("editbox_background")
|
Style editLine = res.createSubstyle(STYLE_EDIT_LINE).backgroundImageId("editbox_background")
|
||||||
.setPadding(5,6,5,6).setMargins(2,2,2,2).minWidth(40)
|
.setPadding(5,6,5,6).setMargins(2,2,2,2).minWidth(40)
|
||||||
.fontFace("Arial").fontFamily(FontFamily.SansSerif).fontSize(16);
|
.fontFace("Arial").fontFamily(FontFamily.SansSerif).fontSize(16);
|
||||||
Style editBox = res.createSubstyle("EDIT_BOX").backgroundImageId("editbox_background")
|
Style editBox = res.createSubstyle(STYLE_EDIT_BOX).backgroundImageId("editbox_background")
|
||||||
.setPadding(5,6,5,6).setMargins(2,2,2,2).minWidth(100).minHeight(60).layoutHeight(FILL_PARENT).layoutWidth(FILL_PARENT)
|
.setPadding(5,6,5,6).setMargins(2,2,2,2).minWidth(100).minHeight(60).layoutHeight(FILL_PARENT).layoutWidth(FILL_PARENT)
|
||||||
.fontFace("Courier New").fontFamily(FontFamily.MonoSpace).fontSize(16);
|
.fontFace("Courier New").fontFamily(FontFamily.MonoSpace).fontSize(16);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,14 +67,14 @@ class TabItemWidget : HorizontalLayout {
|
||||||
@property TabItem tabItem() { return _item; }
|
@property TabItem tabItem() { return _item; }
|
||||||
@property TabControl tabControl() { return cast(TabControl)parent; }
|
@property TabControl tabControl() { return cast(TabControl)parent; }
|
||||||
this(TabItem item, bool enableCloseButton = true) {
|
this(TabItem item, bool enableCloseButton = true) {
|
||||||
styleId = "TAB_UP_BUTTON";
|
styleId = STYLE_TAB_UP_BUTTON;
|
||||||
_enableCloseButton = enableCloseButton;
|
_enableCloseButton = enableCloseButton;
|
||||||
_icon = new ImageWidget();
|
_icon = new ImageWidget();
|
||||||
_label = new TextWidget();
|
_label = new TextWidget();
|
||||||
_label.styleId = "TAB_UP_BUTTON_TEXT";
|
_label.styleId = STYLE_TAB_UP_BUTTON_TEXT;
|
||||||
_label.state = State.Parent;
|
_label.state = State.Parent;
|
||||||
_closeButton = new ImageButton("CLOSE");
|
_closeButton = new ImageButton("CLOSE");
|
||||||
_closeButton.styleId = "BUTTON_TRANSPARENT";
|
_closeButton.styleId = STYLE_BUTTON_TRANSPARENT;
|
||||||
_closeButton.drawableId = "close";
|
_closeButton.drawableId = "close";
|
||||||
_closeButton.trackHover = true;
|
_closeButton.trackHover = true;
|
||||||
_closeButton.onClickListener = &onClick;
|
_closeButton.onClickListener = &onClick;
|
||||||
|
|
@ -186,11 +186,11 @@ class TabControl : WidgetGroup {
|
||||||
super(ID);
|
super(ID);
|
||||||
_items = new TabItemList();
|
_items = new TabItemList();
|
||||||
_moreButton = new ImageButton("MORE", "tab_more");
|
_moreButton = new ImageButton("MORE", "tab_more");
|
||||||
_moreButton.styleId = "BUTTON_TRANSPARENT";
|
_moreButton.styleId = STYLE_BUTTON_TRANSPARENT;
|
||||||
_moreButton.onClickListener = &onClick;
|
_moreButton.onClickListener = &onClick;
|
||||||
_moreButton.margins(Rect(3,3,3,6));
|
_moreButton.margins(Rect(3,3,3,6));
|
||||||
_enableCloseButton = true;
|
_enableCloseButton = true;
|
||||||
styleId = "TAB_UP";
|
styleId = STYLE_TAB_UP;
|
||||||
addChild(_moreButton); // first child is always MORE button, the rest corresponds to tab list
|
addChild(_moreButton); // first child is always MORE button, the rest corresponds to tab list
|
||||||
}
|
}
|
||||||
/// returns tab count
|
/// returns tab count
|
||||||
|
|
@ -388,7 +388,7 @@ class TabHost : FrameLayout, TabHandler {
|
||||||
_tabControl = tabControl;
|
_tabControl = tabControl;
|
||||||
if (_tabControl !is null)
|
if (_tabControl !is null)
|
||||||
_tabControl.onTabChangedListener = &onTabChanged;
|
_tabControl.onTabChangedListener = &onTabChanged;
|
||||||
styleId = "TAB_HOST";
|
styleId = STYLE_TAB_HOST;
|
||||||
}
|
}
|
||||||
protected TabControl _tabControl;
|
protected TabControl _tabControl;
|
||||||
/// get currently set control widget
|
/// get currently set control widget
|
||||||
|
|
@ -478,7 +478,7 @@ class TabWidget : VerticalLayout, TabHandler {
|
||||||
_tabControl = new TabControl("TAB_CONTROL");
|
_tabControl = new TabControl("TAB_CONTROL");
|
||||||
_tabHost = new TabHost("TAB_HOST", _tabControl);
|
_tabHost = new TabHost("TAB_HOST", _tabControl);
|
||||||
_tabControl.onTabChangedListener.connect(this);
|
_tabControl.onTabChangedListener.connect(this);
|
||||||
styleId = "TAB_WIDGET";
|
styleId = STYLE_TAB_WIDGET;
|
||||||
addChild(_tabControl);
|
addChild(_tabControl);
|
||||||
addChild(_tabHost);
|
addChild(_tabHost);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -467,7 +467,7 @@ class TreeItemWidget : HorizontalLayout {
|
||||||
|
|
||||||
this(TreeItem item) {
|
this(TreeItem item) {
|
||||||
super(item.id);
|
super(item.id);
|
||||||
styleId = "TREE_ITEM";
|
styleId = STYLE_TREE_ITEM;
|
||||||
|
|
||||||
clickable = true;
|
clickable = true;
|
||||||
focusable = true;
|
focusable = true;
|
||||||
|
|
@ -485,7 +485,7 @@ class TreeItemWidget : HorizontalLayout {
|
||||||
_tab.maxWidth = w;
|
_tab.maxWidth = w;
|
||||||
if (_item.hasChildren) {
|
if (_item.hasChildren) {
|
||||||
_expander = new ImageWidget("expander", _item.hasChildren && _item.expanded ? "arrow_right_down_black" : "arrow_right_hollow");
|
_expander = new ImageWidget("expander", _item.hasChildren && _item.expanded ? "arrow_right_down_black" : "arrow_right_hollow");
|
||||||
_expander.styleId = "TREE_ITEM_EXPAND_ICON";
|
_expander.styleId = STYLE_TREE_ITEM_EXPAND_ICON;
|
||||||
_expander.clickable = true;
|
_expander.clickable = true;
|
||||||
_expander.trackHover = true;
|
_expander.trackHover = true;
|
||||||
//_expander.setState(State.Parent);
|
//_expander.setState(State.Parent);
|
||||||
|
|
@ -511,11 +511,11 @@ class TreeItemWidget : HorizontalLayout {
|
||||||
};
|
};
|
||||||
if (_item.iconRes.length > 0) {
|
if (_item.iconRes.length > 0) {
|
||||||
_icon = new ImageWidget("icon", _item.iconRes);
|
_icon = new ImageWidget("icon", _item.iconRes);
|
||||||
_icon.styleId = "TREE_ITEM_ICON";
|
_icon.styleId = STYLE_TREE_ITEM_ICON;
|
||||||
_icon.setState(State.Parent);
|
_icon.setState(State.Parent);
|
||||||
}
|
}
|
||||||
_label = new TextWidget("label", _item.text);
|
_label = new TextWidget("label", _item.text);
|
||||||
_label.styleId = "TREE_ITEM_LABEL";
|
_label.styleId = STYLE_TREE_ITEM_LABEL;
|
||||||
_label.setState(State.Parent);
|
_label.setState(State.Parent);
|
||||||
// append children
|
// append children
|
||||||
addChild(_tab);
|
addChild(_tab);
|
||||||
|
|
|
||||||
|
|
@ -705,7 +705,7 @@ class Widget {
|
||||||
applyPadding(rc);
|
applyPadding(rc);
|
||||||
if (!rc.intersects(clipRect))
|
if (!rc.intersects(clipRect))
|
||||||
return; // out of clip rectangle
|
return; // out of clip rectangle
|
||||||
if (focusable) {
|
if (canFocus) {
|
||||||
TabOrderInfo item = new TabOrderInfo(this, rc);
|
TabOrderInfo item = new TabOrderInfo(this, rc);
|
||||||
results ~= item;
|
results ~= item;
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue