Commit graph

487 commits

Author SHA1 Message Date
Benoît Minisini
70abf8b89c [INTERPRETER]
* NEW: Conversion between Integer or Long and Pointer is possible now.
* OPT: A little optimizations in extern function management.


git-svn-id: svn://localhost/gambas/trunk@3040 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-14 11:55:32 +00:00
Benoît Minisini
2dda2135f8 [INTERPRETER]
* BUG: Make the interpreter compile correctly.
* BUG: Some fixes in callback management.


git-svn-id: svn://localhost/gambas/trunk@3039 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-14 01:57:13 +00:00
Benoît Minisini
3054690743 [CONFIGURATION]
* NEW: Print a summary of warning messages after each component 
  compilation.

[INTERPRETER]
* BUG: StrPtr() with a length argument now works correctly.
* NEW: Support for callbacks: when converting a function to a Pointer, an 
  internal closure is created with the libffi library. The pointer then can 
  be sent to any extern function as function pointer argument.
* BUG: Opening memory stream should work in all cases now.


git-svn-id: svn://localhost/gambas/trunk@3038 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-14 01:50:18 +00:00
Benoît Minisini
5d6905a13e [DEVELOPMENT ENVIRONMENT]
* NEW: The project tree popup menu now has the refresh action.

[GB.SIGNAL]
* NEW: New component to catch or ignore process signals.


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

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


git-svn-id: svn://localhost/gambas/trunk@3036 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-11 23:13:11 +00:00
Benoît Minisini
46234d8dc7 [INTERPRETER]
* NEW: Arrays and structures can be sent to an extern function argument. 
  The extern function will receive the address of the data.


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

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

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


git-svn-id: svn://localhost/gambas/trunk@3031 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-07 22:06:05 +00:00
Benoît Minisini
4eee881fda [DEVELOPMENT ENVIRONMENT]
* NEW: Global search can be cancelled.
* NEW: The IDE does not try to open binary files anymore.
* NEW: Use the new TabStrip.TextFont property.
* NEW: The open project dialog has been redesigned.

[INTERPRETER]
* BUG: String.Left(), String.Mid() and String.Right() now return NULL on 
  truncated UTF-8 substrings.


git-svn-id: svn://localhost/gambas/trunk@3029 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-05 22:17:49 +00:00
Benoît Minisini
53560dd374 [INTERPRETER]
* BUG: Dir() and RDir() on "" or "." should be fixed now.


git-svn-id: svn://localhost/gambas/trunk@3028 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-05 19:06:11 +00:00
Benoît Minisini
e2d1dbe3e5 [GB.EVAL]
* BUG: Rewriting class names works now when the class name has only one 
  character.


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

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


git-svn-id: svn://localhost/gambas/trunk@3021 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-24 01:14:12 +00:00
Benoît Minisini
3f9b5afe60 [INTERPRETER]
* BUG: Correctly handle extern functions that return nothing.


git-svn-id: svn://localhost/gambas/trunk@3020 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-23 18:03:04 +00:00
Benoît Minisini
f6a132504d [INTERPRETER]
* BUG: Eof() (and other file functions) using a null stream will not crash 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@3017 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-21 18:26:38 +00:00
Benoît Minisini
6059d4dcb7 [GB.IMAGE]
* NEW: New API for marking an image as modified, and for synchronizing it 
  before reading it, when the temporary image owner needs it.


git-svn-id: svn://localhost/gambas/trunk@3016 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-19 12:38:28 +00:00
Benoît Minisini
727701cdeb [CONFIGURATION]
* NEW: Bytecode version has been incremented, so all projects need to be 
  recompiled!

[INTERPRETER]
* OPT: Many little optimizations.
* OPT: Avoid calls to setjmp() when it is possible.
* OPT: Do not encode the stack drop inside the CALL instruction. 
  Executables are a bit larger, but a little speed is gained.

[COMPILER]
* OPT: Do not encode the stack drop inside the CALL instruction. 
  Executables are a bit larger, but a little speed is gained.


git-svn-id: svn://localhost/gambas/trunk@3013 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-18 00:14:53 +00:00
Laurent Carlier
0b2beb5985 [GB.IMAGE]
* NEW: Add locking/unlocking internal api hooks, allowing Image class to be sure image is synced/locked
  to get correct access to image datas, and tag if image is altered.


git-svn-id: svn://localhost/gambas/trunk@3010 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-16 12:48:11 +00:00
Benoît Minisini
e1a7b5efcb [INTERPRETER]
* OPT: A little optimization in Split().

[GB.CAIRO]
* BUG: Cairo.Path() now creates a text path and does not draw anything, 
  like other drawing methods.


git-svn-id: svn://localhost/gambas/trunk@3008 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-16 10:25:21 +00:00
Benoît Minisini
be6bde730d [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly deals with unknown components in the project property 
  dialog.

[INTERPRETER]
* NEW: Error backtrace is now always printed.
* OPT: Some optimizations in mathematical routines.

[GB.IMAGE]
* NEW: Image.FillRect() is a new method that fills a rectangle with a 
  specified color.


git-svn-id: svn://localhost/gambas/trunk@3007 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-15 06:54:38 +00:00
Benoît Minisini
aaf1044366 [INTERPRETER]
* OPT: Many optimizations. One is big (gcc is not really clever sometimes!), 
  and now Gambas is about 30% faster than interpreted Python when running 
  stupid benchmarks.


git-svn-id: svn://localhost/gambas/trunk@3005 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-13 20:25:34 +00:00
Benoît Minisini
390a19785c [INTERPRETER]
* BUG: Pointer are correctly managed in extern function calls now.


git-svn-id: svn://localhost/gambas/trunk@3004 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-13 15:00:32 +00:00
Benoît Minisini
a32166b185 [INTERPRETER]
* OPT: Many optimizations again.
* BUG: Fix an unitialized variable in string to float conversion routine.
* BUG: Handle extern functions that return a pointer.


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


git-svn-id: svn://localhost/gambas/trunk@3002 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-13 11:04:57 +00:00
Benoît Minisini
405f8f89fe [INTERPRETER]
* OPT: Some optimizations again in memory allocator, object releasing 
  routine, arithmetic operators, class variable reader, line-by-line stream
  reader, class symbol sort routine.
* BUG: Using constant strings inside variant, like database drivers, works
  correctly again and does not crash the interpreter anymore.


git-svn-id: svn://localhost/gambas/trunk@2996 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-08 23:08:04 +00:00
Benoît Minisini
c52c9f0257 [INTERPRETER]
* OPT: Some optimizations again.

[COMPILER]
* BUG: Compile functions using ByRef correctly again.


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

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

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


git-svn-id: svn://localhost/gambas/trunk@2992 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-04 23:48:53 +00:00
Benoît Minisini
2c2ad90faf [INTERPRETER]
* OPT: Start some optimizations in conversion routines.


git-svn-id: svn://localhost/gambas/trunk@2989 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-02 23:23:50 +00:00
Benoît Minisini
08f7fd6338 [INTERPRETER]
* BUG: Try to fix the floating-point precision/rounding bug. In other 
  words, 0.6 is now printed 0.6, and not 0.6000...001 anymore.


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


git-svn-id: svn://localhost/gambas/trunk@2987 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-30 19:37:40 +00:00
Benoît Minisini
65645599cb [INTERPRETER]
* BUG: Fix debug information loading on 64 bits OS.


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

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


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

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

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


git-svn-id: svn://localhost/gambas/trunk@2977 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-29 00:11:55 +00:00
Benoît Minisini
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
41a002012a [COMPILER]
* BUG: Reserved functions following the READ keyword are correctly detected 
  again.


git-svn-id: svn://localhost/gambas/trunk@2956 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-22 21:56:42 +00:00
Benoît Minisini
dffc0cbaa8 [GB.EVAL]
* NEW: Fix the error management the same way as in the interpreter.


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


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

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


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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@2952 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-20 23:23:39 +00:00
Benoît Minisini
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
ae06242603 [COMPILER]
* BUG: Translated strings can be splitted on several lines like normal 
  strings now.


git-svn-id: svn://localhost/gambas/trunk@2943 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-14 11:51:49 +00:00
Benoît Minisini
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
c61aa8d978 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for enumerations.
* BUG: Clearing project history works again.

[COMPILER]
* NEW: Support for enumerations.


git-svn-id: svn://localhost/gambas/trunk@2935 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-05 20:58:55 +00:00
Benoît Minisini
1727304958 [DEVELOPMENT ENVIRONMENT]
* NEW: Shift+Enter disables automatic insertion of control structure 
  instructions.

[GB.FORM]
* BUG: Use images instead of pictures to draw little arrows in SidePanel 
  and MenuButton controls, so that it works with gb.gtk.

[GB.GTK]
* BUG: Found a woarkaround for sometimes slow as hell GTK+ image scaling 
  algorithm.
* BUG: Embedded windows correctly raise Open, Show and Hide events again.

[GB.QT4]
* BUG: Fix a bug in CheckBox creation that corrupted memory.


git-svn-id: svn://localhost/gambas/trunk@2934 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-05 14:26:07 +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
1faa45e317 [COMPILER]
* BUG: Correctly detect self-referenced components.


git-svn-id: svn://localhost/gambas/trunk@2928 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-03 10:19:13 +00:00
Benoît Minisini
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
2ab35d25e8 [DEVELOPMENT ENVIRONMENT]
* BUG: Dropping a picture on a Report form inserts a ReportImage now.
* BUG: Some fixes in arrangement icon drawing.
* OPT: Don't hide the console at program's end, if the console must remain 
  visible.
* NEW: Support for symbolic links to source directories. Disabled at the 
  moment.
* BUG: Do not use gb.gtk.ext in project templates, it does not exist 
  anymore!

[INTERPRETER]
* BUG: RDir() with FollowLink argument set correctly search into symbolic 
  link to directories.

[GB.DESKTOP]
* BUG: Desktop.Width and Desktop.Height do not crash anymore if the 
  underlying desktop does not support standard freedesktop properties.


git-svn-id: svn://localhost/gambas/trunk@2852 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-02 12:34:21 +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
Laurent Carlier
db9f0f66b4 Typo __CDBUG_H -> __CDEBUG_H
git-svn-id: svn://localhost/gambas/trunk@2812 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-19 14:43:57 +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
b953aa5392 [COMPILER]
* NEW: Compile "report" forms, and add support for other form families.


git-svn-id: svn://localhost/gambas/trunk@2788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-11 10:59:53 +00:00
Benoît Minisini
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
06a674e303 [INFORMER]
* BUG: Specifying components as arguments now works on systems that do not
  have getopt_long().


git-svn-id: svn://localhost/gambas/trunk@2752 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-05 13:12:15 +00:00
Benoît Minisini
c1dc30c5ca [GB.IMAGE.EFFECT]
* BUG: Remove undefined functions from qcolor.h.


git-svn-id: svn://localhost/gambas/trunk@2751 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-05 09:02:37 +00:00
Benoît Minisini
ce74ee479e [INTERPRETER]
* BUG: Fix a misuse of signed char.
* BUG: Fix the component shared library pattern for CygWin.


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

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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@2749 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-05 02:05:52 +00:00
Benoît Minisini
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
2b01ddc9aa [INTERPRETER]
* BUG: Search for libffi shared library inside gcc directories too.


git-svn-id: svn://localhost/gambas/trunk@2747 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-05 00:54:14 +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
c644455a2e [DEVELOPMENT ENVIRONMENT]
* NEW: Working on report form support. Report forms now can be created and 
  edited. Symbol auto-completion is not implemented.
* NEW: The toolbox is updated according to the current edited form family.
* BUG: Menu are correctly saved again.
* NEW: Component help is implemented in the project property dialog.

[GB.GTK]
* BUG: Menu are containers.

[GB.GUI]
* BUG: The *.component file has been fixed.

[GB.REPORT]
* BUG: Control public constants are almost correctly defined now, and 
  inheritance is used.

[GB.QT4]
* BUG: Menu are containers.
* BUG: The text of hidden TabStrip tabs is not lost anymore.



git-svn-id: svn://localhost/gambas/trunk@2713 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-23 03:21:43 +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