Commit graph

818 commits

Author SHA1 Message Date
Benoît Minisini
a865d9e227 [INTERPRETER]
* NEW: Support for variable number of arguments in extern functions.
* BUG: Fix use of static classes as extern function argument.

[COMPILER]
* NEW: Support for variable number of arguments in extern functions.

[GB.JIT]
* BUG: The GB_JIT environment variable has really no effect if it is 
  defined but a null string.


git-svn-id: svn://localhost/gambas/trunk@4796 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 00:18:38 +00:00
Benoît Minisini
c1decfddfd [INTERPRETER]
* BUG: Enumerating the Param class does not leak memory in some cases 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@4788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-28 08:08:36 +00:00
Benoît Minisini
8fff3e69bd [GB.JIT]
* NEW: Debugging information is printed as soon as the GB_JIT environmental 
  variable is not null.
* NEW: If LLVM version is lesser than 3.1, a warning message is printed. 
  Normally, a crash should occur just after. :-)


git-svn-id: svn://localhost/gambas/trunk@4779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-25 22:24:13 +00:00
Emil Lenngren
b12caea4f6 [INTERPRETER]
* BUG: Fix IIf() function when its arguments have different types.


git-svn-id: svn://localhost/gambas/trunk@4773 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 19:01:04 +00:00
Benoît Minisini
b3eba7f652 [INTERPRETER]
* NEW: You can free a null pointer.


git-svn-id: svn://localhost/gambas/trunk@4772 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:45:21 +00:00
Emil Lenngren
073a6d9e90 [INTERPRETER]
* OPT: Don't allocate array for jit functions if not necessary.



git-svn-id: svn://localhost/gambas/trunk@4770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:27:16 +00:00
Benoît Minisini
76f3885a08 [SCRIPTER]
* BUG: Do not crash when compiling a program again.

[INTERPRETER]
* OPT: Make API arrays constant.
* OPT: Comparison methods return back to gbx_exec_loop.c


git-svn-id: svn://localhost/gambas/trunk@4768 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 00:31:57 +00:00
Emil Lenngren
406d250935 [GB.JIT]
* NEW: Use special add, sub, mul, compi for JIT Compiler Runtime.



git-svn-id: svn://localhost/gambas/trunk@4766 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:49:16 +00:00
Benoît Minisini
8e6dbfa273 [INTERPRETER]
* OPT: Rebirth of _SUBR_add, _SUBR_sub and _SUBR_mul in 'gbx_exec_loop.c'.
* NEW: The code of these functions is now in a shared header named '
  gbx_subr_common.h'.


git-svn-id: svn://localhost/gambas/trunk@4764 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:39:02 +00:00
Benoît Minisini
327add9439 [GB.DEBUG]
* NEW: The component is hidden now.
* BUG: Do not crash anymore when profiling Eval().

[GB.JIT]
* NEW: The component is hidden now.


git-svn-id: svn://localhost/gambas/trunk@4763 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:23:00 +00:00
Benoît Minisini
6b2e5d0776 [CONFIGURATION]
* BUG: Add gb.jit directory in the top Makefile.am so that it is compiled.

[INTERPRETER]
* NEW: System.Profile now only deactivate the instruction profiling. 
  Function calls keep being profiled. That way the IDE can read the profiled
  output without crashing!


git-svn-id: svn://localhost/gambas/trunk@4762 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 21:35:58 +00:00
Benoît Minisini
947e201117 [INTERPRETER]
* BUG: Now System.Profile has no effect if the project has not been started 
  in profiling mode from the IDE.


git-svn-id: svn://localhost/gambas/trunk@4761 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 20:15:32 +00:00
Emil Lenngren
3c912da3db [INTERPRETER]
* NEW: Switch to JIT compiler if available, and make it able to talk to gb.jit.
* BUG: GP must be NULL for new void stack frames.

[COMPILER]
* NEW: 'Fast' keyword means the class should be JIT-compiled.

[GB.JIT]
* NEW: JIT Compiler.



git-svn-id: svn://localhost/gambas/trunk@4759 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 19:26:15 +00:00
Benoît Minisini
d356f49366 [DEVELOPMENT ENVIRONMENT]
* NEW: Some little redesign of the profiling GUI.

[EXAMPLES]
* OPT: Little optimization in GameOfLife example.

[INTERPRETER]
* NEW: System.Profile is a new property to disable or enable the
  profiling at run time. Profiling can only be enabled if debugging
  information are available.

[GB.DEBUG]
* NEW: Abort the program if the profile file is bigger than 512M.


git-svn-id: svn://localhost/gambas/trunk@4753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 22:13:58 +00:00
Benoît Minisini
70afe05d8d [DEVELOPMENT ENVIRONMENT]
* NEW: Handle new format of profile files.

[INTERPRETER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.

[WEBSITE MAKER]
* NEW: An explicit link button that displays the 'news' page.

[COMPILER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.

[GB.DEBUG]
* NEW: New format for profile, more compact and faster to read.


git-svn-id: svn://localhost/gambas/trunk@4748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 01:09:35 +00:00
Benoît Minisini
b5c6820986 [INTERPRETER]
* NEW: Allow to profile time spent waiting for events.

[GB.DEBUG]
* BUG: New profile file format that allows to profile lines of code that
  are function calls.

[GB.GTK]
* NEW: Profile time spent waiting for events.

[GB.QT4]
* NEW: Profile time spent waiting for events.


git-svn-id: svn://localhost/gambas/trunk@4747 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-20 17:58:34 +00:00
Benoît Minisini
f93affd8e9 [DEVELOPMENT ENVIRONMENT]
* NEW: Display callees and callers in the profile window.
* NEW: Display profiling of each line of code.

[INTERPRETER]
* NEW: Activate profiling at the line of code level. Beware, things become
  slower!

[GB.DEBUG]
* NEW: Fix profiling at the line of code level.

[GB.FORM]
* NEW: GridView: Add a Scroll() method.

[GB.QT4.EXT]
* NEW: Editor: Add a ScrollBar property.
* NEW: Editor: Add ScrollX and ScrollY properties.
* NEW: Editor: Add a Scroll method.


git-svn-id: svn://localhost/gambas/trunk@4745 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-20 02:21:43 +00:00
Benoît Minisini
be04525e53 [INTERPRETER]
* BUG: Html$() works correctly again.


git-svn-id: svn://localhost/gambas/trunk@4744 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 23:10:12 +00:00
Benoît Minisini
e95ebcae24 [INTERPRETER]
* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.
* BUG: Eval() is correctly profiled now.

[COMPILER]
* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.


git-svn-id: svn://localhost/gambas/trunk@4743 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 21:35:26 +00:00
Benoît Minisini
8b6cf089ae [INTERPRETER]
* NEW: gb.ShortDate and gb.MediumDate predefined date formats now always 
  display years with four digits.


git-svn-id: svn://localhost/gambas/trunk@4741 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 12:15:51 +00:00
Benoît Minisini
07387ff660 [DEVELOPMENT ENVIRONMENT]
* NEW: Add some debugging options directly in the 'Debug' menu.
* NEW: A new option to activate the profiling of the debugged project.
* NEW: Profiling windows. Not finished yet.

[INTERPRETER]
* BUG: Fix a crash that could occur if a error is raised inside an event 
  handler.
* NEW: Support for profiling.
* BUG: Fix a crash that could occur if a error is raised inside a signal
  callback.

[GB.DEBUG]
* NEW: Support for profiling.

[GB.FORM]
* NEW: GridView now raises a Sort event when the sort properties are 
  changed.
* BUG: Fix a crash when changing the IconPanel Count property.

[GB.GTK]
* BUG: Fix the Font.Copy() method.


git-svn-id: svn://localhost/gambas/trunk@4740 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 02:55:05 +00:00
Benoît Minisini
3f26a4e538 [INTERPRETER]
* BUG: Disable debugging messages in signals management routines.


git-svn-id: svn://localhost/gambas/trunk@4736 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-16 22:47:16 +00:00
Benoît Minisini
217c3d9f94 [INTERPRETER]
* BUG: Activate debugging messages in signal management routines.

[GB.GTK]
* NEW: Implement the _NET_MOVERESIZE_WINDOW way of moving windows.
* BUG: Window state (Minimized, Maximized and FullScreen properties) is now 
  accurately returned.


git-svn-id: svn://localhost/gambas/trunk@4735 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-16 21:42:28 +00:00
Benoît Minisini
4a52486b1d [INTEPRETER]
* BUG: Fix race conditions in signals management routines.


git-svn-id: svn://localhost/gambas/trunk@4734 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-16 18:05:57 +00:00
Benoît Minisini
c095cd3f98 [EXAMPLES]
* NEW: PhotoTouch and MediaPlayer examples now use the gb.gui component.

[GB.GTK]
* NEW: Make GTK+ controls borderless, so that they are "transparent" like 
  gb.qt4 controls. This is work in progress! The PhotoTouch example now 
  works correctly with gb.gtk, the brightness dialog excepted.
* BUG: ScrollBars are correctly initalized now.
* BUG: Container.Find() does not take hidden controls into account anymore.

[GB.IMAGE]
* BUG: Image.Opacity() can handle images with premultiplied alpha correctly 
  now.

[GB.FORM]
* BUG: IconView: Item text is ellipsized without printing GTK+ warnings 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@4729 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-15 01:22:45 +00:00
Benoît Minisini
5917f3b3fe [INTERPRETER]
* BUG: Fix a crash in the &/ operator.


git-svn-id: svn://localhost/gambas/trunk@4725 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-12 23:49:07 +00:00
Benoît Minisini
659f1bf51f [INTERPRETER]
* BUG: Fix a crash when using 'gb.Like' comparison flag.


git-svn-id: svn://localhost/gambas/trunk@4724 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-12 12:04:20 +00:00
Benoît Minisini
4afe7caf6b [INTERPRETER]
* BUG: Disable debugging messages from signal management routines.

[GB.SIGNAL]
* NEW: Call previous signal handlers automatically when a specific signal 
  is catched.


git-svn-id: svn://localhost/gambas/trunk@4722 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-08 17:15:54 +00:00
Benoît Minisini
30f9a40f2b [INTERPRETER]
* NEW: Rename all API related to components, and fix components using them.
* NEW: New signal API that allows to catch signals from the event loop.

[GB.GTK]
* BUG: Use g_object_unref() instead of rsvg_handle_free() now.


git-svn-id: svn://localhost/gambas/trunk@4721 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-08 15:32:33 +00:00
Benoît Minisini
8be12f5027 [DEVELOPMENT ENVIRONMENT]
* NEW: Define the 'Exec' preprocessor constant when making an executable.
* BUG: Packager: Replace spaces with underscores when using the vendor name 
  as package name prefix.
* BUG: Packager: Fix "make uninstall" in autoconf packages.

[INTERPRETER]
* BUG: Allow to override native array classes without crashing.

[COMPILER]
* NEW: New '-x' option to define the 'Exec' preprocessor constant.

[EXAMPLES]
* NEW: MediaPlayer: Real-time seeking.
* NEW: MediaPlayer: Use gb.desktop to suspend the screen saver while 
  playing a media file.


git-svn-id: svn://localhost/gambas/trunk@4715 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-05 00:39:43 +00:00
Benoît Minisini
a6e9f61ee1 [CONFIGURATION]
* NEW: Update *.component files to the new format.
* BUG: Fix component TEMPLATE directory.

[EXAMPLES]
* NEW: PhotoTouch: Display the browsed directory path.

[INTERPRETER]
* NEW: Change the 'main' hook syntax. Add a macro to call the previous 
  'main' hook, so that several hooks can be declared.

[GB.MEDIA]
* NEW: New multimedia component based on GStreamer.

[GB.GTK]
* BUG: Fix timer management so that it is compatible with the GB.Every()
  interpreter API.
* NEW: Allows multiple 'main' hooks.

[GB.QT4]
* NEW: Allows multiple 'main' hooks.


git-svn-id: svn://localhost/gambas/trunk@4693 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-30 00:04:51 +00:00
Benoît Minisini
9a4019ba1e [INTERPRETER]
* BUG: The byte position to utf-8 position caching routine now works in all 
  cases.


git-svn-id: svn://localhost/gambas/trunk@4689 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-29 00:24:14 +00:00
Benoît Minisini
8fc3cb2d90 [INTERPRETER]
* BUG: Fix precision in both string to Float and Float to string 
  conversions.


git-svn-id: svn://localhost/gambas/trunk@4688 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-28 15:08:24 +00:00
Benoît Minisini
f3645e57f7 [INTERPRETER]
* BUG: Fix string to Float parser again.


git-svn-id: svn://localhost/gambas/trunk@4686 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-28 02:53:51 +00:00
Benoît Minisini
3521ec2b25 [INTERPRETER]
* BUG: Ignore non-significant decimal digits when converting a String to a 
  Float. In other words, now 2.0 = 2.


git-svn-id: svn://localhost/gambas/trunk@4685 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-28 02:31:48 +00:00
Benoît Minisini
fe80c39a69 [INTERPRETER]
* BUG: Remove the use and the definition of long double mathematic 
  functions. They are not used anymore.


git-svn-id: svn://localhost/gambas/trunk@4679 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-25 21:12:03 +00:00
Benoît Minisini
88e37a5cff [INTERPRETER]
* BUG: gb.MediumTime does not try to use AM/PM if AM/PM is not supported 
  by the current language.


git-svn-id: svn://localhost/gambas/trunk@4677 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-25 18:47:49 +00:00
Benoît Minisini
79c16878be [INTERPRETER]
* NEW: Do not raise an error when a file path cannot be converted to the 
  local charset. Just do not make the conversion.
* BUG: Freeing any Stream object now automatically closes it.
* BUG: Stream.ReadLine() with no second argument does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@4664 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-23 16:02:35 +00:00
Benoît Minisini
de083e583d [GB.LIBXML]
* NEW: Rename the gb.xml component as gb.libxml.

[GB.LIBXML.XSLT]
* NEW: Rename the gb.xml.xslt component as gb.libxml.xslt

[GB.LIBXML.RPC]
* NEW: Rename the gb.xml.rpc component as gb.libxml.rpc


git-svn-id: svn://localhost/gambas/trunk@4640 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-20 01:01:48 +00:00
Benoît Minisini
360f0bab3f [INTERPRETER]
* BUG: Correctly raise errors when running an external process fails.


git-svn-id: svn://localhost/gambas/trunk@4628 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-14 23:35:33 +00:00
Benoît Minisini
2e7c12703f [INTERPRETER]
* NEW: Call the error hook before printing the error message on the 
  standard error output.


git-svn-id: svn://localhost/gambas/trunk@4623 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-13 22:11:51 +00:00
Benoît Minisini
a9cddc969e [INTERPRETER]
* NEW: Even() is a new subroutine that returns if a number is even.
* NEW: Odd() is a new subroutine that returns if a number is odd.

[GB.GTK]
* BUG: Close all windows correctly when a QUIT instruction is executed.

[GB.QT4]
* BUG: Close all windows correctly when a QUIT instruction is executed.


git-svn-id: svn://localhost/gambas/trunk@4615 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-11 00:27:18 +00:00
Benoît Minisini
0fa9944088 [DEVELOPMENT ENVIRONMENT]
* BUG: In the open project dialog, setting the recent files sorting mode 
  now correctly takes the filter into account.

[WEBSITE MAKER]
* NEW: Add Randall Morgan in the authors list.

[INTERPRETER]
* BUG: In memory checking routines, take previous SIGSEGV and SIGBUS signal
  handlers into account now.


git-svn-id: svn://localhost/gambas/trunk@4576 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-29 16:43:01 +00:00
Benoît Minisini
7ecc12bfe8 [GB.GTK]
* BUG: Do not try to change the background color of menus. It breaks GTK+
  widget style like Ambiance.

[GB.WEB]
* BUG: Setting a Request value to NULL now works as expected.


git-svn-id: svn://localhost/gambas/trunk@4573 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-28 21:55:19 +00:00
Benoît Minisini
91556cac06 [DEVELOPMENT ENVIRONMENT]
* NEW: The debug window has a button to switch between "normal view" and 
  "symbol view". In "normal view", array and collection contents are
  displayed. If the object is not an array or a collection, then all
  non-hidden symbols are displayed. In "symbol view", all objects symbols 
  are displayed, whatever the object type is.

[INTERPRETER]
* NEW: The debugger now can display collection-like objects. An object can 
  be displayed like a collection if it has a Count property, is enumerable,
  has a _get special method taking a string, and has a Key property that 
  returns the key of the last enumerated element.

[GB.DEBUG]
* NEW: The debugger now can display collection-like objects. An object can 
  be displayed like a collection if it has a Count property, is enumerable,
  has a _get special method taking a string, and has a Key property that 
  returns the key of the last enumerated element.

[GB.FORM]
* BUG: GridView.Clear resets the height of all rows to the default value.


git-svn-id: svn://localhost/gambas/trunk@4558 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-17 02:05:31 +00:00
Benoît Minisini
4eb6ac2fa2 [INTERPRETER]
* NEW: INPUT now only read strings. It does not convert the read string 
  with Val() anymore.
* BUG: IIf() and [...] do not accept non-value datatypes (Class and 
  Function).
* NEW: Start supporting displaying Collection-like classes in the debugger.


git-svn-id: svn://localhost/gambas/trunk@4557 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-16 21:41:38 +00:00
François Gallo
146f0c41f7 [INTERPRETER]
* BUG: the exp10() function works on FreeBSD now. 



git-svn-id: svn://localhost/gambas/trunk@4556 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-16 15:47:19 +00:00
François Gallo
54c9745f4c [INTERPRETER]
* BUG: The exp10() function is temporarily removed
  from gbx on FreeBSD because of the BSD libc that
  doesn't have this one.

[GB.V4L]
* NEW: compile with success on FreeBSD



git-svn-id: svn://localhost/gambas/trunk@4555 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-16 13:05:44 +00:00
Benoît Minisini
08fead2ea4 [INTERPRETER]
* NEW: INPUT returns the read string if it cannot be converted to any 
  number or date.


git-svn-id: svn://localhost/gambas/trunk@4552 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-14 12:26:37 +00:00
Benoît Minisini
ca8bc989dd [INTERPRETER]
* BUG: Fix the behaviour of INPUT so that it uses Val() again to convert 
  the values read from the stream.


git-svn-id: svn://localhost/gambas/trunk@4549 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-14 01:57:30 +00:00
Benoît Minisini
fc62ec2a34 [INTERPRETER]
* BUG: INPUT does not leak memory anymore.


git-svn-id: svn://localhost/gambas/trunk@4545 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-13 02:39:10 +00:00
Benoît Minisini
d584cf1121 [DEVELOPMENT ENVIRONMENT]
* NEW: Font size options has been renamed as "Default font size" and "Small
  font size". The small font size is now used for all toolbars.
* NEW: The help browser proxy can be configured.

[GB.FORM]
* NEW: The stock icon named "earth" has been renamed as "internet".

[GB.QT4]
* BUG: If a form is defined as being not visible, then using it as a 
  startup form won't show it.

[GB.QT4.WEBKIT]
* NEW: WebSettings.DefaultProxy is a new constant for using the default 
  proxy configuration.


git-svn-id: svn://localhost/gambas/trunk@4543 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-12 01:48:49 +00:00
Benoît Minisini
e2dc7e9954 [INTERPRETER]
* BUG: Fix String.Left$() when the second argument is greater than the 
  string length.


git-svn-id: svn://localhost/gambas/trunk@4542 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-11 14:26:52 +00:00
Benoît Minisini
9d6b4a0f0d [DEVELOPMENT ENVIRONMENT]
* BUG: Fix version requirements on components in the packager.

[INTERPRETER]
* OPT: A little optimization in LINE INPUT.

[GB.FORM]
* NEW: GridView: Setting the column width to -1 make it fit its contents.
* NEW: GridView: Double-clicking on the right limit of a column make it
  fit its contents.


git-svn-id: svn://localhost/gambas/trunk@4537 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-08 01:41:23 +00:00
Benoît Minisini
9e259995ea [INTERPRETER]
* OPT: Use mmap() to allocated the stack, not malloc(). Consequently, 
  calling functions recursively are now very fast.

[COMPILER]
* NEW: New FAST keyword.


git-svn-id: svn://localhost/gambas/trunk@4536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-06 01:50:41 +00:00
Benoît Minisini
8dfb763782 [INTERPRETER]
* NEW: GOSUB can be recursive now, by saving the control variables, and
  restoring them on RETURN.

[COMPILER]
* NEW: GOSUB can be used on any top-level labels.


git-svn-id: svn://localhost/gambas/trunk@4534 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-04 23:43:07 +00:00
Benoît Minisini
1fc5a474de [INTERPRETER]
* NEW: New GOSUB instruction. You return from a GOSUB with the RETURN 
  instruction alone. Consequently, you cannot exit from a 'SUB' with it if
  there is a pending GOSUB. The GOSUB stack is only limited by the
  available memory.

[COMPILER]
* NEW: New GOSUB instruction.


git-svn-id: svn://localhost/gambas/trunk@4530 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-03 23:57:36 +00:00
Benoît Minisini
fb26ef792f [DEVELOPMENT ENVIRONMENT]
* NEW: A new panel in the option dialog that allows to define which files
  must be ignored when creating a source package or an installation 
  package.

[INTERPRETER]
* BUG: Fix String.Mid$() when the third argument goes after the string 
  length.

[GB.FORM]
* NEW: IconPanel now uses a GridView and not an IconView anymore.
* BUG: GridView.Mouse property now works as expected.


git-svn-id: svn://localhost/gambas/trunk@4528 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-03 02:17:24 +00:00
Benoît Minisini
f841a413e7 [INTERPRETER]
* BUG: Fix structure field padding.


git-svn-id: svn://localhost/gambas/trunk@4517 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-29 13:43:18 +00:00
Benoît Minisini
dd8f6fa227 [INTERPRETER]
* BUG: Adding years with DateAdd() to 29 Feb now switch to 28 Feb not to 
  create invalid dates if the result is not in a leap year.


git-svn-id: svn://localhost/gambas/trunk@4515 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-28 23:39:29 +00:00
Benoît Minisini
b85b4dfc7b [INTERPRETER]
* BUG: Really fix CATCH / FINALLY management.


git-svn-id: svn://localhost/gambas/trunk@4513 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-27 22:15:10 +00:00
Benoît Minisini
61d1e832bb [INTERPRETER]
* BUG: Correctly release the stack when dealing with a CATCH / FINALLY 
  instruction.


git-svn-id: svn://localhost/gambas/trunk@4512 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-27 19:03:57 +00:00
Benoît Minisini
09f700e22b [INTERPRETER]
* BUG: LINE INPUT does not try to incorrectly release its stream argument
  anymore when there is no stream argument.
* OPT: A little optimization in Space$(), Upper$() and Lower$().
* OPT: EXEC / SHELL ... TO does not return the process output through a 
  temporary string that will be freed later. If the string is big, then
  the memory is retained longer than necessary.


git-svn-id: svn://localhost/gambas/trunk@4509 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-26 23:07:14 +00:00
Benoît Minisini
0fcd5bbd44 [GB.DB.FORM]
* BUG: Fix a crash in DataView when it has no current row.


git-svn-id: svn://localhost/gambas/trunk@4508 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-26 18:31:54 +00:00
Benoît Minisini
fad8dc7581 [INTERPRETER]
* NEW: 't' and 'tt' are two new date formatting patterns that display the
  timezone.


git-svn-id: svn://localhost/gambas/trunk@4507 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-25 15:16:10 +00:00
Benoît Minisini
e9f7c91cd5 [INTERPRETER]
* BUG: Destructors now can safely raise errors. If these errors are 
  ignored, the object is released anyway.


git-svn-id: svn://localhost/gambas/trunk@4506 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-25 03:16:08 +00:00
Benoît Minisini
0309f98b60 [DEVELOPMENT ENVIRONMENT]
* NEW: Take property synonymous into account.
* BUG: Pasting text as comments correctly converts tabulations into spaces.

[INTERPRETER]
* NEW: GB.RaiseBegin() and GB.RaiseEnd() are two new intepreter APIs that 
  allow to define a callback that will be called if an exception is raised
  during a call to GB.Raise().
* BUG: CATCH and FINALLY correctly restore the stack pointer. Without that,
  it is possible to use more stack than possible and to crash the 
  interpreter.

[COMPILER]
* NEW: A property now can has up to four different names. The syntax is:
  "Property Name [ , Synonymous1, ..., Synonymous3 ] As Datatype".

[GB.DB]
* BUG: Table.Type property now correctly handle null table types.

[GB.DB.FORM]
* NEW: DataBrowser.Grid is a new property to define the grid visibility.
* BUG: The DataBrowser and DataView controls have been fixed. There is only 
  one problem to fix that depends on a gb.gtk bug.

[GB.DRAW]
* BUG: Setting Draw.Font to NULL does not crash anymore, and raise an error
  instead.

[GB.FORM]
* NEW: The new GridView is finished and replaces the old one now.
* NEW: GridView.ShowCursor is a new property that displays a light cursor 
  around the current cell when set.

[GB.GTK]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: GTK+ GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.

[GB.QT4]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: Qt4 GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.
* BUG: If the DrawingArea Draw event handler raises an error, then the 
  interpreter should not crash anymore.

[GB.QT4.EXT]
* BUG: Fix an uninitialized field in Editor internal GLine class.


git-svn-id: svn://localhost/gambas/trunk@4503 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-25 01:35:55 +00:00
Benoît Minisini
65e1200b53 [INTERPRETER]
* BUG: Constructors that receive too many arguments now correctly raise an 
  error.

[GB.DRAW]
* BUG: Accessing a temporarily closed drawing device now raises an error
  instead of crashing.


git-svn-id: svn://localhost/gambas/trunk@4496 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-22 01:42:40 +00:00
Benoît Minisini
a668911d1e [INTERPRETER]
* BUG: Convert the return value of a native function to a variant 
  automatically only if the function call is done by a "CALL" bytecode.
  Consequently the gb.signal component works again.



git-svn-id: svn://localhost/gambas/trunk@4489 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-19 16:13:38 +00:00
Benoît Minisini
859a04ba8c [INTERPRETER]
* BUG: Fix enumeration abortion.


git-svn-id: svn://localhost/gambas/trunk@4474 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-12 21:37:46 +00:00
Benoît Minisini
7a3021909e [INTERPRETER]
* BUG: Fix translatable string constants inheritance.


git-svn-id: svn://localhost/gambas/trunk@4473 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-12 19:53:40 +00:00
Benoît Minisini
9a0e045cd1 [INTERPRETER]
* BUG: Object.Call() does not try to convert the return value if there is
  no return value!


git-svn-id: svn://localhost/gambas/trunk@4467 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-11 19:12:32 +00:00
Benoît Minisini
2fa263b81f [INTERPRETER]
* BUG: Object.Call() returns its value correctly now.


git-svn-id: svn://localhost/gambas/trunk@4466 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-11 19:09:03 +00:00
Benoît Minisini
9e30b521c4 [INTERPRETER]
* NEW: Formatting a date with gb.GeneralDate now always prints the time.
* BUG: The time part of a formatted date is never automatically removed 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@4464 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-11 08:37:48 +00:00
Benoît Minisini
b075a2e026 [INTERPRETER]
* NEW: Loading a library does not load its dependencies automatically 
  anymore. Now they behave like components, and the IDE will have to
  compute the dependencies.


git-svn-id: svn://localhost/gambas/trunk@4463 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-08 20:26:24 +00:00
Benoît Minisini
7b191a1c5d [INTERPRETER]
* BUG: Fix date formatting.


git-svn-id: svn://localhost/gambas/trunk@4454 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-05 19:30:30 +00:00
Benoît Minisini
1a6d492738 [INTERPRETER]
* NEW: System.Shell is a new property that allows to define the shell used
  by the Shell instruction. By default, this is '/bin/sh'.


git-svn-id: svn://localhost/gambas/trunk@4453 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-05 16:18:57 +00:00
Benoît Minisini
9855c33d97 [INTERPRETER]
* BUG: Make date formatting more consistent when the date part or the time 
  part is null.


git-svn-id: svn://localhost/gambas/trunk@4449 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-05 08:08:27 +00:00
Benoît Minisini
2bbdb9a698 [INTERPRETER]
* BUG: Float and Single constants are now supported in native classes.


git-svn-id: svn://localhost/gambas/trunk@4444 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-01 01:51:29 +00:00
Benoît Minisini
f5472efbbe [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the form editor grid horizontal position.

[INTERPRETER]
* NEW: IsNan() is a new function that returns if a floating point value is
  not a number.
* NEW: IsInf() is a new function that returns +1 if a floating point value 
  is +Inf, -1 if it is -Inf, and 0 if it is a normal number.
* NEW: Swap$() is a new function that swaps a string.
* NEW: The MkBool$(), MkShort$(), MkInt$()... functions come back!

[COMPILER]
* NEW: +Inf and -Inf are two new keywords for representing the 
  corresponding special floating values.


git-svn-id: svn://localhost/gambas/trunk@4435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-31 02:33:01 +00:00
Benoît Minisini
96c50f1600 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix some crash in database manager when removing fields or index.
* BUG: Fix position history.
* NEW: Add a history popup menu.

[INTERPRETER]
* NEW: The Html$() function now converts unicode non-breaking space (code 
  160) in a " " entity.

[GB.GTK]
* BUG: Now raise an error when using text-box methods on read-only 
  combo-boxes.
* NEW: GTK+ 2.16 is now required.


git-svn-id: svn://localhost/gambas/trunk@4415 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-22 13:13:25 +00:00
Benoît Minisini
34f24c3991 [INTERPRETER]
* BUG: Fix the Param array accessor, that returns a specific extra argument
  from its index.

[GB.DBUS]
* BUG: Fix DBus method call when the method returns nothing. If there is an
  error, it is correctly raised.


git-svn-id: svn://localhost/gambas/trunk@4413 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-21 03:19:38 +00:00
Benoît Minisini
6227c5ecf2 [INTERPRETER]
* OPT: Optimize IIf() when its two last arguments have the same datatype.


git-svn-id: svn://localhost/gambas/trunk@4409 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 02:53:09 +00:00
Benoît Minisini
4300e266d8 [INTERPRETER]
* BUG: Fix inline array operator when mixing objects and standard datatypes.


git-svn-id: svn://localhost/gambas/trunk@4408 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 02:41:42 +00:00
Benoît Minisini
2288bb9194 [INTERPRETER]
* BUG: Fix IIf() when the returned values are objects.


git-svn-id: svn://localhost/gambas/trunk@4407 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 02:37:03 +00:00
Benoît Minisini
c8b5c206ef [INTERPRETER]
* BUG: Fix bits manipulation routines on Short values.


git-svn-id: svn://localhost/gambas/trunk@4406 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 01:35:41 +00:00
Benoît Minisini
6c0306605a [INTERPRETER]
* BUG: Fix the IIf() function when its arguments have different types.


git-svn-id: svn://localhost/gambas/trunk@4405 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 01:26:10 +00:00
Benoît Minisini
f5682bf3b4 [DEVELOPMENT ENVIRONMENT]
* BUG: Do not try to handle Home and End keys in editors.
* BUG: Fix the translation of error messages made by the debugger.
* NEW: Update error message list.

[INTERPRETER]
* NEW: Chmod, Chown and Chgrp were implemented.
* NEW: Stat.Auth is a new property that returns the file mode as a string,
  using the format of the 'chmod' shell command.
* NEW: Rmdir raises a specific 'Directory is not empty' error now, when 
  trying to remove a non-empty directory.

[COMPILER]
* NEW: Chmod <path> To <mode> was implemented. <mode> is a string having 
  the same format as the 'chmod' shell command.
* NEW: Chown <path> To <user> was implemented. <user> is the name of the 
  user as defined in the /etc/passwd file.
* NEW: Chgrp <path> To <group> was implemented. <user> is the name of the 
  group as defined in the /etc/group file.


git-svn-id: svn://localhost/gambas/trunk@4400 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-15 08:54:57 +00:00
Benoît Minisini
4e3a714642 [INTERPRETER]
* BUG: Terminal emulation now does not automatically convert NL to CR+NL.
* BUG: Fix the declaration of custom array classes.

[GB.GTK]
* BUG: Stopping a file descriptor watch now correctly check if the event 
  loop must be exited.


git-svn-id: svn://localhost/gambas/trunk@4398 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-13 08:04:11 +00:00
Benoît Minisini
3474d5e76d [INTERPRETER]
* NEW: System.FullVersion now returns the full version string, with major, 
  minor and release.
* BUG: Missing return values are correctly catched in operators now.


git-svn-id: svn://localhost/gambas/trunk@4395 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-11 01:49:57 +00:00
Benoît Minisini
2a777ba169 [INTERPRETER]
* NEW: New error message when a child process cannot be run for any reason.
* BUG: EXEC / SHELL ... FOR INPUT now work correctly when OUTPUT is not
  specified, and there is not a true terminal to get the data that is not 
  redirected.


git-svn-id: svn://localhost/gambas/trunk@4392 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-06 01:47:50 +00:00
Benoît Minisini
0544910f30 [DEVELOPMENT ENVIRONMENT]
* BUG: In Report forms, draw ReportImage and ReportSvgImage according to 
  their Stretch property.
* NEW: Use a TabPanel instead of a TabStrip to draw the Report form.
* NEW: Make the grid visible in all form families, and align it correctly 
  even in a Report form.

[WEB SITE MAKER]
* NEW: Remove text shadows.

[INTERPRETER]
* NEW: Define a minimum and maximum bytecode version that the interpreter
  can handle.

[GB.FORM]
* NEW: TabPanel buttons take a bit less space.


git-svn-id: svn://localhost/gambas/trunk@4389 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-01 15:15:49 +00:00
Benoît Minisini
dd3b512daf [CONFIGURATION]
* NEW: Update copyrights.


git-svn-id: svn://localhost/gambas/trunk@4384 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 02:39:20 +00:00
Benoît Minisini
074dc8c05f [INTERPRETER]
* BUG: The Internet condom had an hole. Use a better one.


git-svn-id: svn://localhost/gambas/trunk@4382 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 02:09:12 +00:00
Benoît Minisini
7f04720f33 [INTERPRETER]
* NEW: Put a condom on our string hash routine.


git-svn-id: svn://localhost/gambas/trunk@4381 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 01:02:42 +00:00
Benoît Minisini
470807e659 [INTERPRETER]
* BUG: Fix Single constants when directly read, not through an object 
  reference.


git-svn-id: svn://localhost/gambas/trunk@4373 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-30 21:41:29 +00:00
Benoît Minisini
759aa3ba69 [INTERPRETER]
* BUG: Fix support for Single constants.


git-svn-id: svn://localhost/gambas/trunk@4370 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-30 20:49:54 +00:00
Benoît Minisini
c1e1bb9fa4 [INTERPRETER]
* BUG: The number of digits in default floating point formats was too high
  for the available precision.


git-svn-id: svn://localhost/gambas/trunk@4363 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-30 02:29:00 +00:00
Benoît Minisini
6ce1641661 [INTERPRETER]
* BUG: Try to fix Float to String conversion with a simpler routine.


git-svn-id: svn://localhost/gambas/trunk@4362 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-30 01:28:10 +00:00
Benoît Minisini
546bc7a4f4 [INTERPRETER]
* BUG: Calling native methods on an anonymous reference now correctly casts 
  the return value to a Variant.
* BUG: Remove all Array class methods that break the inheritance rules.

[GB.GTK]
* BUG: Fix initial position of windows so that window manager constraints 
  are not overrided.

[GB.SETTINGS]
* BUG: Fix the use of Array class.


git-svn-id: svn://localhost/gambas/trunk@4361 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-29 21:47:41 +00:00
Benoît Minisini
717ab7fe77 [INTERPRETER]
* BUG: Fix _get, _next and Pop methods in the Array class.


git-svn-id: svn://localhost/gambas/trunk@4360 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-29 17:00:57 +00:00
Benoît Minisini
03caf23353 [DEVELOPMENT ENVIRONMENT]
* NEW: Database properties now can be editer even if there is no connection
  property defined in the form.

[GB.FORM]
* BUG: TabPanel now should not crash if there is no tab visible.
* BUG: The first visible TabPanel button is now drawn correctly if its 
  index is not zero.


git-svn-id: svn://localhost/gambas/trunk@4348 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-28 16:12:18 +00:00
Benoît Minisini
bee6e69ad1 [DEVELOPMENT ENVIRONMENT]
* NEW: A button to show or hide the system tables in the database editor.
* BUG: Copying button is enabled now in the SQL editor.
* NEW: SQL highlighting.

[GB.EVAL.HIGHLIGHT]
* NEW: SQL highlighting routine.

[GB.FORM]
* BUG: Fix an arrangement bug in TabPanel.

[GB.QT4.EXT]
* NEW: Editor.HighlightCurrent flag has been renamed HighlightImmediately.
* BUG: Braces are now highlighted even if they are not on the same line.
* NEW: Editor.HideMargin is a new flag to hide the editor left margin.


git-svn-id: svn://localhost/gambas/trunk@4344 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-28 03:04:46 +00:00
Benoît Minisini
e8f2747c1a [DEVELOPMENT ENVIRONMENT]
* BUG: The "Browse again" button in the search list now does nothing if 
  there is no search string defined.

[INTERPRETER]
* NEW: Object[].FindByRef and Object[].ExistByRef are two new methods that
  do not take the _compare special method into account. They compare 
  objects by reference only.

[GB.DB.FORM]
* NEW: DataBrowser.Border is a new property to define if a border should be
  displayed or not.
* BUG: Fix DataBrowser layout for all orientations.

[GB.DB.MYSQL]
* BUG: Try to make connection timeout work as expected, without success.
  It seems sticked to be at least one minute. :-(

[GB.FORM]
* BUG: IconView now behaves correctly when an item has no text. It uses there
  new array methods that search items by reference only.
* NEW: TabPanel.Highlight is a new property that highlight the current 
  selected tab button.
* NEW: TabPanel.Closable is a new property that works exactly like 
  TabStrip.Closable.
* BUG: TabPanel.Remove() now works correctly.
* NEW: ScrollArea is more clever with mouse wheel events.

[GB.FORM.MDI]
* NEW: Workspace now uses a TabPanel instead of a TabStrip.


git-svn-id: svn://localhost/gambas/trunk@4342 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-27 13:39:23 +00:00
Benoît Minisini
3d934b455c [DEVELOPMENT ENVIRONMENT]
* OPT: The project file creation dialog initalizes its file browser later.

[INTERPRETER]
* BUG: Use sigsetjmp() instead of setjmp() as expected by the memory check 
  functions.

[GB.FORM.MDI]
* BUG: Do not use symbolic links, but real image files for action icons.

[GB.SIGNAL]
* BUG: Fix some warnings on BSD.


git-svn-id: svn://localhost/gambas/trunk@4284 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-18 03:03:07 +00:00
Benoît Minisini
1961d55cd7 [INTERPRETER]
* BUG: Correctly free constructor arguments when there is inheritance.


git-svn-id: svn://localhost/gambas/trunk@4277 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-13 04:48:47 +00:00
Benoît Minisini
200a429afc [DEVELOPMENT ENVIRONMENT]
* NEW: New "Gamabs" highlight theme.
* BUG: When showing the search dialog, the search text is correctly 
  selected in all cases now.
* BUG: Importing a report (or any form that is not a GUI form) now 
  correctly imports the class file.

[EXAMPLES]
* NEW: Add a text clipping example in the 'Painting' example.

[INTERPRETER]
* OPT: Replace() is now faster when the search string and the replace
  string are both one character length strings.

[COMPILER]
* NEW: The string escape character '\v' was added.

[GB.GTK]
* BUG: Paint.Text() now works correctly when the alignment is not 
  specified.

[GB.NET]
* BUG: Correctly check system errors when using a asynchronous DnsClient.

[GB.QT4]
* BUG: Paint.Save() and Paint.Restore() take the clipping path into account 
  now.

[GB.SETTINGS]
* NEW: Use a temporary file when saving a settings file, and always make a
  backup.

[GB.WEB]
* NEW: The Session.Modify() method was replaced by a read/write Modified 
  property.


git-svn-id: svn://localhost/gambas/trunk@4273 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-11 19:14:04 +00:00
Benoît Minisini
708c137c3d [INTERPRETER]
* NEW: Support for extern functions returning a C structure pointer.


git-svn-id: svn://localhost/gambas/trunk@4257 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-25 22:26:09 +00:00
Benoît Minisini
19b6e1c34d [INTERPRETER]
* BUG: Array Reverse() method now returns the reversed array.


git-svn-id: svn://localhost/gambas/trunk@4255 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-24 21:45:21 +00:00
Benoît Minisini
bd23a0b883 [INTERPRETER]
* BUG: Use setpgid() instead of setpgrp() to be BSD-compatible.


git-svn-id: svn://localhost/gambas/trunk@4250 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-19 15:31:40 +00:00
Benoît Minisini
296ae062ba [INTERPRETER]
* NEW: GB.ReturnConvVariant() is a new API that ensures that the returned 
  value is a Variant, as now the interpreter does not do the conversion
  automatically.
* BUG: Use the new GB.ReturnConvVariant() and the GB.ReturnVariant() API
  everywhere it is needed.


git-svn-id: svn://localhost/gambas/trunk@4248 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-14 01:06:51 +00:00
Benoît Minisini
f5954e9f4f [INTERPRETER]
* BUG: New GB.ReturnVariant() API for methods and properties that return a 
  Variant value.

[GB.DESKTOP]
* BUG: Fix DekstopWindow state properties.
* BUG: Use the new GB.ReturnVariant() API for _Desktop.GetWindowProperty().


git-svn-id: svn://localhost/gambas/trunk@4246 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-13 23:18:04 +00:00
Benoît Minisini
8adad18528 [INTERPRETER]
* BUG: [Func()] now correctly raises an error if Func() does not return a
  value.


git-svn-id: svn://localhost/gambas/trunk@4241 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-12 23:56:21 +00:00
Benoît Minisini
b7eae7abdd [INTERPRETER]
* BUG: Fix inheritance signature check for array classes.


git-svn-id: svn://localhost/gambas/trunk@4235 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-06 00:26:37 +00:00
Benoît Minisini
099fda7cd2 [COMPILER]
* BUG: The lowest long integer constant (-9223372036854775808) is correctly 
  interpreted now.

[GB.EVAL]
* BUG: The lowest long integer constant (-9223372036854775808) is correctly 
  interpreted now.


git-svn-id: svn://localhost/gambas/trunk@4230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-01 23:24:07 +00:00
Benoît Minisini
ea60353cf8 [INTERPRETER]
* BUG: Oops. Fix the revision #4224 fix!


git-svn-id: svn://localhost/gambas/trunk@4226 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-30 17:53:08 +00:00
Benoît Minisini
0ee692b045 [INTERPRETER]
* BUG: If() and the [...] operator now raise an error when they get a
  non-standard datatype, instead of crashing.


git-svn-id: svn://localhost/gambas/trunk@4224 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-30 15:51:57 +00:00
Benoît Minisini
df80468b96 [INTERPRETER]
* BUG: Fix function calls for functions taking optional arguments and extra
  arguments.


git-svn-id: svn://localhost/gambas/trunk@4223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-28 01:54:10 +00:00
Benoît Minisini
d759ebb519 [INTERPRETER]
* BUG: Fix hash table resizing routine.


git-svn-id: svn://localhost/gambas/trunk@4219 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-24 23:58:41 +00:00
Benoît Minisini
95aa370a7e [INTERPRETER]
* BUG: Do not use GB.ReturnNull() when returning a void string anymore. Use
  the new GB.ReturnVoidString() API instead.


git-svn-id: svn://localhost/gambas/trunk@4216 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-24 19:33:41 +00:00
Benoît Minisini
13e89c798a [INTERPRETER]
* BUG: Fix negative year support in date management.


git-svn-id: svn://localhost/gambas/trunk@4214 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-24 14:56:41 +00:00
Benoît Minisini
348f1cefbd [INTERPRETER]
* BUG: Fix a useless and incorrect string initialization in the UTF-8 to
  UTF-16 internal conversion routine.
* BUG: Native functions that return a string must not use the 
  GB.ReturnNull() API, but GB.ReturnVoidString() instead. Fix the
  String.LCase() and String.UCase() functions accordingly.
* BUG: Date() function takes one argument, or at least three arguments now.


git-svn-id: svn://localhost/gambas/trunk@4213 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-24 14:52:20 +00:00
Benoît Minisini
4dbe9557a9 [INTERPRETER]
* BUG: Support for different callbacks on the same function call.


git-svn-id: svn://localhost/gambas/trunk@4212 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-24 12:16:40 +00:00
Benoît Minisini
db165a0996 [INTERPRETER]
* BUG: Disable an incorrect FOR...NEXT optimization.


git-svn-id: svn://localhost/gambas/trunk@4208 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-23 17:13:48 +00:00
Benoît Minisini
e680d4fe9b [DEVELOPMENT ENVIRONMENT]
* BUG: The form editor now embeds controls in a container that depens on 
  the form family (a Panel for a Form, a ReportPanel for a Report).

[INTERPRETER]
* BUG: Fix loop management when big negative values are used.

[GB.REPORT]
* NEW: Add an icon for the ReportPanel control.


git-svn-id: svn://localhost/gambas/trunk@4206 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-20 00:03:25 +00:00
Benoît Minisini
e531a4e05f [CONFIGURATION]
* BUG: Fix many gcc 4.6.1 warnings.
* NEW: Update the depcomp sript with a more recent version.

[GB.DB.POSTGRESQL]
* BUG: Fix primary index retrieving for tables inside a schema.


git-svn-id: svn://localhost/gambas/trunk@4203 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-16 19:24:01 +00:00
Benoît Minisini
f1e042543d [INTERPRETER]
* BUG: Try to not lose the value of 'errno' if the select() system call 
  fails inside the event loop.

[GB.GTK]
* BUG: Fix arrangement when there is no place for expanded controls.

[GB.QT4]
* BUG: Fix arrangement when there is no place for expanded controls.


git-svn-id: svn://localhost/gambas/trunk@4182 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-09 02:05:07 +00:00
Benoît Minisini
bfb9fa6d6b [INTERPRETER]
* BUG: Fix GB.System.Charset() API.


git-svn-id: svn://localhost/gambas/trunk@4164 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-30 08:23:54 +00:00
Benoît Minisini
6e86a84d5a [INTERPRETER]
* NEW: Disable echo by defaut when running a child process inside a virtual 
  terminal.

[DEVELOPMENT ENVIRONMENT]
* BUG: Run projects inside a virtual terminal.


git-svn-id: svn://localhost/gambas/trunk@4163 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-29 00:10:15 +00:00
Benoît Minisini
72c46b0820 [INTERPRETER]
* BUG: Correctly check how a system file descriptor is opened when 
  watching it.



git-svn-id: svn://localhost/gambas/trunk@4160 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-28 00:57:05 +00:00
Benoît Minisini
7a445217f2 [DEVELOPMENT ENVIRONMENT]
* NEW: Javascript compression now compress local variable names.
* BUG: Fix database manager field creation.

[GB.FORM.STOCK]
* BUG: Fix icons again.

[GB.QT4]
* BUG: Fix GridView Row and Column property.
* BUG: Fix GridView Change event in single selection mode.


git-svn-id: svn://localhost/gambas/trunk@4158 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-27 12:36:33 +00:00
Benoît Minisini
4dcc3d7800 [INTERPRETER]
* BUG: Fix internal UTF-8 to Unicode conversion routine.


git-svn-id: svn://localhost/gambas/trunk@4156 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-26 03:00:00 +00:00
Benoît Minisini
ea0cd62f68 [INTERPRETER]
* BUG: Fix internal collection hash table resizing.


git-svn-id: svn://localhost/gambas/trunk@4154 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-26 02:05:50 +00:00
Benoît Minisini
630c52937c [INTERPRETER]
* OPT: Optimization of locale-aware string comparison routine.
* OPT: Do not use sprintf() for searching event handlers in symbol tables.
* OPT: String[].Find() and String.Exist() are now twice faster for ASCII 
  binary and case insensitive comparisons.
* BUG: Initialize the locale before loading any class.
* OPT: Do not use sprintf() when searching a file inside Gambas archives.
* OPT: Unroll a loop to speed up binary string identity comparison a little 
  bit.
* BUG: Collection keys are now hashed with their eight last characters.
* BUG: Internal Collection automatic resizing was disabled. Re-enable it!


git-svn-id: svn://localhost/gambas/trunk@4153 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-26 01:46:48 +00:00
Benoît Minisini
12997b15f3 [DEVELOPMENT ENVIRONMENT]
* BUG: Don't crash if a library cannot be found.
* NEW: Display a big message in the library tab of the project property
  dialog to tell that library must be stored in the same directory as the
  project using them.

[INTERPRETER]
* OPT: Some little optimization in natural comparison routine.

[GB.GTK]
* BUG: Do not crash if a null key is used for a stock picture. Just return
  a null reference.


git-svn-id: svn://localhost/gambas/trunk@4145 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-23 20:17:57 +00:00
Benoît Minisini
a807a57983 [INTERPRETER]
* OPT: Some optimizations in date formatting.
* OPT: Now() has been optimized when run multiple times during the same 
  second.


git-svn-id: svn://localhost/gambas/trunk@4144 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-21 12:42:56 +00:00
Benoît Minisini
990180be34 [INTERPRETER]
* OPT: Internal conversions between unicode and utf-8 have been optimized.
* OPT: String.UCase(), String.LCase() and String.Chr() have been optimized.
* BUG: Arrays of classes exported from a component or a library are now
  automatically exported too.
* NEW: Param.All is a new property that returns all extra arguments as an
  array.


git-svn-id: svn://localhost/gambas/trunk@4143 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-21 09:42:19 +00:00
Benoît Minisini
ee80fb4118 [INTERPRETER]
* BUG: Fix String.Pos(), and String.InStr() with a third argument.

[GB.QT4]
* BUG: GridView: Fix how the Change event is raised in single selection 
  mode.


git-svn-id: svn://localhost/gambas/trunk@4140 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-19 01:16:29 +00:00
Benoît Minisini
15f01d67ed [INTERPRETER]
* BUG: When opening an existing file descriptor, correctly check the mode
  compatibility.


git-svn-id: svn://localhost/gambas/trunk@4135 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-18 16:27:23 +00:00
Benoît Minisini
9071bf9a59 [INTERPRETER]
* NEW: When opening an existing file descriptor, check its validity 
  immediately.


git-svn-id: svn://localhost/gambas/trunk@4134 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-18 15:38:43 +00:00
Benoît Minisini
a3c4a852e3 [INTERPRETER]
* NEW: When opening an existing file descriptor, check that it is opened 
  with a compatible mode. Otherwise raise an "Access forbidden" error.


git-svn-id: svn://localhost/gambas/trunk@4133 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-18 15:36:30 +00:00
Benoît Minisini
3b5b881d5e [INTERPRETER]
* NEW: Split System and Application class implementation in tow different
  source files.
* NEW: A trick to watch existing file descriptors: opening ".XX" in direct
  mode, where "XX" is the file descritor value.


git-svn-id: svn://localhost/gambas/trunk@4132 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-18 15:21:11 +00:00
Benoît Minisini
c900daba16 [EXAMPLES]
* NEW: Fix video examples according to the last changes in gb.v4l.


git-svn-id: svn://localhost/gambas/trunk@4128 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-14 15:30:30 +00:00
Benoît Minisini
2e398f2a63 [INTERPRETER]
* BUG: Fix the declaration of SizeOf() syntax.


git-svn-id: svn://localhost/gambas/trunk@4124 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-13 02:31:56 +00:00
Benoît Minisini
db575749b4 [INTERPRETER]
* BUG: Now incrementing or decrementing a boolean raises an error.


git-svn-id: svn://localhost/gambas/trunk@4123 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-13 00:04:40 +00:00
Benoît Minisini
04eff64e18 [INTERPRETER]
* BUG: Remove the deprecated Object.LastEventName property.


git-svn-id: svn://localhost/gambas/trunk@4122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-13 00:02:33 +00:00
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