Commit graph

469 commits

Author SHA1 Message Date
Benoît Minisini
f75d640e3b [INTERPRETER]
* NEW: StrPtr() now can take a second argument to specify the length of the 
  string we will read from memory. If that argument is not specified, the
  string must ends with a zero character.
* OPT: Internal array management was optimized. It changes nothing for the
  Gambas array class.

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


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

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

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


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

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


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

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

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



git-svn-id: svn://localhost/gambas/trunk@2974 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-28 06:24:14 +00:00
Benoît Minisini
74f930e0b6 [INTERPRETER]
* BUG: Make the interpreter compile on 64 bits OS.


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

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

[COMPILER]
* OPT: Optimize symbol lookup tables.

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


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

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

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

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


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

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

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

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



git-svn-id: svn://localhost/gambas/trunk@2964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-25 11:19:00 +00:00
Benoît Minisini
48f6a6a309 [INTERPRETER]
* BUG: L'API GB.ReturnNewString() doit pouvoir retourner une chaîne vide. 
  Dans ce cas elle le transforme en un GB.ReturnNull().


git-svn-id: svn://localhost/gambas/trunk@2960 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-23 18:59:11 +00:00
Benoît Minisini
4a544c567a [INTERPRETER]
* BUG: Use GB.ReturnNewZeroString() instead of GB.ReturnNewString() now. 
  All components using the old syntax should be fixed now.
* NEW: Start to manage structures.


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

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


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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@2952 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-20 23:23:39 +00:00
Benoît Minisini
74e8fc7fed [INTERPRETER]
* OPT: Many branch prediction optimizations.


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

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


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

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

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

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



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

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



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

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

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

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


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


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

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

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

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


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

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

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

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


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

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

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


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

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


git-svn-id: svn://localhost/gambas/trunk@2920 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-28 00:17:12 +00:00
Benoît Minisini
e02caaf252 [DEVELOPMENT ENVIRONMENT]
* NEW: Do not show a form in the treeview if no component implements its 
  family.

[INTERPRETER]
* NEW: Detect overridden classes, and automatically convert the return 
  datatype of Gambas and native functions using an overridden class.
* NEW: Convert overridden classes in the NEW instruction.


git-svn-id: svn://localhost/gambas/trunk@2912 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-26 09:36:47 +00:00
Benoît Minisini
52ac0bdfee [DEVELOPMENT ENVIRONMENT]
* BUG: Do not trim pasted text when using special paste.

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

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


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

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

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

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

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


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

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

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


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


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


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


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


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

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


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

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


git-svn-id: svn://localhost/gambas/trunk@2864 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-06 17:00:25 +00:00
Benoît Minisini
c15a7461aa [INTERPRETER]
* NEW: New APIs to get a Gambas stream from a stream object 
  (GB.Stream.Get), to read data from a stream (GB.Stream.Read) and to write
  date to a stream (GB.Steam.Write).

[GB.NET.SMTP]
* BUG: The _Socket property has been replaced by the _Stream property, that
  takes a Gambas stream.
* BUG: Correctly release the user and password strings when the SmtpClient 
  is freed.


git-svn-id: svn://localhost/gambas/trunk@2863 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-05 17:02:16 +00:00
Benoît Minisini
bb6f47038e [INTERPRETER]
* NEW: New interpreter API to browse the project contents.
* BUG: RDir(".") does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@2861 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-05 01:44:43 +00:00
Benoît Minisini
ecac90958a [INTERPRETER]
* BUG: Fix an uninitalized flag in the stream internal structure.
* BUG: Remove a forgotten debugging breakpoint.


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


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


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




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


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

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


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


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


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

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


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


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

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

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


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

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

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

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

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


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

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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@2760 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-07 01:38:15 +00:00
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
757c0c3295 [INTERPRETER]
* BUG: IUTF8 flag may not exist in virtual terminal management.
* BUG: long double mathematic functions do not exist in CygWin.


git-svn-id: svn://localhost/gambas/trunk@2748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-05 01:20:09 +00:00
Benoît Minisini
fffee54d40 [DEVELOPMENT ENVIRONMENT]
* NEW: Start to handle "Image" control properties.

[GB.DEBUG]
* OPT: The debugging callback is called again and again, even if there is 
  nothing sent by the debugger. So sleeping a little prevent from eating 
  the CPU.

[GB.REPORT]
* BUG: Use Float instead of Integer for coordinates arguments.
* NEW: Replace ReportImage.Path by ReportImage.Image.
* NEW: Clip the controls inside a dedicated procedure.


git-svn-id: svn://localhost/gambas/trunk@2726 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-28 17:26:00 +00:00
Benoît Minisini
cd5bf4cc70 [INTERPRETER]
* OPT: The blocking state of streams is cached now, so that the fcntl() 
  system call is less used.

[GB.FORM]
* BUG: Stock icons work correctly again.

[GB.QT4]
* NEW: When drawing on a DrawingArea, Draw and Paint dimension properties 
  always return the size of the DrawingArea, even if it is cached.
* BUG: DrawingArea contents is not assume to be static anymore. Resizing 
  them always send a full repaint event.


git-svn-id: svn://localhost/gambas/trunk@2724 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-27 22:08:04 +00:00
Benoît Minisini
56cb9e876e [INTERPRETER]
* BUG: Allow a dynamic class to inherit a native static class without 
  crashing.

[GB.FORM]
* OPT: Try to do a little less file browsing when loading stock icons.


git-svn-id: svn://localhost/gambas/trunk@2716 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-24 23:47:46 +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
eba1d9c405 [DEVELOPMENT ENVIRONMENT]
* OPT: Cache the welcome Gambas SVG logo in an image for faster redrawing.
* NEW: Start defining new control hidden properties in all components: 
  _IsControl, _Group, _Family, _IsVirtual, _IsContainer, _IsMultiContainer.

[EXAMPLES]
* NEW: Use new Paint methods in the Painting example.

[INTERPRETER]
* BUG: Instr() and RInstr() correctly handle non-ASCII characters.

[GB.DRAW]
* NEW: Support for Paint.RichText and Paint.RichTextExtents.

[GB.GTK]
* BUG: Rich text relative font sizes are now correctly handled.
* NEW: Implement Paint.RichText and Paint.RichTextExtents.

[GB.QT4]
* NEW: Implement Paint.RichText and Paint.RichTextExtents.


git-svn-id: svn://localhost/gambas/trunk@2698 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-14 01:16:27 +00:00
Benoît Minisini
08c7b0f4d8 [INTERPRETER]
* BUG: Fix the GB.ConvString() API.

[GB.GTK]
* BUG: Fix the Key[] array accessor, so that it (almost) works like gb.qt.

[GB.PDF]
* NEW: All dimensions are now returned as Float.
* BUG: PdfDocument.Find() now works correctly.


git-svn-id: svn://localhost/gambas/trunk@2672 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-08 00:56:56 +00:00
Benoît Minisini
f306c0a5fb [DEVELOPMENT ENVIRONMENT]
* NEW: Sort project tree view with natural sort.
* NEW: Sort procedure combo-box with natural sort.

[GB.DB.FORM]
* BUG: Setting a "SELECT" request to the DataSource.Table property should 
  work in all cases now.

[GB.FORM.MDI]
* NEW: Vertical toolbar layout is more clever.

[GB.GTK]
* BUG: Modal windows are really modal.
* BUG: Try to prevent a possible crash in event management.

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


git-svn-id: svn://localhost/gambas/trunk@2669 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-07 23:10:41 +00:00
Benoît Minisini
ff0804b8b1 [DEVELOPMENT ENVIRONMENT]
* NEW: Welcome dialog was redesigned.
* BUG: Do not use the main window to display an error message if it is not 
  opened.

[INTERPRETER]
* BUG: Fix command-line arguments parsing again.

[GB.QT4]
* BUG: Some text alignment flags were not correctly detected.
* BUG: Cached DrawingArea should work as expected again.


git-svn-id: svn://localhost/gambas/trunk@2662 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-04 16:00:01 +00:00
Benoît Minisini
1ff708f0b0 [INTERPRETER]
* BUG: Fix commnad-line arguments parsing.
* NEW: System.Family is a new property that returns the operating system 
  family (Linux, FreeBSD...) as a string.
* NEW: System.Architecture is a new property that returns the current CPU
  architecture as as string: x86, x86_64 or ARM.


git-svn-id: svn://localhost/gambas/trunk@2660 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-03 15:48:37 +00:00
Benoît Minisini
49ad535836 [GB.GTK]
* BUG: Popup menus now grab events correctly.

[INTERPRETER]
* BUG: Clean up usage help messages for gbx3 and gbr3.

[GB.FORM]
* NEW: FileView now sorts files by using natural sort.


git-svn-id: svn://localhost/gambas/trunk@2658 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-03 02:30:37 +00:00
Benoît Minisini
34ece710f0 [DEVELOPMENT ENVIRONMENT]
* NEW: Apply color theme to project treeview, property sheet and form 
  hierarchy window.

[INTERPRETER]
* NEW: gbr3 and gbx3 now interpret their command line the same way.
* NEW: The -L option now prints the license, and the -h option only print
  the interpreter usage.

[GB.GTK]
* BUG: As the Y-axis is top-down, positive angles must be clockwise in theme
  Paint class implementation.

[GB.QT4]
* BUG: As the Y-axis is top-down, positive angles must be clockwise in theme
  Paint class implementation.


git-svn-id: svn://localhost/gambas/trunk@2653 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-01 12:17:38 +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
0665d5f720 [CONFIGURATION]
* BUG: Configuration summary should be printed correctly again.
* NEW: README file was updated.

[INTERPRETER]
* BUG: The Error information should not be lost anymore during error 
  propagation through constructors.
* NEW: Natural comparison is now always language-aware.

[GB.QT4]
* BUG: TextArea selection methods work correctly now.
* BUG: TreeView.Count and ColumnView.Count now return the number of items 
  in the view like in gb.gtk, not just the number of root items.


git-svn-id: svn://localhost/gambas/trunk@2643 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-27 03:28:06 +00:00
Benoît Minisini
6f2a3f43a5 [INTERPRETER]
* NEW: gb.Text has been deprecated, and a warning is printed each time it 
  is used now. Use gb.IgnoreCase instead.
* NEW: Natural string comparison and sorting were implemented. Use the 
  gb.Natural constant for that.


git-svn-id: svn://localhost/gambas/trunk@2640 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-25 17:53:58 +00:00
Benoît Minisini
8c8859b165 [CONFIGURATION]
* BUG: Fix the compilation and installation order of sub-directories.

[INTERPRETER]
* BUG: Never display newlines inside error message, the debugger does not 
  like them.

[GB.FORM]
* BUG: Right and bottom SidePanels now shrink as expected when their parent 
  container has no arrangement.

[GB.GTK]
* BUG: When a modal window is running, only it can be closing from the 
  window manager close button.


git-svn-id: svn://localhost/gambas/trunk@2629 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-24 14:23:51 +00:00
Benoît Minisini
932eb88117 [CONFIGURATION]
* BUG: Use -fnested-functions only on Mac OS X.
* BUG: The GB_COMPONENT macro now correctly voids all component variables 
  when the component is not found.


git-svn-id: svn://localhost/gambas/trunk@2621 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-20 14:08:22 +00:00
Benoît Minisini
09b7390344 [CONFIGURATION]
* BUG: Do not use the "echo" command with options, FreeBSD shell does 
  not understand it.
* BUG: Make the "main" directory compile on Mac OS X.



git-svn-id: svn://localhost/gambas/trunk@2619 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-20 01:37:45 +00:00
Benoît Minisini
4e17272a76 [INTERPRETER]
* BUG: Do not crash anymore when running the interpreter in a directory 
  that is not a gambas project. And print a clear message then.


git-svn-id: svn://localhost/gambas/trunk@2617 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-20 00:37:00 +00:00
Benoît Minisini
0421ced0fe [EXAMPLES]
* NEW: The ImageViewer example now uses the Paint class.

[INTERPRETER]
* NEW: Class.Symbols now returns a string array of all class public 
  symbols.
* NEW: Component.IsLoaded is a new static method to check if a specific 
  component has been loaded.
* NEW: Components.Load has been removed.

[GB.GTK]
* NEW: Cairo requirements have been added to the configure.ac file.
* NEW: The Container.Children.Clear method has been implemented.

[GB.GUI]
* NEW: Add gb.image requirement in the gb.gui component file.

[GB.QT4]
* BUG: DrawingArea scrollbars are correctly displayed again.
* BUG: DrawingArea internal cache is correctly resized with the control.


git-svn-id: svn://localhost/gambas/trunk@2606 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-10 23:00:31 +00:00
Benoît Minisini
61997e8921 [DEVELOPMENT ENVIRONMENT]
* NEW: Use the new mascot to draw project directory icon.

[EXAMPLES]
* NEW: Some little changes in the Painting example.

[INTERPRETER]
* NEW: The component GB_INIT function now returns an integer that gives an 
  unloading order. The higher the returned number, the later the component 
  is unloaded. If GB_INIT returns -1, then the component shared library 
  will not be unloaded.
* NEW: Update GB_INIT functions in all components.

[GB.DRAW]
* BUG: Paint.Image() optional translation arguments are not inverted 
  anymore.

[GB.QT4]
* BUG: If Paint.LineWidth is zero, then nothing is stroked, as in gb.gtk.
* BUG: TabStrip is now correctly arranged when it has only one tab.


git-svn-id: svn://localhost/gambas/trunk@2605 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-10 13:40:48 +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
05fe8d8446 [INTERPRETER]
* NEW: A new interpreter API to get temporary file names.
* NEW: A new interpreter API to copy a file.
* NEW: Rename the GB.GetTempDir() function to GB.TempDir(), and fix all 
  components using it.

[GB.GTK]
* NEW: SvgImage is a new class that allows to generate SVG files by 
  painting on it. But it cannot render them.


git-svn-id: svn://localhost/gambas/trunk@2583 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-01 18:45:35 +00:00
Benoît Minisini
d81bda1c5b [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly save ListBox having exactly 31 items defined from the IDE.

[INTERPRETER]
* BUG: Now when a method call fails when checking arguments, the arguments
  are correctly released.

[GB.QT4]
* NEW: The Window background picture is now drawn differently, and not 
  propagated anymore.


git-svn-id: svn://localhost/gambas/trunk@2582 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-01 14:55:13 +00:00
Benoît Minisini
dab9c93bbe [WIKI CGI SCRIPT]
* BUG: Fix a HTML markup mistake.

[GB.GTK]
* BUG: The Printer.Page property starts from 1 and not 0 anymore.

[GB.GUI]
* BUG: Add Printer control to the *.component file.

[GB.QT4]
* BUG: The Printer.Page property starts from 1 and not 0 anymore.
* BUG: Add Printer control to the *.component file.


git-svn-id: svn://localhost/gambas/trunk@2580 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-01 11:54:16 +00:00
Benoît Minisini
efb2659278 [CONFIGURATION]
* BUG: Remove the libtoolize "--install" flag in the reconf script, as it 
  breaks the "main" source sub-directory. We must add an option to this
  script to handle that flag correctly.

[DEVELOPMENT ENVIRONMENT]
* BUG: Correctly display errors raised at program startup.

[EXAMPLES]
* BUG: The Notepad example has been fixed.

[GB.DRAW]
* NEW: Work continue on the Paint class.


git-svn-id: svn://localhost/gambas/trunk@2514 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-12-24 15:09:08 +00:00
Benoît Minisini
47d0aa711c [CONFIGURATION]
* NEW: Architecture detection.
* NEW: Updated libtool macros.

[DEVELOPMENT ENVIRONMENT]
* NEW: Highlight the current procedure in the editor procedure popup.

[INTERPRETER]
* BUG: Alignment fixes for the ARM architecture.

[GB.DRAW]
* NEW: Start implementing the new Paint interface.

[GB.GTK]
* BUG: GridView.Clear is now correctly implemented.


git-svn-id: svn://localhost/gambas/trunk@2505 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-12-24 02:02:05 +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
afe086185e [DEVELOPMENT ENVIRONMENT]
* NEW: Take the new organization of constructor arguments into account.

[INTERPRETER]
* NEW: Change the way arguments are consumed by inherited constructors 
  again. Now mandatory and optional arguments are consumed separately.
  Mandatory arguments of all constructors are consumed first, and then
  optional arguments if possible.

[GB.FORM]
* NEW: Take the new organization of constructor arguments into account.


git-svn-id: svn://localhost/gambas/trunk@2453 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-12-01 04:06:21 +00:00
Benoît Minisini
669820173b [INTERPRETER]
* NEW: The constructor arguments must follow the inheritance order from top 
  to bottom, and not from bottom to top as before. This way, the 
  constructor of the bottom class can have optional arguments.


git-svn-id: svn://localhost/gambas/trunk@2448 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-11-30 04:25:48 +00:00
Benoît Minisini
83d84d7ee5 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for the Index class interface changes.
* BUG: CSV import does not crash anymore when the imported file size is 
  lower than 64K.
* BUG: Do not crash if a component is not installed.

[INTERPRETER]
* BUG: Error.Text does not split the error message and its argument in 
  debug mode.
* BUG: Fix many breaks in strict aliasing rules.

[SCRIPTER]
* BUG: Do not crash if a component is not installed.

[GB.DB]
* NEW: Better support for postgresql schemas.
* NEW: Connection.Quote() takes one more optional boolean argument that 
  tells if we want to quote a table name. In that case, schemas are taken 
  into account.
* NEW: Connection.FormatBlob() is a new function that returns a string that 
  can be used as a blob contents in a SQL expression.
* NEW: Index.Fields now returns a string array of index fields.
* NEW: Index.Add() second argument is now a string array of index fields.


git-svn-id: svn://localhost/gambas/trunk@2442 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-11-28 01:22:00 +00:00
Benoît Minisini
585c82b49b [INTERPRETER]
* NEW: System.Error is a new property that returns the contents of the 
  "errno" variable, which is the error code returned by the last system 
  call.


git-svn-id: svn://localhost/gambas/trunk@2421 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-11-15 14:13:52 +00:00
Benoît Minisini
77acecbca7 [DEVELOPMENT ENVIRONMENT]
* BUG: The make executable dialog options are correctly refreshed depending 
  on whether the project is a component or not.
* BUG: Removing a source file removes correctly the translation file from 
  version control too now.

[EXAMPLES]
* BUG: The hour hand follows the minutes now in the Clock example.

[INTERPRETER]
* BUG: The thousand separator is only printed between digits now.

[GB.QT4]
* BUG: Fix the definition of TabStrip properties.

[GB.GTK]
* BUG: Fix the definition of TabStrip properties.


git-svn-id: svn://localhost/gambas/trunk@2420 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-11-15 13:53:37 +00:00
Benoît Minisini
25c43c72c4 [DEVELOPMENT ENVIRONMENT]
* NEW: Greek translation updated.

[INTERPRETER]
* BUG: Stopping watching a file descriptor inside a watching callback does 
  not crash the interpreter event loop anymore.

[GB.GTK]
* BUG: Do not crash when there is a keyboard event and no active control.
* BUG: Using the quality argument when saving a picture or an image does 
  not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@2391 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-10-12 10:38:35 +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
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
0f7bc5c258 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the interaction between subversion and directory renaming or 
  moving. Now deleted or renamed folders that are not committed are now 
  locked.
* NEW: Some message boxes related to file operations were replaced by 
  balloons.
* BUG: Fix a bug when renaming a source directory.

[INTERPRETER]
* BUG: Errors raised by components are correctly displayed again.


git-svn-id: svn://localhost/gambas/trunk@2360 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-25 19:56:26 +00:00
Benoît Minisini
f3df1daa86 [DEVELOPMENT ENVIRONMENT]
* NEW: Runtime error messages are now translatable. At least those that
  have an error code. Custom error messages coming from component are not
  translatable yet.
* NEW: French translation of runtime error messages.

[INTERPRETER]
* NEW: When running in debugging mode, error messages are formatted to be
  easily translatable.


git-svn-id: svn://localhost/gambas/trunk@2347 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-22 22:10:38 +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
11906ba89a [DEVELOPMENT ENVIRONMENT]
* NEW: Renaming a control now automatically renames the identifier in the 
  source code.

[INTERPRETER]
* NEW: Split() now takes a 5th optional argument that tells if escape 
  characters should be kept in the returned strings.
* NEW: CVariant() is a new function that converts its argument into a 
  Variant.

[COMPILER]
* NEW: CVariant() is a new function that converts its argument into a 
  Variant.

[GB.FORM]
* NEW: SidePanel, DirChooser, FileChooser and FileView Settings property
  now use the new Settings storage facilities and return a Variant[].

[GB.GTK]
* NEW: The Settings and Layout properties of HSplit and VSplit now return 
  an Integer[] instead of a String.
* BUG: The name property of newly created menus is correctly initialized
  now.

[GB.QT4]
* NEW: The Settings and Layout properties of HSplit and VSplit now return 
  an Integer[] instead of a String.

[GB.SETTINGS]
* NEW: The settings file format has changed. Now collections and arrays can
  be stored and retrieved.


git-svn-id: svn://localhost/gambas/trunk@2329 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-10 19:30:41 +00:00
Benoît Minisini
a893f16465 [DEVELOPMENT ENVIRONMENT]
* BUG: Pressing the Escape key should hide panels *and* give the focus back
  to the active file correctly.

[INTERPRETER]
* BUG: Fix an uninitialized value in the date formatting routine.

[GB.DB.FORM]
* NEW: DataSource now raises a Change event when its current record changes
  or is refreshed.

[GB.NET]
* BUG: Fix an uninitialized value in SerialPort class, when retrieving the 
  port signal status.


git-svn-id: svn://localhost/gambas/trunk@2307 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-02 23:17:05 +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
9f1feee8ff [CONFIGURATION]
* BUG: Fix the way some source files are compiled with different 
  compilation flags in the interpreter and in the gb.image component.


git-svn-id: svn://localhost/gambas/trunk@2285 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-30 14:16:32 +00:00
Benoît Minisini
a18348f8cd [DEVELOPMENT ENVIRONMENT]
* NEW: In the open project dialog, you can now uncompress archives by 
  double-clicking on it. There is a confirmation message of course.

[GB.IMAGE.IMLIB]
* NEW: I want to use ImLib2 to enhance the image component. Does nothing at
  the moment!


git-svn-id: svn://localhost/gambas/trunk@2282 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-28 21:42:11 +00:00
Benoît Minisini
8bb2091ab0 [CONFIGURATION]
* BUG: Fix the Makefile.am files of /main/lib sub-directories.

[DEVELOPMENT ENVIRONMENT]
* NEW: Now you can define the available control substitutions of your 
  component in the project property dialog.
* NEW: Now you can modify local variables, global variables and any field 
  in debugger windows while debugging.

[INTERPRETER]
* NEW: Support for local and global variable assignment.

[GB.DEBUG]
* NEW: The debugger can assign values to expressions, local and global 
  variables now.

[GB.EVAL]
* NEW: Support for local and global variable assignment.

[GB.FORM]
* NEW: TableView.NoKeyboard is a new property to disable the automatic 
  keyboard navigation.

(GB.QT4]
* NEW: Disable the Glib event loop.
* NEW: Do not automatically proceed events after a modal dialog is closed.


git-svn-id: svn://localhost/gambas/trunk@2265 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-24 14:19:32 +00:00
Benoît Minisini
5bb47fc9aa [DEVELOPMENT ENVIRONMENT]
* NEW: Some little cosmetic changes.
* BUG: Do not use gb.UseLanguage anymore.

[INTERPRETER]
* NEW: The gb.UseLanguage and gb.Case constants have been removed.
* NEW: Array.Find() methods now take an optional argument that defines the 
  search start index.
* NEW: gb.Like is a new comparison mode that internally uses the LIKE 
  operator.


git-svn-id: svn://localhost/gambas/trunk@2260 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-22 12:17:31 +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
dba4051fb0 [DEVELOPMENT ENVIRONMENT]
* NEW: Brakpoint tab has been redesigned.
* BUG: Unchecking the gb.db component in a project having Connection 
  objects does not crash anymore when refreshing the project tree.

[INTERPRETER]
* BUG: Setting a breakpoint on the startup class works again.

[GB.DEBUG]
* BUG: Setting a breakpoint on the startup class works again.

[GB.FORM]
* BUG: Fix the use of the new Image.Mirror() function.

[GB.IMAGE]
* NEW: Image.Transform() is a just a test. Do not use it.

[GB.QT4]
* BUG: When a debugger event has been received, do not manipulate the GUI 
  if the application object has not been created yet.


git-svn-id: svn://localhost/gambas/trunk@2244 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-17 22:36:54 +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
0082ebc8db [GB.DBUS]
* BUG: Fix the "DBus class declared twice" error. The DBus class in the C 
  part has been renamed "_DBus" so that it does not conflict anymore with 
  the DBus class declared in the gambas part.


git-svn-id: svn://localhost/gambas/trunk@2223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-07 18:14:26 +00:00
Benoît Minisini
80a20e2336 [EXAMPLES]
* NEW: Update the Console example with new buttons to send ^Z, ^D and ^C to 
  the child shell.

[INTERPRETER]
* BUG: Remove some warning messages.

[GB.QT4]
* BUG: Setting TextArea.Pos to TextArea.Length works correctly now.


git-svn-id: svn://localhost/gambas/trunk@2220 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-06 00:34:49 +00:00
Benoît Minisini
9beb0bb27f [INTERPRETER]
* BUG: Fix the initialization of the pseudo-terminal created for processes 
  run with SHELL/EXEC ... FOR INPUT/OUTPUT, so that it works when the 
  standard input is not a terminal.


git-svn-id: svn://localhost/gambas/trunk@2219 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-06 00:22:28 +00:00
Benoît Minisini
caa1b5aac6 [INTERPRETER]
* NEW: The _unknown() method is now correctly called when reading *and* 
  writing unknown properties. _unknown() is called with no arguments when
  reading the property, and with one argument (the new property value) when 
  writing it.
* BUG: Classes declared in the Gambas part of a component now should 
  correctly override classes declared in the C/C++ part.

[GB.DBUS]
* NEW: Hide native methods of the DBus class.
* NEW: The syntax for calling a method is:
  DBus[<Application>][<Object>,<Interface>].<Method>(<Arguments>)
  <Application> can be prefixed by "system://" to access the system bus.
* NEW: Properties are readable and writable with this syntax:
  DBus[<Application>][<Object>,<Interface>].<Property>
* NEW: DBusVariant is a new class that allows to send a Variant to a DBus 
  method by specifying is DBus type. Otherwise, when using Variant 
  directly, the associated DBus type is guessed automatically, which may 
  not be accurate is some cases.


git-svn-id: svn://localhost/gambas/trunk@2218 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-05 16:14:08 +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
0871af4660 [INTERPRETER]
* BUG: Fix compilation on 64 bits OS.


git-svn-id: svn://localhost/gambas/trunk@2209 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-03 17:54:51 +00:00
Benoît Minisini
dc8e806ae7 [DEVELOPMENT ENVIRONMENT]
* NEW: Arabic translation updated.

[INTERPRETER]
* NEW: A new method in the interpreter API to read a value in memory and 
  store it in a Gambas value slot.

[GB.DB.ODBC]
* BUG: Fix a warning.


git-svn-id: svn://localhost/gambas/trunk@2206 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-02 22:48:08 +00:00
Benoît Minisini
8dd19d4102 [INTERPRETER]
* BUG: Check the process stack each time a function is call, to avoid 
  segmentation faults on stack overflows. 

[GB.DEBUG]
* BUG: In the debugger, trim too large stack backtraces, so that the IDE 
  always receive it in one event.


git-svn-id: svn://localhost/gambas/trunk@2202 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-01 15:13:50 +00:00
Benoît Minisini
c7cb5c8f2e [INTERPRETER]
* BUG: A new function in the debugger interface to search for a class only 
  inside the running project.

[GB.DEBUG]
* BUG: Pending breakpoints now search for their class only inside the 
  running project.


git-svn-id: svn://localhost/gambas/trunk@2189 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-29 00:16:48 +00:00
Benoît Minisini
e8e807ee2b [CONFIGURATION]
* BUG: Fix the gb.qt4 configure.ac file so that it works with stupid 
  pkg-config configuration files.

[DEVELOPMENT ENVIRONMENT]
* NEW: An option to define the terminal emulator used by the IDE.
* NEW: Some unused icons were removed from the project.
* BUG: The project tree does not steal the focus anymore after a project 
  compilation.

[GB.NET.SMTP]
* BUG: Fix the UTF-8 encoding of mail subjects having a '?' character 
  inside.

[GB.QT4]
* BUG: Fix the global event filter so that setting Application.Tooltip to 
  False does not interfer with the global key event handler.


git-svn-id: svn://localhost/gambas/trunk@2174 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-26 12:38:20 +00:00
Benoît Minisini
fa8ba3d4c1 [INTERPRETER]
* BUG: Raise a memory error when trying to allocate a too large 
  array.

[GB.GTK]
* BUG: Fix the management of cell spanning.

[GB.QT4]
* BUG: Fix the management of cell spanning.


git-svn-id: svn://localhost/gambas/trunk@2143 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-21 13:14:01 +00:00
Benoît Minisini
7df43ef0f2 [DEVELOPMENT ENVIRONMENT]
* NEW: The connection editor now uses the new DataSource Connection 
  property.
* NEW: A button to copy the field names of a table in the clipboard.
* NEW: Change the layout of the connection editor.
* NEW: Enhance the list property editor.
* NEW: Use the new logo made by Fabien Bodard.
* NEW: Support for editing properties whose type is "Table" and 
  "Connection".
* NEW: Scroll the form editor when using the rectangular selection.
* BUG: Fix the project information displayed in the open project dialog.

[INTERPRETER]
* BUG: Fix a stupid bug that made the interpreter crash when a class was
  allocated at a negative memory address.
* BUG: Fix the conversion of strings into numbers, especially when 
  converting Long values.

[GB.DB.FORM]
* NEW: Redesign the controls so that DataSource can be assigned a specific
  connection.
* NEW: DataSource.Connection is a new property that allows to assign a
  specific Connection object to a DataSource. If a DataSource has no 
  connection assigned, it will use the connection of its parent DataSource.
  By default, the current connection (DB.Current) is used.
* NEW: Remove the DataSource.CacheSize property. Is it really useful?

[GB.NET.SMTP]
* NEW: Send the "Date:" header with any mail.


git-svn-id: svn://localhost/gambas/trunk@2137 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-20 01:10:50 +00:00
Benoît Minisini
cfd564e4a8 [DEVELOPMENT ENVIRONMENT]
* NEW: Merge of the database manager CSV import dialog.
* NEW: When editing a connection, the database charset can be ignored, i.e. 
  string fields are assumed to be encoded in UTF-8.
* BUG: Be read-only when editing a system table or a SQL request.
* NEW: A new way of showing selected controls on forms. Maybe a little less 
  easier, but faster anyway.
* NEW: A new cool & useless animation on the welcome dialog.

[GB.DB]
* NEW: You can initialize a Connection object at creation by passing a 
  "database URL" to the constructor. For example: 
  "mysql://root@localhost/database" or "sqlite:///home/benoit/sqlite.db".
  This is not tested yet!
* NEW: Connection.IgnoreCharset is a new boolean property. It just stores
  the value, and do nothing with it. It's up to you to use the information
  later if you need.

[GB.DB.FORM]
* NEW: DataView does not extract Blob value anymore. It just displays 
  "BLOB" in the cell with a darker background.

[GB.GTK]
* NEW: Indent is new container boolean property. When set, an indentation 
  of Desktop.Scale pixels is added to the layout.

[GB.QT]
* NEW: Indent is new container boolean property. When set, an indentation 
  of Desktop.Scale pixels is added to the layout.

[GB.QT4]
* NEW: Indent is new container boolean property. When set, an indentation 
  of Desktop.Scale pixels is added to the layout.

[GB.QT4]
* OPT: Some optimizations in the Editor for very long lines. Fix a bug in 
  Qt that updated two lines when it was asked for one only.


git-svn-id: svn://localhost/gambas/trunk@2128 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-17 01:29:39 +00:00
Benoît Minisini
3ed7a93385 [INTERPRETER]
* BUG: When a component cannot be loaded, only show its name in the error 
  message, not the full path.

[GB.FORM.MDI]
* BUG: Keep the hide/show sequence of windows newly inserted into a 
  Worskpace. Otherwise the IDE becomes slow at startup!

[GB.QT4]
* BUG: Now message boxes return the accurate button index.



git-svn-id: svn://localhost/gambas/trunk@2122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-14 23:25:52 +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
2308a3b1b9 [INTERPRETER]
* BUG: Exist("") now correctly returns FALSE when running an executable.


git-svn-id: svn://localhost/gambas/trunk@2088 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-07 16:37:56 +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
940d5f83ad [GB.GUI]
* NEW: Use gb.qt4 when the current desktop is KDE4.

[GB.QT4]
* BUG: Watcher now correctly catches the destruction of its watched 
  control.


git-svn-id: svn://localhost/gambas/trunk@2053 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-06-27 22:02:18 +00:00
Benoît Minisini
32bf31484c [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly center the option dialog at startup.

[INTERPRETER]
* BUG: Fix compilation on 64 bits systems.

[GB.FORM]
* BUG: Side panel buttons were implemented differently to have a good look 
  in all GUI components.

[GB.QT4.EXT]
* NEW: Editor.ShowString() is a new method to define a string that will be 
  highlighted everywhere it is found.


git-svn-id: svn://localhost/gambas/trunk@2027 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-06-18 23:47:56 +00:00
Benoît Minisini
0e7ea449b5 [INTERPRETER]
* BUG: Freeing a collection does not crash anymore if a collection item is 
  removed during the process.
* BUG: Static variables are correctly inherited now.


git-svn-id: svn://localhost/gambas/trunk@2023 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-06-17 14:13:50 +00:00
Benoît Minisini
b6097b30d7 [INTERPRETER]
* NEW: Some enhancements in memory allocation debugging.

[GB.QT]
* BUG: Form.Load() method now really work, by using reparenting. The fix 
  may be backported to Gambas 2.

[GB.QT4]
* BUG: Window.Mask and Window.Picture work correctly now.
* BUG: TextArea background is accurate now.
* BUG: Mouse event properties of the Mouse class now return the expected 
  value.
* BUG: Tray icons now work correctly.
* BUG: Form.Load() method now really work.
* BUG: Windows are correctly closed.


git-svn-id: svn://localhost/gambas/trunk@2020 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-06-16 00:17:25 +00:00
Benoît Minisini
349424f629 [DEVELOPMENT ENVIRONMENT]
* NEW: Use the online help if an help page is not found locally.
* BUG: The editor procedure combo-box now keeps the focus when it is 
  opened.

[GB.QT]
* BUG: Fix the Clipboard class.

[GB.QT4]
* BUG: Clipboard.Copy() now works correctly if the mimetype is not 
  specified.
* BUG: Closing the last window does not quit the application unexpectedly 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@2012 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-06-10 22:41:11 +00:00
Benoît Minisini
36742ae3ac [DEVELOPMENT ENVIRONMENT]
* BUG: Some fixes in real-time search highlighting.

[INTERPRETER]
* BUG: Fix the behaviour of the file descriptor watch manager.
* NEW: All streams now have a Tag property.

[EXAMPLES]
* NEW: ServerSocket and ClientSocket examples were modified to test the new
  event of the Socket class.

[GB.GTK]
* BUG: Fix the behaviour of the file descriptor watch manager.

[GB.NET]
* NEW: Socket now has a Write event. This event is raised after something 
  has been written on the socket, *and* if writing is possible again.

[GB.QT]
* BUG: Fix the behaviour of the file descriptor watch manager.


git-svn-id: svn://localhost/gambas/trunk@2004 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-06-06 23:31:48 +00:00
Benoît Minisini
0c14eb0bdb [DEVELOPMENT ENVIRONMENT]
* NEW: Remove the project stack size option.

[INTERPRETER]
* NEW: Make the stack grow as needed. Note that the stack will never 
  shrink.

[GB.DEBUG]
* BUG: This component now compiles correctly.


git-svn-id: svn://localhost/gambas/trunk@1987 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-27 18:42:48 +00:00
Benoît Minisini
f532a37249 [CONFIGURATION]
* NEW: WARNING! The bytecode has changed, so every project needs to be
  recompiled.

[WEB SITE MAKER]
* NEW: Some more translations.

[INTERPRETER]
* NEW: Assign() is a new function. It is like Eval(), except that the
  expression can be an assignment.

[GB.EVAL]
* NEW: Implementation of the new Assign() function.
* NEW: The Expression.Compile() method takes a new optional boolean 
  argument that indicates if we are compiling an assignment or not.

[GB.NET.CURL]
* BUG: A asynchronous transfer that ends do not stop the other ones 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@1986 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-26 22:34:39 +00:00
Benoît Minisini
637b19afb9 [INTERPRETER]
* NEW: Do not call the "_init" static initializer of exported classes at
  component load. Do it when the class is used for the first time.


git-svn-id: svn://localhost/gambas/trunk@1977 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-25 13:43:44 +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
a282449a85 [INTERPRETER]
* BUG: Arguments passed by reference do not crash randomly anymore.


git-svn-id: svn://localhost/gambas/trunk@1964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-18 12:00:48 +00:00
Benoît Minisini
2b8528bae1 [INTERPRETER]
* BUG: Fix the warning message displayed when a locale cannot be loaded.

[WEB SITE MAKER]
* NEW: All pages are now translatable.


git-svn-id: svn://localhost/gambas/trunk@1958 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-05-15 21:23:01 +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
d48356d59d [DEVELOPMENT ENVIRONMENT]
* NEW: Now each database driver has its own component, so that you can 
  explicitely check it. This way, these dependencies are taken into account
  when making a binary package.
* NEW: Starting support for WebPage classes, and other kind of forms.

[WIKI CGI SCRIPT]
* BUG: Symbol pages are never cached, so that refreshing a 2.0 symbol page 
  does not break a 3.0 symbol page.

[INTERPRETER]
* NEW: gb.IgnoreCase is a new property that is a synonymous of gb.Text.
* NEW: gb.UseLanguage is a new property that is a synonymous of gb.Language.

[GB.DB.*]
* NEW: All database drivers now have a *.component file, and is visible in 
  the IDE project property dialog.


git-svn-id: svn://localhost/gambas/trunk@1926 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-04-10 21:19:32 +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
eb4ed0212c [INTERPRETER]
* BUG: Array.Clear() now does not crash anymore on multi-dimensional 
  arrays. It just voids the array contents. Array.Clear() behaviour on 
  single dimensional arrays did not change: it removes all elements from
  the array.

[GB.GTK]
* BUG: TextLabel.Adjust() now works as expected.


git-svn-id: svn://localhost/gambas/trunk@1892 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-03-02 11:36:42 +00:00
Benoît Minisini
e1712973c2 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the arrangement of the welcome dialog and the project property 
  component list.
* BUG: Undo now works on procedure declaration automatically inserted.

[INTERPRETER]
* BUG: Object.Lock(), Object.Unlock() and Object.IsLocked() now work as
  expected on Observer objects.

[GB.QT]
* BUG: Label and TextLabel autoresize routine has been fixed.
* BUG: ScrollView now arrange its contents again when one of its scrollbars 
  is shown or hidden.
* BUG: Minimum size of window dialogs works again.
* BUG: Top-level windows now arrange its contents on resize events in all
  cases as expected.


git-svn-id: svn://localhost/gambas/trunk@1875 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-17 01:51:25 +00:00
Benoît Minisini
50d190496d [INTERPRETER]
* BUG: Printing a debugging expression with an array class name only 
  inside does not crash the interpreter anymore.
* OPT: Object[].Find() and Object[].Exist() were optimized. They do not 
  check and use the _compare special method anymore. They use the object
  address directly.

[GB.QT4]
* BUG: Clipboard.Format does not crash anymore if there is nothing in the
  clipboard.
* BUG: Do not process events just after a menu popup has been hidden.


git-svn-id: svn://localhost/gambas/trunk@1874 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-16 21:39:07 +00:00
Benoît Minisini
4401efa276 [GB.FORM]
* NEW: The Balloon shape has been redesigned.
* BUG: The Balloon should not flicker anymore.

[GB.GTK]
* BUG: Image.Draw() now works correctly if X or Y are negative.
* NEW: WindowType is a new static class that defines constants for the 
  Window Type property. The old constants that were located in the Window
  class have been removed.

[GB.NET]
* BUG: UdpSocket.TargetPort returns the accurate value now.

[GB.QT]
* BUG: The Window.Mask property works correctly now.
* BUG: Draw.Image() and Draw.Picture() now work correctly on transparent 
  pictures.
* NEW: WindowType is a new static class that defines constants for the 
  Window Type property. The old constants that were located in the Window
  class have been removed.
* NEW: The arrangement design has been redesigned. Some arrangement bugs 
  were fixed by the way.

[GB.QT4]
* NEW: WindowType is a new static class that defines constants for the 
  Window Type property. The old constants that were located in the Window
  class have been removed.
* NEW: The arrangement design has been redesigned. Some arrangement bugs 
  were fixed by the way.


git-svn-id: svn://localhost/gambas/trunk@1873 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-15 23:49:07 +00:00
Benoît Minisini
e2c952c375 [DEVELOPMENT ENVIRONMENT]
* BUG: UTF-8 characters are allowed in project data file names now.

[INTEPRETER]
* NEW: Allocation debugging messages can be redirected to a log file.

[GB.DB.FORM]
* BUG: DataBrowser FBrowser form does not incorrectly override Form.Panel 
  anymore.

[GB.GTK]
* BUG: TabStrip.Font now behaves as expected.
* BUG: GridView Row and Column properties can be set independently.
* BUG: Fix the container arrangement and the ClientX / ClientY properties.

[GB.FORM]
* OPT: FileView redraws were delayed so that they are optimized.
* BUG: Balloon tried to not take the focus.

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

[GB.QT4]
* NEW: The AutoResize property of Button, ToolButton and ToggleButton 
  controls were implemented.
* BUG: Button, ToolButton and ToggleButton now behave correctly when their
  font change.
* OPT: Arrangement was optimized.
* BUG: TabStrip ClientX, ClientY, ClientWidth and ClientHeight properties 
  now return accurate values.

[GB.QT4.EXT]
* BUG: Editor now draws non-highlighted lines correctly.


git-svn-id: svn://localhost/gambas/trunk@1868 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-12 16:43:25 +00:00
Benoît Minisini
30c9618d6b [INTERPRETER]
* BUG: Fix a string memory leak.


git-svn-id: svn://localhost/gambas/trunk@1863 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-06 17:40:15 +00:00
Benoît Minisini
264a4f1cbd [INTERPRETER]
* BUG: Remove stderr redirection.


git-svn-id: svn://localhost/gambas/trunk@1862 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-06 12:07:52 +00:00
Benoît Minisini
d6b1f777da [INTERPRETER]
* NEW: Temporarily disable memory leak warning message.


git-svn-id: svn://localhost/gambas/trunk@1861 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-06 12:05:39 +00:00
Benoît Minisini
1fa019cd45 [INTERPRETER]
* BUG: Correctly close streams i.e. ignore only standard streams.


git-svn-id: svn://localhost/gambas/trunk@1860 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-05 14:53:16 +00:00
Benoît Minisini
c2e1eb9778 [INTERPRETER]
* BUG: Buffered streams now correctly handle interrupted system calls.

[GB.CAIRO]
* BUG: Cairo.Scale() now scales.


git-svn-id: svn://localhost/gambas/trunk@1859 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-05 13:52:52 +00:00
Benoît Minisini
3207ea9c1f [INTERPRETER]
* BUG: Fix a backtrace memory leak in error management.
* BUG: Fix a memory leak in process streams.

[GB.FORM]
* BUG: Some bug fixes in DatePicker. It does not work correctly with 
  gb.gtk yet!

[GB.GTK]
* BUG: Fix the container arrangement and the ClientX / ClientY properties.
* BUG: A form is not its own event observer if one was specified at 
  instanciation time.

[GB.QT]
* OPT: The container arrangement is now triggered the same way as in 
  gb.gtk. No Qt event filter is used anymore.

[GB.QT4]
* OPT: The container arrangement optimization from gb.qt has been partially
  applied to gb.qt4.


git-svn-id: svn://localhost/gambas/trunk@1858 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-04 22:51:20 +00:00
Benoît Minisini
d3ea790600 [EXAMPLES]
* BUG: Fix PdfViewer example as the PdfDocument.Picture property does not 
  exist anymore.

[INTERPRETER]
* BUG: MOD works again with Long values.

[GB.CAIRO]
* BUG: Fix CairoMatrix.Translate() declaration.
* BUG: Correctly release device and pattern at Cairo.End().
* BUG: Automatically call Cairo.End() as many time as needed at program 
  exit.


git-svn-id: svn://localhost/gambas/trunk@1849 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-02 21:16:58 +00:00
Benoît Minisini
52525b957a [INTERPRETER]
* BUG: Fix symbol overriding validation on 64 bits OS.


git-svn-id: svn://localhost/gambas/trunk@1847 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-02 14:53:45 +00:00
Benoît Minisini
7b8d19516e [INTERPRETER]
* BUG: Do not close standard file descriptor during exit.


git-svn-id: svn://localhost/gambas/trunk@1846 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-02 13:04:04 +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
d9b01cf9f1 [INTERPRETER]
* BUG: Add a debugging message when there is a symbol override error.


git-svn-id: svn://localhost/gambas/trunk@1839 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-31 15:54:28 +00:00
Benoît Minisini
084f682161 [INTERPRETER]
* BUG: Fix the arithmetic operations on Boolean, Byte and Short, so that 
  everything is correctly truncated.


git-svn-id: svn://localhost/gambas/trunk@1836 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-30 01:16:03 +00:00
Benoît Minisini
98dfd94c5a [DEVELOPMENT ENVIRONMENT]
* BUG: Replace "Image provider" feature by "Image loading and saving" 
  feature in the project property dialog.

[INTERPRETER]
* NEW: Collection[""] does not raise a "void key" error anymore. It just 
  returns NULL.
* BUG: The Collection array accessor error management is not disturbed by 
  the debugger anymore. This fix a possible interpreter crash.


git-svn-id: svn://localhost/gambas/trunk@1832 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-29 16:11:30 +00:00
Benoît Minisini
e945a9faa6 [INTERPRETER]
* NEW: Requesting a component interface automatically loads the component 
  now.
* NEW: The Image and Picture functions in the interpreter API were removed.

[GB.DRAW]
* NEW: A new function in the Draw interface to get the size of a picture.
  This function replaces the removed Picture interpreter API.

[GB.IMAGE]
* NEW: This is a new component that manages images in memory. It implements 
  the Image class, can create images of many formats (RGB, RGBA, BGRA...) 
  and convert image data between different formats. This component replaces
  the previous interpreter Image API. All components were ported to this
  new image management system by loading this component automatically.
  Beware that the Image constructor has changed! The transparent property
  has been removed, and there is an optional color argument that is used
  for initializing the image data. Moreover, many classes (Webcam, 
  PdfDocument...) that have an Image property lost their Picture property.
  Now to get a Picture, you must use the Image property and then convert
  the Image to a Picture.

[GB.QT]
* BUG: As now the Image class overrides the one located in gb.image, it 
  must be declared early, at least earlier than the Picture class.


git-svn-id: svn://localhost/gambas/trunk@1803 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-16 23:12:10 +00:00
Benoît Minisini
c4c631ecb9 [CONFIGURATION]
* NEW: Remove the gb.image.info component.
* NEW: Start removing the gb.image component.

[DEVELOPMENT ENVIRONMENT]
* BUG: Code editor and text editor now arrange their contents correctly 
  when the toolbar size changes.
* BUG: The picture of a form action is the Icon property, not the Picture 
  property.

[INTERPRETER]
* BUG: The _compare special method now is not called anymore if one of the 
  compared object references is null.

[GB.GTK]
* NEW: Control.Drag() and Drag() now return the drop destination.

[GB.FORM.MDI]
* NEW: The toolbar icon size can be changed.
* BUG: Actions that exist on different forms are correctly loaded.
* NEW: The cursor keys can be used now in the shortcut configuration dialog 
  to move the gridview current row. Consequently, you cannot use them as 
  shortcuts.

[GB.NET]
* BUG: Serial port devices are now watched for reading, not for writing. So 
  the callback will not be called permanently.

[GB.QT]
* NEW: The Arrange event is now raised just before a container is arranged, 
  not after. Moreover, it cannot called recursively anymore.

[GB.QT4]
* NEW: Control.Drag() and Drag() now return the drop destination.
* NEW: Container.Children.Clear() is a new method that destroys all 
  children of a container.
* NEW: Utility windows now use their initial size as minimum size.
* BUG: Do not loop indefinitely when arranging the contents of a 
  ScrollView.


git-svn-id: svn://localhost/gambas/trunk@1797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-13 00:42:55 +00:00
Benoît Minisini
82e21c25f3 [INTERPRETER]
* BUG: Always load a class from the component it is located into.


git-svn-id: svn://localhost/gambas/trunk@1793 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-09 14:07:56 +00:00
Benoît Minisini
3b15dde6c1 [DEVELOPMENT ENVIRONMENT]
* BUG: Pasting more than one control works again.
* BUG: Save actions associated with any control now.

[INTERPRETER]
* BUG: Do not try to raise an event if the source control is invalid.

[GB.FORM]
* NEW: Stock.GetSize() is a new method that returns the pixel size of an 
  icon given its string size: "small", "medium", "big", and so on...
* BUG: Workaround the ballon corner drawing bugs.

[GB.FORM.MDI]
* NEW: The toolbar configuration dialog is finished. But that only works 
  at the moment if you do not show/hide toolbar buttons explicitely.

[GB.QT]
* NEW: The drag & drop frame is now one pixel wide.
* NEW: Drag() and Control.Drag() now returns where the control was dropped, 
  or NULL if the drag & drop was cancelled or the drop destination a 
  foreign widget.
* BUG: The arrangement algorithm enumerates correctly container children 
  now.
* BUG: Do not loop indefinitely when arranging the contents of a 
  ScrollView.
* NEW: Add the Action property to TextBox, ComboBox, SpinBox, ProgressBar
  and Slider controls. You may want to put them in a Toolbar.


git-svn-id: svn://localhost/gambas/trunk@1790 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-07 01:59:48 +00:00
Benoît Minisini
450b87b792 [INTERPRETER]
* NEW: [...] now returns an object array if its two arguments are objects 
  from different classes.


git-svn-id: svn://localhost/gambas/trunk@1788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-05 11:53:53 +00:00
Benoît Minisini
da334a98dd [INTERPRETER]
* NEW: The [...] syntax can create specialized arrays. For example, 
  "[[1,2],[3,4]]" now returns an Integer[][] object.
* NEW: The internal CLASS structure has been reorganized.


git-svn-id: svn://localhost/gambas/trunk@1787 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-05 11:38:03 +00:00
Benoît Minisini
f106372a34 [INTERPRETER]
* BUG: Really converts the argument to a string in Html$(), Quote$(), 
  Shell$() and Unquote$().


git-svn-id: svn://localhost/gambas/trunk@1786 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-05 10:31:11 +00:00
Benoît Minisini
a0ec1ab2d6 [INTERPRETER]
* BUG: Html$() now automatically converts its argument to a string.


git-svn-id: svn://localhost/gambas/trunk@1785 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-05 10:25:50 +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
1f0a8eb04e [INTERPRETER]
* BUG: Raising an error with an incorrect message does not crash anymore.

[DEVELOPMENT ENVIRONMENT]
* BUG: A warning is displayed now when a component project has no exported 
  class.
* BUG: Instead of displaying an error, an unreadable *.component file now 
  just displays a warning.
* NEW: In the project property dialog, split the component list between 
  standard components and user components.
* BUG: Quote correctly strings again in *.po generated files. Translations 
  are not corrupted anymore!

[GB.FORM]
* NEW: Label and Separator children are not selectable anymore in the 
  ListContainer control.

[GB.QT4]
* BUG: ScrollView scrollbars are came back.


git-svn-id: svn://localhost/gambas/trunk@1780 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-04 11:55:37 +00:00
Benoît Minisini
e3b1014b8f [INTERPRETER]
* BUG: Dir() and RDir() work again on relative paths.


git-svn-id: svn://localhost/gambas/trunk@1771 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-02 17:15:07 +00:00
Benoît Minisini
802a28b2d6 [CONFIGURATION]
* NEW: Bytecode version has been incremented again. All projects must be 
  recompiled!

[INTERPRETER]
* NEW: The Quote and UnQuote class were removed, and replaced by three new 
  functions: Quote$(), Shell$() and Unquote$().
* NEW: Html$() is a new function that does HTML quoting.

[GB.QT]
* NEW: The space between a gridview cell picture and its text is now 
  defined by the padding property.

[GB.WEB]
* NEW: The HTML class has been removed. Use the new Html$() subroutine 
  instead.

git-svn-id: svn://localhost/gambas/trunk@1763 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-02 00:05:38 +00:00
Benoît Minisini
57491bc71c [INTERPRETER]
* BUG: If loading a class has failed, do not try to load it twice. Raise 
  an error instead.


git-svn-id: svn://localhost/gambas/trunk@1760 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-01 14:46:02 +00:00
Benoît Minisini
f7889c1147 [CONFIGURATION]
* NEW: Bytecode version has been incremented. All projects must be 
  recompiled!

[DEVELOPMENT ENVIRONMENT]
* BUG: Rewrite code that used badly overridden symbols.

[INTERPRETER]
* BUG: Check that the overridding symbol is compatible with the overridden 
  one. For example, a static method can be overridden by a static method 
  only, a constant can be overriden by a static property, and so on.
* NEW: A new error message for badly overridden symbols.
* NEW: Tr$() is a new function that translates its argument and returns it.

[GB.GTK]
* BUG: Rewrite code that used badly overridden symbols. Affected classes 
  are: Window, TabStrip, 

[GB.FORM.MDI]
* BUG: Translate action descriptions in the action configuration dialog.
* NEW: Sort actions by description in the action configuration dialog.
* NEW: Automatically remember action configuration dialog size.
* BUG: Fix authorized shortcuts in the shortcut edit dialog.
* BUG: Rewrite code that used badly overridden symbols. Workspace is the
  only affected class.

[GB.SETTINGS]
* NEW: LoadWindow() and SaveWindow() are two new public methods to load
  and save window position by specifying the settings key.

[GB.QT]
* BUG: Rewrite code that used badly overridden symbols. Affected classes 
  are: Window, TabStrip, 


git-svn-id: svn://localhost/gambas/trunk@1759 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-01 13:42:17 +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
7323ee03a3 [CONFIGURATION]
* BUG: Fix the configuration of gb.image.info.

[INTERPRETER]
* NEW: The GB.LoadFile() and GB.ReleaseFile() API have changed. Now they 
  always use memory mapping instead of loading the file in memory.

[GB.IMAGE.INFO]
* BUG: Now ImageStat() works with the "~" shortcut in path names.


git-svn-id: svn://localhost/gambas/trunk@1748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-12-28 22:41:55 +00:00
Benoît Minisini
85246fbaaa [CONFIGURATION]
* NEW: Upgrade libtool autoconf macros and libltdl sources to the 1.5.26 
  version.

[DEVELOPMENT ENVIRONMENT]
* BUG: Control and window dimensions can go up to 4096x4096 pixels.
* BUG: When unchecking GUI components in a project, the edited forms are 
  automatically closed.
* BUG: Do not use the form icon on form class editors when refreshing the 
  project.
* BUG: In the icon editor, filling with a transparent color won't enter an 
  infinite loop anymore.
* BUG: Selecting the "Collection" word while debugging does not crash the 
  IDE anymore.
* NEW: Pressing Escape now closes a debugging window.
* BUG: The 'Minimize on run' option works correctly now.

[INTERPRETER]
* BUG: SUPER now works inside overriden static methods.

[GB.DB.ODBC]
* BUG: Handle ODBC drivers that can return the number of records in a 
  query better.

[GB.DEBUG]
* BUG: If there is an I/O error between a debugged process and the IDE, the
  process is aborted.
* BUG: Evaluating a class name returns better information now.

[GB.EVAL]
* BUG: Highlight.Analyze correctly handle code lines having non ASCII 
  characters inside.

[GB.FORM]
* BUG: The Balloon does not take the focus anymore.

[GB.FORM.MDI]
* NEW: Starting to enhance the Action class to provide shortcuts and 
  toolbar configuration dialog. Does nothing at the moment!

[GB.GTK]
* BUG: Fix a leak in font objects management.
* BUG: Picture.Load() yet loads an image, but internally converts it to 
  a pixmap. It speeds up following draws based on this picture.
* BUG: Startup forms hidden at design time are not shown automatically 
  anymore.
* NEW: The Action class is now shared with gb.qt by using a symbolic link.

[GB.IMAGE.INFO]
* NEW: New component to get information about an image file without having 
  to fully load it.

[GB.QT]
* BUG: Disable automatic extra indent of Labels.
* BUG: Startup forms hidden at design time are not shown automatically 
  anymore.
* BUG: Don't allow widgets to be destroyed while processing non-input 
  events.


git-svn-id: svn://localhost/gambas/trunk@1747 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-12-28 19:01:39 +00:00
Benoît Minisini
84fd13543e [INTERPRETER]
* NEW: A domain name '(none)' is ignored when forging the FQDN for 
  components that need it, like gb.net.smtp.


git-svn-id: svn://localhost/gambas/trunk@1721 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-12-01 00:30:11 +00:00
Benoît Minisini
d5b95b0453 [INTERPRETER]
* BUG: The interpreter does not crash anymore when adding an integer 
  constant to a string.


git-svn-id: svn://localhost/gambas/trunk@1716 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-24 20:43:51 +00:00
Benoît Minisini
047bf86985 [WIKI CGI SCRIPT]
* BUG: Adds a <p> markup automatically after symbol syntax boxes.

[INTERPRETER]
* BUG: Fix currency formats.

[GB.FORM]
* BUG: Fix a display glitch in the list of relative sizes in the font 
  dialog.

[GB.QT]
* BUG: Releases the internal font object when setting NULL to the font 
  property of a control.


git-svn-id: svn://localhost/gambas/trunk@1713 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-24 14:11:01 +00:00
Benoît Minisini
02ce200528 [INTERPRETER]
* BUG: Correctly handle interrupted system calls in streams defined 
  outside of the interpreter.
  
[GB.QT.EXT]
* BUG: Handle cursor moves correctly when procedures are folded.


git-svn-id: svn://localhost/gambas/trunk@1711 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-24 12:09:40 +00:00
Benoît Minisini
72889d9706 [INTERPRETER]
* BUG: A internal stream flag to know if data is immediately available. 
  File and memory streams have this flag set. Streams defined in component 
  do not have this flag set by default.


git-svn-id: svn://localhost/gambas/trunk@1708 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-22 12:58:36 +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
03800cc050 [INTERPRETER]
* NEW: Format() now pad numbers with spaces according to the number of '#' 
  characters before the decimal point.


git-svn-id: svn://localhost/gambas/trunk@1696 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-11 14:41:08 +00:00
Benoît Minisini
49d82ab1b4 [INTERPRETER]
* NEW: Remove a now useless source file.


git-svn-id: svn://localhost/gambas/trunk@1688 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-10 00:18:52 +00:00
Benoît Minisini
c91850d055 [INTERPRETER]
* OPT: Optimizations in string allocation.

[GB.DB]
* OPT: Optimization in query making. Storing big blobs inside a field in 
  now about twice faster.

[GB.DB.POSTGRESQL]
* BUG: Fix string quoting for postgresql >= 8.2.


git-svn-id: svn://localhost/gambas/trunk@1687 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-10 00:18:00 +00:00
Benoît Minisini
db6b81aa59 [INTERPRETER]
* OPT: Optimization in Replace() when the replace string is longer than 
  the search string. String[].Join() becomes faster too.


git-svn-id: svn://localhost/gambas/trunk@1683 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-08 23:42:08 +00:00
Benoît Minisini
155dab4b86 [INTERPRETER]
* BUG: Enumarting something inside a _next() enumerator method now is 
  safe.
  
[GB.SETTINGS]
* NEW: Settings.Keys is a new property that enumerates keys stored in a
  settings file. This property can be used like an array if you want to
  enumerate keys under a specific slot only.


git-svn-id: svn://localhost/gambas/trunk@1682 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-08 17:45:13 +00:00
Benoît Minisini
f8c4ccc0c5 [INTERPRETER]
* OPT: String[].Join() was optimized when there is no escape character 
  specified.
* OPT: Optimize Replace() when the replace string is shorter than the 
  pattern string.


git-svn-id: svn://localhost/gambas/trunk@1679 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-08 14:55:03 +00:00
Benoît Minisini
1082987744 [INTERPRETER]
* BUG: Fix the previous Replace() optimization.


git-svn-id: svn://localhost/gambas/trunk@1677 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-07 01:37:45 +00:00
Benoît Minisini
13082f47d7 [INTERPRETER]
* OPT: Replace() was optimized when the search pattern and the replace 
  pattern have the same length.


git-svn-id: svn://localhost/gambas/trunk@1675 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-07 01:16:13 +00:00
Benoît Minisini
4cff4ce26c [INTERPRETER]
* NEW: A new interpreter API for setting the endianness of a stream.
* NEW: Another new interpreter API for making a stream blocking or not.

[GB.FORM.MDI]
* NEW: Remove the useless toolbar handle.

[GB.NET]
* BUG: Fix the UdpSocket implementation.
* NEW: UdpSocket now uses an internal buffer, so that successive READs on 
  it work as expected. Beware that the remaining data is lost the next time
  the UdpSocket raises its Read event.



git-svn-id: svn://localhost/gambas/trunk@1669 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-04 23:53:39 +00:00
Benoît Minisini
11f6575f51 [CONFIGURATION]
* NEW: Update libtool to version 1.5.24

[INTERPRETER]
* BUG: Lof() returns the correct value for files opened for writing.
* BUG: Dir() and RDir() now work correctly on relative paths.

[GB.WEB]
* BUG: Read and write sessions inside a system lock to prevent two 
  processes from writing the same session at the same time, and then
  corrupting it.


git-svn-id: svn://localhost/gambas/trunk@1666 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-02 02:40:10 +00:00
Benoît Minisini
54e8d1093e [INTERPRETER]
* BUG: Fix an uninitialized flag in streams.
* BUG: Stack overflow raised when entering a function should not mix up 
  the interpreter anymore.

[GB.QTE]
* BUG: Fix compilation.


git-svn-id: svn://localhost/gambas/trunk@1664 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-30 23:32:38 +00:00
Benoît Minisini
f6ceba1017 [INTERPRETER]
* NEW: The LINE INPUT and INPUT algorithm now deal intelligently with 
  blocking streams.

[GB.NET]
* BUG: Fix stream implementation of SerialPort and Socket.
* NEW: Socket can be set blocking.


git-svn-id: svn://localhost/gambas/trunk@1659 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-30 00:54:18 +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
e87e085b3e [INTERPRETER]
* BUG: Silently ignore conversion errors inside String.Upper() and 
  String.Lower() methods.
  
[GB.GTK]
* BUG: Fix the Embedder Plug & Discard methods.

[GB.QT]
* BUG: Fix an uninitialized variable in the QtXEmbedContainer class.


git-svn-id: svn://localhost/gambas/trunk@1656 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-28 16:10:06 +00:00
Benoît Minisini
65e6bab6f2 [DEVELOPMENT ENVIRONMENT]
* NEW: A new project runtime option to print the stack backtrace on error.

[GB.WEB]
* BUG: Storing arrays inside Session works correctly now.


git-svn-id: svn://localhost/gambas/trunk@1650 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-23 14:09:48 +00:00
Benoît Minisini
9841e47829 [DEVELOPMENT ENVIRONMENT]
* NEW: Inserting a file in the project as symbolic link now tries to 
  create relative symbolic links.
* BUG: Fix an error when clicking on a broken link when inserting a new 
  file in the project.

[INTERPRETER]
* BUG: LINE INPUT does not prevent a following READ instruction from 
  reading all the bytes it wants anymore.


git-svn-id: svn://localhost/gambas/trunk@1647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-21 13:03:03 +00:00
Benoît Minisini
7dabc871a2 [CONFIGURATION]
* BUG: Do not abort installation if a component written in gambas cannot 
  be installed.
* BUG: Disable colorgcc, libtool does not support it.

[DEVELOPMENT ENVIRONMENT]
* BUG: Print the real size of directory contents when getting information 
  on a project directory.

[WIKI CGI SCRIPT]
* BUG: Some fixes in 'example' section and in view mode.

[INTERPRETER]
* BUG: Fix illegal memory access in locale-aware string comparison.
* BUG: Fix a possible crash in String.UCase() and String.LCase().

[GB.FORM]
* BUG: SidePanel arrow buttons are correctly drawn with gb.gtk now.

[GB.GTK]
* BUG: Fix the Image.MakeTransparent() method.
* BUG: Fix the arrangement of ScrollView container.
* BUG: Fix the memory leak in the Picture class.
* BUG: Remove the Window resize event compression.
* BUG: Gridview cells are correctly refreshed now when their Picture or 
  Font property change.

[GB.NET.CURL]
* BUG: The Status property is correctly set after an error now.

[GB.QT]
* BUG: Correctly clears the internal closed flag when opening a Window.
* BUG: WAIT does not take 100% CPU anymore.

[GB.QT.EXT]
* BUG: In Editor, the cursor could disappear when clicking. Fix that.

[GB.XML]
* BUG: The management of XML nodes was incorrect, and so was redesigned.


git-svn-id: svn://localhost/gambas/trunk@1646 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-21 09:28:34 +00:00
Benoît Minisini
261de2bcdd [DEVELOPMENT ENVIRONMENT]
* BUG: Set the focus on the form when it becomes active.

[INTERPRETER]
* BUG: Fix locale-aware string comparisons, i.e. string comparisons that 
  use the gb.Language constant.

[GB.QT.EXT]
* BUG: In Editor, do not call the event loop when scrolling. That can 
  lead to infinite recursion.


git-svn-id: svn://localhost/gambas/trunk@1632 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-04 23:46:15 +00:00
Benoît Minisini
c6fb7ec834 [INTERPRETER]
* NEW: New substitution syntax to have more then nine arguments. The new
  syntax is '&{N}' where N is the argument index, between 1 and 63.


git-svn-id: svn://localhost/gambas/trunk@1628 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-04 14:07:53 +00:00
Benoît Minisini
bd1662716a [INTERPRETER]
* NEW: Make a dedicated tag field in the internal Gambas stream structure.
  That makes the component code cleaner.
* BUG: Void arguments does not trim argument list anymore in the EXEC 
  instruction.

[GB.NET]
* BUG: Setting SerialPort parity should not strip the eighth bit of data 
  bytes anymore.
* BUG: Fix SerialPort error messages.

[GB.NET.CURL]
* BUG: The component was redesigned to fix a crash in stream methods is 
  synchronous mode.


git-svn-id: svn://localhost/gambas/trunk@1627 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-04 12:31:49 +00:00
Benoît Minisini
2e9ad6e391 [DEVELOPMENT ENVIRONMENT]
* NEW: The look of container controls and embedder was modified.
* BUG: Displaying the property help on virtual controls does not crash 
  anymore.

[WIKI CGI SCRIPT]
* NEW: Changed the look of "only in 3.0" sections.

[INTERPRETER]
* BUG: Handle correctly additions between a small integer constant and a 
  string, by converting the string to a floating point number.

[GB.DESKTOP]
* BUG: DesktopWindow.State property and state methods are not public 
  anymore.
* NEW: DesktopWindow.MoveResize() method was removed, and now Move() takes
  Width and Height optional parameters.


git-svn-id: svn://localhost/gambas/trunk@1619 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-01 13:31:32 +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
efc688455c [CONFIGURATION]
* BUG: Some bugs fixes coming from Gentoo.

[DEVELOPMENT ENVIRONMENT]
* BUG: Some fixes in the case of signature symbols.

[WIKI CGI SCRIPT]
* BUG: Try to display the language bar in Firefox the same way as in 
  Konqueror.

[INTERPRETER]
* BUG: Collection[] now correctly raises an error when the key is null.

[GB.GTK]
* BUG: Fix the use of the gambas part in the TreeView class.

[GB.NET.CURL]
* BUG: Successive calls to the Get() or Put() methods should not make the 
  interpreter crash at exit anymore.


git-svn-id: svn://localhost/gambas/trunk@1554 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-09-13 15:35:13 +00:00
Benoît Minisini
7f12844128 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for template array classes in automatic completion.

[INTERPRETER]
* BUG: LIE INPUT and INPUT work correctly on tty streams.

[GB.DB]
* NEW: Add an API that allows a driver function to get the current 
  database when it does not get it from its arguments.

[GB.DB.POSTGRESQL]
* BUG: Fix blob support for some encodings, and when PostgreSQL version is
  greater or equal than 8.2.

[GB.DB.SQLITE3]
* BUG: Field values are not truncated anymore.

[GB.FORM]
* NEW: MessageLabel is a new control made by David Villalobos Cambronero.
  It is a TextLabel that changes its background color for indicating a 
  warning, an error, and so on.

[GB.FORM.MDI]
* NEW: Workspace.ButtonPosition is a new property that allows to put the 
  tab close button on the left or on the right.

[GB.GTK]
* BUG: Speeds up the combo-box control as much as I can. Slowness seems to 
  be a GTK+ feature. :-/

[GB.QT]
* BUG: Fix crash when setting a shortcut on a top-level menu.


git-svn-id: svn://localhost/gambas/trunk@1548 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-09-09 11:03:47 +00:00
Benoît Minisini
d38d3910d4 [INTERPRETER]
* BUG: Enhance and fix support for template array classes.

[COMPILER]
* BUG: Enhance and fix support for template array classes.

[GB.EVAL]
* NEW: Support for template array classes.


git-svn-id: svn://localhost/gambas/trunk@1531 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-08-31 23:45:47 +00:00
Benoît Minisini
50e6bd3583 [CONFIGURATION]
* NEW: Some clean-up in the acinclude.m4 file.

[DEVELOPMENT ENVIRONMENT]
* NEW: Small changes in the project property dialog layout.
* BUG: When opening a project, the packager information is correctly reset.

[WIKI CGI SCRIPT]
* NEW: Simplified chinese translation updated.
* NEW: Support for albanian language.
* NEW: New web site look.

[INTERPRETER]
* BUG: Really really fix the bit manipulation functions.
* NEW: Support for types object arrays. For example: Label[] for an array 
  of Labels.

[COMPILER]
* NEW: Support for types object arrays.
* BUG: Do not store the source file full path into object files, so that 
  rmplint does not cry.

[GB.GTK]
* BUG: Fix the tray icon management. Now GTK+ icons work on Gnome and KDE, 
  and are fully transparent!
* BUG: Tray icons are correctly refreshed when the icon is changed.

[GB.QT]
* BUG: Fix the menu shortcut management.
* BUG: Tray icons are correctly refreshed when the icon is changed.


git-svn-id: svn://localhost/gambas/trunk@1529 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-08-31 00:32:21 +00:00
Benoît Minisini
99730a185f [CONFIGURATION]
* NEW: Use colorgcc if it is present. Beware that ccache removes the 
  colors.

[DEVELOPMENT ENVIRONMENT]
* BUG: Fix the output console search.
* BUG: When making a package, ignore the charset translation errors while 
  printing the commands output.
* NEW: Support for the Khmer language.

[WIKI CGI SCRIPT]
* NEW: Support for the macedonian language.

[INTERPRETER]
* BUG: Fix the interpreter for gcc 4.3.
* NEW: Prints the gcc version used for compiling the interpreter when 
  running 'gbx2 -h'.
* BUG: Fix the initialization of standard input/output streams.

[COMPILER]
* BUG: Fix a compilation warning on FILE_set_chown.

[GB.GTK]
* BUG: Initialize correctly the gControl class.
* BUG: Draw.Tile now works correctly.
* BUG: Fix the vertical alignment management.
* BUG: The alignment of a GridView cell with a picture only is correct now.

[GB.QT]
* BUG: Choose the right moc executable when both QT3 and QT4 are installed 
  on the system.
* BUG: Fix the system tray icons for KDE 3.5.10. :-)
* BUG: The alignment of a GridView cell with a picture only is correct now.


git-svn-id: svn://localhost/gambas/trunk@1493 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-08-14 19:42:27 +00:00
Laurent Carlier
cc8399d17e Code cleanup, remove obsolete and uneeded specific OpenBSD code.
git-svn-id: svn://localhost/gambas/trunk@1491 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-08-08 14:41:57 +00:00
Benoît Minisini
0eb9507c52 [DEVELOPMENT ENVIRONMENT]
* BUG: Do not abort if you try to open a dead symbolic link.

[INTERPRETER]
* BUG: Fix base object structure size when compiling with gcc 4.3 on a 64 
  bits system.

[INFORMER]
* BUG: The informer now can be run without argument from anywhere.

[GB.FORM]
* NEW: The ListContainer refreshes itself before raising the Click event.


git-svn-id: svn://localhost/gambas/trunk@1481 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-07-22 21:31:17 +00:00
Benoît Minisini
5562f8f75e [INTERPRETER]
* BUG: Observers don't raise events anymore if their parent is invalid, 
  like other objects do.

[GB.FORM]
* NEW: FileView now display image preview if the image size is up to 64 Kb.

[GB.QT.EXT]
* BUG: Blended procedure separation is now correctly refreshed when the 
  font size changes.


git-svn-id: svn://localhost/gambas/trunk@1474 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-07-19 21:53:22 +00:00
Benoît Minisini
7eb12dff51 [DEVELOPMENT ENVIRONMENT]
* NEW: Enhance the behaviour of the console text search.
* BUG: Enhance and fix the behaviour of the ESCAPE key.
* BUG: Renamed controls like DataControl are correctly refreshed inside the
  form editor.

[INFORMER]
* NEW: When creating all information files in one shot, child processes are
  used instead of loading all components in the same process.

[INTERPRETER]
* BUG: RInStr() third argument is now correctly taken into account in all 
  cases.
* BUG: Fix a bug in inheritance with classes written in Gambas overriding 
  symbols whose name begins with 'P', 'R' or 'M'.

[GB.DB.FORM]
* BUG: Setting DataBrowser.Control property to FALSE works again.

[GB.QT]
* BUG: Menu shortcuts are automatically enabled when the menu is shown.

[GB.QT.EXT]
* NEW: When the focus is set on an Editor, the cursor is ensured to be 
  visible.


git-svn-id: svn://localhost/gambas/trunk@1462 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-07-17 23:45:32 +00:00
Benoît Minisini
3b12a492ef [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the title of the search list window.
* NEW: Support for hebrew translations.

[INTERPRETER]
* BUG: Do not free the classes before the _free() special methods are 
  executed.

[GB.FORM]
* BUG: Fix the default event declaration of ValueBox.

[GB.QT]
* BUG: GridView.Clear now correctly refreshes the GridView.


git-svn-id: svn://localhost/gambas/trunk@1452 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-07-16 10:12:13 +00:00
Benoît Minisini
abbcd6c930 [DEVELOPMENT ENVIRONMENT]
* NEW: Draw project details in gray.

[INTERPRETER]
* BUG: Fix the management of standard input, standard output and standard 
  error streams.
  
[GB.DRAW]
* BUG: Draw.Begin() now correctly raises an error if the device is a static
  class that is not drawable. This bug was fixed by using "Draw" for the 
  interface name of drawable objects and "StaticDraw" for the interface 
  name of drawable classes like Printer.

[GB.FORM]
* NEW: File dialogs now remember the last used directories in the directory
  combo-box.

[GB.GTK]
* NEW: Font strikeout and underline are used when drawing Buttons.

[GB.QT.EXT]
* BUG: Uses "StaticDraw" to specify the drawing interface of the Printer 
  class.


git-svn-id: svn://localhost/gambas/trunk@1446 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-07-10 21:49:11 +00:00
Benoît Minisini
6ca5126595 [DEVELOPMENT ENVIRONMENT]
* NEW: Little changes in the hall of fame animation.

[INTERPRETER]
* NEW: Do not warn against circular references when the program aborts 
  because of an error.

[COMPILER]
* NEW: The error message displayed when you try to return a value in a 
  procedure is more explicit now.

[GB.FORM.MDI]
* BUG: When a MDI child window is activated, the focus is set on it unless 
  one of its child control already has the focus.

[GB.GTK]
* BUG: Fix Application.Busy when forms are embedded.
* BUG: ComboBox does not raise the Click event anymore when its Text 
  property changes.
* BUG: Fix the management of Window Activate and Deactivate events.
* BUG: Fix the management of GotFocus and LostFocus events.
* BUG: SetFocus is correctly honored when used inside the Open event 
  handler of an embedded form.
* BUG: Desktop.Scale is now computed the same way as in gb.qt.

[GB.QT]
* BUG: SetFocus is correctly honored when used inside the Open event 
  handler of an embedded form.


git-svn-id: svn://localhost/gambas/trunk@1436 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-06-26 09:49:06 +00:00
Benoît Minisini
9b46a269c7 [DEVELOPMENT ENVIRONMENT]
* NEW: Adds a popup menu to the console window.

[WIKI CGI SCRIPT]
* BUG: Display a message when accessing a symbol page that does not exist 
  in the current version.

[EXAMPLES]
* NEW: New Barcode example made by Charles Guerin and modified by me.

[INTERPRETER]
* NEW: New API for returning the fully-qualified domain name.
* BUG: Fix a bug in DateAdd() that made this function corrupt the next 
  date to string conversion, which then lead to other bad weird things.

[GB.DRAW]
* BUG: Fix Draw.Circle center that was shifted one pixel to the top left.

[GB.GTK]
* BUG: Window.Reparent() now works correctly when embedding or unembedding 
  a top-level window.
  
[GB.NET.SMTP]
* NEW: Do not use MIME parts when it is useless.
* BUG: Try to use the fully-qualified domain name when sending the EHLO 
  command to the SMTP server. That actually works only if the system domain
  name has been set to the DNS domain name.

[GB.PCRE]
* BUG: Fix crashes due to bad uses of interpreter API.

[GB.QT]
* BUG: Fix the drawing of the frame of cached DrawingArea controls.


git-svn-id: svn://localhost/gambas/trunk@1404 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-06-11 10:44:50 +00:00
Benoît Minisini
c47cb3d8e4 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix some use of boolean value incrementing.

[INTERPRETER]
* BUG: Class declared with the 'Class' keyword are alwyas global.
* BUG: A stupid hack in gb.db requires that the value is always stored 
  just after the datatype in the VALUE and GB_VALUE structures.

[COMPILER]
* BUG: Class declared with the 'Class' keyword are alwyas global.

[GB.DESKTOP]
* NEW: Desktop.Passwords is a new property that allows to store and 
  retrieve passwords in the KDE wallet or the GNOME keyring, according to 
  the running desktop. Only KDE and GNOME are supported. I don't know if
  XFCE has something equivalent...
  
[GB.DESKTOP.GNOME]
* NEW: This new component is automatically loaded by gb.desktop when the
  GNOME keyring is requested.

[GB.FORM]
* BUG: Fix some use of boolean value incrementing.

[GB.FORM.MDI]
* NEW: The Workspace popup menu now sort the windows by title.

[GB.QT]
* NEW: XEMBED support was upgraded to the 1.3 version of QtXEmbed classes.
* BUG: Fix some use of boolean value incrementing.


git-svn-id: svn://localhost/gambas/trunk@1373 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-05-13 12:52:06 +00:00
Benoît Minisini
a7e36985bb [INTERPRETER]
* NEW: Print a warning message when INC or DEC is used with a boolean.
* BUG: Make things compile without error.


git-svn-id: svn://localhost/gambas/trunk@1370 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-05-12 16:09:33 +00:00
Benoît Minisini
1ccfcf0760 [DEVELOPMENT ENVIRONMENT]
* NEW: The form editor has a new menu entry for transforming a control 
  into another control. For example, a Label into a TextLabel, or a HBox 
  into a VBox, and so on. The possible transformations are defined in the
  *.component file.
* BUG: Compiler errors that are not related to the compiled code are now 
  correctly displayed.
* BUG: Locked forms are correctly loaded, and the form tab title now 
  correctly shows the associated read-only state.
* BUG: The automatic completion can deal with multiple local variable 
  declarations on the same line now.

[INTERPRETER]
* BUG: Array.Insert() does not crash anymore if the inserted array is 
  NULL. It raises an error now.
  
[COMPILER]
* BUG: The owner and group of all files generated by the compiler 
  ('.startup', '.info', '.list', object files) are now set to the owner and 
  group of the '.project' file. This way, any project can be safely 
  compiled as root, without locking it for other users.


git-svn-id: svn://localhost/gambas/trunk@1369 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-05-11 18:07:16 +00:00
Benoît Minisini
2b88985b34 [DEVELOPMENT ENVIRONMENT]
* OPT: Do not set Project ColumnView AutoResize property to TRUE. Use a 
  very wide column instead to optimize redrawing.
* BUG: Fix a tooltip in the subversion conflict dialog.
* NEW: The component tab of the project property dialog has been 
  redesigned. Now you have to double click on a component to get 
  information on it.
* NEW: Property editing is now locked only if a specific toggle button is 
  pressed. This button is located on the right top of the property sheet.

[INTERPRETER]
* BUG: Handle the evaluation of Eval() expressions the same way as any 
  other code. Otherwise, stack can be leaked when there is an exception 
  inside.
* NEW: The foreign function interface is now optional.
* BUG: The use of array accessors is now correctly checked.

[GB.DB.SQLITE2]
* BUG: Reading floating point values and other values do not depend on the 
 locale anymore.
* NEW: Remove useless code.

[GB.DB.SQLITE3]
* BUG: Reading floating point values and other values do not depend on the 
  locale anymore.
* NEW: Remove useless code.

[GB.GTK]
* BUG: Fix uninitialized variables in ggridview.cpp and gmainwindow.cpp.

[GB.QT]
* OPT: ScrollView layout process is delayed.

[GB.SETTINGS]
* BUG: Do not use Array datatype incorrectly anymore.


git-svn-id: svn://localhost/gambas/trunk@1368 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-05-10 15:17:07 +00:00
Benoît Minisini
2a096fea20 [INTERPRETER]
* BUG: Fix a memory leak in the READ instruction when reading a string 
  with a negative length parameter.


git-svn-id: svn://localhost/gambas/trunk@1355 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-05-03 15:07:55 +00:00
Benoît Minisini
09369edfd1 [DEVELOPMENT ENVIRONMENT]
* NEW: Automically edit the 'Name' property when inserting a new control in
  a form.
* BUG: Defining the startup class correctly updates the .startup file.
* BUG: The form editor takes into account the new Border and Resizable 
  Window properties correctly now.
* BUG: Form editor window frame is drawn in a more polished way.
* NEW: Automatically focus on the last edited property when the form editor
  selection changes.
* BUG: Do not hide the debug window anymore when undocking the console.

[INTERPRETER]
* BUG: Getting information on a not yet loaded class does not crash the 
  debugger anymore.
  
[GB.FORM]
* NEW: Workspace.Orientation is a new property that allows to define the 
  orientation of the Workspace tabstrip.
* BUG: Fix the DatePicker button drawing routine in ValueBox.
  
[GB.GTK]
* BUG: Windows cannot get focus anymore.

[GB.NET.SMTP]
* NEW: Write a Content-Length header inside MIME parts.

[GB.QT]
* NEW: Do not automatically transform non catched key events into 
  accelator events.
* BUG: Draw.Style.Panel() works correctly now.

[GB.SETTINGS]
* NEW: Settings.Read and Settings.Write now always store control settings 
  in a slot based on the parent Window name, not the top-level one.


git-svn-id: svn://localhost/gambas/trunk@1332 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-04-21 23:15:48 +00:00
Benoît Minisini
b49c9fc644 [INTERPRETER]
* BUG: Static arrays can be used as local variables again.


git-svn-id: svn://localhost/gambas/trunk@1319 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-04-17 20:43:06 +00:00
Benoît Minisini
80f53ee771 [DEVELOPMENT ENVIRONMENT]
* NEW: Some little fixes in the hall of fame animations.
* BUG: Fix the layout of the property sheet text edit dialog.
* NEW: A new highlighting theme, named 'Quick'.
* NEW: The '(Scaled)' virtual property has been renamed as 'Scaled'.
* BUG: Fix the "quit" icon in the quit dialog.
* BUG: Correctly raise an error when making an executable fails for any 
  reason.
* BUG: Extract the property help better.

[WIKI CGI SCRIPT]
* BUG: Auto link now really makes one identical link between two titles.

[INTERPRETER]
* OPT: Optimization of additions of small integers.
* BUG: INC and DEC now toggle boolean values.
* NEW: Use the new '.startup' file to run a project. The old '.project' 
  file can be used for older projects. But its support will be removed in
  the final version.

[COMPILER]
* NEW: A '.startup' file is now created at each compilation. It contains an
  extract of the '.project' file with just what the interpreter needs to
  run the application.

[GB.GTK]
* BUG: Void items are correctly handled by ComboBox without crashing now.

[GB.EVAL]
* BUG: Quoted symbols, i.e. symbols between braces, are now correctly 
  colorized by using the identifier colors.

[GB.FORM]
* BUG: Removed the useless Tag property from the DatePicker control.
* BUG: Fix the height of the DateChooser toolbar.
* NEW: Wizard.ShowIndex is a new property that makes the wizard control
  automatically display the index of the current step. This index takes
  into account if some steps are disabled.

[GB.FORM.DIALOG]
* NEW: Dialog.SelectDate() is a new method that allows the user to select a
  date in a dialog box having a date chooser.

[GB.QT]
* BUG: You can now resize a non resizable window without having to change 
  its Border property first.

[GB.QT.EXT]
* BUG: Editor correctly goes to the end of file when pressing CTRL+END.
  Consequently, SelectAll() works correctly too now.
* NEW: Comments just before a procedure are now never folded.


git-svn-id: svn://localhost/gambas/trunk@1317 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-04-17 10:18:25 +00:00
Benoît Minisini
61ddf77277 [CONFIGURATION]
* BUG: Link with libgettextlib only with OpenBSD. Otherwise, on Linux, 
  there is a symbol comflict with the libxml used by fontconfig, and you
  get spurious fontconfig warnings, and weird fonts or no font at all!

[DEVELOPMENT ENVIRONMENT]
* NEW: Use the new image methods for the hall of fame animation.
* BUG: Text editor does not flash anymore when being resized.
* BUG: The virtual control are now drawn bigger in Dekstop.Scale is too 
  small.

[EXAMPLES]
* BUG: Fix many examples according to the new way of calculating 
  Desktop.Scale.

[INTERPRETER]
* BUG: Symbol polymorphism is now correctly handled when the inheritance 
  depth is greater than two!

[GB.GTK]
* NEW: Image.MakeGray() is a new method that makes an image use gray 
  colors only.
* NEW: Image.MakeTransparent() is a new method that intelligently replace
  a color by transparency.

[GB.FORM]
* NEW: Add a slider for setting the alpha color component.
* BUG: Correctly cancel an impossible rename operation in the DirView 
  control.

[GB.QT]
* NEW: Image.MakeGray() is a new method that makes an image use gray 
  colors only.
* NEW: Image.MakeTransparent() is a new method that intelligently replace
  a color by transparency.

[GB.QT.EXT]
* BUG: In Editor, always draw function expanders with the foreground color.


git-svn-id: svn://localhost/gambas/trunk@1308 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-04-11 22:36:53 +00:00
Benoît Minisini
5007436e68 [DEVELOPMENT ENVIRONMENT]
* BUG: Evaluating expressions in the output console works again.

[WIKI CGI SCRIPT]
* BUG: Allow "--" between two "==" for displaying an horizontal line.

[INTERPRETER]
* BUG: TRY correctly store the last error raised in the Error class.

[GB.EVAL]
* BUG: Evaluating "Error" does not crash anymore. It just raises an error.


git-svn-id: svn://localhost/gambas/trunk@1302 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-04-07 22:31:35 +00:00
Benoît Minisini
53b7de040f [CONFIGURATION]
* NEW: Add "-O1" optimization flag to the linker, and the "-z defs" flag
  that should make it warn then an undefined imported symbol is found.

[WIKI CGI SCRIPT]
* NEW: Adds a switch to display 2.0 or 3.0 symbols in the component help 
  pages.

[INTERPRETER]
* BUG: The binary and hexadecimal numbers with a '&' suffix are now 
  correctly extended to a Long unsigned constant if needed.

[GB.DESKTOP]
* NEW: DesktopWatcher is a new class that watch property and dimension 
  changes on the root window or any other window.
* NEW: Desktop.Windows returns a pseudo-collection of all top-level 
  windows.
* NEW: DesktopWindow is a class that represents one specific top-level
  window.
* NEW: Desktop.ActiveWindow returns the id of the current active top-level
  window.
* NEW: Desktop.Showing returns or sets if the "show desktop" button is 
  active.
* NEW: Desktop.Current returns or sets the index of the current active 
  virtual desktop.
* NEW: Desktop.Count returns the number of virtual desktops.
* NEW: Desktop[Index] returns a virtual object that represents a virtual
  desktop.

[GB.EVAL]
* BUG: The long binary and hexadecimal numbers are correctly interpreted 
  now.
* BUG: Remove an apparently useless line of code that made the highlighter
  sometimes crash!

[GB.QT.EXT]
* BUG: The editor selection background is now drawn on top of the possible
  text background.


git-svn-id: svn://localhost/gambas/trunk@1292 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-04-05 13:06:08 +00:00
Benoît Minisini
e2e0c5b52e [DEVELOPMENT ENVIRONMENT]
* BUG: The "Show help property" option works correctly now.
* BUG: The splitter position of the debug window is correctly restored now.

[GB.DESKTOP]
* NEW: Many methods for dealing with windows properties, for watching them,
  for watching window changes... All are defined in the internal _Desktop
  class. They won't be public.

[GB.FORM]
* NEW: The Space key now raises the Activate event in the DateChooser 
  control.


git-svn-id: svn://localhost/gambas/trunk@1282 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-04-02 01:15:31 +00:00
Benoît Minisini
145de0854b [DEVELOPMENT ENVIRONMENT]
* NEW: You can open a terminal in the project directory now.
* NEW: The IDE now marks projects as Gambas 3 projects.
* NEW: Port Gambas2 fixes.

(INTERPRETER]
* NEW: New API for returning the type of a Gambas array.

[GB.DESKTOP]
* NEW: New internal methods for reading or writing a windows property, and
  for sending a client message to the root window.
* NEW: Desktop.Find() has been renamed to Desktop.FindWindow().
* NEW: Desktop.OpenTerminal() opens a terminal on a specified directory 
  according to the current desktop in use.

[GB.QT]
* BUG: Window id are really integers, not pointers.

[GB.GTK]
* BUG: Window id are really integers, not pointers.


git-svn-id: svn://localhost/gambas/trunk@1276 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-31 19:04:28 +00:00
Benoît Minisini
31f0d78532 [DEVELOPMENT ENVIRONMENT]
* NEW: Theme configuration was redesigned and enhanced.
* NEW: New option for setting the tabstrip title font size.
* NEW: The file information dialog was redesigned again.
* NEW: Some option names were changed.
* NEW: A new "Project" virtual folder in the project treeview. It is 
  exactly like the "Data" folder, except that the files and directories 
  stored inside are not included in the generated executable.
* NEW: As keywords are now displayed in lowercase by default, there is a 
  new option for displaying them in uppercase as before.
  
[INTERPRETER]
* NEW: Object.GetProperty() can return the value of a constant.
* NEW: Keywords are in lowercase by default, the first letter of the words 
  staying in uppercase.

[GB.EVAL]
* NEW: The Highlight.Analyze() method always return keywords in uppercase, 
  so that you can continue to easily do non case-sensitive comparisons.

[GB.QT]
* BUG: Changing the font of a TabStrip correctly refreshes its layout now.

[GB.QT.EXT]
* NEW: The Editor can force highlighted keywords to uppercase. It is only 
  done when drawing the keyword. The internal text is not changed.


git-svn-id: svn://localhost/gambas/trunk@1265 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-27 16:27:24 +00:00
Benoît Minisini
ec93789aaf [DEVELOPMENT ENVIRONMENT]
* NEW: Save and restore which procedures are folded.

[INTERPRETER]
* BUG: Creates a new GB.SubstStringAdd() API for making a difference 
  between substitution callbacks that return a string and those who call
  GB.SubstAdd() directly.

[GB.DB]
* BUG: Use the new GB.StringSubstAdd() API.

[GB.FORM]
* NEW: FileChooser and DirChooser got a new Reload() method that refreshes
  their contents.
  
[GB.QT.EXT]
* BUG: In Editor, a line must be colorized before knowing if it is a 
  "procedure" limit.


git-svn-id: svn://localhost/gambas/trunk@1261 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-26 16:28:18 +00:00
Benoît Minisini
8dc0172592 [INTERPRETER]
* BUG: Fixed an optimization in variants that was not 64-bits aware.


git-svn-id: svn://localhost/gambas/trunk@1230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-23 00:51:50 +00:00
Benoît Minisini
32ae591a4c [INTERPRETER]
* BUG: Some values structures padding.


git-svn-id: svn://localhost/gambas/trunk@1229 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-22 23:52:49 +00:00
Benoît Minisini
fb43110a10 [INTERPRETER]
* BUG: NEW Observer(NULL) now raises an error, and does not crash anymore.
* BUG: Padding of values structures.


git-svn-id: svn://localhost/gambas/trunk@1228 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-22 21:34:50 +00:00
Benoît Minisini
a4707d329f [DEVELOPMENT ENVIRONMENT]
* BUG: Importing a form now correctly associates the imported pictures.

[INTERPRETER]
* BUG: Fixed some structure alignment issues.


git-svn-id: svn://localhost/gambas/trunk@1226 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-21 15:39:46 +00:00
Benoît Minisini
79e3644902 [INTERPRETER]
* NEW: Removes some warnings with uid_t on some systems.

[GB.EVAL]
* BUG: Removes the use of a non existing function.

[GB.DESKTOP]
* BUG: Try to enhance the detection of libXtst.


git-svn-id: svn://localhost/gambas/trunk@1220 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-21 02:05:59 +00:00
Benoît Minisini
b693e43d44 [INTERPRETER]
* BUG: Manages correctly missing flags in localeconv()


git-svn-id: svn://localhost/gambas/trunk@1217 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-21 01:28:13 +00:00
Benoît Minisini
de9ea5223d [INTERPRETER]
* BUG: Other non-defined mathematical function management.


git-svn-id: svn://localhost/gambas/trunk@1216 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-21 01:25:37 +00:00
Benoît Minisini
7053cc0b25 [INTERPRETER]
* BUG: Do not use long double mathematic functions if they do not exist. A
  workaround must be found!


git-svn-id: svn://localhost/gambas/trunk@1215 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-21 01:15:44 +00:00
Benoît Minisini
7643ace3f5 [INTERPRETER]
* NEW: Don't use lockf and F_TLOCK if it does not exist. A workaround will 
  have to be found!
  


git-svn-id: svn://localhost/gambas/trunk@1214 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-21 01:04:18 +00:00
Benoît Minisini
ac3111a9eb [INTERPRETER]
* BUG: Don't use FIONREAD if it does not exist. A workaround will have to 
  be found!


git-svn-id: svn://localhost/gambas/trunk@1213 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-21 00:55:43 +00:00
Benoît Minisini
c9dd8bcefe [INTERPRETER]
* BUG: Fixes the string management optimizations.
* OPT: Optimization of the string search function (InStr, RInstr).
* OPT: Optimization of the Split() function.
* OPT: Optimization of local variables initialization when entering a
  method.

[GB.NET.SMTP]
* BUG: Fixes the Makefile.am file so that the component compiles if the 
  glib library is installed in a non-standard directory.

[GB.QTE.EXT]
* BUG: Fixes the gb.qte.ext.component file.



git-svn-id: svn://localhost/gambas/trunk@1203 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-19 23:50:34 +00:00
Benoît Minisini
3d80d44a4a [WIKI CGI SCRIPT]
* BUG: Some little layout fixes.

[INTERPRETER]
* OPT: Read the user home directory only if the current uid has changed. 
  Otherwise, cache it into memory.
* OPT: String memory management has been optimized.
* OPT: Some little optimizations there and there.
* NEW: A new interpreter option, "-k", that prevents shared library to be
  unloaded until the process terminates. That can be useful when 
  debugging with valgrind.
* OPT: System.Language property was optimized.
* OPT: The gb_error.c file is now compiled with -O3.

[GB.GTK]
* BUG: Disable the management of input methods in TextBox and TextArea
  controls, so that the input methods are not disturbed. Consequently;
  SCIM and Bridged SCIM work again.
* BUG: You can read keyboard events properties in a Form KeyPress or 
  KeyRelease event handler correctly now.



git-svn-id: svn://localhost/gambas/trunk@1199 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-19 14:32:30 +00:00
Benoît Minisini
e6b94a0a86 [INTERPRETER]
* NEW: A new API that returns if the current language is right-to-left 
  written.

[GB.DRAW]
* NEW: New Draw.Style.* style drawing methods for drawing arrows, 
  check-boxes, option buttons, separators, focus rectangles, push buttons,
  panels, and splitter handles.
* NEW: Draw.Save() and Draw.Restore() are two new methods that save and
  restore the state of the current drawing properties.

[GB.GTK]
* NEW: Support for the style drawing methods.
* NEW: Support for Draw.Save() and Draw.Restore().

[GB.QT]
* NEW: Support for the style drawing methods.
* NEW: Support for Draw.Save() and Draw.Restore().


git-svn-id: svn://localhost/gambas/trunk@1191 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-18 10:04:10 +00:00
Benoît Minisini
9ccbaac697 [INTERPRETER]
* NEW: New API for returning the parent (event observer) of an object.

[COMPILER]
* BUG: Setting a property without having to use ME is possible now, if the
  property is defined in the same file of course.
* NEW: Mid$() can be used on the left side of an assignment.

[GB.FORM]
* BUG: ValueBox now reformats its contents after its Value property has 
  been set.

[GB.GTK]
* BUG: Composed keys are correctly handled again by KeyPress events, but
  the SCIM input method does not work yet.
* BUG: Form are their own event observer only if no event observer is 
  defined at form instanciation.
* BUG: The default tray icon is the same as gb.qt now.

[GB.QT]
* BUG: TrayIcon objects are correctly destroyed at program exit.
* BUG: Form are their own event observer only if no event observer is 
  defined at form instanciation.
* BUG: TrayIcon Width, Height, ScreenX and ScreenY properties do not crash
  anymore when the tray icon is hidden. They return zero instead.
  

git-svn-id: svn://localhost/gambas/trunk@1187 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-17 14:54:17 +00:00
Benoît Minisini
0a7ba84a28 [DEVELOPMENT ENVIRONMENT]
* BUG: Ensure that the property panel is correctly shown or hidden when the
  project is opened.
* NEW: Automatic completion is automatically inserted in all cases when
  pressing one of the following keys: '.','(','[','!'.

[INTERPRETER]
* BUG: Mid$("", 0) returns an error now.

[GB.GTK]
* BUG: The Font property management was fixed.
* BUG: The icon text alignment was fixed in the IconView control.

[GB.FORM]
* NEW: The FileChooser bookmark list was redesigned.

[GB.QT]
* BUG: Control.Handle returns a Pointer now.


git-svn-id: svn://localhost/gambas/trunk@1164 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-13 21:38:43 +00:00
Benoît Minisini
5f900c0b68 [DEVELOPMENT ENVIRONMENT]
* NEW: English and french tips were updated. A new tip was added.
* NEW: Files that were opened at project close are automatically reopened
  when the project is loaded again.
* NEW: A warning message is displayed when the GNU translation tools are
  not installed.
* BUG: The code editor method combo-box is correctly updated now.
* BUG: Some fixes in the automatic completion.
* BUG: Replace points by dash in the name of packages generated by the IDE
  packager.
* NEW: Updated russian translation
* NEW: Updated french translation

[DATABASE MANAGER]
* NEW: Updated russian translation

[EXAMPLES]
* BUG: Fixed the Gravity and the GameOfLife examples so that they do not
  use public form controls anymore.

[INTERPRETER]
* OPT: Many optimizations in the string substitution routines, the 
  internal datatype conversions, the INPUT and LINE INPUT instructions, the 
  error messages generation, the object and string reference counting, and
  the memory allocation routines.
* NEW: Opening a device file in direct mode (FOR READ/WRITE) is now 
  automatically non blocking.
* OPT: Lof() now only tries its different methods (ioctl and lseek) once.
* BUG: Val() now ignores thousand separators characters at the end of the 
  number.
* NEW: A new flag for enabling the stack trace generation at each error.

[GB.DEBUG]
* BUG: The gb.debug component interface declaration was not 64-bits aware.

[GB.EVAL]
* BUG: The Highlight.Purge() method now correctly deals with non-ASCII 
 characters.

[GB.FORM]
* BUG: TableView.Edit() does not raise a "read-only combo-box" error 
  anymore.
  
[GB.FORM.DIALOG]
* BUG: Dialog buttons now are never cut.

[GB.GTK]
* BUG: Cached drawing areas are correctly redrawn now.
* BUG: Loading big images now works correctly. There is apparently a bug 
  in the GTK+ image loader, and I found a workaround.
* BUG: Message boxes correctly display the text of their buttons now.

[GB.QT]
* BUG: The Open, and initial Move and Resize event of embedded forms are 
  now always raised when you call the Show method or if you set the Visible
  property. Before, it was raised when the embedded form was actually 
  shown.

[GB.SETTINGS]
* NEW: Settings are now stored in ~/.config/gambasX, where X is the 
  gambas version number.
* BUG: Strings are correctly quoted inside the settings file now.

[GB.WEB]
* NEW: Application.Protocol is a new property that allows to tell the 
  component that the protocol is not necessarily "http".


git-svn-id: svn://localhost/gambas/trunk@1153 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-11 13:29:47 +00:00
Laurent Carlier
8526133fd7 [CONFIGURATION]
* NEW: Now GB_COMPONENT_PKG_CONFIG() macro accept an optional warning
  message.
* BUG: Add support for libffi through pkg-config when available.


git-svn-id: svn://localhost/gambas/trunk@1121 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-26 08:23:51 +00:00
Benoît Minisini
39ca9e0a69 [CONFIGURATION]
* BUG: Pass the -fsigned-char option to gcc so that gambas compiles on
  architectures where char is unsigned by default.

[INTERPRETER]
* BUG: Fixed the conversion from negative integer to string.


git-svn-id: svn://localhost/gambas/trunk@1110 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-25 15:34:04 +00:00
Benoît Minisini
a0ecaa77e6 [CONFIGURATION]
* BUG: Automatically search libraries in lib64 before searching in lib.
* BUG: Fixed the $FFI_LIB test in main/configure.ac.

[DEVELOPMENT ENVIRONMENT]
* BUG: Tips of the days are displayed correctly again.

[INTERPRETER]
* BUG: Val() now takes the thousand separator into account when this 
  separator is a space character.
* BUG: Removed the 64 bits warning.
* BUG: Fixes the 'lib64' problem. Now components are searched in the 'lib64' 
  directory on 64 bits OS. If they are not stored in 'lib64', then the 
  default 'lib' directory is used.
* NEW: Passing argument by reference is not allowed anymore if not 
  explicitely specified in the method declaration.

[COMPILER]
* NEW: Passing argument by reference is not allowed anymore if not 
  explicitely specified in the method declaration.

[INFORMER]
* BUG: Fixes the 'lib64' problem. Now components are searched in the 'lib64' 
  directory on 64 bits OS. If they are not stored in 'lib64', then the 
  default 'lib' directory is used.


git-svn-id: svn://localhost/gambas/trunk@1108 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-24 16:29:02 +00:00
Benoît Minisini
eff2990f0b [DEVELOPMENT ENVIRONMENT]
* NEW: 2.1 changes were merged.

[INTERPRETER]
* BUG: Static properties or methods returning virtual classes work again.
  Color[xxx] is one of them.


git-svn-id: svn://localhost/gambas/trunk@1091 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-21 14:13:47 +00:00
Benoît Minisini
a631253a53 [CONFIGURATION]
* NEW: Configuration is aborted if libffi library and headers are not 
  installed.

[WIKI CGI SCRIPT]
* NEW: New section for version-specific documentation.

[INTERPRETER]
* BUG: The gb.info file was wrong: Min() and Max() take only two arguments.
* NEW: New LastEventName property in the Object class that returns the 
  event name used by the last created object.

[GB.DB.FORM]
* NEW: DataControl raises the event of its internal editing control by 
  using the new Object class property defined above.

[GB.GTK]
* BUG: The X and Y properties of the Window class now return the same
  values as gb.qt.

[GB.QT]
* BUG: Prevents a crash when a trayicon is destroyed or hidden during a
  trayicon event handler.


git-svn-id: svn://localhost/gambas/trunk@1090 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-21 13:14:16 +00:00
Laurent Carlier
edb9e54bb4 [OPENBSD]
* BUG: Revert strlcpy/strlcat/snprintf, they are not really needed, and introduce potentially more bugs.



git-svn-id: svn://localhost/gambas/trunk@1080 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-18 23:07:24 +00:00
Benoît Minisini
1e791cee6b [CONFIGURATION]
* BUG: The external gettext library is now used only on OpenBSD. If needed,
  other systems can be added of course.
* BUG: Fix Qt moc detection for OpenBSD.

[DEVELOPMENT ENVIRONMENT]
* NEW: In the menu editor, a new menu is now inserted after the current 
  menu and not before.

[INTERPRETER]
* BUG: Object.Attach() and Object.Detach() now correctly deals with
  Observer objects.

[COMPILER]
* NEW: When a form method declaration has no END keyword, the error 
  message is now accurate. It does not talk about the form definition 
  anymore.

[GB.GTK]
* BUG: The use of alternative input methods do not print warnings anymore.


git-svn-id: svn://localhost/gambas/trunk@1067 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-14 11:59:36 +00:00
Benoît Minisini
bd322efa9c [DEVELOPMENT ENVIRONMENT]
* BUG: Use TextEdit.RichText insted of TextEdit.Text.
* BUG: END SUB can be the end of a method. The class analyze now takes 
  that into account.

[HELP]
* BUG: Fixed the generated treeview.

[COMPILER]
* OPT: The NOT operator used just at the beginning of a conditional 
  expression is optimized. Consequently, an expression like 'IF NOT 2' is 
  now equivalent to 'IF 2 = 0' and not to 'IF (NOT 2) <> 0' as before. In
  other words, the boolean conversion is now done before the NOT, and not 
  after. The following instructions are concerned: IF, WHILE, UNTIL.
* NEW: BYREF is new keyword that is a more readable synonymous of '@'.

[GB.DB.FORM]
* BUG: Correctly manage data controls inside TabStrip-like containers.
* BUG: Setting the focus on a non-initialized DataControl does not raise 
  an error anymore.

[GB.GTK]
* BUG: HSplitter.Layout and VSplitter.Layout now work correctly. It is a 
  list of children widths, hidden children having a zero width.
* BUG: Window arrangement is done before the Open event is raised, as in 
  gb.qt.
* BUG: Keyboard, focus and mouse events now work correctly on Window and 
  DrawingArea controls.

[GB.QT]
* BUG: HSplitter.Layout and VSplitter.Layout now work correctly. It is a 
  list of children widths, hidden children having a zero width.
* BUG: Many warning fixes.
* BUG: Now the Control.Visible property works like in gb.gtk, i.e. it 
  returns if the control was not explicitely hidden.


git-svn-id: svn://localhost/gambas/trunk@1060 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-06 00:25:48 +00:00