[Gambas-user] Release of Gambas 1.9.25
Benoit Minisini
gambas at ...1...
Sat Feb 18 17:52:51 CET 2006
Banzai!
There are two new important components in this version:
* gb.image, that allows you to apply various effects on Image objects:
- Adjust brightness, contrast, intensity.
- Create gradients.
- Flatten.
- Fade.
- Make it gray.
- Desaturate.
- Threshold.
- Solarize.
- Normalize.
- Equalize.
- Invert.
- Emboss.
- Edge.
- Despeckle.
- Charcoal.
- OilPaint.
- Blur.
- Sharpen.
- Spread.
- Shade.
- Swirl.
- Wave.
- Noise.
- Implode.
This component shoule be compatible with gb.qt, gb.gtk, and any other
component that provide an image creator hook.
* gb.db.form, that provides some data bound controls, i.e. controls that can
display and edit database records automatically.
THIS DEVELOPMENT IS SPONSORED (AND PAYED (I hope so :-))) BY GNULINEX AND THE
SPANISH REGION OF EXTREMADURA.
To Daniel Campos:
* If you can send me a pretty logo of you for that...
* The component relies on TableView, and so cannot be used by gb.gtk at the
moment. Do you plan to make a TableView in gb.gtk?
* I couldn't go to Malaga, because of a bad flu.
IMPORTANT: This component is highly experimental yet!
To test it:
- Run the 'Database' example, and create a database named 'test', create the
tables with the button 'Create', and fill them with the 'Fill' button.
- Then, open the gb.db.form project in the source tree, and run it. You will
see... If you cannot connect, check the database connection parameters in the
Main module.
In a few words, here are the principle:
The DataSource control is a Container that is linked to a specific database
table. Each data control inside the DataSource are automatically linked to
it.
IMPORTANT: the table must have a primary key.
The DataBrowser control provides a little control panel to navigate through
the DataSource record, and a list of the records of the DataSource.
The DataControl is a control that allow to edit a specific field of the
current DataSource record.
The DataCombo is a control that allow to edit a field that is actually a key
of another table. Instead of displaying the key, its goal is to display
another field of the foreign table.
The DataView is a list view of all records inside a DataSource. It is used
internally by the DataBrowser.
Note that DataSource can be imbricated. Then, the inner DataSource is
constrained by the values of the primary key of the parent DataSource. This
is used in the gb.db.form project example.
Tell me what you think about that. There are many things to improve and debug
yet...
Otherwise, there are two important changes that can break your projects:
* The RENAME instruction was... renamed, as MOVE.
* The Load() method of Image, Picture and Drawing classes is now static, and
returns a newly created object.
Finally, here is the changelog:
--8<--------------------------------------------------------------------------
DEVELOPMENT ENVIRONMENT
* BUG: Translation of component names are used now.
* NEW: String[] properties are managed now.
* BUG: Selecting all controls on a form updates the property window
correctly now.
* BUG: Toolbox panels are intelligently sorted now.
* BUG: Big images are now stretched in the project treeview.
INTERPRETER
* NEW: The image and picture hooks syntax has changed.
* NEW: The image and picture API has been enhanced.
* NEW: _compare is a new special method used for comparing an object
with another during a sort.
* NEW: System.User now returns the same static object as the User class.
* NEW: String[].Join() now can take an extra optional argument that
is an escape string added to the beginning and the end of each
joined element.
* BUG: The event inheritance now works correctly with interpreted classes
* BUG: Calling a method on an anonymous reference now works correctly
if the called method does not always have the same number of arguments.
* NEW: Implementation of the new IS operator (see below).
* BUG: The Subst() instruction now interprets the '&&' sequence as a
single '&'.
* NEW: Path names now interprets the '~' character like the shell does.
* BUG: INPUT now works correctly with more than one argument.
* BUG: The debugger now prints string expressions without corrupting
memory anymore.
COMPILER
* NEW: The RENAME/AS instruction was replaced by the MOVE/TO instruction.
* NEW: Class names are detected at compilation time now.
* BUG: When declaring several local variables on the same line, each one
can have its own initialization expression now.
* BUG: Internal subroutines, i.e. those that are associated with an
instruction, cannot be called directly anymore.
* NEW: The syntax '[]' now returns NULL.
* NEW: A new subroutine named Comp(), that compare two strings.
* NEW: IS is a new operator that returns if an object is an instance of
a specified class, or one of its child classes.
EVAL COMPONENT
* BUG: Now class names are displayed with the same color as datatypes.
DATABASE COMPONENT
* NEW: The Firebird driver was merged into the source tree.
* BUG: The current database is now correctly tracked, and cannot point
at an already freed object anymore.
* BUG: Connection.Version now correctly checks that the database is opened.
* NEW: Connection.Opened returns if a connection is opened.
* NEW: Connection.Limit() is a new method that makes the next SQL request
only return a specified number of rows. This method returns the connection
object, so that you can use the following syntax: DB.Limit(X).Exec(...)
The limit is reset to infinity once used.
* NEW: Information on how to limit the result of a SQL query is filled by
the open_database() driver function.
* BUG: Connection.Delete() does not leak memory anymore.
* NEW: Writing to a serial field is silently ignored now.
NETWORKING COMPONENT
* BUG: Now ServerSocket can accept more than five connections without
crashing anymore.
* NEW: ServerSocket is now enumerable, and returns each connected socket.
* NEW: ServerSocket.Count returns the number of connected sockets.
QT COMPONENT
* NEW: Image.Load() is now a static method that returns a newly created
image from a file.
* NEW: Picture.Load() is now a static method that returns a newly created
picture from a file.
* NEW: Drawing.Load() is now a static method that returns a newly created
drawing from a file.
* NEW: The Image constructor now takes an extra optional parameter that
indicates if the image has an alpha channel.
* NEW: Image.Transparent is a new property that indicates if an image has
an alpha channel.
* NEW: Image.Depth is read-only now.
* NEW: Label.Padding is a new property that represents the pixel padding
between the label border and the label text.
* BUG: The Label.AutoResize property was enabled again, but is now TRUE
by default.
* BUG: Image conversion methods were fixed.
GTK+ COMPONENT
* NEW: Image.Load() is now a static method that returns a newly created
image from a file.
* NEW: Picture.Load() is now a static method that returns a newly created
image from a file.
* BUG: The HSV/RGB color conversion method now use the same value range
than the QT component.
* BUG: Loaded images are automatically converted to a 32-bits per pixel
format.
* BUG: Image conversion methods were fixed.
PCRE COMPONENT
* BUG: The PCRE component should now compile with older versions of
libpcre.
IMAGE COMPONENT
* NEW: This is a new component for applying many various effects on images.
The effects source code was ported from the KDE libkdefx library, which
includes itself some ImageMagick algorithms, and from the KolourPaint
program.
DATABASE FORM COMPONENT
* NEW: This component implements data bound controls. It provides the
following new controls: DataSource, DataBrowser, DataView, DataControl
and DataCombo. It is highly experimental at the moment.
--8<--------------------------------------------------------------------------
Enjoy it!
--
Benoit Minisini
More information about the User
mailing list