patch - editable GeckoEmbed subclass

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

patch - editable GeckoEmbed subclass

Robert Staudinger
Hi,

the attached patch introduces
  GeckoEdit -----|> GeckoEmbed
  Editor -----|> Browser
  geckoembed.Edit -----|> geckoembed.Embed

It's a bit more intrusive than I had hoped:
because of the gecko-embed/src dir layout (rather than
gecko-embed/gecko-embed) the public headers cannot easily include each
other. Therefore gecko-embed-private.h has been split out of
gecko-embed.h. The -private header is included from the subclass'
gecko-edit-private.h.

The editable subclass does not yet provide any methods but attached
you will find test samples that show it works. Python bindings are
updated to wrap the new class.

Ok to commit?

- Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gecko-edit.diff.gz
Type: application/x-gzip
Size: 7089 bytes
Desc: not available
Url : http://mailman.laptop.org/pipermail/sugar/attachments/20060729/94f68b97/gecko-edit.diff.gz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gecko-edit-test.c
Type: text/x-csrc
Size: 827 bytes
Desc: not available
Url : http://mailman.laptop.org/pipermail/sugar/attachments/20060729/94f68b97/gecko-edit-test.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gecko-embed-test.py
Type: text/x-python
Size: 274 bytes
Desc: not available
Url : http://mailman.laptop.org/pipermail/sugar/attachments/20060729/94f68b97/gecko-embed-test.py
Reply | Threaded
Open this post in threaded view
|

Re: patch - editable GeckoEmbed subclass

Marco Pesenti Gritti
Robert Staudinger wrote:

> Hi,
>
> the attached patch introduces
>  GeckoEdit -----|> GeckoEmbed
>  Editor -----|> Browser
>  geckoembed.Edit -----|> geckoembed.Embed
>
> It's a bit more intrusive than I had hoped:
> because of the gecko-embed/src dir layout (rather than
> gecko-embed/gecko-embed) the public headers cannot easily include each
> other. Therefore gecko-embed-private.h has been split out of
> gecko-embed.h. The -private header is included from the subclass'
> gecko-edit-private.h.
>
> The editable subclass does not yet provide any methods but attached
> you will find test samples that show it works. Python bindings are
> updated to wrap the new class.

Hey!

I didn't look in the patch/problem in detail yet but if changing the
directory layout make things simpler we could just change it... Thoughts?

Thanks,
Marco
Reply | Threaded
Open this post in threaded view
|

Re: patch - editable GeckoEmbed subclass

Robert Staudinger
On 7/29/06, Marco Pesenti Gritti <[hidden email]> wrote:
> Hey!
>
> I didn't look in the patch/problem in detail yet but if changing the
> directory layout make things simpler we could just change it... Thoughts?

Yeah, on a second thought I'd like to propose the following "refactorings":
+ Move to LGPL. Seems you are the only one credited so far so it
should be easy if it is ok for you. Maybe some day it should go into
the gnome platform and GPL is a problem for that ...
+ Rename src/ to gecko-embed/ as mentioned above, that would allow for
subclassing by library consumers (without hacks like conditional
includes in public headers, that is).
+ Rename GeckoEmbed to GeckoBrowser and geckoembed.Embed to
geckoembed.Browser. That would make more sense with a subclass called
GeckoEditor/geckoembed.Editor.
+ (not as important) rename gecko-embed.pc to gecko-embed-1.pc and
libgeckoembed.so to libgeckoembed-1.so so we are prepared for more
major versions if need be.

Would be great if we could do that now before there's a precious cvs
history to lose / manual intervention required.

Best,
Rob
Reply | Threaded
Open this post in threaded view
|

Re: patch - editable GeckoEmbed subclass

Marco Pesenti Gritti

>
> Yeah, on a second thought I'd like to propose the following
> "refactorings":
> + Move to LGPL. Seems you are the only one credited so far so it
> should be easy if it is ok for you. Maybe some day it should go into
> the gnome platform and GPL is a problem for that ...
> + Rename src/ to gecko-embed/ as mentioned above, that would allow for
> subclassing by library consumers (without hacks like conditional
> includes in public headers, that is).
> + Rename GeckoEmbed to GeckoBrowser and geckoembed.Embed to
> geckoembed.Browser. That would make more sense with a subclass called
> GeckoEditor/geckoembed.Editor.
> + (not as important) rename gecko-embed.pc to gecko-embed-1.pc and
> libgeckoembed.so to libgeckoembed-1.so so we are prepared for more
> major versions if need be.
>
> Would be great if we could do that now before there's a precious cvs
> history to lose / manual intervention required.

These all sounds good! Do you feel like making these changes in cvs (and
get the editor stuff in at the same time) ?

Thanks,
Marco
Reply | Threaded
Open this post in threaded view
|

Re: patch - editable GeckoEmbed subclass

Robert Staudinger
On 7/29/06, Marco Pesenti Gritti <[hidden email]> wrote:

>
> >
> > Yeah, on a second thought I'd like to propose the following
> > "refactorings":
> > + Move to LGPL. Seems you are the only one credited so far so it
> > should be easy if it is ok for you. Maybe some day it should go into
> > the gnome platform and GPL is a problem for that ...
> > + Rename src/ to gecko-embed/ as mentioned above, that would allow for
> > subclassing by library consumers (without hacks like conditional
> > includes in public headers, that is).
> > + Rename GeckoEmbed to GeckoBrowser and geckoembed.Embed to
> > geckoembed.Browser. That would make more sense with a subclass called
> > GeckoEditor/geckoembed.Editor.
> > + (not as important) rename gecko-embed.pc to gecko-embed-1.pc and
> > libgeckoembed.so to libgeckoembed-1.so so we are prepared for more
> > major versions if need be.
> >
> > Would be great if we could do that now before there's a precious cvs
> > history to lose / manual intervention required.
>
> These all sounds good! Do you feel like making these changes in cvs (and
> get the editor stuff in at the same time) ?

Done except for the relicensing. Galeon and epiphany heritage are
making that a bit more involved.

The OLPC's browser app will need fixing (geckoembed.Embed to
geckoembed.Browser).
Give me an accound and I'll do it ;-)

- Rob
Reply | Threaded
Open this post in threaded view
|

Re: patch - editable GeckoEmbed subclass

Marco Pesenti Gritti
Robert Staudinger wrote:

> On 7/29/06, Marco Pesenti Gritti <[hidden email]> wrote:
>>
>> >
>> > Yeah, on a second thought I'd like to propose the following
>> > "refactorings":
>> > + Move to LGPL. Seems you are the only one credited so far so it
>> > should be easy if it is ok for you. Maybe some day it should go into
>> > the gnome platform and GPL is a problem for that ...
>> > + Rename src/ to gecko-embed/ as mentioned above, that would allow for
>> > subclassing by library consumers (without hacks like conditional
>> > includes in public headers, that is).
>> > + Rename GeckoEmbed to GeckoBrowser and geckoembed.Embed to
>> > geckoembed.Browser. That would make more sense with a subclass called
>> > GeckoEditor/geckoembed.Editor.
>> > + (not as important) rename gecko-embed.pc to gecko-embed-1.pc and
>> > libgeckoembed.so to libgeckoembed-1.so so we are prepared for more
>> > major versions if need be.
>> >
>> > Would be great if we could do that now before there's a precious cvs
>> > history to lose / manual intervention required.
>>
>> These all sounds good! Do you feel like making these changes in cvs (and
>> get the editor stuff in at the same time) ?
>
> Done except for the relicensing. Galeon and epiphany heritage are
> making that a bit more involved.

Thanks! For dealing with the relicensing pain too...

> The OLPC's browser app will need fixing (geckoembed.Embed to
> geckoembed.Browser).
> Give me an accound and I'll do it ;-)

Sure, I sent you mail in private about this.

Marco
Reply | Threaded
Open this post in threaded view
|

Re: patch - editable GeckoEmbed subclass

Robert Staudinger
On 7/31/06, Marco Pesenti Gritti <[hidden email]> wrote:

[...]

> > Done except for the relicensing. Galeon and epiphany heritage are
> > making that a bit more involved.
>
> Thanks! For dealing with the relicensing pain too...
>
> > The OLPC's browser app will need fixing (geckoembed.Embed to
> > geckoembed.Browser).

Patch attached.
For those who didn't follow the thread: you will need this patch to
run the browser activity in a HEAD build.

Best,
Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: browser.diff
Type: text/x-patch
Size: 3040 bytes
Desc: not available
Url : http://mailman.laptop.org/pipermail/sugar/attachments/20060731/eae1d4cb/browser.bin
Reply | Threaded
Open this post in threaded view
|

Re: patch - editable GeckoEmbed subclass

Marco Pesenti Gritti
Robert Staudinger wrote:

> On 7/31/06, Marco Pesenti Gritti <[hidden email]> wrote:
>
> [...]
>
>> > Done except for the relicensing. Galeon and epiphany heritage are
>> > making that a bit more involved.
>>
>> Thanks! For dealing with the relicensing pain too...
>>
>> > The OLPC's browser app will need fixing (geckoembed.Embed to
>> > geckoembed.Browser).
>
> Patch attached.
> For those who didn't follow the thread: you will need this patch to
> run the browser activity in a HEAD build.

Yeah please go ahead and check it in now that you have an account...
(You will have conflicts since I already checked in a quick fix)

Thanks!
Marco