Commit graph

1404 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
91c4402592 [CONFIGURATION]
* NEW: Support of GNU/kFreeBSD systems.

[DEVELOPMENT ENVIRONMENT]
* BUG: Fix a typo in english tips.

[INFORMER]
* NEW: Support of kFreeBSD.

[GB.DB.POSTGRESL]
* NEW: Check more directories when searching for libraries, so that it 
  works on debian systems.

[GB.V4L]
* NEW: Support of kFreeBSD.


git-svn-id: svn://localhost/gambas/trunk@6356 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-06-30 22:22:11 +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
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
dc8b1aeaf3 [WIKI]
* NEW: Allows last changes to be displayed for everyone.
* NEW: Display last changes as a table with links.

[GB.FORM]
* BUG: Draw.Line() correctly takes into account the LineStyle property in
  all cases now.
* BUG: Fix the dash patterns used for implementing the Draw.LineStyle 
  property.


git-svn-id: svn://localhost/gambas/trunk@6296 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-31 19:47:06 +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
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
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
6e894eb36d [COMPILER]
* BUG: Correctly raise a syntax error now when there is anything between 
  the left part of an assignment and the assignment operator.


git-svn-id: svn://localhost/gambas/trunk@6253 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-06 20:09:50 +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
5e76433eeb [CONFIGURATION]
* NEW: Do not use deprecated autoconf macros anymore.
* NEW: The version information is now located in the 'version.m4' file in
  the source root directory.


git-svn-id: svn://localhost/gambas/trunk@6230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-05 21:22:43 +00:00
Benoît Minisini
3dc12551df [COMPILER]
* BUG: Raise an error if a function has too many arguments or too many 
  local variables.


git-svn-id: svn://localhost/gambas/trunk@6223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-05 11:02:17 +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
f3438a8da9 [WEBSITE]
* NEW: Use the new wiki now.

[WIKI]
* BUG: Fix style sheet and class description layout.
* NEW: Inherited symbols links are in italic now.
* NEW: Automatic registration system.
* NEW: Use the new LOCK ... WAIT instruction.
* BUG: Some fixes in the old wiki conversion routine.
* NEW: The administrator account can see the recent changes.

[EXAMPLES]
* NEW: SmallWiki: Update the embedded markdown support from gb.markdown.

[COMPILER]
* NEW: The '#' character is now optional if possible (for example in the 
  'OUTPUT TO' instruction).

[GB.FORM]
* NEW: Some new icons.

[GB.FORM.STOCK]
* BUG: Fix all missing icons.

[GB.GTK]
* BUG: Fix incorrect translation when drawing inside a DrawingArea.

[GB.MEDIA]
* BUG: Fix inputs and outputs enumeration.

[GB.QT4]
* BUG: Correctly handle UTF-8 when displaying the error message.

[GB.WEB]
* NEW: WebPage.ToString() is a new method that generates the webpage and 
  returns it as a string.
* BUG: When creating a session, other sessions having the same prefix and 
  being older than 24 hours are automatically removed from disk.


git-svn-id: svn://localhost/gambas/trunk@6206 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-03-22 12:25:48 +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
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
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
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
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
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
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
3768087f67 [COMPILER]
* BUG: Prevent NEW and READ from being used without an affectation.


git-svn-id: svn://localhost/gambas/trunk@6112 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-28 01:08:58 +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
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
de472c0e2a [COMPILER]
* NEW: Allow a CASE expression list to spread among the next line provided 
  that the current line ends with a comma.


git-svn-id: svn://localhost/gambas/trunk@6084 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-14 22:43:35 +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
e87b82bc05 [COMPILER]
* BUG: Fix compilation of NOT LIKE, NOT BEGINS and NOT ENDS operators when
  they are not alone in an expression.


git-svn-id: svn://localhost/gambas/trunk@6041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-31 14:30:58 +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
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
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
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
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
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
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
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
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
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
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
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
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
Benoît Minisini
b60772bfad [INTERPRETER]
* BUG: Synchronize the 'gambas.h' header with the internal date management 
  changes of rev. #5871.


git-svn-id: svn://localhost/gambas/trunk@5873 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-12 07:11:39 +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
1de5f7f803 [DEVELOPMENT ENVIRONMENT]
* BUG: Always use "svn --force" when deleting a file in a project under
  version control.

[INTERPRETER]
* BUG: Fix a structure alignment for ARM architecture.

[GB.FORM]
* NEW: The image preview background task is now run with a lower priority.


git-svn-id: svn://localhost/gambas/trunk@5868 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-08 21:58:37 +00:00
Benoît Minisini
e3d64af7ff [COMPILER]
* BUG: Correctly raise a syntax error if the FOR EACH variable is not
  immediately followed by the IN keyword.


git-svn-id: svn://localhost/gambas/trunk@5867 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-03 13:21:36 +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
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
e7f4c0967f [INTERPRETER]
* BUG: Task.Stop now behaves correctly if the task has not been yet 
  actually started.
* NEW: Stopped task temporary files are automatically removed.


git-svn-id: svn://localhost/gambas/trunk@5861 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-29 20:54:47 +00:00
Benoît Minisini
0d183b038d [INTERPRETER]
* NEW: Remove as much "packed" structure declaration as possible, to 
  prevent possible bugs on ARM architecture.


git-svn-id: svn://localhost/gambas/trunk@5860 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-29 16:56:12 +00:00
Benoît Minisini
0c8cd47114 [INTERPRETER]
* BUG: Fix a structure alignment bug for ARM.


git-svn-id: svn://localhost/gambas/trunk@5857 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-28 21:21:40 +00:00
Benoît Minisini
f6ff035982 [COMPILER]
* BUG: Fix a structure declaration that prevented the compiler to work 
  correctly on the ARM architecture.


git-svn-id: svn://localhost/gambas/trunk@5856 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-28 20:14:06 +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
3a3449c068 [INTERPRETER]
* NEW: Support for inequality operators in the operator interface.
* NEW: The Sgn() function can be implemented by the operator interface.

[GB.GMP]
* NEW: BigInt now supports inequality operators.
* NEW: New methods: Odd(), Even()
* NEW: Logical operators as static methods: And, Or, Xor, Not.
* NEW: Bit manipulation as static methods: BSet, BClr, BChg, BTst.


git-svn-id: svn://localhost/gambas/trunk@5828 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-03 21:11:55 +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
Benoît Minisini
a72e92ae47 [INTERPRETER]
* BUG: Fix a possible false error when using LINE INPUT on non-blocking 
  streams.

[GB.FORM]
* NEW: LCDLabel.Value is a new property that is a synonymous of the Text 
  property for numerical values.
 

git-svn-id: svn://localhost/gambas/trunk@5819 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-30 07:12:36 +00:00
Benoît Minisini
e182fbd2db [INTERPRETER]
* BUG: Continue on fixing "stop watching on end of file" algorithm...


git-svn-id: svn://localhost/gambas/trunk@5818 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-29 20:52:14 +00:00
Benoît Minisini
aa99eaa6bf [INTERPRETER]
* BUG: Fix "stop watching on end of file" algorithm again.


git-svn-id: svn://localhost/gambas/trunk@5817 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-29 20:21:20 +00:00
Benoît Minisini
ef8307793d [INTERPRETER]
* BUG: Do not stop watching when reading up to a specified number of bytes.


git-svn-id: svn://localhost/gambas/trunk@5816 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-29 19:15:14 +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
4830af856b [INTERPRETER]
* BUG: Disable read watch when reading a stream fails for any reason: i/o
  error, end-of-file...


git-svn-id: svn://localhost/gambas/trunk@5811 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-19 21:45:13 +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
9666673ccc [GB.FORM]
* NEW: SliderBox is a new control that displays a Slider and a SpinBox,
  both being synchronized.
* NEW: The SidePanel transparent handle is now smaller when the SidePanel
  is hidden.


git-svn-id: svn://localhost/gambas/trunk@5804 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-16 22:35:28 +00:00
Benoît Minisini
7a4dae617b [COMPILER]
* NEW: Implement the "!xxx" syntax for the WITH ... END WITH control 
  structure.


git-svn-id: svn://localhost/gambas/trunk@5798 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-15 14:36:44 +00:00
Benoît Minisini
f318c2ba39 [COMPILER]
* NEW: The ".[xxx]" syntax now can be used inside a WITH <object> ... 
  END WITH control structure. It is a synonymous for "<object>[xxx]".


git-svn-id: svn://localhost/gambas/trunk@5797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-15 14:16:17 +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
d405727342 [INTERPRETER]
* NEW: Process.Ignore() is a new method that tells the interpreter to not 
  wait for the process end. If the interpreter exits, that process is then
  automatically killed.


git-svn-id: svn://localhost/gambas/trunk@5791 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-12 20:48:45 +00:00
Benoît Minisini
30c67b1fcd [INTERPRETER]
* BUG: Process management is now reliable against processes killed and 
  started during process event handlers.


git-svn-id: svn://localhost/gambas/trunk@5790 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-12 20:01:24 +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