Added label benchmarking functionality and a menu bar
This commit is contained in:
parent
1faedb04a2
commit
0a6ddb689a
1 changed files with 39 additions and 0 deletions
|
@ -14,6 +14,21 @@ var WidgetsFactoryDialog = {
|
|||
#m.vbox.setContentsMargin(10);
|
||||
m.window.setLayout(m.vbox);
|
||||
|
||||
m.menubar = canvas.gui.widgets.MenuBar.new(m.root, canvas.style, {});
|
||||
m.menubar.setCanvasItem(m.root);
|
||||
m.menubar.createMenu("File")
|
||||
.createItem(text: "Quit", cb: func m.del(), shortcut: "<Ctrl>+Q");
|
||||
m.menubar.createMenu("Tabs")
|
||||
.createItem(text: "Select first tab", cb: func m.tabs.setCurrentTab("tab-1"))
|
||||
.createItem(text: "Select second tab", cb: func m.tabs.setCurrentTab("tab-2"));
|
||||
m.menubar.createMenu("Widgets")
|
||||
.createItem(text: "Benchmark label", cb: func {
|
||||
m.benchmark_widget(canvas.gui.widgets.Label, func(w, i) {
|
||||
w.setText("Label " ~ i);
|
||||
});
|
||||
});
|
||||
m.vbox.addItem(m.menubar);
|
||||
|
||||
m.tabs = gui.widgets.TabWidget.new(m.root, style, {});
|
||||
m.tabsContent = m.tabs.getContent();
|
||||
m.vbox.addItem(m.tabs);
|
||||
|
@ -101,6 +116,16 @@ var WidgetsFactoryDialog = {
|
|||
m.window.setSize(s[0] - 100, s[1] - 100);
|
||||
});
|
||||
m.tab_2.addItem(m.downsize_button, 5);
|
||||
|
||||
m.benchmark_tab = VBoxLayout.new();
|
||||
m.tabs.addTab("benchmark", "Benchmark", m.benchmark_tab);
|
||||
m.benchmark_tab_scroll = canvas.gui.widgets.ScrollArea.new(m.tabsContent, canvas.style, {});
|
||||
m.benchmark_tab_scroll_layout = VBoxLayout.new();
|
||||
m.benchmark_tab_scroll.setLayout(m.benchmark_tab_scroll_layout);
|
||||
m.benchmark_tab.addItem(m.benchmark_tab_scroll);
|
||||
m.benchmark_statistics = canvas.gui.widgets.Label.new(m.tabsContent, canvas.style, {});
|
||||
m.benchmark_statistics.setAlignment(canvas.AlignBottom);
|
||||
m.benchmark_tab.addItem(m.benchmark_statistics);
|
||||
|
||||
m.numericControlsTab = VBoxLayout.new();
|
||||
m.tabs.addTab("ncTab", "Numeric Controls", m.numericControlsTab);
|
||||
|
@ -114,6 +139,20 @@ var WidgetsFactoryDialog = {
|
|||
return m;
|
||||
},
|
||||
|
||||
benchmark_widget: func(widget, proc_func=nil, amount=50) {
|
||||
var start = systime();
|
||||
me.benchmark_tab_scroll_layout.clear();
|
||||
for (var i = 0; i < amount; i += 1) {
|
||||
var w = widget.new(me.benchmark_tab_scroll.getContent(), canvas.style, {});
|
||||
if (proc_func != nil) {
|
||||
proc_func(w, i);
|
||||
}
|
||||
me.benchmark_tab_scroll_layout.addItem(w);
|
||||
}
|
||||
var time = systime() - start;
|
||||
me.benchmark_statistics.setText("Took " ~ time ~ " seconds to add " ~ amount ~ " widgets.");
|
||||
},
|
||||
|
||||
del: func {
|
||||
me.property_checkbox.del();
|
||||
me.window.del();
|
||||
|
|
Loading…
Add table
Reference in a new issue