Commit graph

1053 commits

Author SHA1 Message Date
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
Benoît Minisini
4349d4b5bb [INTERPRETER]
* BUG: Fix interpretation of "../abc" paths.


git-svn-id: svn://localhost/gambas/trunk@7305 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-13 07:54:00 +00:00
Benoît Minisini
bdd864f41a [DEVELOPMENT ENVIRONMENT]
* BUG: Fix windows using icons not existing anymore.
* NEW: Add dark theme versions of some icons.

[INTERPRETER]
* NEW: "../xxx" now refers to a file located in the parent archive, not
  necessarily the main project archive. "../../xxx" refers to the 
  grand-parent archive, and so on. A component written in Gambas that 
  receives a relative path is supposed to prefix it with "../" if he wants 
  to access it. Please report any incompatibility!
* NEW: File.IsRelative() is a new method that returns if a file is 
  relative, i.e. if it does not starts with '/' or '~'.
  
[GB.FORM]
* NEW: The Stock class does not use the Picture cache anymore. It is 
  useless as normally the Stock class is accessed from the Picture[]
  method.

[GB.FORM.MDI]
* BUG: When browsing actions, do not try to load an icon for actions that
  do not have one.

[GB.GTK]
* NEW: Remove the Picture[] array accessor and the Picture.Flush() method.
  They are now implemented in the 'gb.gui.base' component.
  
[GB.GTK3]
* NEW: Remove the Picture[] array accessor and the Picture.Flush() method.
  They are now implemented in the 'gb.gui.base' component.
  
[GB.GUI.BASE]
* NEW: The Picture[] array accessor and the Picture.Flush() method are now 
  implemented in that component.
* NEW: Remove support for theme specific icons.
* NEW: Add support for right-to-left specific icons. For example, if an
  icon is named 'abc-ltr.png', then it will be considered as a 
  'left-to-right' icon, and the 'abc-rtl.png' icon will be used if the 
  current langauge is right-to-left written.
* NEW: Add support for dark theme specific icons. An icon named 
  'abc-dark.png' will be the dark theme version of the 'abc.png' icon.

[GB.QT4]
* NEW: Remove the Picture[] array accessor and the Picture.Flush() method.
  They are now implemented in the 'gb.gui.base' component.
* NEW: Message boxes do not support theme specific icons automatically 
  anymore.
  
[GB.QT5]
* NEW: Remove the Picture[] array accessor and the Picture.Flush() method.
  They are now implemented in the 'gb.gui.base' component.
* NEW: Message boxes do not support theme specific icons automatically 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@7304 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-12 23:21:44 +00:00
Benoît Minisini
8d5317452a * Fake commit for r7251.
[INTERPRETER]
* BUG: GB.SubstString() API now can take a void substitution string. It 
  returns NULL instead of doing a segfault. Consequently, 
  RegExp.Replace() from gb.pcre can take a null replace string without 
  crashing.


git-svn-id: svn://localhost/gambas/trunk@7261 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-01 23:25:20 +00:00
Benoît Minisini
9c04684084 [INTERPRETER]
* BUG: Debugger: Displaying a dynamic variable in a static context does not
  crash anymore.


git-svn-id: svn://localhost/gambas/trunk@7258 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-08-30 14:39:38 +00:00
Benoît Minisini
b8eaa08cf3 git-svn-id: svn://localhost/gambas/trunk@7251 867c0c6c-44f3-4631-809d-bfa615b0a4ec 2015-08-30 00:56:56 +00:00
Benoît Minisini
98a31d1bc6 [INTERPRETER]
* BUG: New routine to compute the localized time/date formats and 
  separators.


git-svn-id: svn://localhost/gambas/trunk@7244 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-08-27 17:18:59 +00:00
Benoît Minisini
5a99bd0f7b [INTERPRETER]
* BUG: Fix multi-dimensional arrays size check.


git-svn-id: svn://localhost/gambas/trunk@7233 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-08-22 11:04:14 +00:00
Benoît Minisini
eaf08bce5e [INTERPRETER]
* BUG: Correctly detect too large arrays.
* BUG: Array allocation incrementation now cannot be larger then 256 slots.


git-svn-id: svn://localhost/gambas/trunk@7232 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-08-21 18:49:33 +00:00
Benoît Minisini
48615ab311 [INTERPRETER]
* BUG: Array.Resize() now correctly raises an error if its argument is
  negative.


git-svn-id: svn://localhost/gambas/trunk@7231 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-08-21 00:40:14 +00:00
Adrien Prokopowicz
0a8f1d9072 [INTERPRETER]
* BUG: Fix DateDiff() day comparison when comparing two dates with 
  different times.

git-svn-id: svn://localhost/gambas/trunk@7224 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-08-14 09:57:54 +00:00
Benoît Minisini
6e3f844fe4 [INTERPRETER]
* BUG: Fix DateDiff() day comparison when comparing two dates with 
  different times.
* BUG: Timezone ten minutes validation now works.

git-svn-id: svn://localhost/gambas/trunk@7212 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-08-01 16:13:26 +00:00
Benoît Minisini
7a18201aa5 [INTERPRETER]
* BUG: Don't close an external library if requesting an unknown symbol on 
  it. Why having done that?


git-svn-id: svn://localhost/gambas/trunk@7191 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-29 19:43:16 +00:00
Benoît Minisini
5ecb973af4 [DEVELOPMENT ENVIRONMENT]
* BUG: Image editor: Don't load the image twice.
* NEW: Do not open the welcome dialog if a project directory has been 
  specified in program arguments.
* NEW: Farm client: Paint the software names the same way everywhere.
* BUG: If the workspace was filled before
  the main window is visible, then the QT5 backing store starts displaying
  garbage. The workaround was to always show the main window before trying 
  to load any file.
* NEW: Add the environment variables to the system information.

[WIKI CGI SCRIPT]
* BUG: Fix some HTML syntax errors.

[INTERPRETER]
* BUG: Add the Rand() syntax description.

[GB.DB.POSTGRESQL]
* BUG: If PostgreSQL version is greater than 9.0, then force the bytea 
  output format to 'escape', as it was before.

[GB.EVAL.HIGHLIGHT]
* NEW: The TextHighlighter.ToHtml() method now takes the 'Alternate' style
  flag into account, and the generated HTML is less verbose.
* BUG: The WebPage highlighting has been fixed.

[GB.FORM]
* BUG: Completion: Fix a possible crash.
* BUG: TabPanel: Fix a possible crash.

[GB.SDL2]
* NEW: Window.Handle is a new property that returns the window handle.


git-svn-id: svn://localhost/gambas/trunk@7188 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-27 03:54:57 +00:00
Benoît Minisini
f616f67bc1 [INTERPRETER]
* BUG: Support for UTF-8 date and time separators, used by Chinese for 
  example.


git-svn-id: svn://localhost/gambas/trunk@7180 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-11 22:44:09 +00:00
Benoît Minisini
5dc1e1d4c6 [INTERPRETER]
* BUG: Finally fixed! LINE INPUT internal buffer is now correctly reset 
  when SEEK is used.


git-svn-id: svn://localhost/gambas/trunk@7176 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-09 14:39:38 +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
005c733d8d [INTERPRETER]
* BUG: Fix Object.Raise() method.

[DEVELOPMENT ENVIRONMENT]
* BUG: Replace a possible error while filling the toolbox by a warning 
  message.

[GB.DBUS]
* NEW: DBusValues is a new class that must be used when a DBus method canonical
  return several values. It works like DBusVariant.
* NEW: DBus.SplitSignature is new method that allows to split a DBus signature.
* NEW: DBusNull class is renamed as _DBusNull.
  
[GB.DBUS.TRAYICON]
* NEW: TrayIcon popup menu is now exported through the DBusMenu protocol,
  so that it becomes usable on Unity. Consequently, the Menu event will be
  removed.

[GB.DESKTOP]
* NEW: Remove the Desktop.Type property.
* NEW: Add support for Unity.

[GB.GTK]
* NEW: Desktop.Type is now implemented in the GUI components.

[GB.GTK3]
* NEW: Desktop.Type is now implemented in the GUI components.

[GB.QT]
* NEW: Desktop.Type is now implemented in the GUI components.

[GB.QT5]
* NEW: Desktop.Type is now implemented in the GUI components.


git-svn-id: svn://localhost/gambas/trunk@7164 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-02 14:26:10 +00:00
Benoît Minisini
758c102283 [INTERPRETER]
* NEW: Object.Raise() is a new method that tells an object to raise one of 
  its events. You should have no use of that for real applications. :-)


git-svn-id: svn://localhost/gambas/trunk@7163 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-01 12:26:23 +00:00
Benoît Minisini
566e06abfe [INTERPRETER]
* BUG: Correctly fix the bug of revision #7147 in UTF-8 string management.


git-svn-id: svn://localhost/gambas/trunk@7157 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-29 15:30:00 +00:00
Benoît Minisini
930c7549d1 [INTERPRETER]
* NEW: Add a new GB.Component.Declare() API, that allows a component to
  dynamically register a class description.

[INFORMER]
* NEW: A component now can declare classes through a GB_OPTIONAL_CLASSES 
  public symbol. Theses classes are included into the information file,
  but are not automatically loaded as the ones defined through the 
  GB_CLASSES symbol.

[GB.FORM.STATUSICON]
* NEW: This component has been removed and replaced by gb.dbus.trayicon.
* NEW: This component now provide TrayIcon and TrayIcons classes that have
  exactly the same interface as the old ones.

[GB.DBUS]
* NEW: Remove the now useless DBusConnection.Raise(). The DBusConnection
  Register() and Unregister() are kept for backward-compatibility reason.
* NEW: Add DBus.Raise() and DBus[].Raise() to raise signals. At the moment,
  there is no difference between the two methods, as there no mean to
  indicate the sender raising a signal. I don't know yet how DBus decides
  which service sends a signal!

[GB.DBUS.TRAYICON]
* NEW: This component implements the tray icon DBus protocol. It is 
  automatically loaded by the GUI components.

[GB.GTK]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
* BUG: Fix the old TrayIcon implementation, so that it matches the QT one.

[GB.GTK3]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
* BUG: Fix the component name in deprecation warning messages.
* BUG: Fix the old TrayIcon implementation, so that it matches the QT one.

[GB.QT4]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.

[GB.QT5]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.


git-svn-id: svn://localhost/gambas/trunk@7154 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-29 01:46:51 +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
fac11ebcef [INTERPRETER]
* BUG: Fix an infinite loop when a signal is catched and the signal pipe 
  has been closed.


git-svn-id: svn://localhost/gambas/trunk@7148 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-27 14:07:34 +00:00
Benoît Minisini
41fd170dee [INTERPRETER]
* BUG: The UTF-8 character to byte position conversion routine now should 
  work in all cases. Fix a corner case in String.Left(), String.Mid$(), 
  String.Right() that sometimes could return an incorrect result.


git-svn-id: svn://localhost/gambas/trunk@7147 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-26 13:18:39 +00:00
Benoît Minisini
5bd7b96a66 [DEVELOPMENT ENVIRONMENT]
* NEW: Profiler window: Add a new column for the average self time.

[INTERPRETER]
* OPT: Make faster implementations of the Find() and Exist() methods of the
  native array classes. Only Date[] and Variant[] use the old implementations.

[GB.FORM.EDITOR]
* BUG: TextEditor: Inserting and removing lines now work correctly when 
  wrap mode is enabled.
* OPT: TextEditor: Drawing and layouting optimizations.


git-svn-id: svn://localhost/gambas/trunk@7123 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-08 15:52:18 +00:00
Benoît Minisini
51b8688a26 [INTERPRETER]
* BUG: Correctly raise an error if a component cannot be found.


git-svn-id: svn://localhost/gambas/trunk@7109 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-03 01:26:06 +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
4c38879e22 [DEVELOPMENT ENVIRONMENT]
* BUG: Text editor: Compression correctly marks the file as modified.
* NEW: Take gb.qt5 into account in the help system.

[WIKI CGI SCRIPT]
* NEW: Take gb.qt5 into account.

[INTERPRETER]
* NEW: GB.Component.IsLoaded() is new interpreter API that returns if a
  specific component has been loaded.
* BUG: Running executables from an absolute path works again.

[GB.DESKTOP]
* BUG: DesktopWatcher: Use Desktop.Windows.FromHandle() instead of 
  Desktop.Windows[].

[GB.DESKTOP.X11]
* NEW: Support for gb.qt5.
  
[GB.FORM.EDITOR]
* BUG: TextEditor.Save() highlights the current line before saving.

[GB.QT5]
* NEW: Support for X11 event filter by translating xcb event into xlib 
  events.
* BUG: Cached DrawingArea works correctly now.


git-svn-id: svn://localhost/gambas/trunk@7099 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-27 01:00:39 +00:00
Benoît Minisini
8ca77b894a [INTERPRETER]
* BUG: Allow Gambas executables to be run through any relative paths.


git-svn-id: svn://localhost/gambas/trunk@7098 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-26 01:19:20 +00:00
Benoît Minisini
79a0071de2 [INTERPRETER]
* BUG: Sometimes String.Left(), String.Mid$() or String.Right() methods 
  could go past the end of their strings.


git-svn-id: svn://localhost/gambas/trunk@7088 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-18 16:03:54 +00:00
Benoît Minisini
7d88ebf7f6 [INTERPRETER]
* BUG: Prevent a possible infinite recursion when detaching objects.
* BUG: Don't crash if a standard stream has been freed. Raise an error 
  instead.


git-svn-id: svn://localhost/gambas/trunk@7085 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-15 13:17:18 +00:00
Benoît Minisini
914508d2ce [INTERPRETER]
* NEW: Don't panic if a received signal cannot be written to the signal 
  pipe. Just print a warning.


git-svn-id: svn://localhost/gambas/trunk@7074 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-10 13:18:00 +00:00
Benoît Minisini
6717974cdc [INTERPRETER]
* NEW: Object.Lock() and Object.Unlock() are now recursive, i.e. you must 
  call Object.Unlock() as many times as Object.Lock() to actually unlock an 
  object.


git-svn-id: svn://localhost/gambas/trunk@7044 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-04-19 13:43:33 +00:00
Benoît Minisini
d87c0668cb [INTERPRETER]
* BUG: Don't crash if a regular expression has a missing closing '}'.


git-svn-id: svn://localhost/gambas/trunk@7036 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-04-13 17:04:43 +00:00
Benoît Minisini
6db6ea879a [INTERPRETER]
* BUG: Shell$() now quotes quotes correctly.


git-svn-id: svn://localhost/gambas/trunk@6997 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-22 12:12:23 +00:00
Benoît Minisini
bd4f4931af [INTERPRETER]
* BUG: Do not read ahead file descriptors ready to read opened using the 
  ".xx" special name.


git-svn-id: svn://localhost/gambas/trunk@6995 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-20 06:48:04 +00:00
Benoît Minisini
3de004cff2 [INTERPRETER]
* BUG: Do not read ahead a ready to read file descriptor if we are in 
  direct mode and if the file is a not a regular file.


git-svn-id: svn://localhost/gambas/trunk@6994 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-19 23:23:47 +00:00
Benoît Minisini
0fbfdf5757 [INTERPRETER]
* BUG: Stream read ahead does not have to wait for the descriptor to be 
  ready for reading.


git-svn-id: svn://localhost/gambas/trunk@6993 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-03-19 13:50:35 +00:00
Benoît Minisini
d89262600b [INTERPRETER]
* BUG: Force the interpreter to link with the system thread library, 
  whatever the global linker configuration is.


git-svn-id: svn://localhost/gambas/trunk@6916 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-02-26 22:44:20 +00:00
Benoît Minisini
b1447607f2 [INTERPRETER]
* NEW: Add end-of-line format constants to the interpreter API.

[GB.QT4]
* BUG: If a control triggers the arrangement of its parent contents, the 
  delayed visibility is realized so that the control is taken into account 
  by the arrangement routine.

[GB.QT4.EXT]
* NEW: Editor.EndOfLine is a new property that defines which end-of-line 
  format (gb.Unix, gb.Windows or gb.Mac) is used when retrieving text from 
  the control.


git-svn-id: svn://localhost/gambas/trunk@6882 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-02-03 23:45:41 +00:00
Benoît Minisini
253093035e [INTERPRETER]
* NEW: The Task return value is now persistent (it is stored inside the 
  Task object).


git-svn-id: svn://localhost/gambas/trunk@6857 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-23 00:52:18 +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
35dbcb4b9d [INTERPRETER]
* BUG: Fix _call special method management again.


git-svn-id: svn://localhost/gambas/trunk@6810 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-04 23:41:09 +00:00
Benoît Minisini
90f04de1a9 [INTERPRETER]
* BUG: "create static" classes are now taken into account when using the 
  _call() special method.


git-svn-id: svn://localhost/gambas/trunk@6809 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-04 23:02:03 +00:00
Benoît Minisini
5e92876cad [EXAMPLES]
* NEW: LCDLabel now uses gb.sdl2.audio.

[GB.FORM]
* BUG: The ToolPanel buttons now takes Style.FrameWidth into account.

[GB.GTK]
* BUG: Remove a debugging message.

[GB.QT4]
* BUG: Do not delete open windows later when the event loop is finished. 
  This is not supported by QT.


git-svn-id: svn://localhost/gambas/trunk@6797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-02 14:31:23 +00:00
Benoît Minisini
a5f2cb1575 [FARM SERVER]
* NEW: Software screenshot can be deleted by the client.

[INTERPRETER]
* NEW: The little interpreter sleep is now done inside the watch file 
  descriptor read callback only. So no need to implement it in each
  component event loop.

[GB.SDL2]
* BUG: The SDL event loop now calls the interpreter event loop so that 
  timers and watched file descriptor are correctly handled.


git-svn-id: svn://localhost/gambas/trunk@6792 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-02 03:44:30 +00:00
Benoît Minisini
cc08725fe4 [INTERPRETER]
* NEW: Do not stop watching a file descriptor that is ready to read but has 
  no data.
* NEW: Sleep up to 10 ms if the event loop is called too often.


git-svn-id: svn://localhost/gambas/trunk@6791 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-02 02:22:22 +00:00
Benoît Minisini
4faa9876bf [DEVELOPMENT ENVIRONMENT]
* BUG: Fix initial focus of welcome dialog.

[INTERPRETER]
* BUG: Release standard i/o File objects before cleaning up the classes, to 
  avoid an incorrect "circular reference" message.

[GB.GTK]
* NEW: Link to the pthread library explicitly.
* NEW: WAIT inside a keybord handler does not raise an error anymore. It 
  just print a warning message and does nothing.

[GB.GTK3]
* NEW: Link to the pthread library explicitly.
* NEW: WAIT inside a keybord handler does not raise an error anymore. It 
  just print a warning message and does nothing.

[GB.UTIL]
* NEW: Date.EasterDay returns the Easter day of a specific year.

[GB.QT4]
* NEW: Link to the pthread library explicitly.
* NEW: WAIT inside a keybord handler does not raise an error anymore. It 
  just print a warning message and does nothing.

[GB.QT4.EXT]
* NEW: Editor.Font property now can take any font in the IDE.


git-svn-id: svn://localhost/gambas/trunk@6754 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-20 15:24:00 +00:00
Benoît Minisini
3c8efd56e9 [CONFIGURATION]
* NEW: Update chinese translations.

[EXAMPLES]
* NEW: Add screenshots, switch to 1.0 version, and publish.

[INTERPRETER]
* NEW: Allow WAIT to raise errors.

[GB.DESKTOP]
* NEW: DesktopWindow.Geometry is a new property that returns the geometry 
  of the window inside as a rectangle.
* NEW: DesktopWindow.Frame is a new property that returns the geometry 
  of the window outside (with the frame) as a rectangle.
* NEW: DesktopWindow.GetScreenshot() is a new method that returns a 
  screenshot of a window, with or without the frame.
* BUG: DesktopWindow X, Y, Width and Height properties return the window
  geometry without the frame.

[GB.GTK]
* NEW: Raise an error if WAIT is called during a keyboard event.

[GB.GTK3]
* NEW: Raise an error if WAIT is called during a keyboard event.

[GB.QT4]
* NEW: Raise an error if WAIT is called during a keyboard event.


git-svn-id: svn://localhost/gambas/trunk@6746 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-16 22:15:59 +00:00
Benoît Minisini
b2eb17d344 [INTERPRETER]
* BUG: Correctly flush the output of a terminated child process.


git-svn-id: svn://localhost/gambas/trunk@6722 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-11 23:41:48 +00:00
Benoît Minisini
b4c89ab52b [INTERPRETER]
* BUG: Do read ahead for any watched file descriptor. It may break when 
  watching special device files, depending on its internal kernel driver 
  behaviour. We'll see.


git-svn-id: svn://localhost/gambas/trunk@6708 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-03 12:13:35 +00:00
Benoît Minisini
064ec73404 [INTERPRETER]
* BUG: 'Exec ... To' and 'Shell ... To' work correctly again.


git-svn-id: svn://localhost/gambas/trunk@6698 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-01 16:22:34 +00:00
Benoît Minisini
dfc8140da0 [INTERPRETER]
* BUG: The process error output callback now immediately closes its file 
  descriptor as soon as read() returns zero or an error, or if the Error
  event is not handled.


git-svn-id: svn://localhost/gambas/trunk@6694 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-01 11:51:27 +00:00
Benoît Minisini
1fcb7bd02e [INTERPRETER]
* BUG: Don't remove the possible watch when freeing the file. The file may 
  be closed, and the file descritor may have been reused!


git-svn-id: svn://localhost/gambas/trunk@6693 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-01 02:50:18 +00:00
Benoît Minisini
1a2901e961 [DEVELOPMENT ENVIRONMENT]
* NEW: Software farm: When installing a software, tags that are desktop 
  menu official categories are used for creating the '*.desktop' file. 
  Consequently, the menu entry shold go to an accurate location of the 
  desktop application menu.
* NEW: Software farm: Some little desgin fixes.
* NEW: Publishing dialog: Some little fixes.

[FARM SERVER]
* BUG: Fix two bugs in search software request.

[INTERPRETER]
* NEW: The data format 'u' displays all milliseconds digits as soon as 
  there is at least two 'u' characters, and not if there is exactly two 
  'u' characters only.

[GB.DESKTOP]
* NEW: DesktopFile.Categories is a new property to read or set the 
  categories of a desktop menu entry.


git-svn-id: svn://localhost/gambas/trunk@6692 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-01 00:47:48 +00:00
Benoît Minisini
89d56eb88f [DEVELOPMENT ENVIRONMENT]
* BUG: Don't crash when trying to download the offline help if 'wget' is 
  not installed on the system.
* BUG: Software farm: Don't create a '*.desktop' file if the software is a
  library or a component.
* NEW: Redesign the publish dialog by using a wizard.
* NEW: Use freedesktop categories as possible software tags.

[FARM SERVER]
* NEW: Add a 'size' field in the 'software' table, and an index to be able 
  to sort sotfwares by size later.

[INTERPRETER]
* BUG: Read data ahead before raising a Read event (on Process, File, or 
  any stream). Use the result of that read to detect EOF, as using the 
  stream end-of-file detection routine is not reliable.

[GB.FORM]
* BUG: FileProperties: Fix the media preview.

[GB.MEDIA.FORM]
* BUG: MediaView: Don't crash if the internal media player is not yet 
  initialized.


git-svn-id: svn://localhost/gambas/trunk@6691 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-30 22:41:41 +00:00
Benoît Minisini
03cd222bb8 [DEVELOPMENT ENVIRONMENT]
* NEW: Software farm: Software now can be safely installed or removed. The
  source checksum is checked, as well as the required components. Libraries
  and dependencies on other software are not yet taken into account. A
  '*.desktop' file is automatically created on installation now.

[INTERPRETER]
* NEW: Split() has a new behaviour when its escape argument has two 
  characters, the second one being the first splitting character. It uses
  the first character to escape splitting characters. For example,
  Split("a;b~;c;d",";","~;") returns ["a","b;c","d"].
* NEW: String[].Join() method handle the new Split syntax. 
  ["a","b;c","d"].Join(";","~;") returns "a;b~;c;d". Moreover, in the
  traditional escape syntax, the joined string are not escaped anymore if 
  they are void.

[GB.DESKTOP]
* NEW: DesktopFile.MimeTypes is a new property corresponding to the 
  'MimeType' entry of the '*.desktop' file.
* NEW: DesktopFile now can be used for creating or modifying '*.desktop' 
  files.


git-svn-id: svn://localhost/gambas/trunk@6689 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-30 00:30:32 +00:00
Benoît Minisini
25dc9cd30d [INTERPRETER]
* BUG: Retrieve the child process output correctly when it has terminated.
  No data should be lost anymore.
* NEW: Remove an unused internal stream method.


git-svn-id: svn://localhost/gambas/trunk@6687 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-29 15:29:10 +00:00
Benoît Minisini
40937ec321 [INTERPRETER]
* BUG: Process: Don't call the Read event if there is nothing to read.


git-svn-id: svn://localhost/gambas/trunk@6686 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-29 14:45:33 +00:00
Benoît Minisini
5796ac4e56 [DEVELOPMENT ENVIRONMENT]
* NEW: Software farm: Now softwares can be installed or removed. 
  Installation is not finished yet. Checksum, components and libraries are
  not checked. Desktop file is not created.
* NEW: Software farm: Design changes in the GUI.
* BUG: Offline help: The help timestamp is now used for detecting updates.
  File modification time is not used anymore as it is a localized time.
* BUG: Source archive files now ignore files named 'core'.

[INTERPRETER]
* BUG: SHELL now correctly resets the interpreter to '/bin/sh' if the 
  System.Shell property is reset to a null string.

[GB.DESKTOP]
* BUG: Desktop.NetworkAvailable now tries to find 'ifconfig' or 'ip' in 
  '/sbin' and '/usr/sbin' before relying on the PATH environment variable.


git-svn-id: svn://localhost/gambas/trunk@6685 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-29 14:20:31 +00:00
Benoît Minisini
996ff69d37 [INTERPRETER]
* BUG: Process: Don't check end of stream before calling the Read event. I
  don't remember what this test was supposed to fix, but for sure it leads
  to data loss if some data arrives just after the test.


git-svn-id: svn://localhost/gambas/trunk@6683 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-28 20:15:02 +00:00
Benoît Minisini
655f3474c7 [INTERPRETER]
* NEW: The process child errors raised before the exec() system call are 
  now catched in a separate function called by the compiler explicitly 
  after a SHELL or EXEC assignment.

[COMPILER]
* NEW: SHELL and EXEC assignments now call an hidden subroutine just after
  the assignment to immediately check for a possible child error.


git-svn-id: svn://localhost/gambas/trunk@6681 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-27 23:31:51 +00:00
Benoît Minisini
e4cd9bce1b [DEVELOPMENT ENVIRONMENT]
* BUG: Some fixes in the software farm window.

[INTERPRETER]
* NEW: Remove the GB.UnrefKeep() interpreter API, as it is not used 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@6676 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-24 12:43:57 +00:00
Benoît Minisini
a607aaec6f [INTERPRETER]
* NEW: Apply the "close on exec" flag to all non-temporary file descriptors 
  opened by the interpreter.


git-svn-id: svn://localhost/gambas/trunk@6671 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-23 18:19:57 +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
5b930daea7 [INTERPRETER]
* NEW: Support for the new USE instruction.

[COMPILER]
* NEW: A class header now can include USE "xxxx" declarations, where "xxxx"
  is a component name. It means that the specified component will be loaded
  when the class is initialized, the first time it is loaded.


git-svn-id: svn://localhost/gambas/trunk@6648 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-12 22:25:37 +00:00
Benoît Minisini
f98642e44a [SCRIPTER]
* BUG: Be more intelligent when parsing arguments. Now all arguments after 
  the first non option argument are sent to the script process.

[INTERPRETER]
* OPT: Remove a previous optimization that made benchmarks slower, contrary 
  to what valgrind tells. No idea why exactly, maybe a valgrind cache
  simulation problem.

[BENCHMARKS]
* NEW: Do less in the polynom benchmark, so that it runs about as long as
  the other benchmarks.


git-svn-id: svn://localhost/gambas/trunk@6621 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-09 22:06:07 +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
0c2a60085c [WIKI CGI SCRIPT]
* NEW: Help comments of component classes and symbols are now automatically 
  used for creating non-existing documentation pages.
* NEW: Images are clickable in editing mode. They point at the image wiki 
  page.

[INTERPRETER]
* NEW: Url$() is a new function to encode an URL.
* NEW: FromUrl$() is a new function to decode an URL.
* NEW: FromBase64$() is now a synonymous for UnBase64$().

[GB.MEDIA]
* BUG: MediaPipeline.Pause() does nothing if the media is not playing. That
  avoid some GStreamer bad behaviour.

[GB.MEDIA.FORM]
* NEW: MediaView: Remove the ShowVideo property, it is useless.
* NEW: MediaView: The URL property can receive a true URL or a file path.
  The conversion is automatically done.
* BUG: MediaView: Do pause or stop the media file only if it has sense.
* NEW: MediaView: Hide the video part if the control height is too low.


git-svn-id: svn://localhost/gambas/trunk@6617 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-09 15:25:46 +00:00
Benoît Minisini
6a2aba1cca [INTERPRETER]
* BUG: Fix array accessor optimization on multi-dimensional native arrays.


git-svn-id: svn://localhost/gambas/trunk@6615 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-07 17:43:54 +00:00
Benoît Minisini
0c9d0a4585 [INTERPRETER]
* OPT: Array accessors have been optimized. The 'sort' benchmark is now 25% 
  faster.


git-svn-id: svn://localhost/gambas/trunk@6605 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-02 23:09:04 +00:00
Benoît Minisini
daf59c1971 [INTERRPETER]
* BUG: The internal UTF-8 string position cache now works in all cases.


git-svn-id: svn://localhost/gambas/trunk@6591 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-10-30 16:13:10 +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
065e2c48b7 [DEVELOPMENT ENVIRONMENT]
* BUG: Clicking on the paste button correctly set the focus back to the 
  editor.

[WEBSITE MAKER]
* BUG: Fix pages not located in the wiki.

[EXAMPLES]
* BUG: PhotoTouch: Fix the example.

[COMPILER]
* NEW: Remove the Js$() function. Maybe it's not where it should be.

[INTERPRETER]
* NEW: Remove the Js$() function. Maybe it's not where it should be.
* BUG: Displaying a Result object in the debugger does not crash anymore.
* NEW: The GB.Realloc() API now calls GB.Alloc() if the pointer to 
  reallocate is null.

[GB.FORM]
* NEW: DateChooser: Make the time font size a little bit smaller.


git-svn-id: svn://localhost/gambas/trunk@6512 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-26 21:52:42 +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
db2cb04d55 [DEVELOPMENT ENVIRONMENT]
* BUG: Use System.Exist() to check that 'wget' is installed before trying 
  to download the documentation.

[INTERPRETER]
* NEW: System.Exist() is a new method that returns if a specific program 
  can be found in the PATH environment variable.
* NEW: System.Find() is a new method that returns the absolute path of a 
  specific program according to the PATH environment variable.

[GB.GUI.BASE]
* NEW: Paint.DrawTextShadow() and Paint.DrawRichTextShadow() default radius 
  is now Desktop.Scale divided by three.
* NEW: Paint.DrawTextShadow() and Paint.DrawRichTextShadow() now take a new
  default argument to define the shadow opacity. The default value is 50%.


git-svn-id: svn://localhost/gambas/trunk@6479 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-15 20:05:43 +00:00
Benoît Minisini
315ced02f5 [INTERPRETER]
* NEW: When running an external process, search the PATH environment 
  variable before forking, so that if the program does not exist, an error 
  is immediately raised.


git-svn-id: svn://localhost/gambas/trunk@6471 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-13 20:37:50 +00:00
Benoît Minisini
7e0011226b [INTERPRETER]
* NEW: System.Log() is a new method that send a message to the system log.
  Useful if you write a daemon.

[GB.FORM]
* NEW: New design of FileChooser and DirChooser.

[GB.GUI.BASE]
* BUG: Fix the automatic scrolling behaviour of GridView and all its 
  children classes.
* BUG: Fix new ligheter selection color of IconView.
* BUG: Fix automatic scrolling of newly expanded item in TreeView and 
  ColumnView.

[GB.GTK]
* BUG: Fix Style.ForegroundOf() method.

[GB.GTK3]
* BUG: Fix Style.BackgroundOf() method.

[GB.QT4]
* NEW: DrawingArea now raises a new Font event when its font changes.
* BUG: Controls now take the alpha component of foreground and background 
  colors into account.


git-svn-id: svn://localhost/gambas/trunk@6461 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-09 06:59:03 +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
Benoît Minisini
9fdb68ffbe [INTERPRETER]
* BUG: Fix the 'Class' class declaration, so that is not virtual.


git-svn-id: svn://localhost/gambas/trunk@6455 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-06 16:53:40 +00:00
Benoît Minisini
765ed23eb6 [INTERPRETER]
* BUG: Take the "GB_VIRTUAL_CLASS()" declaration into account to decide if
  a native class is virtual or not. Don't just check the dot prefix in the 
  name.


git-svn-id: svn://localhost/gambas/trunk@6454 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-06 15:38:40 +00:00
Benoît Minisini
7962dad8e5 [DEVELOPMENT ENVIRONMENT]
* NEW: Use the new WebSettings.Cache.Clear() method.
* BUG: Fix project lists layout when they are filtered.

[WIKI CGI SCRIPT]
* BUG: Workaround the thttpd cgi interface bug.

[INTERPRETER]
* NEW: A new API for browsing a directory recursively.
* NEW: Js$() is a new function that quotes javascript strings.

[GB.FORM]
* BUG: ColorChooser: Don't memorize custom colors spuriously.

[GB.GUI.BASE]
* BUG: GridView: Don't take hidden columns into account when layouting 
  expanded columns.


git-svn-id: svn://localhost/gambas/trunk@6447 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-03 14:33:18 +00:00
Nigel Gerrard
e0b9fc1eac [CONFIGURATION]
* BUG: Set Cygwin Shared Library Extension to dll

[GB.JIT]
* NEW: Add conditional defines for Cygwin to allow compile:
  Use finite in place of _finite, __isnand in place of __isnan
  and __isinfd in place of __isinf.

* NEW: Remove jit_gambas_pass_dummy.cpp as this is no longer
  required to compile with later versions of llvm. Also fixes
  issue with Cygwin compile.

[GB.NET]
* NEW: Redefine TIOCOUTQ for Cygwin

[GB.SDL.SOUND]
* NEW: -lSDL needed for Cygwin linker

[INTERPRETER]
* NEW: Redefine FIONREAD for Cygwin

* NEW: Cygwin needs <strings.h> to avoid compiler issues when
  redefining strcasecmp etc.
 
[DEVELOPMENT ENVIRONMENT]
* NEW: Make the environment Cygwin aware



git-svn-id: svn://localhost/gambas/trunk@6435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-28 13:50:09 +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
Benoît Minisini
c9d541a8db [INTERPRETER]
* BUG: The stream available length function now correctly returns zero when 
  it fails.


git-svn-id: svn://localhost/gambas/trunk@6413 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-02 21:37:49 +00:00
Benoît Minisini
22f53573c0 [INTERPRETER]
* BUG: A new Task now resets the state of its standard output stream to 
  avoid side effects from its parent.


git-svn-id: svn://localhost/gambas/trunk@6412 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-01 20:29:01 +00:00
Benoît Minisini
73b2d0dd75 [GB.FORM]
* BUG: FileChooser: Fix an infinite loop when trying to initialize the path 
  with an unknown file.

[GB.MEDIA.FORM]
* NEW: New component based on gb.media that includes a full media player 
  widget with controls.

[GB.NET.SMTP]
* NEW: SmtpClient is now a virtual control.


git-svn-id: svn://localhost/gambas/trunk@6408 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-01 01:37:56 +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
Benoît Minisini
4963ce37d2 [INTERPRETER]
* BUG: When reading lines ending with a "Window" end-of-line sequence 
  (CR+LF), the LINE INPUT instruction could sometimes forget to remove the 
  first end-of-line character from the end of the line (CR).


git-svn-id: svn://localhost/gambas/trunk@6398 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-07-27 21:04:29 +00:00
Benoît Minisini
86c06592c3 [DEVELOPMENT ENVIRONMENT]
* BUG: Now the offline help on component symbols should be displayed 
  correctly in any case.
* NEW: Support for automatic session management.
* BUG: Some fixes in single file editing mode.

[INTERPRETER]
* NEW: Args.All is a new property that returns all the command-line 
  arguments as a string array. Not definitive: it may be removed in the
  future.

[GB.GTK]
* NEW: Application.Restart is a new property that allows to define the 
  application restart command for the session manager. Beware that it has
  no effect at the moment!

[GB.QT4]
* NEW: Support for automatic session management. Only gb.qt4 implements it
  at the moment.
* NEW: Application.Restart is a new property that allows to define the 
  application restart command for the session manager.



git-svn-id: svn://localhost/gambas/trunk@6392 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-07-20 14:41:54 +00:00
Benoît Minisini
8b61ab1e65 [INTERPRETER]
* BUG: Fix a crash when the first use of a class symbol recursively calls 
  the current function being executed.


git-svn-id: svn://localhost/gambas/trunk@6383 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-07-16 00:57:45 +00:00
Benoît Minisini
d20c313560 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix a crash when opening the help browser after the F2 key has been 
  hit.

[INTERPRETER]
* BUG: Fix a crash when running the Application_Error global error handler.

[GB.FORM]
* NEW: DirBox is a new control that allows to choose a directory from a 
  ButtonBox.
* NEW: DirBox, FontBox and DateBox are now put in the "Chooser" tab of the
  IDE control toolbar.


git-svn-id: svn://localhost/gambas/trunk@6380 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-07-14 17:23:05 +00:00
Benoît Minisini
ca5b4d5c4b [INTERPRETER]
* NEW: Abs(True) now returns 1, and Abs(False) returns 0. It breaks the 
  rule of TypeOf(Abs(x)) = TypeOf(x), but it is more useful while being 
  backward compatible.


git-svn-id: svn://localhost/gambas/trunk@6332 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-06-21 10:27:08 +00:00
Benoît Minisini
bc3e2269d6 [DEVELOPMENT ENVIRONMENT]
* NEW: Opening a SQLite database file automatically creates a new 
  connection and open it in the database editor.
* NEW: Redesign the form menu editor.
* BUG: Fix copy & paste in the form menu editor.
* NEW: The IDE now can open a single extern file without any project. This 
  is done internally by creating a temporary fake project. The GUI tries to
  adapt to that new mode, but this is not yet perfect.

[INTERPRETER]
* NEW: Args.Max is a new property that returns Args.Count - 1.

[GB.QT4]
* NEW: When several menus have the same shortcut, one is triggered instead 
  of displaying a warning message and doing nothing.

[GB.QT.EXT]
* NEW: Editor: CTRL+X now cut the current line if nothing is selected. If
  you stay on the same line, cutted lines accumulate.


git-svn-id: svn://localhost/gambas/trunk@6324 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-06-17 11:44:20 +00:00
Benoît Minisini
5155796342 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the custom browser support.
* NEW: Add Chromimum to the list of browsers.

[INTERPRETER]
* NEW: GB.GetProperty() and GB.SetProperty() API now return TRUE when they
  have raised an error. FALSE is everything was ok.

[GB.FORM.MDI]
* NEW: Redesign the shortcuts configuration dialog.
* NEW: Shortcuts now can be exported and imported.

[GB.GTK]
* BUG: DrawingArea: Clipping is correctly established now before raising
  the Draw event.
* BUG: Keyboard events have been fixed. Key array accessor and Key.Code now
  behave the same way as in gb.qt4.
* BUG: The Key.Meta property works correctly now.
* BUG: Now keyboard events seem to be sent twice by GDK. Found a workaround
  for that new weird behaviour.
* BUG: Automatic window minimum size now works correctly.
* BUG: Windows can take focus as in gb.qt4.

[GB.GUI.BASE]
* BUG: GridView: Do not use Draw.Clip to preserve the clipping of the Draw 
  event. Otherwise you get drawing artifacts with gb.gtk.
* BUG: GridView: Setting the column width to -1 is taken into account by 
  the layout routine.


git-svn-id: svn://localhost/gambas/trunk@6306 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-06-08 11:54:07 +00:00
Benoît Minisini
403376eedd [INTERPRETER]
* BUG: Fix a string leak in program exit routine.
* BUG: The Param class now can be used while debugging.


git-svn-id: svn://localhost/gambas/trunk@6295 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-30 18:39:40 +00:00
Benoît Minisini
fba9826d6e [INTERPRETER]
* NEW: Raising an error during the program exiting is possible now.
* NEW: Raise an error if an _exit method loads a new class. This is now 
  forbidden!

[GB.SETTINGS]
* OPT: Settings.Clear() does not mark the settings file to be saved if
  there is nothing to clear.


git-svn-id: svn://localhost/gambas/trunk@6293 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-30 01:25:46 +00:00
Benoît Minisini
50870e93cb [DEVELOPMENT ENVIRONMENT]
* BUG: Making executable works again.

[INTERPRETER]
* BUG: Don't use vfork() if a process has a custom environment, use a 
  terminal or is run through a shell.

[GB.FORM]
* BUG: ValueBox.ReadOnly works as expected now.



git-svn-id: svn://localhost/gambas/trunk@6292 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-29 16:01:16 +00:00
Benoît Minisini
89364d93e6 [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly load information files on component classes overriden by a 
  project class.

[INTERPRETER]
* BUG: Use vfork() only if a new process does not use a virtual terminal,
  does not run in a shell, or use a specific environment.


git-svn-id: svn://localhost/gambas/trunk@6291 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-27 10:32:24 +00:00
Benoît Minisini
bdbf3ac7d5 [INTERPRETER]
* OPT: Define the TZ environment variable at startup if it not defined to
  prevent the glibc to stat the '/etc/localtime' file again and again.
* OPT: Cache the last value of System.TimeZone during at most 10 minutes.

[GB.FORM]
* OPT: Implement a directory cache to minimize the number of calls to the
  Stat() function.

[GB.SETTINGS]
* BUG: Do not mark the settings file as modified if the stored value is not
  really changed.


git-svn-id: svn://localhost/gambas/trunk@6290 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-26 23:03:06 +00:00
Benoît Minisini
5983261636 [INTERPRETER]
* BUG: Forgot to add two source files.


git-svn-id: svn://localhost/gambas/trunk@6287 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-23 12:41:15 +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
1526d60303 [INTERPRETER]
* NEW: Rand() is a new function that returns an integer random number.
  Rand(X) returns a integer random number between 0 and X included.
  Rand(X,Y) returns a integer random number between X and Y included.
* BUG: System.TimeZone now returns the accurate value, i.e. the number of 
  seconds that must be *added* to go to UTC.


git-svn-id: svn://localhost/gambas/trunk@6282 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-21 08:35:34 +00:00
Benoît Minisini
224bb2aed0 [INTERPRETER]
* BUG: Add a small reserved area in the stack for the Eval() function, so 
  that the debugger can return the contents of a variable after a stack 
  overflow without raising a new stack overflow error and then crashing.


git-svn-id: svn://localhost/gambas/trunk@6276 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-18 21:39:52 +00:00
Benoît Minisini
337e7c9329 [COMPILER]
* OPT: Write in the bytecode file if a function uses the IsMissing() native 
  routine.

[INTERPRETER]
* OPT: Don't use a stack slot for missing arguments if the IsMissing() 
  function is not used.


git-svn-id: svn://localhost/gambas/trunk@6274 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-18 13:18:32 +00:00
Benoît Minisini
16bdab0b55 [INTERPRETER]
* NEW: System.TimeZone now takes the daylight saving time into account.


git-svn-id: svn://localhost/gambas/trunk@6273 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-18 12:31:50 +00:00
Benoît Minisini
29d87c9bc2 [INTERPRETER]
* BUG: Use a control variable to store the missing optional argument map,
  so that the JIT compiler is not trapped.


git-svn-id: svn://localhost/gambas/trunk@6264 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-14 15:11:07 +00:00
Benoît Minisini
4c739969ef [COMPILER]
* NEW: IsMissing() is a new function that returns if an optional argument 
  is missing. It always returns FALSE on a non-optional argument.

[INTERPRETER]
* NEW: Support for IsMissing().


git-svn-id: svn://localhost/gambas/trunk@6258 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-08 15:10:21 +00:00
Benoît Minisini
3f9d37a858 [INTERPRETER]
* BUG: Correctly drop arguments when using the new '...' symbol syntax.

[COMPILER]
* BUG: Correctly drop arguments when using the new '...' symbol syntax.


git-svn-id: svn://localhost/gambas/trunk@6252 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-05 20:16:41 +00:00
Benoît Minisini
cbd63b46a8 [INTERPRETER]
* NEW: Support for the new '...' symbol usage in function calls.

[COMPILER]
* NEW: '...' can be used for passing all the variables arguments of the 
  current function to another function. The '...' symbol must be the last
  argument of the function call.


git-svn-id: svn://localhost/gambas/trunk@6251 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-05 20:07:00 +00:00
Benoît Minisini
1da6baf60e [INTERPRETER]
* NEW: Now a method or property object datatype can be overridden by a more 
  specialized one.


git-svn-id: svn://localhost/gambas/trunk@6249 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-24 20:56:50 +00:00
Benoît Minisini
9cf45fc40d [INTERPRETER]
* BUG: Fix memory leak with Lower$() and Upper$() on some null strings.


git-svn-id: svn://localhost/gambas/trunk@6241 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-10 21:56:07 +00:00
Benoît Minisini
9995913a2f [GB.FORM]
* NEW: TabPanel.Moveable is a new property that makes tab button moveable 
  if set.

[GB.FORM.MDI]
* NEW: Workspace tab buttons are now moveable.


git-svn-id: svn://localhost/gambas/trunk@6239 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-08 22:59:21 +00:00
Benoît Minisini
5f1bca4bea [DEVELOPMENT ENVIRONMENT]
* NEW: Add a new background generated from the QuasiRegular new example.
* BUG: Disable replace controls in the search dialog when searching the 
  output window.

[WIKI]
* BUG: Fix style sheet for tables at the beginning of a block.
* BUG: Fix title retrieving of component links.

[EXAMPLES]
* NEW: QuasiRegular: A new example that shows an example of a quasi-regular
  pattern.

[INTERPRETER]
* BUG: Use interpreter API constants in 'gbx_watch.c' so that duplicate 
  constants are removed.


git-svn-id: svn://localhost/gambas/trunk@6235 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-06 22:09:08 +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
Benoît Minisini
a167d0a1f2 [INTERPRETER]
* NEW: New LOCK ... WAIT ... syntax.

[COMPILER]
* NEW: New LOCK ... WAIT ... syntax.



git-svn-id: svn://localhost/gambas/trunk@6194 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-03-09 17:51:52 +00:00
Benoît Minisini
0d2aac1e38 [INTERPRETER]
* NEW: Use vfork() instead of fork() to implement EXEC and SHELL, so that 
  when the child process cannot run the child program for any reason, the 
  error is immediately catched.
* BUG: Fix a possible file descriptor leak when using LOCK.


git-svn-id: svn://localhost/gambas/trunk@6189 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-03-02 20:18:06 +00:00
Benoît Minisini
d4f34166dd [DEVELOPMENT ENVIRONMENT]
* NEW: Menu shortcut for defining a class or a form as startup class has 
  been removed from the editor (but not from the project tree).
* NEW: A new menu to run a specific form as if it was the startup class.

[WIKI]
* NEW: The wiki is almost finished. Tuning is needed, as the automatic 
  conversion between the old wiki syntax and the new markdown syntax cannot 
  be perfect. Not yet done: history, registration, to do list.

[EXAMPLES]
* NEW: WaveGenerator: Set the "is-live" property of the 'audiotestsrc' 
  plugin.
* NEW: WaveGenerator: Use the 'autoaudiosink' output instead of a specific 
  one.
* NEW: WaveGenerator: Allow to choose the wave form.

[INTERPRETER]
* NEW: A new '-s' command-line option to override the startup class defined 
  in the project.

[GB.FORM]
* NEW: MaskBox has a new ShowDefault property. When set, the maskbox does 
  not hide its contents anymore when losing the focus if its value was the 
  default value.

[GB.GTK]
* BUG: Control Move() and MoveScaled() method do not try to resize the 
  control anymore if their width and height arguments are omitted.

[GB.MARKDOWN]
* BUG: Bug fixes, tuning...

[GB.MEDIA]
* NEW: MediaControl: An enumeration property can be set through its integer 
  value now.


git-svn-id: svn://localhost/gambas/trunk@6153 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-02-12 22:26:02 +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
029fdc7a22 [INTERPRETER]
* NEW: The GB.CanRaise() API now does not take the locked status of the 
  parent object into account anymore. It really checks if an event has an 
  event handler.


git-svn-id: svn://localhost/gambas/trunk@6115 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-29 00:26:09 +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
Benoît Minisini
9e4aed45e4 [INTERPRETER]
* BUG: If an error is raised inside a TRY context, the Error.Backtrace 
  property is reset to NULL. It does not keep its previous value anymore.


git-svn-id: svn://localhost/gambas/trunk@6090 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-20 00:05:33 +00:00
Benoît Minisini
de0ff1afc1 [INTERPRETER]
* BUG: Correctly close the standard error output of an ending process if 
  its standard output has already been closed.


git-svn-id: svn://localhost/gambas/trunk@6081 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-14 12:06:39 +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
Benoît Minisini
00ae88f8dc [INTERPRETER]
* BUG: Be virtual even the first time when calling the [] operator!


git-svn-id: svn://localhost/gambas/trunk@6069 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-06 16:57:20 +00:00
Benoît Minisini
018b33696b [INTERPRETER]
* BUG: Fix a crash when using CStr() on an object having a conversion 
  function.


git-svn-id: svn://localhost/gambas/trunk@6056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-02 21:37:44 +00:00
Benoît Minisini
24a62cff83 [INTERPRETER]
* NEW: When a void string is sent to an extern function argument expecting 
  a string, it is converted to a zero-length string instead of a null 
  pointer.

[GB.FORM]
* NEW: DateChooser: Replace the month ComboBox by a MenuButton.
* BUG: DateChooser: Better management of the month menu button width.

[GB.GUI.BASE]
* NEW: The ProgressBar control is now written in Gambas.


git-svn-id: svn://localhost/gambas/trunk@6050 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-02 09:31:32 +00:00
Benoît Minisini
7545521c0f [INTERPRETER]
* BUG: Fix {...} pattern management in LIKE operator again.


git-svn-id: svn://localhost/gambas/trunk@6044 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-31 21:39:24 +00:00
Benoît Minisini
7b870faf3a [INTERPRETER]
* BUG: Fix LIKE operator when the {...} syntax is not at the end of the 
  pattern.


git-svn-id: svn://localhost/gambas/trunk@6042 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-31 15:57:20 +00:00
Benoît Minisini
57359c4f2a [INTERPRETER]
* BUG: Fix the LIKE operator whith "{...}" patterns.


git-svn-id: svn://localhost/gambas/trunk@6031 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-29 19:24:52 +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
8e23a347ea [CONFIGURATION]
* NEW: Chinese translations updated everywhere.

[DEVELOPMENT ENVIRONMENT]
* NEW: Update Gambas fonts.
* BUG: In the menu editor, the last menu can be move up now.
* NEW: Add "GB_REVERSE=1" in the environment variable list of the project 
  properties dialog.

[GB.DB.FORM]
* NEW: The DataCheckBox control now raises its Click event as expected.

[GB.FORM]
* BUG: The icon of the FileProperties control now correctly adapts its 
  size.

[GB.FORM.MDI]
* NEW: ToolBar now inverts its layout if the current language is right-to-
  left written.

[GB.GTK]
* NEW: Mouse.Translate() is a new method that allows to translate the 
  current mouse event.
* BUG: The rtl layout is correctly initialized at startup.

[GB.GUI.BASE]
* NEW: ScrollArea, GridView, TreeView and its friends now invert their 
  layout if the current language is right-to-left written.

[GB.NET.POP3]
* BUG: Error messages must not be translatable.

[GB.QT4]
* NEW: Mouse.Translate() is a new method that allows to translate the 
  current mouse event.


git-svn-id: svn://localhost/gambas/trunk@5993 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-09 19:42:30 +00:00
Benoît Minisini
3509cb7b7c [INTERPRETER]
* BUG: String.InStr() does not crash anymore if the string pattern is void.
  It returns 0 instead (like InStr).


git-svn-id: svn://localhost/gambas/trunk@5979 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-06 18:51:35 +00:00
Benoît Minisini
8d85b9b227 [INTERPRETER]
* BUG: Prevent crashes at exit by releasing array classes first.


git-svn-id: svn://localhost/gambas/trunk@5949 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-08 01:40:37 +00:00
Benoît Minisini
48d192b4c7 [COMPILER]
* BUG: Allows OPEN STRING to not specify any string.


git-svn-id: svn://localhost/gambas/trunk@5943 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-04 20:12:24 +00:00
Benoît Minisini
7a9d649219 [INTERPRETER]
* BUG: Fix the CLOSE instruction when dealing with a string stream.
* NEW: Make WRITE behave the same way as READ on a memory stream. I.e. it 
  writes a null-terminated "C" string.


git-svn-id: svn://localhost/gambas/trunk@5942 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-04 18:16:26 +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
574745f34d [INTERPRETER]
* BUG: VarPtr() correctly works on method arguments.
* BUG: Reading a string from a memory stream now works correctly.


git-svn-id: svn://localhost/gambas/trunk@5940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-04 02:54:00 +00:00
Benoît Minisini
34012dcecd [INTERPRETER]
* BUG: Correctly check that there is a current enumeration if the Enum 
  class methods and properties.
* NEW: Enum.Stopped is a new property that returns if the current 
  enumeration  has been stopped.
* BUG: The [] operator is now correctly overridden in classes inheriting an
  array class or Collection.


git-svn-id: svn://localhost/gambas/trunk@5935 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-03 13:30:02 +00:00
Benoît Minisini
b09d1e18e4 [INTERPRETER]
* BUG: Don't detach a process that returns an error otherwise the Kill 
  event is lost.


git-svn-id: svn://localhost/gambas/trunk@5921 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-01 00:29:32 +00:00
Benoît Minisini
27c21ea450 [INTERPRETER]
* NEW: Support for the GB_PATH environment variable, that gives the Gambas
  interpreter path if set.


git-svn-id: svn://localhost/gambas/trunk@5918 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-26 21:06:22 +00:00
Benoît Minisini
2261e6ef6d [DEVELOPMENT ENVIRONMENT]
* BUG: Add the description of 'gb.memcached' and 'gb.logging' components.
* NEW: Update error messages translation.

[INTERPRETER]
* NEW: Allow some error messages to be untranslatable by using a void macro
  named '$(...)' around the string.

[GB.FORM]
* BUG: The status of FileChooser and DirChooser toolbar icons is correctly
  initialized now.
* BUG: Reading the FileChooser.ShowPreview property does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@5912 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-20 21:43:14 +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
ec5cb392f3 [INTERPRETER]
* NEW: Process.Ignore is a now a boolean property.


git-svn-id: svn://localhost/gambas/trunk@5887 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-13 17:55:35 +00:00
Benoît Minisini
678921ef40 [WIKI CGI SCRIPT]
* BUG: Fix the "search" link.

[INTERPRETER]
* NEW: Date() and Time() now takes the milliseconds as an extra optional 
  argument.
* BUG: Time() with one argument correctly converts it to a date.
* NEW: Date() and Time() now always check the range validity of their 
  arguments.

[GB.DB.FORM]
* NEW: DataControl does not change the background of mandatory field and 
  the font of primary key fields anymore.
* NEW: DateControl.Control is a new property that returns the underlying
  control used for editing the field data.

[GB.GUI.BASE]
* NEW: HSplit and VSplit have a new Border property that define if the 
  splitter separator is visible or not.
* NEW: HSplit and VSplit now take the Spacing property into account.


git-svn-id: svn://localhost/gambas/trunk@5871 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-11 21:06:38 +00:00
Benoît Minisini
0f3e0628ca [INTERPRETER]
* NEW: Application.Priority is a new property that allows to define the
  scheduling priority of the current process (or task). See it as an 
  interface to the nice() system call.


git-svn-id: svn://localhost/gambas/trunk@5866 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-01 09:12:51 +00:00