Commit graph

174 commits

Author SHA1 Message Date
Benoît Minisini
23dd0b0299 [DEVELOPMENT ENVIRONMENT]
* BUG: Do not search text inside form anymore.

[INTERPRETER]
* BUG: The startup class is not global anymore, so that it does not 
  conflict with anythign having the same name in components. The 
  interpreter API that was returning the startup class has been updated
  to reflect that change.
* BUG: File.Name("/a/b/") now returns a void string instead of returning 
  "b", to be coherent with File.Dir().

[GB.DESKTOP]
* NEW: Use the new API returning the startup class.

[GB.FORM]
* BUG: Setting DirView.Root with a path ending with a slash does not crash
  anymore.

[GB.GTK]
* NEW: Use the new API returning the startup class.

[GB.QT4]
* NEW: Use the new API returning the startup class.

[GB.SIGNAL]
* NEW: Use the new API returning the startup class.


git-svn-id: svn://localhost/gambas/trunk@3267 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-10-15 00:23:11 +00:00
Benoît Minisini
68ede3cb8b [INTERPRETER]
* BUG: Interpreter API for enumerating collections is now reentrant.

[GB.DBUS]
* NEW: Use the new collection enumerator function.


git-svn-id: svn://localhost/gambas/trunk@3255 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-10-06 12:03:27 +00:00
Benoît Minisini
4dc396ffe8 [DEVELOPMENT ENVIRONMENT]
* BUG: No error messages should be displayed anymore when refreshing the 
  search list.

[WIKI CGI SCRIPT]
* BUG: Fix formatting characters handling.

[INTERPRETER]
* NEW: WRITE and READ instructions can handle collections and arrays. Call
  that "serialization".

[GB.WEB]
* OPT: Replace session serialization code by the new powers of READ and 
  WRITE instructions.


git-svn-id: svn://localhost/gambas/trunk@3244 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-27 19:34:27 +00:00
Benoît Minisini
bddbc3a62a [INTERPRETER]
* BUG: Fix a compilation warning on 32 bits systems.

[GB.SDL]
* BUG: Fix a function that was not returning any value.


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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@3156 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-29 20:51:10 +00:00
Benoît Minisini
6db743fc12 [GB.FORM]
* NEW: Polish the DirChooser/FileChooser bookmark button.

[GB.QT4]
* BUG: Send expected Leave and Enter events when a popup is closed.


git-svn-id: svn://localhost/gambas/trunk@3146 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-27 21:09:34 +00:00
Benoît Minisini
85b08d28ba [INTERPRETER]
* BUG: ARRAY_add_void() function now correctly adds a void element in the 
  array after an element has been previously removed. That bug made the 
  event loop mad in some cases!


git-svn-id: svn://localhost/gambas/trunk@3131 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-25 09:18:33 +00:00
Benoît Minisini
13c7314713 [GB.GTK]
* BUG: Correctly release Menu tags.


git-svn-id: svn://localhost/gambas/trunk@3109 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-14 16:04:58 +00:00
Benoît Minisini
8871738fb6 [INTERPRETER]
* BUG: READ and WRITE now correctly handle Pointer datatype.
* BUG: Classes inheriting an array class now work correctly.

[GB.FORM]
* NEW: FileChooser and DirChooser have a new ShowButton property that shows 
  OK and Cancel buttons inside the control. Clicking on the Cancel button
  raises a new Cancel event.
* NEW: Bookmark management has been redesigned in file controls.
* NEW: MenuButton got an AutoResize property.

[GB.FORM.DIALOG]
* NEW: File dialogs now remember their geometry.

[GB.GTK]
* BUG: Fix duplicate Click event in CheckBox control.
* BUG: Correctly handle tristate Checkbox controls.


git-svn-id: svn://localhost/gambas/trunk@3076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-29 10:19:10 +00:00
Benoît Minisini
7f88b776ab [INTERPRETER]
* BUG: Do not crash anymore when a native function returns one of its 
  argument.
* NEW: New interpreter API to enumerate a collection.

[GB.DBUS]
* NEW: Collection are fully supported now.
* NEW: The org.freedesktop.DBus.properties.GetAll() method has been
  implemented.
* BUG: Correctly raise an error when calling a D-Bus method fails.
* BUG: Correctly release strings returned by D-Bus functions that must be
  released.


git-svn-id: svn://localhost/gambas/trunk@3058 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-21 04:40:45 +00:00
Benoît Minisini
e509aab05f [DEVELOPMENT ENVIRONMENT]
* BUG: Fix class header parsing in automatic completion.

[INTERPRETER]
* BUG: Class[].Signature has been implemented.
* BUG: Fix native method calling when some arguments must be converted.
* NEW: Two new interpreter APIs, GB.BorrowValue() and GB.ReleaseValue(), to
  correctly manage values returned by GB.ReadValue().

[GB.DBUS]
* NEW: Support for exporting properties and methods. The GetAll() DBus 
  method has not been implemented yet, because marshalling Collection is 
  not supported yet. Sending signals is not supported yet too.
* NEW: The previous DBusObject class has been renamed as DBusProxy.
* NEW: A new DBusObject class. Each Gambas object that inherits DBusObject
  is automatically exported through DBus.
* NEW: DBusSignal is a new class to catch DBus signals by giving its 
  interface name.


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

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

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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@3036 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-11 23:13:11 +00:00
Benoît Minisini
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
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
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
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
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
b727d17086 [INTERPRETER]
* OPT: Using object references is faster.
* BUG: Fix a misuse of GB.NewString() in the String class.

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

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



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

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

[COMPILER]
* OPT: Optimize symbol lookup tables.

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


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

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

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

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


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

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

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

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



git-svn-id: svn://localhost/gambas/trunk@2964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-25 11:19:00 +00:00
Benoît Minisini
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
4aefbacb48 [DEVELOPMENT ENVIRONMENT]
* BUG: In the "Requires" tab of the project property dialog, requirements 
  are not incorrectly converted to lower case anymore.

[COMPILER]
* BUG: Fix symbol tables that sometimes didn't work correctly when storing 
  symbols having non-ASCII characters.

[GB.FORM]
* BUG: ButtonBox.Length property now returns the length of the ButtonBox 
  text. That fixes the crash in the ColorChooser control.
* BUG: Balloon corners are correctly drawn again.
* NEW: Some cosmetic changes in the ColorChooser control.

[GB.IMAGE.IMLIB]
* BUG: Images now always have an alpha channel.


git-svn-id: svn://localhost/gambas/trunk@2313 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-05 20:54:36 +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
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
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
656364fe57 [ARCHIVER]
* NEW: Connection files are added to executables.

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


git-svn-id: svn://localhost/gambas/trunk@2132 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-18 15:50:51 +00:00
Benoît Minisini
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
ca0292fd58 [DEVELOPMENT ENVIRONMENT]
* NEW: Change the CTRL+W shortcut to F12.
* BUG: Double-clicking on a control in the form editor now correctly moves 
  inside the event handler in all cases.
* NEW: Start enhancing the file information dialog.
* BUG: The file information dialog returns the accurate number of modules, 
  classes, and forms again.

[INTERPRETER]
* NEW: Mac OS X is a FreeBSD.

[GB.QT.EXT]
* BUG: Fix the undo and redo commands in the Editor when some text has been
  colorized.

[GB.QT4.EXT]
* BUG: Fix the undo and redo commands in the Editor when some text has been 
  colorized.


git-svn-id: svn://localhost/gambas/trunk@2074 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-04 23:54:00 +00:00
Benoît Minisini
5f8e273edf [DEVELOPMENT ENVIRONMENT]
* BUG: The button that switches between form and class editor is not shown 
  anymore when a module or a class is edited.

[GB.GTK]
* BUG: Font management was redesigned. It does not leak memory anymore,
  and now behaves like in gb.qt.
* BUG: Tristate CheckBox controls now work as expected.
* BUG: Destroy pending deleted controls before entering the event loop, to
  avoid some memory leaks if the event loop is immediately aborted.
* BUG: Detach destroyed controls from their event listener, as in gb.qt.
* BUG: Now menu shortcuts are active even if the menu bar is hidden. But 
  the menu must be visible. To create an hidden active top-level menu, just 
  set its Text property to NULL, but keep it visible.
* NEW: Top-level menus with a void Text property are not shown anymore.
* BUG: Showing and hiding top-level menu now work correctly.

[GB.QT]
* BUG: Font properties are correctly inherited between containers and 
  children controls.
* BUG: Showing a tray icon does not eat focus events anymore.
* NEW: Top-level menus with a void Text property are not shown anymore.

[GB.QT4]
* BUG: Font properties are correctly inherited between containers and 
  children controls.
* BUG: Shortcut management was fixed.
* BUG: Now menu shortcuts are active even if the menu bar is hidden. But 
  the menu must be visible. To create an hidden active top-level menu, just 
  set its Text property to NULL, but keep it visible.
* NEW: Top-level menus with a void Text property are not shown anymore.
* BUG: Showing and hiding top-level menu now work correctly.


git-svn-id: svn://localhost/gambas/trunk@2034 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-06-22 11:16:34 +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
2cbf018690 [GB.GTK]
* BUG: Fix the file descriptor watch manager again.

[GB.NET]
* BUG: If writing on Socket fails, do not raise the Write event.


git-svn-id: svn://localhost/gambas/trunk@2005 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-06-07 00:01:59 +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
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
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
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
283a5c3e78 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for Hindi language.

[INTERPRETER]
* BUG: The Atnh() function has been fixed.


git-svn-id: svn://localhost/gambas/trunk@1931 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-04-22 08:50:40 +00:00
Benoît Minisini
238da73bb3 [DEVELOPMENT ENVIRONMENT]
* NEW: Add support for extra package dependencies.
* BUG: The right column of the property sheet is not too wide anymore.

[GB.GTK]
* BUG: Fix the ComboBox.Add() method slowness.

[GB.QT]
* BUG: Borderless modal windows do not show any border anymore with 
  Metacity.

[GB.XML.RPC]
* BUG: Event management was fixed, thanks to Ron.
* BUG: RcpArray.Copy() now returns an RpcArray object.


git-svn-id: svn://localhost/gambas/trunk@1918 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-04-03 22:29:51 +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
741cd010cd [COMPILER]
* NEW: Add the '^=' assignment operator.


git-svn-id: svn://localhost/gambas/trunk@1837 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-30 01:28:35 +00:00
Benoît Minisini
b458334f0b [GB.CAIRO]
* NEW: Transformation and matrix functions were implemented.

[GB.IMAGE]
* NEW: The format conversion function comes back in the gb.image API.

[GB.IMAGE.IO]
* NEW: New component for loading and saving images.


git-svn-id: svn://localhost/gambas/trunk@1820 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-27 01:24:19 +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
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
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
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
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
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
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
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
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
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
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
dcea4334d7 [DEVELOPMENT ENVIRONMENT]
* NEW: The signature popup now underlines the argument under the cursor.
* NEW: A new option to minimize the IDE when the project is run.
* NEW: Replaced the '[Modified]' text in the title of a modified form or 
  class by a star.
* BUG: GridView, TableView, TextEdit and Editor are correctly refreshed in 
  the form editor when they are renamed.


git-svn-id: svn://localhost/gambas/trunk@1468 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-07-19 13:35:36 +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
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
f275928af5 [CONFIGURATION]
* NEW: Makes better configuration warning messages when detecting libintl 
  and libiconv libraries.

[DEVELOPMENT ENVIRONMENT]
* NEW: The About dialog box was redesigned. The Hall Of Fame is now 
  displayed with a cool animation.
* NEW: The entire project was adapted to the new way of calculating
  Desktop.Scale.
* NEW: When loading a Gambas 2 form, the form editor tries to adapt to the
  new way of calculating Desktop.Scale automatically.

[COMPILER]
* BUG: Adds many error messages when a compiler limit is reached: too many 
  static symbols in a same class, too many dynamic symbols, too many 
  functions, and so on.

[GB.GTK]
* NEW: Desktop.Scale is now half the font ascent, not half the font height.
* NEW: Color.Medium() method was replaced by Color.Mix(), that takes a new
  optional argument indicating the relative weight of the second color.
  
[GB.QT]
* NEW: Desktop.Scale is now half the font ascent, not half the font height.
* NEW: Color.Medium() method was replaced by Color.Mix(), that takes a new
  optional argument indicating the relative weight of the second color.

[GB.QT.EXT]
* BUG: Editor now correctly highlight its frame according to the focus 
  change on styles that have use of that.


git-svn-id: svn://localhost/gambas/trunk@1304 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-04-10 12:06:14 +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
46a573b710 [INTERPRETER]
* BUG: Fix debugging memory management code.


git-svn-id: svn://localhost/gambas/trunk@1231 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-23 01:02:27 +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
02aa33396f [INTERPRETER]
* BUG: Creates a replacement implementation of cfmakeraw().


git-svn-id: svn://localhost/gambas/trunk@1218 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-21 01:36:11 +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
7759900148 [INTERPRETER]
* BUG: Defines sighandler_t when it is not defined by the system includes.


git-svn-id: svn://localhost/gambas/trunk@1212 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-21 00:35:39 +00:00