gnash-commit
[Top][All Lists]
Advanced

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

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


From: Bastiaan Jacques
Subject: Re: [Gnash-commit] gnash ChangeLog server/edit_text_character.cpp
Date: Sat, 23 Sep 2006 23:24:34 +0200
User-agent: KMail/1.9.4

On Thursday 21 September 2006 15:55, Sandro Santilli wrote:
> CVSROOT:      /sources/gnash
> Module name:  gnash
> Changes by:   Sandro Santilli <strk>  06/09/21 13:55:41
>
> Modified files:
>       .              : ChangeLog
>       server         : edit_text_character.cpp
>
> Log message:
>       * server/edit_text_character.cpp (ctor): set textfield variable when
> available.
[snip]
> Index: server/edit_text_character.cpp
> ===================================================================
[snip]
>
>       m_dummy_style.push_back(fill_style());
>
> +     //
> +     // If this EditText definition contained a VariableName
> +     // member, handle it by adding the textfield_variable
> +     // to the appropriate sprite
> +     //
> +     const char* varname = m_def->get_variable_name().c_str();
> +     if ( *varname )

Style nit: you could save indenting a bunch by doing..

if ( ! *varname ) {
        reset_bounding_box(0, 0);
        return;
}

// add a text variable to the sprite

assert(dynamic_cast<sprite_instance*>(parent));
... et cetera

> +     {
> +             // add a text variable to the sprite
> +
> +             assert(dynamic_cast<sprite_instance*>(parent));
> +             sprite_instance* sprite = static_cast<sprite_instance*>(parent);
> +
> +             // If the variable name can contain path information,
> +             // in which case
> +             tu_string path, var;
> +             if ( as_environment::parse_path(varname, path, var) )
> +             {
> +                     // contains path info
> +                     character* tgt_char =
> sprite->get_environment().find_target(path);
> +                     assert(dynamic_cast<sprite_instance*>(tgt_char));
> +                     sprite = static_cast<sprite_instance*>(tgt_char);
> +                     varname = var.c_str();
> +             }
> +
> +             // check if the VariableName already has a value,
> +             // in that case update text value
> +             as_value val;
> +             if ( sprite->get_member(tu_stringi(varname), &val) )
> +             {
> +#ifdef DEBUG_DYNTEXT_VARIABLES
> +log_msg("target sprite (%p) does have a member named %s",
> (void*)sprite, varname); +#endif
> +                     set_text_value(val.to_string());
> +             }
> +#ifdef DEBUG_DYNTEXT_VARIABLES
> +             else
> +             {
> +log_msg("target sprite (%p) does NOT have a member named %s",
> (void*)sprite, varname); +            }
> +#endif
> +
> +             // add this text variable to the target sprite
> +             sprite->set_textfield_variable(varname, this);
> +
> +             log_warning("EditTextCharacter VariableName support TESTING");
> +
> +     }
> +
> +
>       reset_bounding_box(0, 0);
>  }
>

Bastiaan




reply via email to

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