Configuration
- BUG: The development environment and the database manager now compile
correctly when installing in a building directory.
- BUG: Now components that depends on X11 are always linked against the X11
libraries, and should be disabled correctly if X11 is not installed.
- BUG: Tried to fix the detection of QT Moc so that it just disables the
component, and does not abort.
- BUG: Tried to fix the detection of SDL version.
- BUG: Fix "gbc/Makefile.am:32: compiling `gb_error.c' with per-target
flags requires `AM_PROG_CC_C_O' in `configure.ac'" warning with GNU
automake 1.10.
- BUG: Fix compilation breakage introduce with 'AM_PROG_CC_C_O' macro with
automake 1.9.
Development Environment
- NEW: Converts old DateBox and TimeBox controls to ValueBox controls when
opening an old form.
- NEW: Highlights odd lines in the project list and example list in the
project open dialog.
- NEW: Japanese translation updated.
- NEW: Project view information balloon behaviour has been redesigned.
- NEW: Component constraints checking in the project property dialog is
more reliable. But maybe less practical.
- NEW: A button for swapping between gb.qt and gb.gtk in the project
property dialog. This is for testing, and will be removed in the future.
- NEW: The default open project dialog size is smaller.
- NEW: The ESC key should hide the find panel and the console everywhere.
- NEW: Editing an event handler from the form editor is more clever.
- NEW: Support for autotools packages building.
- NEW: Stock icons are not selectable if the gb.form component is not used.
- NEW: The method signature popup does not flicker anymore.
- NEW: An option to show or hide the project tree view balloons.
- BUG: Displays startup class icon in big sizes correctly.
- BUG: System icons are correctly stretched in the packager dialog.
- BUG: The version of newly created projects is 2.0 now.
- BUG: The console window remains opened after a debugging session if it
was opened before.
- BUG: Quotes correctly string properties in *.form files. Spurious
'non-terminated string' errors should have disappeared.
- BUG: Form editor now correctly reads string array properties with values
having a double quote inside.
- BUG: Tabulation characters in string properties are correctly parsed by
the form editor now.
- BUG: Removes the use of SpinBox.Suffix property.
- BUG: Changing the project components now correctly refreshes the property
sheet.
- BUG: No spurious property line in the property sheet anymore.
- BUG: The spinbox font is correctly refreshed in the property sheet now.
- BUG: Ensures that every node is expanded in the form hierarchy window.
- BUG: The welcome dialog now respects the system color settings.
- BUG: Fixes bug when making Debian packages if author's name was too long
- BUG: Packager menu and package group tree views are correctly expanded
again.
Database Manager
- NEW: CSV import can strip white spaces from data.
- BUG: CSV import is more robust and clever with field names.
- BUG: CSV import can read correctly field values with newlines characters
inside.
- BUG: The server create dialog for sqlite has been fixed.
- BUG: When importing a CSV file, the maximum number of columns is 1024.
This avoids a possible too long scanning.
- BUG: Table type combo-box is disabled in table creation dialog now when
it is useless.
Examples
- NEW: TextEdit example was updated.
- NEW: Examples that apparently work with gb.gtk now use gb.gtk. This is
for testing purpose.
- NEW: A new game example made by Jairo Alonso Badillo Bedoya, imported
from Gambas 1.0.
- NEW: Sensor example text shadow is nicer.
- NEW: A new PDFViewer example.
Wiki Cgi Script
- BUG: Displays Pointer datatype correctly.
Interpreter
- NEW: Support for old non-optimized archive format.
- NEW: When bytecode version is different, a warning is displayed instead
of raising an error. This will be removed at 2.0 release.
- NEW: A new component GB_INFO exported function that implements global
component properties. This function receives the name of the property,
and must return its value if it can.
- NEW: A new API function that allows a component to ask for the value of
a property. All loaded components are asked, until one returns the value.
- NEW: Application.Daemon is a new boolean property that "daemonize" the
current program when set to TRUE. Once the program is "daemonized", the
property cannot be set to FALSE.
- NEW: gbx2 -e <expression> is a new syntax that makes the interpreter
evaluate an expression, print it and exit.
- NEW: Array.Extract() is a new method that removes a part of an array and
returns it.
- BUG: Archive should be runnable outside of their directory.
- BUG: Correctly sets the first argument when the executed program is an
archive.
Compiler
- BUG: The compiler allocated a too small internal buffer for little forms,
and then crashed. This has been fixed.
GB.DEBUG
- NEW: The standard output of a debugged process is now flushed at each
end of line.
GB.DB
- NEW: The database API has changed, so that the query fill routine knows
the database version. All database drivers were updated.
- NEW: Connection.Error returns the error code of the last error raised by
the underlying database driver. All database drivers were modified to
implement this feature.
- BUG: The pseudo-driver gb.db.sqlite now works correctly again.
- BUG: Correctly frees the unused results of internal driver queries.
GB.DB.MYSQL
- BUG: Tables or fields with similar names are now correctly detected.
- BUG: Timestamp fields have changed since MySQL 4.1. This is taken into
account now.
GB.DB.SQLITE2
- BUG: Float fields do not lose decimal digits anymore.
- BUG: Memory leaks have been fixed.
GB.DB.SQLITE3
- BUG: Float fields do not lose decimal digits anymore.
- BUG: Memory leaks have been fixed.
GB.NET.CURL
- BUG: Fix an endless loop when a connect is stop before it's finished.
GB.NET.SMTP
- NEW: The subject now can be any UTF-8 string.
- NEW: The SMTP error code is now inserted in the error message returned by
the library.
- BUG: The library now sends CR+LF end of lines, and not just CR, as
specified in the RFC. Windows SMTP servers prefer!
- BUG: Fixed a memory leak.
GB.QT
- NEW: TextEdit now has a Link event that is raised when the user clicks on
a link. It works only if TextEdit is read-only.
- NEW: The TextEdit.Line property has been removed.
- NEW: GridView.Item.Clear has been implemented.
- NEW: Creates a directory for storing files shared with gb.qte, gb.qt.kde
and gb.gtk.
- NEW: ScrollView.Border is now a boolean property.
- NEW: SpinBox Prefix and Suffix properties have been removed. They don't
exist in GTK+, and they are not really useful.
- NEW: SpinBox.Text returns the spinbox value as a string.
- NEW: Menu.Name was implemented.
- NEW: Watcher now only handles Move, Resize, Show and Hide event. The
other events were move to the Container and Window classes. Use the
Observer class to replace the Watcher.
- NEW: Window got the Title and Icon event from the Watcher class.
- NEW: Container got the Insert event from the Watcher class.
- NEW: Deleting a TreeView, ListView or ColumnView item now always makes
the internal cursor unavailable.
- NEW: TreeView.Key does not change TreeView.Item anymore. And so on for
ListView and ColumnView.
- NEW: IconView got a new Cancel event that cannot be implemented at the
moment because of a missing feature in QT.
- NEW: IconView.Editable was implemented.
- NEW: IconView.GridHeight was removed, because this feature does not exist
in GTK+.
- NEW: IconView.WordWrap was removed, because of bugs in the GTK+
implementation of this feature. Word-wrapping is always activated now.
- NEW: GridView.AutoResize and ColumnView.AutoResize have been removed.
They are always TRUE by default.
- NEW: GridView.Data.Padding is a new property for defining the space
around the cell contents.
- NEW: UserControl has a new _AutoResize hidden property.
- NEW: Desktop.Find() has been moved to the gb.desktop component.
- NEW: TrayIcon[] has been implemented, as in gb.gtk.
- NEW: The ScrollView Scroll event was implemented.
- NEW: Color.Darker is a new method that returns a darker color.
- NEW: Color.Lighter is a new method that returns a lighter color.
- NEW: Color.Medium is a new method that returns the medium color between two.
- NEW: TabStrip headers now switch when the mouse wheel is used.
- NEW: CheckBox height now cannot be less that its check-box symbol height
or its font height.
- NEW: Image.Draw() has now the same syntax as Draw.Image().
- BUG: GridView.Rows.X and GridView.Columns.Y properties were swapped.
- BUG: Useless Window.Scale and Window.AutoResize properties were removed.
- BUG: Menu.Window is now a read-only property.
- BUG: TreeView.Item.Width now returns the correct value.
- BUG: The TabStrip.Index property now takes the hidden tabs into account.
- BUG: TabStrip[].Picture returns the correct tab picture now.
- BUG: The TreeView, ListView, ColumnView and IconView now correctly takes
the Ascending property into account. You do not have to manage it in the
Compare event handler anymore.
- BUG: Removed some spurious GotFocus events when the target control is not
visible.
- BUG: Removed useless Action property overrides.
- BUG: Color[].Alpha returns the Gambas color alpha component correctly.
- BUG: Picture.Fill() does not modify the picture mask anymore.
- BUG: Image.Rotate() angle is now in radian, not in degree anymore. And
the rotation is clockwise now.
- BUG: The rotation of a transparent image now gives a transparent image.
GB.GTK
- NEW: Application.Busy was implemented. It needs an hack in TextArea
implementation.
- NEW: Control.Reparent() now takes optional position arguments.
- NEW: Color.LightBackground was implemented.
- NEW: Dropped the replacement of GLib allocation routines by Gambas ones
completetly, as they lead to false leak warnings.
- NEW: Message boxes got some padding space.
- NEW: Menu class has been entirely implemented.
- NEW: Menus now automatically hide useless separators.
- NEW: Control properties declaration is shared with gb.qt.
- NEW: All TreeView, ListView and ColumnView interface has been
implemented, the sorting properties excepted.
- NEW: Message boxes, standard dialogs and modal windows are now kept above
the current active window.
- NEW: Working implementation of Window.Persistent and Window.Close.
- NEW: Label.Padding and TextLabel.Padding have been implemented.
- NEW: Disabled icons are drawn using the routine got from gb.qt.
- NEW: Control.Name has been implemented.
- NEW: TabStrip was entirely implemented.
- NEW: Arrangement management was fixed.
- NEW: SpinBox.Text returns the spinbox value as a string.
- NEW: ListBox Click event has been implemented.
- NEW: UserControl and UserContainer implementation have been fixed.
- NEW: Watcher now only handles Move, Resize, Show and Hide event. The
other events were move to the Container and Window classes. Use the
Observer class to replace the Watcher.
- NEW: Window got the Title and Icon event from the Watcher class.
- NEW: Container got the Insert event from the Watcher class.
- NEW: ScrollView.ScrollWidth and ScrollView.ScrollHeight were implemented.
- NEW: The Container.Find method has been implmented.
- NEW: The TextBox.SelectAll method was added.
- NEW: Container now raises the Arrange event.
- NEW: The expanded state of each TreeView or ColumnView node is now kept,
as in gb.qt.
- NEW: The background and foreground color management has been redesigned.
Control.Foreground and Control.Background now understand Color.Default.
- NEW: The HSplit and VSplit controls have been fixed.
- NEW: GridView.MoveTo() and GridView.Column[].Text have been implemented.
- NEW: Draw.Width, Draw.Height and Draw.Device have been implemented.
- NEW: Draw.Foreground and Draw.Background now understand Color.Default.
- NEW: Control.Lower() and Control.Raise() have been simplified.
- NEW: IconView was rewritten from scratch from the TreeView code.
- NEW: IconView GridX and GridY properties have been renamed to GridWidth
and GridHeight, and now are a multiple of Desktop.Scale.
- NEW: ComboBox Activate and Change events were implemented.
- NEW: Default and Cancel buttons were correctly implemented.
- NEW: Tray icons are now transparent.
- NEW: Window.Reparent has been implemented.
- NEW: Control Next and Previous properties have been implemented.
- NEW: An activated tree view item is now automatically expanded or
collapsed.
- NEW: Windows.Controls has been implemented.
- NEW: GridView.Data properties have been implemented.
- NEW: GridView.Data.Padding has replaced the XPad and YPad properties.
- NEW: The TextBox password char is now a big dot Unicode character.
- NEW: TreeView MouseDown and Menu events now behave like in gb.qt.
- NEW: ComboBox now behaves correctly. The selection properties are not
implemented yet.
- NEW: Some controls can have a minimum height. At the moment, only
ComboBox and Button-like controls have it.
- NEW: TextLabel.AutoResize has been implemented.
- NEW: The Window Activate and Deactivate events have been implemented, and
works almost the same way as in gb.qt.
- NEW: TextArea now works like in gb.qt.
- NEW: TextEdit has been implemented. It is not really useful at the
moment: HTML is not understood, and formatting properties have not been
implemented.
- NEW: TextBox and TextArea selection interface is now the same as in
gb.qt.
- NEW: UserControl has a new _AutoResize hidden property.
- NEW: GridView.Rows.Unselect has been implemented.
- NEW: Removed some specific GridView properties.
- NEW: SpinBox.SelectAll() has been implemented.
- NEW: The Window.TopLevel property has been implemented.
- NEW: Action properties were implemented.
- NEW: When a window opens without any focus control explicitely set, it
gives the focus to the first control in focus order. Button having
keyboard shortcuts are ignored.
- NEW: ToggleButton.Radio and ToolButton.Radio properties were implemented.
- NEW: Color.Darker is a new method that returns a darker color.
- NEW: Color.Lighter is a new method that returns a lighter color.
- NEW: Color.Medium is a new method that returns the medium color between two.
- NEW: Image.Rotate() was implemented.
- OPT: gPicture and gImage internal classes have been merged to minimize
the conversions between images stored in memory and images stored in the
X server.
- OPT: DrawingArea GTK+ double-buffering is now disabled when the Cached
property is set. This avoid an unneeded pixmap copy, and so doubles the
refresh speed.
- OPT: Some optimizations in GridView repaint algorithm.
- BUG: Control internals has been redesigned, so that the Border property
works the same way as in gb.qt.
- BUG: Picture cache now use the same key pattern than gb.qt, so that each
component can store its pictures independently.
- BUG: Newline characters are not ignored anymore in message boxes.
- BUG: An embedded window can have a menu bar.
- BUG: Control.SetFocus works even if the window is not yet realized.
- BUG: Font.Height() argument is optional now.
- BUG: Application.ActiveWindow and Application.MainWindow now return a
Window object.
- BUG: Draw.Text() now works correctly with any text argument.
- BUG: Application.ActiveControl now returns a Control object.
- BUG: Setting Control.Expand and Control.Ignore now update the arrangement
of the parent container.
- BUG: Setting a menu shortcut does not leak memory anymore.
- BUG: The ListBox.List property was incorrectly named "List[]".
- BUG: When a container is destroyed, or a parent menu, it removes any of
its references from its children. This avoid a crash when accessing an
already freed piece of memory.
- BUG: Message box buttons now correctly handle mnemonics.
- BUG: The Window class now raises the Open event correctly.
- BUG: The dialogs and message boxes now raise the modal window to the top.
- BUG: Dialog.Filter has been fixed.
- BUG: errno must be set to zero before using strtol().
- BUG: The Stock class now works correctly thanks to the previous fix.
- BUG: Dialog.SelectFont works correctly now.
- BUG: The font management has been redesigned. Everything works, except
classes like Button that needs specific management, underline and
strikethrough.
- BUG: Closing the main window now automatically closes all other windows.
- BUG: Setting ComboBox.List to NULL does not crash anymore.
- BUG: Frame container behaves correctly again.
- BUG: Panel, HBox, VBox, HPanel and VPanel now has no border by default.
- BUG: Tries to use standard cursors in the Mouse class.
- BUG: SpinBox MinValue and MaxValue properties work correctly now.
- BUG: Tried to handle TreeView Click event differently.
- BUG: Mouse.ScreenX and Mouse.ScreenY can be used outside of a mouse
event now.
- BUG: TreeView Move* methods now handle errors correctly.
- BUG: Font creation from string has been fixed.
- BUG: Control.ScreenX and Control.ScreenY were fixed.
- BUG: Control.Parent now returns a Container, not a Control.
- BUG: TextBox.Text now works correctly.
- BUG: Window.Close() argument is now taken into account.
- BUG: ScrollView.EnsureVisible() now works like in gb.qt.
- BUG: Dialog.Color returns the right value now.
- BUG: Font.ToString() has been fixed.
- BUG: Picture.Fill() and Image.Fill() have been fixed.
- BUG: Control.Reparent() declaration has been fixed.
- BUG: Drawing on a Picture object now works correctly.
- BUG: Window.Hide() does not enter an infinite loop anymore.
- BUG: Some fixes in TrayIcon.
- BUG: Dialog.OpenFile now behaves like in gb.qt.
- BUG: Many fixes in window management.
- BUG: The Mouse.Arrow constant was fixed.
- BUG: The HTML markup to Pango markup was redesigned from scratch.
- BUG: The HTML text in Label, TextLabel and Message class are now
correctly displayed.
- BUG: Label contents are not cut anymore when the Padding property is
greater than zero.
- BUG: Dialog.Filter can be NULL without crashing.
- BUG: gDesktop::rightToLeft() now returns true if the current language is
right-to-left written, and not the contrary!
- BUG: GridView.Header now behaves like its gb.qt equivalent.
- BUG: Many fixes in the GridView column resizing algorithm.
- BUG: GridView scrollbars are correctly updated now.
- BUG: Button.Font now works correctly.
- BUG: The arrangement algorithm now uses the container contents, and not
the full container dimensions.
- BUG: Key class has been fixed. But input contexts are not managed yet.
- BUG: Some fixes in the Splitter control implementation.
- BUG: TextArea and ComboBox now raise correctly key events.
- BUG: TabStrip and other possible multi-containers will work correctly
now.
- BUG: TextBox Change event now behaves like the gb.qt one.
- BUG: Some fixes in the management of embedded Window controls.
- BUG: ComboBox has been fixed.
- BUG: Many fixes in GridView. Row selection now works almost as in gb.qt.
- BUG: Destroying the same menu twice is now impossible.
- BUG: The Image.Depth property is now read-only.
- BUG: GridView.EnsureVisible has been fixed.
- BUG: Control.Visible now behaves the same way as in gb.qt. It returns if
a control is not explicitely hidden.
- BUG: GridView selection behaviour has been fixed.
- BUG: ClientWidth and ClientHeight properties now force the container to
update its layout, so that the return values are correct.
- BUG: Window does not raise Move or Resize events anymore before the Open
event has been raised.
- BUG: The background of void GridView cells is drawn correctly now.
- BUG: Embedded Window now raises the Close event correctly.
- BUG: SpinBox.MinValue and SpinBox.MaxValue work correctly now.
- BUG: Busy cursor works correctly on SpinBox and TextArea controls.
- BUG: UserControl and UserContainer are not creatable anymore.
- BUG: Fix gPicture::setPixel() and gPicture::getPixel() so that
transparency is correctly taken into account.
- BUG: Desktop.Scale now returns the correct value (half of the default
font height).
- BUG: Fixed a potential memory corruption in the initialization of
pictures with alpha mask.
- BUG: Windows.Controls interface is correctly declared.
- BUG: Now GDK_IS_DRAWABLE() macro is used in all gdraw.cpp drawing methods
to check if 'dr' is a real drawable, avoiding some warning messages from
GDK.
- BUG: Fixed the management of alpha channel in 'put pixel' method of Image
class. It was mixed with the blue channel
- BUG: Fixed a possible segmentation fault in 'get pixel' method for images
without alpha channel.
- BUG: Desktop.Grab() and Control.Grab() methods work correctly now.
- BUG: Draw.Ellipse() does not draw an ellipse one pixel too large and too
high anymore.
- BUG: The picture and image hooks were fixed.
GB.OPENGL
- NEW: Remove all Gl.GetXXX, back to the default openGL behaviour, use
Gl.GetIntegerv(), Gl.GetBooleanv(), GL.GetFloatv() with an optional size
parameter, useful if the requested constant value is unknown (perhaps
will be removed later).
- BUG: Update copyrights.
- BUG: Fixed GlPolygonStipple() support.
- NEW: Dependencies on X11/GLX added. They will become optional as openGL
is ported to other os/platform.
GB.DESKTOP
- NEW: This component now is written in C with a Gambas part.
- NEW: Desktop.Find() method was moved in this component.
GB.FORM
- NEW: Balloon.Visible is a new property that tells if the Balloon is
visible.
- NEW: This component requires any GUI component now, not just gb.qt.
- NEW: The component was updated because of the changes in Watcher.
- NEW: The DateChooser control now uses a disabled color computed from the
default foreground color.
- NEW: Disabled wizard steps are ignored now.
- BUG: Setting the DirChooser or FileChooser SelectedPath property now
should select the correct bookmark.
GB.FORM.MDI
- NEW: The MDI tabstrip got a menu that allows to select the current MDI
tab.
- NEW: A menu entry in the Workspace popup menu that closes the current
tab.
GB.FORM.DIALOG
- NEW: This reimplementation of the Dialog class was removed from the
gb.form component and put in this new component. This way, you can use
the gb.form component and keep the default standard dialogs.
GB.DB.FORM
- BUG: DataCombo is now correctly refreshed when its Display property
is set.
GB.WEB
- NEW: Application.Root now has no trailing slash, unless it is "/".
- NEW: Request.InternetExplorer is a new property that returns the version
of the Internet Explorer client, or 0 if the client is hopefully not
Internet Explorer.
- NEW: Session.Id is writable. It allows you to use any current session,
provided it exists.
- NEW: Session timeout is now stored in the session file.
- NEW: CGI.FormatDate() is a new method to format a date as specified in
the RFC 822.
- BUG: The Request class now resists against query fields with void names.
- BUG: The Request class now does nothins when the request method is
unknown. It does not assume a POST method by default.
GB.XML.RPC
- BUG: This component requires gb.xml now.
|