[Glade-devel] Property Binding: Fixing the big blocker



Am 22.11.2011 07:18, schrieb Denis Washington:
The other detail about the 'clear property' or 'invalidate property' semantics
is not entirely clear to me, I suppose one approach would be to fire a signal
on a GladeProperty when it is supposed to be cleared.

For instance...

    o the activatable editor goes ahead and clears
       a property which is actually a binding source (somewhere inside
       the command group which it declares)... possibly by calling
           glade_property_clear (property, use_command = TRUE);

    o Then the "clear" or "invalidate" signal is fired on the said GladeProperty
       with a 'use-command' parameter as TRUE

    o GladeProperty code would implicitly connect to the "invalidate" signal
       on it's set 'source property', when the property is cleared then the source
       property attribute can be unset undoably

    o Some specific GladeWidgets will be allowed to connect to an "invalidate"
       signal on a property of another GladeWidget, if ever more code is developed
       which needs to do an action at property invalidation time, this can be done
       by listening to this signal and without adding custom code to
glade-command.c

This sounds like a sensible approach (although I would really call it
glade_property_invalidate(), as this makes the intention and the
difference to "resetting" a property clearer). I could go ahead and
implement this and see how it works out.

Hi, I wanted to say that I just pulled 
glade_command_set_property_sensitive() out of the branch and just left 
GladeWidgetAdaptor::evaluate_property_sensitivity() there. Consequently, 
the branch is now named "evaluate-sensitivity".

I added a call to evaluate_property_sensitivity() to 
glade_property_set_value_impl(), and for the case that I ported so far 
(GtkEntry), this works perfectly.

As there is no need for it outside of the gbinding branch, I'll add 
glade_property_invalidate() to that branch directly. I guess I'll also 
rebase gbinding to the evaluate-property branch to make testing easier.

Regards,
Denis



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