Commit graph

962 commits

Author SHA1 Message Date
Benoît Minisini
a7855016ca [DEVELOPMENT ENVIRONMENT]
* NEW: "Compress all" and "Uncompress all" action on project sub-
  directories.
* BUG: Do not crash when checking for completion in text editor.

[INTERPRETER]
* BUG: Void string contants work correctly now.

[COMPILER]
* BUG: Functions now can have up to 65536 bytecode operations instead of
  32768.
* NEW: Support for the Parent property of WebPage.
* NEW: WebPage markups attributes can use the <%...%> syntax.

[GB.EVAL.HIGHLIGHT]
* NEW: HTML highlighting has be rewritten. <%...%> markups are taken into
  account inside <style> and <script> markups.

[GB.FORM]
* NEW: FileView and DirView now display hidden files lightly, and symbolic
  links in italic.
* NEW: File properties dialog in FileChooser and DirChooser.

[GB.FORM.STOCK]
* NEW: Default icons for some mime types.

[GB.GTK]
* BUG: Menu click event is now triggered the same way as in gb.qt4.
* BUG: Control.HasFocus() works correctly now.
* BUG: Modal windows cannot be shrinked less then their initial size 
  anymore.

[GB.GUI.BASE]
* NEW: IconView, TreeView, ListView and ColumnView items now have a 
  RichText property.

[GB.WEB]
* NEW: WebPage.Parent property returns the parent webpage that includes the
  current webpage with the <<...>> markup.



git-svn-id: svn://localhost/gambas/trunk@5623 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-04-29 21:27:11 +00:00
Benoît Minisini
8f054e7655 [DEVELOPMENT ENVIRONMENT]
* NEW: Allow a component to have a requirement on the XML implementation 
  feature (i.e. 'gb.xml' or 'gb.libxml').


git-svn-id: svn://localhost/gambas/trunk@5617 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-04-10 11:07:38 +00:00
Benoît Minisini
80e53c8dbd [INTERPRETER]
* BUG: Fix a memory leak when trying to run a non-existant program with 
  EXEC or SHELL.


git-svn-id: svn://localhost/gambas/trunk@5614 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-04-07 14:21:48 +00:00
Benoît Minisini
165be4a66a [INTERPRETER]
* NEW: Clean up object referencement macros.


git-svn-id: svn://localhost/gambas/trunk@5601 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-30 13:51:10 +00:00
Benoît Minisini
2231d3f2e6 [INTERPRETER]
* BUG: Correctly free things then something bad happens while starting a 
  child process.


git-svn-id: svn://localhost/gambas/trunk@5600 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-30 12:15:18 +00:00
Benoît Minisini
ca7856bf80 [INTERPRETER]
* NEW: Clean up allocation macros.

{GB.EVAL.HIGHLIGHT]
* NEW: Add 'transition' to the CSS keywords.


git-svn-id: svn://localhost/gambas/trunk@5599 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-29 23:33:01 +00:00
Benoît Minisini
31a185f7e0 [DEVELOPMENT ENVIRONMENT]
* NEW: Add translations for details of the E_CHILD error message.

[INTERPRETER]
* NEW: If the program name of EXEC is an absolute path, immediately raise 
  an error if it does not exist.


git-svn-id: svn://localhost/gambas/trunk@5597 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-28 21:33:19 +00:00
Benoît Minisini
71167549bf [INTERPRETER]
* NEW: Add debugging code for issue 415.


git-svn-id: svn://localhost/gambas/trunk@5586 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-23 18:25:12 +00:00
Benoît Minisini
43b8448af8 [INTERPRETER]
* BUG: Don't flush the process output at process end if the process stream 
  has already been closed.


git-svn-id: svn://localhost/gambas/trunk@5585 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-23 18:12:36 +00:00
Benoît Minisini
54f3e89585 [INTERPRETER]
* BUG: When the default date format associated with the current locale is 
  not a numeric one, use the american format. It was done for 'en_PH' 
  locale.


git-svn-id: svn://localhost/gambas/trunk@5583 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-18 22:24:18 +00:00
Benoît Minisini
45d8058159 [GB.GUI.BASE]
* NEW: Common renaming routine for TextView, ListView, ColumnView and 
  IconView.
* NEW: IconView.Renaming is a new property that returns if an item is being
  renamed.
* BUG: Renaming an IconView item now correctly works if the IconView is 
  sorted.
* NEW: FileChooser and DirChooser now can rename or delete files.

[GB.QT4]
* NEW: TextArea inner margin is now two pixels when there is a border, and
  zero pixels when there is no border.


git-svn-id: svn://localhost/gambas/trunk@5571 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-03 22:34:30 +00:00
Benoît Minisini
514b6a95a5 [INTERPRETER]
* NEW: Defining the PWD environment variable in a SHELL or EXEC instruction
  changes the working directory of the child process.


git-svn-id: svn://localhost/gambas/trunk@5569 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-02 22:42:05 +00:00
Benoît Minisini
33bf1fb500 [INTERPRETER]
* BUG: When the parent of an observer is detected invalid while raising an 
  event, detach the observer and not the observed object!


git-svn-id: svn://localhost/gambas/trunk@5567 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-02 02:11:17 +00:00
Benoît Minisini
f79bde1d6a [INTERPRETER]
* NEW: GB.Stream.Eof() is a new API that returns if there is something to 
  read on a stream, by taking the 'Line Input' internal buffer into 
  account.

[GB.NET.CURL]
* NEW: Now the Read event is raised again and again while there is 
  something to read.


git-svn-id: svn://localhost/gambas/trunk@5554 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-02-17 11:05:34 +00:00
Benoît Minisini
9c829d258e [INTERPRETER]
* NEW: A new interpreter API that allows a component to tell that its 
  custom stream data is immediately available.
* BUG: GB.Stream.SetBytesRead() now increments the internal number of read
  bytes, so that the 'Line Input' buffer is taken into account.

[GB.NET.CURL]
* NEW: The FtpClient or HttpClient Read event is now called as long as 
  there is something to read *and* the event handler actually read at least
  one byte.
* BUG: The handle of a curl object is now -1 (i.e. it is not available).
* BUG: The data received by a curl object is immediately available to the
  READ instruction.


git-svn-id: svn://localhost/gambas/trunk@5553 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-02-17 00:44:48 +00:00
Benoît Minisini
acea48d851 [INTERPRETER]
* BUG: Display an accurate error message if the project cannot be started.


git-svn-id: svn://localhost/gambas/trunk@5525 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-29 00:53:21 +00:00
Benoît Minisini
98c2ec299b [INTERPRETER]
* BUG: Fix structure field alignment mismatch that led to memory leaks.


git-svn-id: svn://localhost/gambas/trunk@5519 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-27 08:32:01 +00:00
Benoît Minisini
b21341ec7c [INTERPRETER]
* BUG: Collection cannot be converted to an array.


git-svn-id: svn://localhost/gambas/trunk@5516 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-24 22:29:27 +00:00
Benoît Minisini
746b155d65 [INTERPRETER]
* BUG: Ending a process was removing the watched file descriptors twice in 
  some cases.


git-svn-id: svn://localhost/gambas/trunk@5511 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-19 17:42:09 +00:00
Benoît Minisini
302d0c8fe3 [INTERPRETER]
* BUG: Fix memory leak in Class[].Signature property.


git-svn-id: svn://localhost/gambas/trunk@5502 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-12 22:44:52 +00:00
Benoît Minisini
53d4d9c752 [INTERPRETER]
* BUG: Fixes of bugs detected by Coverity Scan.
* BUG: Process output is correctly flushed at process exit now.

[COMPILER]
* BUG: Fixes of bugs detected by Coverity Scan.

[ARCHIVER]
* BUG: Fixes of bugs detected by Coverity Scan.

[INFORMER]
* BUG: Fixes of bugs detected by Coverity Scan.

[GB.COMPRESS]
* BUG: Fixes of bugs detected by Coverity Scan.

[GB.DEBUG]
* BUG: Fixes of bugs detected by Coverity Scan.

[GB.EVAL]
* BUG: Fixes of bugs detected by Coverity Scan.

[GB.IMAGE]
* BUG: Fixes of bugs detected by Coverity Scan.

[GB.IMAGE.EFFECT]
* BUG: Fixes of bugs detected by Coverity Scan.

[GB.VB]
* BUG: Fixes of bugs detected by Coverity Scan.


git-svn-id: svn://localhost/gambas/trunk@5493 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-06 16:13:31 +00:00
Benoît Minisini
b8260e2aba [INTERPRETER]
* BUG: Some fixes of bugs detected by Coverity Scan.
* NEW: Raise a 'Filename too long' error now when a too long file path is
  detected inside a file management function.
* NEW: System.TimeZone is a new property that returns the current timezone
  as an offset in seconds that must be added to a local time to get UTC.

[COMPILER]
* BUG: Some fixes of bugs detected by Coverity Scan.

[GB.IMAGE]
* BUG: Some fixes of bugs detected by Coverity Scan.


git-svn-id: svn://localhost/gambas/trunk@5490 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-04 23:24:37 +00:00
Benoît Minisini
dbf5689f9a [INTERPRETER]
* BUG: Check process stack pointer with a bigger margin so that we get 
  'Stack overflow' errors instead of segfaults.

[GB.GTK]
* BUG: Fix menu bar layout when the window is shown for the first time.

[GB.GUI.BASE]
* BUG: Don't set the background color of ScrollArea scrollbars.

[GB.QT4]
* NEW: Remove any useless reference to Q3ScrollView.
* OPT: Paint.ClipRect is now optimized when the clipping region is a single
  rectangle.


git-svn-id: svn://localhost/gambas/trunk@5481 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-01 11:55:40 +00:00
Benoît Minisini
d76ae3b004 [INTERPRETER]
* NEW: Pointer to string conversion now uses hexadecimal numbers.

[GB.QT4]
* BUG: Clipping now works when drawing pictures or images.


git-svn-id: svn://localhost/gambas/trunk@5478 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-30 14:34:43 +00:00
Benoît Minisini
2c88e76fd3 [INTERPRETER]
* BUG: Fix compilation on 32 bits systems.

[GB.FORM]
* NEW: DateChooser got a boolean Border property.
* NEW: ColorChooser got a boolean Border property.

[GB.GTK]
* BUG: Style drawing methods should be correctly clipped now.
* BUG: Compilation with older versions of librsvg should work now.
* BUG: Setting the Paint.Font property with a control font has no side 
  effects anymore.
* BUG: Drawing richt text and getting rich text size now wrap the text the
  same way.


git-svn-id: svn://localhost/gambas/trunk@5474 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-29 23:19:20 +00:00
Benoît Minisini
d8d9e98961 [INTERPRETER]
* NEW: Pointer can be converted to String like Integer or Long.

[DEVELOPMENT ENVIRONMENT]
* BUG: Correctly update the '~/.fonts.conf' file when installing the Gambas 
  font.

[GB.GTK]
* NEW: Remove HSplit and VSplit controls.

[GB.GUI.BASE]
* NEW: HSplit and VSplit controls are now implemented with Gambas.
* BUG: Fix scrollbar layout of ScrollArea and all its descendants.

[GB.QT4]
* NEW: Remove HSplit and VSplit controls.


git-svn-id: svn://localhost/gambas/trunk@5472 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-29 10:17:38 +00:00
Benoît Minisini
4513050c81 [INTERPRETER]
* BUG: Do not leak memory if System.Shell is used.


git-svn-id: svn://localhost/gambas/trunk@5470 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-27 15:18:16 +00:00
Benoît Minisini
d5cc03fbdc [INTERPRETER]
* BUG: Add the Even() and Odd() routines to the information file.


git-svn-id: svn://localhost/gambas/trunk@5468 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-24 13:38:17 +00:00
Benoît Minisini
dfcdd53552 [INTERPRETER]
* NEW: Check at startup that temporary directories are really directories 
  and not symbolic links.


git-svn-id: svn://localhost/gambas/trunk@5464 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-22 19:51:30 +00:00
Benoît Minisini
c61a906431 [DEVELOPMENT ENVIROMNENT]
* BUG: Do 'svn cleanup' in the parent directory of the project.

[COMPILER]
* BUG: Do not emit inaccurate line number information for forms and global
  variables with no initialization.

[INTERPRETER]
* BUG: When creating the process temporary directory, check the permissions
  of both the top directory (gambas.<userid>) and the process directory 
  inside.


git-svn-id: svn://localhost/gambas/trunk@5461 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-22 00:23:51 +00:00
Emil Lenngren
c7653c8bcf [GB.JIT]
* NEW: Support the new QUIT syntax with an exit code.
* NEW: Support raising events in parent classes.


git-svn-id: svn://localhost/gambas/trunk@5447 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-19 02:10:22 +00:00
Benoît Minisini
7802e56a7b [INTERPRETER]
* BUG: Ensure that the interpreter temporary directory is owned by the 
  current user and that its rights are accurate. Otherwise abort.


git-svn-id: svn://localhost/gambas/trunk@5438 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-15 02:27:42 +00:00
Benoît Minisini
2476e0a2a2 [DEVELOPMENT ENVIRONMENT]
* BUG: The project tree control now uses the same icons as the main project 
  tree view.
* NEW: Support for LCDLabel.

[EXAMPLES]
* BUG: MediaPlayer: Remove uses of the DrawingArea.Painted property.

[INTERPRETER]
* BUG: The GB.GetProperty() API has been fixed, and now use the datatype of 
  the property for the return value.
* OPT: Remove some useless table symbol class at class loading for native 
  classes that do not raise events.

[GB.DRAW]
* NEW: PaintMatrix is now creatable.

[GB.FORM]
* NEW: LCDLabel is a new control that displays its contents with sixteen 
  segments LCD digits.

[GB.MEDIA]
* BUG: Remove the useless MediaPlayer.Visualisation property.


git-svn-id: svn://localhost/gambas/trunk@5412 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-05 03:36:44 +00:00
Benoît Minisini
3507637a45 [DEVELOPMENT ENVIRONMENT]
* BUG: Get rid of the last use of the deprecated DrawingArea.Painted 
  property.

[INTERPRETER]
* NEW: The deprecated API message now displays the current code position.

[GB.FORM]
* NEW: The FileChooser and DirChooser label that displays the current 
  directory now "ellipsized" it if there is not enough room.

[GB.GTK]
* BUG: All style drawing methods now draw at the correct position.
* NEW: Start replacing old GDK drawing methods by Cairo methods.

[GB.MAP]
* NEW: Rename the MapViewer control as MapView.
* BUG: Don't redefine standard events. Use a proxy instead.


git-svn-id: svn://localhost/gambas/trunk@5396 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-29 12:43:29 +00:00
Benoît Minisini
e51fc2d951 [INTERPRETER]
* NEW: The RAISE instruction now can raise events defined in a parent 
  class.
* NEW: Timer: The Trigger method now does nothing if there is an already
  pending trigger. This behaviour is not backward-compatible, so it may be
  removed if problems arise.

[COMPILER]
* NEW: The RAISE instruction now can raise events defined in a parent 
  class.

[GB.DRAW]
* NEW: Implement standard operators in Point and PointF classes.
* NEW: Automatic conversion between Point and PointF.
* NEW: 'CDraw.c' and 'CDraw.h' source files have been renamed as 'cdraw.c' 
  and 'cdraw.h'.
* NEW: Rect.Center() and RectF.Center() are two new methods that return the 
  center of the rectangle.

[GB.FORM]
* NEW: FileChooser: tar archives now can be uncompressed. 


git-svn-id: svn://localhost/gambas/trunk@5359 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-24 18:52:11 +00:00
Benoît Minisini
723fca96d0 [INTERPRETER]
* NEW: Move the '.SubCollection' virtual class to the gb.db. component.

[GB.DB]
* NEW: Move the '.SubCollection' virtual class to the gb.db. component.

[GB.FORM]
* BUG: TabPanel: Fix the algorithm ensuring that the current tab is 
  visible.


git-svn-id: svn://localhost/gambas/trunk@5326 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-14 22:24:15 +00:00
Benoît Minisini
a716682e1e [INTERPRETER]
* BUG: NULL can be converted to a pointer now.


git-svn-id: svn://localhost/gambas/trunk@5310 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-09 20:15:06 +00:00
Benoît Minisini
34de79ef3d [DEVELOMENT ENVIRONMENT]
* BUG: Disable embedded http server.

[INTERPRETER]
* BUG: Fix a crash in String.Comp() when one of the two string is null.

[GB.FORM]
* BUG: Don't show useless menus in the DirView popup menu of a DirChooser 
  or FileChooser control.
* BUG: Do not scroll the TabPanel tab bar if not really necessary.

[GB.GUI.BASE]
* BUG: For backward-compatibility reasons, you can now set the value of 
  any arbitrary positive column index of a ColumnView item.


git-svn-id: svn://localhost/gambas/trunk@5301 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-06 20:11:20 +00:00
Benoît Minisini
6902dc7dae [INTERPRETER]
* BUG: Using Enum.Index outside of an enumeration now raises an error 
  instead of crashing.


git-svn-id: svn://localhost/gambas/trunk@5270 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-01 13:19:11 +00:00
Benoît Minisini
588e0f3942 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix scrolling of code editor procedure list.
* BUG: Automatic local variable declaration now works correctly when a 
  method named "Get" is called inside the analyzed expression.

[COMPILER]
* NEW: "[]" now is compiled to return a array with no elements.

[INTERPRETER]
* BUG: Array with no elements can be casted to any other array datatype.

[GB.GUI.BASE]
* BUG: Fix visibility of expanded TreeView items.

[GB.QT4.EXT]
* NEW: When the Editor loses the focus, it does not scroll to the cursor 
  position automatically anymore.


git-svn-id: svn://localhost/gambas/trunk@5266 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-30 23:44:24 +00:00
Benoît Minisini
8edf201b34 [INTERPRETER]
* BUG: Fix profiling of WAIT instruction.


git-svn-id: svn://localhost/gambas/trunk@5260 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-29 00:46:53 +00:00
Benoît Minisini
0de1545f21 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix option dialog layout.

[GB.FORM]
* NEW: New FontChooser control design.

[GB.GTK]
* BUG: Fix gb.gtk compilation.
* NEW: Add Window.Indent arrangement property.

[GB.GUI.BASE]
* BUG: Setting the text of the ColumnView columns now works correctly.
* NEW: The ListBox Gambas implementation is finished, but has not replaced
  the old one yet.

[GB.QT4]
* NEW: Add Window.Indent arrangement property.


git-svn-id: svn://localhost/gambas/trunk@5256 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-28 00:28:26 +00:00
Benoît Minisini
8539a2a02d [DEVELOPMENT ENVIRONMENT]
* NEW: A new option that defines the default application font.
* NEW: The font options have been redesigned.
* BUG: Various fixes implied by the new TreeView control implementation.

[WIKI CGI SCRIPT]
* NEW: Page whose title begins with "~" are class page synonymous.

[INTERPRETER]
* BUG: Calling the _unknown method on an anonymous object reference won't
  crash anymore.
* NEW: Class.Exist() is a new method that returns if a class has a specific
  symbol.

[GB.GTK]
* NEW: The Container Find() method has been renamed as FindChild(). The 
  _unknown method has been implemented to handle backward compatibility.
* BUG: Fix string to Font conversion for fonts whose name starts with 
  "nan" or other special numeric strings.

[GB.GUI.BASE]
* BUG: ScrollView.EnsureVisible() and GridView.EnsureVisible() methods when 
  there is a frame.
* NEW: MyListBox is the initial implementation of a ListBox control 
  entirely written in Gambas.
* BUG: Renaming a TreeView item now correctly selects it before.

[GB.OPENGL]
* BUG: Fix an error message in deprecated constants handler routine.

[GB.QT4]
* NEW: The Container Find() method has been renamed as FindChild(). The 
  _unknown method has been implemented to handle backward compatibility.


git-svn-id: svn://localhost/gambas/trunk@5254 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-27 18:59:14 +00:00
Benoît Minisini
d800d7e136 [INTERPRETER]
* BUG: Fix the order of component exported classes loading after the 
  project has been loaded.
* BUG: Fix GB.CanRaise() API.

[GB.DB.FORM]
* NEW: DataView.Sorted is a new property that tells if the data can be 
  sorted by clicking on the column headers.
* NEW: DataView columns now show sort indicators, and data can be sorted in
  descending order.
* NEW: DataSource.Ascending is a new property that defines the order of the
  sort defined by the DataSource.Sort property.

[GB.FORM]
* NEW: Remove all controls that were moved to gb.gui.base.
* NEW: FileView file size units are translatable now.

[GB.GTK]
* NEW: Remove TreeView, ListView and ColumnView.
* NEW: Control.Tracking takes the proxy into account.
* NEW: Remove the Gambas part.

[GB.GUI.BASE]
* NEW: gb.gui.base is a new hidden component that is automatically loaded 
  by gb.qt4 and gb.gtk. It implements the following controls and classes 
  entirely in Gambas: TreeView, ListView, ColumnView, IconView, Action,
  ScrollArea. These classes were located in gb.form and in the Gambas part
  of GUI components before.

[GB.QT4]
* NEW: Remove TreeView, ListView and ColumnView.
* NEW: Control.Tracking takes the proxy into account.
* NEW: Remove the Gambas part.

[GB.WEB]
* NEW: Request.Query and Request.Path can be modified now.
* BUG: Overriding a CGI variable with Null works now.


git-svn-id: svn://localhost/gambas/trunk@5251 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-27 00:28:55 +00:00
Benoît Minisini
c5debe2304 [INTERPRETER]
* BUG: The event handler check routine should not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@5249 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-22 16:22:15 +00:00
Benoît Minisini
fb33a73b86 [INTERPRETER]
* NEW: Accept event handlers with a variable number of arguments.
* BUG: Remove a debugging message.

[GB.IMAGE.EFFECT]
* BUG: Image.Histogram() now correctly handle ABGR images.
* BUG: Remove a debugging message.


git-svn-id: svn://localhost/gambas/trunk@5248 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-22 14:09:05 +00:00
Benoît Minisini
53c284099b [DEVELOPMENT ENVIRONMENT]
* BUG: The name of GridView controls is now always visible in the form
  editor.

[INTERPRETER]
* NEW: Support for new QUIT syntax.
* NEW: Do not display overriding prefix in class names.

[COMPILER]
* NEW: QUIT now can takes an optional argument which is the program return 
  value.

[GB.ARGS]
* BUG: The "--version" option is not "----version" anymore
* NEW: If an error occurs, returns 1 as exit value and not 0.

[GB.FORM]
* BUG: GridView is correctly updated now when the Border property is set.


git-svn-id: svn://localhost/gambas/trunk@5246 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-19 21:00:35 +00:00
Benoît Minisini
72ee74e8d4 [DEVELOPMENT ENVIRONMENT]
* NEW: Draw the projet property dialog library list with a GridView.

[INTERPRETER]
* BUG: Fix class overriding routine.

[GB.ARGS]
* NEW: 'gb.args' is a new component that analyzes the command-line options,
  and automatically handles the "--help" option.

[GB.HTTPD]
* BUG: Hide the component.


git-svn-id: svn://localhost/gambas/trunk@5241 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-15 10:06:37 +00:00
Benoît Minisini
17a0748815 [CONFIGURATION]
* NEW: Each component installation now generates all information files
  systematically, to fix possible dependencies between components written
  in Gambas.

[DEVELOPMENT ENVIRONMENT]
* NEW: Running a project using the 'gb.web' component now automatically
  starts the embedded HTTP server.

[INTERPRETER]
* NEW: Class overriding is retrospective now.
* NEw: System._Breakpoint() is a new hidden method that raises a 
  breakpoint. Very useful for debugging.

[GB.GTK]
* BUG: The Action.Register() method must not crash when called during class 
  clean-up.

[GB.HTTPD]
* NEW: Define a custom exported HTTP server name.

[GB.JIT]
* BEW: Support for new class overriding (the CLASS structure has lost one 
  field).

[GB.QT4]
* BUG: The Action.Register() method must not crash when called during class 
  clean-up.


git-svn-id: svn://localhost/gambas/trunk@5240 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-14 22:42:53 +00:00
Benoît Minisini
fedc591dfc [INTERPRETER]
* BUG: Implicit array conversion now correctly preserves dimensions.


git-svn-id: svn://localhost/gambas/trunk@5237 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-14 10:52:02 +00:00
Benoît Minisini
a68336da9b [CONFIGURATION]
* NEW: Switch to 3.3.90 version.

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

[INTERPRETER]
* NEW: New API for getting information about a file.

[GB.DESKTOP]
* NEW: _Desktop.Time is a new property that returns the last X11 timestamp.
* NEW: _Desktop.ActivateWindow() is a new method that will be removed in a 
  next commit.
* NEW: DesktopWindow.Activate() is a new method to activate a window.

[GB.GTK]
* NEW: New GB_INFO constant to return the last X11 timestamp to other 
  components.

[GB.HTTPD]
* NEW: Reindent source files.

[GB.QT4]
* NEW: New GB_INFO constant to return the last X11 timestamp to other 
  components.

[GB.QT4.WEBKIT]
* BUG: Fix WebHitTest.Editable property declaration.


git-svn-id: svn://localhost/gambas/trunk@5221 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-02 08:01:25 +00:00
Benoît Minisini
41b6a93cef [EXAMPLES]
* BUG: Fix Embedded window layout.

[INTERPRETER]
* NEW: The '-H' option now runs the interpreted program as a CGI script
  through an embedded HTTP server.

[GB.HTTPD]
* NEW: New hidden component that embeds an HTTP server that runs the 
  project as a CGI script. It is activated by a new interpreter option.
  Warning! This is highly experimental. The HTTP server is based on the
  thttpd source code.

[GB.WEB]
* BUG: As the _init static class is always executed at startup for exported
  classes, delay the intialization of Session class the first time one of 
  its properties is used.
* BUG: If the SCRIPT_NAME CGI variable equals nothing or "/", set it to 
  "/." so that it can be concatenated to any path and still gives a valid
  url.
* BUG: Support for explicit URL ports.
* NEW: Application.Port is a new property that returns the port used by the 
  HTTP request.


git-svn-id: svn://localhost/gambas/trunk@5209 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-27 20:52:08 +00:00
Benoît Minisini
2dcaa54c91 [INTERPRETER]
* BUG: The debugger won't crash anymore when trying to continue after an 
  error has been raised inside a component.


git-svn-id: svn://localhost/gambas/trunk@5183 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-21 11:09:07 +00:00
Benoît Minisini
54150a91e0 [DEVELOPMENT ENVIRONMENT]
* NEW: Some little redesign of the welcome dialog.
* NEW: Remove the "Alternate" theme color.

[COMPILER]
* NEW: New WebPage syntaxes: <<Include>>, <</Include>>, <%/%>, <<--->>.

[GB.EVAL]
* NEW: Highlight.Alternate has been deprecated.

[GB.EVAL.HIGHLIGHT]
* NEW: Support for the new WebPage syntaxes.

[GB.QT4.EXT]
* NEW: Editor: The alternate background is automatically computed.
* NEW: Editor: Brace highlighting now works on alternate background.
* NEW: Highlight.Alternate has been deprecated.


git-svn-id: svn://localhost/gambas/trunk@5177 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-20 02:29:37 +00:00
Benoît Minisini
0f985417cf [DEVELOPMENT ENVIRONMENT]
* NEW: Use Terminus as default fixed font if it is installed on the system.
* BUG: Don't load a component description if that component has the same 
  name as the current project. This is a temporary incorrect fix!

[INTERPRETER]
* BUG: Fix Classes enumeration.

[GB.DESKTOP]
* BUG: Fix X11 client message sending routine on 64 bits OS.
* BUG: Fix all DesktopWindow properties that read or change the state of 
  the window.

[GB.GTK]
* NEW: Fonts.Exist() is a new method that returns if a specific font family 
  exists.

[GB.QT4]
* NEW: Fonts.Exist() is a new method that returns if a specific font family 
  exists.


git-svn-id: svn://localhost/gambas/trunk@5171 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-17 11:13:32 +00:00
Benoît Minisini
b174b79ada [DEVELOPMENT ENVIRONMENT]
* NEW: Display a PDF icon for PDF files.

[GB.FORM]
* NEW: Add a PDF icon to the stock.

[GB.FORM.STOCK]
* NEW: Add a PDF icon.

[GB.GTK]
* BUG: Printer.From and Printer.To now always return zero if all pages must 
  be printed.

[GB.QT4]
* BUG: If not page has to be printed, then the Print() method correctly 
  returns the Printer object to an inactive state.


git-svn-id: svn://localhost/gambas/trunk@5170 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-16 14:54:10 +00:00
Benoît Minisini
7cba8c08e0 [INTERPRETER]
* OPT: Conversion between byte index and UTF-8 character index of the last 
  string has been optimized when that last string is big.

[GB.EVAL.HIGHLIGHT]
* OPT: Optimization of HTML syntax highlighting for big lines. That 
  optimization should be handled by the interpreter automatically.


git-svn-id: svn://localhost/gambas/trunk@5167 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-15 02:17:12 +00:00
Benoît Minisini
c7bdcd4947 [INTERPRETER]
* BUG: Fix error handler calls.


git-svn-id: svn://localhost/gambas/trunk@5145 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-09 17:24:54 +00:00
Benoît Minisini
3ba6513b6d [INTERPRETER]
* BUG: Fix the enumeration API. GB.ListEnum() has been replaced by 
  GB.BeginEnum() and GB.EndEnum(), that save the state of the internal
  current enumeration.

[GB.MIME]
* BUG: Raise an error when the MimeMessage constructor fails while parsing
  a message.

[GB.NET.POP3]
* BUG: _Pop3Client_Message must not inherit MimeMessage.
* NEW: _Pop3Client_Message has a new Message property that returns the 
  decoded MimeMessage.
* NEW: _Pop3Client_Message has a new Deleted property that returns if the
  message has been deleted.
* NEW: _Pop3Client_Message has a new Id property that returns the 
  message id, which is its index plus one.
* NEW: _Pop3Client_Message has a new Index property that returns the 
  message index, which is its id minus one.
* BUG: Hides protocol dependent routines.
* NEW: The error returned by the Pop3 client is directly used for the error 
  message.
* OPT: Remove duplicated code in TCPClient and SSLCLient. Centralize it in 
  the PopClient parent class.
* BUG: Fix the single line response reading of SSLClient.
* BUG: Fix the multiple line response reading of SSLClient and TCPClient.
* BUG: Do not display password on the standard error in debugging mode, but 
  eight "*" characters instead.
* NEW: Many methods do not return a boolean status, but raise an error 
  instead.
* BUG: Methods that return their result as a boolean status now return TRUE
  if they fail, not if they succeed (this is the Gambas convention).
* BUG: Fix the Pop3CLient.List() method.
* NEW: Rename the Pop3Client UniqueId() method as ListUniqueId().
* BUG: Fix the Pop3Client.ListUniqueId() method.


git-svn-id: svn://localhost/gambas/trunk@5134 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-06 16:20:54 +00:00
Benoît Minisini
1937a67353 [DEVELOPMENT ENVIRONMENT]
* NEW: Pressing SHIFT with the RETURN key prevents automatic variable 
  declaration.
* BUG: Automatic variable declaration takes TRY into account.
* BUG: Automatic variable declaration now understands more expressions.
* NEW: Add a filter to the example tab of the open project dialog.

[INTERPRETER]
* NEW: String.UCaseFirst() is a new method that capitalize the first letter
  of an UTF-8 string.

[COMPILER]
* NEW: If a function argument is enclosed with braces, then no warning is
  emitted if it overrides a global symbol.

[GB.FORM]
* BUG: Transparent SidePanel controls do not eat one pixel of their 
  contents anymore.
* NEW: TabPanel draws its focus highlight differently.
* NEW: ScrollArea now draws a shadow only if the corresponding scrollbar is
  visible.


git-svn-id: svn://localhost/gambas/trunk@5128 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-05 18:36:59 +00:00
Benoît Minisini
dde26cb313 [DEVELOPMENT ENVIRONMENT]
* BUG: Moving, renaming or deleting a source file now should correctly
  refresh the search list, the breakpoint list and the task list.

[GB.FORM]
* NEW: ScrollArea draws a focus border when it has focus.

[GB.NET.POP3]
* NEW: Make Pop3Client a virtual control like SmtpClient.


git-svn-id: svn://localhost/gambas/trunk@5121 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-03 23:40:59 +00:00
Benoît Minisini
505cd02a5f [INTERPRETER]
* BUG: Disable the component specific event loop when starting a task. No
  way that any GUI works in a background task now, but I can't disable it
  automatically.


git-svn-id: svn://localhost/gambas/trunk@5107 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-31 19:56:41 +00:00
Benoît Minisini
1ab3b111c5 [INTERPRETER]
* BUG: Handle errors occuring while waiting for a process correctly now.
* NEW: Process.Wait() now can take an optional timeout argument, in 
  milliseconds.
* BUG: Handle errors occuring while waiting for a task correctly now.


git-svn-id: svn://localhost/gambas/trunk@5102 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-30 22:49:21 +00:00
Benoît Minisini
f3f10a4167 [DEVELOPMENT ENVIRONMENT]
* BUG: Notes (TODO:, FIXME:, NOTE:) can be used in comments beginning with
  two quotes.

[INTERPRETER]
* BUG: Fix possible recursion problems while freeing signal handlers.
* BUG: The output of a process is sometimes woke up ready to read whereas 
  there is nothing to read on it. Close the output immediately instead of 
  calling the callback again and again.
* BUG: Try to handle correctly errors raised during the Kill event of a
  background task. It does not work yet. :-(
* NEW: Task.Running is a new property that returns if a background task is
  running.

[GB.NET]
* NEW: Add Net.CannotAuthenticate error constant for gb.net.pop3.

[GB.NET.POP3]
* BUG: Big interface clean-up so that it matches other networking classes.
* NEW: Add a Pop3Client.Debug property. Not all "Debug" instructions have 
  been replaced yet.
* NEW: The default value of the Port property is zero now. It is 
  automatically converted to 110 or 995 according to the encryption method.
* NEW: Use the Net class for Pop3Client.Status instead of specific 
  constants.
* NEW: Rename the _PopMessage virtual class in _Pop3Client_Message to 
  follow the standard naming scheme that the wiki loves.


git-svn-id: svn://localhost/gambas/trunk@5101 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-30 22:13:25 +00:00
Benoît Minisini
c90ed8da3a [INTERPRETER]
* NEW: New API GB.CompVariant() that compares two Variant.


git-svn-id: svn://localhost/gambas/trunk@5099 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-29 21:02:09 +00:00
Benoît Minisini
1a031869d0 [INTERPRETER]
* NEW: Implement Variant comparison routine.
* NEW: Variant[] now has an Exist() and a Find() method.


git-svn-id: svn://localhost/gambas/trunk@5098 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-29 20:56:13 +00:00
Benoît Minisini
44b919bb85 [INTERPRETER]
* BUG: Fix a typo in '^' operator implementation that prevented its second
  argument to be a Variant.


git-svn-id: svn://localhost/gambas/trunk@5097 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-29 19:12:54 +00:00
Benoît Minisini
c2764bc3f8 [COMPILER]
* BUG: Fix compilation of WebPage having UTF-8 characters inside.

[INTERPRETER]
* BUG: A background task automatically closes the file descriptor of every 
  other tasks.
* BUG: A task cannot create sub-tasks.
* NEW: There is an hard limit of simultaneous 256 background tasks now. 
  That should prevent fork bombing.
* BUG: Process.Kill does not try to wait for the task completion, and 
  return immediately.
* BUG: Fix events flushing at task termination.

[GB.EVAL.HIGHLIGHT]
* BUG: Fix WebPage highlighting.

[GB.WEB]
* BUG: The session cookie is now only accessible to the current CGI script.
* NEW: Response.SendFile() can set the content-type according to the file
  extension, if no content-type has been specified.


git-svn-id: svn://localhost/gambas/trunk@5096 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-29 00:43:48 +00:00
Benoît Minisini
1741274a34 [INTERPRETER]
* NEW: Task.Value now raises an error if the background task has failed for
  any reason. Otherwise it normally returns the background task return 
  value.
* BUG: Background tasks do not interfere with the debugger anymore.

[GB.TASK]
* NEW: The component has been moved inside the interpreter.


git-svn-id: svn://localhost/gambas/trunk@5081 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-26 16:26:53 +00:00
Benoît Minisini
796f6b023d [INTERPRETER]
* NEW: GB.Serialize() is a new API that serializes a Gambas value to a 
  file.
* NEW: GB.UnSerialize() is a new API that serializes a Gambas value from
  a file.

[GB.FORM]
* BUG: Stock.Icons works correctly in all cases now.

[GB.TASK]
* NEW: Task is not a stream anymore.
* NEW: The Task Read event now takes an argument, which is the data printed
  on the task standard output. Normally, the data will come line by line.
* NEW: The Task Main method now can return any serializable value to its 
  parent.
* NEW: Task.Value is a new property that return the value returned by the
  background task once it has terminated.


git-svn-id: svn://localhost/gambas/trunk@5079 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-26 01:54:57 +00:00
Benoît Minisini
091b94b1ed [INTERPRETER]
* NEW: Allow components to access the interpreter API through a pointer and 
  not a full structure. It is a little bit slower (one more indirection),
  but it uses less memory: one pointer instead of about 180.

[GB.GTK]
* NEW: Use the indirect API access.

[GB.QT4]
* NEW: Use the indirect API access.

[GB.TASK]
* NEW: Use the indirect API access.
* NEW: Task now is now a stream that can read the standard output of the 
  background task.
* NEW: Task now raises the Read event when the background task has printed
  something on its standard output.
* NEW: Task now raises the Error event when the background task has printed
  something on its standard error output. The event handler receives the
  data in its first argument.

[GB.XML.RPC]
* BUG: Some english fixes in some error messages.


git-svn-id: svn://localhost/gambas/trunk@5077 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-25 15:13:39 +00:00
Benoît Minisini
b8f6e09b8b [INTERPRETER]
* NEW: Add support for double-linked lists in the interpreter API.
* NEW: GB.Wait() is a new API that waits for a specific number of 
  milliseconds, exactly like the WAIT instruction (i.e. the event loop is
  run).
* NEW: GB.HasForked() is a new API that warns the interpreter that fork()
  has been called (he has to do some stuff).
* NEW: Remove the GB_POST_FUNC datatype from the API.

[GB.DBUS]
* BUG: Fix some compilation warnings.

[GB.TASK]
* NEW: gb.task is a new component that allows to run background tasks by
  "simply" forking the interpreter. Communication between the task and the
  main process has not been implemented yet.


git-svn-id: svn://localhost/gambas/trunk@5076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-24 22:29:53 +00:00
Benoît Minisini
659d187034 [INTERPRETER]
* BUG: Fix how the event raising routine handle exceptions.


git-svn-id: svn://localhost/gambas/trunk@5074 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-24 02:32:23 +00:00
Benoît Minisini
b6cc5cdbb3 [INTERPRETER]
* BUG: Fix Choose() when then the choice value is equal to the number of
  possible results plus one.


git-svn-id: svn://localhost/gambas/trunk@5068 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-22 09:25:35 +00:00
Benoît Minisini
9d1c8225dc [CONFIGURATION]
* NEW: Standardize the help text of all command-line tools.

[DEVELOPMENT ENVIRONMENT]
* BUG: Packager: library executables are installed with the '.gambas' 
  extension, but not the standard executables, where the extension is 
  removed.
* BUG: Packager: ArchLinux packager now compiles the project correctly.

[GB.FORM]
* NEW: Draw SidePanel little arrows differently.


git-svn-id: svn://localhost/gambas/trunk@5061 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 01:03:52 +00:00
Benoît Minisini
6950c873b4 [INTERPRETER]
* BUG: Fix the GB.ReturnConvVariant() API so that it does not free the 
  return value incorrectly.


git-svn-id: svn://localhost/gambas/trunk@5060 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-20 21:09:27 +00:00
Benoît Minisini
e678e914f3 [INTERPRETER]
* NEW: Object.CanRaise() is a new method that returns if a specific object 
  event has an event handler.

[GB.DB.FORM]
* NEW: DataView now raises a new Data event that allows to format the 
  contents of a cell just before it is displayed. The event receives three
  arguments: the row, the column, and the cell value directly from the
  underlying database.
* NEW: DataBrowser propagates the Data event of its inner DataView.

[GB.FORM]
* BUG: TableView: Apply a white background behind the currently edited 
  cell.
* BUG: ScrollArea: Draw the inner shadow correctly in all cases.

[GB.GTK]
* BUG: The Font object returned by Control.Font is now correctly updated 
  when the font of any of its parent changes.
* BUG: Ensure that when a mouse button is pressed, the same control 
  receives the mouse button release event.

[GB.QT4]
* BUG: The Font object returned by Control.Font is now correctly updated 
  when the font of any of its parent changes.


git-svn-id: svn://localhost/gambas/trunk@5059 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-20 18:05:25 +00:00
Benoît Minisini
52b3040e07 [DEVELOPMENT ENVIRONMENT]
* NEW: Try to avoir Application.Busy flickering in some dialogs.

[EXAMPLES]
* NEW: New Tablet event inspired by a project made by Ricardo Díaz Martín.

[GB.DRAW]
* NEW: Paint.DrawImage() takes a new optional argument that defines the 
  opacity of the drawing, between 0 and 1.

[GB.FORM]
* NEW: ScrollArea.Tablet is a new property that allows it to catch tablet 
  events.

[GB.GTK]
* BUG: Support for tablet events.
* BUG: Make mouse events in gb.gtk and gb.qt3 behave the same way.
* NEW: Mouse.State is a new property that return the state of all mouse 
  buttons as specified by the current mouse event.
* NEW: Mouse.Button now only returns the index of the button that triggered 
  the mouse event.
* BUG: Fix a typo in the name of the Pointer.YTilt property.
* BUG: DrawingArea.Tablet now works correctly when the DrawingArea is not
  cached.

[GB.QT4]
* BUG: Mouse events from tablet now get accurate button information.
* BUG: Make mouse events in gb.gtk and gb.qt3 behave the same way.
* NEW: Mouse.State is a new property that return the state of all mouse 
  buttons as specified by the current mouse event.
* NEW: Mouse.Button now only returns the index of the button that triggered 
  the mouse event.
* BUG: Fix a typo in the name of the Pointer.YTilt property.


git-svn-id: svn://localhost/gambas/trunk@5057 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-19 13:01:57 +00:00
Benoît Minisini
35368a3648 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix profiling of Eval() calls.

[INTERPRETER]
* NEW: GB.ReturnBorrow() is a new API to temporarily borrow the return 
  value.
* NEW: GB.ReleaseBorrow() is a new API to release the return value borrowed
  by the previous function, without releasing it.

[GB.DEBUG]
* BUG: Fix profiling of Eval() calls.

[GB.V4L]
* BUG: Fix a compilation warning.


git-svn-id: svn://localhost/gambas/trunk@5053 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-18 13:06:58 +00:00
Benoît Minisini
edf8b8f34a [DEVELOPMENT ENVIRONMENT]
* BUG: Do not display a thumbnail for images too large or too high.
* NEW: Implement bookmarks for code editor only.
* NEW: Automatic local variable declaration is disabled by default.

[INTERPRETER]
* NEW: GB.Deprecated() is a new interpreter API that displays a warning
  message for deprecated functions at runtime. When the project is 
  debugged, an error is raised instead.

[GB.FORM]
* NEW: Deprecate Stock.List which has been replaced by Stock.Icons.

[GB.QT4]
* BUG: Fix the case of Action.Tooltip property name.

[GB.QT4.EXT]
* NEW: Editor: Support for bookmarks.
* OPT: Editor: Do not compute the character width table each time the font
  changes. Use a cache instead.
* NEW: Editor.BookmarkPicture is a new property for defining the picture 
  used for displaying bookmarks.
* NEW: Editor.FindNextBreakpoint() has been deprecated and replaced by the
  Editor.Breakpoints property, that returns an integer array of all lines
  having a breakpoint.
* NEW: Editor.Bookmars is a new property that returns an integer array of 
  all lines having a bookmark.
* NEW: Editor.CurrentLine is a new property for defining the current 
  executed line. It replaces Editor[].Current.
* NEW: Editor[].Bookmark is a new boolean property that defines if a 
  specific line has a bookmark.


git-svn-id: svn://localhost/gambas/trunk@5044 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-15 17:02:22 +00:00
Benoît Minisini
2b0c757410 [GB.COMPLEX]
* BUG: Correctly implement arithmetic operators.


git-svn-id: svn://localhost/gambas/trunk@5041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-14 14:11:59 +00:00
Benoît Minisini
8dd0b1dd93 [INTERPRETER]
* BUG: The GB.GetFunction() API now correctly returns static functions.


git-svn-id: svn://localhost/gambas/trunk@5040 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-14 10:07:29 +00:00
Benoît Minisini
fc6c3a22bd [INTERPRETER]
* BUG: The Gosub stack pointer is now correctly reset when a error has been 
  intercepted by the Catch instruction.


git-svn-id: svn://localhost/gambas/trunk@5020 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-09 01:33:34 +00:00
Benoît Minisini
d1eef06cf8 [DEVELOPMENT ENVIRONMENT]
* NEW: Translate all parts of error messages.

[INTERPRETER]
* NEW: Add an explicit error message when trying to override a class that 
  has already been used as a parent for another class.


git-svn-id: svn://localhost/gambas/trunk@5017 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-07 20:21:02 +00:00
Benoît Minisini
b995e09e22 [INTERPRETER]
* BUG: Fix incorrect optimizations used by the _operator interface 
  management routines.


git-svn-id: svn://localhost/gambas/trunk@5015 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-06 22:41:05 +00:00
Benoît Minisini
cc0fd6cec6 [INTERPRETER]
* BUG: Comparison operators now correctly check for null objects when 
  comparing objects having the _operator interface.


git-svn-id: svn://localhost/gambas/trunk@5012 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-06 20:14:41 +00:00
Benoît Minisini
827a44ac8f [INTERPRETER]
* BUG: Use MAP_ANON instead of MAP_ANONYMOUS. No need to make the 
  distinction between Linux and *BSD anymore!


git-svn-id: svn://localhost/gambas/trunk@5000 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-30 18:48:19 +00:00
François Gallo
730bf253b7 [INTERPRETER]
* BUG: Fix compilation on Mac OS X 10.8



git-svn-id: svn://localhost/gambas/trunk@4999 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-30 17:54:28 +00:00
Benoît Minisini
96df983246 [INTERPRETER]
* BUG: Do not try to handle signals if there is no more signal handlers.


git-svn-id: svn://localhost/gambas/trunk@4998 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-30 11:46:12 +00:00
Benoît Minisini
daf3a53a4b [INTERPRETER]
* BUG: Fix Error.Propagate().

[GB.EVAL]
* NEW: Highlight TODO/FIXME/NOTE commentaries like help commentaries.


git-svn-id: svn://localhost/gambas/trunk@4997 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-29 15:50:27 +00:00
Benoît Minisini
174c2747f2 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix a circular reference.

[INTERPRETER]
* BUG: Fix error handling when freeing objects.

[GB.FORM]
* BUG: Stock.Themes now correctly checks that ~/.icons exists.


git-svn-id: svn://localhost/gambas/trunk@4996 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-28 12:28:15 +00:00
Benoît Minisini
9fc6b03718 [DEVELOPMENT ENVIRONMENT]
* NEW: Each comment anywhere in the source code beginning with 'TODO:', 
  'FIXME:', or 'NOTE:' is automatically listed in a new tab named 'Tasks' 
  in the bottom debugging panel.

[INTERPRETER]
* BUG: Env[...] does not return a constant string anymore. Anyone can 
  change the environment in the background!


git-svn-id: svn://localhost/gambas/trunk@4989 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-25 19:32:57 +00:00
Benoît Minisini
6516f5670c [INTERPRETER]
* OPT: Optimized GOSUB from an idea of Emil Lenngren.


git-svn-id: svn://localhost/gambas/trunk@4979 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-22 00:04:56 +00:00
Benoît Minisini
eab59c1482 [INTERPRETER]
* BUG: Fix conversion from pointer to structure.


git-svn-id: svn://localhost/gambas/trunk@4978 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-21 22:01:50 +00:00
Benoît Minisini
938458a03e [CONFIGURATION]
* NEW: Switch to 3.2.90 version.

[DEVELOPMENT ENVIRONMENT]
* BUG: Fix automatic completion of project classes that reimplements 
  another class.

[WEB SITE MAKER]
* BUG: Fix scrolling frames on Chrome.

[INTERPRETER]
* NEW: Args and Env classes are now shortcuts for Application.Args and 
  Application.Env properties.


git-svn-id: svn://localhost/gambas/trunk@4977 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-21 20:43:10 +00:00
Benoît Minisini
4f8389e766 [INTERPRETER]
* NEW: You can convert a pointer to a static structure now. It is useful 
  when an extern function has a 'struct XXX **' argument.


git-svn-id: svn://localhost/gambas/trunk@4974 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-21 11:16:57 +00:00
Benoît Minisini
e65f738f54 [INTERPRETER]
* BUG: Really compile when FFI support is disabled!


git-svn-id: svn://localhost/gambas/trunk@4972 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-21 00:27:39 +00:00
Benoît Minisini
186bb8d5e2 [INTERPRETER]
* BUG: Make the interpreter compile when FFI has been disabled.


git-svn-id: svn://localhost/gambas/trunk@4969 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-19 19:27:28 +00:00
Benoît Minisini
db7768aaf6 [INTERPRETER]
* BUG: Fix compilation on 32 bits platforms.


git-svn-id: svn://localhost/gambas/trunk@4962 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-17 19:36:11 +00:00
Benoît Minisini
97718051b1 [DEVELOPMENT ENVIRONMENT]
* OPT: New optimizations in profile file size.
* NEW: PageUp and PageDown keys now work as expected in the project filter 
  box.

[INTERPRETER]
* NEW: Support for new profile file format.

[GB.DEBUG]
* OPT: New profile file format.

[GB.LIBXML]
* NEW: Make this component exclude gb.xml.

[GB.XML]
* NEW: Make this component exclude gb.libxml.


git-svn-id: svn://localhost/gambas/trunk@4961 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-17 16:24:48 +00:00
Benoît Minisini
1d0ebd5999 [DEVELOPMENT ENVIRONMENT]
* NEW: The project tree filter box now tries to keep the focus.
* NEW: Hitting ENTER in the project filter box opens the current selected 
  file.
* NEW: Using arrows keys in the project filter box now moves the project
  tree cursor.
* NEW: CTRL+L now sets the focus back to the project filter box.
* NEW: Hitting ESC in the project filter box now resets the filter.
* NEW: Add support for gb.gsl component in the project creation dialog.

[INTERPRETER]
* NEW: Support for floating-point constants.
* BUG: The equality operators of the _operator interface now can return -1
  when a datatype is not supported.

[GB.COMPLEX]
* NEW: Remove methods that are implemented by the _operator interface.

[GB.QT4]
* OPT: Load clipboard format list only if the clipboard has changed.

[GB.GSL]
* NEW: Matrix can be compared with real or complex numbers. The number is
  then multiplied by the identity matrix before doing the comparison.


git-svn-id: svn://localhost/gambas/trunk@4958 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-16 16:30:55 +00:00
Benoît Minisini
7c9f99fef6 [INTERPRETER]
* NEW: Add a GB.FreeStringLater() API to allow components to create a new
  string with GB.NewString(), and let the interpreter frees it later.

[GB.GSL]
* NEW: Add a ToString() method to all classes. That method takes two 
  arguments: the first one tells if number must be localized. The second 
  one tells if complex numbers and polynomials are converted to a string
  that can be sent to Eval().
* BUG: Adding a number N to a Matrix A is equivalent to adding N times the
  identity matrix.
* NEW: The '^' operator has been implemented in the Matrix class. Only A^N
  where N is an integer is valid.


git-svn-id: svn://localhost/gambas/trunk@4955 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-15 13:07:57 +00:00
Benoît Minisini
a5c174d248 [INTERPRETER]
* NEW: Any operators of the _operator interface can be optional now. But
  consequently, division by zero must be raised by the implementation.
* NEW: Implement Vector arithmetic operators.
* NEW: Rename some Matrix methods.
* NEW: Implement Polynomial arithmetic addition and substraction.
* BUG: Fix Polynomial to string conversion.
* NEW: Complex.Handle is a new property that returns the memory address of
  the underlying complex number in memory.


git-svn-id: svn://localhost/gambas/trunk@4947 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-14 15:18:22 +00:00
Benoît Minisini
df89e09b2e [INTERPRETER]
* NEW: '_operators' interface has been renamed as '_operator'.
* NEW: Arithmetic operators now can be applied on two objects with
  different classes. One at least must implement the '_operator' interface.
* NEW: Each class that implements the '_operator' interface has now an 
  automatic priority that follows the load order. When a binary operator 
  has two objects that implement two different '_operator' interface, the
  one having the highest priority is used.
* NEW: Implementing all methods in the '_operators' interface is not 
  mandatory anymore. If one method is not implemented, then it is replaced
  by a function that raises a 'Type mismatch' error.

[GB.GSL]
* NEW: Matrix arithmetic has been implemented.
* NEW: Matrix.Determinant() method.
* NEW: Matrix.Invert() method.
* NEW: Matrix.Transpose() method.
* NEW: Matrix _call special method multiplies a matrix by a vector.
* NEW: Vector <-> Array conversion.


git-svn-id: svn://localhost/gambas/trunk@4946 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-14 02:49:57 +00:00
Benoît Minisini
89d42c3d40 [INTERPRETER]
* NEW: Add a new API to create an object without calling the constructors.

[GB.CRYPT]
* BUG: Fix bad casting of strcmp() return value to boolean. The same 
  security flaw has been found in MySQL recently. See 
  http://seclists.org/oss-sec/2012/q2/493

[GB.GTK]
* BUG: Fix bad casting of strcmp() return value to boolean in the Font 
  management.

[GB.GSL]
* NEW: Matrix class built the same way as the Vector class, i.e. with the 
  ability to switch transparently between Float or Complex elements.


git-svn-id: svn://localhost/gambas/trunk@4945 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-12 23:34:14 +00:00
Benoît Minisini
6d6034e845 [INTERPRETER]
* BUG: Don't optimize the "_operators" interface when using anonymous 
  objects!


git-svn-id: svn://localhost/gambas/trunk@4944 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-11 22:03:54 +00:00
Emil Lenngren
139884adb6 [GB.JIT]
* BUG: Properly check stack overflow for GoSubs.


git-svn-id: svn://localhost/gambas/trunk@4942 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 23:10:13 +00:00
Benoît Minisini
c1212ac95e [INTERPRETER]
* OPT: Remove a useless test in the macro that returns the class of an 
  object.
* OPT: Some little optimization in some type checks.


git-svn-id: svn://localhost/gambas/trunk@4939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 19:57:43 +00:00
Benoît Minisini
1d86ebecb1 [INTERPRETER]
* BUG: Fix '_operators' interface negation handling.


git-svn-id: svn://localhost/gambas/trunk@4935 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 15:20:46 +00:00
Benoît Minisini
55e313b8f5 [INTERPRETER]
* NEW: Put every '_operators' interface related methods in the same source 
  file.

[GB.GSL]
* NEW: Polynomial _call() special method now is a synonymous of its Eval() 
  method. That way, you can write 'P(X)' to get the value of P(X).


git-svn-id: svn://localhost/gambas/trunk@4933 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 14:35:17 +00:00
Benoît Minisini
a9fbd40cd8 [INTERPRETER]
* NEW: Implement the ^ operator in the '_operators' interface.

[GB.COMPLEX]
* NEW: Implement the ^ operator.

[GB.GSL]
* NEW: Implement the ^ operator in the Complex class.


git-svn-id: svn://localhost/gambas/trunk@4931 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 02:37:39 +00:00
Benoît Minisini
a3966cf195 [DEVELOPMENT ENVIRONMENT]
* BUG: Array of classes exported by a component are now correctly handled
  by the component interface analyzer.

[INTERPRETER]
* BUG: The _operators interface now correctly takes into account the
  "Float - Object" case.

[GB.GSL]
* NEW: Redesign of the Polynomial class. Now it implements a polynomial 
  that can switch between real and complex coefficients transparently.
* NEW: The ComplexPolynomial class has been removed.


git-svn-id: svn://localhost/gambas/trunk@4929 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 00:13:00 +00:00
Benoît Minisini
9a46cc0486 [INTERPRETER]
* NEW: Temporary hack in the GB.New() API so that we can pass a number of 
  arguments in some cases.

[GB.COMPLEX]
* OPT: Do not create complex objects during arithmetic operations when we 
  are sure that we can reuse a temporary one. That trick can be used in any
  '_operators' interface.


git-svn-id: svn://localhost/gambas/trunk@4925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-09 17:10:21 +00:00
Benoît Minisini
fa552f69c1 [DEVELOPMENT ENVIRONMENT]
* NEW: New gb.complex component

[INTERPRETER]
* BUG: Automatic array conversion now works with not yet loaded array 
  classes.

[GB.COMPLEX]
* NEW: New component that implements a rudimentary management of complex 
  numbers. This component is automatically loaded if a complex number
  constant is encountered and no loaded component can already handle 
  complex numbers.


git-svn-id: svn://localhost/gambas/trunk@4924 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-09 15:37:42 +00:00
Benoît Minisini
2402db91f0 [INTERPRETER]
* NEW: Support for imaginary number syntax. For example, using "3i" will 
  automatically load the gb.gsl component, create the corresponding complex 
  number and return it.

[COMPILER]
* NEW: Support for imaginary number syntax.

[GB.EVAL]
* NEW: Support for imaginary number syntax.

[GB.GSL]
* NEW: Support for imaginary number syntax.
* NEW: Vector class is now generic, and has two child classes: FloatVector 
  and ComplexVector, depending on the type of its elements.
* BUG: Support for arithmetic operators on Vector class has been removed. 
  It had too many problems.


git-svn-id: svn://localhost/gambas/trunk@4918 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 23:23:24 +00:00
Benoît Minisini
fc1c1e5531 [INTERPRETER]
* NEW: When converting an instance of A to the class B, try the conversion 
  interface of A first. If A has no conversion interface, or if it cannot 
  handle the B class, then try the conversion interface of B if any.

[GB.GSL]
* NEW: Vector class has been implemented.

[GB.JIT]
* NEW: SPEC_CONVERT constant has been replaced by a field in the CLASS 
  structure.


git-svn-id: svn://localhost/gambas/trunk@4916 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 20:08:43 +00:00
Emil Lenngren
ad81cf629a [GB.JIT]
* NEW: Use VALUE_convert instead of VALUE_convert_object.


git-svn-id: svn://localhost/gambas/trunk@4914 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 18:59:10 +00:00
Benoît Minisini
ef37065297 [INTERPRETER]
* BUG: Correctly raise an error when trying to use NULL on classes 
  implementing the _operators interface.
* NEW: The _convert interface now must handle conversions from any 
  datatype.

[GB.GSL]
* NEW: Automatic conversion from numbers to Complex.
* NEW: Start implementating the Vector class.


git-svn-id: svn://localhost/gambas/trunk@4913 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 16:55:35 +00:00
Benoît Minisini
64505bbb0b [INTERPRETER]
* BUG: Abs() and the negation operator on a null object implementing the 
  '_operators' interface does not crash anymore, and correctly raises an 
  error now.


git-svn-id: svn://localhost/gambas/trunk@4912 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 16:23:40 +00:00
Emil Lenngren
393decb5e1 [GB.JIT]
* NEW: Implement _unknown.
* BUG: Remove some warnings.

[INTERPRETER]
* BUG: Fix exception handling for JIT functions.


git-svn-id: svn://localhost/gambas/trunk@4909 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 14:53:23 +00:00
Benoît Minisini
7bd330aa00 [INTERPRETER]
* NEW: "_operators" is a new interface that allows any native class to be
  used with most of arithmetic operators: +, -, *, /, Abs, =, <> at the 
  moment.
* NEW: The "_convert" interface now allows a class to be converted to any
  datatype, not just other classes.
* NEW: Str() and Print uses the "_convert" interface to print a localized
  string conversion of any object.

[GB.GSL]
* NEW: Use the new "_operators" interface so that complex numbers can be 
  handled by standard arithmetic operators.
* NEW: The Complex class now implements the "_convert" interface.


git-svn-id: svn://localhost/gambas/trunk@4908 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 14:35:58 +00:00
Benoît Minisini
2c631a0874 [INTERPRETER]
* BUG: Do not leak memory if the _unknown method raised an error.


git-svn-id: svn://localhost/gambas/trunk@4907 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 14:29:44 +00:00
Benoît Minisini
a903da98f2 [INTERPRETER]
* BUG: Correctly read unknown properties.


git-svn-id: svn://localhost/gambas/trunk@4906 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 13:27:56 +00:00
Benoît Minisini
fa67280e7a [INTERPRETER]
* NEW: Static unknown properties can be used in a dynamic context now.


git-svn-id: svn://localhost/gambas/trunk@4897 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-04 22:06:19 +00:00
Benoît Minisini
6fd31cfe59 [INTERPRETER]
* BUG: Now the _property special method can be static even if _unknown is 
  dynamic. Anyway, if _unknown is static then all unknown properties and 
  methods must be static, and if _unknown is dynamic, they all must be 
  dynamic.


git-svn-id: svn://localhost/gambas/trunk@4896 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-04 21:59:16 +00:00
Benoît Minisini
6b6ca7654d [INTERPRETER]
* BUG: Allows the _unknown method to be static.


git-svn-id: svn://localhost/gambas/trunk@4894 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-03 23:45:09 +00:00
Benoît Minisini
307e7d396f [INTERPRETER]
* BUG: Raise the Kill event of a Process after having closed its I/O 
  streams.

[GB.DEBUG]
* NEW: Debug.GetSignal() is a new method that returns the description of a 
  signal from its numeric value.


git-svn-id: svn://localhost/gambas/trunk@4892 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-03 18:21:54 +00:00
Benoît Minisini
02eb02cd4f [INTERPRETER]
* BUG: Reading an unknown property does not crash anymore if _unknown is 
  defined but not _property.


git-svn-id: svn://localhost/gambas/trunk@4891 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-03 17:41:36 +00:00
Emil Lenngren
76e3dee4d0 [GB.JIT]
* NEW: Can now profile each line of code, but beware: profiling makes the program much much slower.

[GB.DEBUG]
* OPT: Now DEBUG_calc_line_from_position has logaritmic time complexity instead of linear. That makes profiling each line much faster for large functions!


git-svn-id: svn://localhost/gambas/trunk@4886 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-02 22:38:29 +00:00
Benoît Minisini
7a126b76e3 [INTERPRETER]
* NEW: Always put a space between international currency symbol and amount
  when formatting a currency.


git-svn-id: svn://localhost/gambas/trunk@4871 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-28 23:38:26 +00:00
Benoît Minisini
50681dead1 [INTERPRETER]
* BUG: Fix Format$() when using "AM/PM" just after a date formatting 
  character.


git-svn-id: svn://localhost/gambas/trunk@4870 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-28 23:09:10 +00:00
Benoît Minisini
6c54a66760 [INTERPRETER]
* BUG: Correctly release or keep the return value of a function when 
  destructors are called during epilogue.


git-svn-id: svn://localhost/gambas/trunk@4863 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-27 01:14:05 +00:00
Benoît Minisini
be77f4a2fa [INTERPRETER]
* BUG: Add a check to not create array classes when reimplementing or 
  inheriting native array classes. Hope that check is not wrong...


git-svn-id: svn://localhost/gambas/trunk@4856 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-24 18:41:57 +00:00
Emil Lenngren
1ee80f7683 [INTERPRETER]
* BUG: Correctly load the "npvar" field for Gambas functions.



git-svn-id: svn://localhost/gambas/trunk@4852 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-20 17:12:58 +00:00
Emil Lenngren
856af1cd45 [GB.JIT]
* NEW: Partially support callbacks for extern functions. You can only convert functions in the current class to pointers 
currently, i.e. functions that are referenced directly by their name.



git-svn-id: svn://localhost/gambas/trunk@4851 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-19 22:08:59 +00:00
Emil Lenngren
dba2bf91ac [GB.JIT]
* BUG: Fix extern function overriding.

[COMPILER]
* BUG: Write correct disassembly for PUSH INTEGER.



git-svn-id: svn://localhost/gambas/trunk@4850 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-19 21:23:49 +00:00
Benoît Minisini
b98a33c671 [INTERPRETER]
* BUG: If there is an error, wake up the debugger on the current stack 
  position. Return to the last encountered line break after, not before.


git-svn-id: svn://localhost/gambas/trunk@4841 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-17 09:12:31 +00:00
Emil Lenngren
c59b33e1bb [GB.JIT]
* BUG: Fixed some bugs.

[INTERPRETER]
* BUG: "Read ... As String"  now correctly returns a void string instead of null, if it read an empty string.



git-svn-id: svn://localhost/gambas/trunk@4839 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-16 23:45:57 +00:00
Emil Lenngren
56807e5b52 [GB.JIT]
* NEW: "Extern" functions should now work hopefully, but callbacks are still not yet implemented.
* BUG: Fix conversion Class -> Variant for non-virtual classes.
* BUG: Some minor bug fixes.

[INTERPRETER]
* BUG: Load classes from JIT should work better now.



git-svn-id: svn://localhost/gambas/trunk@4831 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-15 01:27:31 +00:00
Benoît Minisini
64fef6f598 [DEVELOPMENT ENVIRONMENT]
* BUG: If the project is read-only, the profile file is stored in the 
  process temporary directory in /tmp instead of the project directory.
* NEW: The name of profile files now follows this scheme: '.N.prof', where
  'N' is an index incremented each time the project is run.
* BUG: Toolbars and popup-menus are correctly updated at first load form
  text, source and form editors.
* BUG: Do not show or hide toolbars buttons outside of the toolbar 
  'Configure' event.

[INTERPRETER]
* NEW: The '-p' option now takes the profile file path as argument.

[GB.DEBUG]
* NEW: The profile file path can be specified on the command line.

[GB.FORM.MDI]
* NEW: Configured toolbars are drawn with a red frame.

[GB.GTK]
* BUG: Remove warnings displayed by the Control Raise() and Lower() 
  methods.
* BUG: Draw.Style methods now are correctly clipped.


git-svn-id: svn://localhost/gambas/trunk@4820 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-10 14:58:45 +00:00
Benoît Minisini
7e3570bfc9 [DEVELOPMENT ENVIRONMENT]
* OPT: Use Application.Busy earlier when opening a project.

[WIKI CGI SCRIPT]
* BUG: Fix links with explicit version.

[INTERPRETER]
* BUG: Setting System.Profile does not crash the interpreter anymore when
  profiling has not been activated by the '-p' command-line flag.

[GB.FORM]
* NEW: FileChooser and DirChooser: It is now possible to move up one 
  directory even if we are on the root of the current bookmark.

[GB.JIT]
* BUG: Fix some warnings.

[GB.XML.RPC]
* BUG: Fix component requirements.


git-svn-id: svn://localhost/gambas/trunk@4806 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-03 22:21:24 +00:00
Benoît Minisini
2170ea1471 [INTERPRETER]
* BUG: Really fix use of static classes as extern function argument.


git-svn-id: svn://localhost/gambas/trunk@4801 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 16:41:45 +00:00
Benoît Minisini
46e0ab1dd3 [INTERPRETER]
* BUG: Better class loading fix.


git-svn-id: svn://localhost/gambas/trunk@4799 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 10:02:47 +00:00
Benoît Minisini
636387d335 [INTERPRETER]
* BUG: Fix class loading so that circular dependencies between class 
  initialization is possible.
* NEW: Exported classes are now completely initiliazed at startup. It may
  break some things...


git-svn-id: svn://localhost/gambas/trunk@4798 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 10:00:35 +00:00
Benoît Minisini
a865d9e227 [INTERPRETER]
* NEW: Support for variable number of arguments in extern functions.
* BUG: Fix use of static classes as extern function argument.

[COMPILER]
* NEW: Support for variable number of arguments in extern functions.

[GB.JIT]
* BUG: The GB_JIT environment variable has really no effect if it is 
  defined but a null string.


git-svn-id: svn://localhost/gambas/trunk@4796 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 00:18:38 +00:00
Benoît Minisini
c1decfddfd [INTERPRETER]
* BUG: Enumerating the Param class does not leak memory in some cases 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@4788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-28 08:08:36 +00:00
Benoît Minisini
8fff3e69bd [GB.JIT]
* NEW: Debugging information is printed as soon as the GB_JIT environmental 
  variable is not null.
* NEW: If LLVM version is lesser than 3.1, a warning message is printed. 
  Normally, a crash should occur just after. :-)


git-svn-id: svn://localhost/gambas/trunk@4779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-25 22:24:13 +00:00
Emil Lenngren
b12caea4f6 [INTERPRETER]
* BUG: Fix IIf() function when its arguments have different types.


git-svn-id: svn://localhost/gambas/trunk@4773 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 19:01:04 +00:00
Benoît Minisini
b3eba7f652 [INTERPRETER]
* NEW: You can free a null pointer.


git-svn-id: svn://localhost/gambas/trunk@4772 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:45:21 +00:00
Emil Lenngren
073a6d9e90 [INTERPRETER]
* OPT: Don't allocate array for jit functions if not necessary.



git-svn-id: svn://localhost/gambas/trunk@4770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:27:16 +00:00
Benoît Minisini
76f3885a08 [SCRIPTER]
* BUG: Do not crash when compiling a program again.

[INTERPRETER]
* OPT: Make API arrays constant.
* OPT: Comparison methods return back to gbx_exec_loop.c


git-svn-id: svn://localhost/gambas/trunk@4768 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 00:31:57 +00:00
Emil Lenngren
406d250935 [GB.JIT]
* NEW: Use special add, sub, mul, compi for JIT Compiler Runtime.



git-svn-id: svn://localhost/gambas/trunk@4766 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:49:16 +00:00
Benoît Minisini
8e6dbfa273 [INTERPRETER]
* OPT: Rebirth of _SUBR_add, _SUBR_sub and _SUBR_mul in 'gbx_exec_loop.c'.
* NEW: The code of these functions is now in a shared header named '
  gbx_subr_common.h'.


git-svn-id: svn://localhost/gambas/trunk@4764 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:39:02 +00:00
Benoît Minisini
327add9439 [GB.DEBUG]
* NEW: The component is hidden now.
* BUG: Do not crash anymore when profiling Eval().

[GB.JIT]
* NEW: The component is hidden now.


git-svn-id: svn://localhost/gambas/trunk@4763 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:23:00 +00:00
Benoît Minisini
6b2e5d0776 [CONFIGURATION]
* BUG: Add gb.jit directory in the top Makefile.am so that it is compiled.

[INTERPRETER]
* NEW: System.Profile now only deactivate the instruction profiling. 
  Function calls keep being profiled. That way the IDE can read the profiled
  output without crashing!


git-svn-id: svn://localhost/gambas/trunk@4762 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 21:35:58 +00:00
Benoît Minisini
947e201117 [INTERPRETER]
* BUG: Now System.Profile has no effect if the project has not been started 
  in profiling mode from the IDE.


git-svn-id: svn://localhost/gambas/trunk@4761 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 20:15:32 +00:00
Emil Lenngren
3c912da3db [INTERPRETER]
* NEW: Switch to JIT compiler if available, and make it able to talk to gb.jit.
* BUG: GP must be NULL for new void stack frames.

[COMPILER]
* NEW: 'Fast' keyword means the class should be JIT-compiled.

[GB.JIT]
* NEW: JIT Compiler.



git-svn-id: svn://localhost/gambas/trunk@4759 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 19:26:15 +00:00
Benoît Minisini
d356f49366 [DEVELOPMENT ENVIRONMENT]
* NEW: Some little redesign of the profiling GUI.

[EXAMPLES]
* OPT: Little optimization in GameOfLife example.

[INTERPRETER]
* NEW: System.Profile is a new property to disable or enable the
  profiling at run time. Profiling can only be enabled if debugging
  information are available.

[GB.DEBUG]
* NEW: Abort the program if the profile file is bigger than 512M.


git-svn-id: svn://localhost/gambas/trunk@4753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 22:13:58 +00:00
Benoît Minisini
70afe05d8d [DEVELOPMENT ENVIRONMENT]
* NEW: Handle new format of profile files.

[INTERPRETER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.

[WEBSITE MAKER]
* NEW: An explicit link button that displays the 'news' page.

[COMPILER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.

[GB.DEBUG]
* NEW: New format for profile, more compact and faster to read.


git-svn-id: svn://localhost/gambas/trunk@4748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 01:09:35 +00:00
Benoît Minisini
b5c6820986 [INTERPRETER]
* NEW: Allow to profile time spent waiting for events.

[GB.DEBUG]
* BUG: New profile file format that allows to profile lines of code that
  are function calls.

[GB.GTK]
* NEW: Profile time spent waiting for events.

[GB.QT4]
* NEW: Profile time spent waiting for events.


git-svn-id: svn://localhost/gambas/trunk@4747 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-20 17:58:34 +00:00
Benoît Minisini
f93affd8e9 [DEVELOPMENT ENVIRONMENT]
* NEW: Display callees and callers in the profile window.
* NEW: Display profiling of each line of code.

[INTERPRETER]
* NEW: Activate profiling at the line of code level. Beware, things become
  slower!

[GB.DEBUG]
* NEW: Fix profiling at the line of code level.

[GB.FORM]
* NEW: GridView: Add a Scroll() method.

[GB.QT4.EXT]
* NEW: Editor: Add a ScrollBar property.
* NEW: Editor: Add ScrollX and ScrollY properties.
* NEW: Editor: Add a Scroll method.


git-svn-id: svn://localhost/gambas/trunk@4745 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-20 02:21:43 +00:00
Benoît Minisini
be04525e53 [INTERPRETER]
* BUG: Html$() works correctly again.


git-svn-id: svn://localhost/gambas/trunk@4744 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 23:10:12 +00:00
Benoît Minisini
e95ebcae24 [INTERPRETER]
* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.
* BUG: Eval() is correctly profiled now.

[COMPILER]
* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.


git-svn-id: svn://localhost/gambas/trunk@4743 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 21:35:26 +00:00
Benoît Minisini
8b6cf089ae [INTERPRETER]
* NEW: gb.ShortDate and gb.MediumDate predefined date formats now always 
  display years with four digits.


git-svn-id: svn://localhost/gambas/trunk@4741 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 12:15:51 +00:00
Benoît Minisini
07387ff660 [DEVELOPMENT ENVIRONMENT]
* NEW: Add some debugging options directly in the 'Debug' menu.
* NEW: A new option to activate the profiling of the debugged project.
* NEW: Profiling windows. Not finished yet.

[INTERPRETER]
* BUG: Fix a crash that could occur if a error is raised inside an event 
  handler.
* NEW: Support for profiling.
* BUG: Fix a crash that could occur if a error is raised inside a signal
  callback.

[GB.DEBUG]
* NEW: Support for profiling.

[GB.FORM]
* NEW: GridView now raises a Sort event when the sort properties are 
  changed.
* BUG: Fix a crash when changing the IconPanel Count property.

[GB.GTK]
* BUG: Fix the Font.Copy() method.


git-svn-id: svn://localhost/gambas/trunk@4740 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 02:55:05 +00:00
Benoît Minisini
3f26a4e538 [INTERPRETER]
* BUG: Disable debugging messages in signals management routines.


git-svn-id: svn://localhost/gambas/trunk@4736 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-16 22:47:16 +00:00
Benoît Minisini
217c3d9f94 [INTERPRETER]
* BUG: Activate debugging messages in signal management routines.

[GB.GTK]
* NEW: Implement the _NET_MOVERESIZE_WINDOW way of moving windows.
* BUG: Window state (Minimized, Maximized and FullScreen properties) is now 
  accurately returned.


git-svn-id: svn://localhost/gambas/trunk@4735 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-16 21:42:28 +00:00
Benoît Minisini
4a52486b1d [INTEPRETER]
* BUG: Fix race conditions in signals management routines.


git-svn-id: svn://localhost/gambas/trunk@4734 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-16 18:05:57 +00:00
Benoît Minisini
c095cd3f98 [EXAMPLES]
* NEW: PhotoTouch and MediaPlayer examples now use the gb.gui component.

[GB.GTK]
* NEW: Make GTK+ controls borderless, so that they are "transparent" like 
  gb.qt4 controls. This is work in progress! The PhotoTouch example now 
  works correctly with gb.gtk, the brightness dialog excepted.
* BUG: ScrollBars are correctly initalized now.
* BUG: Container.Find() does not take hidden controls into account anymore.

[GB.IMAGE]
* BUG: Image.Opacity() can handle images with premultiplied alpha correctly 
  now.

[GB.FORM]
* BUG: IconView: Item text is ellipsized without printing GTK+ warnings 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@4729 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-15 01:22:45 +00:00
Benoît Minisini
5917f3b3fe [INTERPRETER]
* BUG: Fix a crash in the &/ operator.


git-svn-id: svn://localhost/gambas/trunk@4725 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-12 23:49:07 +00:00
Benoît Minisini
659f1bf51f [INTERPRETER]
* BUG: Fix a crash when using 'gb.Like' comparison flag.


git-svn-id: svn://localhost/gambas/trunk@4724 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-12 12:04:20 +00:00
Benoît Minisini
4afe7caf6b [INTERPRETER]
* BUG: Disable debugging messages from signal management routines.

[GB.SIGNAL]
* NEW: Call previous signal handlers automatically when a specific signal 
  is catched.


git-svn-id: svn://localhost/gambas/trunk@4722 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-08 17:15:54 +00:00
Benoît Minisini
30f9a40f2b [INTERPRETER]
* NEW: Rename all API related to components, and fix components using them.
* NEW: New signal API that allows to catch signals from the event loop.

[GB.GTK]
* BUG: Use g_object_unref() instead of rsvg_handle_free() now.


git-svn-id: svn://localhost/gambas/trunk@4721 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-08 15:32:33 +00:00
Benoît Minisini
8be12f5027 [DEVELOPMENT ENVIRONMENT]
* NEW: Define the 'Exec' preprocessor constant when making an executable.
* BUG: Packager: Replace spaces with underscores when using the vendor name 
  as package name prefix.
* BUG: Packager: Fix "make uninstall" in autoconf packages.

[INTERPRETER]
* BUG: Allow to override native array classes without crashing.

[COMPILER]
* NEW: New '-x' option to define the 'Exec' preprocessor constant.

[EXAMPLES]
* NEW: MediaPlayer: Real-time seeking.
* NEW: MediaPlayer: Use gb.desktop to suspend the screen saver while 
  playing a media file.


git-svn-id: svn://localhost/gambas/trunk@4715 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-05 00:39:43 +00:00
Benoît Minisini
a6e9f61ee1 [CONFIGURATION]
* NEW: Update *.component files to the new format.
* BUG: Fix component TEMPLATE directory.

[EXAMPLES]
* NEW: PhotoTouch: Display the browsed directory path.

[INTERPRETER]
* NEW: Change the 'main' hook syntax. Add a macro to call the previous 
  'main' hook, so that several hooks can be declared.

[GB.MEDIA]
* NEW: New multimedia component based on GStreamer.

[GB.GTK]
* BUG: Fix timer management so that it is compatible with the GB.Every()
  interpreter API.
* NEW: Allows multiple 'main' hooks.

[GB.QT4]
* NEW: Allows multiple 'main' hooks.


git-svn-id: svn://localhost/gambas/trunk@4693 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-30 00:04:51 +00:00
Benoît Minisini
9a4019ba1e [INTERPRETER]
* BUG: The byte position to utf-8 position caching routine now works in all 
  cases.


git-svn-id: svn://localhost/gambas/trunk@4689 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-29 00:24:14 +00:00
Benoît Minisini
8fc3cb2d90 [INTERPRETER]
* BUG: Fix precision in both string to Float and Float to string 
  conversions.


git-svn-id: svn://localhost/gambas/trunk@4688 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-28 15:08:24 +00:00
Benoît Minisini
f3645e57f7 [INTERPRETER]
* BUG: Fix string to Float parser again.


git-svn-id: svn://localhost/gambas/trunk@4686 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-28 02:53:51 +00:00
Benoît Minisini
3521ec2b25 [INTERPRETER]
* BUG: Ignore non-significant decimal digits when converting a String to a 
  Float. In other words, now 2.0 = 2.


git-svn-id: svn://localhost/gambas/trunk@4685 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-28 02:31:48 +00:00
Benoît Minisini
fe80c39a69 [INTERPRETER]
* BUG: Remove the use and the definition of long double mathematic 
  functions. They are not used anymore.


git-svn-id: svn://localhost/gambas/trunk@4679 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-25 21:12:03 +00:00
Benoît Minisini
88e37a5cff [INTERPRETER]
* BUG: gb.MediumTime does not try to use AM/PM if AM/PM is not supported 
  by the current language.


git-svn-id: svn://localhost/gambas/trunk@4677 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-25 18:47:49 +00:00
Benoît Minisini
79c16878be [INTERPRETER]
* NEW: Do not raise an error when a file path cannot be converted to the 
  local charset. Just do not make the conversion.
* BUG: Freeing any Stream object now automatically closes it.
* BUG: Stream.ReadLine() with no second argument does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@4664 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-23 16:02:35 +00:00
Benoît Minisini
de083e583d [GB.LIBXML]
* NEW: Rename the gb.xml component as gb.libxml.

[GB.LIBXML.XSLT]
* NEW: Rename the gb.xml.xslt component as gb.libxml.xslt

[GB.LIBXML.RPC]
* NEW: Rename the gb.xml.rpc component as gb.libxml.rpc


git-svn-id: svn://localhost/gambas/trunk@4640 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-20 01:01:48 +00:00
Benoît Minisini
360f0bab3f [INTERPRETER]
* BUG: Correctly raise errors when running an external process fails.


git-svn-id: svn://localhost/gambas/trunk@4628 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-14 23:35:33 +00:00
Benoît Minisini
2e7c12703f [INTERPRETER]
* NEW: Call the error hook before printing the error message on the 
  standard error output.


git-svn-id: svn://localhost/gambas/trunk@4623 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-13 22:11:51 +00:00
Benoît Minisini
a9cddc969e [INTERPRETER]
* NEW: Even() is a new subroutine that returns if a number is even.
* NEW: Odd() is a new subroutine that returns if a number is odd.

[GB.GTK]
* BUG: Close all windows correctly when a QUIT instruction is executed.

[GB.QT4]
* BUG: Close all windows correctly when a QUIT instruction is executed.


git-svn-id: svn://localhost/gambas/trunk@4615 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-11 00:27:18 +00:00
Benoît Minisini
0fa9944088 [DEVELOPMENT ENVIRONMENT]
* BUG: In the open project dialog, setting the recent files sorting mode 
  now correctly takes the filter into account.

[WEBSITE MAKER]
* NEW: Add Randall Morgan in the authors list.

[INTERPRETER]
* BUG: In memory checking routines, take previous SIGSEGV and SIGBUS signal
  handlers into account now.


git-svn-id: svn://localhost/gambas/trunk@4576 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-29 16:43:01 +00:00
Benoît Minisini
7ecc12bfe8 [GB.GTK]
* BUG: Do not try to change the background color of menus. It breaks GTK+
  widget style like Ambiance.

[GB.WEB]
* BUG: Setting a Request value to NULL now works as expected.


git-svn-id: svn://localhost/gambas/trunk@4573 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-28 21:55:19 +00:00
Benoît Minisini
91556cac06 [DEVELOPMENT ENVIRONMENT]
* NEW: The debug window has a button to switch between "normal view" and 
  "symbol view". In "normal view", array and collection contents are
  displayed. If the object is not an array or a collection, then all
  non-hidden symbols are displayed. In "symbol view", all objects symbols 
  are displayed, whatever the object type is.

[INTERPRETER]
* NEW: The debugger now can display collection-like objects. An object can 
  be displayed like a collection if it has a Count property, is enumerable,
  has a _get special method taking a string, and has a Key property that 
  returns the key of the last enumerated element.

[GB.DEBUG]
* NEW: The debugger now can display collection-like objects. An object can 
  be displayed like a collection if it has a Count property, is enumerable,
  has a _get special method taking a string, and has a Key property that 
  returns the key of the last enumerated element.

[GB.FORM]
* BUG: GridView.Clear resets the height of all rows to the default value.


git-svn-id: svn://localhost/gambas/trunk@4558 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-17 02:05:31 +00:00
Benoît Minisini
4eb6ac2fa2 [INTERPRETER]
* NEW: INPUT now only read strings. It does not convert the read string 
  with Val() anymore.
* BUG: IIf() and [...] do not accept non-value datatypes (Class and 
  Function).
* NEW: Start supporting displaying Collection-like classes in the debugger.


git-svn-id: svn://localhost/gambas/trunk@4557 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-16 21:41:38 +00:00
François Gallo
146f0c41f7 [INTERPRETER]
* BUG: the exp10() function works on FreeBSD now. 



git-svn-id: svn://localhost/gambas/trunk@4556 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-16 15:47:19 +00:00
François Gallo
54c9745f4c [INTERPRETER]
* BUG: The exp10() function is temporarily removed
  from gbx on FreeBSD because of the BSD libc that
  doesn't have this one.

[GB.V4L]
* NEW: compile with success on FreeBSD



git-svn-id: svn://localhost/gambas/trunk@4555 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-16 13:05:44 +00:00
Benoît Minisini
08fead2ea4 [INTERPRETER]
* NEW: INPUT returns the read string if it cannot be converted to any 
  number or date.


git-svn-id: svn://localhost/gambas/trunk@4552 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-14 12:26:37 +00:00
Benoît Minisini
ca8bc989dd [INTERPRETER]
* BUG: Fix the behaviour of INPUT so that it uses Val() again to convert 
  the values read from the stream.


git-svn-id: svn://localhost/gambas/trunk@4549 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-14 01:57:30 +00:00
Benoît Minisini
fc62ec2a34 [INTERPRETER]
* BUG: INPUT does not leak memory anymore.


git-svn-id: svn://localhost/gambas/trunk@4545 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-13 02:39:10 +00:00
Benoît Minisini
d584cf1121 [DEVELOPMENT ENVIRONMENT]
* NEW: Font size options has been renamed as "Default font size" and "Small
  font size". The small font size is now used for all toolbars.
* NEW: The help browser proxy can be configured.

[GB.FORM]
* NEW: The stock icon named "earth" has been renamed as "internet".

[GB.QT4]
* BUG: If a form is defined as being not visible, then using it as a 
  startup form won't show it.

[GB.QT4.WEBKIT]
* NEW: WebSettings.DefaultProxy is a new constant for using the default 
  proxy configuration.


git-svn-id: svn://localhost/gambas/trunk@4543 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-12 01:48:49 +00:00
Benoît Minisini
e2dc7e9954 [INTERPRETER]
* BUG: Fix String.Left$() when the second argument is greater than the 
  string length.


git-svn-id: svn://localhost/gambas/trunk@4542 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-11 14:26:52 +00:00
Benoît Minisini
9d6b4a0f0d [DEVELOPMENT ENVIRONMENT]
* BUG: Fix version requirements on components in the packager.

[INTERPRETER]
* OPT: A little optimization in LINE INPUT.

[GB.FORM]
* NEW: GridView: Setting the column width to -1 make it fit its contents.
* NEW: GridView: Double-clicking on the right limit of a column make it
  fit its contents.


git-svn-id: svn://localhost/gambas/trunk@4537 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-08 01:41:23 +00:00
Benoît Minisini
9e259995ea [INTERPRETER]
* OPT: Use mmap() to allocated the stack, not malloc(). Consequently, 
  calling functions recursively are now very fast.

[COMPILER]
* NEW: New FAST keyword.


git-svn-id: svn://localhost/gambas/trunk@4536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-06 01:50:41 +00:00
Benoît Minisini
8dfb763782 [INTERPRETER]
* NEW: GOSUB can be recursive now, by saving the control variables, and
  restoring them on RETURN.

[COMPILER]
* NEW: GOSUB can be used on any top-level labels.


git-svn-id: svn://localhost/gambas/trunk@4534 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-04 23:43:07 +00:00
Benoît Minisini
1fc5a474de [INTERPRETER]
* NEW: New GOSUB instruction. You return from a GOSUB with the RETURN 
  instruction alone. Consequently, you cannot exit from a 'SUB' with it if
  there is a pending GOSUB. The GOSUB stack is only limited by the
  available memory.

[COMPILER]
* NEW: New GOSUB instruction.


git-svn-id: svn://localhost/gambas/trunk@4530 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-03 23:57:36 +00:00
Benoît Minisini
fb26ef792f [DEVELOPMENT ENVIRONMENT]
* NEW: A new panel in the option dialog that allows to define which files
  must be ignored when creating a source package or an installation 
  package.

[INTERPRETER]
* BUG: Fix String.Mid$() when the third argument goes after the string 
  length.

[GB.FORM]
* NEW: IconPanel now uses a GridView and not an IconView anymore.
* BUG: GridView.Mouse property now works as expected.


git-svn-id: svn://localhost/gambas/trunk@4528 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-03 02:17:24 +00:00
Benoît Minisini
f841a413e7 [INTERPRETER]
* BUG: Fix structure field padding.


git-svn-id: svn://localhost/gambas/trunk@4517 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-29 13:43:18 +00:00
Benoît Minisini
dd8f6fa227 [INTERPRETER]
* BUG: Adding years with DateAdd() to 29 Feb now switch to 28 Feb not to 
  create invalid dates if the result is not in a leap year.


git-svn-id: svn://localhost/gambas/trunk@4515 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-28 23:39:29 +00:00
Benoît Minisini
b85b4dfc7b [INTERPRETER]
* BUG: Really fix CATCH / FINALLY management.


git-svn-id: svn://localhost/gambas/trunk@4513 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-27 22:15:10 +00:00
Benoît Minisini
61d1e832bb [INTERPRETER]
* BUG: Correctly release the stack when dealing with a CATCH / FINALLY 
  instruction.


git-svn-id: svn://localhost/gambas/trunk@4512 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-27 19:03:57 +00:00
Benoît Minisini
09f700e22b [INTERPRETER]
* BUG: LINE INPUT does not try to incorrectly release its stream argument
  anymore when there is no stream argument.
* OPT: A little optimization in Space$(), Upper$() and Lower$().
* OPT: EXEC / SHELL ... TO does not return the process output through a 
  temporary string that will be freed later. If the string is big, then
  the memory is retained longer than necessary.


git-svn-id: svn://localhost/gambas/trunk@4509 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-26 23:07:14 +00:00
Benoît Minisini
0fcd5bbd44 [GB.DB.FORM]
* BUG: Fix a crash in DataView when it has no current row.


git-svn-id: svn://localhost/gambas/trunk@4508 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-26 18:31:54 +00:00
Benoît Minisini
fad8dc7581 [INTERPRETER]
* NEW: 't' and 'tt' are two new date formatting patterns that display the
  timezone.


git-svn-id: svn://localhost/gambas/trunk@4507 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-25 15:16:10 +00:00
Benoît Minisini
e9f7c91cd5 [INTERPRETER]
* BUG: Destructors now can safely raise errors. If these errors are 
  ignored, the object is released anyway.


git-svn-id: svn://localhost/gambas/trunk@4506 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-25 03:16:08 +00:00
Benoît Minisini
0309f98b60 [DEVELOPMENT ENVIRONMENT]
* NEW: Take property synonymous into account.
* BUG: Pasting text as comments correctly converts tabulations into spaces.

[INTERPRETER]
* NEW: GB.RaiseBegin() and GB.RaiseEnd() are two new intepreter APIs that 
  allow to define a callback that will be called if an exception is raised
  during a call to GB.Raise().
* BUG: CATCH and FINALLY correctly restore the stack pointer. Without that,
  it is possible to use more stack than possible and to crash the 
  interpreter.

[COMPILER]
* NEW: A property now can has up to four different names. The syntax is:
  "Property Name [ , Synonymous1, ..., Synonymous3 ] As Datatype".

[GB.DB]
* BUG: Table.Type property now correctly handle null table types.

[GB.DB.FORM]
* NEW: DataBrowser.Grid is a new property to define the grid visibility.
* BUG: The DataBrowser and DataView controls have been fixed. There is only 
  one problem to fix that depends on a gb.gtk bug.

[GB.DRAW]
* BUG: Setting Draw.Font to NULL does not crash anymore, and raise an error
  instead.

[GB.FORM]
* NEW: The new GridView is finished and replaces the old one now.
* NEW: GridView.ShowCursor is a new property that displays a light cursor 
  around the current cell when set.

[GB.GTK]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: GTK+ GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.

[GB.QT4]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: Qt4 GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.
* BUG: If the DrawingArea Draw event handler raises an error, then the 
  interpreter should not crash anymore.

[GB.QT4.EXT]
* BUG: Fix an uninitialized field in Editor internal GLine class.


git-svn-id: svn://localhost/gambas/trunk@4503 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-25 01:35:55 +00:00
Benoît Minisini
65e1200b53 [INTERPRETER]
* BUG: Constructors that receive too many arguments now correctly raise an 
  error.

[GB.DRAW]
* BUG: Accessing a temporarily closed drawing device now raises an error
  instead of crashing.


git-svn-id: svn://localhost/gambas/trunk@4496 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-22 01:42:40 +00:00
Benoît Minisini
a668911d1e [INTERPRETER]
* BUG: Convert the return value of a native function to a variant 
  automatically only if the function call is done by a "CALL" bytecode.
  Consequently the gb.signal component works again.



git-svn-id: svn://localhost/gambas/trunk@4489 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-19 16:13:38 +00:00
Benoît Minisini
859a04ba8c [INTERPRETER]
* BUG: Fix enumeration abortion.


git-svn-id: svn://localhost/gambas/trunk@4474 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-12 21:37:46 +00:00
Benoît Minisini
7a3021909e [INTERPRETER]
* BUG: Fix translatable string constants inheritance.


git-svn-id: svn://localhost/gambas/trunk@4473 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-12 19:53:40 +00:00
Benoît Minisini
9a0e045cd1 [INTERPRETER]
* BUG: Object.Call() does not try to convert the return value if there is
  no return value!


git-svn-id: svn://localhost/gambas/trunk@4467 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-11 19:12:32 +00:00
Benoît Minisini
2fa263b81f [INTERPRETER]
* BUG: Object.Call() returns its value correctly now.


git-svn-id: svn://localhost/gambas/trunk@4466 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-11 19:09:03 +00:00
Benoît Minisini
9e30b521c4 [INTERPRETER]
* NEW: Formatting a date with gb.GeneralDate now always prints the time.
* BUG: The time part of a formatted date is never automatically removed 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@4464 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-11 08:37:48 +00:00
Benoît Minisini
b075a2e026 [INTERPRETER]
* NEW: Loading a library does not load its dependencies automatically 
  anymore. Now they behave like components, and the IDE will have to
  compute the dependencies.


git-svn-id: svn://localhost/gambas/trunk@4463 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-08 20:26:24 +00:00
Benoît Minisini
7b191a1c5d [INTERPRETER]
* BUG: Fix date formatting.


git-svn-id: svn://localhost/gambas/trunk@4454 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-05 19:30:30 +00:00
Benoît Minisini
1a6d492738 [INTERPRETER]
* NEW: System.Shell is a new property that allows to define the shell used
  by the Shell instruction. By default, this is '/bin/sh'.


git-svn-id: svn://localhost/gambas/trunk@4453 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-05 16:18:57 +00:00
Benoît Minisini
9855c33d97 [INTERPRETER]
* BUG: Make date formatting more consistent when the date part or the time 
  part is null.


git-svn-id: svn://localhost/gambas/trunk@4449 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-05 08:08:27 +00:00
Benoît Minisini
2bbdb9a698 [INTERPRETER]
* BUG: Float and Single constants are now supported in native classes.


git-svn-id: svn://localhost/gambas/trunk@4444 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-01 01:51:29 +00:00
Benoît Minisini
f5472efbbe [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the form editor grid horizontal position.

[INTERPRETER]
* NEW: IsNan() is a new function that returns if a floating point value is
  not a number.
* NEW: IsInf() is a new function that returns +1 if a floating point value 
  is +Inf, -1 if it is -Inf, and 0 if it is a normal number.
* NEW: Swap$() is a new function that swaps a string.
* NEW: The MkBool$(), MkShort$(), MkInt$()... functions come back!

[COMPILER]
* NEW: +Inf and -Inf are two new keywords for representing the 
  corresponding special floating values.


git-svn-id: svn://localhost/gambas/trunk@4435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-31 02:33:01 +00:00
Benoît Minisini
96c50f1600 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix some crash in database manager when removing fields or index.
* BUG: Fix position history.
* NEW: Add a history popup menu.

[INTERPRETER]
* NEW: The Html$() function now converts unicode non-breaking space (code 
  160) in a "&nbsp;" entity.

[GB.GTK]
* BUG: Now raise an error when using text-box methods on read-only 
  combo-boxes.
* NEW: GTK+ 2.16 is now required.


git-svn-id: svn://localhost/gambas/trunk@4415 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-22 13:13:25 +00:00
Benoît Minisini
34f24c3991 [INTERPRETER]
* BUG: Fix the Param array accessor, that returns a specific extra argument
  from its index.

[GB.DBUS]
* BUG: Fix DBus method call when the method returns nothing. If there is an
  error, it is correctly raised.


git-svn-id: svn://localhost/gambas/trunk@4413 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-21 03:19:38 +00:00
Benoît Minisini
6227c5ecf2 [INTERPRETER]
* OPT: Optimize IIf() when its two last arguments have the same datatype.


git-svn-id: svn://localhost/gambas/trunk@4409 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 02:53:09 +00:00
Benoît Minisini
4300e266d8 [INTERPRETER]
* BUG: Fix inline array operator when mixing objects and standard datatypes.


git-svn-id: svn://localhost/gambas/trunk@4408 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 02:41:42 +00:00
Benoît Minisini
2288bb9194 [INTERPRETER]
* BUG: Fix IIf() when the returned values are objects.


git-svn-id: svn://localhost/gambas/trunk@4407 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 02:37:03 +00:00
Benoît Minisini
c8b5c206ef [INTERPRETER]
* BUG: Fix bits manipulation routines on Short values.


git-svn-id: svn://localhost/gambas/trunk@4406 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 01:35:41 +00:00
Benoît Minisini
6c0306605a [INTERPRETER]
* BUG: Fix the IIf() function when its arguments have different types.


git-svn-id: svn://localhost/gambas/trunk@4405 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-19 01:26:10 +00:00
Benoît Minisini
f5682bf3b4 [DEVELOPMENT ENVIRONMENT]
* BUG: Do not try to handle Home and End keys in editors.
* BUG: Fix the translation of error messages made by the debugger.
* NEW: Update error message list.

[INTERPRETER]
* NEW: Chmod, Chown and Chgrp were implemented.
* NEW: Stat.Auth is a new property that returns the file mode as a string,
  using the format of the 'chmod' shell command.
* NEW: Rmdir raises a specific 'Directory is not empty' error now, when 
  trying to remove a non-empty directory.

[COMPILER]
* NEW: Chmod <path> To <mode> was implemented. <mode> is a string having 
  the same format as the 'chmod' shell command.
* NEW: Chown <path> To <user> was implemented. <user> is the name of the 
  user as defined in the /etc/passwd file.
* NEW: Chgrp <path> To <group> was implemented. <user> is the name of the 
  group as defined in the /etc/group file.


git-svn-id: svn://localhost/gambas/trunk@4400 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-15 08:54:57 +00:00
Benoît Minisini
4e3a714642 [INTERPRETER]
* BUG: Terminal emulation now does not automatically convert NL to CR+NL.
* BUG: Fix the declaration of custom array classes.

[GB.GTK]
* BUG: Stopping a file descriptor watch now correctly check if the event 
  loop must be exited.


git-svn-id: svn://localhost/gambas/trunk@4398 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-13 08:04:11 +00:00
Benoît Minisini
3474d5e76d [INTERPRETER]
* NEW: System.FullVersion now returns the full version string, with major, 
  minor and release.
* BUG: Missing return values are correctly catched in operators now.


git-svn-id: svn://localhost/gambas/trunk@4395 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-11 01:49:57 +00:00
Benoît Minisini
2a777ba169 [INTERPRETER]
* NEW: New error message when a child process cannot be run for any reason.
* BUG: EXEC / SHELL ... FOR INPUT now work correctly when OUTPUT is not
  specified, and there is not a true terminal to get the data that is not 
  redirected.


git-svn-id: svn://localhost/gambas/trunk@4392 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-06 01:47:50 +00:00
Benoît Minisini
0544910f30 [DEVELOPMENT ENVIRONMENT]
* BUG: In Report forms, draw ReportImage and ReportSvgImage according to 
  their Stretch property.
* NEW: Use a TabPanel instead of a TabStrip to draw the Report form.
* NEW: Make the grid visible in all form families, and align it correctly 
  even in a Report form.

[WEB SITE MAKER]
* NEW: Remove text shadows.

[INTERPRETER]
* NEW: Define a minimum and maximum bytecode version that the interpreter
  can handle.

[GB.FORM]
* NEW: TabPanel buttons take a bit less space.


git-svn-id: svn://localhost/gambas/trunk@4389 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-01 15:15:49 +00:00
Benoît Minisini
dd3b512daf [CONFIGURATION]
* NEW: Update copyrights.


git-svn-id: svn://localhost/gambas/trunk@4384 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 02:39:20 +00:00
Benoît Minisini
074dc8c05f [INTERPRETER]
* BUG: The Internet condom had an hole. Use a better one.


git-svn-id: svn://localhost/gambas/trunk@4382 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 02:09:12 +00:00
Benoît Minisini
7f04720f33 [INTERPRETER]
* NEW: Put a condom on our string hash routine.


git-svn-id: svn://localhost/gambas/trunk@4381 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 01:02:42 +00:00
Benoît Minisini
470807e659 [INTERPRETER]
* BUG: Fix Single constants when directly read, not through an object 
  reference.


git-svn-id: svn://localhost/gambas/trunk@4373 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-30 21:41:29 +00:00
Benoît Minisini
759aa3ba69 [INTERPRETER]
* BUG: Fix support for Single constants.


git-svn-id: svn://localhost/gambas/trunk@4370 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-30 20:49:54 +00:00
Benoît Minisini
c1e1bb9fa4 [INTERPRETER]
* BUG: The number of digits in default floating point formats was too high
  for the available precision.


git-svn-id: svn://localhost/gambas/trunk@4363 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-30 02:29:00 +00:00
Benoît Minisini
6ce1641661 [INTERPRETER]
* BUG: Try to fix Float to String conversion with a simpler routine.


git-svn-id: svn://localhost/gambas/trunk@4362 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-30 01:28:10 +00:00
Benoît Minisini
546bc7a4f4 [INTERPRETER]
* BUG: Calling native methods on an anonymous reference now correctly casts 
  the return value to a Variant.
* BUG: Remove all Array class methods that break the inheritance rules.

[GB.GTK]
* BUG: Fix initial position of windows so that window manager constraints 
  are not overrided.

[GB.SETTINGS]
* BUG: Fix the use of Array class.


git-svn-id: svn://localhost/gambas/trunk@4361 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-29 21:47:41 +00:00
Benoît Minisini
717ab7fe77 [INTERPRETER]
* BUG: Fix _get, _next and Pop methods in the Array class.


git-svn-id: svn://localhost/gambas/trunk@4360 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-29 17:00:57 +00:00
Benoît Minisini
03caf23353 [DEVELOPMENT ENVIRONMENT]
* NEW: Database properties now can be editer even if there is no connection
  property defined in the form.

[GB.FORM]
* BUG: TabPanel now should not crash if there is no tab visible.
* BUG: The first visible TabPanel button is now drawn correctly if its 
  index is not zero.


git-svn-id: svn://localhost/gambas/trunk@4348 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-28 16:12:18 +00:00
Benoît Minisini
bee6e69ad1 [DEVELOPMENT ENVIRONMENT]
* NEW: A button to show or hide the system tables in the database editor.
* BUG: Copying button is enabled now in the SQL editor.
* NEW: SQL highlighting.

[GB.EVAL.HIGHLIGHT]
* NEW: SQL highlighting routine.

[GB.FORM]
* BUG: Fix an arrangement bug in TabPanel.

[GB.QT4.EXT]
* NEW: Editor.HighlightCurrent flag has been renamed HighlightImmediately.
* BUG: Braces are now highlighted even if they are not on the same line.
* NEW: Editor.HideMargin is a new flag to hide the editor left margin.


git-svn-id: svn://localhost/gambas/trunk@4344 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-28 03:04:46 +00:00
Benoît Minisini
e8f2747c1a [DEVELOPMENT ENVIRONMENT]
* BUG: The "Browse again" button in the search list now does nothing if 
  there is no search string defined.

[INTERPRETER]
* NEW: Object[].FindByRef and Object[].ExistByRef are two new methods that
  do not take the _compare special method into account. They compare 
  objects by reference only.

[GB.DB.FORM]
* NEW: DataBrowser.Border is a new property to define if a border should be
  displayed or not.
* BUG: Fix DataBrowser layout for all orientations.

[GB.DB.MYSQL]
* BUG: Try to make connection timeout work as expected, without success.
  It seems sticked to be at least one minute. :-(

[GB.FORM]
* BUG: IconView now behaves correctly when an item has no text. It uses there
  new array methods that search items by reference only.
* NEW: TabPanel.Highlight is a new property that highlight the current 
  selected tab button.
* NEW: TabPanel.Closable is a new property that works exactly like 
  TabStrip.Closable.
* BUG: TabPanel.Remove() now works correctly.
* NEW: ScrollArea is more clever with mouse wheel events.

[GB.FORM.MDI]
* NEW: Workspace now uses a TabPanel instead of a TabStrip.


git-svn-id: svn://localhost/gambas/trunk@4342 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-27 13:39:23 +00:00
Benoît Minisini
3d934b455c [DEVELOPMENT ENVIRONMENT]
* OPT: The project file creation dialog initalizes its file browser later.

[INTERPRETER]
* BUG: Use sigsetjmp() instead of setjmp() as expected by the memory check 
  functions.

[GB.FORM.MDI]
* BUG: Do not use symbolic links, but real image files for action icons.

[GB.SIGNAL]
* BUG: Fix some warnings on BSD.


git-svn-id: svn://localhost/gambas/trunk@4284 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-18 03:03:07 +00:00
Benoît Minisini
1961d55cd7 [INTERPRETER]
* BUG: Correctly free constructor arguments when there is inheritance.


git-svn-id: svn://localhost/gambas/trunk@4277 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-13 04:48:47 +00:00