Logo Search packages:      
Sourcecode: inkscape version File versions

bool Inkscape::Extension::Extension::set_param_bool ( const gchar *  name,
bool  value,
SPReprDoc *  doc = NULL 
)

Sets a parameter identified by name with the boolean in the parameter value.

Returns:
The passed in value
Parameters:
name The name of the parameter to set
value The value to set the parameter to
doc The document to look in for document specific parameters
To get the parameter to be used the function param_shared is called. This function is inline so it shouldn't cause the stack to build or anything like that. If it can't find the parameter, it will throw and exception - we aren't catching that because we want the calling function to catch it.

Next up, the parameter that we got, we're making sure that it is a boolean parameter. If it isn't, then we throw a param_wrong_type exception.

Finally, if everything is okay, the boolean value that was passed in is placed in the param.

Definition at line 647 of file extension.cpp.

References PARAM_BOOL, param_shared(), parameters, Inkscape::Extension::Extension::param_switch_t::t_bool, Inkscape::Extension::Extension::param_t::type, and Inkscape::Extension::Extension::param_t::val.

{
    Extension::param_t * param;
      gchar * param_name;
    
    param = Extension::param_shared(name, parameters);

    if (param->type != Extension::PARAM_BOOL) {
        throw Extension::param_wrong_type();
    }

    param->val.t_bool = value;

      param_name = g_strdup_printf("%s.%s", id, name);
      prefs_set_int_attribute("extensions", param_name, value == TRUE ? 1 : 0);
      g_free(param_name);

    return value;
}


Generated by  Doxygen 1.6.0   Back to index