canvas.gui: ensure all LineEdit/ScrollArea methods are chainable.
This commit is contained in:
parent
d9e9a65909
commit
7b279f1fd7
2 changed files with 17 additions and 6 deletions
|
@ -26,6 +26,8 @@ gui.widgets.LineEdit = {
|
|||
|
||||
if( me._view != nil )
|
||||
me._view.setText(me, me._text);
|
||||
|
||||
return me;
|
||||
},
|
||||
text: func()
|
||||
{
|
||||
|
@ -36,10 +38,11 @@ gui.widgets.LineEdit = {
|
|||
me._max_length = len;
|
||||
|
||||
if( utf8.size(me._text) <= len )
|
||||
return;
|
||||
return me;
|
||||
|
||||
me._text = utf8.substr(me._text, 0, me._max_length);
|
||||
me.moveCursor(me._cursor);
|
||||
return me;
|
||||
},
|
||||
moveCursor: func(pos, mark = 0)
|
||||
{
|
||||
|
@ -50,6 +53,7 @@ gui.widgets.LineEdit = {
|
|||
me._selection_end = me._cursor;
|
||||
|
||||
me._onStateChange();
|
||||
return me;
|
||||
},
|
||||
home: func()
|
||||
{
|
||||
|
@ -79,6 +83,8 @@ gui.widgets.LineEdit = {
|
|||
|
||||
if( me._view != nil )
|
||||
me._view.setText(me, me._text);
|
||||
|
||||
return me;
|
||||
},
|
||||
paste: func(mode = nil)
|
||||
{
|
||||
|
@ -88,7 +94,7 @@ gui.widgets.LineEdit = {
|
|||
removeSelection: func()
|
||||
{
|
||||
if( me._selection_start == me._selection_end )
|
||||
return;
|
||||
return me;
|
||||
|
||||
me._text = utf8.substr(me._text, 0, me._selection_start)
|
||||
~ utf8.substr(me._text, me._selection_end);
|
||||
|
@ -98,6 +104,8 @@ gui.widgets.LineEdit = {
|
|||
|
||||
if( me._view != nil )
|
||||
me._view.setText(me, me._text);
|
||||
|
||||
return me;
|
||||
},
|
||||
# Remove selection or if nothing is selected the character before the cursor
|
||||
backspace: func()
|
||||
|
@ -106,12 +114,13 @@ gui.widgets.LineEdit = {
|
|||
{
|
||||
if( me._selection_start == 0 )
|
||||
# Before first character...
|
||||
return;
|
||||
return me;
|
||||
|
||||
me._selection_start -= 1;
|
||||
}
|
||||
|
||||
me.removeSelection();
|
||||
return me;
|
||||
},
|
||||
# Remove selection or if nothing is selected the character after the cursor
|
||||
del: func()
|
||||
|
@ -120,12 +129,13 @@ gui.widgets.LineEdit = {
|
|||
{
|
||||
if( me._selection_end == utf8.size(me._text) )
|
||||
# After last character...
|
||||
return;
|
||||
return me;
|
||||
|
||||
me._selection_end += 1;
|
||||
}
|
||||
|
||||
me.removeSelection();
|
||||
return me;
|
||||
},
|
||||
# protected:
|
||||
_setView: func(view)
|
||||
|
|
|
@ -34,6 +34,7 @@ gui.widgets.ScrollArea = {
|
|||
if( size(arg) == 1 )
|
||||
var arg = arg[0];
|
||||
me._view.setColorBackground(arg);
|
||||
return me;
|
||||
},
|
||||
# Reset the size of the content area, e.g. on window resize.
|
||||
#
|
||||
|
@ -44,7 +45,7 @@ gui.widgets.ScrollArea = {
|
|||
var arg = arg[0];
|
||||
var (x,y) = arg;
|
||||
me._size = [x,y];
|
||||
me.update();
|
||||
return me.update();
|
||||
},
|
||||
# Move contents to the coordinates x,y (or as far as possible)
|
||||
#
|
||||
|
@ -55,7 +56,7 @@ gui.widgets.ScrollArea = {
|
|||
me._content_pos[0] = x;
|
||||
me._content_pos[1] = y;
|
||||
|
||||
me.update();
|
||||
return me.update();
|
||||
},
|
||||
# Move the scrollable area to the top-most position
|
||||
scrollToTop: func me.scrollTo( me._content_pos[0], 0 ),
|
||||
|
|
Loading…
Add table
Reference in a new issue