ChangeLog
2.6.0 - 10 May 2008

Configuration

  • BUG: Search include files inside lib64 directories too. Hurra for the distributions that put non 64 bits specific files into a 64 bits specific directory!
  • NEW: Makes better configuration warning messages when detecting libintl and libiconv libraries.

Development Environment

  • BUG: The auto-completion of a child class now is correctly updated if its parent class is modified.
  • BUG: The auto-completion of children classes does not overflow the stack anymore.
  • BUG: Evaluating expressions in the output console works again.
  • BUG: Text editor does not flash anymore when being resized.
  • BUG: Correctly raise an error when making an executable fails for any reason.
  • BUG: Extract the property help better.
  • BUG: Fix the layout of the property sheet text edit dialog.
  • BUG: Splitting view in editor correctly updates the procedure combo-box now.
  • BUG: The menu editor does not crash anymore when all menus are deleted at once.
  • NEW: Add a search box in the output console toolbar.
  • NEW: Displays an error message if a project is not a Gambas 2 project.
  • NEW: Subversion conflicts support.
  • OPT: Do not set Project ColumnView AutoResize property to TRUE. Use a very wide column instead to optimize redrawing.

Interpreter

  • BUG: Symbol polymorphism is now correctly handled when the inheritance depth is greater than two!
  • BUG: INC and DEC now toggle boolean values.
  • BUG: Getting information on a not yet loaded class does not crash the debugger anymore.
  • BUG: Handle the evaluation of Eval() expressions the same way as any other code. Otherwise, stack can be leaked when there is an exception inside.
  • NEW: The foreign function interface is now optional.

Compiler

  • BUG: Adds many error messages when a compiler limit is reached: too many static symbols in a same class, too many dynamic symbols, too many functions, and so on.
  • BUG: Do not print error messages on unexpected strings with newline inside. Just claim that an unexpected string has been encountered.

GB.DB.SQLITE2

  • BUG: Reading floating point values and other values do not depend on the locale anymore.
  • NEW: Remove useless code.

GB.DB.SQLITE3

  • BUG: Reading floating point values and other values do not depend on the locale anymore.
  • NEW: Remove useless code.

GB.EVAL

  • BUG: Remove an apparently useless line of code that made the highlighter sometimes crash!
  • BUG: Evaluating "Error" does not crash anymore. It just raises an error.
  • BUG: Do not print error messages on unexpected strings with newline inside. Just claim that an unexpected string has been encountered.

GB.FORM

  • BUG: Correctly cancel a impossible rename operation in the DirView control.
  • NEW: Add a slider for setting the alpha color component.

GB.FORM.DIALOG

  • BUG: Standard dialogs now correctly react to double clicks.

GB.GTK

  • BUG: Void items are correctly handled by ComboBox without crashing now.
  • BUG: Windows cannot get focus anymore.
  • BUG: PictureBox.Alignment property now correctly deals with Align.Normal, Align.TopNormal, and Align.BottomNormal alignments.
  • BUG: Fix uninitialized variables in ggridview.cpp and gmainwindow.cpp.

GB.PDF

  • BUG: Compiles correctly against poppler 0.8 now.

GB.QT

  • BUG: Resizing a GridView column inside the ColumnResize event handler does not lead to a crash anymore.
  • BUG: Correctly update the PictureBox and DrawingArea background when the background color changes.
  • BUG: Clipboard.Copy() sends UTF-8 strings to the clipboard correctly now.
  • BUG: SpinBox.Text works correctly now.
  • BUG: PictureBox is correctly refreshed now when its contents change.
  • BUG: TabStrip[].Count now always returns the correct number of child controls in a tab.
  • NEW: Non resizable windows can be resized by the Move() or Resize() methods now.
  • OPT: The PictureBox control does not flicker anymore when its Picture property is changed.

GB.QT.EXT

  • BUG: Editor now correctly highlight its frame according to the focus change on styles that have use of that.
  • BUG: Editor correctly goes to the end of file when pressing CTRL+END. Consequently, SelectAll() works correctly too now.

GB.SETTINGS

  • BUG: Do not use Array datatype incorrectly anymore.
2.5.0 - 03 Apr 2008

Configuration

  • BUG: Support for X11 libraries not installed in the default library paths.
  • BUG: The config.h.in files were removed from the subversion repository.
  • BUG: Adds /usr/local/lib/include as include search path for libffi.

Development Environment

  • BUG: The busy cursor is now correctly reset in all cases when clearing the recent file history.
  • BUG: Importing a form now correctly associates the imported pictures.
  • BUG: The initial stack backtrace list width is correct now.
  • BUG: Fixed comment/uncomment so that they will work correctly if there is not a space after the comment mark
  • BUG: Fixed the name of tooltips and menu entries. Only the first letter is in upper case.
  • BUG: Fixes the generation of the list of last opened files.
  • BUG: Explicitely closes embedded forms in FMain, so that their settings are correctly written. See the source code comments for more details.
  • BUG: Use a relative font size in the workspace, toolbox and property sheet.
  • BUG: UTF-8 fixes in the code editor.
  • BUG: Help pages on special method are opened correctly now.
  • BUG: Breakpoint list is not filled with impossible breakpoints anymore.
  • BUG: The procedure combo-box now always displays the correct current procedure name.
  • BUG: In the file creation dialog, always select a filter if we click on the "existing" tab.
  • BUG: Compiler output is now correctly handled when some warning messages are printed.
  • BUG: Auto-completion and function signature are displayed at the right position now, when the editor has been split.
  • BUG: Saving the entire project does not reset the highlighting of the modified lines anymore.
  • NEW: The editor in the commit window has been enhanced. It has a little toolbar and displays the cursor position now.
  • NEW: Added split editor views.
  • NEW: Added buttons for Definition and Last Position to the editor toolbar.
  • NEW: Added additional hotkeys for Cut (Shift+Delete), Copy (CTRL+Insert) and Paste (Shift+Insert).
  • NEW: Added a textlabel to the bottom of the property window that displays help text for the selected property.
  • NEW: Added an option to preferences to disable integrated help.
  • NEW: Adds KIconEdit as image editor.
  • NEW: Copying a file automatically enters in rename mode.
  • NEW: Balloon file information were replaced by a standard dialog.
  • NEW: New icon for the TextEdit control.
  • NEW: CSS and HTML highlighting now use procedure separation.

Database Manager

  • BUG: Correctly manages editable GridViews when a row or a column is resized.

Examples

  • NEW: Spanish translation added/updated for all translatable projects.

Interpreter

  • BUG: NEW Observer(NULL) now raises an error, and does not crash anymore.
  • BUG: The binary and hexadecimal numbers with a '&' suffix are now correctly extended to a Long unsigned constant if needed.

Informer

  • BUG: Now gbi2 use native dlopen() functions instead of libltdl wrapper on OpenBSD.

GB.DB.FIREBIRD

  • BUG: Fixed building with gcc 4.3.

GB.EVAL

  • BUG: The long binary and hexadecimal numbers are correctly interpreted now.

GB.FORM

  • BUG: The SidePanel.Border works correctly now.
  • NEW: Spanish translation updated.
  • NEW: ChangeLog and README files are displayed with a text file icon in the FileView control.
  • NEW: The Space key now raises the Activate event in the DateChooser control.
  • NEW: The ColorChooser text box that display the hexadecimal value of the color is now editable.

GB.FORM.DIALOG

  • NEW: Spanish translation updated.

GB.FORM.MDI

  • NEW: Spanish translation updated.

GB.GB.FORM

  • NEW: Spanish translation updated.

GB.GTK

  • BUG: Correctly handles mouse button events in the GridView control.
  • BUG: Setting GridView.Rows.Count to zero does not make rows too small anymore.
  • BUG: Fix the Key.Enter keyboard constant value.
  • BUG: The AutoResize property of containers now takes the Padding property into account in all cases.
  • BUG: Watcher are correctly released when the watched object is destroyed.
  • BUG: Drawing on a null picture now raises an error.
  • BUG: ColumnView has no ColumnClick event anymore, as in gb.qt.
  • BUG: Splitter correctly handle the visibility of its children now.

GB.QT

  • BUG: As promised, the TreeView/ListView/ColumnView MoveAbove() and MoveBelow() methods were rewritten to behave exactly as in gb.gtk. This way, enumerating all items of a TreeView is just a loop with a call to MoveFirst() and many calls to MoveBelow().
  • BUG: The AutoResize property of containers now takes the Padding property into account in all cases.
  • BUG: A failing Image.Load() does not create a useless internal image anymore.
  • BUG: Fix automake warning. Should fix building when GNU/make isn't available.
  • BUG: Include path check for X11 include files.
  • BUG: Add x11 include path through GB_CHECK_XWINDOW macro.

GB.QT.EXT

  • BUG: Backport a fix from Gambas3 where sometimes the Editor scroll bars are not correctly updated.
  • BUG: Void lines are correctly highlighted in all cases now.

GB.SETTINGS

  • BUG: Settings.Read() and Settings.Write() now use the Window class of the specified control, not the TopLevel window, which may not necessarily exist anymore.
2.4.1 - 19 Mar 2008

Interpreter

  • NEW: A new interpreter option, "-k", that prevents shared library to be unloaded until the process terminates. That can be useful when debugging with valgrind.

GB.NET.SMTP

  • BUG: Fixes the Makefile.am file so that the component compiles if the glib library is installed in a non-standard directory.

GB.QTE.EXT

  • BUG: Fixes the gb.qte.ext.component file.
2.4.0 - 18 Mar 2008

Development Environment

  • BUG: Ensure that the property panel is correctly shown or hidden when the project is opened.
  • BUG: More space for displaying the project name in the project property dialog.
  • NEW: Tips' Spanish translation updated.

Interpreter

  • BUG: Mid$("", 0) returns an error now.

GB.FORM

  • BUG: ValueBox now reformats its contents after its Value property has been set.

GB.GTK

  • BUG: The default tray icon is the same as gb.qt now.
  • BUG: Using stock pictures work correctly again, and does not crash the interpreter anymore.
  • BUG: Fixes memory leaks with font and picture management, and in other places.
  • BUG: Composed keys are correctly handled again by KeyPress events.
  • BUG: Disable the management of input methods in TextBox and TextArea controls, so that the input methods are not disturbed. Consequently; SCIM and Bridged SCIM work again.
  • BUG: You can read keyboard events properties in a Form KeyPress or KeyRelease event handler correctly now.

GB.QT

  • BUG: Removed some memory leaks.
  • BUG: TrayIcon objects are correctly destroyed at program exit.
  • BUG: TrayIcon Width, Height, ScreenX and ScreenY properties do not crash anymore when the tray icon is hidden. They return zero instead.

GB.WEB

  • BUG: CGI.Decode() is more robust against malformed URLs.
2.3.0 - 13 Mar 2008

Configuration

  • BUG: Pass the -fsigned-char option to gcc so that gambas compiles on architectures where char is unsigned by default.
  • BUG: Add support for libffi through pkg-config when available.
  • NEW: Now GB_COMPONENT_PKG_CONFIG() macro accept an optional warning message.
  • NEW: The TODO file was removed. Only the TODO file in /trunk is valid.

Development Environment

  • BUG: Fixes the automatic completion when a line has non-ASCII characters inside.
  • BUG: Fixed the crash when choosing a non-default stack size.
  • BUG: Replace points by dash in the name of packages generated by the IDE packager.
  • BUG: The code editor method combo-box is correctly updated now.
  • NEW: Support to make Debian packages for native Gambas components
  • NEW: English and french tips were updated. A new tip was added.
  • NEW: Files that were opened at project close are automatically reopened when the project is loaded again.
  • NEW: Updated russian translation
  • NEW: Updated french translation
  • NEW: Automatic completion is automatically inserted in all cases when pressing one of the following keys: '.','(','[','!'.
  • NEW: Spanish translation updated.

Database Manager

  • NEW: Updated russian translation

Examples

  • BUG: Fixed the Gravity and the GameOfLife examples so that they do not use public form controls anymore.

Interpreter

  • BUG: Val() now ignores thousand separators characters at the end of the number.
  • NEW: Opening a device file in direct mode (FOR READ/WRITE) is now automatically non blocking.
  • OPT: Lof() now only tries its different methods (ioctl and lseek) once.

Informer

  • BUG: Closes opened shared libs on OpenBSD, otherwise size mismatch errors are raised on duplicated symbol names between components.

GB.DB.MYSQL

  • BUG: Automatically retries a query when the client has been disconnected from the server.

GB.DEBUG

  • BUG: The gb.debug component interface declaration was not 64-bits aware.

GB.EVAL

  • BUG: The Highlight.Purge() method now correctly deals with non-ASCII characters.

GB.FORM

  • BUG: TableView.Edit() does not raise a "read-only combo-box" error anymore.
  • NEW: The FileChooser bookmark list was redesigned.

GB.FORM.DIALOG

  • BUG: Dialog buttons now are never cut.

GB.GTK

  • BUG: Message boxes correctly display the text of their buttons now.
  • BUG: Cached drawing areas are correctly redrawn now.
  • BUG: Loading big images now works correctly. There is apparently a bug in the GTK+ image loader, and I found a workaround.
  • BUG: Removed the debugging messages.
  • BUG: The Font property management was fixed.
  • BUG: The icon text alignment was fixed in the IconView control.

GB.NET.CURL

  • BUG: Use pkg-config utility now.

GB.QT

  • BUG: Show() and Hide() methods are now strictly equivalent to the Visible property. This finally fixes the problem with the unability to insert an existing form into a project in the IDE.
  • BUG: The Open, and initial Move and Resize event of embedded forms are now always raised when you call the Show method or if you set the Visible property. Before, it was raised when the embedded form was actually shown.

GB.WEB

  • NEW: Application.Protocol is a new property that allows to tell the component that the protocol is not necessarily "http".

GB.XML

  • BUG: Fixes some linking problems.
  • BUG: Makes gb.xml.rpc install correctly.
2.2.1 - 24 Feb 2008

Interpreter

  • BUG: Extern functions work again.
2.2.0 - 23 Feb 2008

Configuration

  • BUG: Fixed some bugs in the configuration files.
  • BUG: Automatically search libraries in lib64 before searching in lib.

Interpreter

  • BUG: Val() now takes the thousand separator into account when this separator is a space character.
  • BUG: Really fixes the 'lib64' problem. Now components are searched in the 'lib64' directory on 64 bits OS. If they are not stored in 'lib64', then the default 'lib' directory is used.
  • BUG: Removed the 64 bits warning.

Informer

  • BUG: Really fixes the 'lib64' problem. Now components are searched in the 'lib64' directory on 64 bits OS. If they are not stored in 'lib64', then the default 'lib' directory is used.

GB.QT

  • BUG: Prevents a crash when a trayicon is destroyed or hidden during a trayicon event handler.
2.1.0 - 20 Feb 2008

Configuration

  • BUG: Try to detect correctly all X11 linking parameters.
  • BUG: Now configure is looking for libgettextlib.so instead of gettextlib.so
  • BUG: Update acinclude.m4 with libtool macro from libtool 1.5.24 one, this seem to fix some problems with configure script.
  • BUG: Add linking for gbx2 with libutil on OpenBSD.
  • BUG: gambas-database-manager was renamed to gambas2-database-manager, so that both gambas 1 and gambas 2 version can be installed on the same system.
  • BUG: The external gettext library is now used only on OpenBSD. If needed, other systems can be added of course.
  • BUG: OpenBSD, external function calling raise an error, as libffi isn't available.
  • NEW: Better message when the component cannot be built: it give what files were not found.
  • NEW: 64 bits port.
  • NEW: Gambas should compile on OpenBSD.
  • NEW: Removed the out-of-date README.FEDORA and README.REDHAT files.
  • NEW: Configuration is aborted if libffi library and headers are not installed.

Development Environment

  • BUG: Forgot to add the authors.txt file.
  • BUG: The completion and signature font sizes are now the default one.
  • BUG: Fix version requirements in packager.
  • BUG: Makes autotools packager independant of the Gambas version.
  • BUG: Don't use the release number if not specified in the autotools packager.
  • BUG: The autotools packager now use the compilation flags defined in the project properties
  • BUG: Breakpoint list is refreshed before starting a program now, so that it is accurate. And removing a breakpoint should not freeze anymore.
  • BUG: Do not show the project cleanup menu when the project is read-only.
  • BUG: Making a source archive of the project does not include subversion directories anymore.
  • BUG: Find is not forced to be global anymore when the find window is hidden.
  • BUG: Don't trim the find string, and consequently prevent the IDE from freezing when searching a string that contains only spaces.
  • BUG: Correctly checks the process state after a compilation to know if there was an error.
  • BUG: END SUB can be the end of a method. The class analyze now takes that into account.
  • BUG: Do not add gb.debug and gb.eval as dependencies when creating a package. These components are members of the default runtime package.
  • BUG: The packager now automatically removes void lines from project description to prevent bugs in package tools.
  • BUG: Selecting a text and pressing F2 is correctly handled now.
  • BUG: Making Debian packages now work if the project has capital letters in its name.
  • NEW: Add support for Basque language.
  • NEW: Spanish translation updated.
  • NEW: Better management of component projects. When the component project is installed in the user component directory, or uninstalled, the IDE and the toolbox are automatically refreshed.
  • NEW: The stack trace window was put on the right of the window.
  • NEW: Displays the selected control name permanently in the property sheet.
  • NEW: The packager can make packages for component projects. Ubuntu and Debian are not supported yet.
  • NEW: Prevents the packager to try to create the package inside the project directory.
  • NEW: Icon preview in the icon editor, hidden in a side panel.
  • NEW: Pressing F1 while a control is selected in the toolbox opens the help page of this control.
  • NEW: When a runtime error is raised during program startup, the program is now automatically stopped.
  • NEW: In the menu editor, a new menu is now inserted after the current menu and not before.

Wiki Cgi Script

  • BUG: The symbol pages work again, and inheritance between class belonging to different components now is taken into account correctly.
  • NEW: Some little cosmetic changes.

Examples

  • BUG: Fixed the AnalogWatch example.
  • BUG: Fix keypress handling in BeastScroll and 3DWebCam.
  • BUG: The Scripting example was fixed.
  • BUG: Fixed the MoviePlayer example.
  • BUG: Fixed the Clock example.
  • BUG: The Embedder example was updated according to the 64 bits changes.

Interpreter

  • BUG: Does not crash anymore if a component cannot be loaded.
  • BUG: Fixed the allocation of static arrays.
  • BUG: Array classes array accessors now correctly check the number of their argument when the array has just one dimension.
  • BUG: Fixed a possible spurious error when reading a file from an archive.
  • BUG: Uses the accurate method prototypes for Byte, Short and Single array classes.
  • BUG: Object.Attach() and Object.Detach() now correctly deals with Observer objects.
  • BUG: The gb.info file was wrong: Min() and Max() take only two arguments.
  • NEW: Pointer[] is a new class that represents an array of Pointer values.
  • NEW: The extern function implementation has been redesigned and is now based on libffi, so that it works on 64 bits system. Because of a flaw in the compiler design, projects that use the Pointer datatype must be recompiled to be used on a 64 bits system. This flaw will be fixed in Gambas 3.
  • NEW: Spanish translation updated.
  • NEW: A new interpreter API for returning a pointer.
  • NEW: New internal property in the Object class that returns the event name used by the last created object. This property is internal so that you don't use it in your code. It will become public in Gambas 3.
  • OPT: Put some tables into read-only memory. About 1000 bytes are saved for each running interpreter, except the first one.

Compiler

  • BUG: Correctly compiles LONG constants inside code.
  • NEW: When a form method declaration has no END keyword, the error message is now accurate. It does not talk about the form definition anymore.

Informer

  • BUG: Fixed the informer that was creating bad *.info files for native components.

GB.COMPRESS.ZLIB

  • BUG: Fixed the compilation on 64 bits OS.
  • BUG: 32 bits case and 64 bits case are now distinct.

GB.CORBA

  • NEW: Fixed some warnings.

GB.DB

  • BUG: Fixed many warnings and some 64 bits stuff in all database drivers.
  • NEW: Database driver can declare a set of character that are allowed in a database name.

GB.DB.FORM

  • BUG: Correctly manage data controls inside TabStrip-like containers.
  • BUG: Setting the focus on a non-initialized DataControl does not raise an error anymore.
  • NEW: DataControl raises the event of its internal editing control.

GB.DB.ODBC

  • BUG: Some 64 bits and warning fixes.

GB.DB.SQLITE2

  • NEW: '.' is allowed in database names now.

GB.DB.SQLITE3

  • BUG: Getting the primary index of a table without primary index is safe now.
  • NEW: '.' is allowed in database names now.

GB.DEBUG

  • BUG: Compiles gb.debug with threading library.
  • BUG: Debug.Write now does nothing if Debug.Start has not been called.
  • NEW: More explicit error messages when the creation of debugger fifos fails.

GB.DESKTOP

  • BUG: Try to make Xtst library detection work on Slackware.
  • BUG: All methods that deal with X11 Window identifiers now use Pointer and Pointer[] datatypes instead of Integer and Integer[].

GB.GTK

  • BUG: The TextBox cursor is now correctly moved after a Change event.
  • BUG: Message boxes now use the application title and not the application name as their title.
  • BUG: Message boxes use application title without crashing now.
  • BUG: Modified the GLib priority of watched descriptors, as the main loop could enter in a loop in which user interface events were not managed
  • BUG: Fixed the implementation of the Message class that was broken.
  • BUG: Fixed a crash in the Watcher class.
  • BUG: Fixed the Image.Flip() and Image.Mirror() methods.
  • BUG: Fixed a potential crash in timer management.
  • BUG: Keyboard, focus and mouse events now work correctly on Window and DrawingArea controls.
  • BUG: HSplitter.Layout and VSplitter.Layout now work correctly. It is a list of children widths, hidden children having a zero width.
  • BUG: Window arrangement is done before the Open event is raised, as in gb.qt.
  • BUG: The use of alternative input methods do not print warnings anymore.
  • BUG: The X and Y properties of the Window class now return the same values as gb.qt.
  • BUG: All methods that deal with X11 Window identifiers now use Pointer and Pointer[] datatypes instead of Integer and Integer[].
  • NEW: The GridView Select event was implemented.
  • NEW: Fixed some warnings.

GB.IMAGE

  • NEW: Fixed some warnings.

GB.NET

  • NEW: Fixes in Socket and ServerSocket for 32/64 bits compatibility.
  • NEW: Changes in UdpSocket for 32/64 bits compatibility.
  • NEW: Changes in SerialPort for 32/64 bits compatibility.

GB.NET.CURL

  • BUG: Now compiles without warnings and run on a 64 bits system.

GB.NET.SMTP

  • NEW: Fixed some warnings.

GB.OPENGL

  • BUG: Disable dead code.
  • BUG: Add missing support for Gl.Normal3fv(Float[]) and Gl.Normal3iv(Integer[]).

GB.PDF

  • NEW: Fixed some warnings.

GB.QT

  • BUG: Fix qt-moc detection on OpenBSD.
  • BUG: The DrawingArea control now should draw its border correctly without erasing its contents.
  • BUG: Many warning fixes.
  • BUG: Now the Control.Visible property works like in gb.gtk, i.e. it returns if the control was not explicitely hidden.
  • BUG: HSplitter.Layout and VSplitter.Layout now work correctly. It is a list of children widths, hidden children having a zero width.
  • BUG: All methods that deal with X11 Window identifiers now use Pointer and Pointer[] datatypes instead of Integer and Integer[].

GB.QT.EXT

  • BUG: TextEdit.TextWidth and TextEdit.TextHeight were not declared as read-only properties.

GB.QT.KDE

  • NEW: Fixed some warnings.

GB.SDL

  • NEW: Fixed some warnings.

GB.SDL.SOUND

  • NEW: Fixed some warnings.

GB.XML

  • NEW: Fixed some warnings.

GB.XML.XLST

  • NEW: Fixed some warnings.

GB.XML.XSLT

  • BUG: XSLT class is now declared as being not creatable.

Help

  • BUG: Fixed the generated treeview.
  • NEW: Help was updated.
2.0.0 - 2 Jan 2008

Configuration

  • NEW: Removed the out-of-date README.HOW-TO-PACKAGE-GAMBAS.html
  • NEW: The ./reconf script now uses autoreconf, so that the m4 directory is   automatically taken into account.

Development Environment

  • BUG: In the translation dialog, translations are sorted by completion correctly now.
  • BUG: Help pages should always be found correctly now.
  • NEW: In the form editor, "Select all" selects all children of the selected container now.
  • NEW: Japanese translation updated.
  • NEW: The breakpoint tab is now always visible.
  • NEW: The find list window uses the editor font to display matching text now.
  • NEW: The find list window was redesigned.
  • NEW: The find list now takes the find range into account.
  • NEW: The find list search can be cancelled now.
  • NEW: The find list cancel button becomes a close button when the search is not active.
  • NEW: Catalan translation updated.

Database Manager

  • NEW: Catalan translation updated.

Wiki Cgi Script

  • BUG: Search should work again.
  • NEW: Display "See Also" sections with just a title.
  • NEW: Catalan translation updated.

Examples

  • BUG: The HighlightEditor example highlighting routine now uses UTF-8 string methods.
  • NEW: PdfPresentation is a new OpenGL example based on the 3D OpenGL PDF presentation made by Laurent Carlier.
  • NEW: The Sensor example now remembers the position of its window.
  • NEW: Adds the Fabien's 3DWebCam project as new example.

Interpreter

  • BUG: Currency thousand separator is now taken into account.
  • BUG: When a locale does not have a thousand separator, a space is used, and the value is splitted each three digits. Maybe this is a bad idea that will be removed in the future.
  • NEW: Object.Class() now returns the true object class, not the class name. To get the class name, use Object.Type().
  • NEW: More work on OpenBSD port, it's not working yet due to linking problem but core looks like compiling fine without too much complains.

GB.DB

  • BUG: The spurious alone "WHERE" in generated SQL requests should be gone now.

GB.DB.FORM

  • NEW: Catalan translation updated.

GB.EVAL

  • NEW: The Gambas analyze functions were put in the gb.eval component, in the Highlight class. The rest of the class stays in gb.qt.ext.

GB.FORM

  • NEW: Catalan translation updated.

GB.FORM.MDI

  • NEW: Catalan translation updated.

GB.FORM.DIALOG

  • NEW: Catalan translation updated.

GB.GTK

  • BUG: The Persistent property behaviour was inversed for modal windows. This has been fixed.

GB.INFO

  • BUG: Correctly parse the inheritance tree of classes being in different components.

GB.PDF

  • BUG: PdfDocument.Count and PdfDocument[] do not crash anymore when the PDF is not loaded.

GB.QT

  • BUG: The position of window having a mask is correctly returned now.
  • BUG: Clicking on an item now always raises the Click event, as in gb.gtk.

GB.QT.EXT

  • NEW: The Gambas analyze functions were removed and put in gb.eval.
  • NEW: In the Editor class, selecting a word and moving the cursor word by word are now more clever. More precisely, it works now like in Kate.

GB.QT.OPENGL

  • BUG: GlArea control does not crash anymore at exit.
  • NEW: GlArea control can have focus and raise keyboard events now.

GB.SDL

  • BUG: KeyPressed and KeyReleased Window events were rename to KeyPress and KeyRelease for coherency with GUI components.
  • BUG: Add local macro for libsdl check. Should fix problems when sdl development files are not installed.

GB.SDL.SOUND

  • BUG: Add local macro for libsdl check. Should fix problems when sdl development files are not installed.

GB.WEB

  • BUG: Session now can deal with Long values correctly.

Help

  • NEW: Help update.
  • NEW: Updates javascript tree view images.
1.9.92 - 18 Dec 2007

Development Environment

  • BUG: Now autotools package is searching for local components too.
  • BUG: Do not crash anymore when closing the project property dialog if only used components are displayed.
  • BUG: Clearing the translation now correctly sets the number of translated strings to zero.
  • BUG: Importing the translation now correctly marks the translation as modified, so that it is saved automatically.
  • BUG: Do not crash anymore when creating the project directory icon, if the project icon cannot be loaded.
  • BUG: The project icon is correctly stretched when making the project directory icon.
  • BUG: Making RPM package of a project whose name includes some character in upper case should work now.
  • NEW: Japanese translation updated.
  • NEW: Translation dialog now remember the path of the last import and export.
  • NEW: Swedish translation updated.
  • NEW: Icons were modified to use the new Stock special sizes.
  • NEW: The icon selector allows to select the new Stock special sizes.
  • NEW: The height of the welcome dialog buttons is now proportional to the desktop font size.
  • NEW: Make option dialog and project property dialog kind with rtl languages.
  • NEW: Russian translation updated.
  • NEW: You can run an external shell command after the executable has been made now.
  • NEW: Pasted controls now are renamed by using their control name, and not their class name.
  • NEW: The image size is not rounded anymore when creating a new image file.
  • OPT: Examples menus are created only when shown.

Database Manager

  • NEW: Swedish translation updated.
  • NEW: Icons were modified to use the new Stock special sizes.
  • NEW: Russian translation.

Wiki Cgi Script

  • NEW: A new special keyword for redirecting links to symbol pages.

Examples

  • BUG: The Concent game example does not use public controls anymore, and so will be installed correctly.
  • BUG: The DeepSpace project has been fixed.

Interpreter

  • BUG: Reading Application properties when they are undefined does not crash anymore.
  • BUG: STOP EVENT now works correctly inside global event handlers like Application_Keypress.
  • BUG: A fix in the WAIT implementation.
  • BUG: Do not print circular references when aborting on error.
  • BUG: Printing backtrace will not crash the interpreter in some case anymore.
  • BUG: The internal SubCollection class used by the gb.db component has been redesigned to fix some crashes.
  • NEW: Observer objects can now catch events after they have been processed. An optional parameter in the constructor specifies if you need this behaviour.
  • NEW: If the GB_REVERSE environment variable is set, then the program will invert the language layout.
  • NEW: Subcollections got a Refresh() method that clears the hash table cache.
  • OPT: The internal function that calculates the length of an UTF-8 character has been optimized.

Compiler

  • BUG: Don't be stingy when allocating the parser buffer: just allocate the right size.

GB.DB

  • BUG: All special collections of this component now should be correctly managed and not crash the interpreter anymore: Connection.Databases, Table.Fields, Table.Indexes, Result.Fields...

GB.DB.FORM

  • BUG: A read-only DataCombo whose All property is set won't have a void item. The "all" item will be used instead.
  • BUG: The DataView selection should not disappear in some cases anymore.
  • NEW: Swedish translation updated.

GB.DB.MYSQL

  • BUG: Always set database client charset to UTF-8, as I have no function to convert system charset strings to mysql charset strings.

GB.DB.ODBC

  • BUG: Fixed a bug with NUMERIC fields.

GB.DESKTOP

  • NEW: Desktop.SendKeys is a new method for sending fake keyboard events to the application having the focus. The syntax will be documented in the wiki.

GB.EVAL

  • BUG: Don't be stingy when allocating the parser buffer: just allocate the right size.

GB.FORM

  • NEW: Swedish translation updated.
  • NEW: The Stock class got four new special sizes for icons: small, medium, large and huge. These sizes follow Desktop.Scale so that you can have icons that follow the desktop font size.
  • NEW: FontChooser.ShowLabel is a new propery for displaying or hiding the FontChooser labels.
  • NEW: The FontChooser design was slightly changed.
  • NEW: ListContainer.EnsureVisible is a new method that ensures that the selected item is visible.

GB.FORM.DIALOG

  • NEW: Swedish translation updated.

GB.FORM.MDI

  • BUG: Closing MDI child windows now should be definitely reliable, thanks to Observers now being able to catch events after they have been processed.
  • NEW: Swedish translation updated.

GB.GTK

  • BUG: gb.gtk now blocks in the main loop until there is any event to process. File watching routines modified
  • BUG: gtk_main_iteration() instead of gtk_main_iteration_do(true) avoids high CPU usage
  • BUG: The event loop does not use 100% cpu anymore. Apparently, deleting a GIOSource does not remove the associated event source from the event loop. A bug in GLib?
  • BUG: Some styles do not return default colors, some Color properies failed with segfault
  • BUG: Fixed a illegal memory access in the modal dialog event loop.
  • BUG: ComboBox.List and ListBox.List properties were fixed and won't crash anymore.
  • BUG: ComboBox.Text property was fixed.
  • BUG: Fixed the GridView behaviour when clicking on it and moving the cursor. It behaves like in gb.qt now.
  • BUG: The arrangement algorithm now should behave the same way as in gb.qt for containers whose AutoResize property is set. Other bugs may have been fixed consequently.
  • BUG: Sometimes the first markup of a rich text was not taken into account because of a GTK+ bug. A workaround has been found.
  • BUG: CheckBox and RadioButton Font property now works correctly.
  • BUG: Containers like ScrollView now arrange their contents after its inner container dimensions have been allocated.
  • BUG: DrawingArea.Tracking now works correctly when it is FALSE.
  • BUG: SpinBox does not raise its Change event if its value is set but does not actually change.
  • BUG: SpinBox Change event is not deferred anymore.
  • BUG: GridView.Data.Text works again.
  • BUG: TabStrip.Current works correctly now.
  • BUG: The support for the WAIT instruction has been fixed.
  • BUG: The main loop is not run if there is nothing to do.
  • BUG: The main loop halt test takes the watched file descriptors into account now.
  • BUG: TextLabel and Label AutoResize property has now no effect anymore during a resize event, to prevent infinite recursion.
  • BUG: Resizing a control has no effect if the parent is a Splitter.
  • BUG: Control borders now are drawn correctly during a resize event!
  • BUG: Dragged data is now read only when the Drag.Paste() method is called.
  • BUG: Window.Mask works correctly now.
  • BUG: Changing Window.Mask now keep the state of the window: TopOnly, Sticky, Stacking, SkipTaskbar.
  • BUG: Delayed top-level window arrangement sometimes led to incorrect drawings. A refresh fixed that.
  • NEW: ComboBox now behaves the same way as in gb.qt.
  • NEW: GridView.Data.RichText and GridView[].RichText are two new properties that allows to display rich text inside GridView cells.
  • NEW: Composition input methods are now taken into account in the KeyPress event.
  • NEW: Window resize events processing is delayed now, so that the arrangement routine is not fired at each resize event.
  • NEW: Menu separators have a -maximum- height now.
  • NEW: Drag.Format and Drag.Formats were implemented correctly.
  • NEW: GridView.Rows.Remove() is a new method for removing rows.
  • NEW: GridView.Rows.Insert() is a new method for inserting rows.

GB.NET.CURL

  • BUG: Fix a crash when a HTTP request does not return any header (because the answer was not HTTP for example).

GB.NET.SMTP

  • BUG: Mail headers including UTF-8 characters are now correctly sent in all cases.

GB.OPENGL

  • BUG: Fix Gl.Vertexi() function, values are correctly mapped to GLint instead of double.

GB.QT

  • BUG: Fixed a segmentation fault after some ListView/TreeView/ColumnView items have been destroyed. Some apparently useless code was removed, so some other things may have been broken by this fix.
  • BUG: ColumnView column alignment was fixed.
  • BUG: GridView cell alignment now works correctly when the text is horizontally centered.
  • BUG: TextLabel and Label AutoResize property has now no effect anymore during a resize event, to prevent infinite recursion.
  • BUG: ColumnView.Find() now takes the header into account.
  • NEW: GridView.Data.RichText and GridView[].RichText are two new properties that allows to display rich text inside GridView cells.
  • NEW: DrawingArea border is correctly drawn now.
  • NEW: Popup menus X11 pointer grabs are released when an error occurs or the program stops in the debugger.
  • NEW: GridView.Rows.Remove() is a new method for removing rows.
  • NEW: GridView.Rows.Insert() is a new method for inserting rows.

GB.QT.EXT

  • BUG: The Editor console support now deals better with '\r' and '\n'.

GB.SDL

  • BUG: Now when opening an opengl window, the event Resize is automaticly raised like with glut/freeglut.

GB.WEB

  • BUG: ''' cannot be used, as it is a XHTML entity only.
  • NEW: Now session is shared between more than one executables or scripts in the same path.
1.9.91 - 13 Nov 2007

Configuration

  • NEW: Libtool was updated.
  • NEW: Register a mime-type for Gambas executable if xdg utils from the Portland project are installed on the system.
  • NEW: Register a mime-type for Gambas scripts if xdg utils from the Portland project are installed on the system.

Development Environment

  • BUG: New translations are automatically removed in the translation dialog if they are void.
  • BUG: Changing the value of a property in the property sheet correctly updates the property name and background.
  • BUG: Symbolic links can be renamed safely.
  • BUG: Watched variables are correctly restored.
  • BUG: Saving and reading debug window settings is more reliable now.
  • BUG: Importing a translation works again.
  • BUG: Building Debian package failed when '_' was part of the name of the project.
  • BUG: Debian package didn't recognize when the package building failed.
  • BUG: Fixed one color in the Emerald theme.
  • BUG: Fixed the window title display routine, so that it only displays the "read-only" flag when the project is writable and not running.
  • BUG: Fixed getDebVersion() routine, so Debian packaging from the IDE works again.
  • BUG: Fixed a possible crash in translation dialog when checking the translation just after having saved it.
  • BUG: Help on gb.gui or gb.gtk is automatically redirected to gb.qt help.
  • BUG: Debugging balloons should work correctly on Gnome and XFCE now.
  • BUG: Searching list window when starting the search in a data text file does not crash anymore.
  • BUG: Fixed the icon editor selection when the image is not square.
  • BUG: Fix the "bad path bug" with autotools package generator. Previously it was searching in System.Path instead of 'System.Path'/bin.
  • NEW: Swedish translation updated.
  • NEW: Catalan translation updated.
  • NEW: Italian translation updated.
  • NEW: Japanese translation updated.
  • NEW: The translation dialog now can display statistics in the language list.
  • NEW: Updated tips of the day italian translation.
  • NEW: MDI window title now displays if the file is read-only whereas the project is not.
  • NEW: Project tree view information balloon displays information on symbolic links.
  • NEW: Error messages when building Debian packages are caught.
  • NEW: Debian packages are built without checking build-dependencies, so it will work using svn version, without installing packages.
  • NEW: The subversion user is now stored in the global Gambas configuration file and not in the project file anymore.
  • NEW: Support for alpha channel in the icon editor.
  • NEW: A new icon for searching entire words option.
  • NEW: New link icon.
  • NEW: Stack size is not a multiple of 1024 bytes anymore, but a multiple of 1024 stack slots. A stack slot is 16 bytes, and will be 32 bytes in the 64 bit version of Gambas.
  • NEW: Little option dialog redesign.
  • NEW: A new option for hiding the message bar.
  • NEW: When adding an image, HTML or CSS file, a new option allows to specify if the default file extension should be added.
  • NEW: The example groups are now drawn with a blended background in the welcome dialog.
  • NEW: The project directory icon was changed.
  • NEW: The reload button was implemented in text editor and icon editor.
  • NEW: The reload button is always active, even if the editor was not modified in the IDE.
  • NEW: Open web page with Firefox using a new window (Help Browser), if Firefox is already running
  • OPT: Class symbols scan is faster.

Database Manager

  • BUG: Copying a table does not destroy the destination table when its has the same name as the source table anymore.
  • NEW: The import CSV routine now automatically remove accents from field names.
  • NEW: Catalan translation updated.

Wiki Cgi Script

  • NEW: Google search function.
  • NEW: The page path is displayed on the first line instead of a link to the page one level up.
  • NEW: Displays the number of classes and number of symbols in the component page.
  • NEW: Arabic translation made by Daif Otaibi.
  • NEW: A new URL argument for showing a page with the top path links, and without.
  • NEW: A new keyword, "@no-autolink", that prevent auto-link feature when putat the beginning of a page.
  • NEW: Catalan translation updated.
  • NEW: Updated spanish translation.

Examples

  • BUG: PdfViewer fixed for the last interface changes in gb.pdf component
  • BUG: Updated the GameOfLife example to the new Draw.Zoom behaviour.
  • BUG: OnScreenDisplay example now display correctly. i've add the possibility to move the display too.
  • NEW: Removed the old PDFViewer example
  • NEW: Adds a new PDFViewer example made by Daniel Campos.
  • NEW: PdfViewer supports rotation and text finding
  • NEW: PdfViewer example supports PDF Index

Interpreter

  • BUG: Evaluating expressions in the debugger does not crash anymore.
  • BUG: String[].Exist() second optional argument is correctly declared now.
  • BUG: Now any external process run by SHELL or EXEC starts in the working directory of the current program, as returned by the Application.Dir property.
  • NEW: All array classes got a new method named Delete(), that is a synonymous for Extract().
  • NEW: System.Backtrace is a new property that returns the current backtrace as a string array.
  • NEW: Error.Backtrace is a new property that returns the full stack backtrace of the last error.
  • NEW: Format$() got a new date format token, "uu", which prints the milliseconds of a date/time value with always three digits.

Compiler

  • BUG: Fixed a bug that made the compiler crash if there is a type mismatch on constant declaration.
  • NEW: Translatable strings with only space characters are now ignored.
  • NEW: The files are now always compiled in alphabetic order. This keeps the translation files contents structure between two compilations on different systems.

Archiver

  • BUG: Makefile files are not ignored anymore.

Scripter

  • NEW: A new utility that allows to use Gambas as a scripting language. A Gambas script file must begin with '#!/usr/bin/env gbs2'.

GB.CHART

  • BUG: .info and .list files need to be comitted.

GB.DB

  • BUG: Support for database backends that do not like inserting a record without any value change.

GB.DB.FORM

  • BUG: DataView.Header now works correctly when set to GridView.Both.
  • BUG: Fixed a infinite recursion when checking if a data control was modified.
  • BUG: DataCombo now can be set to a null value when being read-only. This prevent the DataSource to become mad in that case.
  • NEW: Italian translation added.
  • NEW: Catalan translation added.

GB.DB.MYSQL

  • NEW: A 32 bits integer MySQL field with auto increment flag is now seen as a Serial Gambas field.
  • NEW: Client charset is set to System.Charset at database connection when possible.

GB.DB.ODBC

  • NEW: The ODBC driver got blob support.

GB.DEBUG

  • BUG: The internal buffer is now bigger, so that the IDE has less luck to get a truncated message of the debugger. This is a temporary workaround!
  • BUG: The debugger can display anonymous object references without crashing now.

GB.DRAW

  • NEW: Support for alpha channel in Draw.Zoom().

GB.EVAL

  • BUG: Syntax analyzer now correctly interprets the identifier following an exclamation mark as a string. It does not try to change its case anymore.
  • BUG: Fixed the string parser. Spurious syntax error while evaluating some string expressions consequently disappeared.

GB.FORM

  • NEW: Catalan translation added.
  • NEW: Italian translation added.
  • NEW: Japanese translation updated.
  • NEW: XFCE, and XFCE icon theme are correctly detected now.
  • NEW: FontChooser.ShowPreview is a new property for hiding the font preview.
  • NEW: ColorChooser.ShowAlpha is a new property for allowing to set the alpha component of the color.

GB.FORM.DIALOG

  • NEW: Italian translation added.
  • NEW: Japanese translation updated.
  • NEW: Catalan translation added.

GB.FORM.MDI

  • BUG: Workspace should not send spurious activation events anymore.
  • BUG: Closing all windows should work reliably now.
  • BUG: Closing one window and calling Message during the Close event should not crash anymore.
  • NEW: Italian translation added.
  • NEW: Japanese translation updated.
  • NEW: Catalan translation added.

GB.GTK

  • BUG: Some gcc "deprecated conversion from string constant to 'char *'" warnings were fixed.
  • BUG: IconView raises correctly its Click event now.
  • BUG: HBox and VBox with AutoResize set do not shrink to a null size when they have no visible child. They keep their size.
  • BUG: GridView rows resizing works again.
  • BUG: Fixed the Drag.Data property when the Drag & Drop operation started outside of the application.
  • BUG: ListBox.Item.Text does not corrupt the ListBox anymore.
  • BUG: TabStrip is not a drop destination by default anymore.
  • BUG: Button, CheckBox, RadioButton, ToggleButton and ToolButton now correctly raise common Control events like MouseDown, MouseUp, Menu...
  • BUG: Buttons now correctly follows the widget style.
  • BUG: Now you cannot display a message box if another one is already displayed.
  • NEW: The window default title is now the application title as defined in the development environment.
  • NEW: Color.Blend is a new method for blending a color on top of another one.
  • NEW: Color.HSV() now takes an optional alpha component argument.
  • NEW: The GridView now scrolls continuously when the mouse cursor is outside of it while selecting.
  • NEW: TrayIcon Menu and MouseWheel events were implemented.

GB.GTK.EXT

  • NEW: New methods added to Theme drawing.
  • NEW: Added ResizeGrip drawing method.
  • NEW: Removed Shadow and State classes: mixed with Draw.Theme class

GB.GUI

  • BUG: Now Draw.RichTextHeight and Draw.RichTextWidth return values.

GB.NET.CURL

  • BUG: Many compiler warnings removed

GB.PDF

  • BUG: Some annotations to continue the work later
  • BUG: Found text and Links are not merged when changing current page anymore
  • BUG: PdfIndex.MoveNext() and PdfIndex.MovePrevious() do not crash the program anymore
  • BUG: Internal string conversions to UTF-8 fixed
  • BUG: Fixed segfault in PdfIndex when moving from a children node to its parent
  • BUG: Now a document rotated and zoomed provide the right Width and Height dimensions for each page
  • BUG: fixed segfault when GetPicture or GetImage take dimensions outside of the real PDF page dimensions
  • BUG: Fix the _new() method when no argument is given.
  • BUG: Fix some warnings with recent versions of gcc.
  • BUG: Fixed Image and Picture extraction when PDF page is zoomed
  • BUG: Fixed Image and Picture extraction when Orientation is Sideways
  • BUG: Page bookmarks position fixed according to page zoom and orientation
  • BUG: Text finding failed due to wrong Unicode conversion
  • BUG: Text finding not taking in account rotation and scale
  • BUG: Bad alloction of found items due to a bad cast
  • BUG: Bad cast for indexes
  • BUG: Pdf Index fixed when Index has more than two nested levels
  • BUG: Zoom property must take values greater than zero
  • BUG: poppler >= 0.5 is now a requirement for the compilation.
  • BUG: Some warning messages from compiler removed
  • NEW: 'Scale' property has been renamed to 'Zoom', which is more intuitive for that case
  • NEW: '_new' method takes now an optional 'File' argument
  • NEW: PDFINFO_permissions modified, each permission is a boolean property, and PDFPermissions class has been removed
  • NEW: PDFINFO_mode implemented, PdfMode class fixed
  • NEW: PDFINFO_layout constants modified , PdfLayout class fixed
  • NEW: PdfInfo.Format implemented
  • NEW: Initial support for text finding implemented
  • NEW: Creation and modification date implemented in PdfInfo
  • NEW: Some PdfPageLink properties implemented: Type,Left,Top,Width and Height
  • NEW: PdfIndex partially implemented, work in progress
  • NEW: PdfIndex class improved
  • NEW: PdfLinkData class implemented
  • NEW: PdfPage.Select() implemented. All interfaces are implemented now, entering in the stabilization phase.
  • NEW: PdfIndex and PdfLink properties mixed in the PdfLinkData interface, a good amount of code removed
  • NEW: PdfIndex can manage now the state of nodes (expanded/collapsed) using the 'Expanded' property. 'IsOpen' read-property removed
  • NEW: Added PdfLink.Parameters property for Launch Actions.
  • NEW: 'Rotation' property in PdfDocument has been renamed to 'Orientation'
  • NEW: Four new constants for 'Orientation': Normal, Sideways, Inverted and InvertedSideways
  • NEW: PdfPage contains two properties: Image and Picture, synonymous of GetPicture() and GetImage() without parameters
  • NEW: Add many 'static' keyword.
  • NEW: 'W' and 'H' page properties as synoymous of 'Width' and 'Height'
  • NEW: PdfInfo author, subject, keywords, creator and producer properties implemented
  • NEW: Layout and linearized properties implemented in PdfInfo class
  • NEW: Some PdfPageLink properties implemented: Type,Left,Top,Width and Height

GB.QT

  • BUG: Some fixes in the ListView, TreeView and ColumnView classes that prevent two different crashes.
  • BUG: Closing a modal dialog inside the Open event now works again.
  • BUG: Do not change ColumnView column widths when clearing it, if the AutoResize property is not set.
  • BUG: Closing a modal form during the Open event should work correctly now.
  • BUG: HBox and VBox with AutoResize set do not shrink to a null size when they have no visible child. They keep their size.
  • BUG: GridView Row and Column property now can be set to -1, meaning that there is no current cell.
  • BUG: Now you cannot display a message box if another one is already displayed.
  • NEW: The ColumnView ColumnClick event was removed. It had got nothing to with GridView ColumnClick event, and was not really useful.
  • NEW: Color.Blend is a new method for blending a color on top of another one.
  • NEW: Color.HSV() now takes an optional alpha component argument.
  • NEW: Mouse events can be cancelled by using STOP EVENT.

GB.QT.EXT

  • BUG: Fixed an editor crash when you try to insert some characters after the last line.

GB.SDL

  • BUG: Fix RGB/BGR color problem when an image is resized and assigned as a texture with gb.opengl component.
  • BUG: Draw.Image method failed with segfault when image is NULL.

GB.V4L

  • BUG: Updated author e-mail address.

GB.WEB

  • BUG: Session.Abandon now correctly clears the Session so that a new one can be created again.
  • OPT: The HTML() routine is faster. This routine should be written in C anyway, as it is called often.
1.9.90 - 05 Oct 2007
  • BE CAREFUL! Now the compiler makes module symbols private by default. This will break the projects that were relying on the old behaviour. There is a new compatibility option in the project property dialog to workaround that.

Configuration

  • NEW: The package version is now 1.9.90, which is the version that will be used for the release candidate of Gambas 2.
  • NEW: Gambas bytecode version was raised to 2.0. You will get warnings on the standard error output when running a project or a component that was compiled before this version.

Development Environment

  • BUG: Auto-completion popup is hidden when the edited file is saved.
  • BUG: Fix the RPM package naming in the packager.
  • BUG: Autotools are correctly detected now in the packager.
  • BUG: The packager menu list is correctly refreshed.
  • BUG: Checking autotools package does not prevent from making other kinds of package anymore.
  • BUG: Fixed the editor procedure combo-box that sometimes displayed an incorrect procedure name.
  • BUG: Fixed a potential problem in debian package maker, where a SHELL command was run without waiting for its end.
  • BUG: The new option for using the release version number works now.
  • BUG: The rows of the property editor are now always one line height.
  • BUG: The component definition part of the project property dialog does not crash anymore when you load several projects successively.
  • BUG: Removed the '!' character displayed in watched expression errors.
  • BUG: Fixed the display of objects having an integer array accessor and a Count property, but other properties too.
  • BUG: The ColumnView columns in the translation dialog are correctly resized in every case now.
  • BUG: When you install a component project executable in the user directory, the component information data is now reloaded.
  • BUG: Signature window foreground color is always black, so that it is always visible, whatever the default background color is.
  • BUG: Fixed package names in RPM package generation.
  • NEW: The 'Find' menu entry was moved to the 'Tool' menu.
  • NEW: A new option for using or not the release version number when creating an installation package.
  • NEW: The global "find" menu entry always open the find tool.
  • NEW: The property sheet now supports string properties associated with an enumeration.
  • NEW: Debug windows got a button that display or not hidden symbols.
  • NEW: Debug windows are more clever in displaying expressions.
  • NEW: Now components have a development state: 'Finished and stable', 'Not finished but stable', and 'Unstable'. The last one was called 'Beta version' before.
  • NEW: The option tab of the project property dialog was redesigned.
  • NEW: A new project option to make module symbols public by default as before.
  • NEW: A new project option to define the default project language. This is not used anywhere yet.
  • NEW: Only the name of modified properties is bold in the project property sheet now.
  • NEW: In debugger windows, the "show hidden symbols" button is not displayed if there is no hidden symbols to display. Moreover, static symbols are now considered as hidden if an object is displayed.
  • NEW: Add a new project type in the project creation dialog for creating "graphical" projects based on the gb.gui component.
  • NEW: Some more tips. Only in english at the moment.
  • NEW: The about dialog box was updated.
  • OPT: Tried to get rid of useless project tree view refresh.

Database Manager

  • NEW: Arabic translation made by Daif Al-Otaibi.

Wiki Cgi Script

  • NEW: You can write custom pages in the component section /comp/*.
  • NEW: Automatic link is less aggressive.
  • NEW: Support for arabic language.

Examples

  • BUG: HTTPGet example now needs the gb.qt.ext component.

Interpreter

  • BUG: Adds GB.ExistClassLocal() and GB.FindClassLocal() to the Gambas API to fix the bug on Eval().
  • BUG: NULL now can be converted to any class in every case without raising an error now.
  • BUG: Error is not lost anymore during its propagation. And so the interpreter should not stop without printing any error anymore.
  • NEW: Timer.Trigger is a new method that triggers the timer once at the next event loop.
  • NEW: Class names can be used as function for casting object references.
  • NEW: The "return from" debugger function is more clever now when the previous stack frame is native code.
  • NEW: Process.Wait is a new method to wait for the end of a process.
  • NEW: System.User.Group is a new property that returns the real group identifier of the current process.
  • OPT: Debugger breakpoints are now automatically replaced by the NOP bytecode operation when they are useless.

Compiler

  • NEW: A new option, '-m', to make module symbols public by default. If this option is not specified, modules are like classes, and symbols are private by default.

Informer

  • BUG: Removed the useless use of RTLD_DEEP_BIND.
  • BUG: Calling the informer with several components as arguments now works correctly.
  • NEW: Do not close shared libraries at all. This should avoid random crashes when analyzing more than one component at once.

GB.DEBUG

  • NEW: Information on expressions is more clever now.
  • NEW: The "return from" debugger function is more clever now when the previous stack frame is native code.

GB.EVAL

  • BUG: Eval() loads classes correctly now. This fixes, for example, the pending bug where the evaluation of a public module variable returns an incorrect value.

GB.FORM

  • BUG: DirView now always raises its Click event when a node is selected.
  • BUG: TableView now works correctly when put inside a HSplit or VSplit control.

GB.FORM.MDI

  • BUG: Workspace should close correctly all its windows now.

GB.GTK

  • BUG: Desktop.Scale now returns the same value as gb.qt for the same desktop font size.
  • BUG: Application title was not shown as default title for a Window
  • BUG: removed default Window title
  • BUG: Default size for a window created at runtime. Now emulates the QT ones: resize(200,150)
  • BUG: Draw class was using wid->window instead or wid->bin_window for top level windows
  • BUG: Some fixes in GridView mouse click management.
  • BUG: The last column width is correctly updated now.
  • BUG: Some fixes in Window life cycle.
  • BUG: Color.LightBackground now returns a color that is suitable for light and dark backgrounds.
  • BUG: Arrange containers that are not explicitely hidden even if they are not visible, like in gb.qt.
  • NEW: gb.qt and gb.gtk now share the same picture loading algorithm.
  • NEW: Label and TextLabel autoresize algorithm was fixed, and is now the same in both gb.qt and gb.gtk components.
  • NEW: Picture.Save and Image.Save methods now take an optional quality integer parameter.
  • NEW: TextEdit was removed because it cannot be implemented at the moment.
  • NEW: Window modality is managed the same way as in gb.qt now.
  • NEW: Window.Menus can be used as an array indexed by integer.
  • NEW: Container.Children can be used as an array indexed by integer.
  • NEW: Menu.Children can be used as an array indexed by integer.

GB.GTK.EXT

  • BUG: Added usage of POINTER() macro to avoid compilation warnings.
  • BUG: Now using Gambas API array functions instead of implementing them by hand.
  • BUG: Fixed macro in CPaint.h
  • NEW: Added capabilities to draw on a drawable using GTK+ style elements.

GB.LDAP

  • NEW: This component was removed, as some people told me that it was not working, and as I have no news from its developer.

GB.QT

  • BUG: The TextLabel autoresize algorithm now only resizes vertically according to the horizontal size. The horizontal size is never changed to avoid infinite recursion.
  • BUG: GridView now correctly takes the text font into account when computing the width of a cell.
  • BUG: Color.LightBackground now returns a color that is suitable for light and dark backgrounds.
  • NEW: gb.qt and gb.gtk now share the same picture loading algorithm.
  • NEW: If a top-level window is shown and no title was set, when the application title is used instead.
  • NEW: Label and TextLabel autoresize algorithm was fixed, and is now the same in both gb.qt and gb.gtk components.
  • NEW: Picture.Save and Image.Save methods now take an optional quality integer parameter.
  • NEW: TextEdit was moved to gb.qt.ext because it cannot be implemented in gb.gtk at the moment.
  • NEW: You can open again a non-modal window even if a modal window is displayed. The newly opened windows are non-modal for the last opened modal window, but keep being modal for the other windows opened before.
  • NEW: Window modality is managed the same way in gb.gtk and gb.qt.
  • NEW: Window.Menus can be used as an array indexed by integer.
  • NEW: Container.Children can be used as an array indexed by integer.
  • NEW: Menu.Children can be used as an array indexed by integer.
  • NEW: The font used for <tt> and <pre> in HTML text is now Monospace.

GB.QT.EXT

  • NEW: TextEdit was moved to gb.qt.ext because it cannot be implemented in gb.gtk at the moment.

GB.QT.KDE

  • BUG: The component compiles again.

GB.SETTINGS

  • BUG: Fixed an old bug that made programs using gb.settings crash silently when a settings file did not exist.
  • NEW: Settings.Reload() is a new method that cancels all modifications of a setting file.

GB.V4L

  • NEW: The VideoDevice.Save method format argument was removed. Now the format is always guessed from the file extension.

GB.WEB

  • BUG: Session.TimeOut now really works as specified.
1.9.51 - 19 Sep 2007

Configuration

  • BUG: Components written in Gambas do not explicitely use gb.gtk or gb.qt anymore, but gb.gui instead. Otherwise these components could not compile on systems where gb.gtk or gb.qt is disabled.
  • BUG: The informer is run again just before compiling the components located in the ./comp sub-directory, so that components like gb.gui, whose *.info files relies on other components, are correctly installed. This workaround does not solve all dependencies possibilities.

Development Environment

  • BUG: Selecting a directory when importing a theme does not crash anymore.
  • BUG: Find list is correctly reset when a project is opened.
  • BUG: Redesigned the menu editor so that it displays nicely whatever the default font is.
  • BUG: The project tree view popup menu does not show unwanted actions anymore.
  • BUG: Support for controls that are overridden in another component.
  • BUG: Debugging windows save their position correctly now.
  • BUG: Error messages are correctly displayed when evaluating an expression during debugging.
  • BUG: Breakpoints are not incorrectly set anymore at program startup.
  • BUG: The form name is not put in the list of form controls anymore.
  • BUG: The project '.lang' hidden directory that contains translation files is now automatically created and put under version control.
  • BUG: Add all specials methods in automatic completion.
  • BUG: Fix image rotation in icon editor. Image.Rotate now uses radians.
  • BUG: Property sheet now always displays only one line of the property value.
  • NEW: Removed some useless icons.
  • NEW: New icons for the automatic completion.
  • NEW: The project environment variables are taken into account now.
  • NEW: The project environment dialog has been moved inside the project property dialog.
  • NEW: New Catalan translation made by Jordi Sayol.
  • NEW: Catalan translation of tips of the day.
  • NEW: Spanish catalan is now the default catalan language.
  • NEW: Support for the new help files, and the F2 function is more clever.
  • NEW: Component selection is now only checked when you close the project property dialog.
  • NEW: Some warning messages displayed when checking the components were changed in the project property dialog.
  • NEW: Renaming a control should update its displayed title in the form editor now.
  • NEW: Japanese translation updated.
  • NEW: The status message line is automatically cleared after one second.
  • NEW: Support for static classes, and objects that can be used like an array (they have a Count property, and are indexed by an integer). Support for objects indexed by strings is planned.
  • NEW: Menu reorganization.
  • NEW: You can open a browser on the current project from the 'Tools' menu now.
  • NEW: The debugging windows display integer values in decimal and hexadecimal now.
  • NEW: The image editor option was removed and replaced by a new 'Edit with' item in the project tree view pop-up menu.
  • NEW: Icon editor edition buttons are hidden when the icon is read-only.
  • NEW: Many enhancements and fixes in debug windows.
  • NEW: Debug windows now follow the default system color palette. Otherwise, they would be sometimes not visible.
  • NEW: SIGTERM signal is not considered as a program crash anymore.
  • NEW: The information balloon now appears only if you press SHIFT while moving the mouse across project tree view items.
  • NEW: The project property dialog component list was redesigned.
  • NEW: Some fixes and enhancements in the component list of the project property dialog.
  • OPT: The breakpoint button update is delayed so that scrolling in code editor is not too slow when many windows are open.

Database Manager

  • BUG: The gb.gtk GridView can emit the Change event with no current cell. Now that does not lead to a crash anymore.
  • NEW: The database manager now uses the new gb.gui component.
  • NEW: Table, field and index names are now case sensitive.

Help

  • NEW: Help has been updated.

Examples

  • BUG: Fixed the bad use of a removed icon.
  • NEW: Snake example was update with new icons.
  • NEW: GameOfLife is a new example made by Iman Karim.
  • NEW: The GameOfLife example now implements the real rules of the standard game of life.
  • NEW: AnalogClock example was rewritten by using the transformation matrix.
  • NEW: Catalan translation of all examples.
  • OPT: GameOfLife example was optimized by using the Draw.Zoom method.

Wiki Cgi Script

  • NEW: Support for the new look. Allows to generate page without showing the wiki stuff.
  • NEW: Some enhancements and bug fixing. The error that occurs sometimes when displaying a page should be fixed now.
  • NEW: Catalan translation

Interpreter

  • BUG: StrPtr() should work correctly now.
  • BUG: Watched file descriptor that are removed during their callback should be effectively removed now.
  • BUG: Process.Tag property is now correctly freed when the Process object is destroyed
  • BUG: The debugger now can evaluate expressions that execute project code without making the IDE raise its error message box.
  • NEW: A new API to read an interface pointer associated with a class. This interface pointer is actually a constant of datatype "p" whose name begins with "_@".
  • NEW: Array.Copy() can copy multi-dimensional arrays now, only if it gets no arguments.
  • NEW: Calling EXEC with a null program name won't crash anymore.
  • NEW: Application.Env.Count is a new property that returns the number of environment variables.
  • NEW: Timer.Start() and Timer.Stop() are two new synonymous for the Timer.Eabled property.
  • NEW: Object.New() is a new method for instanciating objects.

Compiler

  • BUG: A syntax error is raised now when you use the NEW operator incorrectly.
  • BUG: The '!' operator is now really case sensitive.

Informer

  • NEW: A component can export a GB_INCLUDE symbol to tell the informer to include the symbol information of another component. gb.qt and gb.gtk use that to include the Draw class description located in gb.draw.
  • NEW: gbi2 can take more than one component as last arguments.

GB.EVAL

  • BUG: Fixed the bad transformation of the '!' operator right identifier into a string.
  • BUG: '!' operator works again.

GB.DEBUG

  • BUG: The debugger does not return overridden fields aynmore when information on a class is asked.
  • NEW: Support for static classes and objects that can be used like an array.

GB.DB

  • BUG: Result class now correctly deals with its internal array of modification flags.
  • NEW: Drivers now can explain their behaviour against case sensitivity, and if this behaviour can be changed.
  • NEW: Result.Fields.Length does not crash anymore.
  • NEW: Table, field and index names are now case sensitive. All drivers were modified according to this new policy.
  • NEW: The arguments of internal requests are now automatically quoted. That fixes a potential security hole. The following drivers are yet to be fixed: gb.db.firebird & gb.db.odbc.

GB.DB.SQLITE2

  • BUG: All gb.db.sqlite3 bug fixes were backported.

GB.DB.SQLITE3

  • BUG: Reading a field having a NULL value works in all cases now.

GB.NET.CURL

  • BUG: CCurl.Proxy is a now a true virtual class.
  • BUG: HttpClient and FtpClient should not crash anymore.

GB.DRAW

  • NEW: This is a new internal component that will implement the Draw class. Drawable classes must declare a "Draw" interface that points at a drawing function implementation structure.
  • NEW: Draw.Circle() draws a circle from its center and radius.
  • NEW: Draw.Zoom() is implemented there, outside of drawing implementations.
  • NEW: Draw.Rotate() has been removed.
  • NEW: Draw.RoundRect() has been removed.
  • NEW: Draw.RichText() is a new method for drawing HTML-like text.
  • NEW: Draw.RichTextWidth() and Draw.RichTextHeight() are two new methods that return the size of a rich text.

GB.GUI

  • NEW: This is a new component that just loads gb.qt if you are running KDE or gb.gtk in the other cases. It will make your application more desktop-friendly!
  • NEW: If the GB_GUI environment variable is set, then gb.gui will load the component specified by its contents.

GB.QT

  • BUG: Fix the control description.
  • BUG: Found a workaround to the QT input methods bug that was generating bad KeyRelease events.
  • BUG: Fixed the order of Slider properties so that Value is last. Otherwise, the IDE will not define MaxValue and MinValue before Value, and things won't work as expected.
  • BUG: GridView row selection API works correctly now. There is one bug yet. Do not use SHIFT in the row header to select rows!
  • BUG: Image.Draw() works correctly now.
  • BUG: A disabled Button, ToggleButton or ToolButton now draws its picture correctly when its Text property is void.
  • BUG: Cached DrawingArea border now is correctly refreshed.
  • BUG: ProgressBar percentage is correctly rounded now.
  • BUG: Key modifier properties (Key.Shift, Key.Control...) now return the accurate value during a KeyRelease event. Maybe gb.gtk should be checked for the same problem.
  • BUG: ScrollView with Arrangement property set now resizes correctly when the size of one of its children changes.
  • BUG: The GridView single selection should work correctly now.
  • BUG: Fix the stretching behaviour of the last column of a GridView.
  • NEW: gb.qt and gb.gtk now share the description of the control hidden properties used by the IDE.
  • NEW: gb.qt now uses gb.draw as drawing interface.
  • NEW: Drawing and Printer classes were removed and put in gb.qt.ext.
  • NEW: Image.Replace() takes a new 'NotEqual' optional argument. If this argument is set to TRUE, then the method will replace the pixels whose color is different from the one specified.
  • NEW: gb.qt and gb.gtk now share many constant values, so that the IDE can use them indifferently.
  • NEW: ColumnView.AutoResize is a new property that globally replaces the ColumnView.Column[].AutoResize property.
  • NEW: Label.Transparent and TextLabel.Transparent are two new properties that make labels transparent.
  • NEW: Clipboard.Formats now keeps the format charsets.
  • NEW: GridView row and column Moveable properties were removed.
  • NEW: Arrangement routine has been fixed and enhanced. The AutoResize property of vertical and horizontal arrangement is more clever now.
  • NEW: Window.AutoResize comes back, and should work now.
  • NEW: Window.Closed is a new property that returns if a window is closed.
  • NEW: When a debugged program is paused, and run again, the program active window is automatically reactivated.
  • NEW: ColumnView with AutoResize set now take the column label widths into account.
  • NEW: ColumnView last columns has always the maximum size.

GB.QT.EXT

  • NEW: Drawing and Printer classes were moved to this component. They are drawable again.
  • NEW: This component implements the Draw.Drawing() method.

GB.GTK

  • BUG: Fix the control description.
  • BUG: Some fixes in the handling of HTML text.
  • BUG: Draw.Ellipse() has been fixed.
  • BUG: Draw.Text() has been fixed.
  • BUG: Timers work! Stupid GTK+ timers were tamed. The minimum delay was set to 10ms, otherwise the GUI freezes.
  • BUG: Use the default widget style if no style is associated with a specified widget class. Otherwise it crashes.
  • BUG: The default alignment of Draw.Text is Align.TopNormal now.
  • BUG: ScrollView.ScrollW and ScrollView.ScrollH now return the correct value.
  • BUG: Setting the window mask works correctly. But removing it does not yet!
  • BUG: Loading a transparent picture from disk creates a transparent picture in memory.
  • BUG: Using Picture.Load() does not automatically transforms the intern pixbuf into a pixmap.
  • BUG: Picture.Copy() really copies the picture now.
  • BUG: Label.Transparent works.
  • BUG: Label.Font was fixed.
  • BUG: The MouseDrag event works correctly now.
  • BUG: The MouseMove event should be raised on all controls now.
  • BUG: gPicture::copy() now works correctly for images stored in memory.
  • BUG: TabStrip.Text is implemented correctly now.
  • BUG: Mouse.State and Mouse button properties should have the correct value in all cases now.
  • BUG: TreeView.Item.X is accurate now. And so as for ListView and ColumnView.
  • BUG: The Menu class has been fixed.
  • BUG: The TabStrip[].Text property does not leak memory anymore.
  • BUG: Many fixes in layout handling.
  • BUG: GridView better honors its background property.
  • BUG: GridView border is correctly drawn now.
  • BUG: Color hue can be greater than 360.
  • BUG: Newly created TabStrip tabs are correctly put to the last.
  • BUG: Embedded windows now correctly raise the Show and Hide events.
  • BUG: Do not share fonts that are linked with a Gambas object.
  • BUG: DrawingArea refresh behaviour was fixed.
  • BUG: Label and TextLabel borders are displayed correctly now.
  • BUG: ProgressBar percentage is correctly rounded now.
  • BUG: Frame borders are correctly drawn now.
  • BUG: Label.AutoResize and TextLabel.AutoResize properties were fixed.
  • BUG: GridView selection behaviour has been fixed.
  • BUG: Pie slice border is drawn like in gb.qt now.
  • BUG: Font objects created with NEW do not share the same internal gFont instance anymore.
  • NEW: gb.qt and gb.gtk now share the description of the control hidden properties used by the IDE.
  • NEW: Mouse.StartX and Mouse.StartY were implemented
  • NEW: The MouseDrag event was implemented.
  • NEW: GTK+ >= 2.10 is required now.
  • NEW: The old Draw class has been replaced by the use of the gb.draw component.
  • NEW: Draw.Tile() has been implemented.
  • NEW: Draw.Picture() and Draw.Image() stretching arguments have been implemented.
  • NEW: Draw.Resolution has been implemented.
  • NEW: Draw.Circle() draws a circle from its center and radius.
  • NEW: Draw.Zoom() has been implemented.
  • NEW: Sorting has been implemented in ListView, TreeView, IconView and ListBox.
  • NEW: Image.Draw() has been implemented.
  • NEW: Picture can be "transparent", like in gb.qt. It means they can have an internal bitmap mask. This mask is taken into account by the drawing methods.
  • NEW: Image.Replace() takes a new 'NotEqual' optional argument. If this argument is set to TRUE, then the method will replace the pixels whose color is different from the one specified.
  • NEW: gb.qt and gb.gtk now share many constant values, so that the IDE can use them indifferently.
  • NEW: Draw.Picture() takes the clipping into account now.
  • NEW: ColumnView.AutoResize was implemented.
  • NEW: The Clipboard class has been cleaned, and the Clipboard.Formats property has been implemented.
  • NEW: Drag & Drop was redesigned. The following features are not yet implemented: Drag.Formats, Drag.Show and Drag.Hide. Drag.Icon does not work too.
  • NEW: Drag.Icon works now.
  • NEW: Drag.Show and Drag.Hide methods have been implemented.
  • NEW: GridView look has been enhanced.
  • NEW: GridView.Rows.Select and GridView.Rows.Unselect were implemented.
  • NEW: GridView column and row Resizable property have been implemented.
  • NEW: All GridView column and row properties synonymous were implemented.
  • NEW: Arrangement routine has been fixed and enhanced as in gb.qt.
  • NEW: Window.AutoResize has been implemented.
  • NEW: Window.Closed is a new property that returns if a window is closed.
  • NEW: TextArea Change and Cursor events were implemented.
  • NEW: Rich text now understand HTML entities, thanks to code from KDE libraries.
  • NEW: DrawingArea.Tracking was implemented.
  • NEW: DrawingArea.Enabled specific behaviour was implemented. Note: a disabled DrawingArea has only the X11 Expose event set in its event mask.
  • NEW: Label.Adjust and TextLabel.Adjust were implemented.
  • NEW: GridView last column is now automatically stretched to fit the GridView visible width.
  • OPT: Removed some unneeded copy of point array in Draw.Polyline() and Draw.Polygon().
  • OPT: Cached DrawingArea has been optimized. It uses the X-Window background pixmap now.
  • OPT: GridView selection does not become slow anymore when a lot of rows are selected.

GB.GTK.EXT

  • NEW: New component that adds footers to the GridView control. Two new properties: GridView.Footer to enable it, and GridView.Columns[].FooterText to define the text of each footer.

GB.QTE

  • NEW: Synchronized with gb.qt.

GB.IMAGE

  • NEW: Methods that took degrees now take radians.
  • NEW: Image.Gradient decay arguments are float now.

GB.SDL

  • NEW: Cursor class to manage custom cursor.
  • BUG: Now when the window raise the draw event, calling Draw.Begin() / Draw.End() is not mandatory anymore. It is automatically called like in gb.qt or gb.gtk (Thanks to Fabien Bodard).

GB.PDF

  • BUG: Try to be compatible with the upcoming poppler 0.6.

GB.INFO

  • BUG: Some bug fixes in component description loading.

GB.SETTINGS

  • BUG: The $XDG_CONFIG_HOME environmental variable is now taken into account.

GB.FORM

  • BUG: Removed the use of Draw transformation matrix in the Balloon class.
  • BUG: gb.form does not require itself anymore!
  • BUG: ValueBox should not crash anymore on invalid input.
  • BUG: Character deletion in ValueBox is possible now.
  • BUG: DateChooser is drawn correctly again.
  • BUG: DateChooser does not strip the month combo-box anymore.
  • BUG: Balloon foreground color is now always black, so that it is visible whatever the system foreground color is.
  • BUG: ListContainer does not watch its children too often anymore.
  • NEW: InputBox is a new static class made for Visual Basic users.
  • NEW: FileView.Count is a new property that returns the number of files displayed in the view.
  • NEW: DateChooser.SetDateColor() is a new method to associate a background color to a specific date.
  • NEW: DirChooser.ShowSplitter is a new boolean property that enables the button that shows the files.
  • NEW: A few new icons in the stock.
  • NEW: Do not display the "close other tabs" menu item when there is only one window in a Workspace.

GB.FORM.MDI

  • BUG: Cancelling a window close event works correctly again.
  • BUG: Closing an inactive window works in a Workspace again.
  • BUG: Closed MDI windows are correctly detected now.
  • BUG: Does not try to close windows when they have became invalid.
  • NEW: Workspace.Background now really sets the background color of the workspace.
  • NEW: Two new methods, Workspace.Lock and Workspace.Unlock, used for hiding the TabStrip while closing windows.
  • NEW: ToolBar.AutoResize is a new boolean property, set by default. When not set, the toolbar always displays its children on one line.
  • NEW: The MDI windows menu has now an entry for closing all windows except the current one.

GB.WEB

  • BUG: The Request class now can handle submission of <select> form elements with multiple selection.

GB.REPORT

  • BUG: Bug on pie not resolved...
  • NEW: The ReportTextLabel is now working with the new Draw.RichText function.

GB.CHART

  • NEW: This is a new component that draws charts.
1.9.50 - 13 Jul 2007

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