Commit graph

409 commits

Author SHA1 Message Date
Benoît Minisini
4accf2d633 [INTERPRETER]
* BUG: Do not crash anymore when an error is raised inside the constructor
  of the automatic instance of an auto-creatable class.


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

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

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

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


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


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


git-svn-id: svn://localhost/gambas/trunk@3737 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-07 23:24:11 +00:00
Benoît Minisini
df3f9c9f36 [WEB SITE MAKER]
* NEW: New web site design.

[WIKI CGI SCRIPT]
* NEW: New web site design.

[INTERPRETER]
* BUG: Remove some unused code.
* NEW: Stream got three new methods: Begin, Send & Drop. All WRITE 
  instructions between a Begin and Send will be merged in one bunch of data
  that will be sent when Stream.End() is called. Stream.Drop() is there to
  cancel that process.
* BUG: Correctly handle EINTR when writing to the SIGCHLD pipe.


git-svn-id: svn://localhost/gambas/trunk@3730 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-04 00:40:32 +00:00
Benoît Minisini
d41b7b92d3 [INTERPRETER]
* BUG: Handle EINTR while reading the SIGCHLD pipe.


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


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


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


git-svn-id: svn://localhost/gambas/trunk@3688 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-26 09:11:52 +00:00
Benoît Minisini
69324eec4a [INTERPRETER]
* NEW: New API to return the Gambas installation path.

[GB.SDL]
* BUG: Use the Gambas installation path to find the default font.


git-svn-id: svn://localhost/gambas/trunk@3684 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-24 02:15:32 +00:00
Benoît Minisini
070f29419a [GB.EVAL]
* BUG: Fix a string leak in evaluator error management.


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

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


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

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

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


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


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

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

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

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


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


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


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


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


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


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


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

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

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


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

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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


git-svn-id: svn://localhost/gambas/trunk@3432 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-02 20:08:49 +00:00
Benoît Minisini
2b432beca0 [DEVELOPMENT ENVIRONMENT]
* BUG: Error raised inside form generated code are correctly displayed 
  again.

[INTERPRETER]
* NEW: The GB.Every() API now takes a pointer argument that will be passed
  to the callback.


git-svn-id: svn://localhost/gambas/trunk@3430 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-02 18:24:50 +00:00
Benoît Minisini
3ead02082c [DEVELOPMENT ENVIRONMENT]
* BUG: Don't show '$' in the dependencies combo-box of the component 
  property dialog.

[INTERPRETER]
* NEW: GB.Every() is a new API that allows a component to call a callback
  regularly. Useful for polling something for example.


git-svn-id: svn://localhost/gambas/trunk@3429 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-02 17:09:54 +00:00
Benoît Minisini
4a5908c37e [INTERPRETER]
* NEW: gb.Millisecond is a new date operation constant to deal with 
  milliseconds.
* NEW: Support for gb.Millisecond in DateDiff() and DateAdd().


git-svn-id: svn://localhost/gambas/trunk@3420 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-01 16:43:40 +00:00
Benoît Minisini
ad19937a82 [INTERPRETER]
* NEW: Add a gb.ShortNumber format to Format$().
* NEW: Use that format for converting Single to String.
* BUG: Check the internal conversion special class method everywhere an 
  object is converted.

[GB.DEBUG]
* NEW: Use gb.ShortNumber to display Single values.


git-svn-id: svn://localhost/gambas/trunk@3414 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-30 03:17:37 +00:00
Benoît Minisini
e0e71dc4f5 [CONFIGURATION]
* NEW: Qt 4.5.0 is now required to compile the gb.qt4 components.

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

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

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


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


git-svn-id: svn://localhost/gambas/trunk@3411 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-29 15:25:29 +00:00
Benoît Minisini
adf553d56b [INTERPRETER]
* NEW: Support for NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.

[COMPILER]
* NEW: New operators: NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.

[GB.EVAL]
* NEW: New operators: NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.


git-svn-id: svn://localhost/gambas/trunk@3407 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-29 08:21:51 +00:00
Benoît Minisini
c275829ddc [DEVELOPMENT ENVIRONMENT]
* BUG: The control rename algorithm should work better now.

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

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

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

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



git-svn-id: svn://localhost/gambas/trunk@3404 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-28 21:58:42 +00:00
Benoît Minisini
3cf59d321a [DEVELOPMENT ENVIRONMENT]
* NEW: Files can be dropped from files managers to the project treeview.
  They are automatically inserted into the project then.

[WIKI CGI SCRIPT]
* BUG: '{' and '}' are not interpreted anymore between '=='.

[BENCHMARKS]
* NEW: Add Gambas/Perl/Python benchmarks to the repository.

[INTERPRETER]
* NEW: A Stop instruction encountered inside a component is not ignored
  anymore and stops the program.
* BUG: Fix the File.SetName, File.SetExt and File.SetBaseName methods.

[COMPILER]
* NEW: The preprocessor now undestands the False and True constants.

[GB.FORM]
* NEW: Clean up the Stock class icon loading algorithm.
* BUG: Fix the Gnome icon map.

[GB.FORM.STOCK]
* NEW: Support for svg stock icons.

[GB.QT4]
* BUG: Drag.Show() now works for DnD operations started outside of the 
  application.

[GB.GTK]
* BUG: Drag.Show() now works for DnD operations started outside of the 
  application.


git-svn-id: svn://localhost/gambas/trunk@3400 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-27 14:28:59 +00:00
Benoît Minisini
6a596a2aa6 [DEVELOPMENT ENVIRONMENT]
* NEW: Gambas2 to Gambas3 project converter. Only forms and project 
  structure are converted at the moment, as before.
* NEW: Update compiler error messages list.

[INTERPRETER]
* BUG: Activate the automatic instance just after its creation, but 
  before calling the constructors, so that they can reference it without
  trying to create it recursively again and again.


git-svn-id: svn://localhost/gambas/trunk@3397 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-24 12:20:11 +00:00
Benoît Minisini
b86a35e903 [DEVELOPMENT ENVIRONMENT]
* BUG: The project property dialog does not crash anymore when there is an
  hidden component in the component list described in the '.project' file.

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

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

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

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


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


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


git-svn-id: svn://localhost/gambas/trunk@3388 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-21 14:35:39 +00:00
Benoît Minisini
cdcf6cdac9 [DEVELOPMENT ENVIRONMENT]
* BUG: Code indentation routine correctly handles structures now.

[INTERPRETER]
* NEW: Object.LastEventName has been deprecated, and replaced by 
  the Param.EventName property.
* BUG: IsFloat() is now a synonymous for IsNumber().
* BUG: Intrinsic functions description has been updated.

[COMPILER]
* NEW: "\e" is a new string escape sequence equivalent to "\x1B".

[GB.FORM]
* NEW: Use the new Control.Proxy property instead of internal observers
  inside compound controls (ValueBox, ButtonBox, MenuButton).

[GB.GTK]
* NEW: Control.Proxy is a new property that allows to define a control 
  proxy that will handle focus, key and mouse events in original control's 
  place.

[GB.QT4]
* NEW: Control.Proxy is a new property that allows to define a control 
  proxy that will handle focus, key and mouse events in original control's 
  place.


git-svn-id: svn://localhost/gambas/trunk@3387 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-21 14:05:42 +00:00