Commit graph

1208 commits

Author SHA1 Message Date
Benoît Minisini
48d192b4c7 [COMPILER]
* BUG: Allows OPEN STRING to not specify any string.


git-svn-id: svn://localhost/gambas/trunk@5943 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-04 20:12:24 +00:00
Benoît Minisini
7a9d649219 [INTERPRETER]
* BUG: Fix the CLOSE instruction when dealing with a string stream.
* NEW: Make WRITE behave the same way as READ on a memory stream. I.e. it 
  writes a null-terminated "C" string.


git-svn-id: svn://localhost/gambas/trunk@5942 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-04 18:16:26 +00:00
Benoît Minisini
407e74968b [INTERPRETER]
* BUG: Undo one change of last revision: reading a stream from a memory 
  stream is a special case. It reads a null-terminated C string, and not a
  serialized Gambas string.
* NEW: OPEN STRING is a new instruction that allows to use a string as a 
  stream. Writing to it appends the written data to the end of the string 
  at the moment.
* NEW: Closing a string stream returns the data written to the stream as a
  new string.

[COMPILER]
* NEW: New OPEN STRING instruction.
* NEW: OPEN MEMORY and OPEN PIPE are synonymous of the MEMORY and PIPE
  instructions alone.

[GB.EVAL]
* NEW: Highlight the new OPEN STRING instruction correctly.


git-svn-id: svn://localhost/gambas/trunk@5941 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-04 15:17:01 +00:00
Benoît Minisini
574745f34d [INTERPRETER]
* BUG: VarPtr() correctly works on method arguments.
* BUG: Reading a string from a memory stream now works correctly.


git-svn-id: svn://localhost/gambas/trunk@5940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-04 02:54:00 +00:00
Benoît Minisini
34012dcecd [INTERPRETER]
* BUG: Correctly check that there is a current enumeration if the Enum 
  class methods and properties.
* NEW: Enum.Stopped is a new property that returns if the current 
  enumeration  has been stopped.
* BUG: The [] operator is now correctly overridden in classes inheriting an
  array class or Collection.


git-svn-id: svn://localhost/gambas/trunk@5935 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-03 13:30:02 +00:00
Benoît Minisini
b9930f0701 [GB.GUI]
* NEW: If one GUI component fails to load, try the other one.
* NEW: Abort if no GUI component is found.
* NEW: Define the GB_GUI environment variable with the GUI component 
  actually loaded.

[GB.GUI.OPENGL]
* NEW: Always load the OpenGL support component associated with what lies
  in the GB_GUI environment variable.


git-svn-id: svn://localhost/gambas/trunk@5925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-01 13:18:47 +00:00
Benoît Minisini
b09d1e18e4 [INTERPRETER]
* BUG: Don't detach a process that returns an error otherwise the Kill 
  event is lost.


git-svn-id: svn://localhost/gambas/trunk@5921 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-01 00:29:32 +00:00
Benoît Minisini
27c21ea450 [INTERPRETER]
* NEW: Support for the GB_PATH environment variable, that gives the Gambas
  interpreter path if set.


git-svn-id: svn://localhost/gambas/trunk@5918 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-26 21:06:22 +00:00
Benoît Minisini
2261e6ef6d [DEVELOPMENT ENVIRONMENT]
* BUG: Add the description of 'gb.memcached' and 'gb.logging' components.
* NEW: Update error messages translation.

[INTERPRETER]
* NEW: Allow some error messages to be untranslatable by using a void macro
  named '$(...)' around the string.

[GB.FORM]
* BUG: The status of FileChooser and DirChooser toolbar icons is correctly
  initialized now.
* BUG: Reading the FileChooser.ShowPreview property does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@5912 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-20 21:43:14 +00:00
Benoît Minisini
c994980764 [INTERPRETER]
* 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
2013-10-19 02:53:17 +00:00
Benoît Minisini
9326385a65 [GB.DATA]
* BUG: Fix 'Makefile.am' file.


git-svn-id: svn://localhost/gambas/trunk@5889 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-13 18:29:32 +00:00
Benoît Minisini
ec5cb392f3 [INTERPRETER]
* NEW: Process.Ignore is a now a boolean property.


git-svn-id: svn://localhost/gambas/trunk@5887 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-13 17:55:35 +00:00
Benoît Minisini
255fc160fe [GB.DATA]
* BUG: Fix incorrect Makefile.am file.

[GB.XML.HTML]
* BUG: Fix incorrect Makefile.am file.


git-svn-id: svn://localhost/gambas/trunk@5886 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-13 14:19:09 +00:00
Benoît Minisini
b60772bfad [INTERPRETER]
* BUG: Synchronize the 'gambas.h' header with the internal date management 
  changes of rev. #5871.


git-svn-id: svn://localhost/gambas/trunk@5873 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-12 07:11:39 +00:00
Benoît Minisini
678921ef40 [WIKI CGI SCRIPT]
* BUG: Fix the "search" link.

[INTERPRETER]
* NEW: Date() and Time() now takes the milliseconds as an extra optional 
  argument.
* BUG: Time() with one argument correctly converts it to a date.
* NEW: Date() and Time() now always check the range validity of their 
  arguments.

[GB.DB.FORM]
* NEW: DataControl does not change the background of mandatory field and 
  the font of primary key fields anymore.
* NEW: DateControl.Control is a new property that returns the underlying
  control used for editing the field data.

[GB.GUI.BASE]
* NEW: HSplit and VSplit have a new Border property that define if the 
  splitter separator is visible or not.
* NEW: HSplit and VSplit now take the Spacing property into account.


git-svn-id: svn://localhost/gambas/trunk@5871 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-11 21:06:38 +00:00
Benoît Minisini
1de5f7f803 [DEVELOPMENT ENVIRONMENT]
* BUG: Always use "svn --force" when deleting a file in a project under
  version control.

[INTERPRETER]
* BUG: Fix a structure alignment for ARM architecture.

[GB.FORM]
* NEW: The image preview background task is now run with a lower priority.


git-svn-id: svn://localhost/gambas/trunk@5868 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-08 21:58:37 +00:00
Benoît Minisini
e3d64af7ff [COMPILER]
* BUG: Correctly raise a syntax error if the FOR EACH variable is not
  immediately followed by the IN keyword.


git-svn-id: svn://localhost/gambas/trunk@5867 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-03 13:21:36 +00:00
Benoît Minisini
0f3e0628ca [INTERPRETER]
* NEW: Application.Priority is a new property that allows to define the
  scheduling priority of the current process (or task). See it as an 
  interface to the nice() system call.


git-svn-id: svn://localhost/gambas/trunk@5866 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-01 09:12:51 +00:00
Tobias Boege
a2756c284f [GB.DATA]
* 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
2013-10-01 06:23:08 +00:00
Benoît Minisini
e7f4c0967f [INTERPRETER]
* BUG: Task.Stop now behaves correctly if the task has not been yet 
  actually started.
* NEW: Stopped task temporary files are automatically removed.


git-svn-id: svn://localhost/gambas/trunk@5861 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-29 20:54:47 +00:00
Benoît Minisini
0d183b038d [INTERPRETER]
* 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
2013-09-29 16:56:12 +00:00
Benoît Minisini
0c8cd47114 [INTERPRETER]
* BUG: Fix a structure alignment bug for ARM.


git-svn-id: svn://localhost/gambas/trunk@5857 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-28 21:21:40 +00:00
Benoît Minisini
f6ff035982 [COMPILER]
* 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
2013-09-28 20:14:06 +00:00
Benoît Minisini
0d2256a19d [DEVELOPMENT ENVIRONMEMNT]
* 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
2013-09-08 17:15:55 +00:00
Benoît Minisini
812bec445b [DEVELOPMENT ENVIRONMENT]
* 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
2013-09-07 23:09:01 +00:00
Benoît Minisini
3a3449c068 [INTERPRETER]
* 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
2013-09-03 21:11:55 +00:00
Benoît Minisini
4d71384869 [INTERPRETER]
* 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
2013-09-01 20:40:05 +00:00
Tobias Boege
902c13bcea [GB.DATA]
* 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
2013-09-01 18:53:24 +00:00
Benoît Minisini
f41adce9f1 [GB.CLIPPER]
* 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
2013-09-01 14:48:41 +00:00
Benoît Minisini
a72e92ae47 [INTERPRETER]
* 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
2013-08-30 07:12:36 +00:00
Benoît Minisini
e182fbd2db [INTERPRETER]
* BUG: Continue on fixing "stop watching on end of file" algorithm...


git-svn-id: svn://localhost/gambas/trunk@5818 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-29 20:52:14 +00:00
Benoît Minisini
aa99eaa6bf [INTERPRETER]
* BUG: Fix "stop watching on end of file" algorithm again.


git-svn-id: svn://localhost/gambas/trunk@5817 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-29 20:21:20 +00:00
Benoît Minisini
ef8307793d [INTERPRETER]
* 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
2013-08-29 19:15:14 +00:00
Tobias Boege
11d42882b5 [GB.DATA]
* 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
2013-08-19 22:48:29 +00:00
Benoît Minisini
4830af856b [INTERPRETER]
* 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
2013-08-19 21:45:13 +00:00
Benoît Minisini
6f62f9ae65 [DEVELOPMENT ENVIRONMENT]
* 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
2013-08-18 16:17:30 +00:00
Benoît Minisini
ae5f540c3b [DEVELOPMENT ENVIRONMENT]
* 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
2013-08-18 00:47:21 +00:00
Benoît Minisini
9666673ccc [GB.FORM]
* 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
2013-08-16 22:35:28 +00:00
Benoît Minisini
7a4dae617b [COMPILER]
* 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
2013-08-15 14:36:44 +00:00
Benoît Minisini
f318c2ba39 [COMPILER]
* 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
2013-08-15 14:16:17 +00:00
Benoît Minisini
e05d425979 [DEVELOPMENT ENVIRONMENT]
* 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
2013-08-13 23:41:50 +00:00
Benoît Minisini
d452797475 [DEVELOPMENT ENVIRONMENT]
* 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
2013-08-13 22:28:41 +00:00
Benoît Minisini
5203d61969 [DEVELOPMENT ENVIRONMENT]
* 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
2013-08-13 12:18:32 +00:00
Benoît Minisini
d405727342 [INTERPRETER]
* 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
2013-08-12 20:48:45 +00:00
Benoît Minisini
30c67b1fcd [INTERPRETER]
* 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
2013-08-12 20:01:24 +00:00
Benoît Minisini
4f48f05047 [GB.CLIPPER]
* BUG: Fix component information file.


git-svn-id: svn://localhost/gambas/trunk@5789 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-12 01:53:19 +00:00
Benoît Minisini
c0d038b9f2 [DEVELOPMENT ENVIRONMENT]
* 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
2013-08-12 01:50:46 +00:00
Benoît Minisini
3fe9263a0a [DEVELOPMENT ENVIRONMENT]
* NEW: ImageEditor: Fix and enhance magnets management. Add grid. Other bug
  fixes.

[GB.GEOM]
* BUG: Fix signature of RectF.Union and Rect.Intersection methods.


git-svn-id: svn://localhost/gambas/trunk@5784 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-11 07:10:41 +00:00
Tobias Boege
33cf182cd0 [GB.DATA]
* BUG: Remove inclusion of c_avltree.h which is not yet versioned.



git-svn-id: svn://localhost/gambas/trunk@5782 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-10 08:22:34 +00:00
Benoît Minisini
56c65ddcb4 [DEVELOPMENT ENVIRONMENT]
* 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
2013-08-09 20:42:38 +00:00