[Gambas-user] Release of gambas 1.9.41
Benoit Minisini
gambas at ...1...
Wed Aug 30 10:21:12 CEST 2006
Hi,
This release mainly brings:
- Experimental support for component developing in the IDE.
- Online help outside of the IDE.
- Updated GTK+ and SDL component.
===========
(1) Experimental support for component developing in the IDE.
All is in the project property dialog, that has been redesigned.
You have a check-box to tell the IDE that your project is actually a
component.
If you check it, two new tabs appears in the dialog.
The first one allows you to define the features provided by your component,
the second one the features required by your component.
The provided features are four specific options for global features (GUI form,
OpenGL Viewer, Image provider, Event loop) and a table describing the
exported classes of your project.
Don't care with the global features, as they can be implemented in C/C++ only.
I will remove them.
In the table, you must describe each class exported by the project:
- Their type.
- Their group.
The type of an exported class can be:
* Class: the exported class is just exported, that's all.
* Control: the class is a control, and will be visible in the IDE toolbox.
* Container: like Control, but this control can contain other controls.
* MultiContainer: like Container, but this control is like a TabStrip.
* Virtual: a virtual control has no visual appearence. Like Timer.
* Form: this is not supported yet. It will indicate that your component
implements a new kind of IDE form, and that class will be the class
associated with this new form kind. Only one one class can be of 'Form' type.
The class group is the name of the IDE toolbox sub-toolbar the control will be
put in. If the type of the control is 'Class' or 'Form', it will be void.
In the second tab, you must specify which global feature your component needs,
and list all required components.
For example, if you make new GUI controls, you can:
- Specifically make your component depends on gb.qt.
- Just tell that it needs the 'GUI form' global feature. In this case, gb.qt
or gb.gtk will be required. This will be useful when gb.gtk will be at the
same level than gb.qt. :-)
All this component description is stored in a hidden '.component' file in your
project directory.
When you create the executable, you will have an option to install the
generated component.
If you check it, symbolic links will be created inside ~/.gambas (~/.local in
the future) pointing at your project. Then you will be able to use your
project in the IDE as a new component, exactly like the other components
provided with Gambas.
But be careful, only your user account will have these components.
Please test this new experimental feature and tell me the problems you
encounter.
===========
(2) Online help outside of the IDE.
The old help browser has been removed. Now, when you request some help by
pressing F1, or F2 on a Gambas keyword or function, the online help opens in
an external browser.
The IDE choose the external browser by looking if you run KDE, Gnome, by
reading the contents of the $BROWSER environment variable, and by trying some
default executables otherwise.
I added a JavaScript treeview in the help, so that we have about the same
features as the old help. This treeview was made from the one developed by
Tobias Bender for http://www.phpxplorer.org.
Searching inside the help has not been implemented yet.
===========
(3) Updated GTK+ and SDL component.
The SDL event loop was temporarily fixed, so that Gambas timers can be used
without blocking the SDL event loop. The SDL timers cannot be used at the
moment, because as they are thread-based, they broke the interpreter each
time they raised an event.
The GTK+ got many changes too. The "garbage in image" problem has been fixed,
some properties has been implemented, many little details were fixed.
For more details, ask Laurent Carlier or Daniel Campos! :-)
Here is the main changelog:
-------------------------------------------------------------------------------
DEVELOPMENT ENVIRONMENT
* NEW: Support for developing component (experimental).
* NEW: The project property dialog has been redesigned.
* NEW: Component description is now part of the IDE source code to make
their translation easier.
* NEW: Support for components installed in ~/.gambas/lib.
* NEW: The Enabled property is now applied to controls in the form editor.
* NEW: New interface for defining project arguments.
* NEW: Custom project directory icon.
* NEW: The code editor is more clever when moving to a procedure.
* BUG: Auto-completion list is now always on front of the signature
tooltip.
* NEW: Internal help browser was removed and replaced by a call to an
external web browser automatically detected.
* NEW: The online help now uses a treeview written in JavaScript that was
adapted from http://phpXplorer.org.
* NEW: Project treeview drag & drop now opens the parent nodes
automatically when you keep the mouse cursor on them during a few time.
* NEW: Some optimization in component information refresh during a project
load.
* NEW: Stack size configuration is back.
EXAMPLES
* BUG: Console example was fixed. One should never use LINE INPUT to read
process output.
INTERPRETER
* NEW: Support for SDL event loop.
* NEW: The Insert() method of arrays now returns a reference on the array,
like the Sort() method.
* NEW: Component.UserPath returns the path where user components are
stored. At the moment, it is ~/.gambas/lib/gambas2, but it will surely
be moved to ~/.local/lib/gambas2.
* NEW: The Stream class got a Close() method.
* BUG: The interpreter release process at exit was fixed. It could crash
sometimes, depending on the use of _free() methods in your project.
* BUG: Regular expressions were fixed. The syntax '[A-Za-z]' is now
correctly supported.
GB.QT COMPONENT
* BUG: The arrangement routine now should work correctly with autoresize
containers. Toolbars should not disappear anymore in the IDE.
* BUG: Some fixes in drag & drop management.
* NEW: Drag.Pending is a new property that indicates that a drag is
pending.
* NEW: Draw.Width and Draw.Height return the dimension of the object being
painted.
* NEW: TabStrip tabs can be shown or hidden individually.
* BUG: The MoveLast() method was fixed in TreeView, ColumnView and
ListView.
* BUG: TreeView and ListView items got the same X, Y, Width and Height
properties than ColumnView items.
GB.DB COMPONENT
* BUG: ODBC driver fixes.
GB.GTK COMPONENT
* Updated.
GB.SDL COMPONENT
* Updated.
-------------------------------------------------------------------------------
Regards,
--
Benoit Minisini
More information about the User
mailing list