* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.
* BUG: Eval() is correctly profiled now.
[COMPILER]
* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.
git-svn-id: svn://localhost/gambas/trunk@4743 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add some debugging options directly in the 'Debug' menu.
* NEW: A new option to activate the profiling of the debugged project.
* NEW: Profiling windows. Not finished yet.
[INTERPRETER]
* BUG: Fix a crash that could occur if a error is raised inside an event
handler.
* NEW: Support for profiling.
* BUG: Fix a crash that could occur if a error is raised inside a signal
callback.
[GB.DEBUG]
* NEW: Support for profiling.
[GB.FORM]
* NEW: GridView now raises a Sort event when the sort properties are
changed.
* BUG: Fix a crash when changing the IconPanel Count property.
[GB.GTK]
* BUG: Fix the Font.Copy() method.
git-svn-id: svn://localhost/gambas/trunk@4740 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Even() is a new subroutine that returns if a number is even.
* NEW: Odd() is a new subroutine that returns if a number is odd.
[GB.GTK]
* BUG: Close all windows correctly when a QUIT instruction is executed.
[GB.QT4]
* BUG: Close all windows correctly when a QUIT instruction is executed.
git-svn-id: svn://localhost/gambas/trunk@4615 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not try to change the background color of menus. It breaks GTK+
widget style like Ambiance.
[GB.WEB]
* BUG: Setting a Request value to NULL now works as expected.
git-svn-id: svn://localhost/gambas/trunk@4573 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GOSUB can be recursive now, by saving the control variables, and
restoring them on RETURN.
[COMPILER]
* NEW: GOSUB can be used on any top-level labels.
git-svn-id: svn://localhost/gambas/trunk@4534 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New GOSUB instruction. You return from a GOSUB with the RETURN
instruction alone. Consequently, you cannot exit from a 'SUB' with it if
there is a pending GOSUB. The GOSUB stack is only limited by the
available memory.
[COMPILER]
* NEW: New GOSUB instruction.
git-svn-id: svn://localhost/gambas/trunk@4530 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the form editor grid horizontal position.
[INTERPRETER]
* NEW: IsNan() is a new function that returns if a floating point value is
not a number.
* NEW: IsInf() is a new function that returns +1 if a floating point value
is +Inf, -1 if it is -Inf, and 0 if it is a normal number.
* NEW: Swap$() is a new function that swaps a string.
* NEW: The MkBool$(), MkShort$(), MkInt$()... functions come back!
[COMPILER]
* NEW: +Inf and -Inf are two new keywords for representing the
corresponding special floating values.
git-svn-id: svn://localhost/gambas/trunk@4435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not try to handle Home and End keys in editors.
* BUG: Fix the translation of error messages made by the debugger.
* NEW: Update error message list.
[INTERPRETER]
* NEW: Chmod, Chown and Chgrp were implemented.
* NEW: Stat.Auth is a new property that returns the file mode as a string,
using the format of the 'chmod' shell command.
* NEW: Rmdir raises a specific 'Directory is not empty' error now, when
trying to remove a non-empty directory.
[COMPILER]
* NEW: Chmod <path> To <mode> was implemented. <mode> is a string having
the same format as the 'chmod' shell command.
* NEW: Chown <path> To <user> was implemented. <user> is the name of the
user as defined in the /etc/passwd file.
* NEW: Chgrp <path> To <group> was implemented. <user> is the name of the
group as defined in the /etc/group file.
git-svn-id: svn://localhost/gambas/trunk@4400 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: System.FullVersion now returns the full version string, with major,
minor and release.
* BUG: Missing return values are correctly catched in operators now.
git-svn-id: svn://localhost/gambas/trunk@4395 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New "Gamabs" highlight theme.
* BUG: When showing the search dialog, the search text is correctly
selected in all cases now.
* BUG: Importing a report (or any form that is not a GUI form) now
correctly imports the class file.
[EXAMPLES]
* NEW: Add a text clipping example in the 'Painting' example.
[INTERPRETER]
* OPT: Replace() is now faster when the search string and the replace
string are both one character length strings.
[COMPILER]
* NEW: The string escape character '\v' was added.
[GB.GTK]
* BUG: Paint.Text() now works correctly when the alignment is not
specified.
[GB.NET]
* BUG: Correctly check system errors when using a asynchronous DnsClient.
[GB.QT4]
* BUG: Paint.Save() and Paint.Restore() take the clipping path into account
now.
[GB.SETTINGS]
* NEW: Use a temporary file when saving a settings file, and always make a
backup.
[GB.WEB]
* NEW: The Session.Modify() method was replaced by a read/write Modified
property.
git-svn-id: svn://localhost/gambas/trunk@4273 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix function calls for functions taking optional arguments and extra
arguments.
git-svn-id: svn://localhost/gambas/trunk@4223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The form editor now embeds controls in a container that depens on
the form family (a Panel for a Form, a ReportPanel for a Report).
[INTERPRETER]
* BUG: Fix loop management when big negative values are used.
[GB.REPORT]
* NEW: Add an icon for the ReportPanel control.
git-svn-id: svn://localhost/gambas/trunk@4206 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimize the inequality comparison operators by putting them into
the gbx_exec_loop.c source file.
git-svn-id: svn://localhost/gambas/trunk@4113 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: A little optimization in string allocation.
* OPT: Optimize returning from a function.
* OPT: A little optimization in conditonal jump.
git-svn-id: svn://localhost/gambas/trunk@4108 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
* OPT: Optimize some string functions by not using arguments passed by
reference.
* OPT: Integrate the "=" operator function into the main execution loop to
save one function call.
* OPT: Optimize string comparison functions on x86 and x64_64 architectures
by comparing eight bytes in one shot.
git-svn-id: svn://localhost/gambas/trunk@4104 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Really fix the way Trim() handle null strings. Now there is no
memory leaks anymore.
git-svn-id: svn://localhost/gambas/trunk@4100 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a project filter in the recent project list of the welcome
dialog.
[GB.REPORT]
* BUG: Fix a typo mistake in ReportVBox class.
git-svn-id: svn://localhost/gambas/trunk@4070 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix FOR...NEXT loop with Byte, Short and Single datatypes.
* BUG: FOR...NEXT loop optimization now works correctly if the step sign
changes.
git-svn-id: svn://localhost/gambas/trunk@4068 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
* 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: Don't require /tmp to allow executable files.
* NEW: The name of a cached compile script is now the name of the original
script stored in a directory whose name is the MD5 sum.
git-svn-id: svn://localhost/gambas/trunk@3879 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.
[COMPILER]
* NEW: New operators: NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.
[GB.EVAL]
* NEW: New operators: NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.
git-svn-id: svn://localhost/gambas/trunk@3407 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Files can be dropped from files managers to the project treeview.
They are automatically inserted into the project then.
[WIKI CGI SCRIPT]
* BUG: '{' and '}' are not interpreted anymore between '=='.
[BENCHMARKS]
* NEW: Add Gambas/Perl/Python benchmarks to the repository.
[INTERPRETER]
* NEW: A Stop instruction encountered inside a component is not ignored
anymore and stops the program.
* BUG: Fix the File.SetName, File.SetExt and File.SetBaseName methods.
[COMPILER]
* NEW: The preprocessor now undestands the False and True constants.
[GB.FORM]
* NEW: Clean up the Stock class icon loading algorithm.
* BUG: Fix the Gnome icon map.
[GB.FORM.STOCK]
* NEW: Support for svg stock icons.
[GB.QT4]
* BUG: Drag.Show() now works for DnD operations started outside of the
application.
[GB.GTK]
* BUG: Drag.Show() now works for DnD operations started outside of the
application.
git-svn-id: svn://localhost/gambas/trunk@3400 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Gambas2 to Gambas3 project converter. Only forms and project
structure are converted at the moment, as before.
* NEW: Update compiler error messages list.
[INTERPRETER]
* BUG: Activate the automatic instance just after its creation, but
before calling the constructors, so that they can reference it without
trying to create it recursively again and again.
git-svn-id: svn://localhost/gambas/trunk@3397 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Code indentation routine correctly handles structures now.
[INTERPRETER]
* NEW: Object.LastEventName has been deprecated, and replaced by
the Param.EventName property.
* BUG: IsFloat() is now a synonymous for IsNumber().
* BUG: Intrinsic functions description has been updated.
[COMPILER]
* NEW: "\e" is a new string escape sequence equivalent to "\x1B".
[GB.FORM]
* NEW: Use the new Control.Proxy property instead of internal observers
inside compound controls (ValueBox, ButtonBox, MenuButton).
[GB.GTK]
* NEW: Control.Proxy is a new property that allows to define a control
proxy that will handle focus, key and mouse events in original control's
place.
[GB.QT4]
* NEW: Control.Proxy is a new property that allows to define a control
proxy that will handle focus, key and mouse events in original control's
place.
git-svn-id: svn://localhost/gambas/trunk@3387 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Define preprocessor color for all highlighting themes.
[COMPILER]
* NEW: The maximum number of constants in a class is now 65536.
[INTERPRETER]
* NEW: The maximum number of constants in a class is now 65536.
git-svn-id: svn://localhost/gambas/trunk@3383 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: In icon editor, the width of the selection frame now follows the
zoom level.
* NEW: Support for preprocessor highlighting.
[COMPILER]
* NEW: Integrated preprocessor. The following commands are supported:
#If <expr>, #Else If <expr>, #Else and #Endif. <expr> can be a
combination of constants (OS_LINUX, OS_FREEBSD, ARCH_X86, ARCH_X86...),
parenthesis, 'And' & 'Or' operators, version test (VERSION >= "3.0").
This is work in progress.
[GB.EVAL]
* NEW: A new highlighting color for the preprocessor.
[GB.QT4.EXT]
* NEW: A new highlighting color for the preprocessor in Editor control.
git-svn-id: svn://localhost/gambas/trunk@3374 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Mem$() was replaced by MkBool$(), MkByte$(), and so on.
[COMPILER]
* NEW: Mem$() was replaced by MkBool$(), MkByte$(), and so on.
* NEW: CLng(), CSng(), CVar(), CPtr() abbreviations were removed.
* NEW: CBoolean() was added.
git-svn-id: svn://localhost/gambas/trunk@3320 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Mem$() is a new function that returns a string from the internal
memory representation of a value.
* NEW: BoolPtr() has been replaced by Bool@(), BytePtr() has been replaced
by Byte@(), and so on...
* NEW: StrPtr() has been replaced by String@().
[EXAMPLES]
* NEW: Search support in the WebBrowser example.
git-svn-id: svn://localhost/gambas/trunk@3318 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: VarPtr() now correctly works on Date and Pointer variables.
* BUG: Addition works again on Date.
* NEW: Object.Address() is a new method that returns the memory address of
an object.
git-svn-id: svn://localhost/gambas/trunk@3307 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
* NEW: New look for version specific documentation.
[INTERPRETER]
* NEW: Assign() has been removed, and replaced by Eval() with an expression
beginning with the LET keyword.
* NEW: New routines to read a value stored at a memory address: BoolPtr(),
BytePtr(), ShortPtr(), IntPtr(), LongPtr(), SinglePtr(), FloatPtr() and
PointerPtr().
[COMPILER]
* NEW: The LET keyword can be used to write an assignment expression. Of
course it is optional.
[GB.EVAL]
* NEW: The LET keyword can be used to evaluate an assignment.
* NEW: The Expression.Compile() method does not take any argument anymore.
git-svn-id: svn://localhost/gambas/trunk@3041 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
* BUG: Correctly deals with unknown components in the project property
dialog.
[INTERPRETER]
* NEW: Error backtrace is now always printed.
* OPT: Some optimizations in mathematical routines.
[GB.IMAGE]
* NEW: Image.FillRect() is a new method that fills a rectangle with a
specified color.
git-svn-id: svn://localhost/gambas/trunk@3007 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Many optimizations. One is big (gcc is not really clever sometimes!),
and now Gambas is about 30% faster than interpreted Python when running
stupid benchmarks.
git-svn-id: svn://localhost/gambas/trunk@3005 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
* OPT: Using object references is faster.
* BUG: Fix a misuse of GB.NewString() in the String class.
[COMPILER]
* BUG: Raise an error now when trying to create an array of structures.
[GB.QT4]
* OPT: Global widget event filter is faster.
* OPT: Do not internallt relayout TabStrip too often, because Qt takes a
lot of time to do that.
git-svn-id: svn://localhost/gambas/trunk@2974 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: 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: 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
* BUG: Configuration summary should be printed correctly again.
* NEW: README file was updated.
[INTERPRETER]
* BUG: The Error information should not be lost anymore during error
propagation through constructors.
* NEW: Natural comparison is now always language-aware.
[GB.QT4]
* BUG: TextArea selection methods work correctly now.
* BUG: TreeView.Count and ColumnView.Count now return the number of items
in the view like in gb.gtk, not just the number of root items.
git-svn-id: svn://localhost/gambas/trunk@2643 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: VarPtr() now works on a string variable. It returns the address of
the string.
* NEW: TypeOf("") now returns gb.String. "" is equal to NULL yet, but now its
string datatype is kept.
* NEW: Memory is new instruction like Open that opens a memory stream from
a Pointer.
* NEW: A Pointer can not be used as a stream directly. You must use the new
Memory instruction for that.
* NEW: The [...] array constructor now checks the datatype of all its
argument to decide the type of the new array.
* BUG: The ["key":value] collection constructor now does not leak memory
anymore if it fails.
* NEW: A new error, "void key", whose code is 64.
* NEW: TypeOf(Null) now returns gb.Null and not gb.Object anymore.
* BUG: IIf() now returns a Variant only if needed. It uses the same
algorithm as the array constructor.
[COMPILER]
* NEW: Memory is new instruction like Open that opens a memory stream from
a Pointer. The syntax is: hStream = Memory pPonter For Read | Write.
* NEW: Support for form controls being individually public.
* BUG: VarPtr() is compiled correctly again.
git-svn-id: svn://localhost/gambas/trunk@2339 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: WARNING! The bytecode has changed, so every project needs to be
recompiled.
[WEB SITE MAKER]
* NEW: Some more translations.
[INTERPRETER]
* NEW: Assign() is a new function. It is like Eval(), except that the
expression can be an assignment.
[GB.EVAL]
* NEW: Implementation of the new Assign() function.
* NEW: The Expression.Compile() method takes a new optional boolean
argument that indicates if we are compiling an assignment or not.
[GB.NET.CURL]
* BUG: A asynchronous transfer that ends do not stop the other ones
anymore.
git-svn-id: svn://localhost/gambas/trunk@1986 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a backtrace memory leak in error management.
* BUG: Fix a memory leak in process streams.
[GB.FORM]
* BUG: Some bug fixes in DatePicker. It does not work correctly with
gb.gtk yet!
[GB.GTK]
* BUG: Fix the container arrangement and the ClientX / ClientY properties.
* BUG: A form is not its own event observer if one was specified at
instanciation time.
[GB.QT]
* OPT: The container arrangement is now triggered the same way as in
gb.gtk. No Qt event filter is used anymore.
[GB.QT4]
* OPT: The container arrangement optimization from gb.qt has been partially
applied to gb.qt4.
git-svn-id: svn://localhost/gambas/trunk@1858 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the arithmetic operations on Boolean, Byte and Short, so that
everything is correctly truncated.
git-svn-id: svn://localhost/gambas/trunk@1836 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been incremented again. All projects must be
recompiled!
[INTERPRETER]
* NEW: The Quote and UnQuote class were removed, and replaced by three new
functions: Quote$(), Shell$() and Unquote$().
* NEW: Html$() is a new function that does HTML quoting.
[GB.QT]
* NEW: The space between a gridview cell picture and its text is now
defined by the padding property.
[GB.WEB]
* NEW: The HTML class has been removed. Use the new Html$() subroutine
instead.
git-svn-id: svn://localhost/gambas/trunk@1763 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: Upgrade libtool autoconf macros and libltdl sources to the 1.5.26
version.
[DEVELOPMENT ENVIRONMENT]
* BUG: Control and window dimensions can go up to 4096x4096 pixels.
* BUG: When unchecking GUI components in a project, the edited forms are
automatically closed.
* BUG: Do not use the form icon on form class editors when refreshing the
project.
* BUG: In the icon editor, filling with a transparent color won't enter an
infinite loop anymore.
* BUG: Selecting the "Collection" word while debugging does not crash the
IDE anymore.
* NEW: Pressing Escape now closes a debugging window.
* BUG: The 'Minimize on run' option works correctly now.
[INTERPRETER]
* BUG: SUPER now works inside overriden static methods.
[GB.DB.ODBC]
* BUG: Handle ODBC drivers that can return the number of records in a
query better.
[GB.DEBUG]
* BUG: If there is an I/O error between a debugged process and the IDE, the
process is aborted.
* BUG: Evaluating a class name returns better information now.
[GB.EVAL]
* BUG: Highlight.Analyze correctly handle code lines having non ASCII
characters inside.
[GB.FORM]
* BUG: The Balloon does not take the focus anymore.
[GB.FORM.MDI]
* NEW: Starting to enhance the Action class to provide shortcuts and
toolbar configuration dialog. Does nothing at the moment!
[GB.GTK]
* BUG: Fix a leak in font objects management.
* BUG: Picture.Load() yet loads an image, but internally converts it to
a pixmap. It speeds up following draws based on this picture.
* BUG: Startup forms hidden at design time are not shown automatically
anymore.
* NEW: The Action class is now shared with gb.qt by using a symbolic link.
[GB.IMAGE.INFO]
* NEW: New component to get information about an image file without having
to fully load it.
[GB.QT]
* BUG: Disable automatic extra indent of Labels.
* BUG: Startup forms hidden at design time are not shown automatically
anymore.
* BUG: Don't allow widgets to be destroyed while processing non-input
events.
git-svn-id: svn://localhost/gambas/trunk@1747 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The interpreter does not crash anymore when adding an integer
constant to a string.
git-svn-id: svn://localhost/gambas/trunk@1716 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Increment bytecode version.
[INTERPRETER]
* NEW: New routine to deal with the new immediate collection operator. The
bytecode has changed consequently.
[COMPILER]
* NEW: A new syntax to the array operator to create collections:
[ <key>:<value>, <key>:<value> ... ]
[GB.EVAL]
* NEW: Implement the new syntax for creating collections.
git-svn-id: svn://localhost/gambas/trunk@1699 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The look of container controls and embedder was modified.
* BUG: Displaying the property help on virtual controls does not crash
anymore.
[WIKI CGI SCRIPT]
* NEW: Changed the look of "only in 3.0" sections.
[INTERPRETER]
* BUG: Handle correctly additions between a small integer constant and a
string, by converting the string to a floating point number.
[GB.DESKTOP]
* BUG: DesktopWindow.State property and state methods are not public
anymore.
* NEW: DesktopWindow.MoveResize() method was removed, and now Move() takes
Width and Height optional parameters.
git-svn-id: svn://localhost/gambas/trunk@1619 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Print a warning message when INC or DEC is used with a boolean.
* BUG: Make things compile without error.
git-svn-id: svn://localhost/gambas/trunk@1370 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a memory leak in the READ instruction when reading a string
with a negative length parameter.
git-svn-id: svn://localhost/gambas/trunk@1355 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Some little fixes in the hall of fame animations.
* BUG: Fix the layout of the property sheet text edit dialog.
* NEW: A new highlighting theme, named 'Quick'.
* NEW: The '(Scaled)' virtual property has been renamed as 'Scaled'.
* BUG: Fix the "quit" icon in the quit dialog.
* BUG: Correctly raise an error when making an executable fails for any
reason.
* BUG: Extract the property help better.
[WIKI CGI SCRIPT]
* BUG: Auto link now really makes one identical link between two titles.
[INTERPRETER]
* OPT: Optimization of additions of small integers.
* BUG: INC and DEC now toggle boolean values.
* NEW: Use the new '.startup' file to run a project. The old '.project'
file can be used for older projects. But its support will be removed in
the final version.
[COMPILER]
* NEW: A '.startup' file is now created at each compilation. It contains an
extract of the '.project' file with just what the interpreter needs to
run the application.
[GB.GTK]
* BUG: Void items are correctly handled by ComboBox without crashing now.
[GB.EVAL]
* BUG: Quoted symbols, i.e. symbols between braces, are now correctly
colorized by using the identifier colors.
[GB.FORM]
* BUG: Removed the useless Tag property from the DatePicker control.
* BUG: Fix the height of the DateChooser toolbar.
* NEW: Wizard.ShowIndex is a new property that makes the wizard control
automatically display the index of the current step. This index takes
into account if some steps are disabled.
[GB.FORM.DIALOG]
* NEW: Dialog.SelectDate() is a new method that allows the user to select a
date in a dialog box having a date chooser.
[GB.QT]
* BUG: You can now resize a non resizable window without having to change
its Border property first.
[GB.QT.EXT]
* BUG: Editor correctly goes to the end of file when pressing CTRL+END.
Consequently, SelectAll() works correctly too now.
* NEW: Comments just before a procedure are now never folded.
git-svn-id: svn://localhost/gambas/trunk@1317 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fixes the string management optimizations.
* OPT: Optimization of the string search function (InStr, RInstr).
* OPT: Optimization of the Split() function.
* OPT: Optimization of local variables initialization when entering a
method.
[GB.NET.SMTP]
* BUG: Fixes the Makefile.am file so that the component compiles if the
glib library is installed in a non-standard directory.
[GB.QTE.EXT]
* BUG: Fixes the gb.qte.ext.component file.
git-svn-id: svn://localhost/gambas/trunk@1203 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Some little layout fixes.
[INTERPRETER]
* OPT: Read the user home directory only if the current uid has changed.
Otherwise, cache it into memory.
* OPT: String memory management has been optimized.
* OPT: Some little optimizations there and there.
* NEW: A new interpreter option, "-k", that prevents shared library to be
unloaded until the process terminates. That can be useful when
debugging with valgrind.
* OPT: System.Language property was optimized.
* OPT: The gb_error.c file is now compiled with -O3.
[GB.GTK]
* BUG: Disable the management of input methods in TextBox and TextArea
controls, so that the input methods are not disturbed. Consequently;
SCIM and Bridged SCIM work again.
* BUG: You can read keyboard events properties in a Form KeyPress or
KeyRelease event handler correctly now.
git-svn-id: svn://localhost/gambas/trunk@1199 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Ensure that the property panel is correctly shown or hidden when the
project is opened.
* NEW: Automatic completion is automatically inserted in all cases when
pressing one of the following keys: '.','(','[','!'.
[INTERPRETER]
* BUG: Mid$("", 0) returns an error now.
[GB.GTK]
* BUG: The Font property management was fixed.
* BUG: The icon text alignment was fixed in the IconView control.
[GB.FORM]
* NEW: The FileChooser bookmark list was redesigned.
[GB.QT]
* BUG: Control.Handle returns a Pointer now.
git-svn-id: svn://localhost/gambas/trunk@1164 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Automatically search libraries in lib64 before searching in lib.
* BUG: Fixed the $FFI_LIB test in main/configure.ac.
[DEVELOPMENT ENVIRONMENT]
* BUG: Tips of the days are displayed correctly again.
[INTERPRETER]
* BUG: Val() now takes the thousand separator into account when this
separator is a space character.
* BUG: Removed the 64 bits warning.
* BUG: Fixes the 'lib64' problem. Now components are searched in the 'lib64'
directory on 64 bits OS. If they are not stored in 'lib64', then the
default 'lib' directory is used.
* NEW: Passing argument by reference is not allowed anymore if not
explicitely specified in the method declaration.
[COMPILER]
* NEW: Passing argument by reference is not allowed anymore if not
explicitely specified in the method declaration.
[INFORMER]
* BUG: Fixes the 'lib64' problem. Now components are searched in the 'lib64'
directory on 64 bits OS. If they are not stored in 'lib64', then the
default 'lib' directory is used.
git-svn-id: svn://localhost/gambas/trunk@1108 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimizations in string comparison operators.
* OPT: Optimizations in string allocations.
* OPT: Optimizations in Left$(), Mid$(), Right$() and Len().
* OPT: Optimizations of calls to native methods when the number of
arguments is fixed, and when no argument conversion is needed.
* OPT: Optimizations of INPUT and LINE INPUT, by using an internal buffer
instead of reading the stream one byte at a time.
* BUG: Fixed the new error management.
* BUG: Fixed a possible spurious error when reading a file from an archive.
[GB.EVAL]
* BUG: Use the same new error management than the interpreter.
[GB.QT]
* BUG: The DrawingArea control now should draw its border correctly without
erasing its contents.
git-svn-id: svn://localhost/gambas/trunk@1041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The Scripting example was fixed.
[INTERPRETER]
* NEW: The error management was redesigned.
[GB.DB]
* NEW: Database driver can declare a set of character that are allowed in a
database name.
[GB.DB.SQLITE2]
* NEW: '.' is allowed in database names now.
[GB.DB.SQLITE3]
* NEW: '.' is allowed in database names now.
git-svn-id: svn://localhost/gambas/trunk@1038 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: Arguments passed by reference were implemented.
[COMPILER]
* NEW: Arguments passed by reference were implemented.
git-svn-id: svn://localhost/gambas/trunk@1016 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version is now 2.99.0.
[EXAMPLES]
* BUG: Fixed the TextEdit example according to the new TextEdit properties.
[INTERPRETER]
* NEW: VarPtr() is a function that returns a pointer to the contents of a
variable. Only numeric variable that are local, dynamic or static can be
used.
* BUG: Fixed the loading of classes whose some variables are Pointer.
[COMPILER]
* NEW: VarPtr() is a function that returns a pointer to the contents of a
variable. Only numeric variable that are local, dynamic or static can be
used.
[GB.EVAL]
* NEW: VarPtr() cannot be used with Eval().
git-svn-id: svn://localhost/gambas/trunk@1014 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