Re: wrapper patch: II




Mlacage@aol.com writes:
 > hi,
 > 
 > >   > 
 > >   > I want to support non inplace components.
 > >  
 > >      We basically need a way to tell a ViewFrame whether it is framing
 > >  an in-place or out-of-place component, as this is conspicuously
 > >  missing.  I propose that we add
 > >  
 > >      void     gnome_view_frame_set_in_place (GnomeViewFrame *frame,
 > >                                              gboolean in_place);
 > >  
 > >      gboolean gnome_view_frame_get_in_place (GnomeViewFrame *frame);
 > 
 > Why would the view_frame need to know whether it is in_place or not
 > ?

Because the view frame needs to tell the wrapper whether or not to
draw the border/etc.

 > The client_site knows if the embeddable is in_place or not. All we have to 
 > do is create gnome_client_site_get_in_place to reflect the state of 
 > shown_child
 > and use it in the gnome_view_frame anytime we need it.
 > I feel duplicating the information is not a good idea.

The ClientSite view creation functions are just convenience
functions; the entire in-place/out-of-place infrastructure was never
meant to be there.  It doesn't make sense to me to have the ViewFrame
not know whether it is serving an in-place or out-of-place View.

 > Well, i think this was it: 3 states:
 > - Non activated
 > - in_place activated
 > - non_in_place activated

In the out-of-place case, why even use GnomeWrapper?

 > >   > I think non inplace components should not have their 
 > >   > gnome_wrapper covered and they should be painted in grey.
 > >  
 > >      Yes, you're right.
 > >  
 > >   > and it would keep covered the gnome_wrapper and paint the 
 > >   > wrapper->window for non inplace components.
 > >  
 > >      For non-inplace components, you just want to leave the wrapper
 > >  uncovered at all times, and only do the CORBA stuff when
 > >  gnome_view_frame_activate is called (i.e. just call
 > >  GNOME::View::activate() and leave the wrapper alone).
 > 
 > Sorry,  I did not followed you there ...

My point is that the wrapper really shouldn't come into play for
non-inplace components.

 > >      Since I'm doing lots of changes to this code now anyways, I'll
 > >  just throw this in.  Thanks for the suggestion.  Of course, this is
 > >  going to break lots of the code which uses these APIs.
 > 
 > The patch I have sent in yesterday is source-compatible

Oh well, it's ok, I'm breaking the API anyways to fix up the control
situation.:-)

Best,
Nat



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