* BUG: Fix a crash when using CStr() on an object having a conversion
function.
git-svn-id: svn://localhost/gambas/trunk@6056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Display the error returned by the glibc when a locale cannot be set.
* NEW: Allow the class conversion routine to define the target datatype by
itself.
[GB.DB]
* BUG: The automatic Blob to String conversion does not lead to a crash
anymore.
git-svn-id: svn://localhost/gambas/trunk@5999 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update copyright year to 2013.
[GB.FORM]
* NEW: ImageView is a new control that allows to view an image inside a
scrolled view, at different zoom levels.
* BUG: FileProperties now works correctly if 'gb.desktop' is not used.
* NEW: The FileProperties preview tab now uses an ImageView control and has
a toolbar to zoom the preview.
* BUG: Add the 'linux' and 'gnu' icon in the stock icon list.
git-svn-id: svn://localhost/gambas/trunk@5770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Pointer to string conversion now uses hexadecimal numbers.
[GB.QT4]
* BUG: Clipping now works when drawing pictures or images.
git-svn-id: svn://localhost/gambas/trunk@5478 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix compilation on 32 bits systems.
[GB.FORM]
* NEW: DateChooser got a boolean Border property.
* NEW: ColorChooser got a boolean Border property.
[GB.GTK]
* BUG: Style drawing methods should be correctly clipped now.
* BUG: Compilation with older versions of librsvg should work now.
* BUG: Setting the Paint.Font property with a control font has no side
effects anymore.
* BUG: Drawing richt text and getting rich text size now wrap the text the
same way.
git-svn-id: svn://localhost/gambas/trunk@5474 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Pointer can be converted to String like Integer or Long.
[DEVELOPMENT ENVIRONMENT]
* BUG: Correctly update the '~/.fonts.conf' file when installing the Gambas
font.
[GB.GTK]
* NEW: Remove HSplit and VSplit controls.
[GB.GUI.BASE]
* NEW: HSplit and VSplit controls are now implemented with Gambas.
* BUG: Fix scrollbar layout of ScrollArea and all its descendants.
[GB.QT4]
* NEW: Remove HSplit and VSplit controls.
git-svn-id: svn://localhost/gambas/trunk@5472 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: You can convert a pointer to a static structure now. It is useful
when an extern function has a 'struct XXX **' argument.
git-svn-id: svn://localhost/gambas/trunk@4974 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Remove a useless test in the macro that returns the class of an
object.
* OPT: Some little optimization in some type checks.
git-svn-id: svn://localhost/gambas/trunk@4939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: When converting an instance of A to the class B, try the conversion
interface of A first. If A has no conversion interface, or if it cannot
handle the B class, then try the conversion interface of B if any.
[GB.GSL]
* NEW: Vector class has been implemented.
[GB.JIT]
* NEW: SPEC_CONVERT constant has been replaced by a field in the CLASS
structure.
git-svn-id: svn://localhost/gambas/trunk@4916 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: INPUT now only read strings. It does not convert the read string
with Val() anymore.
* BUG: IIf() and [...] do not accept non-value datatypes (Class and
Function).
* NEW: Start supporting displaying Collection-like classes in the debugger.
git-svn-id: svn://localhost/gambas/trunk@4557 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Byte[].FromString() is a now a static method that creates a new byte
array from a string.
git-svn-id: svn://localhost/gambas/trunk@3918 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove a debugging message in the connection editor.
[INTERPRETER]
* NEW: '_property' is a new special method that must return TRUE when an
unknown symbol (stored in Param.Name) is a property. If that special
method is not implemented, all unknown symbols are methods.
* NEW: Remove the deprecated constant gb.Text.
* NEW: Param.Property has been removed.
[COMPILER]
* NEW: Handle the new '_property' special method. That method must be
public, dynamic, takes no argument, and must return a boolean.
git-svn-id: svn://localhost/gambas/trunk@3915 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix conversion from floating point number to date when the number is
negative.
git-svn-id: svn://localhost/gambas/trunk@3904 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Always translate the True and False string dynamically.
[GB.DB.FORM]
* OPT: Try to minimize refresh when DataSource.Connection is set.
* BUG: DataView editor font is correct now.
[GB.QT4]
* OPT: Changing the number of rows or columns of a GridView does not
trigger a useless refresh anymore.
* OPT: Moving the cursor of a GridView in multiple selection mode does not
trigger a full update anymore.
git-svn-id: svn://localhost/gambas/trunk@3833 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a gb.ShortNumber format to Format$().
* NEW: Use that format for converting Single to String.
* BUG: Check the internal conversion special class method everywhere an
object is converted.
[GB.DEBUG]
* NEW: Use gb.ShortNumber to display Single values.
git-svn-id: svn://localhost/gambas/trunk@3414 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The Val() and IsXXX() functions algorithm has been fixed. Now the
string is trimmed before being converted. Thousand separators are really
valid only to separate thousands. Extra non-space characters at the end
of the string make the conversion fail.
git-svn-id: svn://localhost/gambas/trunk@3382 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The scaring change. IsByte(), IsShort(), IsSingle(), IsString(),
IsPointer(), IsObject() and IsVariant() have been removed. IsNull() has
been kept unchanged.
* NEW: IsInteger() now returns if a string can be converted to an Integer
number.
* NEW: IsLong() now returns if a string can be converted to an Integer or a
Long number.
* NEW: IsFloat() now returns if a string can be converted to a Float, but
not an Integer or a Long.
* NEW: IsNumber() now returns if a string can be converted to an Integer, a
Long or a Float.
* NEW: IsDate() now returns if a string can be converted to a Date.
* NEW: Str(True) and Str(False) now use the translation of the "True" and
"False" string, if they exist in the current project.
* NEW: Val() now uses the translation of the "True" and "False" string, if
they exist in the current project.
git-svn-id: svn://localhost/gambas/trunk@3329 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The argument of Byte@(), Short@()... functions now can be a string.
Then the address of the string in memory is used.
* BUG: Structures allocated with the NEW operator are correctly freed now.
* NEW: READ and WRITE now can deal with structures and embedded arrays.
* NEW: Dir?() synonymous has been removed.
git-svn-id: svn://localhost/gambas/trunk@3322 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: Variants can be constant strings (in database drivers for example).
So keep the constant string datatype when undoing the variant.
Otherwise, the constant string will be assumed to be a Gambas string, and
will be deallocated, which leads to a crash.
git-svn-id: svn://localhost/gambas/trunk@3270 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Conversion between Integer or Long and Pointer is possible now.
* OPT: A little optimizations in extern function management.
git-svn-id: svn://localhost/gambas/trunk@3040 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Print a summary of warning messages after each component
compilation.
[INTERPRETER]
* BUG: StrPtr() with a length argument now works correctly.
* NEW: Support for callbacks: when converting a function to a Pointer, an
internal closure is created with the libffi library. The pointer then can
be sent to any extern function as function pointer argument.
* BUG: Opening memory stream should work in all cases now.
git-svn-id: svn://localhost/gambas/trunk@3038 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been incremented, so all projects need to be
recompiled!
[INTERPRETER]
* OPT: Many little optimizations.
* OPT: Avoid calls to setjmp() when it is possible.
* OPT: Do not encode the stack drop inside the CALL instruction.
Executables are a bit larger, but a little speed is gained.
[COMPILER]
* OPT: Do not encode the stack drop inside the CALL instruction.
Executables are a bit larger, but a little speed is gained.
git-svn-id: svn://localhost/gambas/trunk@3013 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Many optimizations again.
* BUG: Fix an unitialized variable in string to float conversion routine.
* BUG: Handle extern functions that return a pointer.
git-svn-id: svn://localhost/gambas/trunk@3003 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Some optimizations again in memory allocator, object releasing
routine, arithmetic operators, class variable reader, line-by-line stream
reader, class symbol sort routine.
* BUG: Using constant strings inside variant, like database drivers, works
correctly again and does not crash the interpreter anymore.
git-svn-id: svn://localhost/gambas/trunk@2996 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: 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
* 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: Support for "static" arrays is finally removed.
[COMPILER]
* NEW: Support for "static" arrays is finally removed.
git-svn-id: svn://localhost/gambas/trunk@2945 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: Support for the Index class interface changes.
* BUG: CSV import does not crash anymore when the imported file size is
lower than 64K.
* BUG: Do not crash if a component is not installed.
[INTERPRETER]
* BUG: Error.Text does not split the error message and its argument in
debug mode.
* BUG: Fix many breaks in strict aliasing rules.
[SCRIPTER]
* BUG: Do not crash if a component is not installed.
[GB.DB]
* NEW: Better support for postgresql schemas.
* NEW: Connection.Quote() takes one more optional boolean argument that
tells if we want to quote a table name. In that case, schemas are taken
into account.
* NEW: Connection.FormatBlob() is a new function that returns a string that
can be used as a blob contents in a SQL expression.
* NEW: Index.Fields now returns a string array of index fields.
* NEW: Index.Add() second argument is now a string array of index fields.
git-svn-id: svn://localhost/gambas/trunk@2442 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The _unknown() method is now correctly called when reading *and*
writing unknown properties. _unknown() is called with no arguments when
reading the property, and with one argument (the new property value) when
writing it.
* BUG: Classes declared in the Gambas part of a component now should
correctly override classes declared in the C/C++ part.
[GB.DBUS]
* NEW: Hide native methods of the DBus class.
* NEW: The syntax for calling a method is:
DBus[<Application>][<Object>,<Interface>].<Method>(<Arguments>)
<Application> can be prefixed by "system://" to access the system bus.
* NEW: Properties are readable and writable with this syntax:
DBus[<Application>][<Object>,<Interface>].<Property>
* NEW: DBusVariant is a new class that allows to send a Variant to a DBus
method by specifying is DBus type. Otherwise, when using Variant
directly, the associated DBus type is guessed automatically, which may
not be accurate is some cases.
git-svn-id: svn://localhost/gambas/trunk@2218 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