Commit graph

1293 commits

Author SHA1 Message Date
Tobias Boege
4bc9b23c61 [GB.DATA]
* OPT: Shrink internal data structures and adjust algorithms likely
  improving performance (noticably for the 'random' case of my stress test -
  the 'best' case is almost on a par with Variant[] now).
* BUG: Fix difficult-to-spot List.Take() bugs due to difficulties with the
  former internal data structures. The class now survives all my test cases
  (without misbehaviour under valgrind).
* BUG: List.Take() never raises "Out of bounds" anymore if the list is empty
  because that's an inappropriate error for a *circular* list. It raises an
  error if an attempt is made to Take() an invalid Current which includes
  the case that the List is empty.



git-svn-id: svn://localhost/gambas/trunk@5731 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-07-13 08:53:49 +00:00
Benoît Minisini
0139ee4b99 [INTERPRETER]
* NEW: MATCH is a new operator that automatically load the gb.pcre 
  component to implement PCRE pattern matching. The syntax is the same as
  the LIKE operator.

[COMPILER]
* NEW: Add a new MATCH operator.

[GB.FORM]
* BUG: The directory contents size task does not abort anymore when 
  accessing an unreadable files or directory. It now ignore them.
* NEW: When errors are raised while browsing the contents of a directory,
  the file properties dialog display them is a new tab.

[GB.PCRE]
* NEW: Create an API interface for allowing other components to use PCRE
  regular expressions.


git-svn-id: svn://localhost/gambas/trunk@5730 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-07-12 23:57:53 +00:00
Benoît Minisini
29ab774c1c [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the frame position when dragging a control from the toolbar on 
  a container.
* NEW: The project file properties dialog is now based on the new 
  FileProperties control.

[INTERPRETER]
* NEW: GB.OnErrorBegin() and GB.OnErrorEnd() are two new APIs that allow to
  register cleanup routines that are called when an error is raised between
  the GB.OnErrorBegin() call and the GB.OnErrorEnd() call.

[INFORMER]
* BUG: The value of  Float constants is now correctly dumped in *.info 
  files.

[GB.COMPLEX]
* NEW: Implement the same Complex.ToString() method as in gb.gsl.

[GB.DESKTOP]
* NEW: Desktop.DataDir is a new property that returns the directory where 
  the application must store its user-specific data.
* NEW: Desktop.ConfigDir is a new property that returns the directory where 
  the application must store its user-specific configuration.
* NEW: Desktop.CacheDir is a new property that returns the directory where 
  the application must store its user-specific cached data.
* NEW: Desktop.RuntimeDir is a new property that returns the directory 
  where the application must store its temporary runtime files.
* BUG: Fix a possible crash when searching a mimetype from the file 
  extension.

[GB.FORM]
* NEW: FileProperties is a new control that displays the properties of a 
  specific file or directory. It automatically computes the size of 
  directory contents through a background task.
* BUG: Setting the TabPanel.Border property now correctly refreshes its 
  layout.
* NEW: The stock icon map now can declare specific icons for specific 
  widget themes.

[GB.FORM.STOCK]
* NEW: Fix the 'tools' icon for elementary icon theme.

[GB.GSL]
* BUG: Fix the Vector.ToString() declaration.

[GB.QT4.EXT]
* NEW: The Editor.LineOffset property has been renamed as 
  Editor.LineNumberOffset.


git-svn-id: svn://localhost/gambas/trunk@5725 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-07-10 22:17:27 +00:00
Benoît Minisini
18c9b762fc [INTERPRETER]
* BUG: A stream redirected through the 'Begin' method checks that stream is
  ready for writing only when the 'Send' method is called. Between the 
  'Begin' and 'Send' calls, the PRINT and WRITE instructions will always
  succeed.


git-svn-id: svn://localhost/gambas/trunk@5723 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-07-06 19:00:41 +00:00
Benoît Minisini
74fb91552e [EXAMPLES]
* NEW: MediaPlayer: Display the name of the device, not just its system 
  path.

[INTERPRETER]
* BUG: In File.Load(), workaround virtual files (like those located in 
  '/sys') whose official size is not their real size.


git-svn-id: svn://localhost/gambas/trunk@5712 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-06-29 16:11:32 +00:00
Benoît Minisini
2973820c70 [INTERPRETER]
* BUG: Don't crash when calling a dynamic _call special method in a static 
  context. Raise an error instead.


git-svn-id: svn://localhost/gambas/trunk@5707 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-06-19 02:48:34 +00:00
Benoît Minisini
57a77280a1 [COMPILER]
* BUG: Generate correct information files for components having string 
  constants with newline inside.


git-svn-id: svn://localhost/gambas/trunk@5706 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-06-19 02:01:08 +00:00
Benoît Minisini
70eca15fb4 [INTERPRETER]
* BUG: Do not search for Application_Error if the project startup class 
  has not be loaded yet.

[GB.GUI.BASE]
* NEW: Typing keys inside an IconView should not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@5697 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-06-09 21:30:43 +00:00
Benoît Minisini
45c481c1b4 [EXAMPLES]
* NEW: The Fractal example now uses eight background tasks to draw the 
  fractal.

[GB.IMAGE]
* NEW: Image.Pixels is a new property that allows to return the image 
  pixels as an integer array, and to set the image pixels from an integer
  array.


git-svn-id: svn://localhost/gambas/trunk@5687 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-30 21:16:09 +00:00
Benoît Minisini
21f0837572 [INTERPRETER]
* BUG: Correctly handle functions with a variable number of arguments when
  an array conversion occurs during argument parsing.
* BUG: The debugger now correctly displays and modifies arguments of 
  functions having a variable number of arguments.

[GB.DEBUG]
* BUG: The debugger now correctly displays and modifies arguments of 
  functions having a variable number of arguments.


git-svn-id: svn://localhost/gambas/trunk@5686 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-30 01:10:59 +00:00
Benoît Minisini
0812020209 [CONFIGURATION]
* NEW: Update VERSION file.

[DEVELOPMENT ENVIRONMENT]
* BUG: If the desktop password wallet is not available, do not crash 
  anymore, but display an error message instead.

[INTERPRETER]
* BUG: Some fixes in Application_Error method management.

[GB.EVAL.HIGHLIGHT]
* BUG: Some fixes in HTML highlighting.

[GB.QT.4.EXT]
* NEW: Editor: jumping to the next procedure from the current one now goes 
  to the end of the file.


git-svn-id: svn://localhost/gambas/trunk@5684 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-28 20:48:43 +00:00
Benoît Minisini
08a1345950 [INTERPRETER]
* BUG: Prevent Application_Error from being called recursively.


git-svn-id: svn://localhost/gambas/trunk@5681 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-26 11:18:55 +00:00
Tobias Boege
8fbbf67c59 [CONFIGURATION]
* BUG: Revert rev#5679 as it was unneeded.



git-svn-id: svn://localhost/gambas/trunk@5680 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-26 10:20:25 +00:00
Tobias Boege
0bb521e279 [CONFIGURATION]
* BUG: Make {gba,gbc,gbi,gbx}.c depend on trunk_version.h so that they are
  rebuilt when it changes in order to always show the correct version.



git-svn-id: svn://localhost/gambas/trunk@5679 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-26 09:14:51 +00:00
Benoît Minisini
daaf410362 [DEVELOPMENT ENVIRONMENT]
* NEW: If the IDE throws an uncatched error, try to save all modified files
  before aborting.

[INTERPRETER]
* NEW: If a static public method named Application_Error() is defined in 
  the startup class, then this method will be called when an unhandled 
  error is thrown, just before the program is aborted.


git-svn-id: svn://localhost/gambas/trunk@5678 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-25 14:00:40 +00:00
Benoît Minisini
47d9021e13 [CONFIGURATION]
* BUG: Forgot to make the 'trunk_version.h' rule phony.


git-svn-id: svn://localhost/gambas/trunk@5677 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-25 13:30:06 +00:00
Benoît Minisini
26a85ce106 [CONFIGURATION]
* NEW: The trunk version is now generated at compilation time through 
  custom rules and a generated include in the Makefile.am file.

[EXAMPLES]
* NEW: Use the new HttpClient Progress event and its properties in the 
  HttpGet networking example.


git-svn-id: svn://localhost/gambas/trunk@5676 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-25 13:23:39 +00:00
Benoît Minisini
1da147d6e5 [CONFIGURATION]
* NEW: The trunk version is now put in the 'config.h' file of the /main 
  source directory. No compilation flag is used anymore.
* NEW: All Gambad executables return the trunk revision number when they 
  are called with the '-V' option.

[GB.WEB]
* BUG: The Request.Fields property now can be read without reading the 
  value of a request field first.


git-svn-id: svn://localhost/gambas/trunk@5674 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-22 23:03:48 +00:00
Tobias Boege
947c357489 [CONFIGURATION]
* BUG: Execute the svn command for TRUNK_VERSION within the C locale to
  avoid surprises when grepping the output.



git-svn-id: svn://localhost/gambas/trunk@5673 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-22 17:33:17 +00:00
Tobias Boege
2217b3d6f0 [CONFIGURATION]
* BUG: Define the TRUNK_VERSION macro in gbx's Makefile.am which is less
  error-prone and other parts of the build process won't use it anyway.
  automake thinks that the $(shell ...) call shall a variable and warns but
  that can safely be ignored I think.



git-svn-id: svn://localhost/gambas/trunk@5672 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-22 14:29:01 +00:00
Tobias Boege
f347f30791 [GB.DATA]
* NEW: Fix memory leaks from Circular cleanup.



git-svn-id: svn://localhost/gambas/trunk@5670 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-21 13:09:29 +00:00
Tobias Boege
2bf1efd58b [CONFIGURATION]
* NEW: The TRUNK_VERSION macro is now defined to the overall SVN repository
  revision if Gambas is compiled from inside a repository. The value is
  detected by the Makefiles and passed as a command line definition to gcc.

[INTERPRETER]
* NEW: --version also prints the SVN revision number when gbx3 was compiled
  from a SVN repository.



git-svn-id: svn://localhost/gambas/trunk@5662 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-19 14:02:29 +00:00
Benoît Minisini
e877847c2e [GB.DRAW]
* NEW: Remove geometry classes source files.


git-svn-id: svn://localhost/gambas/trunk@5642 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-04 17:24:21 +00:00
Benoît Minisini
3721bbd95c [GB.DRAW]
* NEW: Remove geometry classes and put them in the gb.geom component.

[GB.GEOM]
* NEW: New hidden component that implements all geometry classes: Point,
  PointF, Rect and RectF.


git-svn-id: svn://localhost/gambas/trunk@5641 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-04 17:23:17 +00:00
Benoît Minisini
9d6ba888b3 [GB.DESKTOP]
* BUG: Fix the dependencies of the component project.


git-svn-id: svn://localhost/gambas/trunk@5639 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-04 14:17:15 +00:00
Benoît Minisini
58e19c65a1 [COMPILER]
* BUG: Correctly handle public string constants larger than 255 characters.


git-svn-id: svn://localhost/gambas/trunk@5638 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-04 02:54:35 +00:00
Benoît Minisini
59756d47e5 [COMPILER]
* BUG: Now a FOR loop with no loop variable correctly raises a syntax 
  error.


git-svn-id: svn://localhost/gambas/trunk@5637 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-03 22:45:11 +00:00
Benoît Minisini
0a5be7890d [INTERPRETER]
* BUG: Don't wait for a stream to be ready for reading if the stream has no
  underlying file descriptor.


git-svn-id: svn://localhost/gambas/trunk@5633 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-01 13:02:38 +00:00
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
9cda9ad176 [ARCHIVER]
* BUG: The previous fix was incorrect. We can now really create an 
  executable when the project directory and the target directory are not on 
  the same device.


git-svn-id: svn://localhost/gambas/trunk@5604 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-31 06:24:30 +00:00
Benoît Minisini
9f1286f161 [ARCHIVER]
* BUG: Be able to create the executable file if /tmp and the target 
  directory are not on the same device.


git-svn-id: svn://localhost/gambas/trunk@5603 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-31 05:51:47 +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
1649f86d86 [GB.DRAW]
* BUG: Fix a stupid typo. Now PointF now works correctly!


git-svn-id: svn://localhost/gambas/trunk@5566 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-02-25 17:25:56 +00:00
Laurent Carlier
9797312c12 Fix typos
git-svn-id: svn://localhost/gambas/trunk@5557 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-02-21 15:53:06 +00:00
Laurent Carlier
eae892152f [CONFIGURATION]
* BUG: Uninstall should honor XDG_UTILS variable during 'make uninstall'.

This fix building in ArchLinux.



git-svn-id: svn://localhost/gambas/trunk@5556 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-02-21 15:37:19 +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
4f9bedfb51 [COMPILER]
* BUG: Correctly raise an error if we use the New keyword inside an 
  embedded array declaration.


git-svn-id: svn://localhost/gambas/trunk@5506 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-14 01:26:16 +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
Tobias Boege
446ca03396 [GB.DATA]
* OPT: Remove unused function (reported by Coverity Scan/Emil Lenngren)



git-svn-id: svn://localhost/gambas/trunk@5491 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-05 14:28:37 +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
13dd04d5a4 [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly initalize the help browser layout.
* NEW: Use the new Image.Fuzzy() method to draw a drop shadow in the 
  welcome screen text.

[COMPILER]
* NEW: The GB_PCODE_VERSION environment variable can take 'X.YY' as version 
  instead of 'X.YY.ZZZZ', which is actually useless.

[GB.COMPRESS]
* BUG: Remove useless code never compiled.

[GB.DBUS]
* BUG: Fix a possible memory leak in a debugging routine.

[GB.GSL]
* BUG: Remove useless code never compiled.

[GB.GTK]
* NEW: Implement a cairo surface cache in the Image class, so that drawing
  the same image several times trigger a GdkPixbuf -> Cairo surface 
  conversion once.
* BUG: Slider and Scrollbar controls now raise the Change event only if the
  value has really changed.

[GB.NET]
* BUG: Remove useless code never compiled.

[GB.NET.CURL]
* BUG: Remove useless code never compiled.

[GB.NET.SMTP]
* BUG: Remove useless code never compiled.

[GB.V4L]
* BUG: Remove useless code never compiled.


git-svn-id: svn://localhost/gambas/trunk@5489 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-03 22:06:35 +00:00
Benoît Minisini
1e086db43d [COMPILER]
* NEW: The GB_PCODE_VERSION environment variable tells the compiler to use
  a different bytecode version that the current one. Use that hack only if
  you know exactly what you are doing.


git-svn-id: svn://localhost/gambas/trunk@5488 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-03 11:01:05 +00:00
Benoît Minisini
f0d6f1a256 [GB.GTK]
* NEW: Remove old GDK / X11 drawing code.

[GB.IMAGE]
* NEW: Image.Fuzzy() is a new blur method based on the 'StackBlur'
  algorithm made by Mario Klingemann.


git-svn-id: svn://localhost/gambas/trunk@5487 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-02 15:56:24 +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
1c940acd0c [WIKI CGI SCRIPT]
* BUG: Fix history page.

[GB.GUI.BASE]
* OPT: ScrollArea scrollbars should not flicker anymore during a resizing
  operation.
* BUG: Fix HSPlit and VSplit  behaviour when the visibility of a child
  changes.
* NEW: HSplit.Layout and VSplit.Layout now return the width of an hidden 
  child as zero.

[GB.QT4]
* OPT: Optimize clipping when the clipping area is a rectangle.


git-svn-id: svn://localhost/gambas/trunk@5480 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-31 03:13:04 +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
Benoît Minisini
643ef0c03c [COMPILER]
* BUG: Remove debugging messages.


git-svn-id: svn://localhost/gambas/trunk@5453 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-19 21:58:47 +00:00
Benoît Minisini
ca59b5880f [COMPILER]
* NEW: Emit line positions in debugging information for global 
  initializations.


git-svn-id: svn://localhost/gambas/trunk@5452 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-19 21:55:16 +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
108ef641cc [GB.DRAW]
* BUG: Correctly check that there is a current paint device in all Paint 
  methods and properties.


git-svn-id: svn://localhost/gambas/trunk@5440 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-15 22:59:57 +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
acbd6bd8a1 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix how documentation pages of code and libraries written in Gambas 
  are generated.
* NEW: Some little fixes in Gambas terminal fonts.

[GB.COMPRESS.ZLIB]
* BUG: Fix the driver that was not working anymore.

[GB.COMPRESS.BZLIB2]
* BUG: Fix the driver that was not working anymore.


git-svn-id: svn://localhost/gambas/trunk@5435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-14 01:47:32 +00:00
Benoît Minisini
9f8dbc2f7d [GB.IMAGE]
* NEW: New API to return the image format as a string.

[GB.IMAGE.EFFECT]
* BUG: Fix the histogram inversion, and inversion in other effects with 
  GTK+ images.


git-svn-id: svn://localhost/gambas/trunk@5417 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-08 02:17:49 +00:00
Benoît Minisini
5a547fbb10 [DEVELOPMENT ENVIRONMENT]
* NEW: Use a big font for displaying cursor position in editors.

[GB.DRAW]
* NEW: Paint.Arc() and Paint.Ellipse() take a new optional boolean argument
  that tells if a pie must be drawn instead of a chord.

[GB.FORM]
* NEW: LCDLabel now has an HighlightColor property that allows to define 
  the color of the glow. By default, no glow is drawn.

[GB.GTK]
* BUG: Fix control background drawing routine.
* NEW: Implement the new "Pie" argument of Paint.Arc() and Paint.Ellipse().

[GB.GUI.BASE]
* BUG: Draw.Ellipse() and Draw.Circle() now draw a pie instead of a chord.

[GB.QT4]
* NEW: Implement the new "Pie" argument of Paint.Arc() and Paint.Ellipse().


git-svn-id: svn://localhost/gambas/trunk@5413 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-06 00:21:16 +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
9fcc50b488 [DEVELOPMENT ENVIRONMENT]
* NEW: Update markup syntax with support for indexes.

[WIKI CGI SCRIPT]
* NEW: Support for component help written in *.info files.
* BUG: Automatic links work again.

[GB.DRAW]
* BUG: Fix Point and PointF InRect() method signature.

[GB.GUI.BASE]
* BUG: TreeView Click event correctly sets the Item property.
* BUG: Remove the useless GridView.Data.Draw property.
* BUG: Remove the GridView KeyPress event override.
* BUG: Fix the GridView Draw event signature.

[GB.QT4.WEBKIT]
* NEW: WebElement.Paint() now takes an optional clipping rectangle 
  argument.


git-svn-id: svn://localhost/gambas/trunk@5410 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-03 12:56:41 +00:00
Tobias Boege
24386639bf [GB.DATA]
* NEW: Finish the List class
* NEW: Add List.Clear(). How could I go without since now?
* OPT: FYI, Current and enumerators remain relative to the _beginning_ of
  the list if they're removed in order to can access all elements in an
  enumeration.
* NEW: Return NULL for an invalid List.Current instead of raising an error.
  However, the attempt to remove an invalid Current still results in that
  error.



git-svn-id: svn://localhost/gambas/trunk@5403 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-30 20:34:11 +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
f131eb6060 [COMPILER]
* BUG: Prevent self-inheritance.


git-svn-id: svn://localhost/gambas/trunk@5394 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-29 11:41:42 +00:00
Benoît Minisini
e04e38e170 [GB.DRAW]
* BUG: Fix the '_call_ special methods of Rect, RectF, Point and PointF, 
  that must be static.

[GB.GUI.BASE]
* BUG: Fix Rect symbol clash in Draw.Zoom.
* NEW: ScrollArea.Painted property is now deprecated.


git-svn-id: svn://localhost/gambas/trunk@5387 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-28 03:32:55 +00:00
Benoît Minisini
2f4d1b7d2e [GB.DRAW]
* BUG: Fix Paint.ZoomImage() method.

[GB.GTK]
* BUG: Paint.Begin() correctly initializes the line width to 1.0.

[GB.GUI.BASE]
* NEW: Draw.Polygon now uses Paint.Polygon.


[GB.QT4]
* BUG: Clipboard.Type correctly returns Clipboard.Image after an image has 
  been copied to the clipboard.


git-svn-id: svn://localhost/gambas/trunk@5386 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-27 23:40:28 +00:00
Benoît Minisini
a612052f95 [EXAMPLES]
* NEW: Paiting example: add an example for rounded rectangles.

[GB.DRAW]
* NEW: Paint.Polygon() is a new method that paints a closed polygon.
* NEW: Paint.Rectangle() now takes an optional radius argument. If its is
  specified with a value greater than zero, then a rounded rectangle is 
  painted.


git-svn-id: svn://localhost/gambas/trunk@5385 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-27 22:27:40 +00:00
Benoît Minisini
8bbe87a6d3 [DEVELOPMENT ENVIRONMENT]
* BUG: Remove uses of DrawingArea.Painted.

[GB.FORM]
* BUG: Remove uses of DrawingArea.Painted.

[GB.GUI.BASE]
* BUG: Fix Draw.Style.Box() method.

[GB.MAP]
* NEW: MapPoint.Distance() is a new method that returns the geodesic 
  distance between two points.
* NEW: Map.From() is a new method that returns the position of a point from
  an initial point, a direction and a distance.
* NEW: Map.Bearing() is a new method that returns the direction from an 
  initial point to a destination point.


git-svn-id: svn://localhost/gambas/trunk@5384 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-27 20:10:39 +00:00
Benoît Minisini
520e978feb [DEVELOPMENT ENVIRONMENT]
* NEW: Update error messages.

[GB.DRAW]
* NEW: The Draw class has been removed.
* NEW: Paint.Ellipse() is a new method that paints an ellipse.
* NEW: Paint.TextSize() returns the bounding box of a text like 
  Draw.TextWidth() and Draw.TextHeight() did, which is not the same thing 
  as Paint.TextExtents().
* NEW: Paint.RichTextSize() returns the bounding box of a rich text like 
  Draw.RichTextWidth() and Draw.RichTextHeight() did, which is not the same 
  thing as Paint.RichTextExtents().
* NEW: Paint.FillRect() fills a rectangle with a specific color.
* NEW: Paint.DrawImage() takes an extra 'Source' argument which is a 
  rectangle describing a piece of the source image.
* NEW: Paint.DrawPicture() now replaces the old Draw.Picture() method.
* NEW: Paint.ZoomImage() now replaces the old Draw.Zoom() method.
* NEW: The default line width after a Paint.Begin() is one pixel now.

[GB.GTK]
* NEW: DrawingArea.Painted has been deprecated.
* BUG: Don't use the 'cairo_set_device_offset' method to draw on a 
  DrawingArea, but a matrix translation.
* NEW: Support for the new Paint methods.
* NEW: The old Draw.Style methods have been moved to the Style class.
* NEW: You cannot draw on a Window anymore.

[GB.GUI.BASE]
* NEW: Do not highlight the sorted column in GridView, TreeView, ListBox... 
  if there is only one column.
* NEW: Implement a new Draw class that simulates the old one by using the
  Paint class.

[GB.JIT]
* BUG: Fix the argument order of E_NSYMBOL error message.

[GB.QT4]
* NEW: DrawingArea.Painted has been deprecated.
* NEW: Support for the new Paint methods.
* NEW: The old Draw.Style methods have been moved to the Style class.
* NEW: You cannot draw on a Window anymore.


git-svn-id: svn://localhost/gambas/trunk@5382 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-27 18:42:24 +00:00
Benoît Minisini
7326cc894b [GB.DRAW]
* NEW: Paint.DrawImage() now takes a source rectangle.
* NEW: Paint.DrawPicture() is a replacement for Draw.Picture().
* NEW: Paint.ZoomImage() is a replacement for Draw.Zoom().

[GB.GTK]
* NEW: Start implementing new Paint methods.

[GB.QT4]
* NEW: Start implementing new Paint methods.


git-svn-id: svn://localhost/gambas/trunk@5376 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-26 06:33:49 +00:00
Tobias Boege
285cf7a578 [GB.DATA]
* BUG: Fix division by zero when read/write pointer is set on 0-length
  Circular (useless but legal).



git-svn-id: svn://localhost/gambas/trunk@5375 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-25 19:09:21 +00:00
Benoît Minisini
7af5ee2344 [GB.DRAW]
* NEW: Paint.BrushOrigin is a new property that allows to define the origin 
  of the brush.
* NEW: Paint.FillRect is a new property equivalent to Draw.FillRect.

[GB.GTK]
* NEW: Support for the new Paint methods.

[GB.GUI.BASE]
* NEW: Start to implement a Draw static class based on the Paint class.
  That class aims at replacing the current Draw class. As it will be based 
  on the Paint class, it will be able to act on Image and Printer, making
  the old Gambas 2 printing code works with Gambas 3 directly.

[GB.QT4]
* NEW: Support for the new Paint methods.


git-svn-id: svn://localhost/gambas/trunk@5365 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-25 01:39:49 +00:00
Benoît Minisini
1d7db62a60 [GB.DRAW]
* BUG: Guess what: fix compilation of gb.draw (IV).


git-svn-id: svn://localhost/gambas/trunk@5363 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-24 22:39:13 +00:00
Benoît Minisini
46880072e4 [GB.DRAW]
* BUG: Fix compilation of gb.draw (third episode).


git-svn-id: svn://localhost/gambas/trunk@5362 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-24 22:26:07 +00:00
Benoît Minisini
221c207082 [GB.DRAW]
* BUG: Fix compilation of gb.draw (again!).


git-svn-id: svn://localhost/gambas/trunk@5361 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-24 22:20:39 +00:00
Benoît Minisini
a02623b6eb [GB.DRAW]
* BUG: Fix compilation of gb.draw.


git-svn-id: svn://localhost/gambas/trunk@5360 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-24 21:41:28 +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
225c6e0b40 [DEVELOPMENT ENVIRONMENT]
* NEW: Use DesltopMime.FromFile() method to handle project data files.
* BUG: Installing the Gambas fonts override the old ones that could be
  already installed.
* NEW: Update the Gambas fonts.

[GB.DESKTOP]
* BUG: DesktopFile.Run() now handle programs that does not specify any
  argument pattern (%u, %f, and so on) in its command description.

[GB.DRAW]
* NEW: Add a RectF class, that is a rectangle with Float coordinates.
* NEW: Add a Point class, that is just a point with two Integer 
  coordinates.
* NEW: Add a PointF class, that is just a point with two Float
  coordinates.

[GB.GUI.BASE]
* BUG: GridView and TreeView controls should not lose any MouseDown event
  anymore.
* BUG: Fix previous TreeView optimizations.

[GB.MAP]
* BUG: Rename the "map" class as "Map".


git-svn-id: svn://localhost/gambas/trunk@5354 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-24 01:16:40 +00:00
Benoît Minisini
a7c3939e3d [DEVELOPMENT ENVIRONMENT]
* BUG: Be sure that the welcome dialog filter has the focus.

[WEBSITE MAKER]
* NEW: Update for 3.3.4.

[GB.DB]
* BUG: A failing table or user add does not leak memory anymore.
* BUG: Fix the removal method of the .SubCollection virtual class.

[GB.DB.SQLITE3]
* BUG: Detect serial fields correctly now.

[GB.QT4]
* BUG: Enusre that embedded windows emit their Open event before any Move, 
  Resize events...


git-svn-id: svn://localhost/gambas/trunk@5340 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-20 01:37:26 +00:00
Benoît Minisini
f7992f248d [COMPILER]
* BUG: Don't declare virtual classes now present in the *.list files.

[INFORMER]
* BUG: Put virtual classes in *.list files so that the IDE is aware of 
  their existence.


git-svn-id: svn://localhost/gambas/trunk@5336 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-18 20:07:31 +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
0282ac072f [COMPILER]
* BUG: Fix comments parser.


git-svn-id: svn://localhost/gambas/trunk@5314 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-10 12:21:44 +00:00
Benoît Minisini
a78a58f0f4 [COMPILER]
* BUG: As usual, forgot to add the new source files.


git-svn-id: svn://localhost/gambas/trunk@5312 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-10 00:28:01 +00:00
Benoît Minisini
25b8edfd44 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for the help comments integrated into the *.info files by 
  the compiler.
* NEW: Use the help comments stored in libraries and display them in them
  help tooltips.
* BUG: Remove duplicates in the automatic completion list.
* BUG: The symbol syntax displayed in the help now correctly follows the
  "Keywords in uppercase" setting.
* NEW: Class help comments are now help comments located at the beginning
  of the source file that starts with three quotes and a space: `''' `.

[COMPILER]
* NEW: Support for help comments on public symbols. They are automatically 
  integrated into the *.info information files.


git-svn-id: svn://localhost/gambas/trunk@5311 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-10 00:19:53 +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
5d9a781017 [DEVELOPMENT ENVIRONMENT]
* BUG: Right mouse button can select controls again in form editor.

[GB.GTK]
* NEW: DragLeave is a new event raised by any control when the mouse leave
  a control during a DnD operation, or when the DnD operation terminates.
* NEW: DragMove and DragLeave events take the proxy into account. 

[GB.GUI.BASE]
* NEW: ScrollArea, GridView, TreeView... now automatically scroll during a
  DnD operation.
* BUG: Remove the overriden MouseDown event from the GridView class.
* BUG: A DnD operation does not eat the next mouse click anymore in 
  GridView, TreeView... controls.

[GB.QT4]
* NEW: DragLeave is a new event raised by any control when the mouse leave
  a control during a DnD operation, or when the DnD operation terminates.
* NEW: DragMove and DragLeave events take the proxy into account. 


git-svn-id: svn://localhost/gambas/trunk@5303 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-07 22:51:04 +00:00
Tobias Boege
b417f1861e [GB.DATA]
* OPT: Great overhaul of List algorithms. Beware: Still buggy.
* OPT: Make list chunks carry multiple Variants to improve cache locality.
* OPT: Don't traverse List forwards/backwards when the absolute value of
  index is past the half of Count.
* NEW: Introduce List.Backwards - a virtual object to enumerate backwards
* NEW: Don't use List.Current as enumeration pointer.
* NEW: Begin enumeration at the first/last node.
* NEW: Traverse backwards when given negative index to _get.
* NEW: Make Current invalid by default.
* NEW: Assign first/last element when MoveNext()/MovePrev() is issued on an
  invalid Current.
* NEW: Use List.Current as pointer for the Find*() methods, too.
* NEW: Assign first/last element when FindNext()/FindPrev() is issued on an
  invalid Current.
* NEW: Don't return an index from Find*() methods because it is not the way
  linked list are dealt with.
* NEW: Make insertion and removal of elements safe in enumerations.
* NEW: When Current (or enumerator) is removed, the pointer remains relative
  to the beginning of the List but it never wraps around the end.
* BUG: Correctly *cycle* with {Move,Find}{Next,Prev}()



git-svn-id: svn://localhost/gambas/trunk@5302 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-06 21:03:07 +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
25e6253672 [CONFIGURATION]
* BUG: The default prefix is /usr in component directories too.
* NEW: Uninstall mime handler and mime icons in 'make uninstall'.

[GB.GTK]
* NEW: Replace the old ListBox control by the one in gb.gui.base.

[GB.QT4]
* NEW: Replace the old ListBox control by the one in gb.gui.base.
* OPT: Some little optimizations in ScrollView.
* OPT: Changing the geometry of a control whose Ignore property is set does
  not trigger parent arrangement routine anymore.


git-svn-id: svn://localhost/gambas/trunk@5258 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-28 19:21:59 +00:00
Benoît Minisini
84bcc9052f [CONFIGURATION]
* BUG: Fix compilation of Gambas.

[DEVELOPMENT ENVIRONMENT]
* NEW: Change the proportional font size list in the option dialog. Use a
  5% size increment.

[INFORMER]
* NEW: gbi3 now displays include warning only if the GBI_DEBUG environment
  variable is set to "1".

[GB.FORM]
* NEW: Add a FontChooser Border property.
* BUG: Support for Underline and Strikeout come back in FontChooser.

[GB.GUI.BASE]
* NEW: ScrollArea now raise a Resize event when the client area is resized
  because of changes in scrollbars visibility.
* BUG: Changing a TreeView item property now correctly refreshes the view.
* OPT: The height of TreeView rows is now refreshed correctly.

[GB.QT4]
* BUG: The menu bar height is correctly refreshed if the application font
  changes.



git-svn-id: svn://localhost/gambas/trunk@5257 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-28 14:35:31 +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
16679fdd5d [DEVELOPMENT ENVIRONMENT]
* BUG: Events of class written in Gambas are correctly detected now.
* BUG: Automatic local variable declaration now correctly analyze 
  expressions like "A.B" in all cases.
* NEW: Use a SidePanel to display the stack backtrace.

[GB.DB]
* BUG: DB.Quote(..., True) now does a table name quoting in all cases.

[GB.DB.FORM]
* BUG: The database controls now can handle table names that are reserved
  SQL keywords.

[GB.FORM]
* NEW: Start implementing TreeView entirely in Gambas.
* BUG: Removing GridView rows correctly resets the row heights.
* NEW: GridView now raises a Draw event that allows to paint a cell with 
  any drawing methods.


git-svn-id: svn://localhost/gambas/trunk@5250 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-23 11:21:43 +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
2ab47c59e0 [COMPILER]
* NEW: Support for IF ... THEN ... ELSE syntax on the same line.


git-svn-id: svn://localhost/gambas/trunk@5236 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-13 22:43:36 +00:00
Benoît Minisini
4ecc3420e6 [GB.IMAGE]
* BUG: Fix Image.RotateRight() algorithm.


git-svn-id: svn://localhost/gambas/trunk@5235 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-13 09:46:35 +00:00
Benoît Minisini
06977c713d [GB.IMAGE]
* BUG: Image.RotateRight() now really rotates to the right.


git-svn-id: svn://localhost/gambas/trunk@5233 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-11 20:39:06 +00:00
Benoît Minisini
8701a2f020 [INTERPRETER]
* BUG: Fix symbol table search that could sometimes fail with non ASCII 
  characters.

[ARCHIVER]
* NEW: Add '.public' directory to executables.
* NEW: A new '-i' option not to display warnings when an information file 
  include fails.


git-svn-id: svn://localhost/gambas/trunk@5230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-10 14:58:14 +00:00
Benoît Minisini
6c2bb03d7c [DEVELOPMENT ENVIRONMENT]
* NEW: Support for the new 'Public' project virtual directory, which is 
  '.public' on the disk.

[SCRIPTER]
* NEW: Support for a new '-f- option that compile the script with JIT 
  compilation enabled.

[GB.DESKTOP]
* BUG: Remove _Desktop.ActivateWindow() method.

[GB.HTTPD]
* NEW: The embedded HTTP server now can serve static files located in the 
  '.public' hidden project directory.


git-svn-id: svn://localhost/gambas/trunk@5226 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-07 21:12:53 +00:00
Benoît Minisini
0d88e31a1a [COMPILER]
* BUG: Error messages are correctly printed when warnings are disabled.


git-svn-id: svn://localhost/gambas/trunk@5223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-02 20:31:06 +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
619f6c0e3c [GB.DATA]
* BUG: Add 'list.h' to the source file list.


git-svn-id: svn://localhost/gambas/trunk@5195 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-23 18:32:39 +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
Tobias Boege
4f57ded502 [CONFIGURATION]
* NEW: Rename gb.adt to gb.data
* NEW: Mark gb.data as "Unfinished"

[GB.DATA]
* OPT: Block all changes from my working copy until they are mature. The
  interface is considered to be stable (although some details in behaviour
  will change); this justifies the "unfinished" state.



git-svn-id: svn://localhost/gambas/trunk@5147 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-09 20:20:47 +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
28c9d6d59b [COMPILER]
* NEW: Make one warning for each symbol kind that is overridden.

[GB.DB.FORM]
* BUG: Fix warnings.

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

[GB.EVAL.HIGHLIGHT]
* BUG: Correctly rewrite the following keywords with no spurious space 
  after: TRUE, FALSE, NULL, +INF, -INF.

[GB.FORM]
* BUG: Fix warnings.

[GB.FORM.MDI]
* BUG: Fix warnings.

[GB.WEB]
* BUG: Fix warnings.


git-svn-id: svn://localhost/gambas/trunk@5125 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-04 23:11:11 +00:00
Benoît Minisini
0026fb1489 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for compiler warnings.
* BUG: Fix all detected warnings.

[COMPILER]
* NEW: A new compiler option '-w' to let it emit warnings.
* NEW: Emit warnings for unused variables, arguments, functions and for 
  local symbols that override global symbols. Public symbols are of course 
  not taken into account.
* NEW: If an argument is surrounded by braces, no warning will be emitted
  if the argument is not used.

[GB.EVAL]
* NEW: OPTIONAL keyword is always followed by a space now when rewriting 
  Gambas code.


git-svn-id: svn://localhost/gambas/trunk@5122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-04 07:29:39 +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
9478faa8d7 [COMPILER]
* BUG: Last change was not a good idea. Local variables should be able to 
  override global variables. When the compiler will be able to emit 
  warnings, that could make a good warning of course...


git-svn-id: svn://localhost/gambas/trunk@5115 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-02 00:38:34 +00:00
Benoît Minisini
5d2a8b172e [COMPILER]
* BUG: Prevent local variables from hiding global variables.


git-svn-id: svn://localhost/gambas/trunk@5114 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-02 00:20:29 +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
Tobias Boege
a7605476f3 [GB.ADT]
* NEW: Rewrite List class
* BUG: Fix memory leaks from breaking list enumeration
* BUG: Replace element destruction postponing in Deque by new API calls



git-svn-id: svn://localhost/gambas/trunk@5100 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-30 01:51:01 +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
11c1bfe4b9 [GB.TASK]
* NEW: The component has been removed.


git-svn-id: svn://localhost/gambas/trunk@5080 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-26 16:26:13 +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
5133ebfb7f [GB.DB]
* BUG: Correctly handle null dates.

[GB.DB.FORM]
* NEW: DataControl now uses a DateBox to edit date values.

[GB.FORM]
* NEW: DateBox handles null dates now.
* NEW: MaskBox hides its contents now when it is the default one and it 
  does not have the focus.
* NEW: DateChooser displays a little cursor following the mouse inside the
  calendar and the time panel.

[GB.GTK]
* BUG: Fix popup management.
* BUG: Editable ComboBox  controls now have the right background.
* NEW: Automatically temporarily release the keyboard and the mouse when 
  the debugger stops the program.


git-svn-id: svn://localhost/gambas/trunk@5066 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 23:24:22 +00:00
Tobias Boege
c79d08669e [GB.ADT]
* BUG: Remove unnamed union due to compilation problems



git-svn-id: svn://localhost/gambas/trunk@5063 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 09:35:40 +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
Tobias Boege
c2cc6479e0 [GB.ADT]
* BUG: Remove left-overs from local build - Sorry.



git-svn-id: svn://localhost/gambas/trunk@5056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-18 21:52:12 +00:00
Tobias Boege
f81c83c4f2 [CONFIGURATION]
* NEW: Move gb.adt to main/lib/adt. It doesn't have extra dependencies



git-svn-id: svn://localhost/gambas/trunk@5055 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-18 21:46:25 +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
c3e481cd39 [GB.IMAGE]
* NEW: Image.RotateLeft() and Image.RotateRight() are two new methods for
  rotating a image by 90° step.


git-svn-id: svn://localhost/gambas/trunk@5049 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-16 20:33:21 +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
684e7bbfb5 [GB.SIGNAL]
* NEW: Rewrote the component to use the signal management routines included 
  in the interpreter.


git-svn-id: svn://localhost/gambas/trunk@5039 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-14 09:53:03 +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
6931d13491 [GB.GSL]
* OPT: Optimize Complex arithmetic by avoiding unneeded object creations.


git-svn-id: svn://localhost/gambas/trunk@4940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 20:33:26 +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