Commit graph

730 commits

Author SHA1 Message Date
gambas
5a1e3b48e9 Fix label generation again.
[GB.JIT]
* BUG: Fix label generation again.
2018-06-13 18:19:32 +02:00
gambas
08c772a290 Fix FOR EACH loops translation.
[GB.JIT]
* BUG: Panic if the stack is not void once a function has been translated.
* BUG: Fix FOR EACH loops translation.
2018-06-13 16:59:56 +02:00
gambas
b8198005db [BENCHMARKS]
* OPT: Little optimization in nbody benchmark.

[GB.JIT]
* BUG: Fix translation of loops.
* BUG: Fix label generation.
2018-06-13 16:55:25 +02:00
gambas
6b8afd0617 [COMPILER]
* BUG: Fix Left, Mid and Right subroutines metadata.

[GB.JIT]
* BUG: Fix function arguments management.
* BUG: Functions returning objects work correctly now.
* BUG: Fix internal control variables management.
2018-06-13 00:38:18 +02:00
gambas
c671adfd6b Work continues on new JIT system.
[INTERPRETER]
* OPT: String searching (Instr, RInstr and Replace) has been made about 4x faster by searching the first occurence with memchr() and memrchr().

[GB.FORM.TERMINAL]
* BUG: Fix warning messages.

[GB.JIT]
* BUG: Fix byte, short and boolean pushing and popping routines.
* BUG: Fix string values referencing.
* BUG: Fix optional argument management.
* NEW: Optimization of bits management subroutines.

[GB.QT4]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.

[GB.QT5]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.
2018-06-11 18:56:39 +02:00
gambas
4e50dec11d Work continues on new JIT system. Translation is now done at runtime.
[INTERPRETER]
* OPT: String routines are now compiled with -O3.
* NEW: Don't display JIT debugging message unless GB_JIT_DEBUG is set to something different from zero.
* NEW: String whose length is greater than 256 now have a growth step of 256 bytes instead of 16.

[GB.JIT]
* NEW: Do many global optimizations as now the class metadata is fully available.
* NEW: Support for optional argument. Still buggy at the moment.
2018-06-09 22:42:35 +02:00
gambas
6712de717c Support for case sensitive schema names.
[GB.DB]
* BUG: Support for case sensitive schema names.

[GB.DB.POSTGRESQL]
* BUG: Support for case sensitive schema names.
2018-04-18 03:17:30 +02:00
gambas
87f546bb81 Correctly quote table names when using schemas.
[GB.DB]
* BUG: Correctly quote table names when using schemas.
2018-04-16 20:57:56 +02:00
gambas
4fdd272253 Correctly quote index fields when generating an UPDATE or DELETE request in Result.Save() and Result.Delete() methods.
[GB.DB]
* BUG: Correctly quote index fields when generating an UPDATE or DELETE request in Result.Save() and Result.Delete() methods.
2018-04-16 16:28:44 +02:00
gambas
e07ac2e4f2 Connection.LastInsertId is a new property that returns the value of the serial field used in the last inserted row.
[GB.DB]
* NEW: Connection.LastInsertId is a new property that returns the value of the serial field used in the last inserted row. It is supported on MySQL, PostgreSQL and SQLite3 only.
* BUG: Connection.Handle is correctly declared now.

[GB.DB.MYSQL]
* NEW: Support for Connection.LastInsertId.

[GB.DB.ODBC]
* NEW: Raise an error if Connection.LastInsertId is used.

[GB.DB.POSTGRESQL]
* NEW: Support for Connection.LastInsertId.

[GB.DB.SQLITE2]
* NEW: Raise an error if Connection.LastInsertId is used.

[GB.DB.SQLITE3]
* NEW: Support for Connection.LastInsertId.
2018-03-20 16:05:33 +01:00
gambas
900fee66d5 Update many project configuration files. 2018-03-16 14:13:21 +01:00
gambas
043229a013 Result.GetAll() is a new method that returns an array of the values of a specific field from each record.
[INTERPRETER]
* NEW: New API for reference a Gambas string.

[GB.DB]
* NEW: Result.GetAll() is a new method that returns an array of the values of a specific field from each record. It is about twice faster than the equivalent code written in Gambas.
2018-03-07 22:06:02 +01:00
gambas
d009f251ce Image.Invert() is a new method that inverts an image. It takes an optional boolean argument that indicates if the color hue must be kept.
[GB.IMAGE]
* NEW: Image.Invert() is a new method that inverts an image. It takes an optional boolean argument that indicates if the color hue must be kept.
2018-02-28 14:55:48 +01:00
gambas
6e06250946 Use a power of two as internal coordinate scale.
[GB.CLIPPER]
* NEW: Use a power of two as internal coordinate scale.
2018-02-22 04:30:25 +01:00
gambas
d5c096f71e Fix parsing of quoted identifiers.
[COMPILER]
* BUG: Fix parsing of quoted identifiers.

[GB.EVAL]
* BUG: Fix parsing of quoted identifiers.
2018-02-17 20:41:39 +01:00
gambas
e39cfbf9da Fix Min() and Max() arguments datatype static checks, and some little differences with compiler sources.
[COMPILER]
* BUG: Fix Min() and Max() arguments datatype static checks.

[GB.EVAL]
* BUG: Fix some little differences with compiler sources.
2018-02-17 16:44:38 +01:00
gambas
09a0573e61 Replace my old sourceforge mail address by the new one.
[CONFIGURATION]
Replace my old sourceforge mail address by the new one.
2018-02-12 02:53:46 +01:00
gambas
319fb7175d Correctly initialize Connection object from Connections collection when that connection has been switched between sqlite and non-sqlite type from the IDE.
[GB.DB]
* BUG: Correctly initialize Connection object from Connections collection when that connection has been switched between sqlite and non-sqlite type from the IDE.
2018-01-14 23:16:03 +01:00
gambas
ce6d6e7e96 A table cannot have two fields whose names only differ by case anymore.
[GB.DB]
* NEW: Remove the 'no_case' database driver flag.
* NEW: A table cannot have two fields whose names only differ by case anymore.
2018-01-08 13:12:15 +01:00
gambas
48b9e8ddad Highlight.Custom is a new constant that is the first integer constant that can be used for custom highlighting state.
[GB.EVAL]
* NEW: Highlight.Custom is a new constant that is the first integer constant that can be used for custom highlighting state.
2017-11-01 08:42:35 +01:00
gambas
12d51ca863 New syntax for octal numbers: "&Oxxx".
[COMPILER]
* NEW: New syntax for octal numbers: "&Oxxx".

[INTERPRETER]
* NEW: New syntax for octal numbers: "&Oxxx".

[GB.EVAL]
* NEW: New syntax for octal numbers: "&Oxxx".
2017-10-05 03:17:13 +02:00
gambas
a489f435e7 gb.notify: don't crash anymore when releasing watches.
[INTERPRETER]
* NEW: Add an API that returns the first element of a hash table.

[GB.NOTIFY]
* BUG: Don't crash anymore when releasing watches.
2017-09-21 18:15:37 +02:00
gambas
9f6ec453fa TextEditor: If the cusor is at the end of the line, keep it there when the line is rewritten by the syntax highlighter.
[GB.FORM.EDITOR]
* BUG: TextEditor: If the cusor is at the end of the line, keep it there when the line is rewritten by the syntax highlighter.
2017-09-15 00:28:24 +02:00
gambas
98259f1d71 SqlRequest.Where() method now implicitely uses the AND operator.
[GB.DB]
* NEW: SqlRequest.Where() method now implicitely uses the AND operator.
2017-09-15 00:27:32 +02:00
gambas
ce5780c916 Define an explicit accurate QImage constructor so that effect methods do not crash anymore.
[GB.IMAGE.EFFECT]
* BUG: Define an explicit accurate QImage constructor so that effect methods do not crash anymore.
2017-09-08 02:11:09 +02:00
gambas
bf48f40f5c [DEVELOPMENT ENVIRONMENT]
* NEW: Add support for gb.gui.qt.opengl.
* NEW: Update french translation.

[GB.GUI.QT.OPENGL]
* NEW: New Qt OpenGL switcher component.
2017-08-29 00:42:58 +02:00
gambas
0abba10995 Switcher component are now more clever, and support the lack of gb.qt4.
[INFORMER]
* NEW: Components now can include information for a list of alternatives component. The first one available will be included.

[GB.GUI]
* NEW: Includes information of the first available gui component.

[GB.GUI.OPENGL]
* NEW: Includes information of the first available gui OpenGL component.

[GB.GUI.QT]
* NEW: Includes information of the first available Qt component.

[GB.GUI.QT.WEBKIT]
* NEW: Includes information of the first available Qt webkit component.
2017-08-29 00:38:43 +02:00
gambix
fca930e139 [GB.TERM.FORM]
* OPT: Make the object placement more logical. the 0,0 pos now
       is the left corner after the border.
* NEW: Add the showmodal function
2017-08-26 20:25:52 +02:00
gambas
f45192abb2 Fix pseudo-terminal management again. Now processes run through a terminal set the ECHO flag, and do not clear the OCRNL flag.
[INTERPRETER]
* NEW: Initialize pseudo-terminals with ECHO and don't clear OCRNL flag. This is not compatible with previous versions, as now, by default, printing a NL will become CR+NL through the pseudo-terminal.
  But I didn't succeed in modifying the pseudo-terminal reliably once the child has started. It sometimes fails silently.
* NEW: Check the result of tcsetattr() carefully, as it returns an error only if none of the flags has been set, not just one.

[GB.TERM]
* NEW: Check the result of tcsetattr() carefully, as it returns an error only if none of the flags has been set, not just one.

[GB.FORM.TERMINAL]
* OPT: TerminalView: Reorder some tests in escape codes analyze.
* NEW: TerminalView: The mouse wheel now sends up and down keys when we are not in mouse mode, and if there is nothing to scroll.
2017-08-23 18:10:58 +02:00
gambas
69b4eb60c7 Remove a debugging message.
[GB.TERM]
* BUG: Remove a debugging message.
2017-08-22 01:15:11 +02:00
Benoît Minisini
04175a1ca6 Merge branch 'cygwin' into 'master'
Cygwin changes for 3.10.0

See merge request !3
2017-08-17 10:46:13 +00:00
Laurent Carlier
e78a7fae66 Add more generated files to .gitignore, remove them from the repository 2017-08-15 08:03:17 +02:00
bgermann
4331a20835 leave out features not available in Cygwin
[GB.TERM]
* NEW: use preprocessor to leave out features not available in Cygwin
2017-08-14 23:19:01 +02:00
Benoît Minisini
d42a49b57d [CONFIGURATION]
* NEW: Switch version to 3.10.90.

[GB.DB]
* NEW: Connection.TimeZone is new property that will allow to define the default timezone of dates stored in the database we are connected to. Not implemented yet.


git-svn-id: svn://localhost/gambas/trunk@8168 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-07-24 18:53:33 +00:00
Benoît Minisini
82eddfd5c9 [CONFIGURATION]
* NEW: Remove all 'depcomp' files. Apparently they are not used anymore by autoconf.

[INTERPRETER]
* BUG: Fix some gcc 6 warnings.

[GB.DEBUG]
* BUG: Fix some gcc 6 warnings.

[GB.GTK]
* BUG: Fix some gcc 6 warnings.
* BUG: Fix a ';' mistake in a focus management test.

[GB.GTK3]
* BUG: Fix some gcc 6 warnings.
* BUG: Fix a ';' mistake in a focus management test.

[GB.IMAGE]
* BUG: Fix some gcc 6 warnings.


git-svn-id: svn://localhost/gambas/trunk@8101 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-02-18 17:24:01 +00:00
Benoît Minisini
b225eba20f [CONFIGURATION]
* NEW: Update copyright year in all source files.


git-svn-id: svn://localhost/gambas/trunk@8056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-13 03:29:42 +00:00
Benoît Minisini
61b5676b6a [GB.TERM]
* BUG: Fix local and control flags of terminal settings.


git-svn-id: svn://localhost/gambas/trunk@8048 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-07 22:35:34 +00:00
Benoît Minisini
d5f1ac948c [DEVELOPMENT ENVIRONMENT]
* NEW: Update french translation.
* NEW: Support for the new gb.term component.

[INTERPRETER]
* NEW: Add an API that returns the file descriptor associated with a specific stream.

[GB.TERM]
* NEW: New component for terminal management with an API very close to the one provided by the operating system.


git-svn-id: svn://localhost/gambas/trunk@8043 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-07 00:58:20 +00:00
Benoît Minisini
3a954eec2c [CONFIGURATION]
* BUG: Correctly detect update of svn database for generating trunk version file.


git-svn-id: svn://localhost/gambas/trunk@8005 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-11-30 11:16:28 +00:00
Benoît Minisini
b2b31e7fd0 [GB.INOTIFY]
* BUG: Don't assume inotify_add_watch() succeeds in all cases. The watched path may have been deleted after the watch has been created.


git-svn-id: svn://localhost/gambas/trunk@7996 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-11-26 22:55:53 +00:00
Benoît Minisini
043ee62a7c [DEVELOPMENT ENVIRONMENT]
* NEW: Debugger: Use the 'gb.signal' component to send signals to debugged processes.
* BUG: Debugger: Correctly pause projects using an external terminal.

[GB.SIGNAL]
* NEW: Signal.Send() is a new method to send signals to processes. It is just a direct interface to the kill() system call.


git-svn-id: svn://localhost/gambas/trunk@7982 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-11-17 16:12:28 +00:00
Benoît Minisini
f79951fe9f [GB.DB]
* BUG: Connection.ApplyTemplate() now correctly handles a collation whose name is "default" in the template file.


git-svn-id: svn://localhost/gambas/trunk@7941 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-10-29 01:38:56 +00:00
Benoît Minisini
cf467669a0 [GB.INOTIFY]
* BUG: Creating a watch with a null path now raises an error instead of crashing.


git-svn-id: svn://localhost/gambas/trunk@7940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-10-29 01:35:40 +00:00
Benoît Minisini
60dff96936 [DEVELOPMENT ENVIRONMENT]
* NEW: Database connection: Now you can initialize a new database from the template of another connection of the project.


git-svn-id: svn://localhost/gambas/trunk@7850 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-08-19 19:43:56 +00:00
Benoît Minisini
c019b07f40 [CONFIGURATION]
* NEW: Force symbolic link creation.

[GB.WEB]
* BUG: Fix Session.Keys for SQLite sessions.

[GB.IMAGE]
* BUG: Image.Desaturate() now works correctly on image alpha channel.


git-svn-id: svn://localhost/gambas/trunk@7847 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-08-18 18:59:19 +00:00
Benoît Minisini
86fe572568 [GB.DB]
* BUG: Fix a memory leak in blob handling when using a PostgreSQL database.


git-svn-id: svn://localhost/gambas/trunk@7841 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-08-16 17:25:46 +00:00
Benoît Minisini
5355d8b955 [DEVELOPMENT ENVIRONMENT]
* NEW: The run button has a pop-up menu button only if at least one argument list has been defined in the project properties.
* NEW: Project property dialog: if the argument lists order changes, the current argument list index follows.

[GB.FORM]
* NEW: MenuButton: If no arrow is visible, and if no menu is defined, then the MenuButton raises the Click event.

[GB.WEB]
* NEW: Session.Type defines which kind of session store to use. At the moment, two are implemented. Session.File (the old one), and Session.Sqlite (based on a sqlite database).

[GB.WEB.FORM]
* BUG: Remove some debugging messages.


git-svn-id: svn://localhost/gambas/trunk@7829 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-07-22 22:12:35 +00:00
Benoît Minisini
62863d13f4 [GB.IMAGE]
* BUG: ImageStat() now return the correct dimenstions of JPEG images.


git-svn-id: svn://localhost/gambas/trunk@7813 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-07-10 02:09:55 +00:00
Benoît Minisini
7c4220f210 [GB.FORM]
* BUG: FileView: Enable/disable file watches on Show/Hide events.
* BUG: DirView: Enable/disable file watches on Show/Hide events.


git-svn-id: svn://localhost/gambas/trunk@7771 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-07 14:28:09 +00:00
Benoît Minisini
535fa6bea3 [GB.INOTIFY]
* BUG: Forgot to commit a source file.


git-svn-id: svn://localhost/gambas/trunk@7768 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-07 00:55:08 +00:00
Benoît Minisini
7fc3acc849 [GB.INOTIFY]
* BUG: Now you can create as many watches on the same path as you want.
* NEW: Consequently, the Watch[] static array accessor, that returned the watch associated with a path, had to be removed.
* NEW: The flags constants and the Watch.Events property are now associated with the Gambas events, not the internal inotify events.


git-svn-id: svn://localhost/gambas/trunk@7766 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-06 23:03:28 +00:00
Benoît Minisini
f34f52b928 [INTERPRETER]
* NEW: New library management.

[COMPILER]
* NEW: New library management.


git-svn-id: svn://localhost/gambas/trunk@7592 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-02-01 02:18:49 +00:00
Benoît Minisini
cf2abcd76a [GB.DB]
* BUG: Take case-sensitive databases like postgresql into account in index fields.


git-svn-id: svn://localhost/gambas/trunk@7564 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-01-08 14:41:23 +00:00
Benoît Minisini
39ed4dd89e [INTERPRETER]
* NEW: Support for custom expression evaluators.

[GB.EVAL]
* NEW: You can now inheriting the Expression class to create a custom expression evaluator. You have to reimplement three methods: IsSubr(), that returns if a Gambas subroutine is allowed;
  IsIdentifier() that returns if a specific identifier is known; GetValue() that returns the value of an identifier. All other methods you add to the class become your specific subroutine,
  provided that you allow it in the IsIdentifier() method.


git-svn-id: svn://localhost/gambas/trunk@7545 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-01-03 16:44:24 +00:00
Benoît Minisini
b9b46f3873 [CONFIGURATION]
* NEW: Add "-march=native" to the compilation flags. Maybe it could speed up then interpretrer a bit?

[DEVELOPMENT ENVIRONMENT]
* NEW: Connection editor: Update layout.
* NEW: Form editor: Clicking on the master selection selects the parent control.

[WEB SITE MAKER]
* NEW: Update for 3.8.4 version.

[GB.DB]
* BUG: Default values are now correctly taken into account by database templates.

[GB.DB.SQLITE3]
* BUG: Fix a possible uninitialized allocation of columns names.

[GB.UTIL]
* NEW: Class.Stat() class name argument now allows "../" in the name to search for classes in parent components.

[GB.WEB]
* NEW: Request.Language returns the main language requested by the HTTP client. This value can be directly assigned to System.Language.
* NEW: Session.Size returns the size of the session file in bytes.

[GB.WEB.FORM]
* NEW: Automatic management of favicon. The application favicon must be a file named "favicon.png" in the ".public" directory.
* NEW: The Align class for alignment constants.
* NEW: WebControl: Any control can raise a Message event now.
* NEW: The Message boxes now raise the "Message" event of the WebControl that opened the message box. If the event is not handled, then the event is raised by the WebForm of the control.
* NEW: The Select class for selection mode constants.
* BUG: WebComboBox: Define the default event.
* NEW: WebContainer: Indent is a new property that allows to add a left padding to the container.
* NEW: WebContainer: Extra children (those created after initialization) are now recreated with their event observer and event name, provided that the event observer is another WebControl.
* NEW: WebContainer: DeleteChildren() is a new method that deletes all container children.
* NEW: WebExpander: New container that implements an expander.
* NEW: WebForm: Teh application language now automatically switches to the language requested by the HTTP client.
* BUG: WebForm: Show() and ShowModal() method now raise the Open event.
* NEW: WebLabel: Add the Border property to the property list.
* NEW: WebLabel: Newlines in label text are automatically replaced by "<br>".
* NEW: WebTable: New control that implements an HTML table with automatic scrollbars. It gets its data through a Data event, and only displays the first hundred elements by default. A button allows to increase the number of displayed elements.
  The 'Mode' property allows to define the selection mode. When rows are selectable, an extra columns is added, with radion buttons on single selection mode, and checkboxes on multiple selection mode. The indexes of selected rows is returned by
  the 'Selection' property.
* BUG: Many fixes in the default stylesheet.


git-svn-id: svn://localhost/gambas/trunk@7536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-12-27 18:16:32 +00:00
Benoît Minisini
fca1fb8e0e [DEVELOPMENT ENVIRONMENT]
* BUG: Fix image selection when the allowed image root directory is the
  '.public' special directory.
* NEW: Replace 'WebformImage' property kind by 'WebImage'.
* BUG: Form editor: Fix automatic arrangement.
* NEW: Form editor: Allow background and foreground toolbar buttons for
  WebForms.
* BUG: WebImage can display SVG files too.

[GB.WEB.FORM]
* NEW: Add some new color constants to the Color class.

[GB.GEOM]
* NEW: Move the declaration of alignment constants there.
* NEW: Rect.Stretch() is a new method that stretches a rectangle so that it
  fits inside another rectangle frame while keeping its proportions.
* NEW: RectF.Stretch() is a new method that stretches a rectangle so that
  it fits inside another rectangle frame while keeping its proportions.


git-svn-id: svn://localhost/gambas/trunk@7505 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-12-05 18:44:58 +00:00
Benoît Minisini
beeabd049f [DEVELOPMENT ENVIRONMENT]
* NEW: Put the WebView icon in the IDE.

[GB.FORM.EDITOR]
* OPT: Don't raise Cursor event if we are between calls to Begin / End or 
  during an undo or redo process.

[GB.GUI.QT.WEBKIT]
* NEW: No need to put the WebView icon there.


git-svn-id: svn://localhost/gambas/trunk@7367 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-29 15:03:16 +00:00
Benoît Minisini
afd98e3f55 [CONFIGURATION]
* NEW: Redraw many control icons.


git-svn-id: svn://localhost/gambas/trunk@7366 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-29 12:53:38 +00:00
Benoît Minisini
ade4524d67 [DEVELOPMENT ENVIRONMENT]
* BUG: Property sheet: Fix text property edit dialog.
* BUG: Property sheet: Double-clicking on read-only properties does not 
  open the text property edit dialog anymore.
  
[GB.DEBUG]
* BUG: Fix profiler error messages.
  
[GB.QT4]
* BUG: Startup forms with Visible property set to FALSE are not shown at
  startup anymore.
  
[GB.QT5]
* BUG: Startup forms with Visible property set to FALSE are not shown at
  startup anymore.


git-svn-id: svn://localhost/gambas/trunk@7355 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-27 15:11:50 +00:00
Benoît Minisini
0feacc4358 [GB.DBUS]
* BUG: Fix some memory leaks when using DBusObject and DBusVariant in a 
  method call or a reply.
* BUG: The message observer of a DBusObject may disappear while processing
  a message. Take that into account.


git-svn-id: svn://localhost/gambas/trunk@7352 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-27 02:39:16 +00:00
Benoît Minisini
966385aaa5 [GB.DB]
* BUG: Connections are now always searched in the main project archive.


git-svn-id: svn://localhost/gambas/trunk@7347 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-26 08:45:31 +00:00
Benoît Minisini
efeed5e7a8 [GB.DB]
* BUG: Result in creation mode works again.


git-svn-id: svn://localhost/gambas/trunk@7335 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-24 15:03:09 +00:00
Benoît Minisini
85a0b1f02b [GB.DB]
* NEW: Finish support of "forward-only" Result objects.

[GB.DB.ODBC]
* NEW: Clean-up a bit the query_fill() function.


git-svn-id: svn://localhost/gambas/trunk@7334 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-24 00:22:57 +00:00
Benoît Minisini
abf1ba8cbf [DEVELOPMENT ENVIRONMENT]
* NEW: New project creation dialog based on template projects located in
  '/usr/share/gambas3/template' and in '~/.local/share/gambas3/template'.
  These are default directories, they may change according to your gambas
  installation prefix and home directory configuration.

[TEMPLATES]
* NEW: Project templates. There are only two at the moment, others will
  come.

git-svn-id: svn://localhost/gambas/trunk@7321 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-18 00:41:43 +00:00
Benoît Minisini
fe4f8c5e7a [GB.DB]
* NEW: Support for "forward only" Result.


git-svn-id: svn://localhost/gambas/trunk@7315 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-16 19:49:34 +00:00
Benoît Minisini
464f88e1fd [INTERPRETER]
* BUG: Debugger: Breakpoints now work correctly when some global variables 
  are declared after a function.


git-svn-id: svn://localhost/gambas/trunk@7314 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-16 00:10:14 +00:00
Benoît Minisini
991f685a3c [INTERPRETER]
* NEW: Component.FindFromPath() is a new method that returns the name of 
  the component a relative path belongs to.
* BUG: Fix the internal method that returns the component a relative path 
  belongs to.

[ARCHIVER]
* NEW: Better verbose mode.

[GB.GUI.BASE]
* NEW: Use the new Component.FindFromPath() method.

[GB.IMAGE]
* NEW: Color[].Luminance returns the luminance information of a color.


git-svn-id: svn://localhost/gambas/trunk@7309 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-14 10:53:02 +00:00
Tobias Boege
24e542b4c5 [GB.INOTIFY]
* BUG: (Bug 730) Don't pass NULL key and zero length to GB.HashTable.Remove()
* OPT: Use GB.StringLength() where possible



git-svn-id: svn://localhost/gambas/trunk@7303 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-12 19:52:38 +00:00
Tobias Boege
360a13ddc9 [GB.INOTIFY]
* BUG: (Bug 730) Don't rely on GB.NewString() to NUL-terminate the string



git-svn-id: svn://localhost/gambas/trunk@7300 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-12 17:09:08 +00:00
Benoît Minisini
c284885cb9 [GB.EVAL]
* BUG: Now lines of any length can be highlighted.


git-svn-id: svn://localhost/gambas/trunk@7278 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-06 12:36:33 +00:00
Benoît Minisini
dfcb60106e [DEVELOPMENT ENVIRONMENT]
* BUG: Some HiDPI fixes.

[GB.FORM]
* NEW: Stock icon default sizes ("small", "medium"...) are now proportional
  to Desktop.Scale by steps of 8 pixels. This is for HiDPI support.
* NEW: Wizard BeforeChange event can be cancelled now.

[GB.FORM.MDI]
* NEW: Toolbar tries to update the size of its icons when the font changes.

[GB.GTK]
* NEW: Window now raises a Font event when its font changes.

[GB.GTK3]
* NEW: Window now raises a Font event when its font changes.

[GB.GUI.BASE]
* NEW: TreeView items height padding is now proportional to Desktop.Scale.

[GB.QT4]
* NEW: Window now raises a Font event when its font changes.

[GB.QT5]
* NEW: Window now raises a Font event when its font changes.


git-svn-id: svn://localhost/gambas/trunk@7228 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-08-18 15:19:22 +00:00
Benoît Minisini
6b5790f7f9 [DEVELOPMENT ENVIRONMENT]
* BUG: Packager wizard: When creating a package from a component project,
  warn the user if the project name is not prefixed by a vendor name and
  a dot, and stop the process.

[GB.GUI.BASE]
* NEW: IconView: Draw is a new event that is raised when just after a 
  specific IconView item has been drawn.
* NEW: IconView: Draw the hovered item differently.
* BUG: IconView: Fix bad detection of hovered item.
* NEW: IconView: Take the icon shape into account when doing a rectangle
  selection.

[GB.DRAW]
* NEW: Paint.Zoom now draws its grid with a dashed line using the specified 
  grid color and its inverse.


git-svn-id: svn://localhost/gambas/trunk@7186 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-15 02:09:42 +00:00
Benoît Minisini
1a804d1e45 [DEVELOPMENT ENVIRONMENT]
* NEW: The "Show search window" button in the search list does not reset
  the searching context to the current procedure anymore. It keeps the
  current context unchanged instead.

[GB.DRAW]
* NEW: Paint.ZoomImage used dash pattern to draw the zoom grid.

[GB.FORM]
* NEW: ImageView uses #808080 as grid color.

[GB.FORM.EDITOR]
* BUG: TextEditor: Don't reset an editor getting the focus. Do it only if 
  needed.


git-svn-id: svn://localhost/gambas/trunk@7175 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-07 20:51:57 +00:00
Benoît Minisini
417bfb8685 [INTERPRETER]
* NEW: GB.GetReturnValue() is a new interpreter API that returns a pointer
  to the internal GB_VALUE slot where GB.ReturnXXX() functions store the
  return value.
* NEW: Allow a component to declare a GB_AFTER_INIT() exported method that
  is called just after all the components declared in the project are 
  completely loaded.
  
[GB.DBUS]
* NEW: DBus._HasSystemTray() is a new method that returns if the DBus 
  system tray is present. That method is used by the 'gb.gui.trayicon'
  component to know if 'gb.dbus.trayicon' must be loaded.
* BUG: Fix xml introspection analysis.

[GB.DBUS.TRAYICON]
* BUG: Remove debugging messages.
* BUG: TrayIcon icon data is sent correctly now.

[GB.GUI.TRAYICON]
* NEW: New component that you must check if you want to have system tray
  icons. It loads 'gb.dbus', use DBus._HasSystemTray() to know if it can
  load 'gb.dbus.trayicon'. Otherwise it tells the current GUI component to
  declare the old system tray implementation classes.

[GB.GTK]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
  the old system tray icon and use them on demand.

[GB.GTK3]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
  the old system tray icon and use them on demand.

[GB.QT4]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
  the old system tray icon and use them on demand.

[GB.QT5]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
  the old system tray icon and use them on demand.


git-svn-id: svn://localhost/gambas/trunk@7170 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-03 22:18:58 +00:00
Benoît Minisini
29fe0bc6a6 [INTERPRETER]
* NEW: GB.GetProperty() API now returns the property value as a GB_VALUE 
  pointer, or NULL if the property could not be read.

[GB.DB.POSTGRESQL]
* BUG: Fix a compilation warning.

[GB.DBUS]
* NEW: DBusVariant.Signature is now a constant, not a property anymore.
* NEW: DBusVariant() static method has been removed.
* NEW: DBusVariant.Value is now writable.
* NEW: DBusVariant now can be inherited. Use the value of the Signature 
  constant for introspection of methods and properties using a child class
  of DBusVariant.
* BUG: Show the org.freedesktop.DBus.Peer interface in introspection.
* BUG: The org.freedesktop.DBus.Properties.GetAll method now works 
  correctly.
* BUG: Correctly handle array datatypes.
* BUG: Correctly marshall DBus structures and arrays.
* BUG: Correctly handle NULL values.

[GB.FORM.EDITOR]
* BUG: TextEditor: Better detect cursor position when clicking in the 
  editor with the mouse.

[GB.FORM.STATUSICON]
* NEW: New component that provides a StatusIcon that is a TrayIcon using 
  the Status Notifier DBus specification (i.e. the new protocol). It should
  only works with KDE at the moment.

[GB.IMAGE]
* NEW: Implement all possible image format conversions.


git-svn-id: svn://localhost/gambas/trunk@7150 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-27 21:26:32 +00:00
Benoît Minisini
044be25e9e [GB.CLIPPER]
* BUG: Polygon.AddPoint() now works correctly.


git-svn-id: svn://localhost/gambas/trunk@7140 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-18 23:53:23 +00:00
Tobias Boege
ba3251c890 [GB.CLIPPER]
* BUG: Put arguments to Polygon._put() in the correct order.



git-svn-id: svn://localhost/gambas/trunk@7139 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-18 09:59:26 +00:00
Benoît Minisini
fd60cd1bec [DEVELOPMENT ENVIRONMENT]
* NEW: Database editor: The import CSV dialog is now a wizard.

[GB.DB]
* BUG: Fix a crash when creating twice the same table with the same
  connection.

[GB.FORM]
* NEW: Spinner: Display the label below the rotating spinner.
* NEW: Spinner.Wait() is a new method that calls the event loop, and 
  ensures that it is not called more than every 200 milliseconds.
* BUG: Wizard: Animation is correct now when the Border property is set.

[GB.QT4]
* BUG: Showing a window now automatically raises it.

[GB.QT5]
* BUG: Showing a window now automatically raises it.


git-svn-id: svn://localhost/gambas/trunk@7138 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-17 21:25:02 +00:00
Benoît Minisini
ed2a0c978a [WIKI CGI SCRIPT]
* NEW: Command for generating the package dependencies table.

[GB.COMPRESS.BZLIB2]
* NEW: Make that compress driver an explicit component.

[GB.COMPRESS.ZLIB]
* NEW: Make that compress driver an explicit component.

[GB.FORM.EDITOR]
* BUG: TextEditor: The right mouse button now has no effect to allow the
  popup menu to act on the current selection or cursor position.


git-svn-id: svn://localhost/gambas/trunk@7134 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-14 22:10:16 +00:00
Benoît Minisini
fb824c9261 [GB.FORM]
* NEW: SliderBox: The slider has always a space for the possible minus sign.

[GB.GUI.QT]
* NEW: Print a warning message if GB_GUI contains an unsupported component.

[GB.QT5]
* NEW: Desktop.Screenshot does not use the deprecated API anymore.


git-svn-id: svn://localhost/gambas/trunk@7107 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-30 18:03:29 +00:00
Benoît Minisini
c31ba82e67 [GB.GUI.QT.WEBKIT]
* BUG: Forgot to add the source files!


git-svn-id: svn://localhost/gambas/trunk@7102 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-28 10:09:28 +00:00
Benoît Minisini
b688648728 [DEVELOPMENT ENVIRONMENT]
* NEW: Use the new QT4/QT5 switcher components.
* NEW: Support for QT5 component.

[GB.FORM]
* NEW: New syntaxes in 'icon.map' file that allows to specify different 
  icons for small or big sizes.
* NEW: New 'user' and 'group' icons.

[GB.FORM.STOCK]
* NEW: New 'user' and 'group' icons.

[GB.GUI.QT]
* NEW: New QT4/QT5 switcher component.

[GB.GUI.QT.WEBKIT]
* NEW: New QT4/QT5 WebKit switcher component.

[GB.QT4]
* BUG: Remove a debugging message in Style.Name property.
* BUG: Trigger pending focus and activate events before showing a modal 
  dialog.

[GB.QT5]
* BUG: Remove a debugging message in Style.Name property.
* BUG: Trigger pending focus and activate events before showing a modal 
  dialog.



git-svn-id: svn://localhost/gambas/trunk@7101 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-28 10:08:13 +00:00
Benoît Minisini
245ab1870d [DEVELOPMENT ENVIRONMENT]
* NEW: System information: Search for QT5 core library.

[EXAMPLES]
* BUG: Fix Browser example.

[GB.FORM]
* BUG: Fix stock icon map for breeze icon theme.

[GB.GUI]
* NEW: Use gb.qt5 if the current desktop is KDE5.

[GB.GUI.OPENGL]
* NEW: Support for gb.qt5.opengl.

[GB.QT4]
* BUG: Fix component name in warning messages.

[GB.QT5]
* NEW: Qt 5.4 is now required, because of gb.qt5.opengl.
* BUG: Fix component name in warning messages.

[GB.QT5.OPENGL]
* NEW: QT5 OpenGL support component.


git-svn-id: svn://localhost/gambas/trunk@7076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-11 01:46:36 +00:00
Benoît Minisini
9180e0b643 [GB.SIGNAL]
* BUG: Raise an error instead of panicking when trying to catch the SIGKILL 
  or SIGSTOP signal.


git-svn-id: svn://localhost/gambas/trunk@7039 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-04-15 17:17:50 +00:00
Benoît Minisini
38c2a48fc7 [GB.DB]
* BUG: Fix a memory leak in the Connection.Delete() method.


git-svn-id: svn://localhost/gambas/trunk@7027 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-04-11 08:37:24 +00:00
Benoît Minisini
706648c7c8 [WEBSITE MAKER]
* NEW: Upgrade to 3.7.1 version.

[GB.DB]
* NEW: Connection.SQL is a new property that returns a new SQLRequest 
  object that can be used for forging a SQL request whose syntax is adapted
  to the target connection.
* NEW: SQLRequest is a new class that helps to build a SQL request whose 
  syntax is adapted to a specific connection. The name of table fields are 
  always quoted so that they can include reserved characters.

[GB.DB.FORM]
* NEW: Use the new SQL property of the Connection object to build request.
* BUG: Fields with special characters in their name are now correctly
  quoted, thanks to the new SQL forgin mechanism.

[GB.DB]
* BUG: Don't crash when a SQLite database is not found and if the hostname 
  is null.
* NEW: GB_DB_DEBUG is a new environmental variable that allows to 
  externally set the DB.Debug property.
  
[GB.EVAL.HIGHLIGHT]
* NEW: SQL higlighting: the '`' quote character is taken into account now.


git-svn-id: svn://localhost/gambas/trunk@7020 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-04-03 21:11:18 +00:00
Benoît Minisini
855cd1218c [GB.DRAW]
* BUG: Fix Paint text method signatures.


git-svn-id: svn://localhost/gambas/trunk@6990 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-15 15:17:31 +00:00
Benoît Minisini
789deb8b65 [CONFIGURATION]
* BUG: Forgot to package 'main/lib/gb.component' file.


git-svn-id: svn://localhost/gambas/trunk@6968 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-10 12:27:08 +00:00
Benoît Minisini
298d0f54a0 [GB.DB]
* NEW: Add a Connections.Count property that returns the number of 
  connections defined in the current project / executable.


git-svn-id: svn://localhost/gambas/trunk@6954 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-07 10:26:01 +00:00
Benoît Minisini
c97a5b6349 [GB.DRAW]
* NEW: Don't clip the area argument of Paint.Begin().


git-svn-id: svn://localhost/gambas/trunk@6951 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-06 12:54:47 +00:00
Benoît Minisini
25a01ce68a [GB.DRAW]
* BUG: Fix Paint.Begin() signature.


git-svn-id: svn://localhost/gambas/trunk@6940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-02 21:33:29 +00:00
Benoît Minisini
e55a104121 [GB.DRAW]
* BUG: Using Paint.Begin() on an already painted device automatically calls
  Paint.Save(), and Paint.Restore() will be called with Paint.End().


git-svn-id: svn://localhost/gambas/trunk@6939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-02 21:14:20 +00:00
Benoît Minisini
cadfc8ba99 [GB.DRAW]
* BUG: Allow Paint.Begin() drawing areas to be imbricated.


git-svn-id: svn://localhost/gambas/trunk@6938 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-02 21:08:09 +00:00
Benoît Minisini
a07a02c086 [GB.DRAW]
* BUG: The optional painting area is correclty reset after a call to 
  Paint.Reset().
 

git-svn-id: svn://localhost/gambas/trunk@6936 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-02 18:20:56 +00:00
Benoît Minisini
7d72df028f [GB.DRAW]
* NEW: Paint.Begin() now takes a new optional argument that allows to 
  define the painting area as a sub-rectangle of the painting device.


git-svn-id: svn://localhost/gambas/trunk@6935 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-02 18:03:31 +00:00
Benoît Minisini
be3411f211 [GB.PAINT]
* BUG: The PathExtents.Merge() method does not crash anymore.

[GB.V4L]
* BUG: Fix type in error messages.


git-svn-id: svn://localhost/gambas/trunk@6903 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-02-20 19:59:09 +00:00
Benoît Minisini
50fba09151 [CONFIGURATION]
* NEW: Compile and install gb.report2 component.

[DEVELOPMENT ENVIRONMENT]
* NEW: Add support for gb.report2 and gb.scanner.
* BUG: Correctly reset Application.Busy when opening a connection fails.
* BUG: Project property dialog: Fix management of required components.
* NEW: Project property dialog: Add management of excluded components.

[GB.DB]
* NEW: More detailed error message for SQLite connections.

[GB.DB.SQLITE3]
* NEW: More detailed error message for SQLite connections.


git-svn-id: svn://localhost/gambas/trunk@6892 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-02-05 20:34:44 +00:00
Benoît Minisini
f6106901a8 [GB.DB]
* BUG: Don't crash when opening a connection if the database driver is 
  unknown or not specified.


git-svn-id: svn://localhost/gambas/trunk@6870 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-25 22:49:31 +00:00
Benoît Minisini
f6464dfe3d [GB.DB]
* BUG: Fix a crash when using the Connection.Collation property on a not 
  yet opened connection.
* BUG: The timeout is now really taken into account at database opening, 
  and it is 20 seconds by default as wanted initially.


git-svn-id: svn://localhost/gambas/trunk@6850 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-21 21:22:26 +00:00
Benoît Minisini
2599961aca [DEVELOPMENT ENVIRONMENT]
* NEW: Get rid of the new warnings.
* NEW: Support for arguments without a datatype in function signatures.
* NEW: [ALT] + any brace character is a new editor shrotcut that add or 
  remove braces around the current word. Same thing for [ALT] + [<] or [>].
* NEW: Property editor: Add a clear button. Replace the MenuButton by a
  normal ComboBox.

[INTERPRETER]
* NEW: Support for the new '*.list' file format.

[COMPILER]
* NEW: New '*.list' file format that marks classes having static elements.
* NEW: A warning is emitted when a class having static elements is 
  overriden by a declaration. This is suspicious.
* NEW: A symbol in a local variable declaration, or a global variable or 
  property declaration can now be surrounded by braces to prevent a 
  possible warning.

[GB.FORM]
* NEW: Get rid of the new warnings.
* NEW: TabPanel[].Closable is a new property that defines if a specific tab
  has a close button.

[GB.FORM.MDI]
* NEW: Workspace: Try to minimize flickering during resizing. Not very
  successful.


git-svn-id: svn://localhost/gambas/trunk@6838 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-16 00:31:59 +00:00
Benoît Minisini
bf7e0659bd [WIKI]
* NEW: Take '*.help' help files into account.

[GB.DATA]
* NEW: Disable the help file generation from sources. It is useless for
  normal users.


git-svn-id: svn://localhost/gambas/trunk@6834 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-13 20:01:40 +00:00
Benoît Minisini
61e61e2dfa [HELP EXTRACTOR]
* NEW: Analyze the source files without 'gb.pcre'.

[GB.DATA]
* NEW: Activate help extraction from source files.


git-svn-id: svn://localhost/gambas/trunk@6831 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-12 20:04:33 +00:00
Benoît Minisini
d050bcab25 [CONFIGURATION]
* NEW: Modify the installation process so that it will be able to run the 
  'gbh3' tool to extract help from component source files. Not usable yet
  as long as 'gbh3' depends on 'gb.pcre'.

[HELP EXTRACTOR]
* NEW: Move 'gbh3' project from '/app/src' to '/main/tools'.
* NEW: Add new options that are needed by the installation process.


git-svn-id: svn://localhost/gambas/trunk@6829 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-11 23:41:41 +00:00
Benoît Minisini
fea6d3c2dd [DEVELOPMENT ENVIRONMENT]
* NEW: Use row borders in project property component list. But still use 
  cell borders in component / library requirements!

[GB.GEOM]
* BUG: RectF: Fix the implementation of several methods and properties.

[GB.GUI.BASE]
* NEW: Redesign the Border methods signature. They take a RectF instead of
  X, Y, Width, Height arguments.
* NEW: Border.GetRect() is a new method that returns the available border 
  inside as an integer rectangle.
* NEW: Border(...) now create a new Border object, like the constructor.
* NEW: Border.IsVoid() returns if the Border object will actually draw a
  border. The slash and backslash strokes are not taken into account.
* NEW: GridView.Collapse has been removed. Margin are always collapsed for
  row borders, and never collapsed for cell borders.
* BUG: GridView borders now work as expected.


git-svn-id: svn://localhost/gambas/trunk@6817 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-07 18:17:01 +00:00
Benoît Minisini
6b10bb831d [DEVELOPMENT ENVIRONMENT]
* NEW: Component/Library dependencies now are chosen from a new component 
  selection dialog.
* BUG: Database editor: Support for requests beginning with "WITH" or 
  "PRAGMA".

[WIKI CGI SCRIPT]
* NEW: New login panel.
* BUG: Fix creatable class detection.

[GB.FORM]
* BUG: IconPanel: The mouse wheel cannot select hidden tabs anymore.
* BUG: Wizard: Remove default padding for wizards having a border.

[GB.GUI.BASE]
* BUG: Border: Rewrite the painting routine. Simplify the clipping to help
  workaround Qt4 bugs.

[GB.DB.SQLITE]
* NEW: Mark the component as deprecated.

[GB.DB.SQLITE3]
* BUG: Support for PRAGMA requests. Start cleaning up the horrible C++ 
  classes.

[GB.QT4]
* BUG: Simplify the clipping management, because the old one was based on 
  the QPainterPath::intersected() Qt method that is buggy. Clipping mixed 
  with world transform matrix has still to be checked.


git-svn-id: svn://localhost/gambas/trunk@6815 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-06 22:44:35 +00:00
Tobias Boege
0e069f3d04 [GB.DATA]
* BUG: GraphMatrix: Multiple simultaneous enumerations are possible now.



git-svn-id: svn://localhost/gambas/trunk@6807 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-04 18:32:33 +00:00
Benoît Minisini
e624fc7361 [DEVELOPMENT ENVIRONMENT]
* NEW: Project properties dialog: Make component filters visible again.
* NEW: Project properties dialog: To get help on a component, you have to
  double-click on it now. It opens a embedded web browser on the help. The
  back button of the browser goes back to the component list.

[WIKI CGI SCRIPT]
* NEW: Always put the login panel at the bottom of the startup page.


git-svn-id: svn://localhost/gambas/trunk@6803 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-03 21:52:17 +00:00
Benoît Minisini
d3ebb6ccc8 [CONFIGURATION]
* NEW: Update the state of many components.

[DEVELOPMENT ENVIRONMENT]
* NEW: The project property dialog now uses an IconPanel.
* NEW: New design of the component tab in the project property dialog.

[GB.GUI.BASE]
* NEW: GridView: The background of the sorted column is now lighter.

[GB.QT4.WEBKIT]
* NEW: WebView.History is a new virtual access to get the number of entries 
  in the history, to set or get the current history entry index, and to get
  or set the history maximum capacity.


git-svn-id: svn://localhost/gambas/trunk@6788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-01 11:46:48 +00:00
Benoît Minisini
3d5894d409 [COMPILER]
* BUG: Fix a badly initialized variable in syntax tree analyze, that could
  lead to spurious "Expression too complex" errors.

[GB.EVAL]
* BUG: Fix a badly initialized variable in syntax tree analyze, that could
  lead to spurious "Expression too complex" errors.


git-svn-id: svn://localhost/gambas/trunk@6762 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-22 17:41:16 +00:00
Tobias Boege
4c704fd2d5 [GB.DATA]
* BUG: GraphMatrix.Add() does not add identical vertices multiple times
  anymore.



git-svn-id: svn://localhost/gambas/trunk@6752 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-19 17:57:18 +00:00
Benoît Minisini
00a8259d59 [GB.DRAW]
* BUG: Raise an error if an immediate Paint drawing routine 
  (Paint.DrawImage, Paint.DrawText...) is called while there is a current 
  path, because this is not supported by gb.gtk.


git-svn-id: svn://localhost/gambas/trunk@6742 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-14 22:27:44 +00:00
Tobias Boege
fcf84aebfc [GB.DATA]
* BUG: Graph: Add the Weight property to the edge interface.



git-svn-id: svn://localhost/gambas/trunk@6731 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-13 13:27:33 +00:00
Benoît Minisini
70fb104425 [GB.DB]
* BUG: Don't crash when trying to open a non-existing sqlite database with 
  the 'sqlite' pseudo-driver.


git-svn-id: svn://localhost/gambas/trunk@6705 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-02 08:28:24 +00:00
Tobias Boege
4333eb8046 [GB.DATA]
* BUG: Trie: Fix a memory leak when an object is replaced



git-svn-id: svn://localhost/gambas/trunk@6701 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-01 22:39:28 +00:00
Tobias Boege
182b46c308 [GB.DATA]
* NEW: Trie: New Add() and Remove() cosmetic methods.



git-svn-id: svn://localhost/gambas/trunk@6699 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-01 16:31:30 +00:00
Tobias Boege
bf997fb0f3 [GB.DATA]
* BUG: Trie: Use sufficient bit widths in numerical constants (could cause
  data loss on 32 bit systems).
* BUG: TriePrefix: Don't drop reference counts of the Trie when the prefix
  is not found.



git-svn-id: svn://localhost/gambas/trunk@6688 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-29 18:55:41 +00:00
Benoît Minisini
334c9d8beb [DEVELOPMENT ENVIRONMENT]
* NEW: Experimental "Gambas Software Farm" dialog. It allows to browse a 
  farm server, but voting and installing are not yet possible.
* NEW: Requests to the farm server are now displayed in a modal dialog with
  an optional progress bar.

[FARM SERVER]
* BUG: Fix many bugs.
* NEW: Search software by tags.

[GB.DB]
* BUG: Connections: Fix a not enough argument error.

[GB.FORM]
* NEW: URLLabel is a new control that displays a clickable URL. If the 
 'gb.desktop' component is loaded, then a browser is automatically opened 
  when clicking on the link.

[GB.GUI.BASE]
* NEW: ProgressBar now has a flat look. And a new Border property that
  allows to hide the border.

[GB.NET.CURL]
* NEW: HttpClient and FtpClient now raise a 'Cancel' event when their 
  Stop() method is called.
* BUG: Found a workaround for having accurate upload progress data.
* NEW: HttpClient.CopyFrom() is a new method that allows to fill an 
  HttpClient object with the configuration of another HttpClient object.

[GB.QT4]
* BUG: Do not use 'QEventLoop::DeferredDeletion' anymore, it is deprecated.
  Use qApp->sendPostedEvents() instead.


git-svn-id: svn://localhost/gambas/trunk@6665 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-23 02:22:57 +00:00
Benoît Minisini
ca89cbf459 [GB.DB]
* BUG: Fix Connection.ApplyTemplate() method.


git-svn-id: svn://localhost/gambas/trunk@6660 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-19 21:54:05 +00:00
Benoît Minisini
61cae601aa [WIKI SERVER]
* BUG: Some style fixes for lists.
* NEW: Automatically use the english page if the current page has not been 
  translated.
* NEW: Automatically use the parent class if possible when a symbol page 
  does not exist.

[GB.DB]
* BUG: Fix a 'not enough arguments' error in Connections.Create().

[GB.MARKDOWN]
* BUG: <hr> are now only generated from lines including only '*' or '-'. No
  space is allowed anymore.



git-svn-id: svn://localhost/gambas/trunk@6659 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-19 20:02:43 +00:00
Benoît Minisini
b0bb9fa480 [DEVELOPMENT ENVIRONMENT]
* BUG: Expression analyze now works correctly when ME or SUPER is used.

[FARM SERVER]
* NEW: Use the new automatic database creation feature.

[WIKI SERVER]
* NEW: Support for babelmark markdown syntax comparison.

[GB.DB]
* BUG: Don't crash at connection opening when no database name is 
  specified.
* NEW: The Connection class has now a part written in Gambas, and the C 
  part has been put in a parent hidden class named '_Connection'.
* NEW: Connection.GetTemplate() is a new method that return the description
  of the database as a string template.
* NEW: Connection.ApplyTemplate() is a new method that takes the previous
  template to initialize the structure of the database. If a table included
  in the description already exists, it is silently ignored.
* NEW: Connections.Create() is a new static method that create a specific
  database from a named connection and its template as saved by the IDE
  in the current project.


git-svn-id: svn://localhost/gambas/trunk@6657 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-19 18:45:18 +00:00
Benoît Minisini
dd41b47ef3 [DEVELOPMENT ENVIRONMENT]
* NEW: The structure of databases is now stored in the *.connection files.
  It will be used for an automatic database initialization feature.

[WEBSITE MAKER]
* NEW: Update for 3.6.2.

[WIKI CGI SCRIPT]
* BUG: Fix the display of page without headers.
* NEW: Indexes are now displayed on two or more columns.

[INTERPRETER]
* NEW: New GB.AllocZero() API for allocating memory and filling it with 
  zeros.

[GB.DB.MYSQL]
* OPT: Cache metadata queries during 30 secondes to speed up things.

[GB.FORM]
* NEW: MenuButton displays a focus rectangle now.

[GB.GUI.BASE]
* BUG: ProgressBar now raises native control events.


git-svn-id: svn://localhost/gambas/trunk@6652 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-16 21:40:47 +00:00
Benoît Minisini
b887ad9b70 [CONFIGURATION]
* NEW: Update versions in Gambas projects.
* BUG: Remove some '.gambas' directories that must not be under version 
  control.

[DEVELOPMENT ENVIRONMENT]
* NEW: Update the offline help to the new wiki look.
* NEW: Rename the CRecentFile class as CRecentProject.

[WIKI CGI SCRIPT]
* NEW: Some little changes in the look.

[GB.FORM]
* BUG: SwitchButton: Remove a debugging message.

[GB.MARKDOWN]
* BUG: Remove the useless Markdown.Root property.


git-svn-id: svn://localhost/gambas/trunk@6638 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-11 15:36:40 +00:00
Benoît Minisini
c1010a0ff0 [INTERPRETER]
* OPT: Move some rare instructions (breakpoints & quit management) out of 
  the main interpreter loop.

[COMPILER]
* NEW: The parser now assumes that an identifier is a subroutine taking 
  some arguments only if it is followed by an open brace.

[GB.EVAL]
* NEW: The parser now assumes that an identifier is a subroutine taking 
  some arguments only if it is followed by an open brace.


git-svn-id: svn://localhost/gambas/trunk@6620 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-09 21:50:42 +00:00
Benoît Minisini
4c1be18584 [DEVELOPMENT ENVIRONMENT]
* NEW: The IDE now can edit *.gbs Gambas scripts. But there is no automatic 
  completion.
* NEW: Use labels instead of buttons inside project items.

[WEBSITE MAKER]
* NEW: Update for 3.6.1 version.

[GB.EVAL]
* NEW: Lines beginning with '#!' are highlighted like comments. It's the
  'shebang' of Gambas scripts.


git-svn-id: svn://localhost/gambas/trunk@6608 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-03 19:33:05 +00:00
Tobias Boege
59da5f36f0 [GB.DATA]
* BUG: Don't use forward typedefs as some compilers don't seem to
  understand them.
* BUG: Silence false positive compiler warnings.



git-svn-id: svn://localhost/gambas/trunk@6607 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-03 08:55:24 +00:00
Benoît Minisini
5e9eede49d [GB.DB]
* BUG: Try to retrieve the connection password only if the 'gb.desktop'
  component is loaded, and only display warning messages in that case.


git-svn-id: svn://localhost/gambas/trunk@6575 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-10-25 14:35:35 +00:00
Benoît Minisini
d57578377c [DEVELOPMENT ENVIRONMENT]
* BUG: Don't use "sTable" as field name for the metadata table, because 
  apparently "STABLE" is a reserved word in PostgreSQL. Upgrade an already
  existing metadata table automatically.
* BUG: Don't crash when starting a search from a image or connection 
  editor.

[WEBSITE MAKER]
* NEW: Update for 3.6.

[GB.DB]
* NEW: Add support for databases like PostgreSQL that are not fully case 
  insensitive.

[GB.DB.POSTGRESQL]
* BUG: Automatically convert field names to lowercase when creating a 
  table.

[GB.GUI.BASE]
* BUG: IconView item renaming don't crash anymore.


git-svn-id: svn://localhost/gambas/trunk@6559 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-10-18 13:23:29 +00:00
Benoît Minisini
bd693ee0da [CONFIGURATION]
* NEW: Update version in project files.


git-svn-id: svn://localhost/gambas/trunk@6546 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-10-13 15:52:12 +00:00
Benoît Minisini
adddbcb0cd [GB.IMAGE]
* BUG: ImageStat() does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@6536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-10-12 01:23:16 +00:00
Benoît Minisini
26f3daa0c5 [GB.FORM]
* NEW: FontChooser.ShowRelative is a new property that set if relative 
  sizes are allowed or not. They are allowed by default.

[GB.FORM.DIALOG]
* NEW: Dialog.FixedOnly is a new property to set if the font chooser will 
  show fixed fonts only.

[GB.QT4]
* BUG: DrawingArea.Clear now raises an error if the DrawingArea is cached 
  and if it currently being painted.

[GB.GTK]
* BUG: DrawingArea.Clear() works as expected now.
* BUG: DrawingArea.Clear now raises an error if the DrawingArea is cached 
  and if it currently being painted.

[GB.GTK3]
* BUG: DrawingArea.Clear now raises an error if the DrawingArea is cached 
  and if it currently being painted.
* BUG: No more warning printed when paiting or clearing a DrawingArea.


git-svn-id: svn://localhost/gambas/trunk@6528 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-10-10 19:23:44 +00:00
Benoît Minisini
c6d37cf4b8 [DEVELOPMENT ENVIRONMENT]
* NEW: Use the FontBox control in the option dialog.

[WIKI CGI SCRIPT]
* NEW: Add a preview button in editing mode.

[GB.DB]
* NEW: Database driver now have a flag to tell if they support collation or 
  not.

[GB.DB.POSTGRESQL]
* BUG: Use collation only if database version is greater or equal than 9.1.

[GB.FORM]
* NEW: Little design changes in the FontChooser control.
* BUG: Fix the FontBox control.
* NEW: FontBox.Default is a new property that defines which text is 
  displayed in the control when no font is set. By default, the application 
  default font name is used.

[GB.FORM.DIALOG]
* NEW: Add a custom font chooser dialog for Dialog.SelectFont().


git-svn-id: svn://localhost/gambas/trunk@6520 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-10-07 00:01:13 +00:00
Tobias Boege
2d81f8dff0 [GB.DATA]
* BUG: The 256 values of an input byte were mapped to just 128 bits of the
  trie children mask, so corruption could have happened with non-ASCII keys.
* BUG: Add a special case when using GB.AddString() on an empty key
* BUG: Fix a memory error from Trie.Complete()'s return value
* OPT: Use the Gambas API in trie.c to manage memory and thus remove error
  recovery since the interpreter will crash anyway
* OPT: Remove checks for "unsupported" characters as all 256 values of a
  byte are supported in this version of the code



git-svn-id: svn://localhost/gambas/trunk@6515 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-28 20:01:52 +00:00
Tobias Boege
c237307fff [GB.DATA]
* BUG: Trie: Fix Complete() method where the completion would be empty
  and a memory leak there



git-svn-id: svn://localhost/gambas/trunk@6507 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-23 19:37:58 +00:00
Tobias Boege
87c0ee3b3a [GB.DATA]
* NEW: Trie and TriePrefix are new classes which implement a Patricia Trie



git-svn-id: svn://localhost/gambas/trunk@6506 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-23 19:15:25 +00:00
Benoît Minisini
7fa6cd0569 [DEVELOPMENT ENVIRONMENT]
* NEW: Database editor: Support for the new Collation field property.

[EXAMPLES]
* BUG: PdfViewer: Some little fixes.

[GB.DB]
* NEW: Table.Fields.Add() method takes a new optional argument to define
  the field collation.
* NEW: Connection.Collations is a new property that returns the list of
  available collations as a String array.
* NEW: Field.Collation is a new property that returns the collation of a
  specific table field.

[GB.DB.MYSQL]
* NEW: Support for field collations.

[GB.DB.ODBC]
* NEW: Raise an error when trying to use collations. It is not supported.

[GB.DB.POSTGRESQL]
* NEW: Support for field collations.

[GB.DB.SQLITE2]
* NEW: Raise an error when trying to use collations. It is not supported.

[GB.DB.SQLITE3]
* NEW: Support for field collations.

[GB.QT4]
* BUG: ComboBox.Border property can be set even if it is in read-only mode.


git-svn-id: svn://localhost/gambas/trunk@6494 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-22 02:52:05 +00:00
Benoît Minisini
a3c59253f6 [INTERPRETER]
* BUG: The PUSH CHAR byte code now works correctly with ASCII code greater 
  than 127.


git-svn-id: svn://localhost/gambas/trunk@6481 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-16 01:10:58 +00:00
Benoît Minisini
3067da6c5d [DEVELOPMENT ENVIRONMENT]
* NEW: Support for the new Menu.Radio property.

[GB.DB]
* BUG: Add an explicit warning message when a connection password must be 
  retrieved and the 'gb.desktop' component is not loaded.

[GB.GTK]
* NEW: Menu has a new Radio property that defines if a menu item must act 
  as a radio button. All successive menu items having the Radio property 
  set are mutually exclusive.
* BUG: Fix how menu items are drawn.

[GB.GTK3]
* NEW: Menu has a new Radio property that defines if a menu item must act 
  as a radio button. All successive menu items having the Radio property 
  set are mutually exclusive.
* BUG: Fix how menu items are drawn.

[GB.QT4]
* NEW: Menu has a new Radio property that defines if a menu item must act 
  as a radio button. All successive menu items having the Radio property 
  set are mutually exclusive.


git-svn-id: svn://localhost/gambas/trunk@6477 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-15 03:28:41 +00:00
Tobias Boege
77ecdfeae5 [GB.DATA]
* NEW: Heap: Change the way objects are identified in Update.
* NEW: gb.data has a part written in Gambas now.
* NEW: PrioSet is a weaker (WRT ordering) variant of a PrioQueue which
  allows operations to be reasonably more efficient.



git-svn-id: svn://localhost/gambas/trunk@6472 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-14 00:18:58 +00:00
Tobias Boege
3a6db0ec55 [GB.DATA]
* NEW: Graph and GraphMatrix work now. Graph implementations in Gambas are
  as powerful as native ones.



git-svn-id: svn://localhost/gambas/trunk@6468 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-13 03:01:37 +00:00
Benoît Minisini
d67d170b61 [DEVELOPMENT ENVIRONMENT]
* BUG: Convert to uppercase or lowercase now works as expected in the code 
  editor.
* BUG: Fix the offline 'To Do' and 'Last Changes' page.

[INTERPRETER]
* NEW: Add GB_DECLARE_STATIC() macro to declare native classes, and use it 
  in many class declarations.

[GB.FORM]
* NEW: Add an history in the FileChooser and DirChooser controls.
* NEW: Add a 'link' stock icon.

[GB.GUI.BASE]
* BUG: IconView: Fix mouse handling during rubberband selection.
* NEW: IconView: Use a lighter selection colour.
* BUG: ScrollArea: Shadows are now correctly drawn whatever is done during 
  the Draw event it raises.


git-svn-id: svn://localhost/gambas/trunk@6458 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-07 21:21:14 +00:00
Tobias Boege
309d854317 [GB.DATA]
* NEW: Tweak Graph interface (still not finished)
* NEW: Add a GraphMatrix class which represents a Graph in a (non-sparse)
  adjacency matrix (not working)



git-svn-id: svn://localhost/gambas/trunk@6451 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-05 19:12:06 +00:00
Benoît Minisini
24cc2648a9 [DEVELOPMENT ENVIRONMENT]
* BUG: Image editor: Fix magic wand tool. The result is not perfect, as the
  clipper library seems to not be able to simplify paths completely.
* NEW: Add a little "open in another window" transient button in all items
  of the project list.

[GB.CLIPPER]
* NEW: Upgrade to clipper 6.1.3a.


git-svn-id: svn://localhost/gambas/trunk@6448 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-04 15:55:50 +00:00
Benoît Minisini
63cba1003e [DEVELOPMENT ENVIRONMENT]
* NEW: Use text shadow to draw project titles.

[GB.GUI.AREA]
* BUG: IconView: Clicking inside the selection now keeps it unchanged.
* BUG: Paint.DrawTextShadow() and Paint.DrawRichTextShadow() now work as 
  expected in all cases.

[GB.DRAW]
* BUG: Setting Paint.Background now resets Paint.Brush to NULL.


git-svn-id: svn://localhost/gambas/trunk@6432 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-28 00:16:06 +00:00
Benoît Minisini
07a4e58a86 [DEVELOPMENT ENVIRONMENT]
* NEW: Add 'gb.media.form' to the list of components.
* NEW: Support for the new GridView.Padding property.
* NEW: Change the way GridView and TableView are represented in the form 
  editor.

[GB.GUI.BASE]
* NEW: GridView.Padding is a new property that defines the default cell 
  padding. Its default value is 2 pixels.
* NEW: Paint.DrawTextShadow() is a new method that draws the shadow of a 
  text. Note that you must call Paint.DrawText() to draw the real text 
  below the shadow.
* NEW: Paint.DrawRichTextShadow() is a new method that draws the shadow of 
  a piece of rich text. Note that you must call Paint.DrawRichText() to 
  draw the real text below the shadow.

[GB.IMAGE]
* NEW: Allows a component that supports the Image class to have a 
  premultiplied default image format. Beware that some images methods do 
  not support premultiplied formats yet.
* NEW: Color.Transparent now is &HFF000000& and not &HFFFFFFFF anymore.

[GB.QT4]
* NEW: Use a premultiplied RGBA default format for images. 


git-svn-id: svn://localhost/gambas/trunk@6428 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-26 10:46:10 +00:00
Benoît Minisini
e5e9e513ed [DEVELOPMENT ENVIRONMENT]
* NEW: Support for classes defined twice in a component: once in the native 
  part, once in the gambas part.
* NEW: Use the new Paint.TrimText() method.

[INFORMER]
* NEW: Support for classes defined twice in a component: once in the native 
  part, once in the gambas part.

[GB.GUI.BASE]
* NEW: Paint.TrimText() is a new API that trim a text according to a 
  specified rectangle, adding an ellipsis character at the end if needed.

[GB.NET.SMTP]
* BUG: Fix a circular reference when using a normal SMTP TCP session.

[GB.QT4]
* OPT: A little optimization when drawing rich text.


git-svn-id: svn://localhost/gambas/trunk@6427 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-24 22:38:58 +00:00
Benoît Minisini
c3609f3de3 [INTERPRETER]
* BUG: Fix Swap$() function.


git-svn-id: svn://localhost/gambas/trunk@6426 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-23 15:10:11 +00:00
Benoît Minisini
705f96cdde [INTERPRETER]
* BUG: Disable profiling for forked tasks.


git-svn-id: svn://localhost/gambas/trunk@6421 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-22 19:31:51 +00:00
Tobias Boege
27007f708b [GB.DATA]
* NEW: Deque: Add a Copy() method to return a deep copy of a Deque. Stack
  and Queue "inherit" this method.



git-svn-id: svn://localhost/gambas/trunk@6407 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-07-29 11:26:46 +00:00
Benoît Minisini
6b89a4fb69 [CONFIGURATION]
* NEW: Add an gambas appdata file and install it in /usr/share/appdata.

[DEVELOPMENT ENVIRONMENT]
* BUG: ImageEditor: Fix a possible crash when pasting an image.
* BUG: Correctly detect if a project is handled by subversion or not.

[INTERPRETER]
* NEW: Replace the internal `class->state` variable by two boolean flags:
  `class->loaded` and `class->ready`.
* NEW: Overriding a class that is the parent of other classes is possible
  again. I don't remember what prevented that to work, so I want to see.

[GB.DEBUG]
* NEW: Propagate the changes in the interpreter class structure.

[GB.EVAL]
* NEW: Propagate the changes in the interpreter class structure.

[GB.GUI.AREA]
* BUG: GridView: Setting the background color correctly refreshes the 
  control.

[GB.JIT]
* NEW: Propagate the changes in the interpreter class structure.

[GB.NET.SMTP]
* NEW: Replace the old gb.net.smtp component written in C and Gambas by a
  new component with the same name entirely written in Gambas.
* BUG: Fix the authentication process.
* BUG: Fix how the result of the EHLO command is read.

[GB.QT4.EXT]
* NEW: LCDNumber control is now put in a "Deprecated" tab in the IDE 
  control toolbar.


git-svn-id: svn://localhost/gambas/trunk@6403 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-07-28 05:35:58 +00:00
Tobias Boege
60e7c3e7ba [GB.DATA]
* NEW: Heap is a new class that implements a Min- or MaxHeap, depending upon
  a mode parameter to its constructor. It supports some advanced ways to
  manipulate the contained data -- beyond the first entry.



git-svn-id: svn://localhost/gambas/trunk@6402 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-07-28 03:34:24 +00:00
Tobias Boege
d3ec79a214 [GB.INOTIFY]
* NEW: Add Pause() and Resume() methods to pause and resume a watch.
  IsPaused can be used to read/set/toggle the "paused" state.



git-svn-id: svn://localhost/gambas/trunk@6400 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-07-28 02:14:37 +00:00
Tobias Boege
46ebc2acb4 [GB.DATA]
* NEW: First attempt to define a Graph class interface



git-svn-id: svn://localhost/gambas/trunk@6372 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-07-12 00:20:35 +00:00
Benoît Minisini
dc5875f9d3 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix a possible crash when highlighting source code positions in the 
  output window.
* BUG: Hitting ENTER key in the project tree filter now works correctly, 
  and open the first matching file if none is selected.

[GB.DESKTOP]
* BUG: Requires gb.desktop.x11 explicitely now.

[GB.GTK]
* BUG: System tray icons deletion is delayed now. It prevents spurious GTK+
  warnings that appear if you hide an icon during inside an event handler.

[GB.IMAGE]
* BUG: Rewrite the ImageStat class source code because the PHP licence is 
  not compatible with the GPL.

[GB.QT4]
* BUG: System tray icons deletion is delayed now, to avoid a crash if you
  hide an icon during inside an event handler.


git-svn-id: svn://localhost/gambas/trunk@6344 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-06-26 20:00:13 +00:00
Benoît Minisini
7abbd5e799 [DEVELOPMENT ENVIRONMENT]
* BUG: Don't check conflict on project configuration file if that files 
  does not exist.

[INTERPRETER]
* OPT: Move the string splitting routine in its own file and optimize it.

[INFORMER]
* BUG: Remove unneeded parenthesis on a test.

[GB.CLIPPER]
* BUG: Remove an unused variable.

[GB.DESKTOP]
* BUG: Fix error message in DesktopMime.

[GB.FORM]
* BUG: MaskBox: Raise the Change event after moving the cursor, so that it 
  behaves exactly like a TextBox.

[GB.FORM.MDI]
* NEW: Workspace: Count the number of detached windows so that the "detach 
  current tab" menu entry is disabled when needed.

[GB.GTK]
* BUG: Window.Utility should work even if the window is mapped now.

[GB.GTK3]
* BUG: Window.Utility should work even if the window is mapped now.

[GB.NET.PO3]
* NEW: Add a void constructor to the Pop3Client class for the 
  documentation.


git-svn-id: svn://localhost/gambas/trunk@6285 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-23 11:52:04 +00:00
Benoît Minisini
123baa9b6f [GB.DEBUG]
* BUG: Fix a possible crash if the debugged process is stopped during the 
  Debug Read event.


git-svn-id: svn://localhost/gambas/trunk@6275 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-18 21:24:27 +00:00
Benoît Minisini
ea30c3ba1b [DEVELOPMENT ENVIRONMENT]
* NEW: Add a echo button in the output console, that echoes the entered 
  command.

[WIKI]
* NEW: Add a HTTP server requests graph.

[INTERPRETER]
* BUG: The debugger does not change the Key property of collections when
  displaying them.
* NEW: Collection.Key is writable now.

[GB.FORM]
* NEW: FontChooser: Always reset sample text at first use.
* BUG: FontChooser: Fix the behaviour when size changes.


git-svn-id: svn://localhost/gambas/trunk@6222 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-05 00:28:41 +00:00
Tobias Boege
b0e1b58d10 [GB.INOTIFY]
* BUG: Don't re-typedef CINFO.



git-svn-id: svn://localhost/gambas/trunk@6190 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-03-03 22:07:32 +00:00
Benoît Minisini
33ccdc039a [GB.COMPLEX]
* BUG: Conversion from complex to number now returns the real part if the 
  imaginary part is null, and raises an error otherwise. It does not return
  the complex modulus anymore. Use Abs() for that.


git-svn-id: svn://localhost/gambas/trunk@6157 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-02-14 23:17:45 +00:00
Tobias Boege
da8305456c [GB.INOTIFY]
* NEW: Rename the PathWatch class to Watch.
* NEW: Generalise the events raised by the class for future portability.
* NEW: Add static properties Name, IsDir, Unmount and Cookie and remove the
  corresponding event handler arguments.
* NEW: Do not automatically reference a Watch anymore to keep it sane.
* BUG: Automatic detection of watch events works now (#6115).
* BUG: Invalidate Watch objects when the kernel tells us to.
* BUG: Don't enter an infinite loop if some event bits are not recognised.
* OPT: Use hash tables to improve lookups.



git-svn-id: svn://localhost/gambas/trunk@6147 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-02-09 21:23:05 +00:00
Benoît Minisini
5a61180b86 [CONFIGURATION]
* NEW: Dutch translation updated in many places.

[DEVELOPMENT ENVIRONMENT]
* NEW: New option to run a program inside a true virtual terminal, but its 
  standard error output is redirected to the IDE console.

[WIKI]
* NEW: New Gambas wiki CGI script. It aims at replacing the current wiki. 
  Currently in development...

[INTERPRETER]
* NEW: A new '-t' hidden command-line argument to support redirecting the
  standard error output to a named pipe.

[GB.IMAGE]
* BUG: Link with the mathematic library as the pow() function is used for
  the image gamma filter.

[GB.MARKDOWN]
* NEW: Markdown.Line is a new property that returns the current line if an 
  error occurs while converting markdown syntax to HTML.
* NEW: Support for custom commands "{@...}".
* NEW: The quote characters has the same effect as the backquote character, 
  except that markdown is allowed inside.

[GB.QT4]
* BUG: Clipboard.Paste() now returns the image when there is both image and 
  text inside the clipboard.



git-svn-id: svn://localhost/gambas/trunk@6146 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-02-09 16:00:13 +00:00
Benoît Minisini
2d11aab2db [DEVELOPMENT ENVIRONMENT]
* BUG: Fix word separators in text editor automatic completion.

[EXAMPLES]
* NEW: Start a new Web application example.

[GB.FORM]
* NEW: DateChooser.MinValue is a new property that allows to define the 
  minimum date that can be selected.
* NEW: DateChooser.MaxValue is a new property that allows to define the 
  maximum date that can be selected.
* NEW: DateChooser: The mouse wheel allows to scroll months and days now.
* NEW: LCDLabel: Add support for some new characters.

[GB.GUI.BASE]
* BUG: Draw.End() now resets antialiasing to TRUE.


git-svn-id: svn://localhost/gambas/trunk@6118 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-02-01 14:25:26 +00:00
Benoît Minisini
a2c9e25e00 [COMPILER]
* BUG: Fix array creation operator when it has no arguments.

[INTERPRETER]
* BUG: Fix array creation operator when it has no arguments.


git-svn-id: svn://localhost/gambas/trunk@6114 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-28 16:17:40 +00:00
Benoît Minisini
2daefc5fa0 [INTERPRETER]
* BUG: Fix maximum number of array declaration in the same class.
* NEW: Array and Collection constructor operator [ ... ] now can take any 
  number of arguments. It is only limited by the maximum function size, 
  which leads for example to about 32000 elements for a short array.


git-svn-id: svn://localhost/gambas/trunk@6110 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-27 23:46:37 +00:00
Tobias Boege
3bece35d9b [GB.INOTIFY]
* NEW: Rename the Inotify class and descendants to PathWatch.
* NEW: Use array semantics instead of properties to manipulate event masks.
  These can operate on multiple flags simultaneously now.
* OPT: Determine the default event mask for a PathWatch object by the event
  handlers defined for it (* not working ATM).
* OPT: Save a string copy.



git-svn-id: svn://localhost/gambas/trunk@6109 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-27 21:14:58 +00:00
Tobias Boege
119ce88c3b [GB.INOTIFY]
* NEW: All event signatures got a Boolean argument to support the IN_ISDIR
  flag set by the kernel indicating that the subject was a directory.



git-svn-id: svn://localhost/gambas/trunk@6097 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-22 14:51:56 +00:00
Benoît Minisini
8c6cf71838 [DEVELOPMENT ENVIRONMENT]
* NEW: ImageEditor: A text tool has been added.
* BUG: The "open terminal" and "open file browser" toolbar icons now work 
  as expected.

[WEBSITE MAKER]
* NEW: Update for 3.5.2 release.

[INTERPRETER]
* NEW: Successives spaces in a regular expression pattern now acts like a 
  single space.

[GB.DRAW]
* NEW: Paint.PathOutline is a new property that returns a array of polygons 
  corresponding to the current drawing path.

[GB.FORM]
* NEW: FontBox is a new control that allows to select a font from a text 
  field.
* NEW: The FontChooser control now adapts its interface if its height is 
  too small.

[GB.GTK]
* NEW: Paint.PathOutline is a new property that returns a array of polygons 
  corresponding to the current drawing path.

[GB.GUI.BASE]
* NEW: Add a little left and right padding to GridView cells.
* NEW: ListBox now uses the default selected background color.

[GB.QT4]
* NEW: Paint.PathOutline is a new property that returns a array of polygons 
  corresponding to the current drawing path.


git-svn-id: svn://localhost/gambas/trunk@6080 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-12 01:59:49 +00:00
Tobias Boege
00200dbece [CONFIGURATION]
* OPT: Move gb.inotify to main/lib.



git-svn-id: svn://localhost/gambas/trunk@6036 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-30 11:29:15 +00:00
Benoît Minisini
493f651f20 [DEVELOPMENT ENVIRONMENT]
* NEW: Update Gambas fonts.
* NEW: Update component list.
* NEW: Add a toolbar button to define the GB_GUI environment variable in 
  one click. This button is visible only if the project uses the gb.gui
  component (and if it has been added to the toolbar of course!).
* BUG: Use the same icon for the option dialog and its corresponding 
  toolbar icon.

[GB.FORM.MDI]
* NEW: Shrink the toolbar height a bit.

[GB.GUI]
* NEW: Support for the gb.gtk3 component.


git-svn-id: svn://localhost/gambas/trunk@6028 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-29 15:17:40 +00:00
Benoît Minisini
87df43bd18 [DEVELOPMENT ENVIRONMENT]
* NEW: The debugger now can be told to break the program on any error.
* NEW: Statistic tab in the project property dialog.

[INTERPRETER]
* BUG: Don't crash if an unknown option is passed with the '-g' option.
* NEW: The debugger now can be told to break the program on any error.
* NEW: System.BreakOnError is a new property that allows to set the 
  internal "break on error" option at runtime. I don't know if it is 
  actually useful, so I may remove it.

[GB.DEBUG]
* NEW: The debugger now can be told to break the program on any error.


git-svn-id: svn://localhost/gambas/trunk@6011 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-18 11:21:01 +00:00
Benoît Minisini
42a089eda6 [DEVELOPMENT ENVIRONMENT]
* NEW: Update Gambas fonts.
* NEW: Project converter: try to not crash if the Gambas 2 project has been 
  partially converted.

[GB.QT4]
* BUG: Mouse.Translate() now has an absolute effect, as in gb.gtk.


git-svn-id: svn://localhost/gambas/trunk@6009 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-16 22:23:13 +00:00
Benoît Minisini
188a40f601 [INTERPRETER]
* NEW: Display the error returned by the glibc when a locale cannot be set.
* NEW: Allow the class conversion routine to define the target datatype by 
  itself.

[GB.DB]
* BUG: The automatic Blob to String conversion does not lead to a crash
  anymore.


git-svn-id: svn://localhost/gambas/trunk@5999 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-13 22:13:48 +00:00
Benoît Minisini
0ce3cc69fb [GB.DB]
* BUG: Don't crash anymore when releasing database objects.


git-svn-id: svn://localhost/gambas/trunk@5987 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-07 12:49:11 +00:00
Benoît Minisini
76cb94470a [GB.DRAW]
* BUG: Correctly initialize the Paint class when calling Paint.Begin() on 
  an already opened drawing device.


git-svn-id: svn://localhost/gambas/trunk@5959 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-16 16:48:19 +00:00
Benoît Minisini
407e74968b [INTERPRETER]
* BUG: Undo one change of last revision: reading a stream from a memory 
  stream is a special case. It reads a null-terminated C string, and not a
  serialized Gambas string.
* NEW: OPEN STRING is a new instruction that allows to use a string as a 
  stream. Writing to it appends the written data to the end of the string 
  at the moment.
* NEW: Closing a string stream returns the data written to the stream as a
  new string.

[COMPILER]
* NEW: New OPEN STRING instruction.
* NEW: OPEN MEMORY and OPEN PIPE are synonymous of the MEMORY and PIPE
  instructions alone.

[GB.EVAL]
* NEW: Highlight the new OPEN STRING instruction correctly.


git-svn-id: svn://localhost/gambas/trunk@5941 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-04 15:17:01 +00:00
Benoît Minisini
b9930f0701 [GB.GUI]
* NEW: If one GUI component fails to load, try the other one.
* NEW: Abort if no GUI component is found.
* NEW: Define the GB_GUI environment variable with the GUI component 
  actually loaded.

[GB.GUI.OPENGL]
* NEW: Always load the OpenGL support component associated with what lies
  in the GB_GUI environment variable.


git-svn-id: svn://localhost/gambas/trunk@5925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-01 13:18:47 +00:00
Benoît Minisini
c994980764 [INTERPRETER]
* BUG: Fix a structure declaration for ARM architecture.

[GB.CLIPPER]
* BUG: Fix the signature of some methods.


git-svn-id: svn://localhost/gambas/trunk@5900 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-19 02:53:17 +00:00
Benoît Minisini
9326385a65 [GB.DATA]
* BUG: Fix 'Makefile.am' file.


git-svn-id: svn://localhost/gambas/trunk@5889 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-13 18:29:32 +00:00
Benoît Minisini
255fc160fe [GB.DATA]
* BUG: Fix incorrect Makefile.am file.

[GB.XML.HTML]
* BUG: Fix incorrect Makefile.am file.


git-svn-id: svn://localhost/gambas/trunk@5886 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-13 14:19:09 +00:00
Tobias Boege
a2756c284f [GB.DATA]
* BUG: List: Fix two false positive compiler warnings on some systems.
* BUG: AvlTree: Don't forward-declare a typedef. It bothers some compilers.
* BUG: Also update Key from AvlTree_get().
* BUG: Invalidate the enumerators in AvlTree.Clear()



git-svn-id: svn://localhost/gambas/trunk@5865 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-01 06:23:08 +00:00
Benoît Minisini
0d2256a19d [DEVELOPMENT ENVIRONMEMNT]
* BUG: ImageEditor: Fix a crash that occurs after something having pasted.

[EXAMPLES]
* NEW: Md2Model example has been redesigned. It now displays a lot of 
  models between six different ones.

[INTERPRETER]
* BUG: Fix a crash when an error is raised while the startup class is not 
  ready.

[GB.GEOM]
* BUG: Fix the conversion from Point/PointF to Float that internally uses
  the Abs() function.

[GB.GTK]
* NEW: Visible trayicons prevent the eventloop from stopping.

[GB.OPENGL.SGE]
* NEW: The component sources are now located inside the gb.opengl 
  directory.
* NEW: The component interface has been redesigned.

[GB.QT4]
* NEW: Visible trayicons prevent the eventloop from stopping.

[GB.QT4.OPENGL]
* BUG: The OpenGL clear color is now taken into account when clearing the 
  area before calling the Draw event handler.


git-svn-id: svn://localhost/gambas/trunk@5836 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-08 17:15:55 +00:00
Benoît Minisini
812bec445b [DEVELOPMENT ENVIRONMENT]
* NEW: Complete the french translation.

[INTERPRETER]
* BUG: Class reimplementation of Abs() now can return an object or a 
  floating-point number.

[GB.COMPLEX]
* BUG: Abs() on a Complex returns a Float.

[GB.GEOM]
* BUG: Abs() on a Point or a PointF returns a Float.

[GB.GSL]
* BUG: Abs() on a Complex returns a Float.


git-svn-id: svn://localhost/gambas/trunk@5835 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-07 23:09:01 +00:00
Benoît Minisini
4d71384869 [INTERPRETER]
* BUG: Fix Abs() when that operator is implemented at class level, so that
  it returns an object and not necesarrily a floating point value.

[GB.GMP]
* NEW: New component based on the Gnu Multiple Precision Arithmetic 
  Library. Only big integers (BigInt class) are partially implemented at 
  the moment.


git-svn-id: svn://localhost/gambas/trunk@5826 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-01 20:40:05 +00:00
Tobias Boege
902c13bcea [GB.DATA]
* NEW: Mark component as stable

[GB.OPENSSL]
* NEW: Mark component as stable



git-svn-id: svn://localhost/gambas/trunk@5825 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-01 18:53:24 +00:00
Benoît Minisini
f41adce9f1 [GB.CLIPPER]
* NEW: Mark the component as stable.

[GB.GUI.BASE]
* BUG: Draw.Picture() and Draw.Image() source arguments now work correctly.
* NEW: Add void constructors to HSplit and VSplit for the documentation.


git-svn-id: svn://localhost/gambas/trunk@5824 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-01 14:48:41 +00:00
Tobias Boege
11d42882b5 [GB.DATA]
* NEW: Update copyright years.
* NEW: Have a stripped-down version of gb_common_string_temp.h to provide
  STRING_compare() without producing compilation problems.
* NEW: AvlTree is a new Collection-like class implementing a balanced
  binary search tree. It does _not_ utilise hashing in order to maintain
  an order of the literal key strings given by the user (For Each thus
  traverses from smallest to greatest key).
* NEW: Carry in a stripped-down version of Bob Jenkins' lookup3 hash
  algorithm from the Public Domain. It was a last-minute decision to not use
  it in AvlTree to maintain the literal key order.



git-svn-id: svn://localhost/gambas/trunk@5812 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-19 22:48:29 +00:00
Benoît Minisini
6f62f9ae65 [DEVELOPMENT ENVIRONMENT]
* NEW: ImageEditor: Bug fixes. Clicking on the center button of a selected
  shape now selects the next one whose center is about at the same place.

[GB.CLIPPER]
* BUG: Clipper Offset, Union, Intersection... methods now ensure that they
  return closed polygons.
* NEW: Polygon.Orientation is a new property that returns the polygon 
  orientation.


git-svn-id: svn://localhost/gambas/trunk@5806 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-18 16:17:30 +00:00
Benoît Minisini
ae5f540c3b [DEVELOPMENT ENVIRONMENT]
* OPT: ImageEditor: Optimize the pen and eraser tools.
* NEW: ImageEditor: The popup menu allows to define the magnet grid of the 
  current selected shape.

[GB.CLIPPER]
* BUG: Polygon.Clean() does not close the polygon automatically.
* NEW: Polygon.Add() and Polygon.AddPoint() are two new methods to add a
  point to a polygon.
* NEW: Polygon.Remove() is a new method to remove points from a polygon.

[GB.FORM]
* NEW: The ImageView draws nothing by itself if its Draw event is catched.
  Drawing the image is then entirely up to the Draw event handler.


git-svn-id: svn://localhost/gambas/trunk@5805 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-18 00:47:21 +00:00
Benoît Minisini
e05d425979 [DEVELOPMENT ENVIRONMENT]
* NEW: ImageEditor: Pressing SHIFT with the magic wand substracts to the
  current selection.
* BUG: ImageEditor: Selection handles are correctly updated in all cases.

[GB.CLIPPER]
* NEW: Implementation of the three other boolean operations through the 
  Clipper.Intersection(), Clipper.Difference() and Clipper.ExclusiveOr() 
  methods.


git-svn-id: svn://localhost/gambas/trunk@5795 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-13 23:41:50 +00:00
Benoît Minisini
d452797475 [DEVELOPMENT ENVIRONMENT]
* NEW: ImageEditor: the magic wand automatically merge the current 
  selection.

[GB.CLIPPER]
* NEW: Polygon is a new class that represents a polygon. It can be 
  automatically converted to and from PointF[].
* NEW: All methods now use Polygon and Polygon[] instead of PointF[] and
  PointF[][].
* NEW: Clipper.Union() is a new method that returns the union of an array
  of polygons.


git-svn-id: svn://localhost/gambas/trunk@5794 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-13 22:28:41 +00:00
Benoît Minisini
5203d61969 [DEVELOPMENT ENVIRONMENT]
* NEW: ImageEditor: The image size is displayed wen the mouse cursor is 
  outside of the view. Many bug fixes. The magic wand has been implemented.
  JIT compiler is used to speed-up the routine.

[GB.CLIPPER]
* NEW: Clipper.OffsetPolygons has been renamed as Clipper.Offset.
* NEW: Clipper.Simplify and Clipper.Clean methods have been implemented.

[GB.DESKTOP]
* NEW: DesktopFile.Run() method now returns the created process object.

[GB.IMAGE]
* NEW: Color.Distance() is a new method that returns the RGBA distance 
  between two colours as a floating point value between 0.0 and 1.0.


git-svn-id: svn://localhost/gambas/trunk@5792 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-13 12:18:32 +00:00
Benoît Minisini
4f48f05047 [GB.CLIPPER]
* BUG: Fix component information file.


git-svn-id: svn://localhost/gambas/trunk@5789 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-12 01:53:19 +00:00
Benoît Minisini
c0d038b9f2 [DEVELOPMENT ENVIRONMENT]
* NEW: ImageEditor: Invert the current selected shape reverses its points 
  order. Selection offset has been implemented on top of the new 
  gb.clipper component. Many bug fixes.

[GB.CLIPPER]
* NEW: This a new component based on the "Clipper" library. At the moment,
  it only allows to offset a group of polygons from a specified pixel 
  delta.


git-svn-id: svn://localhost/gambas/trunk@5788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-12 01:50:46 +00:00
Benoît Minisini
3fe9263a0a [DEVELOPMENT ENVIRONMENT]
* NEW: ImageEditor: Fix and enhance magnets management. Add grid. Other bug
  fixes.

[GB.GEOM]
* BUG: Fix signature of RectF.Union and Rect.Intersection methods.


git-svn-id: svn://localhost/gambas/trunk@5784 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-11 07:10:41 +00:00
Tobias Boege
33cf182cd0 [GB.DATA]
* BUG: Remove inclusion of c_avltree.h which is not yet versioned.



git-svn-id: svn://localhost/gambas/trunk@5782 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-10 08:22:34 +00:00
Benoît Minisini
56c65ddcb4 [DEVELOPMENT ENVIRONMENT]
* NEW: ImageEditor: Tons of bug fixes. The current selection and the 
  current pasted image can be moved, rotated and shrinked with the mouse.
* NEW: Image rotation tool.

[GB.DRAW]
* BUG: The PaintMatrix class is now really autonomous. It can be used 
  without a current drawing device.
* NEW: PaintMatrix.Copy() is a new method that copies a matrix.
* NEW: PaintMatrix.Map() is a new method that applies a matrix to a point
  and returns the result.

[GB.FORM]
* NEW: ImageView can take the focus.
* BUG: DirChooser should not crash anymore when it cannot access a 
  bookmark.

[GB.GTK]
* NEW: Implementation of the new PaintMatrix design.

[GB.IMAGE]
* BUG: Image.Fuzzy() argument cannot be greater than 254.

[GB.QT4]
* NEW: Implementation of the new PaintMatrix design.


git-svn-id: svn://localhost/gambas/trunk@5779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-09 20:42:38 +00:00
Tobias Boege
b4c71163ee [GB.DATA]
* BUG: Fix possible bugs when updating an invalid Current.
* BUG: Really erase old elements instead of just marking them as Null to
  prevent (potential) information leaks.
* OPT: Current and the enumerators (internally) carry list global indices
  (LGI) which can be used as anchor points together with List.Count to speed
  up traversals (always taking the shortest way through the list).
* OPT: Remove workaround code related to an enumerator bug fixed in #5749.
* NEW: Expose List.Current as a virtual object representing the current list
  element which has Append() and Prepend() methods to manipulate the list
  not only around its head. This breaks backwards compatibility.
* NEW: List.Value is what List.Current has meant formerly.
* NEW: Add List.Current.Index and List.Index which are an absolute index of
  the current element into the list. These are guaranteed to be in bounds of
  [-List.Count; List.Count - 1]. Note that each non-negative index has an
  associated negative equivalent and vice versa. They work like the indices
  given to List._get().
* NEW: Add a List.AutoNormalize property which instructs the list to
  automatically make indices (like resulting from a calculation) fit into
  the List bounds preserving the sign of the given index. This effectively
  prevents any "Out of bounds" errors.
* NEW: Add List.MoveTo() to point Current to an index.
* NEW: List.Current.Is{First,Last,Valid} can be used to determine if Current
  is the first or last element of the list or if it is valid, respectively.



git-svn-id: svn://localhost/gambas/trunk@5778 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-09 18:31:20 +00:00
Benoît Minisini
3c1353f233 [DEVELOPMENT ENVIRONMENT]
* NEW: Image editor: Support for gamma, hue, saturation and lightness 
  balance. Read-only mode has been implemented. Many bug fixes everywhere.

[GB.FORM]
* NEW: Remove Brightness and Contrast properties from the ImageView 
  control.

[GB.IMAGE]
* NEW: Image.BrightnessContrast has been removed.
* NEW: New balance methods: Image.Brightness, Image.Contrast, Image.Gamma,
  Image.Hue, Image.Saturation, Image.Lightness.
* NEW: Image.BeginBalance() and Image.EndBalance() are two new methods that
  allow to group calls to the previous methods, so that all the balances
  are done in one shot.


git-svn-id: svn://localhost/gambas/trunk@5776 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-07 03:14:27 +00:00
Benoît Minisini
e63e8777a1 [DEVELOPMENT ENVIRONMENT]
* NEW: Image editor: Image brightness and constrast, clipboard management,
  cut, copy & paste have been implemented. Many fixes everywhere.
* NEW: Image editor: Resize dialog has been enhanced.

[GB.IMAGE]
* BUG: Image.Copy() now checks its arguments better, so that it does not
  generate images with garbage inside.
* NEW: Image.BrightnessContrast() is a new method that allows to change the
  brightness and contrast of an image.
* OPT: Internal routines for color space conversion between HSV and RGB 
  have been optimized.

[GB.FORM]
* NEW: The ImageView Draw event now takes the image that has been drawn as 
  argument.
* NEW: ImageView.Brightness and ImageView.Contrast are two new properties
  that allow to define the corresponding effects applied to the displayed
  image.


git-svn-id: svn://localhost/gambas/trunk@5775 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-06 17:28:13 +00:00
Benoît Minisini
c9ca5ab982 [CONFIGURATION]
* NEW: Update copyright year to 2013.

[GB.FORM]
* NEW: ImageView is a new control that allows to view an image inside a 
  scrolled view, at different zoom levels.
* BUG: FileProperties now works correctly if 'gb.desktop' is not used.
* NEW: The FileProperties preview tab now uses an ImageView control and has
  a toolbar to zoom the preview.
* BUG: Add the 'linux' and 'gnu' icon in the stock icon list.


git-svn-id: svn://localhost/gambas/trunk@5770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-03 15:38:01 +00:00
Benoît Minisini
eeec97396c [DEVELOPMENT ENVIRONMENT]
* NEW: When the 'gb.web' component is selected, a new option is available 
  in the project property dialog: "Run in an embedded HTTP server".

(INTERPRETER]
* NEW: GB.System.Debug() is a new API that allows to know if the 
  interpreter is run in debugging mode.

[GB.DEBUG]
* NEW: The debugger tells the IDE when its prompt is the first one.

[GB.HTTPD]
* NEW: Reset locale to "C" before running the http server.
* BUG: The CGI "SCRIPT_NAME" variable is set to "/".
* NEW: The default CGI timeout is now 10 minutes.
* NEW: Behave accurately when run in debugging mode : only one CGI script
  at a time is allowed.
* NEW: When run in debugging mode, there is no CGI timeout.


git-svn-id: svn://localhost/gambas/trunk@5765 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-07-27 17:23:04 +00:00