* NEW: Add a GB.FreeStringLater() API to allow components to create a new
string with GB.NewString(), and let the interpreter frees it later.
[GB.GSL]
* NEW: Add a ToString() method to all classes. That method takes two
arguments: the first one tells if number must be localized. The second
one tells if complex numbers and polynomials are converted to a string
that can be sent to Eval().
* BUG: Adding a number N to a Matrix A is equivalent to adding N times the
identity matrix.
* NEW: The '^' operator has been implemented in the Matrix class. Only A^N
where N is an integer is valid.
git-svn-id: svn://localhost/gambas/trunk@4955 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: '_operators' interface has been renamed as '_operator'.
* NEW: Arithmetic operators now can be applied on two objects with
different classes. One at least must implement the '_operator' interface.
* NEW: Each class that implements the '_operator' interface has now an
automatic priority that follows the load order. When a binary operator
has two objects that implement two different '_operator' interface, the
one having the highest priority is used.
* NEW: Implementing all methods in the '_operators' interface is not
mandatory anymore. If one method is not implemented, then it is replaced
by a function that raises a 'Type mismatch' error.
[GB.GSL]
* NEW: Matrix arithmetic has been implemented.
* NEW: Matrix.Determinant() method.
* NEW: Matrix.Invert() method.
* NEW: Matrix.Transpose() method.
* NEW: Matrix _call special method multiplies a matrix by a vector.
* NEW: Vector <-> Array conversion.
git-svn-id: svn://localhost/gambas/trunk@4946 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a new API to create an object without calling the constructors.
[GB.CRYPT]
* BUG: Fix bad casting of strcmp() return value to boolean. The same
security flaw has been found in MySQL recently. See
http://seclists.org/oss-sec/2012/q2/493
[GB.GTK]
* BUG: Fix bad casting of strcmp() return value to boolean in the Font
management.
[GB.GSL]
* NEW: Matrix class built the same way as the Vector class, i.e. with the
ability to switch transparently between Float or Complex elements.
git-svn-id: svn://localhost/gambas/trunk@4945 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Array of classes exported by a component are now correctly handled
by the component interface analyzer.
[INTERPRETER]
* BUG: The _operators interface now correctly takes into account the
"Float - Object" case.
[GB.GSL]
* NEW: Redesign of the Polynomial class. Now it implements a polynomial
that can switch between real and complex coefficients transparently.
* NEW: The ComplexPolynomial class has been removed.
git-svn-id: svn://localhost/gambas/trunk@4929 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Temporary hack in the GB.New() API so that we can pass a number of
arguments in some cases.
[GB.COMPLEX]
* OPT: Do not create complex objects during arithmetic operations when we
are sure that we can reuse a temporary one. That trick can be used in any
'_operators' interface.
git-svn-id: svn://localhost/gambas/trunk@4925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly raise an error when trying to use NULL on classes
implementing the _operators interface.
* NEW: The _convert interface now must handle conversions from any
datatype.
[GB.GSL]
* NEW: Automatic conversion from numbers to Complex.
* NEW: Start implementating the Vector class.
git-svn-id: svn://localhost/gambas/trunk@4913 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: "_operators" is a new interface that allows any native class to be
used with most of arithmetic operators: +, -, *, /, Abs, =, <> at the
moment.
* NEW: The "_convert" interface now allows a class to be converted to any
datatype, not just other classes.
* NEW: Str() and Print uses the "_convert" interface to print a localized
string conversion of any object.
[GB.GSL]
* NEW: Use the new "_operators" interface so that complex numbers can be
handled by standard arithmetic operators.
* NEW: The Complex class now implements the "_convert" interface.
git-svn-id: svn://localhost/gambas/trunk@4908 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Allow to profile time spent waiting for events.
[GB.DEBUG]
* BUG: New profile file format that allows to profile lines of code that
are function calls.
[GB.GTK]
* NEW: Profile time spent waiting for events.
[GB.QT4]
* NEW: Profile time spent waiting for events.
git-svn-id: svn://localhost/gambas/trunk@4747 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Rename all API related to components, and fix components using them.
* NEW: New signal API that allows to catch signals from the event loop.
[GB.GTK]
* BUG: Use g_object_unref() instead of rsvg_handle_free() now.
git-svn-id: svn://localhost/gambas/trunk@4721 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update *.component files to the new format.
* BUG: Fix component TEMPLATE directory.
[EXAMPLES]
* NEW: PhotoTouch: Display the browsed directory path.
[INTERPRETER]
* NEW: Change the 'main' hook syntax. Add a macro to call the previous
'main' hook, so that several hooks can be declared.
[GB.MEDIA]
* NEW: New multimedia component based on GStreamer.
[GB.GTK]
* BUG: Fix timer management so that it is compatible with the GB.Every()
interpreter API.
* NEW: Allows multiple 'main' hooks.
[GB.QT4]
* NEW: Allows multiple 'main' hooks.
git-svn-id: svn://localhost/gambas/trunk@4693 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Take property synonymous into account.
* BUG: Pasting text as comments correctly converts tabulations into spaces.
[INTERPRETER]
* NEW: GB.RaiseBegin() and GB.RaiseEnd() are two new intepreter APIs that
allow to define a callback that will be called if an exception is raised
during a call to GB.Raise().
* BUG: CATCH and FINALLY correctly restore the stack pointer. Without that,
it is possible to use more stack than possible and to crash the
interpreter.
[COMPILER]
* NEW: A property now can has up to four different names. The syntax is:
"Property Name [ , Synonymous1, ..., Synonymous3 ] As Datatype".
[GB.DB]
* BUG: Table.Type property now correctly handle null table types.
[GB.DB.FORM]
* NEW: DataBrowser.Grid is a new property to define the grid visibility.
* BUG: The DataBrowser and DataView controls have been fixed. There is only
one problem to fix that depends on a gb.gtk bug.
[GB.DRAW]
* BUG: Setting Draw.Font to NULL does not crash anymore, and raise an error
instead.
[GB.FORM]
* NEW: The new GridView is finished and replaces the old one now.
* NEW: GridView.ShowCursor is a new property that displays a light cursor
around the current cell when set.
[GB.GTK]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: GTK+ GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.
[GB.QT4]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: Qt4 GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.
* BUG: If the DrawingArea Draw event handler raises an error, then the
interpreter should not crash anymore.
[GB.QT4.EXT]
* BUG: Fix an uninitialized field in Editor internal GLine class.
git-svn-id: svn://localhost/gambas/trunk@4503 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.ReturnConvVariant() is a new API that ensures that the returned
value is a Variant, as now the interpreter does not do the conversion
automatically.
* BUG: Use the new GB.ReturnConvVariant() and the GB.ReturnVariant() API
everywhere it is needed.
git-svn-id: svn://localhost/gambas/trunk@4248 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: New GB.ReturnVariant() API for methods and properties that return a
Variant value.
[GB.DESKTOP]
* BUG: Fix DekstopWindow state properties.
* BUG: Use the new GB.ReturnVariant() API for _Desktop.GetWindowProperty().
git-svn-id: svn://localhost/gambas/trunk@4246 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not use GB.ReturnNull() when returning a void string anymore. Use
the new GB.ReturnVoidString() API instead.
git-svn-id: svn://localhost/gambas/trunk@4216 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Don't use glibc memcmp() to compare strings. My own routine is a
little faster according to valgrind.
* OPT: The UTF-8 String class routines Left(), Mid() and Right() have been
optimized. The positions of the first 256 characters of the last string
processed by the String class are cached.
* OPT: Some native methods can be called like any other native subroutines.
But that can be used only inside the interpreter, not in a component.
* OPT: The '&' operator is faster now when it takes two arguments only (the
most frequent case).
git-svn-id: svn://localhost/gambas/trunk@4106 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New syntax for GB.AddString() and GB.ExtendString() interpreter API.
Do not pass the string by reference anymore.
* NEW: GB.AddChar() is a new API for adding just a char to a string.
[GB.DB.SQLITE2]
* BUG: Fix ignored system call return values.
[GB.DB.SQLITE3]
* BUG: Fix ignored system call return values.
[GB.DB.NET]
* BUG: Fix ignored system call return values.
[GB.V4L]
* BUG: Remove some unused local variables.
git-svn-id: svn://localhost/gambas/trunk@4105 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Abort if a native class declares the same symbol twice.
* NEW: Two more standard error messages declared in gambas.h
git-svn-id: svn://localhost/gambas/trunk@3989 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GridView.Columns[].Expand is a new property that allows to define if
a column automatically expands to fit the GridView visible width,
provided that the GridView.AutoResize property is set. If no column has
its Expand property set, then the last column will expand anyway.
* BUG: Fix a crash in GridView when the gb.gtk component shared library is
freed.
[GB.QT4]
* NEW: GridView.Columns[].Expand is a new property that allows to define if
a column automatically expands to fit the GridView visible width,
provided that the GridView.AutoResize property is set. If no column has
its Expand property set, then the last column will expand anyway.
git-svn-id: svn://localhost/gambas/trunk@3953 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove the unused GB.ExistFile() API.
* NEW: Exist() now takes an additional optional boolean argument that tells
if symbolic links must be followed, like Stat().
* BUG: Fix a possible memory leak if the [...] array creation operator
fails for any reason.
git-svn-id: svn://localhost/gambas/trunk@3940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the use of boolean in the interpreter API.
* NEW: Change the GB.New() API signature, and update all components
accordingly.
git-svn-id: svn://localhost/gambas/trunk@3846 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Some little fixes (icons mainly) in several examples.
[INTERPRETER]
* NEW: Two new interpreter APIs to set and get the value of an object
property.
[GB.DEBUG]
* BUG: Fix a warning message.
[GB.FORM]
* BUG: Setting FileView Foreground and Background properties now work as
expected.
* BUG: IconView takes its Background and Foreground properties into
account now.
[GB.GTK]
* NEW: Control Background and Foreground properties are now automatically
applied to the proxy.
[GB.QT4]
* NEW: Control Background and Foreground properties are now automatically
applied to the proxy.
git-svn-id: svn://localhost/gambas/trunk@3826 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New web site design.
[WIKI CGI SCRIPT]
* NEW: New web site design.
[INTERPRETER]
* BUG: Remove some unused code.
* NEW: Stream got three new methods: Begin, Send & Drop. All WRITE
instructions between a Begin and Send will be merged in one bunch of data
that will be sent when Stream.End() is called. Stream.Drop() is there to
cancel that process.
* BUG: Correctly handle EINTR when writing to the SIGCHLD pipe.
git-svn-id: svn://localhost/gambas/trunk@3730 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New API to return the Gambas installation path.
[GB.SDL]
* BUG: Use the Gambas installation path to find the default font.
git-svn-id: svn://localhost/gambas/trunk@3684 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Error raised inside form generated code are correctly displayed
again.
[INTERPRETER]
* NEW: The GB.Every() API now takes a pointer argument that will be passed
to the callback.
git-svn-id: svn://localhost/gambas/trunk@3430 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't show '$' in the dependencies combo-box of the component
property dialog.
[INTERPRETER]
* NEW: GB.Every() is a new API that allows a component to call a callback
regularly. Useful for polling something for example.
git-svn-id: svn://localhost/gambas/trunk@3429 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly handle all compiler error messages.
[INTERPRETER]
* NEW: Full management of the Single datatype.
* BUG: VarPtr() now works on Single local variables.
* BUG: Remove useless Tag property. It is defined in the Stream class now.
* BUG: Correctly free the Tag property in the Stream class.
[GB.GTK]
* BUG: Rich-text string management has been fixed. The ampersand character,
the "&", ">" and "<" entites are correctly interpreted now.
[GB.NET.CURL]
* BUG: Remove useless Tag property. It is defined in the Stream class now.
[EXAMPLES]
* NEW: The WebBrowser example has a download manager now.
git-svn-id: svn://localhost/gambas/trunk@3296 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not search text inside form anymore.
[INTERPRETER]
* BUG: The startup class is not global anymore, so that it does not
conflict with anythign having the same name in components. The
interpreter API that was returning the startup class has been updated
to reflect that change.
* BUG: File.Name("/a/b/") now returns a void string instead of returning
"b", to be coherent with File.Dir().
[GB.DESKTOP]
* NEW: Use the new API returning the startup class.
[GB.FORM]
* BUG: Setting DirView.Root with a path ending with a slash does not crash
anymore.
[GB.GTK]
* NEW: Use the new API returning the startup class.
[GB.QT4]
* NEW: Use the new API returning the startup class.
[GB.SIGNAL]
* NEW: Use the new API returning the startup class.
git-svn-id: svn://localhost/gambas/trunk@3267 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Interpreter API for enumerating collections is now reentrant.
[GB.DBUS]
* NEW: Use the new collection enumerator function.
git-svn-id: svn://localhost/gambas/trunk@3255 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Polish the DirChooser/FileChooser bookmark button.
[GB.QT4]
* BUG: Send expected Leave and Enter events when a popup is closed.
git-svn-id: svn://localhost/gambas/trunk@3146 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not crash anymore when a native function returns one of its
argument.
* NEW: New interpreter API to enumerate a collection.
[GB.DBUS]
* NEW: Collection are fully supported now.
* NEW: The org.freedesktop.DBus.properties.GetAll() method has been
implemented.
* BUG: Correctly raise an error when calling a D-Bus method fails.
* BUG: Correctly release strings returned by D-Bus functions that must be
released.
git-svn-id: svn://localhost/gambas/trunk@3058 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix class header parsing in automatic completion.
[INTERPRETER]
* BUG: Class[].Signature has been implemented.
* BUG: Fix native method calling when some arguments must be converted.
* NEW: Two new interpreter APIs, GB.BorrowValue() and GB.ReleaseValue(), to
correctly manage values returned by GB.ReadValue().
[GB.DBUS]
* NEW: Support for exporting properties and methods. The GetAll() DBus
method has not been implemented yet, because marshalling Collection is
not supported yet. Sending signals is not supported yet too.
* NEW: The previous DBusObject class has been renamed as DBusProxy.
* NEW: A new DBusObject class. Each Gambas object that inherits DBusObject
is automatically exported through DBus.
* NEW: DBusSignal is a new class to catch DBus signals by giving its
interface name.
git-svn-id: svn://localhost/gambas/trunk@3047 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: New GB.NewZeroString() API to create a Gambas string from a
null-terminated string. Components were modified to use it.
* OPT: Many optimizations everywhere.
[COMPILER]
* OPT: Many optimizations. The compiler should be noticeably faster.
git-svn-id: svn://localhost/gambas/trunk@2953 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: New APIs to get a Gambas stream from a stream object
(GB.Stream.Get), to read data from a stream (GB.Stream.Read) and to write
date to a stream (GB.Steam.Write).
[GB.NET.SMTP]
* BUG: The _Socket property has been replaced by the _Stream property, that
takes a Gambas stream.
* BUG: Correctly release the user and password strings when the SmtpClient
is freed.
git-svn-id: svn://localhost/gambas/trunk@2863 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New interpreter API to browse the project contents.
* BUG: RDir(".") does not crash anymore.
git-svn-id: svn://localhost/gambas/trunk@2861 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for report form continues. Controls declaration has moved
from *.component files to the following Control hidden properties:
_Family, _Group, _IsControl, _IsContainer, _IsMultiContainer, _IsVirtual,
_IsForm. And to the following Form hidden properties: _HiddenControls.
The wiki control documentation will be updated soon.
[COMPILER]
* NEW: Do not print a warning for a missing self-referenced *.list file.
* NEW: The '-L' is a new command-line option to print the license. The '-h'
now only prints help.
[INFORMER]
* BUG: Support for boolean public constants.
[GB.DB.FORM]
* NEW: Update control declarations to the new scheme.
[GB.FORM]
* NEW: Update control declarations to the new scheme.
[GB.GTK]
* NEW: Update control declarations to the new scheme.
[GB.QT4]
* NEW: Update control declarations to the new scheme.
git-svn-id: svn://localhost/gambas/trunk@2708 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Sort project tree view with natural sort.
* NEW: Sort procedure combo-box with natural sort.
[GB.DB.FORM]
* BUG: Setting a "SELECT" request to the DataSource.Table property should
work in all cases now.
[GB.FORM.MDI]
* NEW: Vertical toolbar layout is more clever.
[GB.GTK]
* BUG: Modal windows are really modal.
* BUG: Try to prevent a possible crash in event management.
[GB.GTK.EXT]
* NEW: This component has been removed.
git-svn-id: svn://localhost/gambas/trunk@2669 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: A new interpreter API to get temporary file names.
* NEW: A new interpreter API to copy a file.
* NEW: Rename the GB.GetTempDir() function to GB.TempDir(), and fix all
components using it.
[GB.GTK]
* NEW: SvgImage is a new class that allows to generate SVG files by
painting on it. But it cannot render them.
git-svn-id: svn://localhost/gambas/trunk@2583 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Architecture detection.
* NEW: Updated libtool macros.
[DEVELOPMENT ENVIRONMENT]
* NEW: Highlight the current procedure in the editor procedure popup.
[INTERPRETER]
* BUG: Alignment fixes for the ARM architecture.
[GB.DRAW]
* NEW: Start implementing the new Paint interface.
[GB.GTK]
* BUG: GridView.Clear is now correctly implemented.
git-svn-id: svn://localhost/gambas/trunk@2505 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Arabic translation updated.
[INTERPRETER]
* NEW: A new method in the interpreter API to read a value in memory and
store it in a Gambas value slot.
[GB.DB.ODBC]
* BUG: Fix a warning.
git-svn-id: svn://localhost/gambas/trunk@2206 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the file descriptor watch manager again.
[GB.NET]
* BUG: If writing on Socket fails, do not raise the Write event.
git-svn-id: svn://localhost/gambas/trunk@2005 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Some fixes in real-time search highlighting.
[INTERPRETER]
* BUG: Fix the behaviour of the file descriptor watch manager.
* NEW: All streams now have a Tag property.
[EXAMPLES]
* NEW: ServerSocket and ClientSocket examples were modified to test the new
event of the Socket class.
[GB.GTK]
* BUG: Fix the behaviour of the file descriptor watch manager.
[GB.NET]
* NEW: Socket now has a Write event. This event is raised after something
has been written on the socket, *and* if writing is possible again.
[GB.QT]
* BUG: Fix the behaviour of the file descriptor watch manager.
git-svn-id: svn://localhost/gambas/trunk@2004 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Requesting a component interface automatically loads the component
now.
* NEW: The Image and Picture functions in the interpreter API were removed.
[GB.DRAW]
* NEW: A new function in the Draw interface to get the size of a picture.
This function replaces the removed Picture interpreter API.
[GB.IMAGE]
* NEW: This is a new component that manages images in memory. It implements
the Image class, can create images of many formats (RGB, RGBA, BGRA...)
and convert image data between different formats. This component replaces
the previous interpreter Image API. All components were ported to this
new image management system by loading this component automatically.
Beware that the Image constructor has changed! The transparent property
has been removed, and there is an optional color argument that is used
for initializing the image data. Moreover, many classes (Webcam,
PdfDocument...) that have an Image property lost their Picture property.
Now to get a Picture, you must use the Image property and then convert
the Image to a Picture.
[GB.QT]
* BUG: As now the Image class overrides the one located in gb.image, it
must be declared early, at least earlier than the Picture class.
git-svn-id: svn://localhost/gambas/trunk@1803 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the configuration of gb.image.info.
[INTERPRETER]
* NEW: The GB.LoadFile() and GB.ReleaseFile() API have changed. Now they
always use memory mapping instead of loading the file in memory.
[GB.IMAGE.INFO]
* BUG: Now ImageStat() works with the "~" shortcut in path names.
git-svn-id: svn://localhost/gambas/trunk@1748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimizations in string allocation.
[GB.DB]
* OPT: Optimization in query making. Storing big blobs inside a field in
now about twice faster.
[GB.DB.POSTGRESQL]
* BUG: Fix string quoting for postgresql >= 8.2.
git-svn-id: svn://localhost/gambas/trunk@1687 867c0c6c-44f3-4631-809d-bfa615b0a4ec