Commit graph

1271 commits

Author SHA1 Message Date
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
fe70d3a878 [COMPILER]
* NEW: Understand the 'CASE TO Expression' syntax.


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


git-svn-id: svn://localhost/gambas/trunk@3045 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-19 09:53:34 +00:00
Benoît Minisini
a02e468016 [INTERPRETER]
* BUG: Array.Type property is back again.


git-svn-id: svn://localhost/gambas/trunk@3044 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-16 14:15:11 +00:00
Benoît Minisini
dd7faeb52a [CONFIGURATION]
* NEW: './reconf' now is used inside sub-directories for reconfiguring it, 
  without modifying libtool.
* NEW: To install the libtool version required by your system, use now the 
  './reconf-all' script in the top directory.


git-svn-id: svn://localhost/gambas/trunk@3043 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-16 01:23:42 +00:00
Benoît Minisini
bc35f266db [CONFIGURATION]
* NEW: Remove the ./reconf-all link.

[GB.DBUS]
* NEW: Start to handle incoming DBus message (methods calls, signals...).


git-svn-id: svn://localhost/gambas/trunk@3042 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-16 01:17:49 +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
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
4bf21cb273 [DEVELOPMENT ENVIRONMENT]
* BUG: Newly opened debug windows should now be entirely visible when there
  is a desktop panel on the top of the screen.


git-svn-id: svn://localhost/gambas/trunk@3034 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-09 08:36:05 +00:00
David Villalobos Cambronero
a5e686f1c1 [GB.MYSQL]
* NEW: More work arround the Database Objects creation.

git-svn-id: svn://localhost/gambas/trunk@3033 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-08 03:29:08 +00:00
Benoît Minisini
dcb90ff594 [DEVELOPMENT ENVIRONMENT]
* BUG: In form editor, fix arrangement icons handling in forms whose menu 
  is visible.


git-svn-id: svn://localhost/gambas/trunk@3032 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-07 22:41:25 +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
David Villalobos Cambronero
9c6618ecf3 [GB.MYSQL]
* NEW: Work arround the Routines and Index creation.

git-svn-id: svn://localhost/gambas/trunk@3030 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-07 17:45: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
David Villalobos Cambronero
ec7e7e351f [GB.MYSQL]
* NEW: Work arround the Table creation.

git-svn-id: svn://localhost/gambas/trunk@3027 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-05 03:01:38 +00:00
David Villalobos Cambronero
64b544e729 [GB.MYSQL]
* NEW: Added some new function to the _Trigger class.

git-svn-id: svn://localhost/gambas/trunk@3026 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-04 23:51:26 +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
fdf5a0f0f6 [DEVELOPMENT ENVIRONMENT]
* NEW: New code snippet to define a startup Main procedure.
* NEW: In the open project dialog, selecting a project directory now
  displays the project contents inside a treeview, like the IDE does.

[GB.QT4]
* NEW: Some changes in the Font class: Font.Height is now a property that 
  returns the font height, and Font.Width has been removed. Now, to compute
  the size of a text fragment, you must use Font.TextWidth() and 
  Font.TextHeight(). Moreover, two new methods, Font.RichTextWidth() and
  Font.RichTextHeight() allow to compute the size of a rich text fragment.
* BUG: When showing a form, the initial focus should be correctly set in 
  all cases now.


[GB.GTK]
* NEW: Some changes in the Font class: Font.Height is now a property that 
  returns the font height, and Font.Width has been removed. Now, to compute
  the size of a text fragment, you must use Font.TextWidth() and 
  Font.TextHeight(). Moreover, two new methods, Font.RichTextWidth() and
  Font.RichTextHeight() allow to compute the size of a rich text fragment.


git-svn-id: svn://localhost/gambas/trunk@3024 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-27 22:04:25 +00:00
Benoît Minisini
092cbb2bd9 [GB.QT4]
* NEW: TabStrip.TextFont is a new property that allows to define a specific 
  font for tabs labels.

[GB.GTK]
* NEW: TabStrip.TextFont is a new property that allows to define a specific 
  font for tabs labels.


git-svn-id: svn://localhost/gambas/trunk@3023 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-27 16:31:05 +00:00
Benoît Minisini
7cd4bea00b [DEVELOPMENT ENVIRONMENT]
* NEW: In about dialog, fade the scrolling text, as in the Firefox about 
  dialog.
* NEW: Clicking on a project treeview item expands it after the mouse 
  button has been released.

[GB.FORM]
* NEW: Clicing on a DirView item expands it after the mouse button has been
  released.

[GB.QT4]
* NEW: A little fix in menu management.


git-svn-id: svn://localhost/gambas/trunk@3022 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-26 23:55:58 +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
David Villalobos Cambronero
091013bb71 [GB.MYSQL]
* NEW: Added a new class named Version, it simply return some info
  about the server version.

git-svn-id: svn://localhost/gambas/trunk@3019 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-22 22:15:51 +00:00
Benoît Minisini
d5dc4194e7 [GB.QT4.EXT]
* BUG: In Editor, do not highlight a line that is currently edited in 
  another editor sharing the same text.


git-svn-id: svn://localhost/gambas/trunk@3018 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-21 21:35:41 +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
b2bba45700 [DEVELOPMENT ENVIRONMENT]
* BUG: Replacing does not ignore the current selected text aynmore when it
  matches.

git-svn-id: svn://localhost/gambas/trunk@3015 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-18 22:51:15 +00:00
Laurent Carlier
3db06386b0 [GB.SDL]
* BUG: More work on system fonts, now system is correctly displayed.


git-svn-id: svn://localhost/gambas/trunk@3014 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-18 15:45:25 +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
3702526cf8 [DEVELOPMENT ENVIRONMENT]
* BUG: Searching inside the console does not crash anymore.
* NEW: A little redesign of the project property editor. The "print stack 
  backtrace" option has been removed, as now the stack backtrace is always
  printed.


git-svn-id: svn://localhost/gambas/trunk@3012 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-18 00:05:36 +00:00
Laurent Carlier
102dd5720b [GB.SDL]
* NEW: Remove libsdl_image dependency, now Image class relies completly on the 
  gb.image.io component to load images.

Less dependencies is always better.


git-svn-id: svn://localhost/gambas/trunk@3011 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-16 13:05:35 +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
cb516f643d [GB.CAIRO]
* NEW: Cairo.DrawText() is a method that directly draws a text. I added it
  because it does not behave like Cairo.Text() + Cairo.Fill().


git-svn-id: svn://localhost/gambas/trunk@3009 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-16 11:06:38 +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
Laurent Carlier
4d008efb61 [DEVELOPMENT ENVIRONMENT]
* NEW: Use a different color for unknown components.

I know the color is fluffy :-p


git-svn-id: svn://localhost/gambas/trunk@3006 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-14 14:18:50 +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
29e1b1ae70 [DEVELOPMENT ENVIRONMENT]
* BUG: Display unknown components again.

git-svn-id: svn://localhost/gambas/trunk@3001 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-13 11:01:40 +00:00
Laurent Carlier
b065f55995 [GB.OPENGL]
* BUG: Add more OpenGL constants.


git-svn-id: svn://localhost/gambas/trunk@2997 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-09 14:06:09 +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