* NEW: Remove as much "packed" structure declaration as possible, to
prevent possible bugs on ARM architecture.
git-svn-id: svn://localhost/gambas/trunk@5860 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a structure declaration that prevented the compiler to work
correctly on the ARM architecture.
git-svn-id: svn://localhost/gambas/trunk@5856 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: Support for inequality operators in the operator interface.
* NEW: The Sgn() function can be implemented by the operator interface.
[GB.GMP]
* NEW: BigInt now supports inequality operators.
* NEW: New methods: Odd(), Even()
* NEW: Logical operators as static methods: And, Or, Xor, Not.
* NEW: Bit manipulation as static methods: BSet, BClr, BChg, BTst.
git-svn-id: svn://localhost/gambas/trunk@5828 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Fix a possible false error when using LINE INPUT on non-blocking
streams.
[GB.FORM]
* NEW: LCDLabel.Value is a new property that is a synonymous of the Text
property for numerical values.
git-svn-id: svn://localhost/gambas/trunk@5819 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Continue on fixing "stop watching on end of file" algorithm...
git-svn-id: svn://localhost/gambas/trunk@5818 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not stop watching when reading up to a specified number of bytes.
git-svn-id: svn://localhost/gambas/trunk@5816 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Disable read watch when reading a stream fails for any reason: i/o
error, end-of-file...
git-svn-id: svn://localhost/gambas/trunk@5811 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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: SliderBox is a new control that displays a Slider and a SpinBox,
both being synchronized.
* NEW: The SidePanel transparent handle is now smaller when the SidePanel
is hidden.
git-svn-id: svn://localhost/gambas/trunk@5804 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Implement the "!xxx" syntax for the WITH ... END WITH control
structure.
git-svn-id: svn://localhost/gambas/trunk@5798 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The ".[xxx]" syntax now can be used inside a WITH <object> ...
END WITH control structure. It is a synonymous for "<object>[xxx]".
git-svn-id: svn://localhost/gambas/trunk@5797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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: Process.Ignore() is a new method that tells the interpreter to not
wait for the process end. If the interpreter exits, that process is then
automatically killed.
git-svn-id: svn://localhost/gambas/trunk@5791 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Process management is now reliable against processes killed and
started during process event handlers.
git-svn-id: svn://localhost/gambas/trunk@5790 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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: Add a menu item in the "Debug" menu to define ine one click if an
embedded HTTP server must be used.
* NEW: The 'gb.httpd' component can be checked explicitely.
* BUG: Fix the local variable view when they are displayed in columns.
[WIKI CGI SCRIPT]
* NEW: The indexes are more compact now.
[INTERPRETER]
* NEW: The option '-H' is assumed if the project depends on the 'gb.httpd'
component explicitely.
[GB.FORM]
* BUG: Balloon: Fix the bubble drawing routine.
* NEW: The GB_STOCK_DEBUG environment variable must be used now instead of
the GB_STOCK variable.
[GB.HTTPD]
* BUG: Many fixes in CGI handling if the project is in debugging mode.
* NEW: Replace "thttpd" strings by "gb.httpd".
* NEW: Simplify the default HTML error page.
* NEW: If the GB_HTTPD_DEBUG environment variable is set to "1", then all
HTTP server debugging messages are printed to the standard error.
Otherwise, nothing is printed.
git-svn-id: svn://localhost/gambas/trunk@5769 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: UnBase64() works correctly now. It does not add extra null bytes
anymore.
git-svn-id: svn://localhost/gambas/trunk@5752 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Enumeration objects are immediately freed when the enumeration is
stopped.
git-svn-id: svn://localhost/gambas/trunk@5750 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a file properties view in the CSV import dialog.
[INFORMER]
* BUG: Write boolean constants in information files as "T" and "", not
"True" and "False". It breaks things.
[GB.FORM]
* NEW: The file properties dialog has an automatic preview tab for image
files.
[GB.DB.FORM]
* NEW: The DataView control can edit blob fields now.
git-svn-id: svn://localhost/gambas/trunk@5736 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
* NEW: MATCH is a new operator that automatically load the gb.pcre
component to implement PCRE pattern matching. The syntax is the same as
the LIKE operator.
[COMPILER]
* NEW: Add a new MATCH operator.
[GB.FORM]
* BUG: The directory contents size task does not abort anymore when
accessing an unreadable files or directory. It now ignore them.
* NEW: When errors are raised while browsing the contents of a directory,
the file properties dialog display them is a new tab.
[GB.PCRE]
* NEW: Create an API interface for allowing other components to use PCRE
regular expressions.
git-svn-id: svn://localhost/gambas/trunk@5730 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: A stream redirected through the 'Begin' method checks that stream is
ready for writing only when the 'Send' method is called. Between the
'Begin' and 'Send' calls, the PRINT and WRITE instructions will always
succeed.
git-svn-id: svn://localhost/gambas/trunk@5723 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: MediaPlayer: Display the name of the device, not just its system
path.
[INTERPRETER]
* BUG: In File.Load(), workaround virtual files (like those located in
'/sys') whose official size is not their real size.
git-svn-id: svn://localhost/gambas/trunk@5712 867c0c6c-44f3-4631-809d-bfa615b0a4ec