Commit graph

433 commits

Author SHA1 Message Date
Benoît Minisini
e63e8777a1 [DEVELOPMENT ENVIRONMENT]
* NEW: Image editor: Image brightness and constrast, clipboard management,
  cut, copy & paste have been implemented. Many fixes everywhere.
* NEW: Image editor: Resize dialog has been enhanced.

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

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


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

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


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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@5765 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-07-27 17:23:04 +00:00
Benoît Minisini
a50535d779 [CONFIGURATION]
* NEW: Components can have a new state: "Deprecated".

[DEVELOPMENT ENVIRONMENT]
* NEW: Add a filter to the component tab of the project property dialog.

[WEBSITE MAKER]
* BUG: Translations came back.

[GB.OPTION]
* NEW: This component is now deprecated.

[GB.V4L]
* NEW: This component is now deprecated.


git-svn-id: svn://localhost/gambas/trunk@5761 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-07-23 00:56:01 +00:00
Benoît Minisini
bd3410e80f [INTERPRETER]
* NEW: GB.ReturnSingle() is a new API that allows to return a Single from a 
  method or property implementation routine.

[GB.NET.POP3]
* NEW: Pop3Client has a new Remove() method to delete a message from its 
  index. Pop3Client.Remove(n) is just a synonymous for 
  Pop3Client[n].Delete.

[GB.OPENAL]
* NEW: New component for the OpenAL 3D audio library. Work in progress...

[GB.OPENGL]
* BUG: Fix a possible crash in GL.GenTextures(). I guess that bug will have 
  to be fixed in other equivalent routines.


git-svn-id: svn://localhost/gambas/trunk@5753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-07-21 16:19:26 +00:00
Benoît Minisini
588cc035be [GB.DB]
* BUG: Fix a possible memory corruption in blob management.


git-svn-id: svn://localhost/gambas/trunk@5739 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-07-19 18:12:19 +00:00
Benoît Minisini
2a7ae292b5 [GB.DB]
* BUG: Using a database URL in the Connection constructor works now.


git-svn-id: svn://localhost/gambas/trunk@5735 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-07-19 10:58:46 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
a9fbd40cd8 [INTERPRETER]
* NEW: Implement the ^ operator in the '_operators' interface.

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

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


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

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

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


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

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


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

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

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


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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@4918 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 23:23:24 +00:00
Benoît Minisini
bbe3baa41e [GB.SIGNAL]
* BUG: Remove an apparently useless type definition, and fix compilation on 
  recent Linux kernels.


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

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


git-svn-id: svn://localhost/gambas/trunk@4892 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-03 18:21:54 +00:00
Benoît Minisini
ddff42d95b [GB.OPTION]
* BUG: The component is now compatible with the new way of arguments 
  handling, and does not crash anymore.


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

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


git-svn-id: svn://localhost/gambas/trunk@4886 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-02 22:38:29 +00:00
Benoît Minisini
f9d8a9c990 [GB.COMPRESS]
* BUG: Fix internal structure of Uncompress object.


git-svn-id: svn://localhost/gambas/trunk@4867 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-28 18:06:05 +00:00
Benoît Minisini
7cab7622bf [GB.DRAW]
* BUG: Fix Draw.Picture() when using the transformation matrix and not 
  specifying height or width.


git-svn-id: svn://localhost/gambas/trunk@4866 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-27 18:06:10 +00:00
Benoît Minisini
02d1089079 [GB.EVAL]
* BUG: Highlight.TextAfter returns the code as it should be displayed, even
  if the Rewrite argument of Highlight.Analyze() is FALSE.


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

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

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

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

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


git-svn-id: svn://localhost/gambas/trunk@4820 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-10 14:58:45 +00:00
Benoît Minisini
835dd33dcf [GB.DEBUG]
* NEW: GB_PROFILE_MAX environment variable now can take the maximum size of 
  a profile file in megabytes. The default value is 512 Mb. The minimum
  value is 128 Mb, and the maximum value is 4096 Mb.


git-svn-id: svn://localhost/gambas/trunk@4816 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-09 13:39:47 +00:00
Benoît Minisini
442f8ce70e [CONFIGURATION]
* NEW: Switch version to 3.2.0.

[GB.XML]
* BUG: Fix a 64-bits compilation warning.



git-svn-id: svn://localhost/gambas/trunk@4815 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-09 02:44:17 +00:00
Benoît Minisini
ff93548e41 [DEVELOPMENT ENVIRONMENT]
* BUG: Profile windows correctly display line numbers now.

[GB.FORM]
* NEW: Hidden transparent SidePanel controls now have a large handle.

[GB.QT4.EXT]
* NEW: Editor: Line numbers are not drawn behind a procedure separator.
* NEW: Editor.NoFolding is a new flag to disable procedure folding support.
* NEW: Editor.LineOffset is a new property to define the line number just
  before the first displayed line (zero by default).


git-svn-id: svn://localhost/gambas/trunk@4803 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-02 14:44:00 +00:00
Benoît Minisini
326c380ff6 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle the FAST keyword in function declaration.

[COMPILER]
* NEW: Each function can be declared individually FAST. The keyword must be
  the first one on the line.

[GB.EVAL]
* NEW: Handle the FAST keyword in function declaration.


git-svn-id: svn://localhost/gambas/trunk@4769 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:05:21 +00:00
Benoît Minisini
8056acb60d [GB.DEBUG]
* BUG: gb.debug must not be hidden, stupid!


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

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


git-svn-id: svn://localhost/gambas/trunk@4763 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:23:00 +00:00