* BUG: New menu are translatable by default.
* BUG: Image editor: Pasting does not crash anymore.
git-svn-id: svn://localhost/gambas/trunk@5821 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a popup menu to the image editor save button that allows to
change the image format.
* BUG: Detect structure definition help comments.
[GB.GUI.BASE]
* BUG: Disable automatic shortcuts in popup menus for the moment, it breaks
too many things.
git-svn-id: svn://localhost/gambas/trunk@5820 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
* BUG: VARYING CHARACTER() is taken as a text type now, not a boolean.
git-svn-id: svn://localhost/gambas/trunk@5813 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
* BUG: Rewrite the Container.FindChild() method because the QT4 method
excludes children outside of its geometry, and because that geometry may
be not yet computed.
git-svn-id: svn://localhost/gambas/trunk@5810 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Utility method that defines shortcuts for a popup menu.
[GB.GTK]
* NEW: Automatically define menu item shortcuts when a popup menu is shown.
[GB.QT4]
* NEW: Automatically define menu item shortcuts when a popup menu is shown.
git-svn-id: svn://localhost/gambas/trunk@5808 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Allow more possible shortcuts in menu editor.
* NEW: Menu items can be non-translatable.
git-svn-id: svn://localhost/gambas/trunk@5807 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
* BUG: CSV Import: Take the charset into account when displaying the file
preview.
* BUG: Don't automatically hide the console tab when displaying the
database editor.
* BUG: ImageEditor: many fixes everywhere.
git-svn-id: svn://localhost/gambas/trunk@5803 867c0c6c-44f3-4631-809d-bfa615b0a4ec
BUG: miniServer would give an out-of-bound if content-length is wrong
git-svn-id: svn://localhost/gambas/trunk@5802 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Try to make gb.net.curl compile with old versions of libcurl.
git-svn-id: svn://localhost/gambas/trunk@5801 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: DataCheckBox is a new data control that displays a checkbox for a
boolean database field.
git-svn-id: svn://localhost/gambas/trunk@5800 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Hitting "[" just after a "." now hides the automatic completion.
This is for the new ".[xxx]" syntax.
git-svn-id: svn://localhost/gambas/trunk@5799 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
* BUG: Remove some remaining GDK_KEY_* constant so that it compiles on old
GTK+ libraries.
git-svn-id: svn://localhost/gambas/trunk@5796 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: Effects and painting now acts on the current selected
shape only.
[GB.FORM.MDI]
* BUG: ToolBar: Expander and separators are correctly visible again.
git-svn-id: svn://localhost/gambas/trunk@5787 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a possible infinite loop in TabBar layout management.
[GB.FORM.MDI]
* NEW: Horizontal toolbar layout has been redesigned. Now they grow
vertically if there is not enough place for all toolbar elements.
Vertical toolbars are not done yet.
git-svn-id: svn://localhost/gambas/trunk@5786 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: Other bug fixes. A new button to duplicate the current
selection.
git-svn-id: svn://localhost/gambas/trunk@5785 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Use the deprecated GDK key constants, otherwise the component does
not compile with old GTK+ libraries.
git-svn-id: svn://localhost/gambas/trunk@5783 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: Add support for predefined shapes. Not very useful
actually, as you cannot resize them indepently of the current selection.
git-svn-id: svn://localhost/gambas/trunk@5780 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: ImageEditor: List of last recently used gradients has been
implemented. Many bug fixes everywhere.
* NEW: ImageEditor: The direction of line, rectangle or ellipse tells if it
is added or substracted to the current selection.
* OPT: ImageEditor: The refresh of the balance effect on the current
selection has been optimized.
* NEW: ImageEditor: A dialog to enlarge or shrink the selection with a
given number of pixels. Only works on rectangles and ellipses.
git-svn-id: svn://localhost/gambas/trunk@5777 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: New image editor, not yet finished. Use with care!
[GB.FORM]
* NEW: ImageView now export some of the properties and methods of its inner
ScrollArea.
* NEW: ImageView has now two new methods to convert between image
coordinates and view coordinates.
* NEW: ImageView.Grid is a new property that defines if the grid should be
visible.
* NEW: ImageView.UseMouse is a new property that defines if scrolling the
image by using the mouse inside the view is possible.
[GB.GTK]
* NEW: Key.Shift, Key.Alt, Key.Ctrl and Key.Meta now always returns the
actual state of the corresponding modifier.
* NEW: Key.ShiftKey, Key.AltKey, Key.CtrlKey and Key.MetaKey are four new
constants that are returned by Key.Code when the corresponding key is
pressed or released.
[GB.QT4]
* NEW: Key.Shift, Key.Alt, Key.Ctrl and Key.Meta now always returns the
actual state of the corresponding modifier.
* NEW: Key.ShiftKey, Key.AltKey, Key.CtrlKey and Key.MetaKey are four new
constants that are returned by Key.Code when the corresponding key is
pressed or released.
git-svn-id: svn://localhost/gambas/trunk@5772 867c0c6c-44f3-4631-809d-bfa615b0a4ec