canvas.gui: Tweak size hints and MessageBox size.
This commit is contained in:
parent
e091ff9c40
commit
351f67952c
2 changed files with 17 additions and 13 deletions
|
@ -45,8 +45,8 @@ var MessageBox = {
|
||||||
return me;
|
return me;
|
||||||
}
|
}
|
||||||
|
|
||||||
var MARGIN = 8; # TODO implement margin in C++ layouting code
|
var MARGIN = 12; # TODO implement margin in C++ layouting code
|
||||||
var dlg = canvas.Window.new([250,120], "dialog")
|
var dlg = canvas.Window.new([300,120], "dialog")
|
||||||
.setTitle(me._title);
|
.setTitle(me._title);
|
||||||
var root = dlg.getCanvas(1)
|
var root = dlg.getCanvas(1)
|
||||||
.set("background", style.getColor("bg_color"))
|
.set("background", style.getColor("bg_color"))
|
||||||
|
@ -57,6 +57,7 @@ var MessageBox = {
|
||||||
|
|
||||||
var text_box = HBoxLayout.new();
|
var text_box = HBoxLayout.new();
|
||||||
vbox.addItem(text_box);
|
vbox.addItem(text_box);
|
||||||
|
text_box.setSpacing(MARGIN);
|
||||||
|
|
||||||
text_box.addSpacing(MARGIN);
|
text_box.addSpacing(MARGIN);
|
||||||
|
|
||||||
|
@ -116,6 +117,9 @@ var MessageBox = {
|
||||||
|
|
||||||
vbox.addSpacing(MARGIN);
|
vbox.addSpacing(MARGIN);
|
||||||
|
|
||||||
|
var w = vbox.sizeHint()[0];
|
||||||
|
dlg.setSize(w, math.max(130, vbox.heightForWidth(w)));
|
||||||
|
|
||||||
return me;
|
return me;
|
||||||
},
|
},
|
||||||
show: func(title, text, icon = nil, cb = nil, buttons = nil)
|
show: func(title, text, icon = nil, cb = nil, buttons = nil)
|
||||||
|
|
|
@ -51,9 +51,9 @@ DefaultStyle.widgets.button = {
|
||||||
{
|
{
|
||||||
me._label.set("text", text);
|
me._label.set("text", text);
|
||||||
|
|
||||||
# TODO get real font metrics
|
var min_width = math.max(80, me._label.maxWidth() + 16);
|
||||||
model.setMinimumSize([size(text) * 5 + 6, 16]);
|
model.setMinimumSize([min_width, 16]);
|
||||||
model.setSizeHint([size(text) * 8 + 16, 32]);
|
model.setSizeHint([min_width, 28]);
|
||||||
|
|
||||||
return me;
|
return me;
|
||||||
},
|
},
|
||||||
|
@ -123,8 +123,8 @@ DefaultStyle.widgets.checkbox = {
|
||||||
},
|
},
|
||||||
setSize: func(model, w, h)
|
setSize: func(model, w, h)
|
||||||
{
|
{
|
||||||
me._icon.setTranslation(0, (h - 18) / 2);
|
me._icon.setTranslation(0, int((h - 18) / 2));
|
||||||
me._label.setTranslation(20, h / 2);
|
me._label.setTranslation(24, int(h / 2) + 1);
|
||||||
|
|
||||||
return me;
|
return me;
|
||||||
},
|
},
|
||||||
|
@ -132,9 +132,9 @@ DefaultStyle.widgets.checkbox = {
|
||||||
{
|
{
|
||||||
me._label.set("text", text);
|
me._label.set("text", text);
|
||||||
|
|
||||||
var text_width = me._label.maxWidth();
|
var min_width = me._label.maxWidth() + 24;
|
||||||
model.setMinimumSize([text_width + 20, 18]);
|
model.setMinimumSize([min_width, 18]);
|
||||||
model.setSizeHint([text_width + 26, 24]);
|
model.setSizeHint([min_width, 24]);
|
||||||
|
|
||||||
return me;
|
return me;
|
||||||
},
|
},
|
||||||
|
@ -213,9 +213,9 @@ DefaultStyle.widgets.label = {
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
# TODO get real font metrics
|
var min_width = me._text.maxWidth() + 4;
|
||||||
model.setMinimumSize([size(text) * 5 + 4, 14]);
|
model.setMinimumSize([min_width, 14]);
|
||||||
model.setSizeHint([size(text) * 5 + 14, 24]);
|
model.setSizeHint([min_width, 24]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return me;
|
return me;
|
||||||
|
|
Loading…
Reference in a new issue