[Top][All Lists]
[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