canvas.gui: tweak label size hints and text color.
This commit is contained in:
parent
ca96c27ab2
commit
4b00bb3067
4 changed files with 30 additions and 17 deletions
|
@ -122,7 +122,11 @@ gui.Widget = {
|
||||||
},
|
},
|
||||||
# protected:
|
# protected:
|
||||||
_MAX_SIZE: 32768, # size for "no size-limit"
|
_MAX_SIZE: 32768, # size for "no size-limit"
|
||||||
_onStateChange: func {},
|
_onStateChange: func
|
||||||
|
{
|
||||||
|
if( me._view != nil and me._view.update != nil )
|
||||||
|
me._view.update(me);
|
||||||
|
},
|
||||||
_setView: func(view)
|
_setView: func(view)
|
||||||
{
|
{
|
||||||
me._view = view;
|
me._view = view;
|
||||||
|
|
|
@ -117,7 +117,7 @@ var MessageBox = {
|
||||||
|
|
||||||
vbox.addSpacing(MARGIN);
|
vbox.addSpacing(MARGIN);
|
||||||
|
|
||||||
var w = vbox.sizeHint()[0];
|
var w = math.max(300, vbox.sizeHint()[0]);
|
||||||
dlg.setSize(w, math.max(130, vbox.heightForWidth(w)));
|
dlg.setSize(w, math.max(130, vbox.heightForWidth(w)));
|
||||||
|
|
||||||
return me;
|
return me;
|
||||||
|
|
|
@ -203,22 +203,28 @@ DefaultStyle.widgets.label = {
|
||||||
}
|
}
|
||||||
|
|
||||||
me._createElement("text", "text")
|
me._createElement("text", "text")
|
||||||
.set("text", text)
|
.set("text", text);
|
||||||
.set("fill", "black");
|
|
||||||
|
var hfw_func = nil;
|
||||||
|
var min_width = me._text.maxWidth() + 4;
|
||||||
|
var width_hint = min_width;
|
||||||
|
|
||||||
if( model._cfg.get("wordWrap", 0) )
|
if( model._cfg.get("wordWrap", 0) )
|
||||||
{
|
{
|
||||||
var m = me;
|
var m = me;
|
||||||
model.setHeightForWidthFunc(func(w) m.heightForWidth(w));
|
hfw_func = func(w) m.heightForWidth(w);
|
||||||
}
|
min_width = math.min(32, min_width);
|
||||||
else
|
|
||||||
{
|
# prefer approximately quadratic text blocks
|
||||||
var min_width = me._text.maxWidth() + 4;
|
if( width_hint > 24 )
|
||||||
model.setMinimumSize([min_width, 14]);
|
width_hint = int(math.sqrt(width_hint * 24));
|
||||||
model.setSizeHint([min_width, 24]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return me;
|
model.setHeightForWidthFunc(hfw_func);
|
||||||
|
model.setMinimumSize([min_width, 14]);
|
||||||
|
model.setSizeHint([width_hint, 24]);
|
||||||
|
|
||||||
|
return me.update(model);
|
||||||
},
|
},
|
||||||
setImage: func(model, img)
|
setImage: func(model, img)
|
||||||
{
|
{
|
||||||
|
@ -250,6 +256,14 @@ DefaultStyle.widgets.label = {
|
||||||
|
|
||||||
return math.max(14, me._text.heightForWidth(w - 4));
|
return math.max(14, me._text.heightForWidth(w - 4));
|
||||||
},
|
},
|
||||||
|
update: func(model)
|
||||||
|
{
|
||||||
|
if( me['_text'] != nil )
|
||||||
|
{
|
||||||
|
var color_name = model._windowFocus() ? "fg_color" : "backdrop_fg_color";
|
||||||
|
me._text.set("fill", me._style.getColor(color_name));
|
||||||
|
}
|
||||||
|
},
|
||||||
# protected:
|
# protected:
|
||||||
_createElement: func(name, type)
|
_createElement: func(name, type)
|
||||||
{
|
{
|
||||||
|
|
|
@ -54,11 +54,6 @@ gui.widgets.Button = {
|
||||||
return me;
|
return me;
|
||||||
},
|
},
|
||||||
# protected:
|
# protected:
|
||||||
_onStateChange: func
|
|
||||||
{
|
|
||||||
if( me._view != nil )
|
|
||||||
me._view.update(me);
|
|
||||||
},
|
|
||||||
_setView: func(view)
|
_setView: func(view)
|
||||||
{
|
{
|
||||||
var el = view._root;
|
var el = view._root;
|
||||||
|
|
Loading…
Add table
Reference in a new issue