gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/edit_text_character.cpp ...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/edit_text_character.cpp ...
Date: Thu, 18 Oct 2007 09:07:18 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/10/18 09:07:18

Modified files:
        .              : ChangeLog 
        server         : edit_text_character.cpp edit_text_character.h 
        testsuite/actionscript.all: TextField.as 

Log message:
                * server/edit_text_character.{cpp,h}: add initial support for
                  TextField.selectable
                * testsuite/actionscript.all/TextField.as: update expected
                  results.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4626&r2=1.4627
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.cpp?cvsroot=gnash&r1=1.124&r2=1.125
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.h?cvsroot=gnash&r1=1.54&r2=1.55
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/TextField.as?cvsroot=gnash&r1=1.27&r2=1.28

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4626
retrieving revision 1.4627
diff -u -b -r1.4626 -r1.4627
--- ChangeLog   18 Oct 2007 09:06:24 -0000      1.4626
+++ ChangeLog   18 Oct 2007 09:07:17 -0000      1.4627
@@ -1,3 +1,10 @@
+2007-10-17 Sandro Santilli <address@hidden>
+
+       * server/edit_text_character.{cpp,h}: add initial support for
+         TextField.selectable
+       * testsuite/actionscript.all/TextField.as: update expected
+         results.
+
 2007-10-17 Bastiaan Jacques <address@hidden>
 
        * backend/render_handler_cairo.cpp: New Cairo implementation.

Index: server/edit_text_character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.cpp,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -b -r1.124 -r1.125
--- server/edit_text_character.cpp      17 Oct 2007 05:41:35 -0000      1.124
+++ server/edit_text_character.cpp      18 Oct 2007 09:07:18 -0000      1.125
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: edit_text_character.cpp,v 1.124 2007/10/17 05:41:35 strk Exp $ */
+/* $Id: edit_text_character.cpp,v 1.125 2007/10/18 09:07:18 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -86,6 +86,7 @@
 static as_value textfield_autoSize_getset(const fn_call& fn);
 static as_value textfield_wordWrap_getset(const fn_call& fn);
 static as_value textfield_html_getset(const fn_call& fn);
+static as_value textfield_selectable_getset(const fn_call& fn);
 
 
 //
@@ -339,6 +340,8 @@
        o.init_property("wordWrap", *getset, *getset);
        getset = new builtin_function(textfield_html_getset);
        o.init_property("html", *getset, *getset);
+       getset = new builtin_function(textfield_selectable_getset);
+       o.init_property("selectable", *getset, *getset);
 
        // Target seems to not be a normal property
        getset = new builtin_function(&character::target_getset, NULL);
@@ -416,6 +419,7 @@
        _embedFonts(m_def->getUseEmbeddedGlyphs()),
        _wordWrap(m_def->do_word_wrap()),
        _html(m_def->htmlAllowed()),
+       _selectable(!m_def->get_no_select()),
        _autoSize(autoSizeNone),
        _bounds(m_def->get_bounds().getRange())
 {
@@ -1951,6 +1955,23 @@
 }
 
 static as_value
+textfield_selectable_getset(const fn_call& fn)
+{
+       boost::intrusive_ptr<edit_text_character> ptr = 
ensureType<edit_text_character>(fn.this_ptr);
+
+       if ( fn.nargs == 0 ) // getter
+       {
+               return as_value(ptr->isSelectable());
+       }
+       else // setter
+       {
+               ptr->setSelectable( fn.arg(0).to_bool() );
+       }
+
+       return as_value();
+}
+
+static as_value
 textfield_autoSize_getset(const fn_call& fn)
 {
        boost::intrusive_ptr<edit_text_character> ptr = 
ensureType<edit_text_character>(fn.this_ptr);

Index: server/edit_text_character.h
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.h,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -b -r1.54 -r1.55
--- server/edit_text_character.h        17 Oct 2007 05:41:35 -0000      1.54
+++ server/edit_text_character.h        18 Oct 2007 09:07:18 -0000      1.55
@@ -70,7 +70,7 @@
 
        ~edit_text_character();
 
-       // TODO: should this return !m_def->get_no_select() ?
+       // TODO: should this return isSelectable() ?
        bool can_handle_mouse_event() const { return true; }
 
        character* get_topmost_mouse_entity(float x, float y);
@@ -258,6 +258,19 @@
                _html = on;
        }
 
+       /// Return true if the TextField text is selectable
+       bool isSelectable() const
+       {
+               return _selectable;
+       }
+
+       /// Set 'selectable' parameter
+       void setSelectable(bool v) 
+       {
+               _selectable = v;
+       }
+
+
 private:
 
        /// Call this function when willing to invoke the onChanged event 
handler
@@ -372,6 +385,8 @@
 
        bool _html;
 
+       bool _selectable;
+
        AutoSizeValue _autoSize;
 
        /// Area in which the text is drawn. 

Index: testsuite/actionscript.all/TextField.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/TextField.as,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- testsuite/actionscript.all/TextField.as     29 Sep 2007 16:22:58 -0000      
1.27
+++ testsuite/actionscript.all/TextField.as     18 Oct 2007 09:07:18 -0000      
1.28
@@ -19,7 +19,7 @@
 // compile this test case with Ming makeswf, and then
 // execute it like this gnash -1 -r 0 -v out.swf
 
-rcsid="$Id: TextField.as,v 1.27 2007/09/29 16:22:58 strk Exp $";
+rcsid="$Id: TextField.as,v 1.28 2007/10/18 09:07:18 strk Exp $";
 
 #include "check.as"
 
@@ -65,7 +65,7 @@
 check( !TextField.prototype.hasOwnProperty('password') );
 check( !TextField.prototype.hasOwnProperty('restrict') );
 check( !TextField.prototype.hasOwnProperty('scroll') );
-check( !TextField.prototype.hasOwnProperty('selectable') );
+xcheck( !TextField.prototype.hasOwnProperty('selectable') );
 check( !TextField.prototype.hasOwnProperty('text') );
 xcheck( !TextField.prototype.hasOwnProperty('textColor') );
 check( !TextField.prototype.hasOwnProperty('textHeight') );
@@ -134,7 +134,7 @@
 xcheck( TextField.prototype.hasOwnProperty('password') );
 xcheck( TextField.prototype.hasOwnProperty('restrict') );
 xcheck( TextField.prototype.hasOwnProperty('scroll') );
-xcheck( TextField.prototype.hasOwnProperty('selectable') );
+check( TextField.prototype.hasOwnProperty('selectable') );
 xcheck( TextField.prototype.hasOwnProperty('text') );
 check( TextField.prototype.hasOwnProperty('textColor') );
 xcheck( TextField.prototype.hasOwnProperty('textHeight') );
@@ -427,11 +427,13 @@
 
 // Check TextField.selectable
 
-xcheck_equals(typeof(tf.selectable), 'boolean');
+check_equals(typeof(tf.selectable), 'boolean');
 check( ! tf.hasOwnProperty('selectable') ); 
-xcheck_equals(tf.selectable, true);
+check_equals(tf.selectable, true);
 tf.selectable = false;
 check_equals(tf.selectable, false);
+tf.selectable = "Hello";
+check_equals(typeof(tf.selectable), 'boolean');
 tf.selectable = true;
 
 // Check TextField._soundbuftime




reply via email to

[Prev in Thread] Current Thread [Next in Thread]