* NEW: Arrays and structures can be sent to an extern function argument.
The extern function will receive the address of the data.
git-svn-id: svn://localhost/gambas/trunk@3035 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a crash is structure declaration analyze.
[INTERPRETER]
* NEW: Support for static array of structures. A static array of structure
'MyStruct' will create a temporary object whose class is '$MyStruct[]'.
That class does not inherit 'Array', and has only a few methods of the
Array class.
* NEW: Byte[].ToString() is a new method to convert a byte array to a
string. If no length is specified, ToString() assumes that the byte array
is a zero-terminated string.
* NEW: Byte[].FromString() is a new method that fills a byte array with the
contents of a string.
[COMPILER]
* NEW: Declaration of static arrays of structures is allowed.
git-svn-id: svn://localhost/gambas/trunk@3031 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Breakpoints are correctly reset when opening a new project.
[INTERPRETER]
* BUG: The GB.NewString(), GB.NewZeroString() and GB.TempString() API
signature has changed. All components have been updated accordingly.
* OPT: Many optimizations to speed up the interpreter.
[GB.EVAL]
* NEW: During syntax highlighting, the first character of class names is
automatically converted to uppercase.
git-svn-id: svn://localhost/gambas/trunk@2992 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Object file format has changed, so bytecode version has been
incremented, and all projects must be recompiled. Yes, again!
[INTERPRETER]
* OPT: Optimizations in comparison operators.
* OPT: Optimize symbol lookup tables.
[COMPILER]
* OPT: Optimize symbol lookup tables.
[GB.EVAL]
* BUG: Gambas source code is correctly highlighted again.
* NEW: Quoted identifiers (those between '{' and '}') are highlighted more
intelligently now.
git-svn-id: svn://localhost/gambas/trunk@2971 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been increased, and so all projects must be
recompiled.
[INTERPRETER]
* OPT: Objects that do not raise events do not allocate the event
management structure anymore. That save four pointers by object.
* NEW: Structure management is done, and embedded (static) structures are
handled too.
* BUG: Static array management was fixed.
* NEW: All functions synonymous whose name ends with a question mark have
been removed.
[COMPILER]
* OPT: Some optimization again.
* BUG: EXTERN declarations compile again.
[GB.DB.SQLITE2]
* BUG: Fix a misuse of GB.NewString().
git-svn-id: svn://localhost/gambas/trunk@2970 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: More work on structure support.
* BUG: Fix optimization in error management.
[COMPILER]
* OPT: More optimizations. The Gambas 3 compiler is faster to compile the
Gambas 3 IDE than the Gambas 2 compiler to compile the Gambas 2 IDE,
which is smaller!
* NEW: Do not compute variable position and size, as it is done by the
interpreter anyway.
[GB.EVAL]
* NEW: Use the same optimizations as the compiler in the parser.
[GB.XML.RPC]
* BUG: The component compiles again.
git-svn-id: svn://localhost/gambas/trunk@2964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Use GB.ReturnNewZeroString() instead of GB.ReturnNewString() now.
All components using the old syntax should be fixed now.
* NEW: Start to manage structures.
git-svn-id: svn://localhost/gambas/trunk@2957 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The bytecode version has been incremented, as the object file format
has changed.
[DEVELOPMENT ENVIRONMENT]
* BUG: Handle static arrays in automatic completion.
[INTERPRETER]
* BUG: Handle public static arrays correctly.
[COMPILER]
* NEW: Handle structures, and write them inside object files.
* NEW: Class options (EXPORT, CREATE...) can only be written at the
beginning of the source file now.
* BUG: Fix some use of uninitialized values.
* BUG: Correctly write public static arrays in *.info files.
* NEW: Do not support old OPEN syntax anymore.
git-svn-id: svn://localhost/gambas/trunk@2952 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not compile database manager anymore, it has been deprecated.
* BUG: Compile the gb.dbus component.
[INTERPRETER]
* NEW: Pointer is a real datatype now.
* NEW: Static arrays came back. They are now like real array classes,
except that they are not resizable.
* NEW: IsPointer() is a new function that tells if an expression is a
pointer.
* NEW: All XXXX?() function synonymous were removed. Use the IsXXXX()
version instead.
* NEW: Remove now useless source files.
[COMPILER]
* NEW: Static arrays came back, with actually the same syntax as before.
[EXAMPLES]
* BUG: Fix the examples according to the new array syntax.
git-svn-id: svn://localhost/gambas/trunk@2949 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Do not show a form in the treeview if no component implements its
family.
[INTERPRETER]
* NEW: Detect overridden classes, and automatically convert the return
datatype of Gambas and native functions using an overridden class.
* NEW: Convert overridden classes in the NEW instruction.
git-svn-id: svn://localhost/gambas/trunk@2912 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Work continues on integrating the database manager.
* NEW: Some cosmetic changes in the way controls are drawing on the form
editor.
* NEW: Panels with Border property set to None are now drawn with a light
border.
* BUG: Fix the "Show tab" button and menu.
[INTERPRETER]
* NEW: _attach is a new dynamic special method that is called when an
object is attached to or detached from its event observer. The first
argument of this method is the event observer, and the second argument
the event handler prefix.
[COMPILER]
* NEW: An expression can be a NEW instruction now. Beware that it does not
work inside braces.
[GB.DB]
* BUG: Fix an error message in the sqlite handler.
[GB.DB.FORM]
* NEW: DataSource.Table can now be any SQL query. The Filter property is
ignored in that case.
* BUG: Setting DataSource.Table to NULL correctly resets the DataSource and
its children.
* NEW: DataView automatically adjusts the height of its rows to the
contents.
* NEW: DataSource.CacheSize is a new property to set the number of rows
stored in the internal DataSource cache. When this property is set to
zero, the cache size takes its default value (64 rows).
[GB.DB.SQLITE2]
* BUG: Fix a crash in datatype mapping.
[GB.DB.SQLITE3]
* BUG: Fix a crash in datatype mapping.
[GB.QT4]
* BUG: Window.AutoResize property works as expected now.
* OPT: Some optimizations in GridView.
* NEW: GridView.Rows[].Visible returns if a specific row is visible.
* NEW: GridView.Rows[].EnsureVisible ensures that a specific row is
visible.
* BUG: Draw.Style.Panel draws the same thing as a panel border now.
* BUG: Window.Closed always returns the accurate value now.
git-svn-id: svn://localhost/gambas/trunk@2108 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Do not use "boolean" anymore. Use "bool" instead.
[COMPILER]
* NEW: Do not use "boolean" anymore. Use "bool" instead.
git-svn-id: svn://localhost/gambas/trunk@2091 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the arrangement of the welcome dialog and the project property
component list.
* BUG: Undo now works on procedure declaration automatically inserted.
[INTERPRETER]
* BUG: Object.Lock(), Object.Unlock() and Object.IsLocked() now work as
expected on Observer objects.
[GB.QT]
* BUG: Label and TextLabel autoresize routine has been fixed.
* BUG: ScrollView now arrange its contents again when one of its scrollbars
is shown or hidden.
* BUG: Minimum size of window dialogs works again.
* BUG: Top-level windows now arrange its contents on resize events in all
cases as expected.
git-svn-id: svn://localhost/gambas/trunk@1875 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Add a debugging message when there is a symbol override error.
git-svn-id: svn://localhost/gambas/trunk@1839 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The [...] syntax can create specialized arrays. For example,
"[[1,2],[3,4]]" now returns an Integer[][] object.
* NEW: The internal CLASS structure has been reorganized.
git-svn-id: svn://localhost/gambas/trunk@1787 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: If loading a class has failed, do not try to load it twice. Raise
an error instead.
git-svn-id: svn://localhost/gambas/trunk@1760 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been incremented. All projects must be
recompiled!
[DEVELOPMENT ENVIRONMENT]
* BUG: Rewrite code that used badly overridden symbols.
[INTERPRETER]
* BUG: Check that the overridding symbol is compatible with the overridden
one. For example, a static method can be overridden by a static method
only, a constant can be overriden by a static property, and so on.
* NEW: A new error message for badly overridden symbols.
* NEW: Tr$() is a new function that translates its argument and returns it.
[GB.GTK]
* BUG: Rewrite code that used badly overridden symbols. Affected classes
are: Window, TabStrip,
[GB.FORM.MDI]
* BUG: Translate action descriptions in the action configuration dialog.
* NEW: Sort actions by description in the action configuration dialog.
* NEW: Automatically remember action configuration dialog size.
* BUG: Fix authorized shortcuts in the shortcut edit dialog.
* BUG: Rewrite code that used badly overridden symbols. Workspace is the
only affected class.
[GB.SETTINGS]
* NEW: LoadWindow() and SaveWindow() are two new public methods to load
and save window position by specifying the settings key.
[GB.QT]
* BUG: Rewrite code that used badly overridden symbols. Affected classes
are: Window, TabStrip,
git-svn-id: svn://localhost/gambas/trunk@1759 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Do not use <pre> markups, they cannot break lines.
[DEVELOPMENT ENVIRONMENT]
* NEW: Replace anonymous object arrays by template arrays.
* NEW: A button that clears the shortcut in the menu editor.
* NEW: When evaluating expression in the console, a semi-colon at the end
of the expression prevents the end newline to be printed, like in the
PRINT instruction.
* NEW: CTRL+G in the console makes it flash.
* OPT: Remove the CCoolTabs class, that was not used anymore.
* NEW: The main selected control is unselectable in the form editor now.
* NEW: Selected controls can be resized by pressing CTRL and an arrow key.
* NEW: Some form editor shortcuts have been changed to not conflict with
the previous feature.
* BUG: Fix the horizontal position of the automatic completion.
* BUG: Look in project classes before component classes in automatic
completion.
[INTERPRETER]
* BUG: Fix the memory allocation debug routines.
* BUG: When instanciating a template array class, search for element class
symbol locally first.
* BUG: Template arrays now correctly release their elements.
* NEW: Update copyright year in gb_common.h header file.
[COMPILER]
* BUG: Manage .list and .info files incrementally, so that they are up to
date even when the project is not fully compiled.
* BUG: Float and Single constants are correctly written in the .info file.
[GB.QT.EXT]
* BUG: Fix some painting artifacts in Editor.
* BUG: In Editor, Undo and Redo now should always work correctly when a
line is rewritten.
* NEW: In Editor, when a line is rewritten, the Change event is always
emitted.
* NEW: The Editor is cleared now when it prints a CTRL+L character.
* NEW: The Editor flashes now when it prints a CTRL+G character.
git-svn-id: svn://localhost/gambas/trunk@1576 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Some clean-up in the acinclude.m4 file.
[DEVELOPMENT ENVIRONMENT]
* NEW: Small changes in the project property dialog layout.
* BUG: When opening a project, the packager information is correctly reset.
[WIKI CGI SCRIPT]
* NEW: Simplified chinese translation updated.
* NEW: Support for albanian language.
* NEW: New web site look.
[INTERPRETER]
* BUG: Really really fix the bit manipulation functions.
* NEW: Support for types object arrays. For example: Label[] for an array
of Labels.
[COMPILER]
* NEW: Support for types object arrays.
* BUG: Do not store the source file full path into object files, so that
rmplint does not cry.
[GB.GTK]
* BUG: Fix the tray icon management. Now GTK+ icons work on Gnome and KDE,
and are fully transparent!
* BUG: Tray icons are correctly refreshed when the icon is changed.
[GB.QT]
* BUG: Fix the menu shortcut management.
* BUG: Tray icons are correctly refreshed when the icon is changed.
git-svn-id: svn://localhost/gambas/trunk@1529 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use colorgcc if it is present. Beware that ccache removes the
colors.
[DEVELOPMENT ENVIRONMENT]
* BUG: Fix the output console search.
* BUG: When making a package, ignore the charset translation errors while
printing the commands output.
* NEW: Support for the Khmer language.
[WIKI CGI SCRIPT]
* NEW: Support for the macedonian language.
[INTERPRETER]
* BUG: Fix the interpreter for gcc 4.3.
* NEW: Prints the gcc version used for compiling the interpreter when
running 'gbx2 -h'.
* BUG: Fix the initialization of standard input/output streams.
[COMPILER]
* BUG: Fix a compilation warning on FILE_set_chown.
[GB.GTK]
* BUG: Initialize correctly the gControl class.
* BUG: Draw.Tile now works correctly.
* BUG: Fix the vertical alignment management.
* BUG: The alignment of a GridView cell with a picture only is correct now.
[GB.QT]
* BUG: Choose the right moc executable when both QT3 and QT4 are installed
on the system.
* BUG: Fix the system tray icons for KDE 3.5.10. :-)
* BUG: The alignment of a GridView cell with a picture only is correct now.
git-svn-id: svn://localhost/gambas/trunk@1493 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the title of the search list window.
* NEW: Support for hebrew translations.
[INTERPRETER]
* BUG: Do not free the classes before the _free() special methods are
executed.
[GB.FORM]
* BUG: Fix the default event declaration of ValueBox.
[GB.QT]
* BUG: GridView.Clear now correctly refreshes the GridView.
git-svn-id: svn://localhost/gambas/trunk@1452 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Little changes in the hall of fame animation.
[INTERPRETER]
* NEW: Do not warn against circular references when the program aborts
because of an error.
[COMPILER]
* NEW: The error message displayed when you try to return a value in a
procedure is more explicit now.
[GB.FORM.MDI]
* BUG: When a MDI child window is activated, the focus is set on it unless
one of its child control already has the focus.
[GB.GTK]
* BUG: Fix Application.Busy when forms are embedded.
* BUG: ComboBox does not raise the Click event anymore when its Text
property changes.
* BUG: Fix the management of Window Activate and Deactivate events.
* BUG: Fix the management of GotFocus and LostFocus events.
* BUG: SetFocus is correctly honored when used inside the Open event
handler of an embedded form.
* BUG: Desktop.Scale is now computed the same way as in gb.qt.
[GB.QT]
* BUG: SetFocus is correctly honored when used inside the Open event
handler of an embedded form.
git-svn-id: svn://localhost/gambas/trunk@1436 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New API for returning the parent (event observer) of an object.
[COMPILER]
* BUG: Setting a property without having to use ME is possible now, if the
property is defined in the same file of course.
* NEW: Mid$() can be used on the left side of an assignment.
[GB.FORM]
* BUG: ValueBox now reformats its contents after its Value property has
been set.
[GB.GTK]
* BUG: Composed keys are correctly handled again by KeyPress events, but
the SCIM input method does not work yet.
* BUG: Form are their own event observer only if no event observer is
defined at form instanciation.
* BUG: The default tray icon is the same as gb.qt now.
[GB.QT]
* BUG: TrayIcon objects are correctly destroyed at program exit.
* BUG: Form are their own event observer only if no event observer is
defined at form instanciation.
* BUG: TrayIcon Width, Height, ScreenX and ScreenY properties do not crash
anymore when the tray icon is hidden. They return zero instead.
git-svn-id: svn://localhost/gambas/trunk@1187 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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: A warning message is displayed when the GNU translation tools are
not installed.
* BUG: The code editor method combo-box is correctly updated now.
* BUG: Some fixes in the automatic completion.
* BUG: Replace points by dash in the name of packages generated by the IDE
packager.
* NEW: Updated russian translation
* NEW: Updated french translation
[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]
* OPT: Many optimizations in the string substitution routines, the
internal datatype conversions, the INPUT and LINE INPUT instructions, the
error messages generation, the object and string reference counting, and
the memory allocation routines.
* 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.
* BUG: Val() now ignores thousand separators characters at the end of the
number.
* NEW: A new flag for enabling the stack trace generation at each error.
[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.
[GB.FORM.DIALOG]
* BUG: Dialog buttons now are never cut.
[GB.GTK]
* 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: Message boxes correctly display the text of their buttons now.
[GB.QT]
* 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.SETTINGS]
* NEW: Settings are now stored in ~/.config/gambasX, where X is the
gambas version number.
* BUG: Strings are correctly quoted inside the settings file now.
[GB.WEB]
* NEW: Application.Protocol is a new property that allows to tell the
component that the protocol is not necessarily "http".
git-svn-id: svn://localhost/gambas/trunk@1153 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The external gettext library is now used only on OpenBSD. If needed,
other systems can be added of course.
* BUG: Fix Qt moc detection for OpenBSD.
[DEVELOPMENT ENVIRONMENT]
* NEW: In the menu editor, a new menu is now inserted after the current
menu and not before.
[INTERPRETER]
* BUG: Object.Attach() and Object.Detach() now correctly deals with
Observer objects.
[COMPILER]
* 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.
[GB.GTK]
* BUG: The use of alternative input methods do not print warnings anymore.
git-svn-id: svn://localhost/gambas/trunk@1067 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Native array optimizations are better. For arrays with one
dimension, reading is about 70% faster than gambas2, and writing 40%
faster.
* OPT: Collection array accessors were optimized too. Reading is about 50%
faster and writing 60% faster. Be careful: only the array accessors were
optimized, not the full hash table access, which is the slower part of
the process.
git-svn-id: svn://localhost/gambas/trunk@1036 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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.
* OPT: Native array classes array accessors were optimized. For one
dimension arrays, reading is about 50% faster and writing 25% faster.
The gain is smaller for higher dimensions.
git-svn-id: svn://localhost/gambas/trunk@1035 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for installing control icons in native components.
[64 BITS]
* BUG: Fixed some uses of long datatype in the gb.qt.ext component, the
Splitter and the Container class of gb.qt.
* BUG: Fixed some declarations in the gb.net.curl component.
* NEW: Pointer[] is a new class that represents an array of Pointer values.
* BUG: All gb.qt, gb.gtk and gb.desktop methods that deal with X11 Window
identifiers now use Pointer and Pointer[] datatypes instead of Integer
and Integer[].
* BUG: The Embedder example was updated according to the change above.
[INTERPRETER]
* BUG: Fixed the static array management that was broken by the 64 bits
changes.
[GB.DEBUG]
* BUG: Debug.Write now does nothing if Debug.Start has not been called.
[GB.GTK]
* 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.
* NEW: The GridView Select event was implemented.
git-svn-id: svn://localhost/gambas/trunk@1033 867c0c6c-44f3-4631-809d-bfa615b0a4ec
[CONFIGURATION]
* NEW: 64 bits port.
[EXAMPLES]
* BUG: Fixed the AnalogWatch example.
[WIKI CGI SCRIPT]
* NEW: Some little cosmetic changes.
[INTERPRETER]
* 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.
* OPT: Put some tables into read-only memory. About 1000 bytes are saved
for each running interpreter, except the first one.
* BUG: Does not crash anymore if a component cannot be loaded.
* NEW: Spanish translation updated.
* NEW: A new interpreter API for returning a pointer.
[COMPILER]
* BUG: Correctly compiles LONG constants inside code.
[GB.DEBUG]
* BUG: Compiles and links the gb.debug components with the thread
libraries.
[GB.DB.SQLITE3]
* BUG: Getting the primary index of a table without primary index is safe
now.
[GB.GTK]
* 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: Message boxes use application title without crashing now.
[GB.OPENGL]
* BUG: Disable dead code.
[GB.QT.EXT]
* BUG: TextEdit.TextWidth and TextEdit.TextHeight were not declared as
read-only properties.
[GB.XML.XSLT]
* BUG: XSLT class is now declared as being not creatable.
git-svn-id: svn://localhost/gambas/trunk@1006 867c0c6c-44f3-4631-809d-bfa615b0a4ec