Commit graph

745 commits

Author SHA1 Message Date
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
dc2318698a [COMPILER]
* BUG: Fix compilation of function calls having more than 32 ByRef 
  arguments.


git-svn-id: svn://localhost/gambas/trunk@4087 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-04 23:20:53 +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
0f8eb4ed65 [GB.EVAL]
* OPT: Use an intermediate string buffer when analyzing a line of code.


git-svn-id: svn://localhost/gambas/trunk@4074 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-01 18:50:07 +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
866c681682 [DEVELOPMENT ENVIRONMENT]
* NEW: Fix and enhance the Report brush chooser dialog.
* NEW: Use Color.Gradient instead of Color.Merge.

[GB.FORM.STOCK]
* BUG: Add two missing SVG files for stock icons.

[GB.IMAGE]
* NEW: Color.Gradient() is a new method that creates an intermediate color 
  between two others colors by using a RGB gradient.


git-svn-id: svn://localhost/gambas/trunk@4049 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-27 17:31:51 +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
6e6d9fd916 [CONFIGURATION]
* BUG: Remove generated ltmain.sh files.


git-svn-id: svn://localhost/gambas/trunk@4007 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-10 22:18:30 +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
e6a904c445 [GB.IMAGE]
* BUG: Image.PaintImage() incorrectly handled alpha channel compositing.


git-svn-id: svn://localhost/gambas/trunk@3926 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-05 10:19:24 +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
98fef17d0e [ARCHIVER]
* NEW: Don't abort if the executable flags of the resulting file cannot be 
  set, because the file system has been mounted with the "noexec" flag (for
  example).


git-svn-id: svn://localhost/gambas/trunk@3880 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-11 01:53:30 +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
bad51945c1 [GB.FORM]
* BUG: ScrollArea and IconView controls now take the Enabled property into 
  account.

[GB.GTK]
* BUG: gb.gtk compiles with older version of GTK+ again.

[GB.IMAGE]
* NEW: Color.Desaturate() is a new method that desaturates a color.


git-svn-id: svn://localhost/gambas/trunk@3837 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-09 08:39:46 +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
075ded4dee [GB.IMAGE]
* NEW: Image.DrawImage() and Image.PaintImage() now takes a destination 
  width and height arguments. But using them to stretch the source image is
  not supported. Only gb.image.imlib, gb.gtk and gb.qt4 implement that
  feature.


git-svn-id: svn://localhost/gambas/trunk@3822 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-01 02:54:51 +00:00
Benoît Minisini
a096aa1670 [DEVELOPMENT ENVIRONMENT]
* NEW: Text editor now tries to detect HTML files with no HTML extension.
* BUG: Closing the translation dialog when displaying a file having no
  translated strings yet does not incorrectly remove the translation file 
  anymore.

[EXAMPLES]
* NEW: ReportExample has been redesigned. It got a combo-box to select 
  which database driver to use.

[GB.GTK]
* BUG: MouseWheel events can be cancelled now.
* BUG: Setting the ComboBox.List property of a read-only ComboBox now
  automatically selects the first element as in gb.qt4.

[GB.REPORT]
* NEW: gb.report is translatable now.
* NEW: The preview window has been redesigned and enhanced.

[GB.QT4]
* BUG: MouseWheel events can be cancelled now.

[GB.QT4.EXT]
* NEW: In Editor, [Alt]+[Home] and [Alt]+[End] now moves to the previous or 
  next line having the same indentation. This is useful to search the 
  beginning or the end of a structure control, as soon as the code is 
  correctly indented of course!
* BUG: Setting Editor.Highlight property now correctly updates the Editor
  margin.


git-svn-id: svn://localhost/gambas/trunk@3820 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-01 00:59:45 +00:00
Benoît Minisini
c9e5ef8993 [ARCHIVER]
* BUG: Ignore "core" file when creating an executable.


git-svn-id: svn://localhost/gambas/trunk@3816 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-30 12:53:09 +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
b8009f6558 [GB.IMAGE]
* NEW: New Image.Debug static property. When set to TRUE, a debugging 
  message is displayed each time an image is converted to another format.
* NEW: Image.Format is now writable, so that you can convert images to a
  specific format. Not all conversions are supported.


git-svn-id: svn://localhost/gambas/trunk@3798 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-26 00:13:38 +00:00
Benoît Minisini
25e6212024 [GB.IMAGE]
* BUG: Fix the method signature of Image.DrawImage() and 
  Image.PaintImage().
* NEW: The X, Y arguments of Image.DrawImage() and Image.PaintImage() are 
  now optional, and zero by default.


git-svn-id: svn://localhost/gambas/trunk@3787 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-22 20:32:32 +00:00
Benoît Minisini
9911a92652 [DEVELOPMENT ENVIRONMENT]
* NEW: Slightly change the search dialog look.
* BUG: The packager does not put "Terminal=true" in all *.desktop files 
  anymore.

[COMPILER]
* BUG: Compilation of class headers keywords correctly works again.


git-svn-id: svn://localhost/gambas/trunk@3786 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-22 16:52:59 +00:00
Benoît Minisini
ae2bb567e4 [COMPILER]
* BUG: Use form names in translation files now.


git-svn-id: svn://localhost/gambas/trunk@3785 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-20 22:46:00 +00:00
Benoît Minisini
feef2087a7 [COMPILER]
* BUG: Do not create debugger information for code generated by form files.
  Otherwise the debugger is confused.


git-svn-id: svn://localhost/gambas/trunk@3779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-19 13:15:24 +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
c4e08d4574 [DEVELOPMENT ENVIRONMENT]
* NEW: Use small font in editor toolbars.

[COMPILER]
* NEW: Compile form code before class code, so that error messages always 
  occur inside class code.
* BUG: Correctly handle errors when loading source files.

[GB.QT4.EXT]
* BUG: The cursor position is now correctly drawn with proportional fonts.


git-svn-id: svn://localhost/gambas/trunk@3771 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-16 13:25: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
0fd1a693dc [DEVELOPMENT ENVIRONMENT]
* NEW: Display cursor position inside editors, and not in the toolbar 
  anymore.

[GB.QT4]
* OPT: Do not trigger arrangement if setting the visibility of a control 
  has no effect.

[GB.QT4.EXT]
* NEW: Editor can display the cursor position inside itself.


git-svn-id: svn://localhost/gambas/trunk@3755 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-12 12:49:16 +00:00
Benoît Minisini
1a223dc2f7 [GB.DRAW]
* NEW: Paint.AntiAlias is a new property that defines if antialiasing is 
  used for drawing. It should be TRUE by default.


git-svn-id: svn://localhost/gambas/trunk@3754 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-12 11:07:22 +00:00
Benoît Minisini
f4ab13c337 [DEVELOPMENT ENVIRONMENT]
* NEW: Ability to replace strings while browsing the entire project.

[GB.IMAGE]
* BUG: Image.Resize() works with 24-bits image again.

[GB.QT4]
* BUG: GridView correctly honors the WordWrap cell property for rich text.


git-svn-id: svn://localhost/gambas/trunk@3753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-12 10:19:05 +00:00
Benoît Minisini
f78ee4abee [GB.DRAW]
* NEW: Draw.FillRect() uses the FillColor color by default now, not the 
  Background color.


git-svn-id: svn://localhost/gambas/trunk@3748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-11 15:55:13 +00:00
Benoît Minisini
15762e3fb2 [GB.IMAGE]
* NEW: Implement Image.PaintImage().

[GB.IMAGE.IO]
* NEW: Loaded image are returned in the preferred format, as specified by
  gb.qt4, gb.gtk or gb.sdl.

[GB.SDL]
* BUG: Do not define the foreground color before drawing an image. It seems
  useless, isn't it?
* BUG: Fix a case mistake in the "Deactivate" event.


git-svn-id: svn://localhost/gambas/trunk@3746 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-11 00:57:03 +00:00
Benoît Minisini
186afc6326 [DEVELOPMENT ENVIRONMENT]
* NEW: Replace Image.Draw() by Image.PaintImage() everywhere.

[WEB SITE MAKER]
* NEW: Some website updates.

[GB.GTK]
* NEW: The Image.Draw() method has been renamed as Image.PaintImage().

[GB.IMAGE]
* NEW: Image.DrawImage() is a new method that draws an image by ignoring
  the alpha channel.

[GB.IMAGE.IMLIB]
* NEW: The Image.Draw() method has been renamed as Image.PaintImage().

[GB.QT4]
* NEW: The Image.Draw() method has been renamed as Image.PaintImage().


git-svn-id: svn://localhost/gambas/trunk@3744 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-10 21:27:34 +00:00
Benoît Minisini
0a6ea29cbc [GB.IMAGE]
* NEW: Image.DrawRect() as been renamed as Image.PaintRect().


git-svn-id: svn://localhost/gambas/trunk@3742 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-09 11:45:33 +00:00
Benoît Minisini
e23dc7e456 [GB.IMAGE]
* OPT: Image.DrawAlpha() should be faster now.


git-svn-id: svn://localhost/gambas/trunk@3741 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-09 11:39:08 +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
4ddb1c13a8 [COMPILER]
* BUG: Handle failing file deletions with an error message.
* BUG: Correctly remove action files when there is no action anymore in a
  form.

[INFORMER]
* BUG: Handle failing file deletions with an error message.


git-svn-id: svn://localhost/gambas/trunk@3700 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-29 00:24:15 +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
c4e8abec01 [CONFIGURATION]
* BUG: Harmonize the messages displayed when DESTDIR or ROOT is used during 
  compilation.
* NEW: Switch version number to 2.99.1 and bytecode version to 3.0.0.
  WARNING! ALL GAMBAS PROJECTS MUST BE RECOMPILED.

[DEVELOPMENT ENVIRONMENT]
* BUG: Generated Debian packages now correctly depends on gambas3-dev and
  not gambas2-dev.

[GB.QT4.OPENGL]
* NEW: Remove the GlArea.Text() method, as it may be impossible to 
  implement inside gb.gtk.opengl.


git-svn-id: svn://localhost/gambas/trunk@3673 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-21 12:46:52 +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
a4d3dfeab8 [DEVELOPMENT ENVIRONMENT]
* BUG: FileView filter is correctly update in project file creation dialog 
  now.

[COMPILER]
* BUG: Update internal keyword symbol table.

[GB.EVAL]
* BUG: Update internal keyword symbol table.


git-svn-id: svn://localhost/gambas/trunk@3653 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-16 18:15:09 +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