* BUG: Fix a structure declaration for ARM architecture.
[GB.CLIPPER]
* BUG: Fix the signature of some methods.
git-svn-id: svn://localhost/gambas/trunk@5900 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: List: Fix two false positive compiler warnings on some systems.
* BUG: AvlTree: Don't forward-declare a typedef. It bothers some compilers.
* BUG: Also update Key from AvlTree_get().
* BUG: Invalidate the enumerators in AvlTree.Clear()
git-svn-id: svn://localhost/gambas/trunk@5865 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: ImageEditor: Fix a crash that occurs after something having pasted.
[EXAMPLES]
* NEW: Md2Model example has been redesigned. It now displays a lot of
models between six different ones.
[INTERPRETER]
* BUG: Fix a crash when an error is raised while the startup class is not
ready.
[GB.GEOM]
* BUG: Fix the conversion from Point/PointF to Float that internally uses
the Abs() function.
[GB.GTK]
* NEW: Visible trayicons prevent the eventloop from stopping.
[GB.OPENGL.SGE]
* NEW: The component sources are now located inside the gb.opengl
directory.
* NEW: The component interface has been redesigned.
[GB.QT4]
* NEW: Visible trayicons prevent the eventloop from stopping.
[GB.QT4.OPENGL]
* BUG: The OpenGL clear color is now taken into account when clearing the
area before calling the Draw event handler.
git-svn-id: svn://localhost/gambas/trunk@5836 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Complete the french translation.
[INTERPRETER]
* BUG: Class reimplementation of Abs() now can return an object or a
floating-point number.
[GB.COMPLEX]
* BUG: Abs() on a Complex returns a Float.
[GB.GEOM]
* BUG: Abs() on a Point or a PointF returns a Float.
[GB.GSL]
* BUG: Abs() on a Complex returns a Float.
git-svn-id: svn://localhost/gambas/trunk@5835 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix Abs() when that operator is implemented at class level, so that
it returns an object and not necesarrily a floating point value.
[GB.GMP]
* NEW: New component based on the Gnu Multiple Precision Arithmetic
Library. Only big integers (BigInt class) are partially implemented at
the moment.
git-svn-id: svn://localhost/gambas/trunk@5826 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Mark component as stable
[GB.OPENSSL]
* NEW: Mark component as stable
git-svn-id: svn://localhost/gambas/trunk@5825 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Mark the component as stable.
[GB.GUI.BASE]
* BUG: Draw.Picture() and Draw.Image() source arguments now work correctly.
* NEW: Add void constructors to HSplit and VSplit for the documentation.
git-svn-id: svn://localhost/gambas/trunk@5824 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update copyright years.
* NEW: Have a stripped-down version of gb_common_string_temp.h to provide
STRING_compare() without producing compilation problems.
* NEW: AvlTree is a new Collection-like class implementing a balanced
binary search tree. It does _not_ utilise hashing in order to maintain
an order of the literal key strings given by the user (For Each thus
traverses from smallest to greatest key).
* NEW: Carry in a stripped-down version of Bob Jenkins' lookup3 hash
algorithm from the Public Domain. It was a last-minute decision to not use
it in AvlTree to maintain the literal key order.
git-svn-id: svn://localhost/gambas/trunk@5812 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: Bug fixes. Clicking on the center button of a selected
shape now selects the next one whose center is about at the same place.
[GB.CLIPPER]
* BUG: Clipper Offset, Union, Intersection... methods now ensure that they
return closed polygons.
* NEW: Polygon.Orientation is a new property that returns the polygon
orientation.
git-svn-id: svn://localhost/gambas/trunk@5806 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: ImageEditor: Optimize the pen and eraser tools.
* NEW: ImageEditor: The popup menu allows to define the magnet grid of the
current selected shape.
[GB.CLIPPER]
* BUG: Polygon.Clean() does not close the polygon automatically.
* NEW: Polygon.Add() and Polygon.AddPoint() are two new methods to add a
point to a polygon.
* NEW: Polygon.Remove() is a new method to remove points from a polygon.
[GB.FORM]
* NEW: The ImageView draws nothing by itself if its Draw event is catched.
Drawing the image is then entirely up to the Draw event handler.
git-svn-id: svn://localhost/gambas/trunk@5805 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: Pressing SHIFT with the magic wand substracts to the
current selection.
* BUG: ImageEditor: Selection handles are correctly updated in all cases.
[GB.CLIPPER]
* NEW: Implementation of the three other boolean operations through the
Clipper.Intersection(), Clipper.Difference() and Clipper.ExclusiveOr()
methods.
git-svn-id: svn://localhost/gambas/trunk@5795 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: the magic wand automatically merge the current
selection.
[GB.CLIPPER]
* NEW: Polygon is a new class that represents a polygon. It can be
automatically converted to and from PointF[].
* NEW: All methods now use Polygon and Polygon[] instead of PointF[] and
PointF[][].
* NEW: Clipper.Union() is a new method that returns the union of an array
of polygons.
git-svn-id: svn://localhost/gambas/trunk@5794 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: The image size is displayed wen the mouse cursor is
outside of the view. Many bug fixes. The magic wand has been implemented.
JIT compiler is used to speed-up the routine.
[GB.CLIPPER]
* NEW: Clipper.OffsetPolygons has been renamed as Clipper.Offset.
* NEW: Clipper.Simplify and Clipper.Clean methods have been implemented.
[GB.DESKTOP]
* NEW: DesktopFile.Run() method now returns the created process object.
[GB.IMAGE]
* NEW: Color.Distance() is a new method that returns the RGBA distance
between two colours as a floating point value between 0.0 and 1.0.
git-svn-id: svn://localhost/gambas/trunk@5792 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: Invert the current selected shape reverses its points
order. Selection offset has been implemented on top of the new
gb.clipper component. Many bug fixes.
[GB.CLIPPER]
* NEW: This a new component based on the "Clipper" library. At the moment,
it only allows to offset a group of polygons from a specified pixel
delta.
git-svn-id: svn://localhost/gambas/trunk@5788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: Tons of bug fixes. The current selection and the
current pasted image can be moved, rotated and shrinked with the mouse.
* NEW: Image rotation tool.
[GB.DRAW]
* BUG: The PaintMatrix class is now really autonomous. It can be used
without a current drawing device.
* NEW: PaintMatrix.Copy() is a new method that copies a matrix.
* NEW: PaintMatrix.Map() is a new method that applies a matrix to a point
and returns the result.
[GB.FORM]
* NEW: ImageView can take the focus.
* BUG: DirChooser should not crash anymore when it cannot access a
bookmark.
[GB.GTK]
* NEW: Implementation of the new PaintMatrix design.
[GB.IMAGE]
* BUG: Image.Fuzzy() argument cannot be greater than 254.
[GB.QT4]
* NEW: Implementation of the new PaintMatrix design.
git-svn-id: svn://localhost/gambas/trunk@5779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix possible bugs when updating an invalid Current.
* BUG: Really erase old elements instead of just marking them as Null to
prevent (potential) information leaks.
* OPT: Current and the enumerators (internally) carry list global indices
(LGI) which can be used as anchor points together with List.Count to speed
up traversals (always taking the shortest way through the list).
* OPT: Remove workaround code related to an enumerator bug fixed in #5749.
* NEW: Expose List.Current as a virtual object representing the current list
element which has Append() and Prepend() methods to manipulate the list
not only around its head. This breaks backwards compatibility.
* NEW: List.Value is what List.Current has meant formerly.
* NEW: Add List.Current.Index and List.Index which are an absolute index of
the current element into the list. These are guaranteed to be in bounds of
[-List.Count; List.Count - 1]. Note that each non-negative index has an
associated negative equivalent and vice versa. They work like the indices
given to List._get().
* NEW: Add a List.AutoNormalize property which instructs the list to
automatically make indices (like resulting from a calculation) fit into
the List bounds preserving the sign of the given index. This effectively
prevents any "Out of bounds" errors.
* NEW: Add List.MoveTo() to point Current to an index.
* NEW: List.Current.Is{First,Last,Valid} can be used to determine if Current
is the first or last element of the list or if it is valid, respectively.
git-svn-id: svn://localhost/gambas/trunk@5778 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Image editor: Support for gamma, hue, saturation and lightness
balance. Read-only mode has been implemented. Many bug fixes everywhere.
[GB.FORM]
* NEW: Remove Brightness and Contrast properties from the ImageView
control.
[GB.IMAGE]
* NEW: Image.BrightnessContrast has been removed.
* NEW: New balance methods: Image.Brightness, Image.Contrast, Image.Gamma,
Image.Hue, Image.Saturation, Image.Lightness.
* NEW: Image.BeginBalance() and Image.EndBalance() are two new methods that
allow to group calls to the previous methods, so that all the balances
are done in one shot.
git-svn-id: svn://localhost/gambas/trunk@5776 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* 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
* 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
* 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
* BUG: Using a database URL in the Connection constructor works now.
git-svn-id: svn://localhost/gambas/trunk@5735 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* NEW: Some little redesign of the profiling GUI.
[EXAMPLES]
* OPT: Little optimization in GameOfLife example.
[INTERPRETER]
* NEW: System.Profile is a new property to disable or enable the
profiling at run time. Profiling can only be enabled if debugging
information are available.
[GB.DEBUG]
* NEW: Abort the program if the profile file is bigger than 512M.
git-svn-id: svn://localhost/gambas/trunk@4753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Profiling: The total function duration is now the same as the sum of
each line of code duration.
[WEBSITE MAKER]
* NEW: Add a "Release Notes" link in the menu panel.
[GB.DEBUG]
* NEW: Optimize the profile file format a bit.
git-svn-id: svn://localhost/gambas/trunk@4751 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Handle new format of profile files.
[INTERPRETER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.
[WEBSITE MAKER]
* NEW: An explicit link button that displays the 'news' page.
[COMPILER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.
[GB.DEBUG]
* NEW: New format for profile, more compact and faster to read.
git-svn-id: svn://localhost/gambas/trunk@4748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Allow to profile time spent waiting for events.
[GB.DEBUG]
* BUG: New profile file format that allows to profile lines of code that
are function calls.
[GB.GTK]
* NEW: Profile time spent waiting for events.
[GB.QT4]
* NEW: Profile time spent waiting for events.
git-svn-id: svn://localhost/gambas/trunk@4747 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Display callees and callers in the profile window.
* NEW: Display profiling of each line of code.
[INTERPRETER]
* NEW: Activate profiling at the line of code level. Beware, things become
slower!
[GB.DEBUG]
* NEW: Fix profiling at the line of code level.
[GB.FORM]
* NEW: GridView: Add a Scroll() method.
[GB.QT4.EXT]
* NEW: Editor: Add a ScrollBar property.
* NEW: Editor: Add ScrollX and ScrollY properties.
* NEW: Editor: Add a Scroll method.
git-svn-id: svn://localhost/gambas/trunk@4745 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add some debugging options directly in the 'Debug' menu.
* NEW: A new option to activate the profiling of the debugged project.
* NEW: Profiling windows. Not finished yet.
[INTERPRETER]
* BUG: Fix a crash that could occur if a error is raised inside an event
handler.
* NEW: Support for profiling.
* BUG: Fix a crash that could occur if a error is raised inside a signal
callback.
[GB.DEBUG]
* NEW: Support for profiling.
[GB.FORM]
* NEW: GridView now raises a Sort event when the sort properties are
changed.
* BUG: Fix a crash when changing the IconPanel Count property.
[GB.GTK]
* BUG: Fix the Font.Copy() method.
git-svn-id: svn://localhost/gambas/trunk@4740 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: PhotoTouch and MediaPlayer examples now use the gb.gui component.
[GB.GTK]
* NEW: Make GTK+ controls borderless, so that they are "transparent" like
gb.qt4 controls. This is work in progress! The PhotoTouch example now
works correctly with gb.gtk, the brightness dialog excepted.
* BUG: ScrollBars are correctly initalized now.
* BUG: Container.Find() does not take hidden controls into account anymore.
[GB.IMAGE]
* BUG: Image.Opacity() can handle images with premultiplied alpha correctly
now.
[GB.FORM]
* BUG: IconView: Item text is ellipsized without printing GTK+ warnings
anymore.
git-svn-id: svn://localhost/gambas/trunk@4729 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Disable debugging messages from signal management routines.
[GB.SIGNAL]
* NEW: Call previous signal handlers automatically when a specific signal
is catched.
git-svn-id: svn://localhost/gambas/trunk@4722 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Rename all API related to components, and fix components using them.
* NEW: New signal API that allows to catch signals from the event loop.
[GB.GTK]
* BUG: Use g_object_unref() instead of rsvg_handle_free() now.
git-svn-id: svn://localhost/gambas/trunk@4721 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: That new switcher component chooses between gb.gtk.opengl and
gb.qt4.opengl according to the current desktop in use.
git-svn-id: svn://localhost/gambas/trunk@4719 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Image.Opacity() is a new method that changes the opacity of an
image.
git-svn-id: svn://localhost/gambas/trunk@4658 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Connection.Handle is a new property that returns the
database-specific internal handle.
[GB.FORM]
* BUG: GridView: Fix an unexpected error when scrolling with the arrow
keys.
* BUG: GridView: Fix the selection painting.
git-svn-id: svn://localhost/gambas/trunk@4592 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix analyze of non-terminated strings and quoted symbols that could
crash.
git-svn-id: svn://localhost/gambas/trunk@4584 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Result.Update() now does not emit an incorrect request when the
result has not been modified. It just does nothing.
[GB.DB.FORM]
* BUG: DataBrowser: Clicking on the delete button does not delete two
records anymore.
* BUG: DataBrowser: Saving a new record now correctly takes into account
the currently edited field.
[GB.GTK]
* BUG: Remove some debugging messages.
git-svn-id: svn://localhost/gambas/trunk@4567 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The debug window has a button to switch between "normal view" and
"symbol view". In "normal view", array and collection contents are
displayed. If the object is not an array or a collection, then all
non-hidden symbols are displayed. In "symbol view", all objects symbols
are displayed, whatever the object type is.
[INTERPRETER]
* NEW: The debugger now can display collection-like objects. An object can
be displayed like a collection if it has a Count property, is enumerable,
has a _get special method taking a string, and has a Key property that
returns the key of the last enumerated element.
[GB.DEBUG]
* NEW: The debugger now can display collection-like objects. An object can
be displayed like a collection if it has a Count property, is enumerable,
has a _get special method taking a string, and has a Key property that
returns the key of the last enumerated element.
[GB.FORM]
* BUG: GridView.Clear resets the height of all rows to the default value.
git-svn-id: svn://localhost/gambas/trunk@4558 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Try to fix the spurious error that is raised sometimes when clicking
on a control in the form editor.
[GB.FORM]
* NEW: GridView.Columns.Width property has been implemented.
git-svn-id: svn://localhost/gambas/trunk@4519 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Take property synonymous into account.
* BUG: Pasting text as comments correctly converts tabulations into spaces.
[INTERPRETER]
* NEW: GB.RaiseBegin() and GB.RaiseEnd() are two new intepreter APIs that
allow to define a callback that will be called if an exception is raised
during a call to GB.Raise().
* BUG: CATCH and FINALLY correctly restore the stack pointer. Without that,
it is possible to use more stack than possible and to crash the
interpreter.
[COMPILER]
* NEW: A property now can has up to four different names. The syntax is:
"Property Name [ , Synonymous1, ..., Synonymous3 ] As Datatype".
[GB.DB]
* BUG: Table.Type property now correctly handle null table types.
[GB.DB.FORM]
* NEW: DataBrowser.Grid is a new property to define the grid visibility.
* BUG: The DataBrowser and DataView controls have been fixed. There is only
one problem to fix that depends on a gb.gtk bug.
[GB.DRAW]
* BUG: Setting Draw.Font to NULL does not crash anymore, and raise an error
instead.
[GB.FORM]
* NEW: The new GridView is finished and replaces the old one now.
* NEW: GridView.ShowCursor is a new property that displays a light cursor
around the current cell when set.
[GB.GTK]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: GTK+ GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.
[GB.QT4]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: Qt4 GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.
* BUG: If the DrawingArea Draw event handler raises an error, then the
interpreter should not crash anymore.
[GB.QT4.EXT]
* BUG: Fix an uninitialized field in Editor internal GLine class.
git-svn-id: svn://localhost/gambas/trunk@4503 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Constructors that receive too many arguments now correctly raise an
error.
[GB.DRAW]
* BUG: Accessing a temporarily closed drawing device now raises an error
instead of crashing.
git-svn-id: svn://localhost/gambas/trunk@4496 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the form editor grid horizontal position.
[INTERPRETER]
* NEW: IsNan() is a new function that returns if a floating point value is
not a number.
* NEW: IsInf() is a new function that returns +1 if a floating point value
is +Inf, -1 if it is -Inf, and 0 if it is a normal number.
* NEW: Swap$() is a new function that swaps a string.
* NEW: The MkBool$(), MkShort$(), MkInt$()... functions come back!
[COMPILER]
* NEW: +Inf and -Inf are two new keywords for representing the
corresponding special floating values.
git-svn-id: svn://localhost/gambas/trunk@4435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Image.Colorize() now takes the color brightness into account.
git-svn-id: svn://localhost/gambas/trunk@4416 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Terminal emulation now does not automatically convert NL to CR+NL.
* BUG: Fix the declaration of custom array classes.
[GB.GTK]
* BUG: Stopping a file descriptor watch now correctly check if the event
loop must be exited.
git-svn-id: svn://localhost/gambas/trunk@4398 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Table chooser works correctly again.
* NEW: The port can be defined now in the connection dialog.
[GB.DB]
* NEW: Support for port in a connection defined in the IDE.
[EXAMPLES]
* NEW: Port can be defined in the Database example.
git-svn-id: svn://localhost/gambas/trunk@4396 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use the "get version from file" option everywhere.
[DEVELOPMENT ENVIRONMENT]
* BUG: When the "get version from file" option is checked, get the version
as soon as the program is compiled.
[EXAMPLES]
* NEW: Rewrite the OnScreenDisplay example with the Paint class.
git-svn-id: svn://localhost/gambas/trunk@4350 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Connection.Timeout is a new property that defines the connection
timeout in seconds. The value is 20 seconds by default.
git-svn-id: svn://localhost/gambas/trunk@4309 867c0c6c-44f3-4631-809d-bfa615b0a4ec