Commit graph

288 commits

Author SHA1 Message Date
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
13c81eedf5 [COMPILER]
* BUG: Display the right line number if there was a parser error inside a 
  form class file.


git-svn-id: svn://localhost/gambas/trunk@4661 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-23 14:52:51 +00:00
Benoît Minisini
490f64d123 [GB.QT4]
* BUG: Workaround an Oxygen bug with ScrollView borders.
* BUG: Setting ScrollView.Border correctly refreshes the scrollbars now.
* BUG: Fix cached DrawingArea updates.


git-svn-id: svn://localhost/gambas/trunk@4591 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-01 18:40:48 +00:00
Benoît Minisini
e72192ec22 [DEVELOPMENT ENVIRONMENT]
* NEW: Update the alternate background color of all themes.

[COMPILER]
* NEW: Support for <%: ... %> and <%! ... %> syntaxes in WebPage.

[GB.EVAL.HIGHLIGHT]
* NEW: Update WebPage highlighting, and handle the new syntaxes.


git-svn-id: svn://localhost/gambas/trunk@4569 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-24 12:25:59 +00:00
Benoît Minisini
2c42a71783 [COMPILER]
* NEW: New WebPage syntax for server-side comments: <%-- ... --%>.

[GB.FORM]
* BUG: Clicking inside a GridView now correctly gives it the focus.
* BUG: ButtonBox background is correctly drawn with gb.gtk.

[GB.GTK]
* BUG: Handle GTK+ events, but not Gambas posted routines when setting the
  application busy cursor.

[GB.EVAL.HIGHLIGHT]
* NEW: Support for server-side comment syntax in WebPage highlight routine.


git-svn-id: svn://localhost/gambas/trunk@4568 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-23 21:35:24 +00:00
Benoît Minisini
8b5cefb7b6 [COMPILER]
* BUG: Disable parser debugging messages.


git-svn-id: svn://localhost/gambas/trunk@4562 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-18 14:54:46 +00:00
Benoît Minisini
c29798ff3f [DEVELOPMENT ENVIRONMENT]
* NEW: Error messages now can be displayed in normal text editors.

[COMPILER]
* NEW: Initial support of WebPage compilation.


git-svn-id: svn://localhost/gambas/trunk@4561 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-18 13:14:17 +00:00
Benoît Minisini
eb93325573 [COMPILER]
* BUG: Allow STATIC CONST again. I don't want to break existing code 
  finally...


git-svn-id: svn://localhost/gambas/trunk@4540 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-10 14:32:37 +00:00
Benoît Minisini
dc1c62e014 [DEVELOPMENT ENVIRONMENT]
* BUG: Don't save cursor position during a text selection.
* NEW: Update error messages.

[COMPILER]
* NEW: CONST cannot have the STATIC keyword anymore.

[GB.QT4.EXT]
* NEW: Editor: Do not highlight the current line when losing the focus.


git-svn-id: svn://localhost/gambas/trunk@4539 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-09 18:01:59 +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
6bd3a8a3a8 [COMPILER]
* BUG: GOTO works again.


git-svn-id: svn://localhost/gambas/trunk@4533 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-04 17:40:50 +00:00
Benoît Minisini
e94477d0e1 [COMPILER]
* BUG: Use a dedicated control stack slot for each GOSUB subroutine.
* BUG: GOSUB labels now must be at top-level, and must be declared *after*
  the GOSUB call. Consequently, recursion is not possible anymore.


git-svn-id: svn://localhost/gambas/trunk@4531 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-04 09:13:59 +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
03965a418c [COMPILER]
* BUG: Don't print a line number greater than the number of lines in the 
  compiled file when displaying an error message.



git-svn-id: svn://localhost/gambas/trunk@4524 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-02 22:38:50 +00:00
Benoît Minisini
092b3abfa3 [COMPILER]
* NEW: Raise an error now when using TRY with GOTO, BREAK, CONTINUE or 
  STOP.


git-svn-id: svn://localhost/gambas/trunk@4523 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-02 22:05:55 +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
8d3ba2dc15 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix a possible crash when the form editor gets a spurious resize 
  event whereas undo management has been uninitialized.
* NEW: Libraries now can have requirements exactly like components. This is
  taken into account by the project property dialog.

[ARCHIVER]
* NEW: Put the '.component' file inside archives, so that the IDE can 
  extract libraries requirements from the executable.

[GB.FORM]
* NEW: Add two pixels to the height of the TabPanel tabbar.


git-svn-id: svn://localhost/gambas/trunk@4475 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-12 23:29:18 +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
0a9b6abe82 [DEVELOPMENT ENVIRONMENT]
* NEW: More support for WebPage.

[COMPILER]
* NEW: Start supporting WebPage.


git-svn-id: svn://localhost/gambas/trunk@4427 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-28 09:55:55 +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
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
c550408947 [COMPILER]
* BUG: Do not allow optional and byref arguments in an event declaration.


git-svn-id: svn://localhost/gambas/trunk@4316 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-22 18:35:14 +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
8163a28003 [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly translate numerals inside error messages.

[COMPILER]
* BUG: Raise an error when the default case of a SELECT statement is not 
  the last one.
* BUG: Raise an error when the default case of a SELECT statement is 
  defined twice.


git-svn-id: svn://localhost/gambas/trunk@4239 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-10 10:09:25 +00:00
Benoît Minisini
3c54631096 [COMPILER]
* BUG: Correctly compile initial expression of optional arguments.


git-svn-id: svn://localhost/gambas/trunk@4238 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-10 01:51:49 +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
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
b1d4d5582c [COMPILER]
* BUG: Really support reserved words in form control names.


git-svn-id: svn://localhost/gambas/trunk@4185 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-09 10:00:33 +00:00
Benoît Minisini
74a17c8a4b [COMPILER]
* BUG: Purge .info and .list file from classes with no bytecode object each
  time a source file is compiled.


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


git-svn-id: svn://localhost/gambas/trunk@3880 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-11 01:53:30 +00:00
Benoît Minisini
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
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
c9e5ef8993 [ARCHIVER]
* BUG: Ignore "core" file when creating an executable.


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

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


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


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


git-svn-id: svn://localhost/gambas/trunk@3779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-19 13:15:24 +00:00
Benoît Minisini
c4e08d4574 [DEVELOPMENT ENVIRONMENT]
* NEW: Use small font in editor toolbars.

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

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


git-svn-id: svn://localhost/gambas/trunk@3771 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-16 13:25:46 +00:00
Benoît Minisini
4ddb1c13a8 [COMPILER]
* BUG: Handle failing file deletions with an error message.
* BUG: Correctly remove action files when there is no action anymore in a
  form.

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


git-svn-id: svn://localhost/gambas/trunk@3700 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-29 00:24:15 +00:00
Benoît Minisini
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
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
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
e30aee9dbe [COMPILER]
* NEW: '\0' is a new string escape character for Chr$(0).

[GB.DRAW]
* NEW: Several Draw.Begin() and/or Paint.Begin() on the same device can be 
  safely imbricated.

[GB.EVAL]
* NEW: '\0' is a new string escape character for Chr$(0).

[GB.FORM]
* NEW: ButtonBox.Alignment is a new property to define the alignment of its
  internal TextBox.
* NEW: New syntaxes for the MaskBox mask:
  - '<' just after a mask character and just before a separator means that 
    the text before will be right-aligned.
  - '!' marks the default cursor position when the MaskBox gets the focus.


git-svn-id: svn://localhost/gambas/trunk@3450 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-08 01:17:55 +00:00
Benoît Minisini
cef5a8056b [COMPILER]
* NEW: PRINT can ends with a comma. In that case, a tab is printed, but no 
  newline.


git-svn-id: svn://localhost/gambas/trunk@3410 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-29 09:12:56 +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
47bec5f339 [DEVELOPMENT ENVIRONMENT]
* NEW: Enhance the import wizard. The list of conversions that are 
  automatically handled is in the wiki.

[WIKI CGI SCRIPT]
* BUG: Do allow '{' and '}' between '=='. But then allow lines to begin 
  with a slash, to escape those characters.
* BUG: Display correctly titles with a '#' inside.

[COMPILER]
* NEW: DownTo is a new keyword for decrementing For...Next loops. You can
  save some "Step -1" with it.

[GB.QT4]
* BUG: Fix a reference leak with DnD operations started outside of then
  application.


git-svn-id: svn://localhost/gambas/trunk@3402 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-28 02:24:20 +00:00
Benoît Minisini
326993f9b1 [COMPILER]
* BUG: False, True and Debug preprocessor constants work correctly now.


git-svn-id: svn://localhost/gambas/trunk@3401 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-27 14:35:06 +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
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
cdcf6cdac9 [DEVELOPMENT ENVIRONMENT]
* BUG: Code indentation routine correctly handles structures now.

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

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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@3387 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-21 14:05:42 +00:00
Benoît Minisini
291bf96ecc [COMPILER]
* BUG: Remove parser debugging messages.
* NEW: DEBUG is a new preprocessor symbol that returns if the compiler 
  generates debugging information.

[GB.QT4]
* BUG: Should compile with Qt 4.5.3 now.


git-svn-id: svn://localhost/gambas/trunk@3377 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-19 12:58:58 +00:00
Benoît Minisini
3b5cda0a80 [COMPILER]
* NEW: The preprocessor now understands three constants: SYSTEM, 
  ARCHITECTURE (or ARCH), and VERSION (or GAMBAS). The VERSION constants
  didn't change. The two others return a string that can be compare with
  equality or inequality operator. The comparison is not case sensitive.

[GB.EVAL]
* NEW: Comments are correctly highlighted in preprocessor lines.



git-svn-id: svn://localhost/gambas/trunk@3376 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-18 14:41:43 +00:00
Benoît Minisini
b38df04095 [DEVELOPMENT ENVIRONMENT]
* NEW: In icon editor, the width of the selection frame now follows the 
  zoom level.
* NEW: Support for preprocessor highlighting.

[COMPILER]
* NEW: Integrated preprocessor. The following commands are supported:
  #If <expr>, #Else If <expr>, #Else and #Endif. <expr> can be a 
  combination of constants (OS_LINUX, OS_FREEBSD, ARCH_X86, ARCH_X86...),
  parenthesis, 'And' & 'Or' operators, version test (VERSION >= "3.0").
  This is work in progress.

[GB.EVAL]
* NEW: A new highlighting color for the preprocessor.

[GB.QT4.EXT]
* NEW: A new highlighting color for the preprocessor in Editor control.


git-svn-id: svn://localhost/gambas/trunk@3374 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-18 04:27:59 +00:00
Benoît Minisini
6f440dc030 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the icon editor.

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

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

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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@3368 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-15 15:55:16 +00:00
Benoît Minisini
c5a29da470 [COMPILER]
* NEW: '%' is a new operator that is a synonymous for 'MOD'. It has its
  assignment operator shortcut '%=' too.


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

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

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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@3344 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-05 20:17:24 +00:00
Benoît Minisini
9d11c85ef4 [COMPILER]
* BUG: Correctly read long constants whose value is the lower possible Long 
  value.


git-svn-id: svn://localhost/gambas/trunk@3327 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-27 14:46:25 +00:00
Benoît Minisini
8873a0e1cc [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly handle all compiler error messages.

[INTERPRETER]
* NEW: Full management of the Single datatype.
* BUG: VarPtr() now works on Single local variables.
* BUG: Remove useless Tag property. It is defined in the Stream class now.
* BUG: Correctly free the Tag property in the Stream class.

[GB.GTK]
* BUG: Rich-text string management has been fixed. The ampersand character, 
  the "&amp;", "&gt;" and "&lt;" entites are correctly interpreted now.

[GB.NET.CURL]
* BUG: Remove useless Tag property. It is defined in the Stream class now.

[EXAMPLES]
* NEW: The WebBrowser example has a download manager now.


git-svn-id: svn://localhost/gambas/trunk@3296 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-16 01:49:18 +00:00
Benoît Minisini
8aac47f84d [EXAMPLES]
* BUG: Fix the Database example.

[INTERPRETER]
* BUG: Fix unchecked system calls.

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

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


git-svn-id: svn://localhost/gambas/trunk@3272 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-10-31 22:05:29 +00:00
Benoît Minisini
e0e0fb1436 [DEVELOPMENT ENVIRONMENT]
* BUG: Circular inheritance should be detected correctly now.

[COMPILER]
* NEW: Change the format of error messages. The full source file path is 
  not printed anymore, only the file name.


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

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

[COMPILER]
* BUG: Remove a useless test.

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

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

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


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

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

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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@3178 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-04 13:21:11 +00:00
Benoît Minisini
62c381c2f6 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle compiler errors having column information.

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

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

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


git-svn-id: svn://localhost/gambas/trunk@3156 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-29 20:51:10 +00:00
Benoît Minisini
a81fdbc669 [COMPILER]
* NEW: Support for CASE LIKE that compare the SELECT value with a regular 
  expression.


git-svn-id: svn://localhost/gambas/trunk@3147 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-27 22:02:51 +00:00
Benoît Minisini
fe70d3a878 [COMPILER]
* NEW: Understand the 'CASE TO Expression' syntax.


git-svn-id: svn://localhost/gambas/trunk@3046 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-19 10:10:37 +00:00
Benoît Minisini
483530dcff [COMPILER]
* BUG: Be less tolerant with newlines in CASE expressions.


git-svn-id: svn://localhost/gambas/trunk@3045 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-19 09:53:34 +00:00
Benoît Minisini
0bc1701225 [WIKI CGI SCRIPT]
* NEW: New look for version specific documentation.

[INTERPRETER]
* NEW: Assign() has been removed, and replaced by Eval() with an expression 
  beginning with the LET keyword.
* NEW: New routines to read a value stored at a memory address: BoolPtr(),
  BytePtr(), ShortPtr(), IntPtr(), LongPtr(), SinglePtr(), FloatPtr() and
  PointerPtr().

[COMPILER]
* NEW: The LET keyword can be used to write an assignment expression. Of
  course it is optional.

[GB.EVAL]
* NEW: The LET keyword can be used to evaluate an assignment.
* NEW: The Expression.Compile() method does not take any argument anymore.

git-svn-id: svn://localhost/gambas/trunk@3041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-14 16:33:29 +00:00
Benoît Minisini
6a680716a9 [DEVELOPMENT ENVIRONMENT]
* NEW: Store package name in the .project file.
* NEW: Take libraries into account in package dependencies.
* BUG: Fix autotools packages. Components are now stored beside the 
  "Component=" entry in the .project file. The "Library=" entry is for 
  libraries!

[ARCHIVER]
* NEW: Stores the .project file into executables.


git-svn-id: svn://localhost/gambas/trunk@3036 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-11 23:13:11 +00:00
Benoît Minisini
32f6172c89 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix a crash is structure declaration analyze.

[INTERPRETER]
* NEW: Support for static array of structures. A static array of structure 
  'MyStruct' will create a temporary object whose class is '$MyStruct[]'. 
  That class does not inherit 'Array', and has only a few methods of the 
  Array class.
* NEW: Byte[].ToString() is a new method to convert a byte array to a 
  string. If no length is specified, ToString() assumes that the byte array
  is a zero-terminated string.
* NEW: Byte[].FromString() is a new method that fills a byte array with the
  contents of a string.

[COMPILER]
* NEW: Declaration of static arrays of structures is allowed.


git-svn-id: svn://localhost/gambas/trunk@3031 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-07 22:06:05 +00:00
Benoît Minisini
984d3c0dfd [INTERPRETER]
* BUG: Fix the custom realloc() internal routine on 64 bits systems.

[COMPILER]
* BUG: Fix the custom realloc() internal routine on 64 bits systems.


git-svn-id: svn://localhost/gambas/trunk@3021 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-24 01:14:12 +00:00
Benoît Minisini
a01e8c1d72 [ARCHIVER]
* NEW: Ignore valgrind core files and callgrind output files when creating 
  an archive.


git-svn-id: svn://localhost/gambas/trunk@3002 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-13 11:04:57 +00:00
Benoît Minisini
b3db598050 [DEVELOPMENT ENVIRONMENT]
* BUG: Breakpoints are correctly reset when opening a new project.

[INTERPRETER]
* BUG: The GB.NewString(), GB.NewZeroString() and GB.TempString() API 
  signature has changed. All components have been updated accordingly.
* OPT: Many optimizations to speed up the interpreter.

[GB.EVAL]
* NEW: During syntax highlighting, the first character of class names is
  automatically converted to uppercase.


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


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

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


git-svn-id: svn://localhost/gambas/trunk@2979 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-29 21:10:36 +00:00
Benoît Minisini
4fff317030 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle structures in automatic completion.

[INTERPRETER]
* BUG: Make the malloc cache returns 8-bytes aligned pointers on 64 bits 
  systems.

[COMPILER]
* OPT: Some optimizations again.
* OPT: Do not use -O3 for symbol table routines. Valgrind says that it is 
  slower than with -Os. Strange...


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

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


git-svn-id: svn://localhost/gambas/trunk@2975 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-28 07:47:49 +00:00
Benoît Minisini
b727d17086 [INTERPRETER]
* OPT: Using object references is faster.
* BUG: Fix a misuse of GB.NewString() in the String class.

[COMPILER]
* BUG: Raise an error now when trying to create an array of structures.

[GB.QT4]
* OPT: Global widget event filter is faster.
* OPT: Do not internallt relayout TabStrip too often, because Qt takes a 
  lot of time to do that.



git-svn-id: svn://localhost/gambas/trunk@2974 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-28 06:24:14 +00:00
Benoît Minisini
3412ce6442 [CONFIGURATION]
* NEW: Object file format has changed, so bytecode version has been 
  incremented, and all projects must be recompiled. Yes, again!

[INTERPRETER]
* OPT: Optimizations in comparison operators.
* OPT: Optimize symbol lookup tables.

[COMPILER]
* OPT: Optimize symbol lookup tables.

[GB.EVAL]
* BUG: Gambas source code is correctly highlighted again.
* NEW: Quoted identifiers (those between '{' and '}') are highlighted more 
  intelligently now.


git-svn-id: svn://localhost/gambas/trunk@2971 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-27 13:51:09 +00:00
Benoît Minisini
1f592094a6 [CONFIGURATION]
* NEW: Bytecode version has been increased, and so all projects must be 
  recompiled.

[INTERPRETER]
* OPT: Objects that do not raise events do not allocate the event 
  management structure anymore. That save four pointers by object.
* NEW: Structure management is done, and embedded (static) structures are
  handled too.
* BUG: Static array management was fixed.
* NEW: All functions synonymous whose name ends with a question mark have 
  been removed.

[COMPILER]
* OPT: Some optimization again.
* BUG: EXTERN declarations compile again.

[GB.DB.SQLITE2]
* BUG: Fix a misuse of GB.NewString().


git-svn-id: svn://localhost/gambas/trunk@2970 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-26 22:01:28 +00:00
Benoît Minisini
b0a0c52af0 [INTERPRETER]
* NEW: More work on structure support.
* BUG: Fix optimization in error management.

[COMPILER]
* OPT: More optimizations. The Gambas 3 compiler is faster to compile the 
  Gambas 3 IDE than the Gambas 2 compiler to compile the Gambas 2 IDE, 
  which is smaller!
* NEW: Do not compute variable position and size, as it is done by the 
  interpreter anyway.

[GB.EVAL]
* NEW: Use the same optimizations as the compiler in the parser.

[GB.XML.RPC]
* BUG: The component compiles again.



git-svn-id: svn://localhost/gambas/trunk@2964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-25 11:19:00 +00:00
Benoît Minisini
41a002012a [COMPILER]
* BUG: Reserved functions following the READ keyword are correctly detected 
  again.


git-svn-id: svn://localhost/gambas/trunk@2956 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-22 21:56:42 +00:00
Benoît Minisini
ed041dc7d0 [COMPILER]
* BUG: Forgot to add the source file that generates the reserved keywords 
  analyzer.


git-svn-id: svn://localhost/gambas/trunk@2954 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-22 19:35:18 +00:00
Benoît Minisini
117f2ac635 [INTERPRETER]
* NEW: New GB.NewZeroString() API to create a Gambas string from a 
  null-terminated string. Components were modified to use it.
* OPT: Many optimizations everywhere.

[COMPILER]
* OPT: Many optimizations. The compiler should be noticeably faster.


git-svn-id: svn://localhost/gambas/trunk@2953 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-22 18:02:34 +00:00
Benoît Minisini
8e1604e59d [CONFIGURATION]
* NEW: The bytecode version has been incremented, as the object file format 
  has changed.

[DEVELOPMENT ENVIRONMENT]
* BUG: Handle static arrays in automatic completion.

[INTERPRETER]
* BUG: Handle public static arrays correctly.

[COMPILER]
* NEW: Handle structures, and write them inside object files.
* NEW: Class options (EXPORT, CREATE...) can only be written at the 
  beginning of the source file now.
* BUG: Fix some use of uninitialized values.
* BUG: Correctly write public static arrays in *.info files.
* NEW: Do not support old OPEN syntax anymore.


git-svn-id: svn://localhost/gambas/trunk@2952 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-20 23:23:39 +00:00
Benoît Minisini
a2850ebc91 [CONFIGURATION]
* BUG: Do not compile database manager anymore, it has been deprecated.
* BUG: Compile the gb.dbus component.

[INTERPRETER]
* NEW: Pointer is a real datatype now.
* NEW: Static arrays came back. They are now like real array classes, 
  except that they are not resizable.
* NEW: IsPointer() is a new function that tells if an expression is a 
  pointer.
* NEW: All XXXX?() function synonymous were removed. Use the IsXXXX() 
  version instead.
* NEW: Remove now useless source files.

[COMPILER]
* NEW: Static arrays came back, with actually the same syntax as before.

[EXAMPLES]
* BUG: Fix the examples according to the new array syntax.



git-svn-id: svn://localhost/gambas/trunk@2949 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-19 12:43:57 +00:00
Benoît Minisini
a8efb8045f [INTERPRETER]
* NEW: Support for "static" arrays is finally removed.

[COMPILER]
* NEW: Support for "static" arrays is finally removed.



git-svn-id: svn://localhost/gambas/trunk@2945 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-14 21:30:54 +00:00
Benoît Minisini
ca37913578 [DEVELOPMENT ENVIRONMENT]
* BUG: Search string is correctly highlighted in all cases now.

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

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

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


git-svn-id: svn://localhost/gambas/trunk@2944 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-14 21:17:04 +00:00
Benoît Minisini
ae06242603 [COMPILER]
* BUG: Translated strings can be splitted on several lines like normal 
  strings now.


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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@2940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-08 20:17:29 +00:00
Benoît Minisini
c61aa8d978 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for enumerations.
* BUG: Clearing project history works again.

[COMPILER]
* NEW: Support for enumerations.


git-svn-id: svn://localhost/gambas/trunk@2935 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-05 20:58:55 +00:00
Benoît Minisini
1faa45e317 [COMPILER]
* BUG: Correctly detect self-referenced components.


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

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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@2909 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-25 10:46:57 +00:00
Benoît Minisini
b953aa5392 [COMPILER]
* NEW: Compile "report" forms, and add support for other form families.


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

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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@2760 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-07 01:38:15 +00:00
Benoît Minisini
4d8107e567 [DEVELOPMENT ENVIRONMENT]
* NEW: Draw ReportImage controls.
* NEW: Handle new property kinds: ReportCoord, Image.

[INTERPRETER]
* BUG: Fix some misuse of signed char.

[GB.REPORT]
* BUG: Fix declarations of properties.
* NEW: Use the new ReportCoord property kind.
* NEW: Some little changes in the ReportBorder class.


git-svn-id: svn://localhost/gambas/trunk@2755 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-06 03:17:47 +00:00
Benoît Minisini
06a674e303 [INFORMER]
* BUG: Specifying components as arguments now works on systems that do not
  have getopt_long().


git-svn-id: svn://localhost/gambas/trunk@2752 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-05 13:12:15 +00:00
Benoît Minisini
86768b1363 [CONFIGURATION]
* NEW: CygWin needs a -no-undefined flag when linking.

[INFORMER]
* BUG: Use dlopen() on CygWin.

[INTERPRETER]
* BUG: Fix some misuse of signed char.

[GB.DB]
* BUG: Fix some misuse of signed char.

[GB.EVAL]
* BUG: Fix some misuse of signed char.


git-svn-id: svn://localhost/gambas/trunk@2749 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-05 02:05:52 +00:00
Benoît Minisini
9c39e31fb5 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for report form continues. Controls declaration has moved 
  from *.component files to the following Control hidden properties: 
  _Family, _Group, _IsControl, _IsContainer, _IsMultiContainer, _IsVirtual, 
  _IsForm. And to the following Form hidden properties: _HiddenControls.
  The wiki control documentation will be updated soon.

[COMPILER]
* NEW: Do not print a warning for a missing self-referenced *.list file.
* NEW: The '-L' is a new command-line option to print the license. The '-h'
  now only prints help.

[INFORMER]
* BUG: Support for boolean public constants.

[GB.DB.FORM]
* NEW: Update control declarations to the new scheme.

[GB.FORM]
* NEW: Update control declarations to the new scheme.

[GB.GTK]
* NEW: Update control declarations to the new scheme.

[GB.QT4]
* NEW: Update control declarations to the new scheme.


git-svn-id: svn://localhost/gambas/trunk@2708 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-21 18:15:16 +00:00
Benoît Minisini
fd13cc710e [COMPILER]
* NEW: Be more clever when detecting hexdecimal or binary numbers.

[GB.EVAL]
* NEW: Be more clever when detecting hexdecimal or binary numbers.

[GB.FORM]
* BUG: In DateChooser, switching to February works now, when there is 28 
  days in February and the current day is greater or equal than 29.


git-svn-id: svn://localhost/gambas/trunk@2651 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-31 20:32:12 +00:00
Benoît Minisini
6d3201bc1f [WIKI CGI SCRIPT]
* BUG: Linkification does not erase symbols references anymore.

[INTERPRETER]
* BUG: Use the system maximum path length constant, not ours.

[COMPILER]
* BUG: Allow Inherits to be followed by any indentifier.


git-svn-id: svn://localhost/gambas/trunk@2647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-28 10:55:24 +00:00
Benoît Minisini
e61a0c45be [INTERPRETER]
* BUG: Hexadecimal numbers can be interpreted as Long only if they have 
  more than eight digits (32 digit for binary numbers), or if they are 
  unsigned.

[COMPILER]
* BUG: Hexadecimal numbers can be interpreted as Long only if they have 
  more than eight digits (32 digit for binary numbers), or if they are 
  unsigned.


git-svn-id: svn://localhost/gambas/trunk@2592 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-02 15:04:06 +00:00
Benoît Minisini
adeeb68063 [DEVELOPMENT ENVIRONMENT]
* NEW: Implement the property help with a WebView control.
* NEW: Add a button in the option dialog to clear the documentation cache.
* BUG: Correctly display online help on special methods.

[COMPILER]
* BUG: Long integer constants are now compiled correctly in all cases.


git-svn-id: svn://localhost/gambas/trunk@2471 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-12-10 02:48:25 +00:00
Benoît Minisini
76275850fb [DEVELOPMENT ENVIRONMENT]
* NEW: The IDE now uses the WebKit component to display an online help 
  directly into the automatic completion popup. The online help management
  is quick and dirty at the moment.
* NEW: The option dialog is being redesigned. Not finished yet...
* NEW: Some cosmetic changes in the user control that displays the 
  information about a project. Not perfect yet.

[WIKI CGI SCRIPT]
* NEW: The wiki now sends the "Last-Modified", "Expires" and 
  "Cache-Control: max-age" headers with the HTML pages.
* NEW: Adding "?help" to an URL returns the page for the IDE online help.

[INTERPRETER]
* BUG: Try to stop breaking strict aliasing rules. This way the interpreter 
  should behave better on ARM architecture.
* BUG: Remove a possible crash when calling a constructor.

[GB.DRAW]
* NEW: The deprecated properties Draw.ForeColor and Draw.BackColor have 
  been removed.

[GB.NET]
* BUG: Do not watch the SerialPort file descriptor for reading if there is 
  no Read event handler.

[GB.QT4.WEBKIT]
* NEW: WebSettings.Cache.Path is a new property to define the directory 
  used for storing the disk cache contents. If this property is not 
  defined, no cache will be used.
* NEW: WebView.Cached is a new property to tell if the web browser will use
  the disk cache. The WebSettings.Cache.Path *must* be defined before 
  setting that property.
* NEW: WebView.HTML is not read-only anymore.


git-svn-id: svn://localhost/gambas/trunk@2460 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-12-07 17:14:32 +00:00
Benoît Minisini
26d402dc2a [COMPILER]
* BUG: A line was deleted by mistake in the previous commit.


git-svn-id: svn://localhost/gambas/trunk@2435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-11-22 19:18:38 +00:00
Benoît Minisini
4377e25e8d [COMPILER]
* BUG: Ensure that the .action project sub-directory is owned by the user 
  owning the project directory.


git-svn-id: svn://localhost/gambas/trunk@2434 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-11-22 19:16:39 +00:00
Benoît Minisini
1a73e9a4dd [DEVELOPMENT ENVIRONMENT]
* NEW: Greek translation made by Alexandros Prekates.
* BUG: Non-versioned files or directories are not locked anymore so that 
  you can add it to the repository.

[INTERPRETER]
* BUG: Non-integer constants are correctly optimized and keep their 
  datatype.

[COMPILER]
* BUG: Non-integer constants are correctly compiled and keep their 
  datatype.


git-svn-id: svn://localhost/gambas/trunk@2385 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-10-04 23:32:14 +00:00
Benoît Minisini
ba9d887183 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the file information dialog layout.
* BUG: Renaming data files does not crash the IDE anymore.
* BUG: Status of renamed versioned directories is now correctly updated.


git-svn-id: svn://localhost/gambas/trunk@2380 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-10-01 23:54:14 +00:00
Benoît Minisini
d35c59c763 [COMPILER]
* NEW: The Begins and Ends operator of course.
* BUG: Fix a crash when compiling a line beginning with the Read instruction.


git-svn-id: svn://localhost/gambas/trunk@2366 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-27 10:34:39 +00:00
Benoît Minisini
c17951fcd3 [DEVELOPMENT ENVIRONMENT]
* BUG: Use the new Begins and Ends operators instead of Like where it was 
  necessary or faster.

[INTERPRETER]
* BUG: The &/ operator keeps only one slash if both the last character of 
  the left string and the first character of the right string is a slash.
* NEW: 'Begins' is a new string operator that checks if the beginning of a 
  string is equal to another string.
* NEW: 'Ends' is a new string operator that checks if the end of a string 
  is equal to another string.
* BUG: Errors raised by Eval() are correctly displayed again.
* NEW: The 'Like' operator has a new pattern: '{x,y,...}' tests if a 
  string matches one of the strings between square brackets, each one being
  separated by a comma.

[GB.DB.FORM]
* BUG: Use the new Begins and Ends operators instead of Like where it was 
  necessary or faster.

[GB.DESKTOP]
* BUG: Use the new Begins and Ends operators instead of Like where it was 
  necessary or faster.

[GB.GTK]
* BUG: Modal windows do not block mouse, keyboard, enter and leave events 
  anymore.

[GB.FORM]
* BUG: Use the new Begins and Ends operators instead of Like where it was 
  necessary or faster.

[GB.FORM.MDI]
* BUG: Use the new Begins and Ends operators instead of Like where it was 
  necessary or faster.

[GB.WEB]
* BUG: Use the new Begins and Ends operators instead of Like where it was 
  necessary or faster.


git-svn-id: svn://localhost/gambas/trunk@2365 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-27 09:28:52 +00:00
Benoît Minisini
916c559a26 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for translated compiler error messages.
* NEW: French translatio of compiler error messages.

[COMPILER]
* BUG: Fix many error messages so that they are easily translatable.
* NEW: A new option, "-e", to output translatable error messages instead of 
  full ones.


git-svn-id: svn://localhost/gambas/trunk@2346 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-21 16:57:21 +00:00
Benoît Minisini
f5d698f1ec [COMPILER]
* NEW: The option "--no-old-read-write-syntax" allows to easily detect 
  where Read and Write instructions should be rewritten.


git-svn-id: svn://localhost/gambas/trunk@2345 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-20 18:04:04 +00:00
Benoît Minisini
26ab06c228 [DEVELOPMENT ENVIRONMENT]
* NEW: Use the new Read/Write syntax.

[INTERPRETER]
* NEW: New Read/Write syntax.
* NEW: IsVariant() returns if its argument is a Variant.

[COMPILER]
* NEW: New Read/Write syntax.
* NEW: Support for the old read syntax.

[WIKI CGI SCRIPT]
* NEW: Allow query arguments ("?v3" for example) inside wiki links.
* NEW: New look for the table of contents.
* BUG: Non-translated pages display again.

[GB.WEB]
* NEW: Use the new Read/Write syntax.


git-svn-id: svn://localhost/gambas/trunk@2344 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-20 17:32:12 +00:00
Benoît Minisini
e91a676559 [INTERPRETER]
* NEW: VarPtr() now works on a string variable. It returns the address of 
  the string.
* NEW: TypeOf("") now returns gb.String. "" is equal to NULL yet, but now its 
  string datatype is kept.
* NEW: Memory is new instruction like Open that opens a memory stream from 
  a Pointer.
* NEW: A Pointer can not be used as a stream directly. You must use the new
  Memory instruction for that.
* NEW: The [...] array constructor now checks the datatype of all its 
  argument to decide the type of the new array.
* BUG: The ["key":value] collection constructor now does not leak memory 
  anymore if it fails.
* NEW: A new error, "void key", whose code is 64.
* NEW: TypeOf(Null) now returns gb.Null and not gb.Object anymore.
* BUG: IIf() now returns a Variant only if needed. It uses the same 
  algorithm as the array constructor.

[COMPILER]
* NEW: Memory is new instruction like Open that opens a memory stream from 
  a Pointer. The syntax is: hStream = Memory pPonter For Read | Write.
* NEW: Support for form controls being individually public.
* BUG: VarPtr() is compiled correctly again.


git-svn-id: svn://localhost/gambas/trunk@2339 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-17 20:58:27 +00:00
Benoît Minisini
ac548e8734 [CONFIGURATION]
* BUG: Compile files with maximum optimization correctly.

[DEVELOPMENT ENVIRONMENT]
* BUG: Remove The Form_Close event handler in the FHelp form. It did 
  stupid things indirectly.

[WIKI CGI SCRIPT]
* NEW: Enhancements to support 2.0 and 3.0 descriptions on the same page.

[GB.FORM]
* NEW: Enhance the ColorChooser control.

[GB.FORM.MDI]
* BUG: Fix the Toolbar layout algorithm.

[GB.IMAGE]
* BUG: Image.Colorize() works again.

[GB.IMAGE.EFFECT]
* NEW: This component includes image filtering and effect routines. This is 
  the old gb.image component from Gambas 2. Everything is not working 
  correctly at the moment.

[GB.QT4]
* NEW: Color.LightForeground returns the light foreground color used for
  drawing separators and plain panel borders.
* BUG: Prevent crashes coming from the fact that Qt deletes child widgets 
  before emiting the destroy signal on the parent.


git-svn-id: svn://localhost/gambas/trunk@2296 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-01 01:14:13 +00:00
Benoît Minisini
6efb184d9a [DEVELOPMENT ENVIRONMENT]
* NEW: Controls whose width (or height) is 1 will always be 1 pixel wide 
  (or high), regardless of the value of Desktop.Scale.
* NEW: Put the property sheet and the hierarchy tree inside the tabstrip.
* BUG: Replace Image.Flip() by Image.Mirror() in the welcome dialog.

[COMPILER]
* BUG: "Ambiguous braces" error message was incorrect, and has been 
  replaced by "Ambigous brackets".

[GB.IMAGE]
* NEW: Remove Image.Transform().

[GB.FORM.MDI]
* BUG: The default value of Workspace.ButtonPosition is Align.Right.

[GB.QT4]
* NEW: If the width (or height) argument of Control.MoveScaled() or 
  Control.ResizeScaled() is zero, then the effective width (or height) will 
  be 1 pixel.
* NEW: Do not activate windows whose type is ToolTip, Notification, 
  DragAndDrop or Desktop in the Show() method.
* BUG: Wait a little before activating windows, so that they do not stay in 
  the foreground.


git-svn-id: svn://localhost/gambas/trunk@2255 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-21 19:43:40 +00:00
Benoît Minisini
f65184802d [CONFIGURATION]
* NEW: Update copyright and license string in all source files.


git-svn-id: svn://localhost/gambas/trunk@2241 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-17 10:41:51 +00:00
Benoît Minisini
96550473f7 [CONFIGURATION]
* NEW: Put custom autoconf macros in the "m4" directory.
* NEW: Drop libltdl.

[GB.IMAGE]
* NEW: Image.Resize() and Image.Mirror() has been put in common there.
* NEW: Image.Flip() has been removed.
* NEW: Image.Copy() and Image.Resize() now supports 24-bits images.

[GB.OPENGL]
* NEW: Depends on gb.image now.
* NEW: Texture images can have any format now.


git-svn-id: svn://localhost/gambas/trunk@2236 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-16 22:07:48 +00:00
Benoît Minisini
8fa23b6351 [DEVELOPMENT ENVIRONMENT]
* NEW: Some little changes in the "cool" buttons and in the project item 
  control.
* BUG: Fix the console embedding flash when the debugger starts.

[INTERPRETER]
* BUG: Fix the Makefile.am file that prevented debugging flags to be sent 
  to the compiler.

[COMPILER]
* BUG: Fix the Makefile.am file that prevented debugging flags to be sent 
  to the compiler.

[GB.FORM]
* OPT: ListContainer.Clear() now locks the container, as there is no need 
  to arrange its children while clearing it.


git-svn-id: svn://localhost/gambas/trunk@2230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-10 10:16:58 +00:00
Benoît Minisini
def84989aa [CONFIGURATION]
* NEW: Start replacing INCLUDE directive by *_CFLAGS in Makefile.am files.

[GB.EVAL]
* BUG: Fix a warning.


git-svn-id: svn://localhost/gambas/trunk@2215 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-04 19:14:17 +00:00
Benoît Minisini
f901433cbd [CONFIGURATION]
* BUG: Controls of components written in Gambas are correctly installed 
  now.

[DEVELOPMENT ENVIRONMENT]
* NEW: Component project controls icons are now store in the "Project" 
  section, not in the "Data" section anymore. Consequently they are not 
  stored in the project executable.
* BUG: Fix the activation of menu entries in the project treeview popups.
* NEW: New layout for the translation dialog.
* NEW: Remove many control icons and put them with their component project.


git-svn-id: svn://localhost/gambas/trunk@2140 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-20 15:53:19 +00:00
Benoît Minisini
656364fe57 [ARCHIVER]
* NEW: Connection files are added to executables.

[GB.DB]
* NEW: A Gambas part has been added to the component to implement the 
  Connections class. This class is a static pseudo-collection that 
  automatically creates Connection objects for connection files located in
  the ".connection" project directory.


git-svn-id: svn://localhost/gambas/trunk@2132 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-18 15:50:51 +00:00
Benoît Minisini
0ac184012a [DEVELOPMENT ENVIRONMENT]
* NEW: Database manager integration continues. You can create, edit and 
  remove tables now. You cannot rename them yet, nor modify their contents.
* BUG: Fix popup menu activation in text editor.
* NEW: Almost any character is allowed now in the name of directories 
  storing source files.

[GB.DB.FORM]
* NEW: DataSource.Reset() is a new method that clears the internal 
  metadata cache. That method is dynamic because it is intended to only
  reset the metadata associated with the DataSource. At the moment all the
  metadata is dropped.

[GB.FORM]
* NEW: TableView.Save() now returns a boolean that will tell you if the 
  Save event has been cancelled.
* BUG: TableView should manage arrow keys correctly if the current editor 
  is a read-only ComboBox.

[GB.FORM.MDI]
* OPT: Toolbars do no useless layout anymore when in design mode.

[GB.QT4]
* BUG: The Message class has been fixed.
* BUG: Fix the behaviour of TabStrip when all its page are hidden.


git-svn-id: svn://localhost/gambas/trunk@2115 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-14 02:24:54 +00:00
Benoît Minisini
d3501bf140 [DEVELOPMENT ENVIRONMENT]
* NEW: Work continues on integrating the database manager.
* NEW: Some cosmetic changes in the way controls are drawing on the form
  editor.
* NEW: Panels with Border property set to None are now drawn with a light 
  border.
* BUG: Fix the "Show tab" button and menu.

[INTERPRETER]
* NEW: _attach is a new dynamic special method that is called when an 
  object is attached to or detached from its event observer. The first 
  argument of this method is the event observer, and the second argument 
  the event handler prefix.

[COMPILER]
* NEW: An expression can be a NEW instruction now. Beware that it does not 
  work inside braces.

[GB.DB]
* BUG: Fix an error message in the sqlite handler.

[GB.DB.FORM]
* NEW: DataSource.Table can now be any SQL query. The Filter property is 
  ignored in that case.
* BUG: Setting DataSource.Table to NULL correctly resets the DataSource and
  its children.
* NEW: DataView automatically adjusts the height of its rows to the 
  contents.
* NEW: DataSource.CacheSize is a new property to set the number of rows 
  stored in the internal DataSource cache. When this property is set to 
  zero, the cache size takes its default value (64 rows).

[GB.DB.SQLITE2]
* BUG: Fix a crash in datatype mapping.

[GB.DB.SQLITE3]
* BUG: Fix a crash in datatype mapping.

[GB.QT4]
* BUG: Window.AutoResize property works as expected now.
* OPT: Some optimizations in GridView.
* NEW: GridView.Rows[].Visible returns if a specific row is visible.
* NEW: GridView.Rows[].EnsureVisible ensures that a specific row is 
  visible.
* BUG: Draw.Style.Panel draws the same thing as a panel border now.
* BUG: Window.Closed always returns the accurate value now.


git-svn-id: svn://localhost/gambas/trunk@2108 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-12 21:49:13 +00:00
Benoît Minisini
a3d6ba73e5 [INTERPRETER]
* NEW: Do not use "boolean" anymore. Use "bool" instead.

[COMPILER]
* NEW: Do not use "boolean" anymore. Use "bool" instead.



git-svn-id: svn://localhost/gambas/trunk@2091 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-08 19:57:50 +00:00
Benoît Minisini
ec94c77c02 [COMPILER]
* BUG: Put the class translation files into the right directory.


git-svn-id: svn://localhost/gambas/trunk@2069 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-04 11:14:42 +00:00
Benoît Minisini
d0b3aecc0b [DEVELOPMENT ENVIRONMENT]
* NEW: Project source files are now stored in the ".src" project 
  sub-directory.
* NEW: Project source files can be organized from the project treeview by 
  creating directories, moving source files with drag and drop or copy and
  paste.
* NEW: The hall of fame now uses some sort of blur effect.
* BUG: The breakpoint list should be accurate in all situations now.
* NEW: Showing the bottom status bar is now an entry in the "View" menu.

[INTERPRETER]
* BUG: Fix a possible crash in database component classes having 
  sub-collections, like Result.Fields.

[COMPILER]
* NEW: Support for projects whose sources are stored in the ".src" 
  sub-directory.

[GB.GTK]
* BUG: Frame.Font now works correctly.
* BUG: If the Control.Font property is set with a family name, the other 
  boolean properties of the font are reset.

[GB.NET]
* BUG: Fix a possible crash in the Socket class at connection.

[GB.QT]
* BUG: If the Control.Font property is set with a family name, the other 
  boolean properties of the font are reset.

[GB.QT4]
* BUG: If the Control.Font property is set with a family name, the other 
  boolean properties of the font are reset.
* NEW: TreeView and ColumnView got a new property, ParentKey, that returns 
  the key of the current item parent.
* BUG: Menu shortcuts are correctly disabled now, when a parent menu is 
  disabled.


git-svn-id: svn://localhost/gambas/trunk@2063 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-03 20:15:26 +00:00
Benoît Minisini
ce6f28338a [DEVELOPMENT ENVIRONMENT]
* NEW: Help pages on GUI components are now redirected to the gb.qt ones.
* BUG: Fix drag & drop on project tree.

[COMPILER]
* NEW: Support projects whose source files are located in the ".src" 
  project sub-directory.

[GB.QT]
* BUG: Drag & drop has been fixed.
* BUG: Newly opened window should be correctly activated now.


git-svn-id: svn://localhost/gambas/trunk@2058 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-01 00:00:47 +00:00
Benoît Minisini
dbaccd820f [COMPILER]
* BUG: Unexpected END SUB or END FUNCTION are really detected now.

[GB.QT4]
* BUG: Color management has been fixed.
* BUG: Many fixes in the following classes: Panel, Menu, Picture, Window, TabStrip, 


git-svn-id: svn://localhost/gambas/trunk@2015 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-06-11 21:33:17 +00:00
Benoît Minisini
cf2d76daca [CONFIGURATION]
* NEW: WARNING! The bytecode has changed, so every project needs to be
  recompiled.

[DEVELOPMENT ENVIRONMENT]
* NEW: A new project option to use the terminal emulator of the current 
  desktop instead of the built-in output window.
* BUG: "svn update" is now run non-interactive.

[WIKI CGI SCRIPT]
* NEW: {html ... } is a new section to put verbatim HTML inside a page.

[INTERPRETER]
* BUG: Fix a possible bug in the FreeBSD way of opening a pseudo-terminal
  when running an external process.
* NEW: External process can have a custom environment.
* BUG: Some forgotten FreeBSD patch.
* NEW: The hidden "-f" option now takes as argument the name of the debug
  fifo file without the extension. This is needed as now the IDE can put
  a terminal emulator between the debugged process and itself.

[COMPILER]
* NEW: New syntax for the EXEC and SHELL instruction. Now the WITH keyword
  can introduce an array of string, each of one being an environment 
  variable "NAME=VALUE".

[GB.DEBUG]
* NEW: Debug.Start() now returns the name of the debug fifo, without the
  extension.


git-svn-id: svn://localhost/gambas/trunk@1971 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-22 14:52:36 +00:00
Benoît Minisini
2020521d4b [WEB SITE MAKER]
* NEW: News are translatable.
* NEW: More french translations.

[GB.GTK]
* BUG: Do not use gtk_adjustment_get_step_increment() if the GTK+ version 
  is not at least 2.14.


git-svn-id: svn://localhost/gambas/trunk@1965 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-19 15:59:29 +00:00
Benoît Minisini
a83d81f98d [CONFIGURATION]
* BUG: FreeBSD patches.

[INTERPRETER]
* BUG: FreeBSD patches.

[COMPILER]
* NEW: Support for FreeBSD getopt_long().

[ARCHIVER]
* NEW: Support for FreeBSD getopt_long().

[INFORMER]
* NEW: Support for FreeBSD getopt_long().

[SCRIPTER]
* BUG: The <%...%> markups are now taken into account everywhere inside a 
  server page.

[WIKI CGI SCRIPT]
* BUG: Speeds up the rename function.

[GB.COMPRESS.ZLIB]
* BUG: Do not include the Linux specific header <bits/wordsize.h> anymore.

[GB.DB.ODBC]
* BUG: Removed some compilation warnings.

[GB.GTK]
* BUG: ComboBox now raises focus events.
* BUG: Newly opened windows are now correctly shown at the specified 
  position.
* BUG: DrawingArea.Clear() does not erase the border anymore if the 
  DrawingArea is cached.
* BUG: Hiding a row or a column does not prevent the mouse wheel to work 
  anymore in the GridView control.

[GB.QT]
* BUG: Compound controls like ComboBox should not raise spurious focus 
  events anymore.
* BUG: Fix a possible crash in GridView repaint.

[GB.QT4]
* BUG: Compound controls like ComboBox should not raise spurious focus 
  events anymore.


git-svn-id: svn://localhost/gambas/trunk@1955 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-15 17:57:29 +00:00
Benoît Minisini
fdabd0c98c [CONFIGURATION]
* NEW: The gb.qte component has been removed.

[DEVELOPMENT ENVIRONMENT]
* NEW: Support for modules in project file deletion.

[INTERPRETER]
* BUG: Format$() now checks its second argument correctly when it is an 
  integer.
* BUG: Exported classes for components written in Gambas are now correctly 
  loaded when inheritance between them is used.

[GB.DRAW]
* BUG: Some properties of the Draw class didn't correctly check that a 
  drawing device was opened.

[GB.FORM.MDI]
* NEW: The Toolbar control now raises a Configure event when its 
  configuration has changed.

[GB.GTK]
* BUG: Fix Draw.Picture() and Draw.Image() on transparent pictures.
* BUG: Correctly initialize the foreground and background colors at 
  Draw.Begin().

[GB.QT]
* BUG: Fix Draw.Picture() and Draw.Image() on transparent pictures.

[GB.QTE]
* NEW: This component has been removed.


git-svn-id: svn://localhost/gambas/trunk@1939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-01 16:27:45 +00:00
Benoît Minisini
ed62e2dc78 [DEVELOPMENT ENVIRONMENT]
* BUG: Store autoconf extra tests in the .project file, not in its own 
  hidden file anymore.
* NEW: Add KDE4 as possible icon theme.
* BUG: The packager wizard logic has been fixed.

[INTERPRETER]
* NEW: The Array class has now almost all standard array methods. They all 
  use Variant as array contents datatype, internally converting values to
  the real array datatype.
* NEW: Quote$() now keeps characters whose code is greater as 126 unquoted.

[COMPILER]
* NEW: '\b' and '\f' are two new escaped sequences in strings.
* BUG: Move some debugging breakpoint instructions so that the debugger 
  breaks at the right line when there is an error during an IF or a CASE 
  instruction.

[GB.EVAL]
* NEW: '\b' and '\f' are two new escaped sequences in strings.

[GB.FORM]
* NEW: Some new stock icons.

[GB.QT.EXT]
* NEW: Editor.Lines[].GetInitialState() fills the Highlight properties
  (State, Tag and AlternateState) with the initial state of a line.

[GB.WEB]
* NEW: JSON is a new class that can encode and decode the JSON format.


git-svn-id: svn://localhost/gambas/trunk@1925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-04-08 10:11:16 +00:00
Benoît Minisini
3362aafbf1 [DEVELOPMENT ENVIRONMENT]
* BUG: Make the property project dialog larger for large fonts.

[INFORMER]
* BUG: Correctly initialize an uninitialized variable

[GB.DB.MYSQL]
* BUG: Remove the gb.db.mysql.component file, as gb.db.mysql is not a
  component anymore.

[GB.NET]
* BUG: ServerSocket.Accept() does not create a Socket that takes 100% CPU 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@1885 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-21 23:03:36 +00:00
Benoît Minisini
26aa5729d5 [INFORMER]
* NEW: Enable temporarily verbose mode for debugging purpose.


git-svn-id: svn://localhost/gambas/trunk@1884 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-21 00:00:35 +00:00
Benoît Minisini
4d91620b03 [INTERPRETER]
* BUG: Some 64 bits fixes.

[COMPILER]
* BUG: Fix how two error messages are printed.


git-svn-id: svn://localhost/gambas/trunk@1845 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-02 11:34:23 +00:00
Benoît Minisini
a652b6a92c [GB.DESKTOP]
* BUG: Remove useless dependencies, and fix the *.component file.


git-svn-id: svn://localhost/gambas/trunk@1830 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-28 23:04:59 +00:00
Benoît Minisini
272b14759e [INFORMER]
* BUG: Do not print included component information files.

[GB.CAIRO]
* NEW: The CairoMatrix class was completed.
* NEW: The CairoPattern class got its Matrix and Filter properties.

[GB.IMAGE]
* BUG: When a component takes ownership of an image, the image format is 
  correctly set now.
* NEW: Most of the Color class was moved to this component.

[GB.IMAGE.IO]
* BUG: Use the right RGBA image format when loading images.

[GB.V4L]
* BUG: Fix the *.component file.


git-svn-id: svn://localhost/gambas/trunk@1822 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-27 13:39:38 +00:00
Benoît Minisini
abf033e85a [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the welcome dialog as the Image constructor has changed.

[WIKI CGI SCRIPT]
* NEW: New look for the path and language header.

[INFORMER]
* NEW: The components are analyzed in alphabetical order now.
* NEW: A component can include more than one other component information 
  file.

[GB.IMAGE]
* BUG: Fix two memory leaks.
* NEW: A component can define a default format for new images. This avoid
  unnecessary format conversions. The "default default format" is RGBA.
* BUG: RGBx formats are correctly supported by image methods.

[GB.QT]
* BUG: Fix GridView last column automatic stretching.


git-svn-id: svn://localhost/gambas/trunk@1806 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-21 01:25:13 +00:00
Benoît Minisini
2e82025ce5 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix option dialog now that [...] can return specialized arrays.
* BUG: Fix the list of control properties that must not be applied in the 
  form editor.
* NEW: Automatically converts Window.Toolbar constant to Window.Utility.
* NEW: Setting the form Type property to Utility has a visible effect now.
* BUG: The find balloon message is always displayed in the accurate field 
  now.

[GB.GTK]
* BUG: Fix the initialization of editable combo-box when its List property 
  is set.
* NEW: The Window.Toolbar constant were replaced by Window.Utility.

[GB.FORM]
* NEW: Draw SidePanel little arrows in a more clever way.
* BUG: Font grades are selectable again in the FontChooser control.

[GB.FORM.MDI]
* NEW: Toolbars have a configuration dialog now. This configuration dialog 
  is displayed when you click on the toolbar handle. Beware, this is not 
  finished!
* NEW: Toolbar.Key is a new text property for identifying the toolbar. All 
  toolbars having the same key will share the same configuration.
* NEW: Toolbar.Text is a new text property that gives a visual name to the 
  toolbar.

[GB.QT]
* BUG: Setting Control.Next or Control.Previous now forces the parent 
  container to re-arrange itself.
* NEW: The Window.Toolbar constant were replaced by Window.Utility.
* NEW: ToolButton.AutoResize is a new property that makes the toolbutton 
  automatically expand horizontally to fit its contents.
* NEW: Button and ToggleButton got the same AutoResize property.
* NEW: Remove the DrawingArea.BackColor property.

[GB.QT4]
* BUG: Setting Control.Next or Control.Previous now forces the parent 
  container to re-arrange itself.
* NEW: Remove the DrawingArea.BackColor property.
* NEW: The Window.Toolbar constant were replaced by Window.Utility.


git-svn-id: svn://localhost/gambas/trunk@1789 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-06 00:01:26 +00:00
Benoît Minisini
4270c30d20 [DEVELOPMENT ENVIRONMENT]
* NEW: Actions lists are now written directly in *.form files. The 
  compiler will copy them into *.action files in the '.action' project 
  directory.

[WIKI CGI SCRIPT]
* NEW: The "?view" argument in URLs is now kept through links.

[INTERPRETER]
* BUG: Paths beginning with "../" now work correctly with executables.
* BUG: Fix a crash when using Dir() on relative paths.

[COMPILER]
* NEW: Now the compiler automatically generates *.action files from the 
  *.form file contents.

[GB.FORM.MDI]
* BUG: Support for the new action file format in the action configuration 
  dialog.
* BUG: Bad shortcuts are correctly handle in the action configuration 
  dialog now.


git-svn-id: svn://localhost/gambas/trunk@1782 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-04 18:55:25 +00:00
Benoît Minisini
23762036df [CONFIGURATION]
* NEW: Activate the compilation of the gb.qt4 directory.

[DEVELOPMENT ENVIRONMENT]
* BUG: Actions that are not associated with a Menu will not be shown 
  anymore in the Action configuration dialog.

[GB.QT]
* NEW: Spacing is now a container Boolean property. If it is set, the 
  container children are separated by Desktop.Scale pixels.
* NEW: A new container Boolean property, Margin. Setting this property is
  the same as setting Padding to Desktop.Scale. If both Margin and Padding
  are set, their effect add up.
  
[GB.GTK]
* NEW: Spacing is now a container Boolean property. If it is set, the 
  container children are separated by Desktop.Scale pixels.
* NEW: A new container Boolean property, Margin. Setting this property is
  the same as setting Padding to Desktop.Scale. If both Margin and Padding
  are set, their effect add up.
  
[GB.QT4]
* NEW: Spacing is now a container Boolean property. If it is set, the 
  container children are separated by Desktop.Scale pixels.
* NEW: A new container Boolean property, Margin. Setting this property is
  the same as setting Padding to Desktop.Scale. If both Margin and Padding
  are set, their effect add up.


git-svn-id: svn://localhost/gambas/trunk@1777 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-04 01:37:20 +00:00
Benoît Minisini
9de02c9cac [INFORMER]
* BUG: The informer algorithm was redesigned. Now a sub-process is 
  launched for each component that should be analyzed, and LD_PRELOAD is 
  used to load the component shared library before the process is launched.
  Otherwise, some component may crash.

[GB.DRAW]
* BUG: Correctly initialize color properties of the Draw class at 
  Draw.Begin().
* NEW: Draw.FillRect() is a new method to draw a filled rectangle with the 
  specified color.
* NEW: Draw.Clear() is a new method that clears the drawing device with its
  background color.

[GB.FORM.MDI]
* NEW: Do not use BackColor and ForeColor properties anymore.

[GB.GTK]
* NEW: Control.Backcolor and Control.Forecolor properties were removed.
* BUG: Desktop.Resolution now uses the accurate GTK+ API.
* BUG: Setting the ListBox.List to NULL property does not lock the ListBox 
  control anymore. 
* BUG: Fix the Font object management. Using Font properties should not 
  crash anymore.
* BUG: Image.Save() and Picture.Save() now understand the "~" shortcut in 
  path names.

[GB.QT]
* NEW: Control.Backcolor and Control.Forecolor properties were removed.
* NEW: Do not check if we should quit too often.
* NEW: Allow windows to be closed during a WAIT instruction as in other 
  components. I do not know why it was forbidden before.
* NEW: Prevent a crash in arrangement routines if a child widget is not 
  associated with a Gambas control anymore.

[GB.QT4]
* NEW: Control.Backcolor and Control.Forecolor properties were removed.
* NEW: The source code is now up to date with gb.qt. But many things do not 
  work as expected!

[GB.QT4.EXT]
* NEW: The source code is now up to date with gb.qt.ext. But many things do 
  not work as expected!


git-svn-id: svn://localhost/gambas/trunk@1776 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-03 22:24:02 +00:00
Benoît Minisini
abdd0a0866 [DEVELOPMENT ENVIRONMENT]
* NEW: Start assigning actions to everything.
* NEW: Action shortcuts can be configured.
* NEW: Project actions are automatically saved in the .action directory.
* BUG: Signature of native arrays is correct now.

[INTERPRETER]
* BUG: GB_LoadFile() does not leak file descriptors anymore.
* NEW: Relative paths starting with "../" allows to open files located in 
  the main archive from a component.

[ARCHIVER]
* NEW: Store the ".action" directory in the archive.

[GB.DB]
* BUG: Correctly check that table name are not void in Create(), Find(), 
  Edit() and Delete() methods.

[GB.FORM]
* NEW: A new stock icon named "shortcut". Mmm... Should be named 
  "keyboard".

[GB.FORM.MDI]
* NEW: Support for automatic configuration of action shortcuts.
* NEW: Action.Configure() is a new method that opens a dialog for 
  configuring shortcuts. Shortcut configuration is stored in the 
  application setting files, under the '[gb.form.mdi/Shortcuts]' slot.

[GB.QT]
* NEW: Action[].Shortcut is a new property for setting or getting the 
  shortcut of an action.
* BUG: Correctly opens startup forms again.


git-svn-id: svn://localhost/gambas/trunk@1758 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-12-31 15:55:40 +00:00
Benoît Minisini
4d36d22784 [CONFIGURATION]
* NEW: Increment bytecode version.

[INTERPRETER]
* NEW: New routine to deal with the new immediate collection operator. The
  bytecode has changed consequently.

[COMPILER]
* NEW: A new syntax to the array operator to create collections:
  [ <key>:<value>, <key>:<value> ... ]

[GB.EVAL]
* NEW: Implement the new syntax for creating collections.


git-svn-id: svn://localhost/gambas/trunk@1699 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-11 17:22:38 +00:00
Benoît Minisini
211da914b9 [INTERPRETER]
* NEW: EXEC / SHELL used without the AS keyword create a process object 
  that does not raise events.

[COMPILER]
* BUG: Allow the AS keyword in SHELL / EXEC even if the WAIT keyword is 
  used.
  

git-svn-id: svn://localhost/gambas/trunk@1658 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-29 18:35:15 +00:00
Benoît Minisini
6fc736d883 [DEVELOPMENT ENVIRONMENT]
* NEW: The EXEC and SHELL syntax has changed.

[INTERPRETER]
* NEW: Stream.Blocking is new property to set if reading from the stream
  is blocking or not.
* NEW: EXEC or SHELL used without the AS keyword creates a blocking
  process stream.

[COMPILER]
* NEW: EXEC or SHELL can be used with AS and without FOR.

[GB.QT]
* NEW: Toolbox windows are automatically transient for the current active 
  window.


git-svn-id: svn://localhost/gambas/trunk@1657 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-29 18:26:56 +00:00
Benoît Minisini
5acae8e8bb [WIKI CGI SCRIPT]
* NEW: Do not use <pre> markups, they cannot break lines.

[DEVELOPMENT ENVIRONMENT]
* NEW: Replace anonymous object arrays by template arrays.
* NEW: A button that clears the shortcut in the menu editor.
* NEW: When evaluating expression in the console, a semi-colon at the end 
  of the expression prevents the end newline to be printed, like in the 
  PRINT instruction.
* NEW: CTRL+G in the console makes it flash.
* OPT: Remove the CCoolTabs class, that was not used anymore.
* NEW: The main selected control is unselectable in the form editor now.
* NEW: Selected controls can be resized by pressing CTRL and an arrow key.
* NEW: Some form editor shortcuts have been changed to not conflict with
  the previous feature.
* BUG: Fix the horizontal position of the automatic completion.
* BUG: Look in project classes before component classes in automatic 
  completion.

[INTERPRETER]
* BUG: Fix the memory allocation debug routines.
* BUG: When instanciating a template array class, search for element class 
  symbol locally first.
* BUG: Template arrays now correctly release their elements.
* NEW: Update copyright year in gb_common.h header file.

[COMPILER]
* BUG: Manage .list and .info files incrementally, so that they are up to 
  date even when the project is not fully compiled.
* BUG: Float and Single constants are correctly written in the .info file.

[GB.QT.EXT]
* BUG: Fix some painting artifacts in Editor.
* BUG: In Editor, Undo and Redo now should always work correctly when a 
  line is rewritten.
* NEW: In Editor, when a line is rewritten, the Change event is always 
  emitted.
* NEW: The Editor is cleared now when it prints a CTRL+L character.
* NEW: The Editor flashes now when it prints a CTRL+G character.


git-svn-id: svn://localhost/gambas/trunk@1576 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-09-21 23:22:07 +00:00
Benoît Minisini
d60e728617 [COMPILER]
* BUG: Disable debugging messages.


git-svn-id: svn://localhost/gambas/trunk@1562 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-09-16 12:48:21 +00:00
Benoît Minisini
44e0814952 [DEVELOPMENT ENVIRONMENT]
* NEW: Nicer window buttons in the form editor.
* BUG: Console popup menu must start disable, otherwise shortcuts conflict.
* NEW: Use the new template array class in the CControl class.

[COMPILER]
* BUG: Make a difference between project classes (they must be searched 
  by the interpreter inside the project symbol table first) and the classes
  exported by components (they are always searched in the global symbol 
  table).


git-svn-id: svn://localhost/gambas/trunk@1532 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-09-01 00:48:01 +00:00