[Gambas-devel] Gambas on Cygwin

Ron Onstenk ronstk at ...124...
Tue Jan 18 08:18:58 CET 2005


On Tuesday 18 January 2005 01:32, Brandon Bergren wrote:
| 

--8<---

> We must make a gb.form component that will be parent of gb.form.qt and
> gb.form.gtk. This gb.form component will include a API with all X11 dependent
> functions that will be used by gb.form.qt and gb.form.gtk. This way, things
> will be clearer and porting easier!

hu?????
A gb.form component for X11 functions in form? 
The X11 functions are in the qt component used for gb.qt and gb.qt.form.
The hierarchy is X11->qt->form and gb->X11->gtk->form
How could gb.form in gb.form->gb.qt.form handle the X11 functions
if qt talks direct to X11?
OK, you say make new gb.form.qt and gb.form.gtk but read on....

| 
| shouldn't gb.form be where the abstract windowing stuff be put? 
| What about when there's a (gag) MFC gui component?  BeAPI?  Aqua?  Cairo? 
| Allegro? (anyone want a dos port?  ;P )
| Think of how java.awt 
| works...  X11 is quite platform specific, really..
| Really, shouldn't it be more like
| 
| gb.form
|   gb.form.x11
|    gb.form.x11.qt
|    gb.form.x11.kde
|    gb.form.x11.gtk
|    gb.form.x11.motif
|    gb.form.x11.athena
|   gb.form.fox
|   gb.form.wx
|   gb.form.fltk
|   gb.form.be
|   gb.form.aqua
|   gb.form.mfc
|   gb.form.aalib
| 
| ?
| (not like all of these components would ever get written)
| 

This make a little sense in first view but how about the widgets?
These can be the x11-athena, x11-wx, x11-qt win-wx, win-qt or
even the x11-ftkl things.
Gambas can be a BASIC development environment to ftkl by using 
classes for every control that generate the ftkl scripts parts
or as interface component. Nice job to invent :)

A form is more or less also a widget, i.e. form in form, and in that way
you must make the gb.button.qt and gb.button.gtk too with a gb.button or
gb.<widget> and gb.<widget>.qt with gb.<widget>.gtk, easy porting ???

In fact the hierarchy is just opposite !

your suggestion         what it should be
| gb.form.x11         <- gb.x11.form
| gb.form.x11.qt      <- gb.x11.qt.form     <- gb.x11.qt.form
| gb.form.x11.gtk     <- gb.x11.gtk.form    <- gb.x11.gtk.form
| gb.button.x11.qt    <- gb.x11.qt.button   <- gb.x11.gtk.button
| gb.listbox.x11.qt   <- gb.x11.qt.listbox  <- gb.x11.gtk.listbox
| gb.<widget>.x11.qt  <- gb.x11.qt.<widget> <- gb.x11.gtk.<widget>
| gb.<widget>.win.qt  <- gb.win.qt.<widget> <- gb.win.gtk.<widget>
Here I add the x11. because it can be win. for windows and
is the parent for the widgets, need for porting to i.e. windows.

'x11.qt' or 'x11.gtk'  can be also 'win.qt', 'x11.wx', 'x11.fltk', 
'directfb' or 'ncurses'. 

| gb.form.directfb <- gb.directfb.form <- gb.directfb.form
| gb.form.ncurses  <- gb.ncurses.form  <- gb.ncurses.form
| gb.form.wx       <- gb.x11.wx.form   <- gb.win.wx.form
| gb.form.fltk     <- gb.x11.fltk.form <- gb.win.fltk.form



More information about the Devel mailing list