[Gambas-devel] desktop compatibilities problems using gb.form.xxx

Benoit Minisini gambas at ...1...
Mon Jul 23 20:34:24 CEST 2007


On lundi 23 juillet 2007, José Luis Redrejo wrote:
> 2007/7/23, Benoit Minisini <gambas at ...1...>:
> > On lundi 23 juillet 2007, José Luis Redrejo wrote:
> > > Hi, Benoît, there is a problem I've been following since some time ago,
> > > hoping to find an answer, but I've not been able.
> > > When compiling the whole gambas source tree,  and compiling gb.form,
> > > gb.form.dialog, etc. it's compiled using qt (or gtk in the testing svn
> > > version), then when using that component in the applications, if it's a
> >
> > gtk
> >
> > > app and gb.form is compiled with qt, or is a qt application and
> > > gb.formis compiled with gtk, you don't have a chance to solve it,
> > > unless you recompile gb.form.xx again. And for my own pc, that could be
> > > a minor problem, but if you want to distribute the application to many
> > > users...
> >
> > do
> >
> > > you have a solution for this problem, or have I some concept error and
> >
> > the
> >
> > > problem does not exist?
> > >
> > > Regards.
> > > José L.
> >
> > Actually the components used by a component project are only used when
> > running
> > it as a project. When used as a component, its dependencies are the one
> > specified in the component-specific tabs of the project property dialog.
> >
> > In other words, even if the gb.form project uses gb.qt, the
> > gb.formcomponent requirement are any GUI component (gb.qt, gb.qte, or
> > gb.gtk).
> >
> > The project dependencies are written in the .project file, and are
> > managed by
> > the IDE, not by the interpreter.
> >
> > The components loaded by a project are just what you see in the component
> > tab
> > of the project property dialog, and do not depend on the components used
> > by
> > the component project.
> >
> > I hope it was clear - it was difficult to explain that clearly in
> > english.
>
> almost clear ;-), let's see if I have understood it right:
>
> you mean that any of these components, as gb.form don't take into account
> if they were compiled with gb.qt or gb.gtk. So even if it has been compiled
> with qt, it will load without any problem in a qt-free pc, or viceversa
> with gtk. is it right?
>
> In that case, when building the packages for these compoentes, the
> dependencies will be gb.qt | gb.gtk , and I don't care how they were
> compiled.
>
> If that's the way it works, I only can say one word:
> Chapeau!

That's it. 

Formerly, components do not have hard dependencies on other components. 

They just have a file (*.component) that tells the IDE that if the user 
chooses it, then it must choose other components.

I will make a void component (maybe named "gb.gui") that will just load gb.qt 
or gb.gtk depending of which desktop is currently running. This way, an 
application using this component will use the QT library when run on KDE, and 
the GTK+ libraries when run on Gnome. Cool, isn't it ? :-)

Regards,

-- 
Benoit Minisini




More information about the Devel mailing list