1
0
Fork 0

canvas.gui: ensure all LineEdit/ScrollArea methods are chainable.

This commit is contained in:
Thomas Geymayer 2014-11-23 23:35:26 +01:00
parent d9e9a65909
commit 7b279f1fd7
2 changed files with 17 additions and 6 deletions

View file

@ -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)

View file

@ -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 ),