Commit graph

672 commits

Author SHA1 Message Date
Benoît Minisini
868ca76fdc [INTERPRETER]
* BUG: Fix Byte[].FromString() method.


git-svn-id: svn://localhost/gambas/trunk@4114 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-11 16:31:51 +00:00
Benoît Minisini
aae2aee181 [INTERPRETER]
* 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
2011-09-09 01:50:57 +00:00
Benoît Minisini
2232c61703 [INTERPRETER]
* BUG: Fix a crash in stack backtrace management.


git-svn-id: svn://localhost/gambas/trunk@4110 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-08 22:04:52 +00:00
Benoît Minisini
7923377850 [INTERPRETER]
* 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
2011-09-08 20:08:33 +00:00
Benoît Minisini
0ab71b28bf [INTERPRETER]
* 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
2011-09-08 16:01:36 +00:00
Benoît Minisini
67ecd4b00a [INTERPRETER]
* 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
2011-09-07 19:43:11 +00:00
Benoît Minisini
3840aa7985 [INTERPRETER]
* 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
2011-09-07 12:38:29 +00:00
Benoît Minisini
bf1c0c2cda [INTERPRETER]
* 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
2011-09-06 20:47:26 +00:00
Benoît Minisini
455dafa639 [INTERPRETER]
* BUG: DateAdd() does not raise an overflow error anymore when used on a
  time value.


git-svn-id: svn://localhost/gambas/trunk@4096 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-06 11:05:01 +00:00
Benoît Minisini
37894ac0db [INTERPRETER]
* BUG: Fix a bug in type transitivity in Trim().


git-svn-id: svn://localhost/gambas/trunk@4095 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-06 02:32:34 +00:00
Benoît Minisini
5b853ba5f3 [INTERPRETER]
* NEW: Quote comma in Html$().

[GB.WEB]
* NEW: Response.SetCookie() has a new optional argument to set if the 
  cookie is "HttpOnly".
* NEW: Session cookies are now automatically "HttpOnly".


git-svn-id: svn://localhost/gambas/trunk@4079 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-03 09:52:28 +00:00
Benoît Minisini
ce3c5d7e53 [INTERPRETER]
* BUG: The previous Write new feature really works now.


git-svn-id: svn://localhost/gambas/trunk@4078 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-03 01:55:51 +00:00
Benoît Minisini
47ed274add [INTERPRETER]
* NEW: Write instruction can write a bunch of bytes from a pointer address.


git-svn-id: svn://localhost/gambas/trunk@4077 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-03 01:45:52 +00:00
Benoît Minisini
2afe7d8f6b [DEVELOPMENT ENVIRONMENT]
* NEW: Some cosmetic changes in system information dialog and tips dialog.


git-svn-id: svn://localhost/gambas/trunk@4076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-02 16:44:20 +00:00
Benoît Minisini
0c6a0e39c5 [GB.QT4]
* OPT: Optimizations in the Action property management.

[GB.GTK]
* OPT: Optimizations in the Action property management.


git-svn-id: svn://localhost/gambas/trunk@4073 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-01 14:19:34 +00:00
Benoît Minisini
8ff148431c [INTERPRETER]
* BUG: Fix FOR...NEXT loops for Single and Float datatypes.


git-svn-id: svn://localhost/gambas/trunk@4072 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-01 11:46:32 +00:00
Benoît Minisini
52552bd548 [DEVELOPMENT ENVIRONMENT]
* 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
2011-09-01 00:39:54 +00:00
Benoît Minisini
44a657ac51 [INTERPRETER]
* 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
2011-08-31 23:42:46 +00:00
Benoît Minisini
b452559b5d [INTERPRETER]
* BUG: When checking inheritance, ignore the case of the "_new" special 
  method name.

[GB.REPORT]
* BUG: Fix some bad method overrides.


git-svn-id: svn://localhost/gambas/trunk@4067 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-31 02:35:54 +00:00
Benoît Minisini
2df008159f [INTERPRETER]
* NEW: The LIKELY() and UNLIKELY() macros do nothing now, as it seems that
  recent CPUs are better than humans for branch prediction.
* BUG: Error.Backtrace is accurate now.


git-svn-id: svn://localhost/gambas/trunk@4066 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-31 02:28:48 +00:00
Benoît Minisini
252895cdc6 [WEB SITE MAKER]
* BUG: Fix PayPal link.
* BUG: Fix default font in style sheets.

[INTERPRETER]
* BUG: Now an inherited method checks that it has the same signature as the
  parent method. This check is not done for a native class inherting 
  another native class. C/C++ programmers are supposed to know what they 
  are doing. :-)

[GB.DB.FORM]
* BUG: Rename all Refresh() methods as Update() in all controls, so that 
  the Refresh() method inherited from Control is not badly overridden.
* NEW: Change the way DataView chooses the height of a row.

[GB.GTK]
* NEW: Control.Refresh() now takes no argument.
* NEW: DrawingArea.Refresh() keeps taking four optional arguments 
  describing the sub-rectangle to refresh.

[GB.QT4]
* NEW: Control.Refresh() now takes no argument.
* NEW: DrawingArea.Refresh() keeps taking four optional arguments 
  describing the sub-rectangle to refresh.


git-svn-id: svn://localhost/gambas/trunk@4064 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-30 23:50:38 +00:00
Benoît Minisini
28758db521 [DEVELOPMENT ENVIRONMENT]
* BUG: Generate project help pages in temporary files so that the help
  browser can put them in its history.

[GB.QT4.WEBKIT]
* BUG: The default user agent is returned when no specific user agent has 
  been set.


git-svn-id: svn://localhost/gambas/trunk@4060 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-29 22:57:39 +00:00
Benoît Minisini
89187d5c7c [INTERPRETER]
* NEW: String.IsValid() is a new method that returns if a string is a valid
  well-formed UTF-8 string.


git-svn-id: svn://localhost/gambas/trunk@4050 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-27 19:49:48 +00:00
Benoît Minisini
15bdd674f7 [INTERPRETER]
* BUG: Components loaded at startup are now persistent. They are not 
  unloaded by the interpreter anymore. That should prevent crashes from bad
  C++ libraries that have global static objects to delete. Qt can you hear
  my cries?


git-svn-id: svn://localhost/gambas/trunk@4044 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-27 01:32:13 +00:00
Benoît Minisini
c00ce9a3fe [DEVELOPMENT ENVIRONMENT]
* NEW: Redesign the system information window and its contents.

[INTERPRETER]
* BUG: Do not leak object reference when an error is raised during an event
  handler.
* BUG: When a broken symbolic link is encountered, Dir() now assumes it is
  a file.

[GB.FORM]
* BUG: DirView now correctly ignores errors raised during the Icon event.


git-svn-id: svn://localhost/gambas/trunk@4035 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-23 12:51:25 +00:00
Benoît Minisini
f5c1b91bb9 [INTERPRETER]
* NEW: Rename the '.File.Perm' virtual class as '.Stat.Perm'.


git-svn-id: svn://localhost/gambas/trunk@4030 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-21 23:50:51 +00:00
Benoît Minisini
9488c7aff7 [DEVELOPMENT ENVIRONMENT]
* NEW: Automatic completion now displays hidden symbols if the class is 
  part of the current project.
* NEW: Support for *.tar.xz source archives.
* NEW: Underscores are now allowed inside a class name.
* BUG: Enabling or disabling tooltips in the option dialog does not crash
  anymore.

[INTERPRETER]
* NEW: Rename many virtual classes everywhere so that the documentation can
  easily extract the property name of the parent class from the virtual
  class name. For example, ".ApplicationArgs" is now ".Application.Args".


git-svn-id: svn://localhost/gambas/trunk@4028 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-21 21:46:20 +00:00
Benoît Minisini
3407013046 [DEVELOPMENT ENVIRONMENT]
* NEW: In the library tab of the project property dialog, display the
  dependencies of the libraries.
* NEW: Add a button to only display exported classes in the project tree.

[INTERPRETER]
* NEW: Loading a user library now automatically loads the other libraries
  it depends on, as well as the components.

[GB.FORM]
* BUG: Fix orientation of "clear" stock icon for KDE4.


git-svn-id: svn://localhost/gambas/trunk@4024 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-21 02:27:16 +00:00
Benoît Minisini
da7d1f8305 [DEVELOPMENT ENVIRONMENT]
* BUG: Display recursive error messages sent by the debugger correctly.

[GB.REPORT]
* BUG: Fix incorrect inheritances.


git-svn-id: svn://localhost/gambas/trunk@4017 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-20 01:31:42 +00:00
Benoît Minisini
93137105d3 [DEVELOPMENT ENVIRONMENT]
* NEW: The startup class icon is now just drawn with a dark outline.
* NEW: Error messages updated.
* NEW: French translation updated.

[INTERPRETER]
* NEW: Inheritance is stricter now: the child symbol must have exactly the
  same kind than the parent symbol.
* BUG: A child method must return the same datatype as its parent method 
  now.
* NEW: Gambas 3 executable mime description file and icon have been renamed
  so that they do not conflict with Gambas 2 files.

[GB.FORM]
* BUG: IconView.Find() has been renamed as IconView.FindAt(), to avoid the
  conflict with the inherited UserControl.Find() method.

[GB.FORM.MDI]
* BUG: Workspace.Children has been renamed as Workspace.Windows, because 
  the Workspace.Children property was in conflict with the inherited
  Container.Children property.

[GB.GTK]
* NEW: ListView, TreeView and ColumnView Find() method has been renamed as
  'FindAt' to match the IconView class.

[GB.IMAGE]
* NEW: Color.SetRGB() and Color.SetHSV() are two new methods that takes a
  color as an integer, modifies one of its component, and returns it. They
  are faster than using the ColorInfo class.
* NEW: Color.GetAlpha() returns the alpha component of a color from its
  integer value.

[GB.QT4]
* NEW: ListView, TreeView and ColumnView Find() method has been renamed as
  'FindAt' to match the IconView class.


git-svn-id: svn://localhost/gambas/trunk@4015 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-20 00:33:36 +00:00
Benoît Minisini
c49b8a30b4 [INTERPRETER]
* BUG: Fix escaped characters handling in date format strings.


git-svn-id: svn://localhost/gambas/trunk@3995 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-09 09:13:23 +00:00
Benoît Minisini
005fb507bf [INTERPRETER]
* 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
2011-08-07 19:48:08 +00:00
Benoît Minisini
321728322e [INTERPRETER]
* NEW: Be more robust with native method signatures that forget the ';' at
  the end of a class name, provided that a brace follows.


git-svn-id: svn://localhost/gambas/trunk@3973 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-05 16:57:42 +00:00
Benoît Minisini
cd83028ccd [DEVELOPPEMENT ENVIRONMENT]
* BUG: Modifying table fields and indexes many times now works correctly.
* BUG: Fix drag & drop between two IDE windows.
* NEW: Pretty printer now acts on selected text.
* NEW: CSV import and automatic field conversion now can deal with both
  localized and non-localized data (i.e. floating point numbers with point
  or comma).

[GB.DB]
* BUG: Type mismatch error is correctly raised now when setting the value
  of a Result field.

[GB.DB.FORM]
* BUG: Some fixes in DataComboView.

[GB.FORM]
* NEW: IconPanel now automatically resizes the left panel to fit its 
  contents.


git-svn-id: svn://localhost/gambas/trunk@3971 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-05 16:03:59 +00:00
Benoît Minisini
dfd894971e [INTERPRETER]
* BUG: Translatable string constants are now correctly translated when they
  are used as public symbols.


git-svn-id: svn://localhost/gambas/trunk@3963 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-01 23:36:41 +00:00
Benoît Minisini
4d13341c3e [GB.GTK]
* 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
2011-07-29 21:13:08 +00:00
Benoît Minisini
a84e5fa1e2 [INTERPRETER]
* NEW: The Main startup function now can return a value. If that value is 
  an integer or a boolean, then it will be the exit value returned to the 
  parent process.
* NEW: The Application.Return property has been removed.


git-svn-id: svn://localhost/gambas/trunk@3951 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-26 00:28:52 +00:00
Benoît Minisini
4262cd1721 [INTERPRETER]
* NEW: Support for profiling. Not activated.
* NEW: Centralize signal handler management.


git-svn-id: svn://localhost/gambas/trunk@3950 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-25 00:50:11 +00:00
Benoît Minisini
7b76eb76f0 [INTERPRETER]
* NEW: Remove useless Qt 3 shared library preloading support.


git-svn-id: svn://localhost/gambas/trunk@3949 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-24 16:55:09 +00:00
Benoît Minisini
9615d16694 [INTERPRETER]
* BUG: Write and Read instructions now deal with NULL values without crashing.


git-svn-id: svn://localhost/gambas/trunk@3946 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-24 09:45:44 +00:00
Benoît Minisini
67e4d31c0f [INTERPRETER]
* BUG: Exist() new implementation is now really backward-compatible.


git-svn-id: svn://localhost/gambas/trunk@3941 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-17 11:11:22 +00:00
Benoît Minisini
d0b8c37638 [INTERPRETER]
* 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
2011-07-17 10:57:55 +00:00
Benoît Minisini
f2208643c2 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle the "_property" special method in automatic completion.

[INTERPRETER]
* BUG: [...] now correctly returns a boolean array when its arguments are
  all booleans.

[GB.DBUS]
* BUG: Fix a memory leak when sending a DBusVariant object.


git-svn-id: svn://localhost/gambas/trunk@3939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-16 15:41:51 +00:00
Benoît Minisini
9fca5596dc [GB.DBUS]
* BUG: Use the new special method _property to implement DBus properties.
* BUG: Settings a DBus property does not freeze anymore. But there is 
  memory leak yet.


git-svn-id: svn://localhost/gambas/trunk@3937 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-15 00:52:29 +00:00
Benoît Minisini
91ec8a1ef5 [INTERPRETER]
* BUG: Eval("Me") does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@3936 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-14 18:30:12 +00:00
Benoît Minisini
ab112cd44c [INTERPRETER]
* 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
2011-07-03 20:46:03 +00:00
Benoît Minisini
13c1dcce83 [INTERPRETER]
* NEW: Remove the GB.IsProperty() API, that is useless now.


git-svn-id: svn://localhost/gambas/trunk@3916 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-03 17:29:00 +00:00
Benoît Minisini
9ff2134921 [DEVELOPMENT ENVIRONMENT]
* 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
2011-07-03 02:46:15 +00:00
Benoît Minisini
6f8372bcd3 [INTERPRETER]
* 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
2011-06-28 10:34:19 +00:00
Benoît Minisini
e7d183d12a [INTERPRETER]
* BUG: Using "AM/PM" in date format does not confuse next date to string
  conversions anymore.


git-svn-id: svn://localhost/gambas/trunk@3900 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-26 19:09:17 +00:00
Benoît Minisini
b831031745 [DEVELOPMENT ENVIRONMENT]
* NEW: Lithuanian translation made by Regimantas Baublys.
* BUG: Fix loading of old Gambas 3 projects without ".src" directory.
* BUG: Multi-dimensional arrays are now correctly displayed by the 
  debugger.

[SCRIPTER]
* BUG: Running a script now correctly returns the value specified by
  the Application.Return property.

[GB.QT4.EXT]
* BUG: Some fixes in the undo/redo management of the Editor class.


git-svn-id: svn://localhost/gambas/trunk@3899 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-24 22:33:26 +00:00
Benoît Minisini
bb11cbc696 [SCRIPTER]
* 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
2011-06-11 01:46:42 +00:00
Benoît Minisini
2fbf67cb29 [CONFIGURATION]
* NEW: Update FSF address in every source file.


git-svn-id: svn://localhost/gambas/trunk@3870 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-03 00:51:09 +00:00
Benoît Minisini
60a53306c3 [INTERPRETER]
* BUG: Recursive release of pending objects at program's end is more robust 
  now.


git-svn-id: svn://localhost/gambas/trunk@3869 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-03 00:19:33 +00:00
Benoît Minisini
e376955f63 [DEVELOPMENT ENVIRONMENT]
* BUG: Classes coming from libraries are correctly taken into account in
  automatic completion now.
* BUG: Fix the layout of the help window the first time it is shown.
* NEW: The recent files list should be correctly refreshed now if another 
  Gambas instance updates it.

[WEB SITE MAKER]
* NEW: Update for Gambas 2.23.1.

[WIKI CGI SCRIPT]
* BUG: The front page now is correctly version dependant.
* BUG: Do not add "v3" at the end of a link that has "v2" explicitely.

[INTEPRETER]
* NEW: Stream.Lines is a new property that allows to enumerate a stream 
  line by line until end of stream is reached.

[GB.SETTINGS]
* NEW: The Settings.Path property has been renamed as Settings.DefaultDir.
* NEW: Now Settings.Path returns the path of the settings file on the disk.
* BUG: Use a lock to prevent simultaneous writings of the same settings 
  file.

[GB.QT4.EXT]
* BUG: Fix how the cursor is ensured to be visible in the Editor class.


git-svn-id: svn://localhost/gambas/trunk@3866 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-27 18:46:56 +00:00
Benoît Minisini
085f879256 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix keyboard handling in editor procedure list.

[WEB SITE MAKER]
* NEW: Activate the Gambas 3 download button.

[WIKI CGI SCRIPT]
* NEW: Use a combo-box now for selecting the current version.

[GB.GTK]
* BUG: Remove some debugging stuff in the Printer class.

[GB.FORM]
* NEW: Add an "open in file manager" action in FileChooser and DirChooser
  controls, when the gb.desktop component is loaded.


git-svn-id: svn://localhost/gambas/trunk@3856 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-22 15:07:53 +00:00
Benoît Minisini
ca6844fcb5 [INTERPRETER]
* BUG: Compiles correctly when libffi is not installed.


git-svn-id: svn://localhost/gambas/trunk@3851 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-18 23:28:25 +00:00
Benoît Minisini
784228d13d [INTERPRETER]
* NEW: System.GetExternSymbol() is a new static method that returns the 
  value of an external symbol located in a shared library.


git-svn-id: svn://localhost/gambas/trunk@3850 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-18 15:02:49 +00:00
Benoît Minisini
5e91ded94f [INTERPRETER]
* 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
2011-05-16 02:16:22 +00:00
Benoît Minisini
a3198eeb09 [DEVELOPMENT ENVIRONMENT]
* NEW: Disable kill buttons correctly in database editor window.

[GB.FORM]
* BUG: Fix a possible crash in TableView when the editor control is moved.

[GB.QT4]
* NEW: The GridView Change event is raised when there is no current row 
  now.


git-svn-id: svn://localhost/gambas/trunk@3843 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-14 22:21:23 +00:00
Benoît Minisini
d68809630f [INTERPRETER]
* 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
2011-05-05 08:54:21 +00:00
Benoît Minisini
d433b0172d [EXAMPLES]
* 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
2011-05-02 00:46:00 +00:00
Benoît Minisini
68bdf71d6f [INTERPRETER]
* NEW: Class.New() is a new method that does the same thing as 
  Object.New(), but acts on a class object instead of using the class name.

[EXAMPLES]
* BUG: In Report example, do not raise an error if the connection is
  actually already opened.

[GB.REPORT]
* NEW: Use the Class.New() method to implement Report.Clone().
* NEW: Clean up the preview window.
* BUG: The zoom slider is now always synchronized with the current zoom 
  level.

[GB.QT4]
* BUG: Remove a debugging message.
* BUG: SvgImage now draws nothing if the SvgImage width or height is null.


git-svn-id: svn://localhost/gambas/trunk@3804 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-27 22:06:38 +00:00
Benoît Minisini
4accf2d633 [INTERPRETER]
* BUG: Do not crash anymore when an error is raised inside the constructor
  of the automatic instance of an auto-creatable class.


git-svn-id: svn://localhost/gambas/trunk@3777 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-18 13:57:46 +00:00
Benoît Minisini
0c678f3cba [DEVELOPMENT ENVIRONMENT]
* NEW: Little changes in Sapphire theme.
* BUG: Fix text editor toolbar tooltips.
* NEW: Support for C and C++ files.
* BUG: Support for procedure folding and unfolding shortcuts in the text 
  editor.
* NEW: A "Paste special" button in the code editor toolbar.

[GB.EVAL.HIGHLIGHT]
* NEW: C and C++ syntax hilighting.

[GB.FORM.MDI]
* BUG: Don't try to optimize Toolbar separators in design mode.

[GB.QT4.EXT]
* NEW: In Editor, highlight both matching braces now.


git-svn-id: svn://localhost/gambas/trunk@3770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-16 00:25:07 +00:00
Benoît Minisini
667133d5d8 [INTERPRETER]
* BUG: Object[].Exist() and Object[].Find() now take the _compare special 
  method into account.


git-svn-id: svn://localhost/gambas/trunk@3739 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-09 08:09:18 +00:00
Benoît Minisini
937f3d3f93 [INTERPRETER]
* BUG: The "0.3 - 0.2" expression is not printed at "0.01". All values very 
  close to a negative power of 10 was concerned.


git-svn-id: svn://localhost/gambas/trunk@3737 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-07 23:24:11 +00:00
Benoît Minisini
df3f9c9f36 [WEB SITE MAKER]
* 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
2011-04-04 00:40:32 +00:00
Benoît Minisini
d41b7b92d3 [INTERPRETER]
* BUG: Handle EINTR while reading the SIGCHLD pipe.


git-svn-id: svn://localhost/gambas/trunk@3697 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-28 14:50:26 +00:00
Benoît Minisini
7e386a240d [INTERPRETER]
* BUG: Really print system error if reading the SIGCHLD pipe fails.


git-svn-id: svn://localhost/gambas/trunk@3696 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-28 13:14:20 +00:00
Benoît Minisini
31c3982f6b [INTERPRETER]
* BUG: Print system error if reading the SIGCHLD pipe fails.


git-svn-id: svn://localhost/gambas/trunk@3695 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-28 12:24:10 +00:00
Benoît Minisini
f24c1c35e9 [INTERPRETER]
* NEW: Create a process group for child processes run with SHELL. That way,
  killing the shell process will normally kill all its children.


git-svn-id: svn://localhost/gambas/trunk@3688 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-26 09:11:52 +00:00
Benoît Minisini
69324eec4a [INTERPRETER]
* 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
2011-03-24 02:15:32 +00:00
Benoît Minisini
070f29419a [GB.EVAL]
* BUG: Fix a string leak in evaluator error management.


git-svn-id: svn://localhost/gambas/trunk@3677 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-23 13:04:44 +00:00
Benoît Minisini
b936c83f0d [CONFIGURATION]
* NEW: Update copyright strings.

[DEVELOPMENT ENVIRONMENT]
* NEW: Display menu shortcuts inside the form editor.


git-svn-id: svn://localhost/gambas/trunk@3670 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-21 00:04:10 +00:00
Benoît Minisini
dc5f2a344b [DEVELOPMENT ENVIRONMENT]
* BUG: Support for multi-dimensional arrays in the debugger.

[INTERPRETER]
* BUG: Support for multi-dimensional arrays in the debugger.

[GB.DEBUG]
* BUG: Support for structures.
* BUG: Support for multi-dimensional arrays in the debugger.


git-svn-id: svn://localhost/gambas/trunk@3654 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-16 22:16:19 +00:00
Benoît Minisini
f57b53c177 [INTERPRETER]
* NEW: External libraries can be located inside the project. They are 
  automatically copied into /tmp when used.


git-svn-id: svn://localhost/gambas/trunk@3651 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-14 22:10:47 +00:00
Benoît Minisini
443f9a3ba0 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix translation dialog layout.

[INTERPRETER]
* BUG: Fix a typo mistake in an error message.

[COMPILER]
* BUG: Fix a typo mistake in an error message.
* NEW: Remove all Mk*$() functions.

[GB.FORM]
* NEW: The FileChoose/DirChooser popup menu has been redesigned.
* NEW: That popup menu has now a function to uncompress tar.gz and tar.bz2 
  archive files.


git-svn-id: svn://localhost/gambas/trunk@3648 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-13 13:41:57 +00:00
Benoît Minisini
d7c7f37a30 [INTERPRETER]
* BUG: Extern callbacks are now hashed through program counter, and not 
  stack pointer.


git-svn-id: svn://localhost/gambas/trunk@3646 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-13 02:04:19 +00:00
Benoît Minisini
1846556b33 [INTERPRETER]
* OPT: Optimize extern callbacks generation.


git-svn-id: svn://localhost/gambas/trunk@3645 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-13 02:01:16 +00:00
Benoît Minisini
ded237fbe9 [INTERPRETER]
* BUG: Don't reference the object associated with a callback twice, and do 
  not free it twice on exit.


git-svn-id: svn://localhost/gambas/trunk@3644 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-12 16:53:27 +00:00
Benoît Minisini
4cf6d82492 [GB.FORM]
* BUG: FileView.Reload does not lose the selection anymore.
* NEW: FileView.SelectAll() is a new method to select all items.
* NEW: FileView.UnselectAll() is a new method to unselect all items.


git-svn-id: svn://localhost/gambas/trunk@3630 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-03 15:05:54 +00:00
Benoît Minisini
3922a7de26 [INTERPRETER]
* BUG: Remove a debugging message.


git-svn-id: svn://localhost/gambas/trunk@3604 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-22 18:05:34 +00:00
Benoît Minisini
09de992ae7 [INTERPRETER]
* NEW: String.Instr() and String.RInstr() now take a fourth argument, like 
  Instr() and RInstr(), so that case can be ignored during the search.


git-svn-id: svn://localhost/gambas/trunk@3603 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-22 17:59:07 +00:00
Benoît Minisini
4525d7f572 [DEVELOPMENT ENVIRONMENT]
* BUG: The procedure under the mouse is correctly highlighted while 
  scrolling the procedure list now.
* BUG: Files with an '@' character in their name should be correctly 
  handled when the project is under subversion.

[GB.GTK]
* NEW: Application.MainWindow is writable now.
* NEW: The application main window is not automatically defined anymore.
* NEW: Application exits now when the last visible window is closed.

[GB.QT4]
* BUG: Setting the margin of an auto-resized Label or TextLabel now 
  correctly update the control size.
* NEW: Application.MainWindow is writable now.
* NEW: The application main window is not automatically defined anymore.
* NEW: Application exits now when the last visible window is closed.


git-svn-id: svn://localhost/gambas/trunk@3581 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-19 02:21:34 +00:00
Benoît Minisini
9449651ebd [DEVELOPMENT ENVIRONMENT]
* NEW: An option to disable the automatic control structure completion.
* OPT: Use the new Stream.ReadLine() method to speed up the CSV file 
  import routine.

[INTERPRETER]
* NEW: ReadLine() is a new method of the Stream class, that read a text 
  line like LINE INPUT, but with an optional escape character.

[GB.FORM]
* BUG: The default event of an IconPanel is Click.


git-svn-id: svn://localhost/gambas/trunk@3577 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-16 22:01:35 +00:00
Benoît Minisini
62ce9d905b [INTERPRETER]
* BUG: The SIGCHLD signal handler does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@3563 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-12 21:58:31 +00:00
Benoît Minisini
3eda9c5098 [INTERPRETER]
* BUG: Fix the SIGCHLD management, so that KDE 4.6 file dialogs do not hang 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@3553 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-10 23:36:11 +00:00
Benoît Minisini
8cb70ddf70 [GB.GTK]
* BUG: Key[] does not print GTK+ warning anymore when getting a null 
  string as argument.
* BUG: Mouse.Blank cursor works as expected now.


git-svn-id: svn://localhost/gambas/trunk@3547 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-08 01:35:04 +00:00
Benoît Minisini
1a13bab4af [INTERPRETER]
* BUG: Error.Raise("") does not crash the interpreter anymore. It displays
  "Unknown error" instead.


git-svn-id: svn://localhost/gambas/trunk@3529 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-01 23:26:08 +00:00
Benoît Minisini
a25c1a2514 [INTERPRETER]
* BUG: Clean up variable padding and alignment.


git-svn-id: svn://localhost/gambas/trunk@3463 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-17 02:18:40 +00:00
Benoît Minisini
8bac2ad504 [INTERPRETER]
* BUG: Fix some conversion from Single to other datatypes.


git-svn-id: svn://localhost/gambas/trunk@3460 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-16 22:04:17 +00:00
Benoît Minisini
bd4d73f42b [INTERPRETER]
* BUG: Fix the READ instruction when reading null strings.


git-svn-id: svn://localhost/gambas/trunk@3455 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-15 01:04:32 +00:00
Benoît Minisini
33177a678a [COMPILER]
* BUG: Normal arrays of structures are not supported. Display an error 
  message instead of compiling something that crashes the interpreter.


git-svn-id: svn://localhost/gambas/trunk@3454 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-15 00:58:56 +00:00
Benoît Minisini
7998ec6dc3 [INTERPRETER]
* BUG: Support for MkPointer$().
* NEW: Embedded arrays of structures array write accessor has been 
  implemented.


git-svn-id: svn://localhost/gambas/trunk@3453 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-13 18:56:52 +00:00
Benoît Minisini
224775b68e [INTERPRETER]
* NEW: Support for Pointer arithmetic (addition and substraction).


git-svn-id: svn://localhost/gambas/trunk@3452 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-10 22:56:30 +00:00
Benoît Minisini
eb6f0cbb79 [INTERPRETER]
* BUG: Raise an error instead of crashing now when reading memory at a 
  forbidden address with a <type>@() function.


git-svn-id: svn://localhost/gambas/trunk@3451 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-09 00:28:49 +00:00
Benoît Minisini
c654cb202a [INTERPRETER]
* BUG: Correctly read and write floating point numbers starting with
  0.00000000...
* BUG: The Stat.Perm[] property correctly returns execution permissions 
  now.


git-svn-id: svn://localhost/gambas/trunk@3439 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-04 02:35:48 +00:00
Benoît Minisini
f097f0a10b [INTERPRETER]
* BUG: Fix Format$().


git-svn-id: svn://localhost/gambas/trunk@3432 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-02 20:08:49 +00:00
Benoît Minisini
2b432beca0 [DEVELOPMENT ENVIRONMENT]
* 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
2011-01-02 18:24:50 +00:00
Benoît Minisini
3ead02082c [DEVELOPMENT ENVIRONMENT]
* 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
2011-01-02 17:09:54 +00:00
Benoît Minisini
4a5908c37e [INTERPRETER]
* NEW: gb.Millisecond is a new date operation constant to deal with 
  milliseconds.
* NEW: Support for gb.Millisecond in DateDiff() and DateAdd().


git-svn-id: svn://localhost/gambas/trunk@3420 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-01 16:43:40 +00:00
Benoît Minisini
ad19937a82 [INTERPRETER]
* 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
2010-12-30 03:17:37 +00:00
Benoît Minisini
e0e71dc4f5 [CONFIGURATION]
* NEW: Qt 4.5.0 is now required to compile the gb.qt4 components.

[INTERPRETER]
* NEW: You can now define a non-creatable but auto-creatable class. It 
  means that you cannot instanciate the class, but you can use it
  statically.

[GB.GTK]
* NEW: Screens is a new pseudo-array of all screens.
* NEW: Screen is a new class that represents the geometry of a screen. The
  X, Y, Width and Height properties return the full geometry. The 
  AvailableX, AvailableY, AvailableWidth and AvailableHeight properties 
  return the geometry available to the windows. The screen class can be 
  used statically to get the geometry of the default screen.
  BEWARE: The available geometry is not yet implemented on gb.gtk!
* NEW: Window.Screen is a new property that returns the screen where most 
  of the window is located.
* NEW: Desktop.{X,Y,Width,Height} are four new properties that return the
  available geometry of the default screen. It is an equivalent of
  Screen.{AvailableX,AvailableY,AvailableWidth,AvailableHeight}.

[GB.QT4]
* NEW: Screens is a new pseudo-array of all screens.
* NEW: Screen is a new class that represents the geometry of a screen. The
  X, Y, Width and Height properties return the full geometry. The 
  AvailableX, AvailableY, AvailableWidth and AvailableHeight properties 
  return the geometry available to the windows. The screen class can be 
  used statically to get the geometry of the default screen.
* NEW: Window.Screen is a new property that returns the screen where most 
  of the window is located.
* NEW: Desktop.{X,Y,Width,Height} are four new properties that return the
  available geometry of the default screen. It is an equivalent of
  Screen.{AvailableX,AvailableY,AvailableWidth,AvailableHeight}.


git-svn-id: svn://localhost/gambas/trunk@3413 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-30 01:52:40 +00:00
Benoît Minisini
6cf9de6805 [INTERPRETER]
* BUG: Correctly convert negative floating point numbers again.


git-svn-id: svn://localhost/gambas/trunk@3411 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-29 15:25:29 +00:00
Benoît Minisini
adf553d56b [INTERPRETER]
* 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
2010-12-29 08:21:51 +00:00
Benoît Minisini
c275829ddc [DEVELOPMENT ENVIRONMENT]
* BUG: The control rename algorithm should work better now.

[EXAMPLES]
* BUG: Fix ServerSocket and ClientSocket examples.

[INTERPRETER]
* BUG: WRITE and READ with a specified length of zero now does nothing.

[GB.NET]
* BUG: Closing a socket created by a ServerSocket does not crash anymore.

[GB.QT4]
* BUG: When a combo-box becomes read-only, the first item is automatically 
  selected if there was no current item.
* BUG: Window with no border can have focus now.



git-svn-id: svn://localhost/gambas/trunk@3404 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-28 21:58:42 +00:00
Benoît Minisini
3cf59d321a [DEVELOPMENT ENVIRONMENT]
* 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
2010-12-27 14:28:59 +00:00
Benoît Minisini
6a596a2aa6 [DEVELOPMENT ENVIRONMENT]
* 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
2010-12-24 12:20:11 +00:00
Benoît Minisini
b86a35e903 [DEVELOPMENT ENVIRONMENT]
* BUG: The project property dialog does not crash anymore when there is an
  hidden component in the component list described in the '.project' file.

[INTERPRETER]
* BUG: -2147483648 is a valid integer.

[COMPILER]
* BUG: -2147483648 is a valid integer.

[GB.QT4]
* NEW: DrawingArea.NoBackground is a new property that prevent the 
  DrawingArea to automatically refresh its background when you know that 
  you will paint it fully yourself.

[GB.GTK]
* NEW: DrawingArea.NoBackground is a new property that prevent the 
  DrawingArea to automatically refresh its background when you know that 
  you will paint it fully yourself.


git-svn-id: svn://localhost/gambas/trunk@3393 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-22 18:31:44 +00:00
Benoît Minisini
72aee6fbc1 [INTERPRETER]
* NEW: IsInteger(), IsLong(), IsFloat(), IsDate() and IsNumber() argument 
  now must be a string. There is no automatic conversion anymore.


git-svn-id: svn://localhost/gambas/trunk@3390 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-21 17:29:39 +00:00
Benoît Minisini
1bd45a5751 [INTERPRETER]
* NEW: Forgot to add two source files.


git-svn-id: svn://localhost/gambas/trunk@3388 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-21 14:35:39 +00:00
Benoît Minisini
cdcf6cdac9 [DEVELOPMENT ENVIRONMENT]
* 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
2010-12-21 14:05:42 +00:00
Benoît Minisini
776937cb72 [DEVELOPMENT ENVIRONMENT]
* 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
2010-12-20 03:56:43 +00:00
Benoît Minisini
a79dead4f4 [INTERPRETER]
* 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
2010-12-20 03:26:00 +00:00
Benoît Minisini
28ec164ea6 [INTERPRETER]
* NEW: Ceil() and Floor() functions.

[COMPILER]
* NEW: Ceil() and Floor() functions.


git-svn-id: svn://localhost/gambas/trunk@3378 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-19 13:56:34 +00:00
Benoît Minisini
b38df04095 [DEVELOPMENT ENVIRONMENT]
* 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
2010-12-18 04:27:59 +00:00
Benoît Minisini
6f440dc030 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the icon editor.

[INTERPRETER]
* NEW: If Stop Event is used during the Timer event, the timer is stopped.

[INFORMER]
* BUG: Fix a file descriptor leak.

[GB.DRAW]
* NEW: Draw.Zoom() now does not draw cell borders unless zoom is greater or 
  equal than 6.

[GB.DESKTOP]
* BUG: Fix a forgotten "break" in a switch statement when setting a window
  property with a string array.

[GB.QT4]
* BUG: Fix image leak in Clipboard.Copy() and Drag().
* BUG: Fix incorrect copy of image data when taking ownership of an image 
  object.
* NEW: Draw.Image() does not do a smooth transformation the image is 
  enlarged in both dimensions, and if the new size is a multiple of the old
  size.
* OPT: DrawingArea with the default background color now does not repaint
  its background before calling the Draw event.

[GB.QT4.EXT]
* BUG: Fix a bad test in GDocument::getLineFlag().


git-svn-id: svn://localhost/gambas/trunk@3368 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-15 15:55:16 +00:00
Benoît Minisini
725dca7623 [INTERPRETER]
* NEW: Collection.Copy() is a new method that returns a copy of a 
  collection.


git-svn-id: svn://localhost/gambas/trunk@3363 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-14 01:18:41 +00:00
Benoît Minisini
09c9f29ce0 [INTERPRETER]
* BUG: Fix a possible compilation problem.


git-svn-id: svn://localhost/gambas/trunk@3361 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-13 14:38:58 +00:00
Benoît Minisini
278b393018 [DEVELOPMENT ENVIRONMENT]
* NEW: Exported project classes that are controls are now automatically 
  visible in the control toolbar.
* NEW: Compiling the project now automatically refreshes the control 
  toolbar when needed.

[INTERPRETER]
* BUG: File.SetExt() now works correctly with files whose name begins with
  a dot.

[GB.QT4]
* BUG: The frame width of raised or sunken borders used by some Container 
  classes now should correctly follow the style.


git-svn-id: svn://localhost/gambas/trunk@3352 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-09 03:15:42 +00:00
Benoît Minisini
26b363c96f [WIKI CGI SCRIPT]
* NEW: Button to "flattr" Gambas.

[INTERPRETER]
* BUG: Fix some possible uses of unitialized values.

[COMPILER]
* BUG: Fix a possible crash when having 63 arguments passed by reference 
  to a function.

[GB.DB.SQLITE3]
* BUG: Detect integer primary key whatever the case used to write 
  "integer".

[GB.GTK]
* BUG: Page setup is enabled in printer configuration dialog now.

[GB.QT4]
* BUG: The font size of printed texts is now correct.


git-svn-id: svn://localhost/gambas/trunk@3344 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-05 20:17:24 +00:00
Benoît Minisini
cf16f17a91 [INTERPRETER]
* BUG: Use isfinite() instead of deprecated finitef() functions.
* BUG: Replace "Static array" error message by "Embedded array".


git-svn-id: svn://localhost/gambas/trunk@3343 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-05 11:33:22 +00:00
Benoît Minisini
0f031c5741 [COMPILER]
* BUG: Define LLONG_MAX constant when it is not defined.


git-svn-id: svn://localhost/gambas/trunk@3338 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-30 15:03:47 +00:00
Benoît Minisini
6a15492e9c [INTERPRETER]
* 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
2010-11-27 23:00:08 +00:00
Benoît Minisini
122e8ee9c9 [INTERPRETER]
* BUG: Fix the array conversion routine.


git-svn-id: svn://localhost/gambas/trunk@3326 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-27 01:40:19 +00:00
Benoît Minisini
d997caf779 [INTERPRETER]
* NEW: Automatic conversion between all array classes.


git-svn-id: svn://localhost/gambas/trunk@3325 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-27 01:27:23 +00:00
Benoît Minisini
697a40a046 [INTERPRETER]
* NEW: WRITE writes structures in one shot, by using an internal buffer. 
  This is useful for UDP socket, when the message size is the size of the 
  data sent in one shot.


git-svn-id: svn://localhost/gambas/trunk@3323 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-27 00:06:43 +00:00
Benoît Minisini
662e4282bf [INTERPRETER]
* 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
2010-11-26 20:30:58 +00:00
Benoît Minisini
f7a157204b [INTERPRETER]
* 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
2010-11-24 16:00:39 +00:00
Benoît Minisini
030523326f [INTERPRETER]
* 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
2010-11-24 01:30:36 +00:00
Benoît Minisini
b9e53e58c4 [INTERPRETER]
* 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
2010-11-22 10:10:56 +00:00
Benoît Minisini
8873a0e1cc [DEVELOPMENT ENVIRONMENT]
* 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 "&amp;", "&gt;" and "&lt;" 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
2010-11-16 01:49:18 +00:00
Benoît Minisini
453236f17f [DEVELOPMENTE ENVIRONMENT]
* BUG: A "=" character was missing in the menu file generated by the 
  Debian/Ubuntu packager.

[INTERPRETER]
* BUG: Fix two incorrect optional function declarations.


git-svn-id: svn://localhost/gambas/trunk@3286 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-08 15:57:25 +00:00
Benoît Minisini
63eefd927c [INTERPRETER]
* BUG: File.Load() now can read special files (like those in /proc) whose 
  size is zero even if they are not void.
* BUG: The native method error flag is not incorrectly propagated anymore
  when an error is raised.


git-svn-id: svn://localhost/gambas/trunk@3277 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-06 03:27:58 +00:00
Benoît Minisini
1a8c82215c [INTERPRETER]
* BUG: Fix startup current directory detection when running an archive.
* BUG: Using a Variant where a stream is requested does not crash the 
  interpreter anymore.


git-svn-id: svn://localhost/gambas/trunk@3276 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-03 20:28:54 +00:00
Benoît Minisini
8aac47f84d [EXAMPLES]
* BUG: Fix the Database example.

[INTERPRETER]
* BUG: Fix unchecked system calls.

[ARCHIVER]
* BUG: Prevent the archiver from putting the executable file into itself, 
  leading to a endless growing generated file.
* NEW: Files having the ".gambas" extension are now excluded from 
  executable archives.

[GB.DB.FORM]
* BUG: Remove the DataBrowser.Adjust property.


git-svn-id: svn://localhost/gambas/trunk@3272 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-10-31 22:05:29 +00:00
Benoît Minisini
aa1fe3bb1a [INTERPRETER]
* 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
2010-10-31 16:21:24 +00:00
Benoît Minisini
23dd0b0299 [DEVELOPMENT ENVIRONMENT]
* 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
2010-10-15 00:23:11 +00:00
Benoît Minisini
68ede3cb8b [INTERPRETER]
* 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
2010-10-06 12:03:27 +00:00
Benoît Minisini
ad2114ee88 [CONFIGURATION]
* BUG: Found a workaround for the AX_CFLAGS_GCC_OPTION macro bug in 
  autoconf 2.67.

[DEVELOPMENT ENVIRONMENT]
* BUG: Do not try to display wiki help for symbols located in libraries.
* NEW: A new project tree filter that shows files that must be added to the
  version control system.

[WIKI CGI SCRIPT]
* BUG: Use the correct language code for czech language.
* BUG: Be more clever with formatting characters having a space before or 
  after them.

[INTERPRETER]
* NEW: Serialization now detects circular references and raises an error.


git-svn-id: svn://localhost/gambas/trunk@3253 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-10-06 11:29:31 +00:00
Benoît Minisini
fc60aacecc [DEVELOPMENT ENVIRONMENT]
* BUG: Fix a possible when opening the procedure list.

[INTERPRETER]
* NEW: The READ instruction can read arrays and collections with 
  'AS Object' as well as 'AS Variant'.

[GB.QT4]
* BUG: Minimizing modal windows does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@3246 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-28 17:05:10 +00:00
Benoît Minisini
4dc396ffe8 [DEVELOPMENT ENVIRONMENT]
* BUG: No error messages should be displayed anymore when refreshing the 
  search list.

[WIKI CGI SCRIPT]
* BUG: Fix formatting characters handling.

[INTERPRETER]
* NEW: WRITE and READ instructions can handle collections and arrays. Call
  that "serialization".

[GB.WEB]
* OPT: Replace session serialization code by the new powers of READ and 
  WRITE instructions.


git-svn-id: svn://localhost/gambas/trunk@3244 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-27 19:34:27 +00:00
Benoît Minisini
677321df65 [INTERPRETER]
* BUG: Handle too long path checks against archives without crashing.


git-svn-id: svn://localhost/gambas/trunk@3242 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-25 18:18:48 +00:00
Benoît Minisini
95b95fa8cc [CONFIGURATION]
* NEW: Start trying to display a resume at the end of installation.

[INTERPRETER]
* BUG: Extern functions now can handle up to 16 pointer or string 
  arguments.

[GB.GTK]
* BUG: Fix a infinite recursion in drag and drop management when draging
  TextBox or TextArea contents inside the same application.

[GB.QT]
* BUG: Do not propagate Drop events when there is a drop event handler.


git-svn-id: svn://localhost/gambas/trunk@3237 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-24 09:32:46 +00:00
Benoît Minisini
7b99389464 [INTERPRETER]
* BUG: Fix a possible crash in Val().
* BUG: Fix a possible crash when reading a non-existing key in a 
  Collection.


git-svn-id: svn://localhost/gambas/trunk@3234 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-23 01:34:15 +00:00
Benoît Minisini
c662af4ee8 [INTERPRETER]
* BUG: Format() with a void format string does not crash anymore.

[GB.IMAGE]
* BUG: Image.Colorize() does not invert red and blue anymore.


git-svn-id: svn://localhost/gambas/trunk@3232 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-21 23:49:32 +00:00
Benoît Minisini
c0f29f9f90 [DEVELOPMENT ENVIRONMENT]
* NEW: "Save project as" now uses a dialog box that allows to choose the 
  project new name.
* NEW: CSV file import dialog now can ignore the file first lines.
* NEW: CSN file import dialog now saves its contents in the setting file.

[INTERPRETER]
* BUG: Correctly remove '\t' from error messages, as that character is used
  by the debugger as separator.
* BUG: Release invalid automatic instances again.

[GB.DB.FORM]
* OPT: Use a transaction when deleting many rows in DataView.

[GB.DB.POSTGRESQL]
* BUG: Remove a debugging message.

[GB.GTK]
* BUG: Changing the stack order of a control now correctly triggers a
  parent arrangement.

[GB.QT4]
* BUG: Changing the stack order of a control now always triggers a parent 
  arrangement.


git-svn-id: svn://localhost/gambas/trunk@3225 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-16 11:27:51 +00:00
Benoît Minisini
0bec0b25cf [DEVELOPMENT ENVIRONMENT]
* NEW: The search window now can browse in all source files only.
* BUG: The search list is correctly refreshed for project text files.
* NEW: The debug panel has been slightly redesigned. Local and global
  variables lists are always sorted now.

[INTERPRETER]
* BUG: Do not try to run the "_exit" special method if the class load
  has previously failed.
* BUG: Do not release the automatic instance when is it invalid.
* BUG: Check that the automatic instance is valid before using it.


git-svn-id: svn://localhost/gambas/trunk@3215 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-14 13:01:47 +00:00
Benoît Minisini
210a396888 [DEVELOPMENT ENVIRONMENT]
* NEW: Do not store the svn revision in the .project file.
* NEW: Create a clever menu hierarchy when sorting recent files by path.

[INTERPRETER]
* BUG: Replace() correctly returns its first argument when its second
  argument is a void string.

[COMPILER]
* BUG: Remove a useless test.

[GB.FORM]
* NEW: Add a svg version of the GNU logo.
* BUG: Fix some stock icons in the Gnome map.

[GB.GTK]
* BUG: Fix possible crashes in three utility routines.
* BUG: Fix a crash in GridView.Rows[].Text property.

[GB.NET.SMTP]
* BUG: Fix an always true test.


git-svn-id: svn://localhost/gambas/trunk@3206 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-11 10:23:36 +00:00
Benoît Minisini
850d9febf9 [INTERPRETER]
* BUG: The Object[].Add() method signature is now correctly declared.


git-svn-id: svn://localhost/gambas/trunk@3190 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-07 01:18:04 +00:00
Benoît Minisini
0a659f3a9d [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the help browser for classes whose name begins with an 
  underscore.
* BUG: Fix project loading when there are breakpoints set on non-existing 
  classes.

[INTERPRETER]
* BUG: Fix the behaviour of Eval() when the expression cannot be compiled.
* BUG: Error.Text does not crash anymore when the error message is void.

[COMPILER]
* BUG: Fix the parser behaviour when a non-terminated string is located at 
  the end of the file.

[GB.EVAL]
* BUG: Fix the parser behaviour when a non-terminated string is located at 
  the end of the expression.

[GB.GTK]
* BUG: Fix the behaviour of Label with AutoResize set.

[GB.QT4]
* BUG: Fix the behaviour of Label with AutoResize set.


git-svn-id: svn://localhost/gambas/trunk@3178 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-04 13:21:11 +00:00
Benoît Minisini
de73b5ff5c [GB.FORM]
* BUG: TableView keyboard navigation behave better with gb.gtk.

[GB.GTK]
* BUG: Read-only ComboBox controls do not lost focus events anymore.


git-svn-id: svn://localhost/gambas/trunk@3175 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-01 20:46:09 +00:00
Benoît Minisini
2a60608474 [WIKI CGI SCRIPT]
* BUg: Fix the handle of formatting characters.

[INTERPRETER]
* NEW: Sizeof() now takes a datatype constant (like gb.Integer) as 
  argument, and not an expression anymore.
* NEW: Object.Sizeof() returns the memory used by an object in bytes.


git-svn-id: svn://localhost/gambas/trunk@3170 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-31 12:02:08 +00:00
Benoît Minisini
3fbd60c233 [CONFIGURATION]
* NEW: Check for missing mathematical function directly instead of relying 
  on operating system detection.


git-svn-id: svn://localhost/gambas/trunk@3166 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-31 08:54:51 +00:00
Benoît Minisini
9a265c4201 [INTERPRETER]
* BUG: Last optimization was a bad idea.


git-svn-id: svn://localhost/gambas/trunk@3159 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-29 21:35:34 +00:00
Benoît Minisini
db20edec3e [INTERPRETER]
* OPT: Do not reset the native method error flag before calling a native 
  method, as it is reset just after. Maybe it works, maybe not...


git-svn-id: svn://localhost/gambas/trunk@3157 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-29 20:53:23 +00:00
Benoît Minisini
62c381c2f6 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle compiler errors having column information.

[INTERPRETER]
* BUG: Manage errors from native methods differently.

[COMPILER]
* NEW: Return the column in error messages generated by the parser.

[GB.GTK]
* BUG: Make TabStrip behave like in gb.qt when inserting a new tab.


git-svn-id: svn://localhost/gambas/trunk@3156 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-29 20:51:10 +00:00
Benoît Minisini
df9646d42a [INTERPRETER]
* BUG: Remove file descriptor watch optimization, it does not work.


git-svn-id: svn://localhost/gambas/trunk@3152 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-28 15:00:39 +00:00
Benoît Minisini
84aa516fa4 [INTERPRETER]
* NEW: System.FirstDayOfWeek is a new property that allows to define the 
  first day of the week if the default is not accurate. The default value
  is gb.Sunday for english countries and gb.Monday otherwise.
* NEW: The Week() function now use the default first day of the week.

[GB.FORM]
* NEW: DateChooser now takes System.FirstDayOfWeek into account.


git-svn-id: svn://localhost/gambas/trunk@3151 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-28 12:33:05 +00:00
Benoît Minisini
6db743fc12 [GB.FORM]
* 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
2010-08-27 21:09:34 +00:00
Benoît Minisini
b61b4a108b [INTERPRETER]
* BUG: Prevent Process objects to try to raise their Read event when 
  they were killed.


git-svn-id: svn://localhost/gambas/trunk@3139 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-26 14:45:10 +00:00
Benoît Minisini
c1a2603c70 [INTERPRETER]
* BUG: Remove debugging message.


git-svn-id: svn://localhost/gambas/trunk@3133 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-25 11:35:34 +00:00
Benoît Minisini
19a21789e6 [INTERPRETER]
* OPT: Association between file descriptors and callbacks use a direct 
  index now.


git-svn-id: svn://localhost/gambas/trunk@3132 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-25 11:23:19 +00:00
Benoît Minisini
85b08d28ba [INTERPRETER]
* BUG: ARRAY_add_void() function now correctly adds a void element in the 
  array after an element has been previously removed. That bug made the 
  event loop mad in some cases!


git-svn-id: svn://localhost/gambas/trunk@3131 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-25 09:18:33 +00:00
Benoît Minisini
9b7aa9c650 [INTERPRETER]
* BUG: Fix an unitialized structure field in extern functions management.


git-svn-id: svn://localhost/gambas/trunk@3119 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-15 14:47:18 +00:00
Benoît Minisini
abffa75889 [INTERPRETER]
* BUG: Fix many array methods that crashed when taking abnormal 'start' or 
  'length' arguments. Now they raise errors.


git-svn-id: svn://localhost/gambas/trunk@3110 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-14 20:51:42 +00:00
Benoît Minisini
13c7314713 [GB.GTK]
* BUG: Correctly release Menu tags.


git-svn-id: svn://localhost/gambas/trunk@3109 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-14 16:04:58 +00:00
Benoît Minisini
4f574b001e [INTERPRETER]
* BUG: The debugger does not crash anymore when activated at startup.

[GB.FORM]
* BUG: The MenuButton now only reacts to the left mouse button.

[GB.GTK]
* BUG: Remove some debugging messages from ColumnView.Settings property.
* BUG: Do not try to get informations about a widget when a window is 
  needed and the widget is not yet realized.
* BUG: Fix the Control.Cursor property.
* BUG: Control.Hovered now returns FALSE when the control is not visible.
* BUG: Creating the menubar does not make all window children visible 
  anymore.

[GB.QT4]
* BUG: Control.Hovered now returns FALSE when the control is not visible.


git-svn-id: svn://localhost/gambas/trunk@3107 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-14 13:28:27 +00:00
Benoît Minisini
60ea7ae855 [INTERPRETER]
* BUG: Fix some crashes in error management. Maybe...
* BUG: Sorting with natural string comparison understands gb.Descent 
  correctly now.

[GB.WEB]
* BUG: CGI.Error() method should be more reliable now.


git-svn-id: svn://localhost/gambas/trunk@3091 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-03 11:00:42 +00:00
Benoît Minisini
68e1ec7d00 [GB.FORM]
* NEW: DateBox is a new control that can edit a date with a calendar popup.
  It aims at replacing the DatePicker, and the ValueBox with date type.
* NEW: DateChooser layout is better with small sizes.
* NEW: DateChooser raises a Cancel event when you hit the Escape key.

[GB.GTK]
* BUG: Better management of window grabs.
* NEW: Window.ShowPupup() is a new method that shows a window as a popup.
  It takes an optional X,Y screen position as arguments. If not specified, 
  the window is shown at the current cursor position.
* BUG: Now all controls catch basic events.
* BUG: Fix a crash when destroying controls.

[GB.QT4]
* NEW: Window.ShowPupup() is a new method that shows a window as a popup.
  It takes an optional X,Y screen position as arguments. If not specified, 
  the window is shown at the current cursor position.
* NEW: TrayIcon got a PopupMenu property, like the Control class. But it 
  works only if the TrayIcon observer is a Window. The property has bot
  been implemented in gb.gtk yet.


git-svn-id: svn://localhost/gambas/trunk@3088 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-02 19:36:37 +00:00
Benoît Minisini
8871738fb6 [INTERPRETER]
* BUG: READ and WRITE now correctly handle Pointer datatype.
* BUG: Classes inheriting an array class now work correctly.

[GB.FORM]
* NEW: FileChooser and DirChooser have a new ShowButton property that shows 
  OK and Cancel buttons inside the control. Clicking on the Cancel button
  raises a new Cancel event.
* NEW: Bookmark management has been redesigned in file controls.
* NEW: MenuButton got an AutoResize property.

[GB.FORM.DIALOG]
* NEW: File dialogs now remember their geometry.

[GB.GTK]
* BUG: Fix duplicate Click event in CheckBox control.
* BUG: Correctly handle tristate Checkbox controls.


git-svn-id: svn://localhost/gambas/trunk@3076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-29 10:19:10 +00:00
Benoît Minisini
c994a602df [INTERPRETER]
* BUG: The interpreter compiles now when extern functions are disabled.


git-svn-id: svn://localhost/gambas/trunk@3072 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-26 18:10:51 +00:00
Benoît Minisini
dbf5d2237a [INTERPRETER]
* BUG: Fix the Pi() function when it takes an argument.


git-svn-id: svn://localhost/gambas/trunk@3070 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-26 00:07:47 +00:00
Benoît Minisini
9824b4bfce [DEVELOPMENT ENVIRONMENT]
* BUG: Searching spaces now works in highlighted files.
* OPT: The result of grep has been cached, so that successive searches are 
  faster.

[GB.QT4.EXT]
* NEW: The Editor[].Purge() method replacing character can be passed as an 
  argument.



git-svn-id: svn://localhost/gambas/trunk@3069 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-25 23:19:35 +00:00
Benoît Minisini
40263e9bd7 [INTERPRETER]
* BUG: Correctly fix the management of return value in native function 
  calls.


git-svn-id: svn://localhost/gambas/trunk@3063 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-21 11:45:28 +00:00
Benoît Minisini
7f88b776ab [INTERPRETER]
* 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
2010-07-21 04:40:45 +00:00
Benoît Minisini
e509aab05f [DEVELOPMENT ENVIRONMENT]
* 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
2010-07-19 12:33:57 +00:00
Benoît Minisini
a02e468016 [INTERPRETER]
* BUG: Array.Type property is back again.


git-svn-id: svn://localhost/gambas/trunk@3044 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-16 14:15:11 +00:00
Benoît Minisini
0bc1701225 [WIKI CGI SCRIPT]
* 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
2010-07-14 16:33:29 +00:00
Benoît Minisini
70abf8b89c [INTERPRETER]
* 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
2010-07-14 11:55:32 +00:00
Benoît Minisini
2dda2135f8 [INTERPRETER]
* BUG: Make the interpreter compile correctly.
* BUG: Some fixes in callback management.


git-svn-id: svn://localhost/gambas/trunk@3039 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-14 01:57:13 +00:00
Benoît Minisini
3054690743 [CONFIGURATION]
* 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
2010-07-14 01:50:18 +00:00
Benoît Minisini
46234d8dc7 [INTERPRETER]
* 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
2010-07-09 11:16:49 +00:00
Benoît Minisini
32f6172c89 [DEVELOPMENT ENVIRONMENT]
* 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
2010-07-07 22:06:05 +00:00
Benoît Minisini
4eee881fda [DEVELOPMENT ENVIRONMENT]
* NEW: Global search can be cancelled.
* NEW: The IDE does not try to open binary files anymore.
* NEW: Use the new TabStrip.TextFont property.
* NEW: The open project dialog has been redesigned.

[INTERPRETER]
* BUG: String.Left(), String.Mid() and String.Right() now return NULL on 
  truncated UTF-8 substrings.


git-svn-id: svn://localhost/gambas/trunk@3029 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-05 22:17:49 +00:00
Benoît Minisini
53560dd374 [INTERPRETER]
* BUG: Dir() and RDir() on "" or "." should be fixed now.


git-svn-id: svn://localhost/gambas/trunk@3028 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-05 19:06:11 +00:00
Benoît Minisini
3f9b5afe60 [INTERPRETER]
* BUG: Correctly handle extern functions that return nothing.


git-svn-id: svn://localhost/gambas/trunk@3020 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-23 18:03:04 +00:00
Benoît Minisini
f6a132504d [INTERPRETER]
* BUG: Eof() (and other file functions) using a null stream will not crash 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@3017 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-21 18:26:38 +00:00
Benoît Minisini
6059d4dcb7 [GB.IMAGE]
* NEW: New API for marking an image as modified, and for synchronizing it 
  before reading it, when the temporary image owner needs it.


git-svn-id: svn://localhost/gambas/trunk@3016 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-19 12:38:28 +00:00
Benoît Minisini
727701cdeb [CONFIGURATION]
* 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
2010-06-18 00:14:53 +00:00
Benoît Minisini
e1a7b5efcb [INTERPRETER]
* OPT: A little optimization in Split().

[GB.CAIRO]
* BUG: Cairo.Path() now creates a text path and does not draw anything, 
  like other drawing methods.


git-svn-id: svn://localhost/gambas/trunk@3008 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-16 10:25:21 +00:00
Benoît Minisini
be6bde730d [DEVELOPMENT ENVIRONMENT]
* 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
2010-06-15 06:54:38 +00:00
Benoît Minisini
aaf1044366 [INTERPRETER]
* 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
2010-06-13 20:25:34 +00:00
Benoît Minisini
390a19785c [INTERPRETER]
* BUG: Pointer are correctly managed in extern function calls now.


git-svn-id: svn://localhost/gambas/trunk@3004 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-13 15:00:32 +00:00
Benoît Minisini
a32166b185 [INTERPRETER]
* 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
2010-06-13 12:03:29 +00:00
Benoît Minisini
405f8f89fe [INTERPRETER]
* 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
2010-06-08 23:08:04 +00:00
Benoît Minisini
c52c9f0257 [INTERPRETER]
* OPT: Some optimizations again.

[COMPILER]
* BUG: Compile functions using ByRef correctly again.


git-svn-id: svn://localhost/gambas/trunk@2995 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-06 20:43:13 +00:00
Benoît Minisini
b3db598050 [DEVELOPMENT ENVIRONMENT]
* 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
2010-06-04 23:48:53 +00:00
Benoît Minisini
2c2ad90faf [INTERPRETER]
* OPT: Start some optimizations in conversion routines.


git-svn-id: svn://localhost/gambas/trunk@2989 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-02 23:23:50 +00:00
Benoît Minisini
08f7fd6338 [INTERPRETER]
* BUG: Try to fix the floating-point precision/rounding bug. In other 
  words, 0.6 is now printed 0.6, and not 0.6000...001 anymore.


git-svn-id: svn://localhost/gambas/trunk@2988 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-02 21:12:23 +00:00
Benoît Minisini
a8f12f8e54 [GB.FORM]
* BUG: Use a default question icon for Message.Question icon.


git-svn-id: svn://localhost/gambas/trunk@2987 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-30 19:37:40 +00:00
Benoît Minisini
65645599cb [INTERPRETER]
* BUG: Fix debug information loading on 64 bits OS.


git-svn-id: svn://localhost/gambas/trunk@2980 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-29 23:01:05 +00:00
Benoît Minisini
f75d640e3b [INTERPRETER]
* NEW: StrPtr() now can take a second argument to specify the length of the 
  string we will read from memory. If that argument is not specified, the
  string must ends with a zero character.
* OPT: Internal array management was optimized. It changes nothing for the
  Gambas array class.

[COMPILER]
* OPT: Internal array management was optimized.
* BUG: Using embedded structure with a class that is not a structure now
  raises an error.


git-svn-id: svn://localhost/gambas/trunk@2979 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-29 21:10:36 +00:00
Benoît Minisini
3406d87d1d [INTERPRETER]
* BUG: Archives are read correctly again on 64 bits OS.
* OPT: Memory allocations are now cached in a memory pool, so that malloc() 
  and free() are not called too often.
* BUG: The initial allocation of a new hash table is not too big anymore.

[COMPILER]
* OPT: Memory allocations are now cached in a memory pool, so that malloc() 
  and free() are not called too often. The compiler is now twice as fast as 
  it was before all the recent optimizations!

[ARCHIVER]
* BUG: Archives are read correctly again on 64 bits OS.


git-svn-id: svn://localhost/gambas/trunk@2976 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-28 19:33:05 +00:00
Benoît Minisini
17a6f7ebed [DEVELOPMENT ENVIRONMENT]
* BUG: Ignore incorrect paths when loading recent file list.

[INTERPRETER]
* OPT: Compute stack backtrace only when needed.


git-svn-id: svn://localhost/gambas/trunk@2975 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-28 07:47:49 +00:00
Benoît Minisini
b727d17086 [INTERPRETER]
* 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
2010-05-28 06:24:14 +00:00
Benoît Minisini
74f930e0b6 [INTERPRETER]
* BUG: Make the interpreter compile on 64 bits OS.


git-svn-id: svn://localhost/gambas/trunk@2973 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-27 21:27:42 +00:00
Benoît Minisini
3412ce6442 [CONFIGURATION]
* 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
2010-05-27 13:51:09 +00:00
Benoît Minisini
1f592094a6 [CONFIGURATION]
* 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
2010-05-26 22:01:28 +00:00
Benoît Minisini
b0a0c52af0 [INTERPRETER]
* 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
2010-05-25 11:19:00 +00:00
Benoît Minisini
48f6a6a309 [INTERPRETER]
* BUG: L'API GB.ReturnNewString() doit pouvoir retourner une chaîne vide. 
  Dans ce cas elle le transforme en un GB.ReturnNull().


git-svn-id: svn://localhost/gambas/trunk@2960 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-23 18:59:11 +00:00
Benoît Minisini
4a544c567a [INTERPRETER]
* 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
2010-05-23 11:07:14 +00:00
Benoît Minisini
117f2ac635 [INTERPRETER]
* 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
2010-05-22 18:02:34 +00:00
Benoît Minisini
8e1604e59d [CONFIGURATION]
* 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
2010-05-20 23:23:39 +00:00
Benoît Minisini
74e8fc7fed [INTERPRETER]
* OPT: Many branch prediction optimizations.


git-svn-id: svn://localhost/gambas/trunk@2951 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-19 20:18:23 +00:00
Benoît Minisini
25ad3928cc [CONFIGURATION]
* NEW: Detect PowerPC architecture.

[INTERPRETER]
* OPT: As old static arrays have been removed, a new little optimization 
  is possible in array reading and writing functions.


git-svn-id: svn://localhost/gambas/trunk@2950 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-19 15:05:45 +00:00
Benoît Minisini
a2850ebc91 [CONFIGURATION]
* 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
2010-05-19 12:43:57 +00:00
Benoît Minisini
a8efb8045f [INTERPRETER]
* 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
2010-05-14 21:30:54 +00:00
Benoît Minisini
ca37913578 [DEVELOPMENT ENVIRONMENT]
* BUG: Search string is correctly highlighted in all cases now.

[WEB SITE MAKER]
* NEW: German translation made by Stefan Lang.

[COMPILER]
* NEW: The 'New' keyword is now mandatory when declaring array variables 
  with dimensions. The IDE and component source code were modified 
  according to that change.

[GB.QT4.EXT]
* BUG: Search strings are correctly highlighted in editors with no syntax 
  highlighting.


git-svn-id: svn://localhost/gambas/trunk@2944 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-14 21:17:04 +00:00
Benoît Minisini
2fd1ea3b59 [INTERPRETER]
* BUG: Correctly detect when being run as 'gbr3'.


git-svn-id: svn://localhost/gambas/trunk@2942 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-10 11:20:47 +00:00
Benoît Minisini
a1c3fa1617 [INTERPRETER]
* NEW: Change the semantic of Eof(). Now, if the stream is in blocking 
  mode, then Eof() will wait for the data before testing if something can 
  be read on the stream.
* BUG: Correctly initialize the stream flag that tells that data is always 
  available.

[COMPILER]
* BUG: Correctly raise an error when the INPUT or OUTPUT keywords are used
  with the PIPE instruction.

[GB.FORM]
* NEW: ColorChoose.ShowColorMap is a new property that allows to hide or 
  show the colormap.

[GB.QT4]
* BUG: Correctly disable Qt automatic completion in the ComboBox control.


git-svn-id: svn://localhost/gambas/trunk@2940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-08 20:17:29 +00:00
Benoît Minisini
98c0d81aad [CONFIGURATION]
* BUG: Fix the creation of the gbw3 symbolic link.

[DEVELOPMENT ENVIRONMENT]
* BUG: Fix an error in arrangement icon management.
* NEW: Merge all form editor toolbars.
* NEW: Support for code snippets. Type "fo" and TAB to see it. Not yet
  finished.

[INTERPRETER]
* NEW: Standard format for numbers now displays all the decimal digits.

[GB.QT4.EXT]
* BUG: Fix a possible crash in Editor selection management.


git-svn-id: svn://localhost/gambas/trunk@2929 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-03 11:46:02 +00:00
Benoît Minisini
d1873301d0 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the display of arrangement icons.
* OPT: Keep a reference on the root control is the form editor.
* BUG: Loading recent files should never crash anymore now.
* BUG: Start fixing project creation.

[INTERPRETER]
* BUG: Don't load a component if its name is the same as the main project.

[GB.QT4]
* BUG: Mouse buttons properties work again during a MouseRelease event.


git-svn-id: svn://localhost/gambas/trunk@2924 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-29 12:54:45 +00:00
Benoît Minisini
cc6dfc0e33 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix and enhance Gambas 2 project conversion.

[GB.QT4]
* BUG: Allow control resizing whatever the arrangement of its container, 
  provided that its Ignore property is set.


git-svn-id: svn://localhost/gambas/trunk@2920 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-28 00:17:12 +00:00
Benoît Minisini
e02caaf252 [DEVELOPMENT ENVIRONMENT]
* 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
2010-04-26 09:36:47 +00:00
Benoît Minisini
52ac0bdfee [DEVELOPMENT ENVIRONMENT]
* BUG: Do not trim pasted text when using special paste.

[INTERPRETER]
* NEW: Format() can format Float number with up to 16 digits now.

[GB.QT4.EXT]
* NEW: Support for an insert & block mode. This mode is toggled with the
  "Insert" key.


git-svn-id: svn://localhost/gambas/trunk@2911 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-25 23:04:27 +00:00
Benoît Minisini
d49fe17d83 [DEVELOPMENT ENVIRONMENT]
* NEW: Remove any use of Component.UserPath and any reference to "user 
  component".
* NEW: "libraries" management. Libraries are defined in a new tab of the
  projet property dialog. At the moment, libraries exported classes are not
  taken into account by the automatic completion.
* NEW: The ESC key now closes the help browser.
* BUG: Correctly translate compilation error messages.

[INTERPRETER]
* NEW: "libraries" management.
* NEW: The Component.UserPath property has been removed.
* BUG: Evaluating "Application.Path" or "Application.Name" on the command 
  line does not crash anymore.

[COMPILER]
* BUG: Enhance translation of some error messages.
* NEW: Take libraries into account for exported class declarations.

[ARCHIVER]
* NEW: new "-x" option to extract a file from an archive.

[GB.QT4.EXT]
* NEW: Be more clever when deciding if a line has been modified after 
  having its last character deleted.


git-svn-id: svn://localhost/gambas/trunk@2909 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-25 10:46:57 +00:00
Benoît Minisini
0d5bb25a55 [DEVELOPMENT ENVIRONMENT]
* BUG: Errors on immediate debugging expressions are correctly displayed 
  now.

[WEB SITE MAKER]
* BUG: "mailto:" links are correctly generated now.

[INTERPRETER]
* NEW: The 'u' and 'uu' date formats do not display a point anymore. The
  point must be specified explicitely in the format string.


git-svn-id: svn://localhost/gambas/trunk@2900 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-20 13:28:40 +00:00
Benoît Minisini
7c9a7c368c [INTERPRETER]
* BUG: Remove debugging message.


git-svn-id: svn://localhost/gambas/trunk@2888 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-12 12:49:16 +00:00
Benoît Minisini
067017c715 [INTERPRETER]
* BUG: Fix argument parsing again.


git-svn-id: svn://localhost/gambas/trunk@2887 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-12 12:47:31 +00:00
Benoît Minisini
e69514d151 [INTERPRETER]
* BUG: Fix argument parsing when running an executable.


git-svn-id: svn://localhost/gambas/trunk@2886 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-12 12:24:29 +00:00
Benoît Minisini
79496cc582 [INTERPRETER]
* BUG: Standard streams are correctly initialized now. Consequently, Input 
  and Line Input on them work correctly again.


git-svn-id: svn://localhost/gambas/trunk@2869 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-07 18:39:45 +00:00
Benoît Minisini
a8c6cd99a3 [INTERPRETER]
* BUG: Process stream correctly detects when something has been really read
  during a Read event.

[GB.NET.SMTP]
* NEW: SmtpClient._NoGreeting is a new property that tells not to read the 
  SMTP server greeting. This is needed, because with TLS authentication, 
  openssl does not print it.


git-svn-id: svn://localhost/gambas/trunk@2865 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-06 18:03:37 +00:00
Benoît Minisini
1a905d7cab [INTERPRETER]
* NEW: The GB.Stream.Read API reads up to a defined number of bytes when 
  its length argument is negative (like the READ instruction).
* NEW: Reading a stream up to a defined number of bytes blocks for the 
  first byte to read.

[GB.NET.SMTP]
* BUG: The SmtpClient now works when it is piped with a stream coming from 
  the openssl command, either with TLS or SSL.
* BUG: All SMTP commands are sent in lower case, because uppercase can 
  confuse openssl.


git-svn-id: svn://localhost/gambas/trunk@2864 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-06 17:00:25 +00:00
Benoît Minisini
c15a7461aa [INTERPRETER]
* 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
2010-04-05 17:02:16 +00:00
Benoît Minisini
bb6f47038e [INTERPRETER]
* 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
2010-04-05 01:44:43 +00:00
Benoît Minisini
ecac90958a [INTERPRETER]
* BUG: Fix an uninitalized flag in the stream internal structure.
* BUG: Remove a forgotten debugging breakpoint.


git-svn-id: svn://localhost/gambas/trunk@2845 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-30 23:50:34 +00:00
Benoît Minisini
bb0b93f075 [INTERPRETER]
* NEW: Application.Startup now returns a Class object, the startup class.


git-svn-id: svn://localhost/gambas/trunk@2823 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-25 16:38:40 +00:00
Fabien Bodard
0febd39f25 [INTERPRETER]
* OPT: forgot some changes


git-svn-id: svn://localhost/gambas/trunk@2822 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-25 14:40:14 +00:00
Fabien Bodard
bc1fd21cdd [INTERPRETER]
* BUG: The Startup class name is now correctly returned by Appliction.Startup




git-svn-id: svn://localhost/gambas/trunk@2821 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-25 14:38:12 +00:00
Benoît Minisini
a6e879db91 [INTERPRETER]
* NEW: Application.Startup is a new property that returns the name of the 
  startup class.
* NEW: Class.AutoCreate is a new method that creates the automatic instance 
  of a class, and returns it. It returns NULL if the class is not 
  auto-creatable.


git-svn-id: svn://localhost/gambas/trunk@2820 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-25 11:16:33 +00:00
Benoît Minisini
029e4b5b18 [INTERPRETER]
* NEW: RDir() takes a fourth optional argument, that tells if symbolic link 
  to directories must be recursively searched too.

[GB.DEBUG]
* BUG: Prevent a possible freeze of the IDE when debugging.


git-svn-id: svn://localhost/gambas/trunk@2819 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-25 02:00:55 +00:00
Laurent Carlier
a289c402b1 [INTERPRETER]
* BUG: Fix building when DEBUG_EVENT is defined.


git-svn-id: svn://localhost/gambas/trunk@2813 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-19 16:31:50 +00:00
Benoît Minisini
7f00049b8b [INTERPRETER]
* BUG: Inherited startup Main methods work again.


git-svn-id: svn://localhost/gambas/trunk@2807 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-18 15:40:34 +00:00
Benoît Minisini
6cd1d9d0d3 [DEVELOPMENT ENVIRONMENT]
* NEW: The container arrangement is now displayed with a little icon on the
  top right corner, only when the mouse cursor is inside the container.

[INTERPRETER]
* BUG: Event handlers defined in inherited class are called correctly now,
  without crashing.


git-svn-id: svn://localhost/gambas/trunk@2806 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-18 06:05:17 +00:00
Benoît Minisini
75dcabe16e [INTERPRETER]
* BUG: Prevent a crash if during a _free special method, an element is 
  removed from a collection being freed.


git-svn-id: svn://localhost/gambas/trunk@2789 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-12 01:18:20 +00:00
Benoît Minisini
7790bd8e1e [CONFIGURATION]
* BUG: Add many mising symbolic links on 'missing' and 'install-sh' files.
* NEW: Introduce Gambas minor version number.

[DEVELOPMENT ENVIRONMENT]
* NEW: Packager now uses minor version of Gambas for default component 
  requirements.

[INTERPRETER]
* NEW: System properties were replaced by constants where it is possible.
* NEW: System.FullVersion is a new constant that returns the full Gambas 
  version string, with major and minor numbers.


git-svn-id: svn://localhost/gambas/trunk@2781 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-10 00:14:54 +00:00
Benoît Minisini
6abae433a9 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the similar control menu in the form editor.
* NEW: Do not take the Padding into account when drawing Report containers.
* BUG: Some fixes in the Report dimension selector.
* BUG: Do not import any translation if no translation file has been
  selected in the translation dialog.

[INTERPRETER]
* BUG: When converting a string into a number with Val(), only accept 
  thousand separators after three digits.

[GB.DEBUG]
* BUG: Lock the debugger pipe between reads, to avoid the callback to be
  called ever and ever.

[GB.GTK]
* NEW: Tried to implement a transparent drawing area, but failed!
* NEW: Allow non-native GDK windows. This is experimental, as it crashed 
  before.
* BUG: Fix the ComboBox Click event behaviour. See the wiki for more 
  details.

[GB.QT4]
* BUG: Fix the ComboBox Click event behaviour. See the wiki for more 
  details.
* BUG: Sort sorted ComboBoxes before accessing it, not just before showing
  the popup.


git-svn-id: svn://localhost/gambas/trunk@2762 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-07 17:14:54 +00:00
Benoît Minisini
98ad2ba515 [DEVELOPMENT ENVIRONMENT]
* NEW: Properties wose kind is ReportBorder are now managed.
* NEW: Border and Padding are taken into account when drawing Report forms.

[INTERPRETER]
* BUG: Thousand separators are taken into account when trying to convert a 
  string to an integer.
* BUG: String[].Exist() now correctly returns a boolean.

[GB.DRAW]
* NEW: Paint.Device and Draw.Device now return NULL if nothing is 
  currently drawn.

[GB.REPORT]
* NEW: Change the syntax of ReportBorder.ToString() and ReportBorder[].

[GB.QT4]
* BUG: Dialog.SelectColor() does not quit the event loop unexpectedly 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@2760 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-07 01:38:15 +00:00