Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > dcfe81aa1fb5ec70714af9486d1cc0f9 > files > 37

libgambas0-devel-0.84a-1mdk.i586.rpm

--------------------------------------------------------------------------------------
 gambas-0.84 - 12 Feb 2004
--------------------------------------------------------------------------------------

* The interpreter is compiled with threading support on FreeBSD.

* You can disable any component at compile time by passing a "--disable-XXX" option
  to the configure script.


DEVELOPMENT ENVIRONMENT

* BUG: changing DataType color highlighting works now.

* The "Invert colors" button has been replaced by two predefined syntax
  highlighting themes. The default one has a white background now.

* BUG: You can't translate a void project anymore.

* BUG: the IDE does not abort anymore in the translation dialog after a click
  on the save button.


INTERPRETER

* Stat() works differently now. It returns a File object. To get information about
  the file, use the same properties as before, except that now they are not static
  anymore.

* Stat() now returns ownership and right information.

* File.User returns the owner of a file.

* File.Group returns the group of a file.

* File.Access(gb.User / gb.Group / gb.Other, gb.Read / gb.Write / gb.Exec) returns
  the specified file permission.

* File.SetUID, File.SetGID and File.Sticky returns the specified file attributes.

* LINK "Path" TO "Target" creates a symbolic link to "Target" named "Path".

* Access("Path", gb.Read / gb.Write / gb.Exec) checks what your program can do
  with a specified file.

* A new hook to display error messages.

* Array.Insert is a new method to insert an array into another one.


COMPILER

* The Dir$() function has been removed as it returns a String array. Use Dir() only.

* New keyword: LINK

* New subroutine: Access()


QT COMPONENT

* Draw.Tile now uses Draw.FillX and Draw.FillY as drawing offset.

* Form.Load creates the auto-instanciated form.

* Error messages are now displayed in a message box.

* Application.MainWindow returns the main window of your application. This is the
  first one you opened, and it is the default parent window or every other window
  you create in your application.


QT EXTENDED COMPONENT

* TableView.ScrollX and TableView.ScrollY return the scroll offset of the table.

* TableView.RowAt and TableView.ColumnAt return the row and the column located under
  a specified relative mouse position.


KDE COMPONENT

* DatePicker has now a minimum size, so that it does not crash anymore.


KDE HTML COMPONENT

* This is a new component that provides you a WebBrowser control! Be careful, this
  is beta version.




--------------------------------------------------------------------------------------
 gambas-0.83 - 08 Feb 2004
--------------------------------------------------------------------------------------

* All interpreter and compiler source files has been renamed, in the aim of avoiding
  conflict with standard C/C++ compiler include files.


DEVELOPMENT ENVIRONMENT

* The source editor has an optional toolbar now.

* Comment and uncomment actions are cleaner now.

* You can align controls in the form editor now.

* A new tool in the icon editor to swap colors.


QT COMPONENT

* The Picture class has been splitted between three classes: Picture, Image and
  Drawing. The interface of these three classes has been revised.

* Image control has been renamed as PictureBox.

* A new control, ToolButton. Use it for making toolbars.

* BUG: you can't remove project files from the file selector anymore.

* Application.Tooltip allows you to globally disable tooltips.

* The Draw class now knows how to draw on transparent Picture.


KDE COMPONENT

* BUG: Dialog.Font now works correctly.


NETWORK COMPONENT

* Updated to the version 0.2.2 made by Daniel Campos.


EXAMPLES

* The examples can be stored in subdirectories of the example directory.

* The AnalogClock example compiles now.

* The MoviePlayer example should rework now.




--------------------------------------------------------------------------------------
 gambas-0.82 - 24 Jan 2004
--------------------------------------------------------------------------------------

DEVELOPMENT ENVIRONMENT

* You can hit the Control key with the up & down arrows in the code editor to move
  to the previous or the next method.

* Change Help Browser shortcut from F2 to F1.

* New forms, classes and modules have now names like "Form1", "Class2", "Module3".

* Translation dialog is now resizable.


INTERPRETER

* BUG: Auto instanciable classes should work now.

* BUG: SIGCHLD interpreter signal handler has been fixed so that the KDE one
  is not removed. The KDE file dialog will not freeze anymore.


QT COMPONENT

* The Expand and Collapse events do not take the item key as parameter anymore.
  You must check your TreeViews and your ColumnViews!

* BUG: TreeView, ColumnView and ListView were fixed.

* BUG: showing forms should not raise X errors anymore.


KDE COMPONENT

* Three new controls: DatePicker, URLLabel and ColorBox.

* DatePicker works only because I did an ugly hack to workaround a KDE bug.
  This bug seems to be corrected since KDE 3.1.5.




--------------------------------------------------------------------------------------
 gambas-0.81 - 17 Jan 2004
--------------------------------------------------------------------------------------

DEVELOPMENT ENVIRONMENT

* Some optimizations when controls are resized.

* BUG: initial path now reworks in file selector.

* BUG: deleting a directory in project window should work now.

* You have a menu entry to select all the text in the editor.

* The tips files changed. Now there is one tips file by language.

* The help browser has a new heading for each language help page.

* You can resize the buttons of the toolbox.


DATABASE MANAGER

* Now you can connect to a server by specifying a username.

* You can load and save SQL scripts to a file. These SQL scripts file are just text
  file containing SQL requests separated by semicolons.

* BUG: deleting a table closes table windows correctly now.


INTERPRETER

* Two new array classes: Byte[] and Short[].

* Arrays now have a Read and a Write method to read and write their contents on a stream.

* Support for auto-instanciable classes.

* BUG: converting Boolean, Short and Byte numbers to Integer numbers works now.


QT COMPONENT

* The Form class is now auto-creatable. This means that you can have a form named
  'FDialog', and use it as in Visual Basic: FDialog.Show directly shows the form,
  without the need to create an instance !

* Iconview has a new method Find(), to find an icon item from a point.




--------------------------------------------------------------------------------------
 gambas-0.80 - 01 Jan 2004
--------------------------------------------------------------------------------------

* Gambas can be installed in /usr/bin now. I don't know if it really works !

* The configure script now should find the QT meta-object compiler (moc) even if
  it is not located in the QT directory.

* There is a very alpha new component: gb.vb. This is a Visual Basic compatibility
  component: it provide static functions that simulate the behaviour of some Visual
  Basic functions that differ from the Gambas ones.


DEVELOPMENT ENVIRONMENT

* Support for displaying in form editor controls that are not in the gb.qt and
  gb.qt.ext component.

* BUG: error during a save operation will not crash the IDE anymore.

* Dependencies between components are now managed by the project property dialog.

* Number of untranslated strings is now permanently updated in the translation
  dialog.


INTERPRETER

* Declaring a class twice in a component now raises a panic error, and do not
  crash the interpreter anymore.


COMPILER

* Putting an identifier between braces prevents the compiler from interpreting it
  as a reserved keyword or subroutine name.

* You can insert any character in a string with the \xHH syntax, where HH is the
  hexadecimal code of the caracter. For example, "\x0A" is a newline.


QT COMPONENT

* Window and Panel controls have a new property, Arrangement. When this property is
  set, then the control children are automatically moved and/or resized.

* Dialog.Filter now is an array of strings, each string being a filter. Now, instead of
  doing:

    Dialog.Filter = "Text files (*.txt);;All files (*.*)"

  You do:

    Dialog.Filter = [ "Text files (*.txt)", "All files (*.*)" ]

* Drag.X and Drag.Y are two new properties that return the mouse position of a drop.

* TreeView, ListView and ColumnView got a new method Find(), that find an item from the
  mouse coordinates.

* Control.Window is a new property that returns the window containing a control.


NETWORK COMPONENT

* Support for OS not having the MSG_NOSIGNAL option for some system calls.




--------------------------------------------------------------------------------------
 gambas-0.74 - 20 Dec 2003
--------------------------------------------------------------------------------------

* Somes fixes to let the interpreter and the network component compile with gcc 2.95


DEVELOPMENT ENVIRONMENT

* You can return from the current function in the debugger.

* BUG: the file selector should not lose its layout anymore.


INTERPRETER

* Dir$() now returns a string array, that contains each file located in the browsed
  directory. Its new syntax is: Dir$ ( Path , [ Filter ] )

* You can return from the current function in the debugger.

* NEW: Arrays have a new method, Reverse(), that reverse their contents.

* NEW: You can dynamically call object methods with the Object.Call() static method.

* BUG: Using READ with a negative length on a void stream does not corrupt memory
  anymore.


QT COMPONENT

* NEW: ListView, TreeView, ColumnView and IconView have a new property named 'Key'
  that returns the key of the current item, or a null string if there is no current
  item.

* BUG: Key.Control, Key.Shift and Key.Alt now return the correct value in a KeyPress
  event, if Control, Shift or Alt are pressed alone.

* BUG: Window masks are not shifted one pixel down anymore.

* When drawing on a picture that has a mask, the mask is recalculated when Draw.End
  is called. Be careful: the recalculation is done with a QT method based on a
  trivial heuristic, and so may fail !

* BUG: Color.RGB() does not return negative values anymore.

* BUG: Some fixes related to the UTF-8 filenames in the Dialog class.

* BUG: DrawingArea with Cached = FALSE does not repaint its background anymore.

* NEW: Drag & Drop support, with a new class, Drag, a new method, Control.Drag(), a
  new property, Control.Drop, and two new control events: Drag and... Drop !

  Use Control.Drag() to drag something from a control, in a MouseMove event for
  example, and set Control.Drop to TRUE if you want a control to accept drops.

  The Drag class has properties that give you information about the object being
  dragged, like the Clipboard class. Use them inside Drag and Drop event handlers
  in the following way:
  - Cancel the Drag event with STOP EVENT if you don't want the object.
  - Use Drag.Data in the Drop event handler to get the dragged object.




--------------------------------------------------------------------------------------
 gambas-0.73 - 06 Dec 2003
--------------------------------------------------------------------------------------

* There are many fixes for gcc 3.3, Cygwin and Solaris.


DEVELOPMENT ENVIRONMENT

* BUG: the name of controls and groups are checked. You cannot enter a control name
  or a group name with a space inside anymore, for example.

* BUG: a workaround in the File selector, so that it does not crash anymore when
  displaying void directories.


INTERPRETER

* A new property Application.Env[] that allow reading and modifying the process
  environment.

* The internal debugger does not stop anymore inside archives loaded with the
  USE instruction.

* Files instructions like OPEN, KILL, MKDIR, etc. now convert automatically the
  file name from UTF-8 to system charset. This implies that gambas source code files
  must be written in UTF-8 and nothing else !

* BUG: the inequality comparison operators now should be definitively fixed :-)


NETWORK COMPONENT

* See the Changelog file in ./src/lib/net


QT COMPONENT

* Allow the component to compile with QT 3.2

* BUG: Window.Show() reworks now on MDI child windows. An internal change in the QT
  library caused that regression.


SDL COMPONENT

* The property Music.Pos now returns the position of the music, and can be set to
  play the music from a specified time.




--------------------------------------------------------------------------------------
 gambas-0.72 - 20 Nov 2003
--------------------------------------------------------------------------------------

* The network component made by Daniel Campos has been integrated !

* ./configure script works better on non-Linux systems.

* Some fixes in program examples.

* Some source files and many symbols in them were renamed so that Gambas compiles
  under Cygwin. But it does not work yet...


INTERPRETER

* BUG: A class can inherit another class having no symbols in its description without
  crashing.

* Posted routines are now executed in the order they were posted: posted the first,
  executed the first.

* BUG: CLOSE now works with streams that are not File objects.

* BUG: Array() and [...] now create correctly String[] arrays.

* BUG: the inequality comparison operators now behave correctly with NULL.

* BUG: The internal interpreter event loop now call posted routines correctly.


QT COMPONENT

* Buttons have now a minimum height, like ComboBox, according its font.

* The right mouse button does nothing anymore in ListBox controls.

* BUG: Showing windows was fixed, so that closed windows does not reappear suddenly,
  like in the IDE.

* The QUIT hook does not crash anymore.


GAMBAS EDITOR COMPONENT

* If a line begins with a question mark, the question mark is replaced by 'PRINT',
  like in the old Basics.




--------------------------------------------------------------------------------------
 gambas-0.71 - 01 Nov 2003
--------------------------------------------------------------------------------------

COMPILER

* A new instruction, STOP EVENT, to stop an event in an event handler. You can return
  TRUE still.


INTERPRETER

* Process class and File class now inherit the Stream virtual class. Consequently,
  you can use PRINT, READ, INPUT, ... on a process object.

* Process.Send has been removed.

* 'Write' event Process has been replaced by 'Read' event Process, and do not take
  any argument anymore. Use READ, LINE INPUT or INPUT instead. The 'Error' event
  did not change.

* Shared libraries are preloaded with the library version added to the file name:
  'libqt-mt.so.3' instead of 'libqt-mt.so'.

* BUG: String.Sort[] does not crash anymore while trying to sort void strings.

* Using QUIT instruction does not display the 'Unknown error' message anymore.

* BUG: reading and writing now correctly manage interrupted system calls.

* By specifying a negative value as third argument to READ, you can read up to
  N characters:

  READ #hStream, sString, 255   ' reads a 255 characters length string
  READ #hStream, sString, -255  ' reads a string up to 255 characters

* WAIT does not need the QT component to work now.

* New properties Application.Handle and Process.Handle that will replace
  Application.Id and Process.Id in a next version.


QT COMPONENT

* Key.Cancel has been removed. Use STOP EVENT instead.

* New properties Window.Handle and Control.Handle that will replace Window.Id and
  Control.Id in a next version.




--------------------------------------------------------------------------------------
 gambas-0.70 - 19 Sep 2003
--------------------------------------------------------------------------------------

* ./configure were reworked, so that adding component and managing differences
  between systems is easier.

* A new experimental component: gb.sdl, that allow using SDL to play sounds and music.


DEVELOPMENT ENVIRONMENT

* The file selector of Fabien Bodard has been merged.


INTERPRETER

* BUG: you can define objects greater than 32K now ! And so declare arrays as large as
  you want.

* A new property Application.Version that returns the version of the project.


QT COMPONENT

* The Keyboard and Mouse event handlers do not take any parameters anymore! They must use
  new static fields of the Key and Mouse classes that replace the old parameters.

  As for the Keyboard events:

  - Ascii -> Key.Text
  - Code -> Key.Code
  - State -> Key.Shift, Key.Control, Key.Alt

  As for the Mouse events:

  - X -> Mouse.X
  - Y -> Mouse.Y
  - Button -> Mouse.Left, Mouse.Middle, Mouse.Right, Mouse.Shift, Mouse.Control, Mouse.Alt
  - Orientation -> Mouse.Orientation
  - Delta -> Mouse.Delta

  The old Mouse.X and Mouse.Y were renamed as Mouse.ScreenX and Mouse.ScreenY.

* A new property Iconview.Scrollbar.




--------------------------------------------------------------------------------------
 gambas-0.65 - 29 Aug 2003
--------------------------------------------------------------------------------------

* Gambas should compile and run on FreeBSD.


DEVELOPMENT ENVIRONMENT

* Help browser search now display page titles instead of file names. The vertical
  position in the page is memorized when you click on the backward and forward
  buttons.


INTERPRETER

* Shared libraries preloading has been reworked, so that LD_PRELOAD can be defined
  by the user.

* BUG: a bug with LD_PRELOAD defined to a void string has been fixed.

* Support for systems having no setenv() and unsetenv() system functions, like
  Solaris.


QT COMPONENT

* Splitter.Pos property has been replaced by Splitter.Layout that returns a string
  and not an integer array.


QT EXTENDED COMPONENT

* TextView has two new properties: TextView.ScrollX and TextView.ScrollY. They
  returned the position of the visible part of the displayed HTML page.



--------------------------------------------------------------------------------------
 gambas-0.64 - 10 Aug 2003
--------------------------------------------------------------------------------------

* If the KDE component is not compiled, then its libraries are not preloaded.
  Yes, it is logical ! But sometimes I'm not :-)

* There is no one sole component description file anymore, but one description file
  for each component now.


DEVELOPMENT ENVIRONMENT

* A menu entry allows you closing all opened windows.

* The IDE now tells the compiler which classes use the project. You need not use the
  CLASS keyword anymore.


DATABASE MANAGER

* The database manager now deals with database specific encodings.

* It saves its configuration in ~/.gambas/gambas-database-manager.conf now.

* Circular references were found and destroy :-)


COMPILER

* The syntax to raise event has changed. Instead of simply calling the event like
  a function, you must use the RAISE keyword now:

  RAISE Event AS ReturnValue

* The compiler now can receive a list of pre-declared classes in a file. If so, then
  an identifier beginning with an uppercase character is not supposed to be class.
  It must have been specified in the class list file.


INTERPRETER

* The Component.Controls property is useless now, it has been removed.

* The QUIT instruction, that immediately stops a program, has been implemented.

* BUG: temporary files are now correctly deleted.

* A new Gambas API: GB.System.Charset(), that returns the charset used by the
  localization.

* BUG: the LIKE instruction should work correctly now.

* BUG: the debugger now shoud display local variable values correctly now.


DATABASE COMPONENT

* Database charset management.


QT COMPONENT

* ListView, TreeView and ColumnView Rename events are now posted instead of
  being raised immediately, so that you can do what you want during the
  event handler without crashing the QT library.


QT EXTENDED COMPONENT

* BUG: TableView.Refresh didn't work. It was replaced internally by a Hide()
  followed by a Show(). This is an awful workaround, but I found no other solution.




--------------------------------------------------------------------------------------
 gambas-0.63 - 01 Aug 2003
--------------------------------------------------------------------------------------

* KDE libraries are all preloaded when using the KDE components.

* Global destructors are now called when unloading C++ components like the QT one.


DEVELOPMENT ENVIRONMENT

* Bug fixes into the debugger : you can safely trace a class located in another
  project, and trace code using static arrays (static arrays are arrays declared
  this way: DIM iTab[200] AS Integer).

* The new project/file/icon selector made by Fabien Bodard has been integrated.
  Be careful : this is beta code !

* The IDE warns you when you want to import a translation different from the
  current language in the translation dialog.

* Arabic, Croatian, Indonesian and Spanish translations were integrated.


COMPILER

* A new keyword PROPERTY to declare properties in your class.
  You declare the property this way: PROPERTY [ READ ] <Name> AS <Type>
  Then you must write a function to read the property, and, if the property is
  not read-only, a function to write it. The function names are PropertyName_Read()
  and PropertyName_Write().


INTERPRETER

* PROPERTY keyword management.

* BUG: fixed a memory leak in Dir$() when browsing archive contents.

* BUG: the debugger can display all types of local variables.


QT COMPONENT

* Draw.Text() syntax has changed. The new method can draw multi-line text aligned
  inside a rectangle.

* Setting DrawingArea.Enabled to FALSE prevents the control to draw anything on the
  screen, even its background.

* NEW: Font.Ascent and Font.Descent.

* Printer.Command has been replaced by Printer.Name.

* NEW: Printer.MinPage and Printer.MaxPage.

* ComboBoxes automatically adjust their height to its font size.

* NEW: Control.Id that returns the control window handle.

* NEW: TextView.Clear() clears the textview.




--------------------------------------------------------------------------------------
 gambas-0.62 - 14 Jul 2003
--------------------------------------------------------------------------------------

* The IDE configuration file has changed. Now the IDE uses a shared class named
  Config that is stored in the Util archive library.

  This class stores configuration files into the '~/.gambas' directory and gives
  them the name of the application by default : for example, the IDE configuration
  file is '~/.gambas/gambas.conf'.

  The format of these configuration files follows the Window .INI file format.

  The old '~/.gambas' file will be removed by the installation process.


DEVELOPMENT ENVIRONMENT

* Portuguese (Brazilian) translation by Nelson Ferraz.

* An internet link in the help browser now runs mozilla by default, or any other
  internet browser defined in the preferences dialog.

* The icon editor toolbox has now its own window. This window is common for all
  opened icon editors.

* Files in the project tree can now be copied, cutted and pasted, i.e. moved and
  copied. They now have their own properties window.

* Welcome dialog icons were redesigned.

* Project properties dialog were redesigned and simplified.

* BUG: translation search and check were fixed. Some messages were not examined
  by the algorithm.

* The project tree is sorted with directories first.


COMPILER

* A new keyword, COPY, to copy files.

* A new routine, IsDir(), to know if a file is a directory.


INTERPRETER

* A new keyword, COPY, to copy files.

* A new routine, IsDir(), to know if a file is a directory.

* BUG: The file search between archives has been fixed. You can use USE safely now :-)

* Operators can now have up to 63 operands.


QT COMPONENT

* The QT component should compile fine now with QT 3.0.

* The Window.State property now works correctly. Bugs in QT and/or KDE window manager
  were gone round.




--------------------------------------------------------------------------------------
 gambas-0.61 - 05 Jul 2003
--------------------------------------------------------------------------------------

* ./configure got a new option, --disable-preloading, to prevent the gambas programs
  to preload shared libraries. It seems that preloading don't work on some systems
  for unknown reasons.

* Now you can use other gambas archive (executable) as libraries !

* The examples are copied into the gambas installation path. They can be directly
  opened from the IDE menu.


DEVELOPMENT ENVIRONMENT

* The welcome dialog was reworked.


INTERPRETER

* The Library class has been renamed as Component.

* Application.Charset and Application.Language has been moved to the new System
  class.

* Endianness management. Class compiled on a big-endian architecture can be loaded
  on a little-endian architecture. And conversely.

* You can use the BIG or the LITTLE keyword with the OPEN instruction, to specify
  that the READ and WRITE instructions will read big-endian or little-endian data.

  Example:

    OPEN "./image.bmp" FOR READ LITTLE AS #hFile

  This will read a BMP file, that is known to be stored in little endian format
  (Tell me if I'm wrong).

* The USE "path" keyword tells the interpreter to search classes in the specified
  Gambas archive. If the path is relative, the archive is search on the same
  directory where the project is, and then in the executable path of gambas if needed
  (/opt/gambas/bin by default).

  You can use USE (!) for several archives if you need.


QT COMPONENT

* TreeView, ListView and ColumnView classes : The Click event is raised only if the
  mouse is used.




--------------------------------------------------------------------------------------
 gambas-0.60 - 25 Jun 2003
--------------------------------------------------------------------------------------

* WARNING: Older Gambas project must be recompiled to work with this version.

* Component information is now completely stored in one unique text file located
  in /opt/gambas/lib. This file is named 'components'. It contains component names
  that can be translated.

* The old *.help files were removed. They are replaced by the Wiki contents.

* The format of the *.info files generated by the 'gbi' command has changed.


DEVELOPMENT ENVIRONMENT

* The Component Explorer has been replaced by a new Help Browser based on the
  Gambas Wiki made by Rob.

* The ToolBar has been reworked.


INTERPRETER

* The preloaded shared libraries now contain the library version number, so that
  systems that do not have the symbolic link "*.so" can use Gambas.

* The OPEN keyword has changed. You can pass a new option WATCH to watch files.
  A watched file calls the "File_Read" and "File_Write" event handlers as needed.

* BUG: you can safely set breakpoints on classes that have a static constructor.


QT COMPONENT

* BUG: Containers that has been explicitely destroyed by the Delete method are
  nowdetected. Adding controls to them does not crash anymore, but raise an error
  instead.

* The WAIT instruction now process only redraw events, and block user input during
  its execution.


GAMBAS EDITOR COMPONENT

* Strings with escape characters are now correctly colorized.




--------------------------------------------------------------------------------------
 gambas-0.58 - 14 Jun 2003
--------------------------------------------------------------------------------------

* The QT library and KDE core library are now preloaded when the corresponding
  components are used. This is a workaround to make Gambas work on Gentoo, SuSE,
  RedHat, and X11 using NVidia driver. This was achieved by using the LD_PRELOAD
  environment variable.

* KDE libraries are now detected using 'kde-config'. KDE includes are detected by
  browsing KDE prefix returned by this command.

* QT includes are detected using qptrlist.h, a file that exists only in QT 3.


DEVELOPMENT ENVIRONMENT

* You can arrange controls horizontally and verticaly in the form editor. The tab
  order follows this arrangement.


DATABASE MANAGER

* BUG: Default user password is void now.


INTERPRETER

* Support for preloading shared libraries that don't like not to be loaded at
  program startup.

* BUG: Imbricated posted event are correctly managed now.

* BUG: Rol(), Ror(), Shl() and Shr() functions now work as expected on byte and
  short integers.

* BUG: Trying to do an impossible object conversion cannot lead to a crash
  anymore.


QT COMPONENT

* The Flat property of Button and ToggleButton controls were renamed as Border.

* ScrollBar and Border properties are added to many view controls.

* Control.Grab() grabs the contents of a control into a picture.

* Desktop.Grab() grabs the contents of the desktop into a picture.

* Printer.PageSize is now a string and not an integer constant anymore.

* New property Printer.Command to set the system command used for printing.

* New property Printer.File to create a postcript file instead of printing.

* Many other new properties in the Printer class: Resolution, ColorMode, FromPage,
  ToPage, Copies.

* BUG: changing Border property of a window having no icon does not crash anymore.


QT EXTENSION COMPONENT

* New control TextView, to display an HTML page and follow the links clicked by
  the user.


DATABASE COMPONENT

* BUG: mysql driver does not crash anymore when enumerating a result.

* BUG: mysql 4.0 workaround

* BUG: Database.Name and Database.System are now read-only property.




--------------------------------------------------------------------------------------
 gambas-0.57 - 25 May 2003
--------------------------------------------------------------------------------------

* Gambas now is developed on a Mandrake 9.1, and so should compile fine on it.
  The postgresql library is correctly detected.

* The font sizes used in gambas application now depends on the last version of the
  XFree86 font system, fontconfig v2. They will be too small on older Linux systems
  that uses fontconfig v1.


DEVELOPMENT ENVIRONMENT

* A new window for displaying local variables during a debugging session.

* BUG: inserting controls in a ScrollView now works in all cases.


DATABASE MANAGER

* The database manager has a MDI interface now.


COMPILER

* A new option for VB users to make form controls public.


QT COMPONENT

* Forms are now self-executable. Thus, you can define a form as startup class in
  the IDE, without being obliged to define a static public function Main() that
  instanciates and shows it.

* New methods, Draw.Polygon() and Draw.Polyline() to draw... polygons and polylines.


QT EXTENSION COMPONENT

* A new control, Workspace, which can be used for creating MDI applications.

* A new property, Splitter.Pos, that returns an array of integers that define
  the relative widths of each control inside the splitter.




--------------------------------------------------------------------------------------
 gambas-0.56 - 11 May 2003
--------------------------------------------------------------------------------------

* The code specific to QT 3.1 is not compiled anymore when using QT 3.0.


DEVELOPMENT ENVIRONMENT

* The debugging interface has been redesigned. There is now a console that allows
  the user to evaluate any expression, during debugging or not.

* BUG: creating controls inside ScrollView works correctly now.

* Tips of the day are stored in separate files, each file containing only one tip
  and all its translations.


DATABASE MANAGER

* Many changes and bug fixes.


COMPILER

* Parsing numbers is now much more flexible and tolerant :-)


INTERPRETER

* BUG: many race conditions were removed in the Process management routines.
  Everything should work correctly now.

* BUG: Using the debugger does not interfer with the error management of the
  debugged program anymore.

* BUG: calling a static method on an object reference works now.

* BUG: accessing files into executable archives should work in all cases now.
  Consequently, translations will be used when lauching an executable.

* The subroutine Eval() has been implemented.

* BUG: Using void strings with some string operators don't crash the interpreter
  anymore.


QT COMPONENT

* The Splitter control has been removed, and replaced by a new one in the QT
  extension component.

* The DrawingArea control has been optimized when cached, by directly using
  Xlib methods instead of QT ones. The refresh seems to be twice faster !

* BUG: Window.Visible now works.


QT EXTENSION COMPONENT

* The new Splitter control is now a container directly based on the QSplitter
  widget.


DATABASE COMPONENT

* Many changes and many bug fixes in the database component and its interface.

* The slowness of seeking into SQL request with the mysql driver has been fixed.




--------------------------------------------------------------------------------------
 gambas-0.55 - 05 May 2003
--------------------------------------------------------------------------------------


DEVELOPMENT ENVIRONMENT

* Licence text is now separated from the authors list, so that translators can
  translate it.

* You can run the gambas database manager directly from the "Tools" menu.

* Some fixes and changes in the file/project/image selector.


DATABASE MANAGER

* The database manager is now usable and almost terminated.


COMPILER

* A new subroutine Array() that returns a array. The type of the array depends on
  the type of the first argument.

* A syntax shortcut for the previous subroutine is the use of square brackets.
  See the EXEC example below.


INTERPRETER

* The EXEC instruction has been replaced by two instructions: EXEC and SHELL.

  SHELL works like the old EXEC, by calling "/bin/sh" in the background.

  EXEC runs the specified process directly, and takes all its arguments in
  a string array.

  Example:

    EXEC [ "/usr/bin/ls", "-la" ] WAIT

* A new method on string arrays: Join(), that catenate each string in the array,
  by adding an optional separator between the strings.

  Example:

    PRINT [ "a", "b", "c" ].Join("-")
    a-b-c

* BUG: process management has been fixed, so that you can launch several processes
  without blocking.

* A new property Process.State, that returns the state of a process: Stopped, Running
  or Crashed.

* A new property Process.Value to get the value returned by a process, or the signal
  that was raised by a crash.


QT COMPONENT

* New methods Font.Width() and Font.Height() to get the dimensions of a text
  displayed with a specified font.

* New property IconView.WordWrap.

* Shortcut management now works with QT 3.1 - until the next version of QT ;-)

* New control Splitter.


QT EXTENSION COMPONENT

* A new control, TableView, to display large tables by extracting data on demand.


DATABASE COMPONENT

* MySQL driver is almost completed. There are some problems with user management
  and large result sets yet.

* Many bug fixes. There are some problems yet:
  - Don't use table names in uppercase with postgresql.
  - Don't use user management with mysql.




--------------------------------------------------------------------------------------
 gambas-0.54 - 21 Apr 2003
--------------------------------------------------------------------------------------

* BUG: I have fixed the bug in the gbi program that made the database driver
  disappear !

* A preview version of a new tool: the Gambas Database Manager. You can find
  it in the app/gbdbmgr directory.


DEVELOPMENT ENVIRONMENT

* When you import a translation, it is now merged with the current one, instead of
  replacing it.


INTERPRETER

* BUG: the interprer could enter in an infinite loop at the end of a program
  when releasing the loaded classes. The new algorithm do not loop anymore, but
  there are problems yet.

* New method Object[].Find()

* BUG: calling functions with a variable number of arguments was broken in the
  last version.


QT COMPONENT

* A new control: TableView

* New property TabStrip.Orientation, to define the tab position.

* New method TreeView.Item.Clear, to clear all children of an item.

* A new event to manage the wheel mouse: MouseWheel

* A new event to manage the context menu: Menu. You should use it instead of
  the Click event with a test on the mouse button.

* A new event in GridView: Scroll, raised when the GridView has scrolled.


DATABASE COMPONENT

* A new API to manage databases and users. This API is subject to change,
  depending on what the MySQL driver needs.

* You can access table definition with a real class named Table.

* New method Result.MoveTo()

* If you don't specify a database name in the Connection object, a default
  database is opened in the PostgreSQL driver.




--------------------------------------------------------------------------------------
 gambas-0.53 - 14 Apr 2003
--------------------------------------------------------------------------------------

* Translations were integrated: French, Italian and Dutch.

* In the configure scripts, the *.info files are generated in a way compatible with
  systems having only /bin/sh.

* Use of "const char *" instead of "char *" in the interpreter and compiler source
  code, in the hope of helping the compiler to optimize the code.

* Component descriptions are now stored in a unique file (/opt/gambas/lib/components)
  These descriptions can be translated inside this file !


DEVELOPMENT ENVIRONMENT

* A few new tips of the day.

* BUG: bug fixes in the translation dialog, and new functions.

* BUG: selecting controls inside a ScrollView works now.

* BUG: Menu editor displays menus list correctly now.


COMPILER

* Many changes to help porting on Solaris.


INTERPRETER

* Many changes to help porting on Solaris.

* A new property Application.Charset to get the charset used by the system.

* Collection now returns their elements in the order they have been inserted.

* BUG: the stack was corrupted when calling destructors, that lead to a crash when you
  clicked on a form in the IDE just after having deleted a control.

* BUG: the locale management were fixed.

* BUG: The end of file is correctly detected in buffered streams now.

* BUG: The Conv$() now really works.


QT COMPONENT

* The QT component is compatible with QT 3.1 now.

* TopOnly, a new Window property to compel a window to stay on top of the others.

* Fonts full name are now separated by commas and not spaces anymore.

* Picture.Pixels[] returns a useful color when dealing with alpha channel now.
  It blends the opaque pixel color with a white background.


GAMBAS EDITOR COMPONENT

* Datatypes coloring.


DATABASE COMPONENT

* A new API for manipulating the database structure, and its corresponding
  implementation in the postgresql driver. Do not use this new API with mysql,
  or everything will crash !

  This API is still in beta version, and subject to change.

* The Database class has been renamed to Connection.


EXAMPLES

* Examples were recompiled, and corrected.

* The Console example were fix to deal with the different charsets.




--------------------------------------------------------------------------------------
 gambas-0.52 - 30 Mar 2003
--------------------------------------------------------------------------------------

* Some Solaris specific stuffs are being integrated.


DEVELOPMENT ENVIRONMENT

* BUG: Loading a form containing a unknown control class does not crash the IDE
  anymore. The unknown control is simply replaced by a frame.

* Some little changes in the icon editor.

* Some fixes in the translation dialog.

* You can make source archives from the 'Project -> Make source archive...' menu.


COMPILER

* Object fields are reordered so that they are correctly aligned in memory,
  because processors like SPARC cannot access 16 bits data at odd addresses,
  for example.

* BUG: Translation file modification time are correctly managed now, so that they
  are compiled if the source file has changed.


INTERPRETER

* Manage temporary files. All temporary files are located into '/tmp/gambas'.

* The new subroutine Temp$() returns a unique temporary file name.

* BUG: Language detection works on SuSE now.


QT COMPONENT

* BUG: The use of QSizeGrip widget do not crash anymore on SuSE.




--------------------------------------------------------------------------------------
 gambas-0.51 - 22 Mar 2003
--------------------------------------------------------------------------------------

* ./configure script detects correctly KDE 3 now.

* You can disable MySQL and/or PostgreSQL database drivers.

* Gambas is compiled without creating *.pot files owned by root user.


DEVELOPMENT ENVIRONMENT

* Reworked translation dialog box.


INTERPRETER

* BUG: Errors raised into native methods could lead to memory leaks.


QT COMPONENT

* TreeView, ListView and ColumnView items are now displayed by default in the order
  they have been added.

* Resizable modal dialogs have an automatic resize grip now.

* BUG: when a modal dialog is displayed, you cannot close other windows anymore.


DATABASE COMPONENT

* MySQL driver optimizations.




--------------------------------------------------------------------------------------
 gambas-0.50 - 16 Mar 2003
--------------------------------------------------------------------------------------

* WARNING: New projects are not compatible with older versions !

* Gambas projects are now translatable. This implied internal changes like using
  UTF-8 charset, and so:

* Translations are stored into the '.lang' directory of the project.


DEVELOPMENT ENVIRONMENT

* A new dialog used for translating projects.

* The entire IDE source code is translatable now.


COMPILER

* Non-ascii characters are not allowed in identifiers anymore. The 'ยง' character
  has been replaced by the '$' character.

* You mark strings that must be translated by enclosing them between braces.


INTERPRETER

* Internationalization management routines.

* Conv$(), a new subroutine for converting strings between different charsets.

* BUG: some bug that led to segfaults in class destructors were fixed.

* BUG: Dir$(), Exist() and Stat() work with relative paths now.

* Printing a positive number with PRINT does not print a space before anymore.


QT COMPONENT

* Replacing latin1 charset by UTF-8 charset.

* BUG: setting an IconView item picture works now.

* BUG: RadioButtons should work correctly now.

* BUG: Menus stay disabled when you change their caption.

* A new ScrollBar property for TreeView, ListView and ColumnView controls.


KDE COMPONENT

* Optimizations in DCOP call marshaling.

* KDE application are automatically launched on a DCOP request if necessary.


DATABASE COMPONENT

* A new MySQL driver made by Nigel Gerrard. This is a beta version.

* BUG: You can use Find, Edit and Create with tables whose primary index is not
  on the first fields of the table.




--------------------------------------------------------------------------------------
 gambas-0.45 - 23 Feb 2003
--------------------------------------------------------------------------------------

* Gambas now compiles on RedHat 8.0 ! It was just a matter of linking with libgcc_s,
  which is automatic on other distributions. Hum...

* There is a database component now ! It can only manage PostgreSQL at the moment.

* You can script KDE applications with Gambas ! This feature is based on DCOP.
  There is an example named "Scripting" in the example directory, that let you
  change wallpaper periodically.


ARCHIVER

* BUG: the .project file is now always putted first in the archive, so that
  loading libraries at startup works.


INTERPRETER

* Native classes can intercept calls to unknown symbols. This is used by the KDE
  component for DCOP calls.

* BUG: calling methods on objets created and returned by a function does not crash
  anymore. Example: PRINT Split("a,b,c").Find("b")

* Native methods can have a variable number of arguments.

* BUG: Application.Path always returns a absolute path now.


QT COMPONENT

* TODO: there are bugs in menu management that will be corrected in the next
  version.


KDE COMPONENT

* New classes to manage DCOP calls. See the Scripting example for more information.


DATABASE COMPONENT

* Hello world ! I'm looking for a guy who can write the MySQL driver...




--------------------------------------------------------------------------------------
 gambas-0.44 - 02 Feb 2003
--------------------------------------------------------------------------------------

* QT moc files are not distributed anymore, so that Gambas compiles with new versions
  of the QT library.


DEVELOPMENT ENVIRONMENT

* A new file selection dialog made by Fabien Bodard has been integrated.

* Many dialogs to create forms, classes, modules, icons, directories and text files.

* Examples programs has been modified to use the new Array implementation.


COMPILER

* BUG: now you can define two labels with the same name in two different functions.


INTERPRETER

* BUG: evaluating expressions should work now.

* Constructor calling algorithm has been modified. Now each inherited class consumes
  the arguments passed to the constructor. The child class gets the first arguments,
  and the parent classes gets the following arguments not consumed by the previous
  classes.

  But note that the parent constructors are always called first !

* BUG: Trying to open a directory raises an error now.



QT COMPONENT

* BUG: Labels have the correct alignment at creation now.

* Now you can embed forms into forms ! In other words, you can use forms like controls.
  To embed a form, just adds the parent form to the constructor of the embedded form.

  For example, if your form has a constructor with two arguments A and B, you embed it
  by calling NEW MyForm(A, B, ParentForm)

* You can modify the internal picture cache, with Picture[Name] = ...

* You can flush the internal picture cache with the Picture.Flush() method.

* New event 'Cursor' for the TextArea control. It is raised when the cursor position
  is changed.

* BUG: now ComboBox controls do not intercept key shortcuts anymore in the form editor.




--------------------------------------------------------------------------------------
 gambas-0.43 - 19 Jan 2003
--------------------------------------------------------------------------------------

* The optimization flag is now -Os. It seems that an interpreter compiled with -Os
  is about 15% faster than an interpreter compiled without optimization.


DEVELOPMENT ENVIRONMENT

* Changes in the icon editor.

* BUG: the mascot shows as specified at startup now.

* BUG: the debugger now intercepts errors raised during the initialization of a class
  and before entering then Main() function.



INTERPRETER

* Calling convention between interpreter and component have been rewritten. It is
  now faster and has less memory footprint.

* The Array class has been replaced by faster specialized versions : Integer[],
  String[], Date[], Object[] and Variant[].

* The String[] class Sort method accept an argument that specifies the algorithm
  used for comparing data: binaray, case insensitive, or locale aware comparison.

* The FromString method of the Array class has been removed. Split() must be used
  instead.

* Some changes and clean-ups in the Gambas Component API. The GB.Collection and
  GB.Array methods have been written.

* Collection constructor accepts an optional argument to specify if the key matching
  algorithm is case sensitive or not.


QT GAMBAS EDITOR

* The Editor is now a control.




--------------------------------------------------------------------------------------
 gambas-0.42 - 10 Jan 2003
--------------------------------------------------------------------------------------

* Package uses "maintainer-mode" so that automake-1.4 is not required.

* KDE component is optional now. It is disabled by default, and you enable it
  with the "--enable-kde-component" configure option.


DEVELOPMENT ENVIRONMENT

* Some cosmetics changes in the component explorer.

* Some work and bug fixes in the icon editor.


INTERPRETER

* BUG: command-line interpretation is correct now.

* Memory management routines were reworked: GNU GLibC mcheck() and mtrace()
  were used to verify that there is no memory leaks in the interpreter and the
  compiler.

* BUG: don't declare small functions inside functions anymore, as some compilers
  don't like that.


QT COMPONENT

* New properties: Draw.FillX and Draw.FillY, to specify the origin of the
  brushes used to paint.
  
* New Methods: Picture.Flip, Picture.Rotate and Picture.Stretch to flip, rotate
  and stretch pictures.
  
* BUG: You can close the last window during the execution of the Main() function
  with no strange side effects anymore.




--------------------------------------------------------------------------------------
 gambas-0.41 - 01 Jan 2003
--------------------------------------------------------------------------------------

* A new tool named 'gbi' has been created. It creates component information files
  for the new component explorer.


DEVELOPMENT ENVIRONMENT

* BUG: Some fixes in the debugger for components very long to load.

* A completely reworked component explorer.

* BUG: Mascot shows and hides correctly now.

* An internal icon editor. It have some bugs... ;-)


COMPILER

* BUG: you cannot put instructions between SELECT and the first CASE, nor have a
  void SELECT statement anymore.


INTERPRETER

* New classes Libraries and Classes, and some virtual classes has been renamed.

* Component can be preloaded at startup. Alas, it does not change many things.
  KDE shared libraries cannot be loaded with RTLD_LAZY without crashing.

* Default class method can be dynamic now.

* BUG: Split() does not modify its string argument anymore.

* New property Id in class Process.

* BUG: There was a stack leak in the array operator.


QT COMPONENT

* The component is almost completely documented.

* Text selection interfaces are uniform now.

* Completely reworked Picture class: it can manage Pixmaps, Images and Metafiles now.

* New method HSV in class Color.

* DrawingArea redraws are automatically cached in a pixmap before being displayed,
  reducing flickering.

* Many virtual classes has been renamed.

* In class TabStrip, properties Index and Current are distinct now.

* BUG: events Expand and Collapse were forgotten in ColumnView.

* HTML text in TextLabel can access files inside Gambas archives with a relative
  path.




--------------------------------------------------------------------------------------
 gambas-0.40 - 22 Dec 2002
--------------------------------------------------------------------------------------


DEVELOPMENT ENVIRONMENT

* An animated logo.

* You can configure the size of the handles in the form editor.

* BUG: Adding an icon to a menu works now.

* A toolbar on the main window.


COMPILER

* BUG: "Symbol already declared" error message corrected.


INTERPRETER

* BUG: calling an method on an anonymous object reference returns
  a variant now, so that no optimization occurs, and consequently
  no interpreter crash !

* BUG: The EXEC instruction does not hang anymore in some cases.

* BUG: WAIT waits the right duration now.


QT COMPONENT

* The IconView control.

* Reworked interface in TreeView, ListView and ColumnView.

* BUG: TextBox.Align works correctly now.

* You can rename nodes in TreeView, ListView and ColumnView.

* BUG: Window.X and Window.Y properties return the right value even
  if the window is hidden.

* Quitting the application syncs with the X server now, so that pending
  request are processed without displaying X11 error messages.

* BUG: Form close event is raised in every situation.


QT EXTENSION COMPONENT

* Two new widgets in gb.qt.ext: ScrollBar and Slider.




--------------------------------------------------------------------------------------
 gambas-0.39 - 02 Nov 2002
--------------------------------------------------------------------------------------

* Gambas is now developed under a Mandrake 9.0 with gcc 3.2

* configure script can now find QT stuff on a Gentoo distribution.

* Many common routines are really shared now, by using template files in the
  "./src/share" source directory.

* The horrible Qt-3.0 hack has been definitely removed, thanks to the spontaneous()
  method of the QEvent QT class.


DEVELOPMENT ENVIRONMENT

* Toolbox has been rewritten so that it can handle controls added by components.

* Debugger has been completely rewritten. It can watch expressions now !

* Project properties dialog has been redrawn, and has a "Apply" button.

* Form editor can display a grid.

* Property dialog can handle FLOAT properties.

* IDE now works when a project path contains spaces.

* Control icons are now stored in gambas installation directory.
  By default: /opt/gambas/lib/control


COMPILER

* BUG: Corrected a bug in buffer management routines that lead to a crash when a
  string constant was too long (more than 255 characters)

* BUG: Corrected a bug in symbol table management routines that prevent the compiler
  to store strings greater than 255 characters in output files.

* You can instanciate classes dynamically now, with the following syntax:

    sClassName = "Button"
    MyCollection = NEW(sClassName, hParent)


INTERPRETER

* New property: Application.Id

* BUG: WAIT now works as expected.

* Debugger can evaluate expressions.

* One can instanciate classes dynamically.

* BUG: a bug has been fixed in inheritance management.

* BUG: a bug has been fixed in function signature management.


QT COMPONENT

* Clipping management in Draw class.

* New property: TextArea.Wrap

* Reworked Control.Mouse property.

* New property: Window.Mask. With this property, windows can have any shape !

* Reworked TextBox, ComboBox and TextArea interface.


QT GAMBAS EDITOR

* Cosmetic changes in the editor.




--------------------------------------------------------------------------------------
 gambas-0.38 - 04 Sep 2002
--------------------------------------------------------------------------------------

DEVELOPMENT ENVIRONMENT

* The "Snap to grid" is now a property of the project.

* New welcome dialog.

* Many nice little icons in every menu.

* "Tips of the day" dialog.

* New dialogs for creating modules, classes and forms.

* A new dialog for editing the values of ListBox and ComboBox controls.


COMPILER

* BUG: the error messages are correct now.


INTERPRETER

* BUG: sometimes exceptions could crash the interpreter by incorrectly releasing
  the return value of functions. Corrected.

* CStr(0.0) now returns "0" and not "0.E+" anymore.

* You can always cast objects to their real types now.

* BUG: Events raised by a user class define the LAST keyword now.


QT COMPONENT

* Reworking of many widgets interfaces. This rework is not complete yet !

* A new widget: TextLabel, that is a Label displaying rich text.

* The Key class can transform key name into key code with the array operator.

* Menu can have icons.

* Buttons with a picture and no text center their picture now.

* SaveFile dialog now accepts a file name. The bug of Qt 2.X have been corrected !

* The Picture class can manage SVG files now ! Its interface has gained a Type property
  and behaves a bit differently.

* ListBox have a Sorted property instead of a Sort method.

* ListBox and ComboBox have a Find method.

* ColumnView has a Header property to show or hide its header.




--------------------------------------------------------------------------------------
 gambas-0.37 - 10 Oct 2002
--------------------------------------------------------------------------------------

* The QT component have been ported to QT 3.0.x ! Because of internal changes in
  event management, the port was very difficult. I was compeled to make an HORRIBLE
  hack for that to work. This hack is the "my_qobject.h" file in ./src/lib/qt :-(
  and the new MyApplication methods in ./src/lib/qt/main.cpp

* There is a new component: gb.eval. This component is used to evaluate expressions
  at execution time. There is an example name "Evaluator" in ./examples


DEVELOPMENT ENVIRONMENT

* BUG: The component explorer shows the classes of the components used by the
  project only.

* BUG: The help for inherited methods or properties now display correctly.


INTERPRETER

* A new method Array.Find, to find the position of an element in an array of strings.


QT COMPONENT

* When you do not specify the family name in a font, the default font family is used.
  It is the same for the font size.

* The ProgressBar widget interface has changed.

* The TextArea widget has lost some of its properties, due to the QT 3.0.x port.




--------------------------------------------------------------------------------------
 gambas-0.36 - 28 Jul 2002
--------------------------------------------------------------------------------------


* This package uses GNU libtool and libltdl now to compile plug-ins. The consequences
  are the following :

  - The plug-in file names have the ".la" extension instead of ".so", and begin with
   "lib.". For example, "gb.qt.so" is now "lib.gb.qt.la".

  - The plug-in system should work on many other unices than Linux.

  - The package is bigger.

* Adrian Schroeter, from SuSE, sent me a patch to fix some problems with gcc 3.1,
  automake 1.6 and 64 bits architectures. Everything was integrated, except the removal
  of the PACKED directive, that broke the class loader.


DEVELOPMENT ENVIRONMENT

* BUG: Now you can change a source editor color to black.

* BUG: code editor repaints when resizing are correct again.


INTERPRETER

* The Message() subroutine has been removed.

* You can pass a size when you create an Array. For example, you can do
  MyArray = NEW Array(12) to get a array with 12 empty slots.

* Internal class values are automatically converted to class objects if needed.


COMPILER

* The Message() subroutine has been removed.


QT COMPONENT

* BUG: the bug that prevented the button to appear in the IDE property sheet has benn
  fixed.

* As the Message() subroutine has been removed, there is a new class, Message, to display
  message boxes.

* The Clipboard interface has been completely rewritten.

* The Printer class. This class is experimental, as the QPrinter class of QT 2 has some
  problems. Everything will be solved when the QT component will be converted to QT 3 !




--------------------------------------------------------------------------------------
 gambas-0.35 - 23 Jul 2002
--------------------------------------------------------------------------------------


* Component classes and symbols can now be described by a text file.

  - This file must have the name of the shared library, with the extension ".help"
    instead of ".so".

  - They are placed in the "/lib/help" directory of the installation.

  - They can be translated. A translated file must be placed in a sub-directory of
    "/lib/help". The name of the subdirectory must be then name of the language.
    For example, a french translated help file will be placed under "/lib/help/fr".


DEVELOPMENT ENVIRONMENT

* Control handles are now visible on a black background in the form editor.

* Comment / uncomment blocks in the code editor.

* Cut/Copy/Paste/Undo/Redo now works in code editor popup menu.

* Reworked component explorer.

* Clicking with the right mouse button in the form editor now select widgets.

* Reworked project properties form.

* BUG: Changing grid property now works (it was the Val() bug fault).


INTERPRETER

* Two new functions: LTrim$() and RTrim$().

* The Library class, used to load components and get information about them.

* New property: Application.User.

* BUG: Val() should work correctly now (at last !).

* Reworked constructor calling with inherited classes.

* BUG: Open() really likes the TRY instruction now !


COMPILER

* Mkdir() and Rmdir() are now instructions.


QT COMPONENT

* A new widget: ColumnView (a listview with columns).

* FIX: X and Y properties of hidden windows are now correct.

* Window.Border property can be "None" now. Not very well tested.

* New property: Window.State, to show the window normal, minimized, maximized,
  or even in full-screen mode. Not very well tested too :-(

* New property: DrawingArea.TrackMouse, to get mouse move events even if no
  mouse button is pressed.




--------------------------------------------------------------------------------------
 gambas-0.34 - 13 Jul 2002
--------------------------------------------------------------------------------------


* Examples are located in their own directory.

* Three example programs : a notepad, an image viewer and a console.

* Components are now located in their own directory (/lib).

* A new option in ./configure to enable profiling.

* All project files are now named ".project". The name of the project comes from the
  name of its directory.

* You must pass the project directory to gbc, gba and gbx now, not the project file.

* If no project directory is passed to gbc, gba or gbx, the current directory is
  used.


DEVELOPMENT ENVIRONMENT

* A new event in the Gambas editor, in order to show cursor coordinates.

* BUG: Replace should work correctly now.

* Reworked interface for creating and opening projects.

* A nice (?) dialog at program starting.

* BUG: Menu editor should not crash anymore.


INTERPRETER

* File.Name ignores a trailing slash on its path parameter. In other words,
  File.Name("/home/benoit") == File.Name("/home/benoit/")

* A process does not send Write or Error events anymore, when it has been stopped by
  the Kill method.

* A killed process detach itself from its parent.

* BUGS: Many bugs corrected in the Val() function.

* BUG: Chr$() could crash the interpreter. Fixed.

* BUG: OPEN supports being TRY-ied now, without memory leaks.


COMPILER

* The SWAP instruction : it swaps two variables by using the stack.


QT COMPONENT

* The DrawingArea widget, with a pretty Cached property.

* The ProgressBar widget.

* Headers were rewritten so that warnings are avoided in other compilers than mine.

* Border property were rewritten, so that Border.Sunken and Border.Raised look nicer
  (in my own opinion).

* BUG: corrected something in Menu widget, so that menu editor in IDE does not crash
  anymore.

* Picture.Save method. Not tested !




--------------------------------------------------------------------------------------
 gambas-0.33 - 27 Jun 2002
--------------------------------------------------------------------------------------


* Use -O2 instead of -O3 for optimized compilation. I do not trust -O3...


DEVELOPMENT ENVIRONMENT

* BUG: Class explorer was broken by class List changes of 0.32. Corrected.

* BUG: "Replace All" in Find dialog works correctly now.


INTERPRETER

* The error management instructions TRY, CATCH, FINALLY should work correctly
  now. They should not left pending references to objects.

* The object referencement has been completly rewritten to deal with error
  management.

* The string allocation routines has been completly rewritten for the same
  goal.

* The class Error was completed with new properties and methods.

* New property Application.Name that returns the name of the project.

* BUG: instanciate static classes correctly raises errors now.


QT COMPONENT

* FIX: Message boxes uses the application Name now.




--------------------------------------------------------------------------------------
 gambas-0.32 - 14 Jun 2002
--------------------------------------------------------------------------------------


DEVELOPMENT ENVIRONMENT

* BUG: setting a breakpoint was broken in 0.31. Corrected.

* BUG: menu editor was broken in 0.31. Corrected.


INTERPRETER

* Native classes can be overloaded. For example, the gb.qt component
  overload the built-in Application class, and adds it three properties.

* BUG: strings generated by Replace() and Subst() were not null terminated.

* BUG: loop management was buggy in 0.31.


QT COMPONENT

* ListBox and ComboBox interface has been redesigned.

* New List property that allows to define each element of a ListBox or a ComboBox.

* Screen class has been replaced by Desktop class and a overloaded Application class.




--------------------------------------------------------------------------------------
 gambas-0.31 - 12 Jun 2002
--------------------------------------------------------------------------------------


* Should compile under system where both QT2 and QT3 are installed.


DEVELOPMENT ENVIRONMENT

* You can stop (not pause !) a debugged program anytime.


INTERPRETER

* Completly reworked string management.

* SEEK can takes a negative parameter for seeking from the end of the file.


COMPILER

* BUG: SEEK instruction compiles now.


QT COMPONENT

* BUG: ScrollView does not crash anymore when you removed its last child.

* BUG: Menu events are posted rather than immediately sent. So, the form editor
  does not crash anymore when you delete a container from the popup menu !




--------------------------------------------------------------------------------------
 gambas-0.30 - 31 May 2002
--------------------------------------------------------------------------------------


DEVELOPMENT ENVIRONMENT

* Project configuration and IDE configuration.

* IDE windows save their position and size.

* Opening recent files.

* BUG: Breakpoint management is almost correct.

* BUG: Text properties can contain special characters.

* Clicking on a menu in the IDE opens the source editor in an event procedure.

* You can open any event procedure via the popup menu in the form editor.

* Deleting project files.

* Renaming project files.

* BUG: Check that the startup class is defined before running the project.


INTERPRETER

* New instructions: QUIT, STOP, EXEC.

* New subroutines: Split(), If(), Choose(), Replace$().

* New property Collection.Key, that gives the key of the last extracted collection
  element.

* Process management routines reworked.

* Components can register 'post routines' executed as soon as possible by the event
  loop. Very practical in signal handlers, because interpreters routines are not
  reentrant.

* BUG: "read-only property" error message corrected.

* Project stack size is used.

* BUG: NOT works with variants now.


COMPILER

* New instructions: QUIT, STOP, EXEC, INC, DEC.

* Some subroutines become instructions: RENAME, KILL


QT COMPONENT

* BUG: CheckBox raises Click event in all cases now.

* New ScrollView container.

* New method TreeView.Exist.

* The event loop quits when there is no opened windows nor running process left now.

* New ToolTip property for every control.

* BUG: modal windows do not send Close event twice anymore.


QT GAMBAS EDITOR

* Optimizations in syntax colouring.

* Some code cleanup. (There is a lot to do yet)




--------------------------------------------------------------------------------------
 gambas-0.25 - 19 May 2002
--------------------------------------------------------------------------------------


DEVELOPMENT ENVIRONMENT

* Debugger should be usable now ! :-p

* Double-clicking on a control automatically opens the source editor in
  an event procedure.

* Some little bugs corrected.


INTERPRETER

* BUG: Date management routines where buggy ! Corrected.

* BUG: conversion from variant to date works now.


QT COMPONENT

* The first created window becomes the "main" window now. The main window
  receives automatically menu shortcuts from every other non-modal window.

* BUG: Reading Text property from a TextArea is safe now.

* New properties in TextArea control : Cut, Copy, Paste, Undo & Redo.
  Same thing must be done with the TextBox control.




--------------------------------------------------------------------------------------
 gambas-0.24 - 14 May 2002
--------------------------------------------------------------------------------------


DEVELOPMENT ENVIRONMENT

* The Debugger, and many other things...


COMPILER

* Complete debugging information


INTERPRETER

* Internal debugger

* Process Management class

* BUG: Hex$() and Bin$() with no precision specified work now

* BUG: Objects that raise events now detach automatically at the end of the program.
  This removes the circular dependancy with their parent, and so memory is freed.

* Do not save stack frames with local variables. So the virtual machine register PP
  is no more useful.


QT COMPONENT

* The Node class is renamed as Item.

* The ListView class.

* BUG: the "after" parameter of TreeView.Add works now.

* BUG: deleting item in TreeView works now.

* The TreeView.Mode property has constants now.

* The TreeView.Sorted property

* BUG: TreeView raises the Click event in all circumstance now.

* BUG: Window raises the first Move and Raise events when shown.




--------------------------------------------------------------------------------------
 gambas-0.23 - 07 Apr 2002
--------------------------------------------------------------------------------------


DEVELOPMENT ENVIRONMENT

* New "About" dialog

* The "Find" dialog is finished, but the regular expression

* More shortcuts to the Menu editor.

* The Timer control


ARCHIVER

* Archiver is verbose only if the -v option is specified


COMPILER

* Subroutines names can be used as class names

* An undeclared symbol is supposed to be a class when its first character is an
  uppercase letter

* You can write expressions on several lines, provided that each line break directly
  follows an operator


INTERPRETER

* "List" class renamed as "Array"

* A class can be used as a function, if it has a public method named "_call"

* Rewritten stack management routine. The old one was totally broken. The new
  one is a simple fixed size memory allocation.

* The NOT operator can deal with String and Object datatypes

* Instr() and RInstr() work now.

* BUG: Many string subroutines freed their string parameters before using them


QT COMPONENT

* Buttons can have pixmap AND text now.

* The Timer control

* Every container has a ClientX and ClientY property.

* Image has a Alignment property.

* Menubar with no menu disappears now.

* Screen has a Busy property.

* BUG: new Control event management filter, that deals with objects being destroyed.

* A Center method, to center windows on screen.

* Correct bugs in undo/redo text indents.




--------------------------------------------------------------------------------------
 gambas-0.22 - 18 Mar 2002
--------------------------------------------------------------------------------------

* New algorithm to search QT librairies. Should work under SuSE 7.3

* The Font property can be resetted to its default value.

* Windows can have an icon now.

* New property "Home" to the App class that returns the user home
  directory.

* New icons for project files.

* BUG: correct a bug that sometimes freed return values twice.

* BUG: correct a bug that crashed the interpreter when a null value
  was passed to a string management routine.

* The Button and ToggleButton classes are now totally distinct.

* BUG: go round a bug in QT Table widget that caused infinite loops
  in interpreter event management.

* Modal dialog windows can return a integer or boolean value to ShowModal()
  by passing it as parameter to the Close() method.

* BUG: correct a bug in QT interface declaration that randomly crashed
  the interpreter.

* Many changes in development environment (open project dialog, save file
  dialog, etc.)




--------------------------------------------------------------------------------------
 gambas-0.21 - 04 Mar 2002
--------------------------------------------------------------------------------------

* Remove the absolute path of a library in the gambas.project file, so that
  not installing Gambas under "/opt/gambas" is possible.

* BUG: correct a bug that sometime crashed the compiler when you use long
  integer constant (like a color in a form).

* Add ToggleButton to development environment.

* Standardize interface of TextBox, GambasEditor and ComboBox controls.

* Project properties dialog is working.
  One can define the startup class of the project.

* The "Default" property of a Button control works now.

* Add a "Cancel" property to the Button control.

* Remove useless "Format" property from the Clipboard class.




--------------------------------------------------------------------------------------
 gambas-0.20 - 28 Feb 2002
--------------------------------------------------------------------------------------

* Yeah ! First public release !