mirror of https://github.com/buggins/dlangui.git
example1 improvements: Buttons demo tab
This commit is contained in:
parent
67f74980c7
commit
78e8982a2f
|
@ -158,7 +158,95 @@ extern (C) int UIAppMain(string[] args) {
|
||||||
tabs.addTab(list, "Long List"d);
|
tabs.addTab(list, "Long List"d);
|
||||||
}
|
}
|
||||||
|
|
||||||
tabs.addTab((new TextWidget()).id("tab3").textColor(0x00802000).text("Tab 3 contents"), "Tab 3"d);
|
{
|
||||||
|
LinearLayout layout3 = new LinearLayout("tab3");
|
||||||
|
layout3.addChild(new TextWidget(null, "Buttons in HorizontalLayout"d));
|
||||||
|
WidgetGroup buttons1 = new HorizontalLayout();
|
||||||
|
buttons1.addChild(new Button("btn1", "Button 1"d));
|
||||||
|
buttons1.addChild(new Button("btn2", "Button 2"d));
|
||||||
|
buttons1.addChild(new Button("btn3", "Button 3"d));
|
||||||
|
buttons1.addChild(new Button("btn4", "Button 4"d));
|
||||||
|
layout3.addChild(buttons1);
|
||||||
|
layout3.addChild(new VSpacer());
|
||||||
|
layout3.addChild(new TextWidget(null, "CheckBoxes in HorizontalLayout"d));
|
||||||
|
WidgetGroup buttons2 = new HorizontalLayout();
|
||||||
|
buttons2.addChild(new CheckBox("btn1", "CheckBox 1"d));
|
||||||
|
buttons2.addChild(new CheckBox("btn2", "CheckBox 2"d));
|
||||||
|
buttons2.addChild(new CheckBox("btn3", "CheckBox 3"d));
|
||||||
|
buttons2.addChild(new CheckBox("btn4", "CheckBox 4"d));
|
||||||
|
layout3.addChild(buttons2);
|
||||||
|
|
||||||
|
layout3.addChild(new VSpacer());
|
||||||
|
layout3.addChild(new TextWidget(null, "RadioButtons in HorizontalLayout"d));
|
||||||
|
WidgetGroup buttons3 = new HorizontalLayout();
|
||||||
|
buttons3.addChild(new RadioButton("btn1", "RadioButton 1"d));
|
||||||
|
buttons3.addChild(new RadioButton("btn2", "RadioButton 2"d));
|
||||||
|
buttons3.addChild(new RadioButton("btn3", "RadioButton 3"d));
|
||||||
|
buttons3.addChild(new RadioButton("btn4", "RadioButton 4"d));
|
||||||
|
layout3.addChild(buttons3);
|
||||||
|
|
||||||
|
layout3.addChild(new VSpacer());
|
||||||
|
layout3.addChild(new TextWidget(null, "ImageButtons HorizontalLayout"d));
|
||||||
|
WidgetGroup buttons4 = new HorizontalLayout();
|
||||||
|
buttons4.addChild(new ImageButton("btn1", "fileclose"));
|
||||||
|
buttons4.addChild(new ImageButton("btn2", "fileopen"));
|
||||||
|
buttons4.addChild(new ImageButton("btn3", "exit"));
|
||||||
|
layout3.addChild(buttons4);
|
||||||
|
|
||||||
|
layout3.addChild(new VSpacer());
|
||||||
|
layout3.addChild(new TextWidget(null, "In vertical layouts:"d));
|
||||||
|
HorizontalLayout hlayout2 = new HorizontalLayout();
|
||||||
|
hlayout2.layoutWidth(FILL_PARENT).layoutHeight(FILL_PARENT);
|
||||||
|
|
||||||
|
buttons1 = new VerticalLayout();
|
||||||
|
buttons1.addChild(new TextWidget(null, "Buttons"d));
|
||||||
|
buttons1.addChild(new Button("btn1", "Button 1"d));
|
||||||
|
buttons1.addChild(new Button("btn2", "Button 2"d));
|
||||||
|
buttons1.addChild((new Button("btn3", "Button 3 - disabled"d)).enabled(false));
|
||||||
|
buttons1.addChild(new Button("btn4", "Button 4"d));
|
||||||
|
hlayout2.addChild(buttons1);
|
||||||
|
hlayout2.addChild(new HSpacer());
|
||||||
|
|
||||||
|
buttons2 = new VerticalLayout();
|
||||||
|
buttons2.addChild(new TextWidget(null, "CheckBoxes"d));
|
||||||
|
buttons2.addChild(new CheckBox("btn1", "CheckBox 1"d));
|
||||||
|
buttons2.addChild(new CheckBox("btn2", "CheckBox 2"d));
|
||||||
|
buttons2.addChild(new CheckBox("btn3", "CheckBox 3"d));
|
||||||
|
buttons2.addChild(new CheckBox("btn4", "CheckBox 4"d));
|
||||||
|
hlayout2.addChild(buttons2);
|
||||||
|
hlayout2.addChild(new HSpacer());
|
||||||
|
|
||||||
|
buttons3 = new VerticalLayout();
|
||||||
|
buttons3.addChild(new TextWidget(null, "RadioButtons"d));
|
||||||
|
buttons3.addChild(new RadioButton("btn1", "RadioButton 1"d));
|
||||||
|
buttons3.addChild(new RadioButton("btn2", "RadioButton 2"d));
|
||||||
|
buttons3.addChild(new RadioButton("btn3", "RadioButton 3"d));
|
||||||
|
buttons3.addChild(new RadioButton("btn4", "RadioButton 4"d));
|
||||||
|
hlayout2.addChild(buttons3);
|
||||||
|
hlayout2.addChild(new HSpacer());
|
||||||
|
|
||||||
|
buttons4 = new VerticalLayout();
|
||||||
|
buttons4.addChild(new TextWidget(null, "ImageButtons"d));
|
||||||
|
buttons4.addChild(new ImageButton("btn1", "fileclose"));
|
||||||
|
buttons4.addChild(new ImageButton("btn2", "fileopen"));
|
||||||
|
buttons4.addChild(new ImageButton("btn3", "exit"));
|
||||||
|
hlayout2.addChild(buttons4);
|
||||||
|
hlayout2.addChild(new HSpacer());
|
||||||
|
|
||||||
|
WidgetGroup buttons5 = new VerticalLayout();
|
||||||
|
buttons5.addChild(new TextWidget(null, "ImageTextButtons"d));
|
||||||
|
buttons5.addChild(new ImageTextButton("btn1", "fileclose", "Close"d));
|
||||||
|
buttons5.addChild(new ImageTextButton("btn2", "fileopen", "Open"d));
|
||||||
|
buttons5.addChild(new ImageTextButton("btn3", "exit", "Exit"d));
|
||||||
|
hlayout2.addChild(buttons5);
|
||||||
|
|
||||||
|
|
||||||
|
layout3.addChild(hlayout2);
|
||||||
|
|
||||||
|
layout3.addChild(new VSpacer());
|
||||||
|
layout3.layoutWidth(FILL_PARENT).layoutHeight(FILL_PARENT);
|
||||||
|
tabs.addTab(layout3, "Buttons"d);
|
||||||
|
}
|
||||||
tabs.addTab((new TextWidget()).id("tab4").textColor(0x00802000).text("Tab 4 contents some long string"), "Tab 4"d);
|
tabs.addTab((new TextWidget()).id("tab4").textColor(0x00802000).text("Tab 4 contents some long string"), "Tab 4"d);
|
||||||
tabs.addTab((new TextWidget()).id("tab5").textColor(0x00802000).text("Tab 5 contents"), "Tab 5"d);
|
tabs.addTab((new TextWidget()).id("tab5").textColor(0x00802000).text("Tab 5 contents"), "Tab 5"d);
|
||||||
|
|
||||||
|
@ -201,7 +289,7 @@ extern (C) int UIAppMain(string[] args) {
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
tabs.selectTab("tab1");
|
tabs.selectTab("tab3");
|
||||||
|
|
||||||
contentLayout.addChild(tabs);
|
contentLayout.addChild(tabs);
|
||||||
window.mainWidget = contentLayout;
|
window.mainWidget = contentLayout;
|
||||||
|
|
|
@ -35,15 +35,21 @@ import dlangui.widgets.layouts;
|
||||||
/// 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 = "VSPACER";
|
||||||
}
|
}
|
||||||
|
//override void measure(int parentWidth, int parentHeight) {
|
||||||
|
// measuredContent(parentWidth, parentHeight, 8, 8);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 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 = "HSPACER";
|
||||||
}
|
}
|
||||||
|
//override void measure(int parentWidth, int parentHeight) {
|
||||||
|
// measuredContent(parentWidth, parentHeight, 8, 8);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// static text widget
|
/// static text widget
|
||||||
|
@ -291,6 +297,22 @@ class Button : Widget {
|
||||||
focusable = true;
|
focusable = true;
|
||||||
trackHover = true;
|
trackHover = true;
|
||||||
}
|
}
|
||||||
|
this(string ID, dstring label) {
|
||||||
|
super(ID);
|
||||||
|
_text = label;
|
||||||
|
styleId = "BUTTON";
|
||||||
|
clickable = true;
|
||||||
|
focusable = true;
|
||||||
|
trackHover = true;
|
||||||
|
}
|
||||||
|
this(string ID, string labelResourceId) {
|
||||||
|
super(ID);
|
||||||
|
_text = labelResourceId;
|
||||||
|
styleId = "BUTTON";
|
||||||
|
clickable = true;
|
||||||
|
focusable = true;
|
||||||
|
trackHover = true;
|
||||||
|
}
|
||||||
|
|
||||||
override void measure(int parentWidth, int parentHeight) {
|
override void measure(int parentWidth, int parentHeight) {
|
||||||
FontRef font = font();
|
FontRef font = font();
|
||||||
|
|
Loading…
Reference in New Issue