Commit graph

485 commits

Author SHA1 Message Date
Tobias Boege
b417f1861e [GB.DATA]
* OPT: Great overhaul of List algorithms. Beware: Still buggy.
* OPT: Make list chunks carry multiple Variants to improve cache locality.
* OPT: Don't traverse List forwards/backwards when the absolute value of
  index is past the half of Count.
* NEW: Introduce List.Backwards - a virtual object to enumerate backwards
* NEW: Don't use List.Current as enumeration pointer.
* NEW: Begin enumeration at the first/last node.
* NEW: Traverse backwards when given negative index to _get.
* NEW: Make Current invalid by default.
* NEW: Assign first/last element when MoveNext()/MovePrev() is issued on an
  invalid Current.
* NEW: Use List.Current as pointer for the Find*() methods, too.
* NEW: Assign first/last element when FindNext()/FindPrev() is issued on an
  invalid Current.
* NEW: Don't return an index from Find*() methods because it is not the way
  linked list are dealt with.
* NEW: Make insertion and removal of elements safe in enumerations.
* NEW: When Current (or enumerator) is removed, the pointer remains relative
  to the beginning of the List but it never wraps around the end.
* BUG: Correctly *cycle* with {Move,Find}{Next,Prev}()



git-svn-id: svn://localhost/gambas/trunk@5302 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-06 21:03:07 +00:00
Benoît Minisini
588e0f3942 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix scrolling of code editor procedure list.
* BUG: Automatic local variable declaration now works correctly when a 
  method named "Get" is called inside the analyzed expression.

[COMPILER]
* NEW: "[]" now is compiled to return a array with no elements.

[INTERPRETER]
* BUG: Array with no elements can be casted to any other array datatype.

[GB.GUI.BASE]
* BUG: Fix visibility of expanded TreeView items.

[GB.QT4.EXT]
* NEW: When the Editor loses the focus, it does not scroll to the cursor 
  position automatically anymore.


git-svn-id: svn://localhost/gambas/trunk@5266 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-30 23:44:24 +00:00
Benoît Minisini
16679fdd5d [DEVELOPMENT ENVIRONMENT]
* BUG: Events of class written in Gambas are correctly detected now.
* BUG: Automatic local variable declaration now correctly analyze 
  expressions like "A.B" in all cases.
* NEW: Use a SidePanel to display the stack backtrace.

[GB.DB]
* BUG: DB.Quote(..., True) now does a table name quoting in all cases.

[GB.DB.FORM]
* BUG: The database controls now can handle table names that are reserved
  SQL keywords.

[GB.FORM]
* NEW: Start implementing TreeView entirely in Gambas.
* BUG: Removing GridView rows correctly resets the row heights.
* NEW: GridView now raises a Draw event that allows to paint a cell with 
  any drawing methods.


git-svn-id: svn://localhost/gambas/trunk@5250 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-23 11:21:43 +00:00
Benoît Minisini
fb33a73b86 [INTERPRETER]
* NEW: Accept event handlers with a variable number of arguments.
* BUG: Remove a debugging message.

[GB.IMAGE.EFFECT]
* BUG: Image.Histogram() now correctly handle ABGR images.
* BUG: Remove a debugging message.


git-svn-id: svn://localhost/gambas/trunk@5248 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-22 14:09:05 +00:00
Benoît Minisini
4ecc3420e6 [GB.IMAGE]
* BUG: Fix Image.RotateRight() algorithm.


git-svn-id: svn://localhost/gambas/trunk@5235 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-13 09:46:35 +00:00
Benoît Minisini
06977c713d [GB.IMAGE]
* BUG: Image.RotateRight() now really rotates to the right.


git-svn-id: svn://localhost/gambas/trunk@5233 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-11 20:39:06 +00:00
Benoît Minisini
619f6c0e3c [GB.DATA]
* BUG: Add 'list.h' to the source file list.


git-svn-id: svn://localhost/gambas/trunk@5195 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-23 18:32:39 +00:00
Benoît Minisini
54150a91e0 [DEVELOPMENT ENVIRONMENT]
* NEW: Some little redesign of the welcome dialog.
* NEW: Remove the "Alternate" theme color.

[COMPILER]
* NEW: New WebPage syntaxes: <<Include>>, <</Include>>, <%/%>, <<--->>.

[GB.EVAL]
* NEW: Highlight.Alternate has been deprecated.

[GB.EVAL.HIGHLIGHT]
* NEW: Support for the new WebPage syntaxes.

[GB.QT4.EXT]
* NEW: Editor: The alternate background is automatically computed.
* NEW: Editor: Brace highlighting now works on alternate background.
* NEW: Highlight.Alternate has been deprecated.


git-svn-id: svn://localhost/gambas/trunk@5177 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-20 02:29:37 +00:00
Benoît Minisini
0f985417cf [DEVELOPMENT ENVIRONMENT]
* NEW: Use Terminus as default fixed font if it is installed on the system.
* BUG: Don't load a component description if that component has the same 
  name as the current project. This is a temporary incorrect fix!

[INTERPRETER]
* BUG: Fix Classes enumeration.

[GB.DESKTOP]
* BUG: Fix X11 client message sending routine on 64 bits OS.
* BUG: Fix all DesktopWindow properties that read or change the state of 
  the window.

[GB.GTK]
* NEW: Fonts.Exist() is a new method that returns if a specific font family 
  exists.

[GB.QT4]
* NEW: Fonts.Exist() is a new method that returns if a specific font family 
  exists.


git-svn-id: svn://localhost/gambas/trunk@5171 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-17 11:13:32 +00:00
Tobias Boege
4f57ded502 [CONFIGURATION]
* NEW: Rename gb.adt to gb.data
* NEW: Mark gb.data as "Unfinished"

[GB.DATA]
* OPT: Block all changes from my working copy until they are mature. The
  interface is considered to be stable (although some details in behaviour
  will change); this justifies the "unfinished" state.



git-svn-id: svn://localhost/gambas/trunk@5147 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-09 20:20:47 +00:00
Benoît Minisini
3ba6513b6d [INTERPRETER]
* BUG: Fix the enumeration API. GB.ListEnum() has been replaced by 
  GB.BeginEnum() and GB.EndEnum(), that save the state of the internal
  current enumeration.

[GB.MIME]
* BUG: Raise an error when the MimeMessage constructor fails while parsing
  a message.

[GB.NET.POP3]
* BUG: _Pop3Client_Message must not inherit MimeMessage.
* NEW: _Pop3Client_Message has a new Message property that returns the 
  decoded MimeMessage.
* NEW: _Pop3Client_Message has a new Deleted property that returns if the
  message has been deleted.
* NEW: _Pop3Client_Message has a new Id property that returns the 
  message id, which is its index plus one.
* NEW: _Pop3Client_Message has a new Index property that returns the 
  message index, which is its id minus one.
* BUG: Hides protocol dependent routines.
* NEW: The error returned by the Pop3 client is directly used for the error 
  message.
* OPT: Remove duplicated code in TCPClient and SSLCLient. Centralize it in 
  the PopClient parent class.
* BUG: Fix the single line response reading of SSLClient.
* BUG: Fix the multiple line response reading of SSLClient and TCPClient.
* BUG: Do not display password on the standard error in debugging mode, but 
  eight "*" characters instead.
* NEW: Many methods do not return a boolean status, but raise an error 
  instead.
* BUG: Methods that return their result as a boolean status now return TRUE
  if they fail, not if they succeed (this is the Gambas convention).
* BUG: Fix the Pop3CLient.List() method.
* NEW: Rename the Pop3Client UniqueId() method as ListUniqueId().
* BUG: Fix the Pop3Client.ListUniqueId() method.


git-svn-id: svn://localhost/gambas/trunk@5134 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-06 16:20:54 +00:00
Benoît Minisini
28c9d6d59b [COMPILER]
* NEW: Make one warning for each symbol kind that is overridden.

[GB.DB.FORM]
* BUG: Fix warnings.

[GB.DESKTOP]
* BUG: Fix some warnings.

[GB.EVAL.HIGHLIGHT]
* BUG: Correctly rewrite the following keywords with no spurious space 
  after: TRUE, FALSE, NULL, +INF, -INF.

[GB.FORM]
* BUG: Fix warnings.

[GB.FORM.MDI]
* BUG: Fix warnings.

[GB.WEB]
* BUG: Fix warnings.


git-svn-id: svn://localhost/gambas/trunk@5125 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-04 23:11:11 +00:00
Benoît Minisini
0026fb1489 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for compiler warnings.
* BUG: Fix all detected warnings.

[COMPILER]
* NEW: A new compiler option '-w' to let it emit warnings.
* NEW: Emit warnings for unused variables, arguments, functions and for 
  local symbols that override global symbols. Public symbols are of course 
  not taken into account.
* NEW: If an argument is surrounded by braces, no warning will be emitted
  if the argument is not used.

[GB.EVAL]
* NEW: OPTIONAL keyword is always followed by a space now when rewriting 
  Gambas code.


git-svn-id: svn://localhost/gambas/trunk@5122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-04 07:29:39 +00:00
Tobias Boege
a7605476f3 [GB.ADT]
* NEW: Rewrite List class
* BUG: Fix memory leaks from breaking list enumeration
* BUG: Replace element destruction postponing in Deque by new API calls



git-svn-id: svn://localhost/gambas/trunk@5100 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-30 01:51:01 +00:00
Benoît Minisini
11c1bfe4b9 [GB.TASK]
* NEW: The component has been removed.


git-svn-id: svn://localhost/gambas/trunk@5080 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-26 16:26:13 +00:00
Benoît Minisini
796f6b023d [INTERPRETER]
* NEW: GB.Serialize() is a new API that serializes a Gambas value to a 
  file.
* NEW: GB.UnSerialize() is a new API that serializes a Gambas value from
  a file.

[GB.FORM]
* BUG: Stock.Icons works correctly in all cases now.

[GB.TASK]
* NEW: Task is not a stream anymore.
* NEW: The Task Read event now takes an argument, which is the data printed
  on the task standard output. Normally, the data will come line by line.
* NEW: The Task Main method now can return any serializable value to its 
  parent.
* NEW: Task.Value is a new property that return the value returned by the
  background task once it has terminated.


git-svn-id: svn://localhost/gambas/trunk@5079 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-26 01:54:57 +00:00
Benoît Minisini
091b94b1ed [INTERPRETER]
* NEW: Allow components to access the interpreter API through a pointer and 
  not a full structure. It is a little bit slower (one more indirection),
  but it uses less memory: one pointer instead of about 180.

[GB.GTK]
* NEW: Use the indirect API access.

[GB.QT4]
* NEW: Use the indirect API access.

[GB.TASK]
* NEW: Use the indirect API access.
* NEW: Task now is now a stream that can read the standard output of the 
  background task.
* NEW: Task now raises the Read event when the background task has printed
  something on its standard output.
* NEW: Task now raises the Error event when the background task has printed
  something on its standard error output. The event handler receives the
  data in its first argument.

[GB.XML.RPC]
* BUG: Some english fixes in some error messages.


git-svn-id: svn://localhost/gambas/trunk@5077 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-25 15:13:39 +00:00
Benoît Minisini
b8f6e09b8b [INTERPRETER]
* NEW: Add support for double-linked lists in the interpreter API.
* NEW: GB.Wait() is a new API that waits for a specific number of 
  milliseconds, exactly like the WAIT instruction (i.e. the event loop is
  run).
* NEW: GB.HasForked() is a new API that warns the interpreter that fork()
  has been called (he has to do some stuff).
* NEW: Remove the GB_POST_FUNC datatype from the API.

[GB.DBUS]
* BUG: Fix some compilation warnings.

[GB.TASK]
* NEW: gb.task is a new component that allows to run background tasks by
  "simply" forking the interpreter. Communication between the task and the
  main process has not been implemented yet.


git-svn-id: svn://localhost/gambas/trunk@5076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-24 22:29:53 +00:00
Benoît Minisini
5133ebfb7f [GB.DB]
* BUG: Correctly handle null dates.

[GB.DB.FORM]
* NEW: DataControl now uses a DateBox to edit date values.

[GB.FORM]
* NEW: DateBox handles null dates now.
* NEW: MaskBox hides its contents now when it is the default one and it 
  does not have the focus.
* NEW: DateChooser displays a little cursor following the mouse inside the
  calendar and the time panel.

[GB.GTK]
* BUG: Fix popup management.
* BUG: Editable ComboBox  controls now have the right background.
* NEW: Automatically temporarily release the keyboard and the mouse when 
  the debugger stops the program.


git-svn-id: svn://localhost/gambas/trunk@5066 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 23:24:22 +00:00
Tobias Boege
c79d08669e [GB.ADT]
* BUG: Remove unnamed union due to compilation problems



git-svn-id: svn://localhost/gambas/trunk@5063 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 09:35:40 +00:00
Benoît Minisini
52b3040e07 [DEVELOPMENT ENVIRONMENT]
* NEW: Try to avoir Application.Busy flickering in some dialogs.

[EXAMPLES]
* NEW: New Tablet event inspired by a project made by Ricardo Díaz Martín.

[GB.DRAW]
* NEW: Paint.DrawImage() takes a new optional argument that defines the 
  opacity of the drawing, between 0 and 1.

[GB.FORM]
* NEW: ScrollArea.Tablet is a new property that allows it to catch tablet 
  events.

[GB.GTK]
* BUG: Support for tablet events.
* BUG: Make mouse events in gb.gtk and gb.qt3 behave the same way.
* NEW: Mouse.State is a new property that return the state of all mouse 
  buttons as specified by the current mouse event.
* NEW: Mouse.Button now only returns the index of the button that triggered 
  the mouse event.
* BUG: Fix a typo in the name of the Pointer.YTilt property.
* BUG: DrawingArea.Tablet now works correctly when the DrawingArea is not
  cached.

[GB.QT4]
* BUG: Mouse events from tablet now get accurate button information.
* BUG: Make mouse events in gb.gtk and gb.qt3 behave the same way.
* NEW: Mouse.State is a new property that return the state of all mouse 
  buttons as specified by the current mouse event.
* NEW: Mouse.Button now only returns the index of the button that triggered 
  the mouse event.
* BUG: Fix a typo in the name of the Pointer.YTilt property.


git-svn-id: svn://localhost/gambas/trunk@5057 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-19 13:01:57 +00:00
Tobias Boege
c2cc6479e0 [GB.ADT]
* BUG: Remove left-overs from local build - Sorry.



git-svn-id: svn://localhost/gambas/trunk@5056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-18 21:52:12 +00:00
Tobias Boege
f81c83c4f2 [CONFIGURATION]
* NEW: Move gb.adt to main/lib/adt. It doesn't have extra dependencies



git-svn-id: svn://localhost/gambas/trunk@5055 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-18 21:46:25 +00:00
Benoît Minisini
35368a3648 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix profiling of Eval() calls.

[INTERPRETER]
* NEW: GB.ReturnBorrow() is a new API to temporarily borrow the return 
  value.
* NEW: GB.ReleaseBorrow() is a new API to release the return value borrowed
  by the previous function, without releasing it.

[GB.DEBUG]
* BUG: Fix profiling of Eval() calls.

[GB.V4L]
* BUG: Fix a compilation warning.


git-svn-id: svn://localhost/gambas/trunk@5053 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-18 13:06:58 +00:00
Benoît Minisini
c3e481cd39 [GB.IMAGE]
* NEW: Image.RotateLeft() and Image.RotateRight() are two new methods for
  rotating a image by 90° step.


git-svn-id: svn://localhost/gambas/trunk@5049 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-16 20:33:21 +00:00
Benoît Minisini
2b0c757410 [GB.COMPLEX]
* BUG: Correctly implement arithmetic operators.


git-svn-id: svn://localhost/gambas/trunk@5041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-14 14:11:59 +00:00
Benoît Minisini
684e7bbfb5 [GB.SIGNAL]
* NEW: Rewrote the component to use the signal management routines included 
  in the interpreter.


git-svn-id: svn://localhost/gambas/trunk@5039 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-14 09:53:03 +00:00
Benoît Minisini
daf3a53a4b [INTERPRETER]
* BUG: Fix Error.Propagate().

[GB.EVAL]
* NEW: Highlight TODO/FIXME/NOTE commentaries like help commentaries.


git-svn-id: svn://localhost/gambas/trunk@4997 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-29 15:50:27 +00:00
Benoît Minisini
97718051b1 [DEVELOPMENT ENVIRONMENT]
* OPT: New optimizations in profile file size.
* NEW: PageUp and PageDown keys now work as expected in the project filter 
  box.

[INTERPRETER]
* NEW: Support for new profile file format.

[GB.DEBUG]
* OPT: New profile file format.

[GB.LIBXML]
* NEW: Make this component exclude gb.xml.

[GB.XML]
* NEW: Make this component exclude gb.libxml.


git-svn-id: svn://localhost/gambas/trunk@4961 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-17 16:24:48 +00:00
Benoît Minisini
1d0ebd5999 [DEVELOPMENT ENVIRONMENT]
* NEW: The project tree filter box now tries to keep the focus.
* NEW: Hitting ENTER in the project filter box opens the current selected 
  file.
* NEW: Using arrows keys in the project filter box now moves the project
  tree cursor.
* NEW: CTRL+L now sets the focus back to the project filter box.
* NEW: Hitting ESC in the project filter box now resets the filter.
* NEW: Add support for gb.gsl component in the project creation dialog.

[INTERPRETER]
* NEW: Support for floating-point constants.
* BUG: The equality operators of the _operator interface now can return -1
  when a datatype is not supported.

[GB.COMPLEX]
* NEW: Remove methods that are implemented by the _operator interface.

[GB.QT4]
* OPT: Load clipboard format list only if the clipboard has changed.

[GB.GSL]
* NEW: Matrix can be compared with real or complex numbers. The number is
  then multiplied by the identity matrix before doing the comparison.


git-svn-id: svn://localhost/gambas/trunk@4958 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-16 16:30:55 +00:00
Benoît Minisini
df89e09b2e [INTERPRETER]
* NEW: '_operators' interface has been renamed as '_operator'.
* NEW: Arithmetic operators now can be applied on two objects with
  different classes. One at least must implement the '_operator' interface.
* NEW: Each class that implements the '_operator' interface has now an 
  automatic priority that follows the load order. When a binary operator 
  has two objects that implement two different '_operator' interface, the
  one having the highest priority is used.
* NEW: Implementing all methods in the '_operators' interface is not 
  mandatory anymore. If one method is not implemented, then it is replaced
  by a function that raises a 'Type mismatch' error.

[GB.GSL]
* NEW: Matrix arithmetic has been implemented.
* NEW: Matrix.Determinant() method.
* NEW: Matrix.Invert() method.
* NEW: Matrix.Transpose() method.
* NEW: Matrix _call special method multiplies a matrix by a vector.
* NEW: Vector <-> Array conversion.


git-svn-id: svn://localhost/gambas/trunk@4946 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-14 02:49:57 +00:00
Benoît Minisini
89d42c3d40 [INTERPRETER]
* NEW: Add a new API to create an object without calling the constructors.

[GB.CRYPT]
* BUG: Fix bad casting of strcmp() return value to boolean. The same 
  security flaw has been found in MySQL recently. See 
  http://seclists.org/oss-sec/2012/q2/493

[GB.GTK]
* BUG: Fix bad casting of strcmp() return value to boolean in the Font 
  management.

[GB.GSL]
* NEW: Matrix class built the same way as the Vector class, i.e. with the 
  ability to switch transparently between Float or Complex elements.


git-svn-id: svn://localhost/gambas/trunk@4945 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-12 23:34:14 +00:00
Benoît Minisini
6931d13491 [GB.GSL]
* OPT: Optimize Complex arithmetic by avoiding unneeded object creations.


git-svn-id: svn://localhost/gambas/trunk@4940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 20:33:26 +00:00
Benoît Minisini
a9fbd40cd8 [INTERPRETER]
* NEW: Implement the ^ operator in the '_operators' interface.

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

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


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

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

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


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

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


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

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

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


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

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

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

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


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


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

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


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


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

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


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


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


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


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

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

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

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

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


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


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

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



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

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

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


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

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

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


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


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

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


git-svn-id: svn://localhost/gambas/trunk@4763 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:23:00 +00:00
Benoît Minisini
d356f49366 [DEVELOPMENT ENVIRONMENT]
* 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
2012-05-21 22:13:58 +00:00
Benoît Minisini
9fa35120a4 [DEVELOPMENT ENVIRONMENT]
* 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
2012-05-21 11:35:13 +00:00
Benoît Minisini
70afe05d8d [DEVELOPMENT ENVIRONMENT]
* 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
2012-05-21 01:09:35 +00:00
Benoît Minisini
b5c6820986 [INTERPRETER]
* 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
2012-05-20 17:58:34 +00:00
Benoît Minisini
f93affd8e9 [DEVELOPMENT ENVIRONMENT]
* 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
2012-05-20 02:21:43 +00:00
Benoît Minisini
07387ff660 [DEVELOPMENT ENVIRONMENT]
* 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
2012-05-19 02:55:05 +00:00
Benoît Minisini
c095cd3f98 [EXAMPLES]
* 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
2012-05-15 01:22:45 +00:00
Benoît Minisini
4afe7caf6b [INTERPRETER]
* 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
2012-05-08 17:15:54 +00:00
Benoît Minisini
30f9a40f2b [INTERPRETER]
* 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
2012-05-08 15:32:33 +00:00
Benoît Minisini
8acbd755a2 [GB.GUI.OPENGL]
* 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
2012-05-06 21:09:42 +00:00
Benoît Minisini
5839e98745 [GB.IMAGE]
* 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
2012-04-22 21:27:59 +00:00
Benoît Minisini
d7d8424b37 [GB.DB]
* 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
2012-04-03 00:21:32 +00:00
Benoît Minisini
a63e251a1d [GB.EVAL]
* BUG: Fix the previous fix.


git-svn-id: svn://localhost/gambas/trunk@4585 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-01 01:28:24 +00:00
Benoît Minisini
f625b0e9c9 [GB.EVAL]
* 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
2012-04-01 01:24:22 +00:00
Benoît Minisini
d7114efe9b [GB.DB]
* 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
2012-03-23 02:12:40 +00:00
François Gallo
da79fa86de [GB.VB]
* BUG: fix compilation on Windows/Cygwin.

[GB.SIGNAL]
* BUG: fix compilation on Windows/Cygwin.


git-svn-id: svn://localhost/gambas/trunk@4564 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-18 19:21:52 +00:00
Benoît Minisini
91556cac06 [DEVELOPMENT ENVIRONMENT]
* 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
2012-03-17 02:05:31 +00:00
Benoît Minisini
518868e61a [DEVELOPMENT ENVIRONMENT]
* 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
2012-03-01 11:42:28 +00:00
Benoît Minisini
0309f98b60 [DEVELOPMENT ENVIRONMENT]
* 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
2012-02-25 01:35:55 +00:00
Benoît Minisini
da3a564c43 [GB.DRAW]
* BUG: Rect class can be used as a fonction correctly now.


git-svn-id: svn://localhost/gambas/trunk@4497 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-22 01:43:17 +00:00
Benoît Minisini
65e1200b53 [INTERPRETER]
* 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
2012-02-22 01:42:40 +00:00
Benoît Minisini
f5472efbbe [DEVELOPMENT ENVIRONMENT]
* 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
2012-01-31 02:33:01 +00:00
Benoît Minisini
dcd6a9e147 [GB.IMAGE]
* BUG: Image.Colorize() now takes the color brightness into account.


git-svn-id: svn://localhost/gambas/trunk@4416 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-23 10:59:29 +00:00
Benoît Minisini
4e3a714642 [INTERPRETER]
* 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
2012-01-13 08:04:11 +00:00
Benoît Minisini
53aae2daf5 [DEVELOPMENT ENVIRONMENT]
* 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
2012-01-11 02:47:43 +00:00
Benoît Minisini
dd3b512daf [CONFIGURATION]
* NEW: Update copyrights.


git-svn-id: svn://localhost/gambas/trunk@4384 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 02:39:20 +00:00
Benoît Minisini
88a213486b [CONFIGURATION]
* 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
2011-12-28 18:56:41 +00:00
Benoît Minisini
c1f20cb4fe [GB.DB]
* 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
2011-12-22 00:31:57 +00:00
Benoît Minisini
3d934b455c [DEVELOPMENT ENVIRONMENT]
* OPT: The project file creation dialog initalizes its file browser later.

[INTERPRETER]
* BUG: Use sigsetjmp() instead of setjmp() as expected by the memory check 
  functions.

[GB.FORM.MDI]
* BUG: Do not use symbolic links, but real image files for action icons.

[GB.SIGNAL]
* BUG: Fix some warnings on BSD.


git-svn-id: svn://localhost/gambas/trunk@4284 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-18 03:03:07 +00:00
Benoît Minisini
200a429afc [DEVELOPMENT ENVIRONMENT]
* NEW: New "Gamabs" highlight theme.
* BUG: When showing the search dialog, the search text is correctly 
  selected in all cases now.
* BUG: Importing a report (or any form that is not a GUI form) now 
  correctly imports the class file.

[EXAMPLES]
* NEW: Add a text clipping example in the 'Painting' example.

[INTERPRETER]
* OPT: Replace() is now faster when the search string and the replace
  string are both one character length strings.

[COMPILER]
* NEW: The string escape character '\v' was added.

[GB.GTK]
* BUG: Paint.Text() now works correctly when the alignment is not 
  specified.

[GB.NET]
* BUG: Correctly check system errors when using a asynchronous DnsClient.

[GB.QT4]
* BUG: Paint.Save() and Paint.Restore() take the clipping path into account 
  now.

[GB.SETTINGS]
* NEW: Use a temporary file when saving a settings file, and always make a
  backup.

[GB.WEB]
* NEW: The Session.Modify() method was replaced by a read/write Modified 
  property.


git-svn-id: svn://localhost/gambas/trunk@4273 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-11 19:14:04 +00:00
Benoît Minisini
251e172f60 [GB.EVAL.HIGHLIGHT]
* NEW: Some little enhancements in CSS highlighting.

[GB.QT4.EXT]
* BUG: A little fix in undo management during an highlighting process.

[GB.WEB]
* NEW: Session.Modify() is a new method to mark the session as modified so 
  that it is automatically saved.


git-svn-id: svn://localhost/gambas/trunk@4256 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-25 00:43:57 +00:00
Benoît Minisini
90f6aad33c [GB.DB]
* NEW: Add a warning message if a connection password cannot be retrieved.


git-svn-id: svn://localhost/gambas/trunk@4254 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-24 17:49:53 +00:00
Benoît Minisini
296ae062ba [INTERPRETER]
* NEW: GB.ReturnConvVariant() is a new API that ensures that the returned 
  value is a Variant, as now the interpreter does not do the conversion
  automatically.
* BUG: Use the new GB.ReturnConvVariant() and the GB.ReturnVariant() API
  everywhere it is needed.


git-svn-id: svn://localhost/gambas/trunk@4248 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-14 01:06:51 +00:00
Benoît Minisini
099fda7cd2 [COMPILER]
* BUG: The lowest long integer constant (-9223372036854775808) is correctly 
  interpreted now.

[GB.EVAL]
* BUG: The lowest long integer constant (-9223372036854775808) is correctly 
  interpreted now.


git-svn-id: svn://localhost/gambas/trunk@4230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-01 23:24:07 +00:00
Benoît Minisini
95aa370a7e [INTERPRETER]
* BUG: Do not use GB.ReturnNull() when returning a void string anymore. Use
  the new GB.ReturnVoidString() API instead.


git-svn-id: svn://localhost/gambas/trunk@4216 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-24 19:33:41 +00:00
Benoît Minisini
e531a4e05f [CONFIGURATION]
* BUG: Fix many gcc 4.6.1 warnings.
* NEW: Update the depcomp sript with a more recent version.

[GB.DB.POSTGRESQL]
* BUG: Fix primary index retrieving for tables inside a schema.


git-svn-id: svn://localhost/gambas/trunk@4203 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-16 19:24:01 +00:00
Benoît Minisini
ca5fb092df [GB.EVAL]
* BUG: Eval() correctly returns a value again.


git-svn-id: svn://localhost/gambas/trunk@4112 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-09 00:29:06 +00:00
Benoît Minisini
67ecd4b00a [INTERPRETER]
* NEW: New syntax for GB.AddString() and GB.ExtendString() interpreter API.
  Do not pass the string by reference anymore.
* NEW: GB.AddChar() is a new API for adding just a char to a string.

[GB.DB.SQLITE2]
* BUG: Fix ignored system call return values.

[GB.DB.SQLITE3]
* BUG: Fix ignored system call return values.

[GB.DB.NET]
* BUG: Fix ignored system call return values.

[GB.V4L]
* BUG: Remove some unused local variables.


git-svn-id: svn://localhost/gambas/trunk@4105 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-07 19:43:11 +00:00
Benoît Minisini
0f8eb4ed65 [GB.EVAL]
* OPT: Use an intermediate string buffer when analyzing a line of code.


git-svn-id: svn://localhost/gambas/trunk@4074 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-01 18:50:07 +00:00
Benoît Minisini
2df008159f [INTERPRETER]
* NEW: The LIKELY() and UNLIKELY() macros do nothing now, as it seems that
  recent CPUs are better than humans for branch prediction.
* BUG: Error.Backtrace is accurate now.


git-svn-id: svn://localhost/gambas/trunk@4066 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-31 02:28:48 +00:00
Benoît Minisini
866c681682 [DEVELOPMENT ENVIRONMENT]
* NEW: Fix and enhance the Report brush chooser dialog.
* NEW: Use Color.Gradient instead of Color.Merge.

[GB.FORM.STOCK]
* BUG: Add two missing SVG files for stock icons.

[GB.IMAGE]
* NEW: Color.Gradient() is a new method that creates an intermediate color 
  between two others colors by using a RGB gradient.


git-svn-id: svn://localhost/gambas/trunk@4049 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-27 17:31:51 +00:00
Benoît Minisini
9488c7aff7 [DEVELOPMENT ENVIRONMENT]
* NEW: Automatic completion now displays hidden symbols if the class is 
  part of the current project.
* NEW: Support for *.tar.xz source archives.
* NEW: Underscores are now allowed inside a class name.
* BUG: Enabling or disabling tooltips in the option dialog does not crash
  anymore.

[INTERPRETER]
* NEW: Rename many virtual classes everywhere so that the documentation can
  easily extract the property name of the parent class from the virtual
  class name. For example, ".ApplicationArgs" is now ".Application.Args".


git-svn-id: svn://localhost/gambas/trunk@4028 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-21 21:46:20 +00:00
Benoît Minisini
93137105d3 [DEVELOPMENT ENVIRONMENT]
* NEW: The startup class icon is now just drawn with a dark outline.
* NEW: Error messages updated.
* NEW: French translation updated.

[INTERPRETER]
* NEW: Inheritance is stricter now: the child symbol must have exactly the
  same kind than the parent symbol.
* BUG: A child method must return the same datatype as its parent method 
  now.
* NEW: Gambas 3 executable mime description file and icon have been renamed
  so that they do not conflict with Gambas 2 files.

[GB.FORM]
* BUG: IconView.Find() has been renamed as IconView.FindAt(), to avoid the
  conflict with the inherited UserControl.Find() method.

[GB.FORM.MDI]
* BUG: Workspace.Children has been renamed as Workspace.Windows, because 
  the Workspace.Children property was in conflict with the inherited
  Container.Children property.

[GB.GTK]
* NEW: ListView, TreeView and ColumnView Find() method has been renamed as
  'FindAt' to match the IconView class.

[GB.IMAGE]
* NEW: Color.SetRGB() and Color.SetHSV() are two new methods that takes a
  color as an integer, modifies one of its component, and returns it. They
  are faster than using the ColorInfo class.
* NEW: Color.GetAlpha() returns the alpha component of a color from its
  integer value.

[GB.QT4]
* NEW: ListView, TreeView and ColumnView Find() method has been renamed as
  'FindAt' to match the IconView class.


git-svn-id: svn://localhost/gambas/trunk@4015 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-20 00:33:36 +00:00
Benoît Minisini
cd83028ccd [DEVELOPPEMENT ENVIRONMENT]
* BUG: Modifying table fields and indexes many times now works correctly.
* BUG: Fix drag & drop between two IDE windows.
* NEW: Pretty printer now acts on selected text.
* NEW: CSV import and automatic field conversion now can deal with both
  localized and non-localized data (i.e. floating point numbers with point
  or comma).

[GB.DB]
* BUG: Type mismatch error is correctly raised now when setting the value
  of a Result field.

[GB.DB.FORM]
* BUG: Some fixes in DataComboView.

[GB.FORM]
* NEW: IconPanel now automatically resizes the left panel to fit its 
  contents.


git-svn-id: svn://localhost/gambas/trunk@3971 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-05 16:03:59 +00:00
Benoît Minisini
9615d16694 [INTERPRETER]
* BUG: Write and Read instructions now deal with NULL values without crashing.


git-svn-id: svn://localhost/gambas/trunk@3946 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-24 09:45:44 +00:00
Benoît Minisini
e6a904c445 [GB.IMAGE]
* BUG: Image.PaintImage() incorrectly handled alpha channel compositing.


git-svn-id: svn://localhost/gambas/trunk@3926 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-05 10:19:24 +00:00
Benoît Minisini
2fbf67cb29 [CONFIGURATION]
* NEW: Update FSF address in every source file.


git-svn-id: svn://localhost/gambas/trunk@3870 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-03 00:51:09 +00:00
Benoît Minisini
5e91ded94f [INTERPRETER]
* BUG: Fix the use of boolean in the interpreter API.
* NEW: Change the GB.New() API signature, and update all components 
  accordingly.


git-svn-id: svn://localhost/gambas/trunk@3846 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-16 02:16:22 +00:00
Benoît Minisini
bad51945c1 [GB.FORM]
* BUG: ScrollArea and IconView controls now take the Enabled property into 
  account.

[GB.GTK]
* BUG: gb.gtk compiles with older version of GTK+ again.

[GB.IMAGE]
* NEW: Color.Desaturate() is a new method that desaturates a color.


git-svn-id: svn://localhost/gambas/trunk@3837 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-09 08:39:46 +00:00
Benoît Minisini
d433b0172d [EXAMPLES]
* NEW: Some little fixes (icons mainly) in several examples.

[INTERPRETER]
* NEW: Two new interpreter APIs to set and get the value of an object
  property.

[GB.DEBUG]
* BUG: Fix a warning message.

[GB.FORM]
* BUG: Setting FileView Foreground and Background properties now work as
  expected.
* BUG: IconView takes its Background and Foreground properties into 
  account now.

[GB.GTK]
* NEW: Control Background and Foreground properties are now automatically
  applied to the proxy.

[GB.QT4]
* NEW: Control Background and Foreground properties are now automatically
  applied to the proxy.


git-svn-id: svn://localhost/gambas/trunk@3826 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-02 00:46:00 +00:00
Benoît Minisini
075ded4dee [GB.IMAGE]
* NEW: Image.DrawImage() and Image.PaintImage() now takes a destination 
  width and height arguments. But using them to stretch the source image is
  not supported. Only gb.image.imlib, gb.gtk and gb.qt4 implement that
  feature.


git-svn-id: svn://localhost/gambas/trunk@3822 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-01 02:54:51 +00:00
Benoît Minisini
a096aa1670 [DEVELOPMENT ENVIRONMENT]
* NEW: Text editor now tries to detect HTML files with no HTML extension.
* BUG: Closing the translation dialog when displaying a file having no
  translated strings yet does not incorrectly remove the translation file 
  anymore.

[EXAMPLES]
* NEW: ReportExample has been redesigned. It got a combo-box to select 
  which database driver to use.

[GB.GTK]
* BUG: MouseWheel events can be cancelled now.
* BUG: Setting the ComboBox.List property of a read-only ComboBox now
  automatically selects the first element as in gb.qt4.

[GB.REPORT]
* NEW: gb.report is translatable now.
* NEW: The preview window has been redesigned and enhanced.

[GB.QT4]
* BUG: MouseWheel events can be cancelled now.

[GB.QT4.EXT]
* NEW: In Editor, [Alt]+[Home] and [Alt]+[End] now moves to the previous or 
  next line having the same indentation. This is useful to search the 
  beginning or the end of a structure control, as soon as the code is 
  correctly indented of course!
* BUG: Setting Editor.Highlight property now correctly updates the Editor
  margin.


git-svn-id: svn://localhost/gambas/trunk@3820 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-05-01 00:59:45 +00:00
Benoît Minisini
b8009f6558 [GB.IMAGE]
* NEW: New Image.Debug static property. When set to TRUE, a debugging 
  message is displayed each time an image is converted to another format.
* NEW: Image.Format is now writable, so that you can convert images to a
  specific format. Not all conversions are supported.


git-svn-id: svn://localhost/gambas/trunk@3798 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-26 00:13:38 +00:00
Benoît Minisini
25e6212024 [GB.IMAGE]
* BUG: Fix the method signature of Image.DrawImage() and 
  Image.PaintImage().
* NEW: The X, Y arguments of Image.DrawImage() and Image.PaintImage() are 
  now optional, and zero by default.


git-svn-id: svn://localhost/gambas/trunk@3787 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-22 20:32:32 +00:00
Benoît Minisini
feef2087a7 [COMPILER]
* BUG: Do not create debugger information for code generated by form files.
  Otherwise the debugger is confused.


git-svn-id: svn://localhost/gambas/trunk@3779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-19 13:15:24 +00:00
Benoît Minisini
0fd1a693dc [DEVELOPMENT ENVIRONMENT]
* NEW: Display cursor position inside editors, and not in the toolbar 
  anymore.

[GB.QT4]
* OPT: Do not trigger arrangement if setting the visibility of a control 
  has no effect.

[GB.QT4.EXT]
* NEW: Editor can display the cursor position inside itself.


git-svn-id: svn://localhost/gambas/trunk@3755 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-12 12:49:16 +00:00
Benoît Minisini
1a223dc2f7 [GB.DRAW]
* NEW: Paint.AntiAlias is a new property that defines if antialiasing is 
  used for drawing. It should be TRUE by default.


git-svn-id: svn://localhost/gambas/trunk@3754 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-12 11:07:22 +00:00
Benoît Minisini
f4ab13c337 [DEVELOPMENT ENVIRONMENT]
* NEW: Ability to replace strings while browsing the entire project.

[GB.IMAGE]
* BUG: Image.Resize() works with 24-bits image again.

[GB.QT4]
* BUG: GridView correctly honors the WordWrap cell property for rich text.


git-svn-id: svn://localhost/gambas/trunk@3753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-12 10:19:05 +00:00
Benoît Minisini
f78ee4abee [GB.DRAW]
* NEW: Draw.FillRect() uses the FillColor color by default now, not the 
  Background color.


git-svn-id: svn://localhost/gambas/trunk@3748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-11 15:55:13 +00:00
Benoît Minisini
15762e3fb2 [GB.IMAGE]
* NEW: Implement Image.PaintImage().

[GB.IMAGE.IO]
* NEW: Loaded image are returned in the preferred format, as specified by
  gb.qt4, gb.gtk or gb.sdl.

[GB.SDL]
* BUG: Do not define the foreground color before drawing an image. It seems
  useless, isn't it?
* BUG: Fix a case mistake in the "Deactivate" event.


git-svn-id: svn://localhost/gambas/trunk@3746 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-11 00:57:03 +00:00
Benoît Minisini
186afc6326 [DEVELOPMENT ENVIRONMENT]
* NEW: Replace Image.Draw() by Image.PaintImage() everywhere.

[WEB SITE MAKER]
* NEW: Some website updates.

[GB.GTK]
* NEW: The Image.Draw() method has been renamed as Image.PaintImage().

[GB.IMAGE]
* NEW: Image.DrawImage() is a new method that draws an image by ignoring
  the alpha channel.

[GB.IMAGE.IMLIB]
* NEW: The Image.Draw() method has been renamed as Image.PaintImage().

[GB.QT4]
* NEW: The Image.Draw() method has been renamed as Image.PaintImage().


git-svn-id: svn://localhost/gambas/trunk@3744 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-10 21:27:34 +00:00
Benoît Minisini
0a6ea29cbc [GB.IMAGE]
* NEW: Image.DrawRect() as been renamed as Image.PaintRect().


git-svn-id: svn://localhost/gambas/trunk@3742 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-09 11:45:33 +00:00
Benoît Minisini
e23dc7e456 [GB.IMAGE]
* OPT: Image.DrawAlpha() should be faster now.


git-svn-id: svn://localhost/gambas/trunk@3741 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-09 11:39:08 +00:00
Benoît Minisini
070f29419a [GB.EVAL]
* BUG: Fix a string leak in evaluator error management.


git-svn-id: svn://localhost/gambas/trunk@3677 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-23 13:04:44 +00:00
Benoît Minisini
c4e8abec01 [CONFIGURATION]
* BUG: Harmonize the messages displayed when DESTDIR or ROOT is used during 
  compilation.
* NEW: Switch version number to 2.99.1 and bytecode version to 3.0.0.
  WARNING! ALL GAMBAS PROJECTS MUST BE RECOMPILED.

[DEVELOPMENT ENVIRONMENT]
* BUG: Generated Debian packages now correctly depends on gambas3-dev and
  not gambas2-dev.

[GB.QT4.OPENGL]
* NEW: Remove the GlArea.Text() method, as it may be impossible to 
  implement inside gb.gtk.opengl.


git-svn-id: svn://localhost/gambas/trunk@3673 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-21 12:46:52 +00:00
Benoît Minisini
b936c83f0d [CONFIGURATION]
* NEW: Update copyright strings.

[DEVELOPMENT ENVIRONMENT]
* NEW: Display menu shortcuts inside the form editor.


git-svn-id: svn://localhost/gambas/trunk@3670 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-21 00:04:10 +00:00
Benoît Minisini
dc5f2a344b [DEVELOPMENT ENVIRONMENT]
* BUG: Support for multi-dimensional arrays in the debugger.

[INTERPRETER]
* BUG: Support for multi-dimensional arrays in the debugger.

[GB.DEBUG]
* BUG: Support for structures.
* BUG: Support for multi-dimensional arrays in the debugger.


git-svn-id: svn://localhost/gambas/trunk@3654 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-16 22:16:19 +00:00
Benoît Minisini
bfaf40d1e0 [GB.IMAGE.EFFECT]
* NEW: Image.Histogram() is a new method that returns the image histogram.
* NEW: ImageHistogram is a new class that represents an image histogram.


git-svn-id: svn://localhost/gambas/trunk@3647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-13 02:47:19 +00:00
Benoît Minisini
0a46a21588 [DEVELOPMENT ENVIRONMENT]
* BUG: Cannot clear all breakpoints while project is running.

[GB.DRAW]
* BUG: Remove useless Draw constants.

[GB.FORM]
* NEW: DirView.Renaming is a new property that returns if a directory is
  currently being renamed.
* BUG: DirChooser shortcuts are not active anymore when a directory is
  currently being renamed.

[GB.GTK]
* NEW: New arrangement properties behaviour: if the Padding property is not
  zero, then its value is the number of pixels used for container spacing 
  and margin. If Padding is zero, then spacing and margin is Desktop.Scale
  pixels.
* NEW: TreeView, ColumnView and ListView got a new Renaming property that
  returns if an item is currently being renamed.

[GB.QT4]
* NEW: New arrangement properties behaviour: if the Padding property is not
  zero, then its value is the number of pixels used for container spacing 
  and margin. If Padding is zero, then spacing and margin is Desktop.Scale
  pixels.
* NEW: TreeView, ColumnView and ListView got a new Renaming property that
  returns if an item is currently being renamed.


git-svn-id: svn://localhost/gambas/trunk@3638 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-06 00:21:43 +00:00
Benoît Minisini
0a8e939976 [DEVELOPMENT ENVIRONMENT]
* NEW: The state of a component is now a string: "Stable", "NotFinished", 
  or "Experimental".
* NEW: Fix the state of many components.

[GB.PCRE]
* NEW: Some code cleanups.


git-svn-id: svn://localhost/gambas/trunk@3625 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-27 09:13:32 +00:00
Benoît Minisini
cd23942d76 [GB.IMAGE]
* BUG: Correctly update the internal void flag of images.

[GB.FORM]
* BUG: Do not show the balloon if its window moves while it is hidden.
* BUG: Correctly define ScrollX and ScrollY ScrollArea properties when the
  scrollbars are hidden.


git-svn-id: svn://localhost/gambas/trunk@3617 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-25 21:56:50 +00:00
Benoît Minisini
64308a393a [GB.IMAGE]
* BUG: Take void images into account.


git-svn-id: svn://localhost/gambas/trunk@3615 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-25 00:26:22 +00:00
Benoît Minisini
9cdabac441 [GB.DEBUG]
* BUG: The debugger takes EINTR into account now when reading its input.


git-svn-id: svn://localhost/gambas/trunk@3612 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-24 15:41:38 +00:00
Benoît Minisini
a0cf1a5b01 [DEVELOPMENT ENVIRONMENT]
* BUG: Paste and Delete are now correctly disabled in the form editor when 
  the form is read-only.

[EXAMPLE]
* NEW: New Printing example.

[GB.DRAW]
* NEW: Paint.RichTextExtents() now take an optional width argument.
* NEW: Paint.DrawText() and Paint.DrawRichText() are two new methods to 
  directly draw text without using an intermediate path. They make 
  generated PDF and Postscript files smaller.

[GB.FORM]
* BUG: Setting ScrollArea.Border property correctly refreshes it now.
* BUG: ScrollArea contents is correctly clipped now.

[GB.GTK]
* BUG: gb.gtk now requires 'gtk+-unix-print-2.0' pkg-config library.
* BUG: Dialog.Font works correctly now.
* BUG: Relative font sizes are correctly interpreted in rich text now.
* BUG: TextArea shortcuts correctly ensure that the cursor is visible.
* BUG: Paint.DrawImage() works correctly now.


git-svn-id: svn://localhost/gambas/trunk@3607 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-23 15:49:56 +00:00
Benoît Minisini
ac03c9fc85 [GB.CAIRO]
* NEW: Cairo.ShowPage() and Cairo.CopyPage() have been implemented.
* NEW: New classes for implementing some Cairo surfaces: CairoPdfSurface, 
  CairoPsSurface and CairoSvgSurface.

[GB.IMAGE]
* BUG: When deleting an image, free the temporary handle before the owner 
  handle, because the temporary owner may want to access the data while 
  freeing it.


git-svn-id: svn://localhost/gambas/trunk@3590 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-22 00:26:50 +00:00
Benoît Minisini
1628c4844b [GB.DRAW]
* BUG: Remove some now useless code.

[GB.FORM]
* BUG: Close the balloon, do not hide it. That way, it won't prevent the 
  program from exiting the event loop.

[GB.GTK]
* BUG: Windows are correctly deleted at event loop exit.


git-svn-id: svn://localhost/gambas/trunk@3589 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-21 16:17:32 +00:00
Benoît Minisini
cd44f9a7de [EXAMPLES]
* BUG: Fix the Blights example.

[GB.GTK]
* BUG: Workaround a GTK+ bug where drag & drop icon size must be a multiple 
  of eight pixels.
* NEW: Paint.DrawImage() has been implemented.


git-svn-id: svn://localhost/gambas/trunk@3587 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-21 01:32:14 +00:00
Benoît Minisini
f269a0071d [DEVELOPMENT ENVIRONMENT]
* NEW: Use the new IconPanel container to implement the option dialog.

[GB.DRAW]
* BUG: Paint.DrawImage() width and height arguments are now optional.

[GB.FORM]
* NEW: IconView has support for right-to-left written languages.
* BUG: Setting the picture of an IconView item now correctly updates the
  IconView layout.
* NEW: IconPanel is a new multi-container based on an IconView.


git-svn-id: svn://localhost/gambas/trunk@3569 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-14 13:31:52 +00:00
Benoît Minisini
edb750d994 [GB.DRAW]
* NEW: CRect can be used as a function to create rectangles.
* NEW: Draw.ClipRect is a new property that returns or defines the clipping 
  rectangle. NULL means that the clipping is disabled.
* NEW: Paint.ClipRect is a new property that returns or defines the 
  clipping rectangle. NULL means that the clipping is disabled.

[GB.FORM]
* NEW: IconView uses the new ClipRect properties.


git-svn-id: svn://localhost/gambas/trunk@3568 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-13 23:03:20 +00:00
Benoît Minisini
01b28918b3 [GB.DRAW]
* NEW: Put the Rect class in the gb.draw component.

[GB.GTK]
* NEW: Remove the Rect class.
* BUG: Draw.Tile() works now.

[GB.QT4]
* NEW: Remove the Rect class.


git-svn-id: svn://localhost/gambas/trunk@3567 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-13 21:43:14 +00:00
Benoît Minisini
b7d101f636 [GB.IMAGE]
* NEW: Image.DrawAlpha() can work with images having different formats.


git-svn-id: svn://localhost/gambas/trunk@3562 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-12 18:59:14 +00:00
Benoît Minisini
10105e9feb [GB.IMAGE]
* NEW: Image.Format is a new property that returns the image internal 
  format as a string.
* BUG: Fix a possible crash that occurs when creating a temporary handle 
  needs a conversion.


git-svn-id: svn://localhost/gambas/trunk@3559 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-12 18:26:13 +00:00
Benoît Minisini
41b7b2a0f7 [GB.DEBUG]
* BUG: The debugger now correctly prints expression compilation errors.


git-svn-id: svn://localhost/gambas/trunk@3546 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-07 01:58:19 +00:00
Benoît Minisini
1daab792db [DEVELOPMENT ENVIRONMENT]
* BUG: CoordBox correctly returns decimal value in american format.

[GB.GTK]
* BUG: Printer.Print() now does not display a flashing configuration dialog 
  anymore.
* BUG: Printed font now have the correct size.

[GB.REPORT]
* BUG: ReportLabel now uses Font.Height to compute its height, because 
  Paint.DrawText aligns according to Font.Height and not 
  Paint.TextExtents().


git-svn-id: svn://localhost/gambas/trunk@3540 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-05 01:28:12 +00:00
Benoît Minisini
175dd81c1b [GB.IMAGE]
* BUG: Fix the Image.Clear() method.


git-svn-id: svn://localhost/gambas/trunk@3533 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-02-02 21:54:03 +00:00
Benoît Minisini
7f29aaf2ee [DEVELOPMENT ENVIRONMENT]
* BUG: Current edited line is not highlighted by force anymore after a 
  global search.

[GB.FORM]
* NEW: New IconView control entirely made in Gambas.
* NEW: ScrollArea.EnsureVisible() has been implemented.

[GB.GTK]
* NEW: Old IconView has been removed.
* BUG: Do not use the deprecated tooltip API anymore.
* NEW: TreeView, ColumnView and ListView SelectAll() method does not take 
  an argument anymore. It always select all items.
* NEW: TreeView, ColumnView and ListView UnselectAll() is a new method that
  unselect all items.
* BUG: Rect constructor has been fixed.
* BUG: Rect.Contains() method has been fixed.

[GB.IMAGE]
* NEW: Color.SetAlpha() is a new method that takes an integer color, change
  its alpha component, and return the modified integer color.

[GB.QT4]
* NEW: Old IconView has been removed.
* NEW: TreeView, ColumnView and ListView SelectAll() method does not take 
  an argument anymore. It always select all items.
* NEW: TreeView, ColumnView and ListView UnselectAll() is a new method that
  unselect all items.
* BUG: Rect constructor has been fixed.
* BUG: Rect.Contains() method has been fixed.
* BUG: Window default title is correctly converted from UTF-8.

[GB.QT4.EXT]
* NEW: Editor.HighlightAll is a new method to force the highlighting of the
  entire text.
* NEW: The Editor.Lines CollapseAll() and ExpandAll() methods were moved to
  the Editor class.


git-svn-id: svn://localhost/gambas/trunk@3513 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-30 00:55:59 +00:00
Benoît Minisini
c22083ba44 [GB.DRAW]
* NEW: Draw.Arc() is a new method to draw arcs.

[GB.GTK]
* BUG: Draw.Ellipse() now correctly draws a pie when filling is enabled.
* NEW: Implement Draw.Arc().

[GB.QT4]
* NEW: Implement Draw.Arc().


git-svn-id: svn://localhost/gambas/trunk@3500 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-28 02:42:42 +00:00
Benoît Minisini
16492cc5ee [DEVELOPMENT ENVIRONMENT]
* BUG: The procedure list geets the focus again when it is opened.

[GB.FORM]
* NEW: ScrollArea is a new Container widget that is a DrawingArea with
  scrolling capabilities.

[GB.GTK]
* NEW: Style is new static class whose properties return global information
  about the current style. At the moment, you have Style.ScrollbarSize and
  Style.ScrollbarSpacing.
* BUG: Scrollbar sliders size now follows the PageStep property.

[GB.QT4]
* NEW: Style is new static class whose properties return global information
  about the current style. At the moment, you have Style.ScrollbarSize and
  Style.ScrollbarSpacing.


git-svn-id: svn://localhost/gambas/trunk@3493 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-24 14:37:11 +00:00
Benoît Minisini
e30aee9dbe [COMPILER]
* NEW: '\0' is a new string escape character for Chr$(0).

[GB.DRAW]
* NEW: Several Draw.Begin() and/or Paint.Begin() on the same device can be 
  safely imbricated.

[GB.EVAL]
* NEW: '\0' is a new string escape character for Chr$(0).

[GB.FORM]
* NEW: ButtonBox.Alignment is a new property to define the alignment of its
  internal TextBox.
* NEW: New syntaxes for the MaskBox mask:
  - '<' just after a mask character and just before a separator means that 
    the text before will be right-aligned.
  - '!' marks the default cursor position when the MaskBox gets the focus.


git-svn-id: svn://localhost/gambas/trunk@3450 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-08 01:17:55 +00:00
Benoît Minisini
3ead02082c [DEVELOPMENT ENVIRONMENT]
* BUG: Don't show '$' in the dependencies combo-box of the component 
  property dialog.

[INTERPRETER]
* NEW: GB.Every() is a new API that allows a component to call a callback
  regularly. Useful for polling something for example.


git-svn-id: svn://localhost/gambas/trunk@3429 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-02 17:09:54 +00:00
Benoît Minisini
ad19937a82 [INTERPRETER]
* NEW: Add a gb.ShortNumber format to Format$().
* NEW: Use that format for converting Single to String.
* BUG: Check the internal conversion special class method everywhere an 
  object is converted.

[GB.DEBUG]
* NEW: Use gb.ShortNumber to display Single values.


git-svn-id: svn://localhost/gambas/trunk@3414 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-30 03:17:37 +00:00
Benoît Minisini
6cf9de6805 [INTERPRETER]
* BUG: Correctly convert negative floating point numbers again.


git-svn-id: svn://localhost/gambas/trunk@3411 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-29 15:25:29 +00:00
Benoît Minisini
adf553d56b [INTERPRETER]
* NEW: Support for NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.

[COMPILER]
* NEW: New operators: NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.

[GB.EVAL]
* NEW: New operators: NOT LIKE, NOT BEGINS, NOT ENDS and NOT IS.


git-svn-id: svn://localhost/gambas/trunk@3407 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-29 08:21:51 +00:00
Benoît Minisini
cdcf6cdac9 [DEVELOPMENT ENVIRONMENT]
* BUG: Code indentation routine correctly handles structures now.

[INTERPRETER]
* NEW: Object.LastEventName has been deprecated, and replaced by 
  the Param.EventName property.
* BUG: IsFloat() is now a synonymous for IsNumber().
* BUG: Intrinsic functions description has been updated.

[COMPILER]
* NEW: "\e" is a new string escape sequence equivalent to "\x1B".

[GB.FORM]
* NEW: Use the new Control.Proxy property instead of internal observers
  inside compound controls (ValueBox, ButtonBox, MenuButton).

[GB.GTK]
* NEW: Control.Proxy is a new property that allows to define a control 
  proxy that will handle focus, key and mouse events in original control's 
  place.

[GB.QT4]
* NEW: Control.Proxy is a new property that allows to define a control 
  proxy that will handle focus, key and mouse events in original control's 
  place.


git-svn-id: svn://localhost/gambas/trunk@3387 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-21 14:05:42 +00:00
Benoît Minisini
3b5cda0a80 [COMPILER]
* NEW: The preprocessor now understands three constants: SYSTEM, 
  ARCHITECTURE (or ARCH), and VERSION (or GAMBAS). The VERSION constants
  didn't change. The two others return a string that can be compare with
  equality or inequality operator. The comparison is not case sensitive.

[GB.EVAL]
* NEW: Comments are correctly highlighted in preprocessor lines.



git-svn-id: svn://localhost/gambas/trunk@3376 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-18 14:41:43 +00:00
Benoît Minisini
b38df04095 [DEVELOPMENT ENVIRONMENT]
* NEW: In icon editor, the width of the selection frame now follows the 
  zoom level.
* NEW: Support for preprocessor highlighting.

[COMPILER]
* NEW: Integrated preprocessor. The following commands are supported:
  #If <expr>, #Else If <expr>, #Else and #Endif. <expr> can be a 
  combination of constants (OS_LINUX, OS_FREEBSD, ARCH_X86, ARCH_X86...),
  parenthesis, 'And' & 'Or' operators, version test (VERSION >= "3.0").
  This is work in progress.

[GB.EVAL]
* NEW: A new highlighting color for the preprocessor.

[GB.QT4.EXT]
* NEW: A new highlighting color for the preprocessor in Editor control.


git-svn-id: svn://localhost/gambas/trunk@3374 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-18 04:27:59 +00:00
Benoît Minisini
6f440dc030 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the icon editor.

[INTERPRETER]
* NEW: If Stop Event is used during the Timer event, the timer is stopped.

[INFORMER]
* BUG: Fix a file descriptor leak.

[GB.DRAW]
* NEW: Draw.Zoom() now does not draw cell borders unless zoom is greater or 
  equal than 6.

[GB.DESKTOP]
* BUG: Fix a forgotten "break" in a switch statement when setting a window
  property with a string array.

[GB.QT4]
* BUG: Fix image leak in Clipboard.Copy() and Drag().
* BUG: Fix incorrect copy of image data when taking ownership of an image 
  object.
* NEW: Draw.Image() does not do a smooth transformation the image is 
  enlarged in both dimensions, and if the new size is a multiple of the old
  size.
* OPT: DrawingArea with the default background color now does not repaint
  its background before calling the Draw event.

[GB.QT4.EXT]
* BUG: Fix a bad test in GDocument::getLineFlag().


git-svn-id: svn://localhost/gambas/trunk@3368 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-15 15:55:16 +00:00
Benoît Minisini
a1c697eb93 [GB.SIGNAL]
* BUG: That component should be compiled correctly on FreeBSD now.


git-svn-id: svn://localhost/gambas/trunk@3350 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-08 17:15:18 +00:00
Benoît Minisini
1354ca2af7 [GB.DB.ODBC]
* BUG: Table existence should be checked correctly now.

[GB.DRAW]
* NEW: Paint.DrawImage() is a new utility function to paint an image 
  easily.

[GB.QT4]
* BUG: Printer.Count is now 1 by default.
* BUG: Found a workaround to the Qt bug #5114. Now the brush matrix is 
  taken into account when painting on a Printer object.


git-svn-id: svn://localhost/gambas/trunk@3347 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-07 01:20:40 +00:00
Benoît Minisini
26b363c96f [WIKI CGI SCRIPT]
* NEW: Button to "flattr" Gambas.

[INTERPRETER]
* BUG: Fix some possible uses of unitialized values.

[COMPILER]
* BUG: Fix a possible crash when having 63 arguments passed by reference 
  to a function.

[GB.DB.SQLITE3]
* BUG: Detect integer primary key whatever the case used to write 
  "integer".

[GB.GTK]
* BUG: Page setup is enabled in printer configuration dialog now.

[GB.QT4]
* BUG: The font size of printed texts is now correct.


git-svn-id: svn://localhost/gambas/trunk@3344 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-05 20:17:24 +00:00
Benoît Minisini
23dd0b0299 [DEVELOPMENT ENVIRONMENT]
* BUG: Do not search text inside form anymore.

[INTERPRETER]
* BUG: The startup class is not global anymore, so that it does not 
  conflict with anythign having the same name in components. The 
  interpreter API that was returning the startup class has been updated
  to reflect that change.
* BUG: File.Name("/a/b/") now returns a void string instead of returning 
  "b", to be coherent with File.Dir().

[GB.DESKTOP]
* NEW: Use the new API returning the startup class.

[GB.FORM]
* BUG: Setting DirView.Root with a path ending with a slash does not crash
  anymore.

[GB.GTK]
* NEW: Use the new API returning the startup class.

[GB.QT4]
* NEW: Use the new API returning the startup class.

[GB.SIGNAL]
* NEW: Use the new API returning the startup class.


git-svn-id: svn://localhost/gambas/trunk@3267 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-10-15 00:23:11 +00:00
Benoît Minisini
7c7d65612c [DEVELOPMENT ENVIRONMENT]
* BUG: Filter project tree view by files that need to be added to the 
  version control repository now works.
* BUG: Reset project tree view filter at project opening.

[GB.DEBUG]
* BUG: Use the reentrant collection enumeration API correctly.


git-svn-id: svn://localhost/gambas/trunk@3256 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-10-07 01:29:54 +00:00
Benoît Minisini
96082b6e2c [GB.DEBUG]
* NEW: The debugger now prints string values up to 65535 characters.


git-svn-id: svn://localhost/gambas/trunk@3249 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-10-03 19:22:14 +00:00
Benoît Minisini
c662af4ee8 [INTERPRETER]
* BUG: Format() with a void format string does not crash anymore.

[GB.IMAGE]
* BUG: Image.Colorize() does not invert red and blue anymore.


git-svn-id: svn://localhost/gambas/trunk@3232 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-21 23:49:32 +00:00
Benoît Minisini
40e3647215 [GB.DB]
* BUG: The gb.db API DB.GetCurrentDatabase() should be reliable now, so 
  that database drivers using it do not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@3223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-16 00:57:35 +00:00
Benoît Minisini
0f5e37553a [GB.DB]
* BUG: Table.Indexes.Add() now does not corrupt index fields anymore.


git-svn-id: svn://localhost/gambas/trunk@3222 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-16 00:47:07 +00:00
Benoît Minisini
2fa5d15318 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix procedure list crash.

[GB.IMAGE]
* NEW: Color merge algorithm has changed. Instead of using the middle of 
  RGB values, now it uses the middle of HSV values. It changes the value of
  Color.LightForeground and the color used for drawing Workspace default
  background.

[GB.QT4]
* BUG: Separator and plain borders now use the same color.
* BUG: ShowPopup() now works correctly if used on the same window several 
  times.


git-svn-id: svn://localhost/gambas/trunk@3217 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-15 01:49:26 +00:00
Benoît Minisini
0a659f3a9d [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the help browser for classes whose name begins with an 
  underscore.
* BUG: Fix project loading when there are breakpoints set on non-existing 
  classes.

[INTERPRETER]
* BUG: Fix the behaviour of Eval() when the expression cannot be compiled.
* BUG: Error.Text does not crash anymore when the error message is void.

[COMPILER]
* BUG: Fix the parser behaviour when a non-terminated string is located at 
  the end of the file.

[GB.EVAL]
* BUG: Fix the parser behaviour when a non-terminated string is located at 
  the end of the expression.

[GB.GTK]
* BUG: Fix the behaviour of Label with AutoResize set.

[GB.QT4]
* BUG: Fix the behaviour of Label with AutoResize set.


git-svn-id: svn://localhost/gambas/trunk@3178 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-09-04 13:21:11 +00:00
Benoît Minisini
62c381c2f6 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle compiler errors having column information.

[INTERPRETER]
* BUG: Manage errors from native methods differently.

[COMPILER]
* NEW: Return the column in error messages generated by the parser.

[GB.GTK]
* BUG: Make TabStrip behave like in gb.qt when inserting a new tab.


git-svn-id: svn://localhost/gambas/trunk@3156 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-29 20:51:10 +00:00
Benoît Minisini
eb94949c92 [DEVELOPMENT ENVIRONMENT]
* NEW: More snippets for declaring local variables: "di" declares an 
  integer variable, "ds" a string variable...

[GB.IMAGE]
* NEW: Image.FillRect() ignores transparency. But a new Image.DrawRect() 
  method takes it into account now.

[GB.QT4]
* BUG: Mouse event properties are enabled now during a double click event 
  handler.

[GB.WEB]
* NEW: HTTP compression is automatically enabled if the response is 
  buffered, and if the HTTP client can handle it of course.


git-svn-id: svn://localhost/gambas/trunk@3128 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-24 10:56:55 +00:00
Benoît Minisini
25fd457dc8 [GB.FORM]
* NEW: MenuButton has been redesigned to use a DrawingArea only.

[GB.GTK]
* BUG: Styles are better drawn now.
* BUG: Destroyed controls are not seen anymore when enumerating container 
  children.
* NEW: Control.Hovered is a new property that returns if the mouse cursor
  is inside the control.
* NEW: Draw.Style.Button() gets a new optional boolean argument to tell if
  we must draw a flat button.
* NEW: Draw.Style.Focus() has been removed.

[GB.QT4]
* NEW: Control.Hovered is a new property that returns if the mouse cursor
  is inside the control.
* NEW: Draw.Style.Button() gets a new optional boolean argument to tell if
  we must draw a flat button.
* NEW: Draw.Style.Focus() has been removed.


git-svn-id: svn://localhost/gambas/trunk@3106 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-14 11:29:44 +00:00
Benoît Minisini
0fced172a7 [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly update the code editor menu when the project is running.

[GB.FORM.MDI]
* NEW: The Workspace.ButtonPosition property has been removed.
* NEW: The Workspace tabstrip now uses embedded close buttons.

[GB.IMAGE]
* NEW: The Image.Gray() method has been renamed as Image.Desaturate().
* NEW: The Image.Transparent() method has been renamed as Image.Erase().

[GB.IMAGE.EFFECT]
* NEW: The Image.Gray() and Image.Desaturate() methods have been removed.


git-svn-id: svn://localhost/gambas/trunk@3105 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-13 19:57:06 +00:00
Benoît Minisini
b3351fb0e0 [DEVELOPMENT ENVIRONMENT]
* NEW: A new option to use utility windows or normal windows for option
  dialog, search window and help browser.

[GB.DRAW]
* BUG: The Draw.Normal constant is correctly named now.

[GB.GTK]
* BUG: Draw plain borders the same way as in gb.qt4.
* NEW: Window.Type has been removed.
* NEW: Window.Utility is a new boolean property to tell the window manager
  that the window is an utility.

[GB.IMAGE]
* BUG: Fix some image format management is many routines.
* NEW: Image.FillRect() now handles transparent colors.

[GB.QT4]
* NEW: Window.Utility is a new boolean property to tell the window manager
  that the window is an utility.


git-svn-id: svn://localhost/gambas/trunk@3102 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-13 10:43:37 +00:00
Benoît Minisini
93e19ca274 [GB.IMAGE]
* NEW: Image.DrawAlpha() is a new method that replace the alpha components 
  of an image by the alpha components of another image, where the other 
  image is more transparent.


git-svn-id: svn://localhost/gambas/trunk@3101 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-12 19:13:44 +00:00
Benoît Minisini
d9cae60bbe [GB.DRAW]
* NEW: New flags for Draw.Style states. Draw.Focus, for widgets having the 
  focus, and Draw.Hover for widgets flied over by the mouse.


git-svn-id: svn://localhost/gambas/trunk@3097 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-06 14:36:45 +00:00
Benoît Minisini
055e187a6a [DEVELOPMENT ENVIRONMENT]
* NEW: In Gambas, javascript, HTML and CSS editor, a button to insert 
  a color definition, or a color already defined in the current source 
  code.
* NEW: Allow links with title ([<link>|<title>]) in help comment syntax.

[GB.FORM]
* BUG: In FileView, file sizes are really written with 1 Kib = 1024 bytes.
* BUG: MenuButton has an Action property again.
* BUG: MenuButton raise its basic events.

[GB.IMAGE]
* BUG: COlor.Darker() works correctly for black, white and gray colors now.

[GB.IMAGE.IO]
* BUG: Image.Save() quality is correctly handled. For PNG format, the 
  quality is actually the compression level, between 0 and 9.

[GB.QT4.WEBKIT]
* NEW: WebFrame.HTML is a new property that returns the HTML contents of a 
  specific frame.
* NEW: WebFrame.Text  is a new property that returns the text inside a 
  specific frame.

[GB.WEB]
* NEW: When the session is abandonned, the Session_Abandon() static public 
  method is called in the startup class.


git-svn-id: svn://localhost/gambas/trunk@3096 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-06 11:49:57 +00:00
Benoît Minisini
c6593fc839 [DEVELOPMENT ENVIRONMENT]
* NEW: A menu button in the project property dialog to quickly insert 
  the "GB_GUI" environmental variable.

[GB.FORM]
* NEW: Enhancements in ButtonBox and MenuButton controls.
* NEW: MenuButton.Border is a new property to set if the MenuButton has a
  border or not.
* NEW: If the MenuButto has no menu, it will raise its Click event if its
  arrow button is clicked.

[GB.GTK]
* NEW: ToolButton are "transparent" now.
* NEW: Draw.Style.Box() is a new style API that draws a TextBox frame.

[GB.QT4]
* NEW: Draw.Style.Box() is a new style API that draws a TextBox frame.


git-svn-id: svn://localhost/gambas/trunk@3093 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-03 21:27:39 +00:00
Benoît Minisini
c6c3a38eb2 [GB.EVAL]
* BUG: Do not incorrectly use interpreter gb_error.h header file, it crashes!


git-svn-id: svn://localhost/gambas/trunk@3092 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-08-03 16:09:06 +00:00
Benoît Minisini
0bc1701225 [WIKI CGI SCRIPT]
* NEW: New look for version specific documentation.

[INTERPRETER]
* NEW: Assign() has been removed, and replaced by Eval() with an expression 
  beginning with the LET keyword.
* NEW: New routines to read a value stored at a memory address: BoolPtr(),
  BytePtr(), ShortPtr(), IntPtr(), LongPtr(), SinglePtr(), FloatPtr() and
  PointerPtr().

[COMPILER]
* NEW: The LET keyword can be used to write an assignment expression. Of
  course it is optional.

[GB.EVAL]
* NEW: The LET keyword can be used to evaluate an assignment.
* NEW: The Expression.Compile() method does not take any argument anymore.

git-svn-id: svn://localhost/gambas/trunk@3041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-14 16:33:29 +00:00
Benoît Minisini
5d6905a13e [DEVELOPMENT ENVIRONMENT]
* NEW: The project tree popup menu now has the refresh action.

[GB.SIGNAL]
* NEW: New component to catch or ignore process signals.


git-svn-id: svn://localhost/gambas/trunk@3037 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-07-12 23:09:57 +00:00
Benoît Minisini
e2d1dbe3e5 [GB.EVAL]
* BUG: Rewriting class names works now when the class name has only one 
  character.


git-svn-id: svn://localhost/gambas/trunk@3025 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-27 23:01:17 +00:00
Benoît Minisini
6059d4dcb7 [GB.IMAGE]
* NEW: New API for marking an image as modified, and for synchronizing it 
  before reading it, when the temporary image owner needs it.


git-svn-id: svn://localhost/gambas/trunk@3016 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-19 12:38:28 +00:00
Laurent Carlier
0b2beb5985 [GB.IMAGE]
* NEW: Add locking/unlocking internal api hooks, allowing Image class to be sure image is synced/locked
  to get correct access to image datas, and tag if image is altered.


git-svn-id: svn://localhost/gambas/trunk@3010 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-16 12:48:11 +00:00
Benoît Minisini
be6bde730d [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly deals with unknown components in the project property 
  dialog.

[INTERPRETER]
* NEW: Error backtrace is now always printed.
* OPT: Some optimizations in mathematical routines.

[GB.IMAGE]
* NEW: Image.FillRect() is a new method that fills a rectangle with a 
  specified color.


git-svn-id: svn://localhost/gambas/trunk@3007 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-15 06:54:38 +00:00
Benoît Minisini
b3db598050 [DEVELOPMENT ENVIRONMENT]
* BUG: Breakpoints are correctly reset when opening a new project.

[INTERPRETER]
* BUG: The GB.NewString(), GB.NewZeroString() and GB.TempString() API 
  signature has changed. All components have been updated accordingly.
* OPT: Many optimizations to speed up the interpreter.

[GB.EVAL]
* NEW: During syntax highlighting, the first character of class names is
  automatically converted to uppercase.


git-svn-id: svn://localhost/gambas/trunk@2992 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-06-04 23:48:53 +00:00
Benoît Minisini
17a6f7ebed [DEVELOPMENT ENVIRONMENT]
* BUG: Ignore incorrect paths when loading recent file list.

[INTERPRETER]
* OPT: Compute stack backtrace only when needed.


git-svn-id: svn://localhost/gambas/trunk@2975 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-28 07:47:49 +00:00
Benoît Minisini
3412ce6442 [CONFIGURATION]
* NEW: Object file format has changed, so bytecode version has been 
  incremented, and all projects must be recompiled. Yes, again!

[INTERPRETER]
* OPT: Optimizations in comparison operators.
* OPT: Optimize symbol lookup tables.

[COMPILER]
* OPT: Optimize symbol lookup tables.

[GB.EVAL]
* BUG: Gambas source code is correctly highlighted again.
* NEW: Quoted identifiers (those between '{' and '}') are highlighted more 
  intelligently now.


git-svn-id: svn://localhost/gambas/trunk@2971 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-27 13:51:09 +00:00
Benoît Minisini
1f592094a6 [CONFIGURATION]
* NEW: Bytecode version has been increased, and so all projects must be 
  recompiled.

[INTERPRETER]
* OPT: Objects that do not raise events do not allocate the event 
  management structure anymore. That save four pointers by object.
* NEW: Structure management is done, and embedded (static) structures are
  handled too.
* BUG: Static array management was fixed.
* NEW: All functions synonymous whose name ends with a question mark have 
  been removed.

[COMPILER]
* OPT: Some optimization again.
* BUG: EXTERN declarations compile again.

[GB.DB.SQLITE2]
* BUG: Fix a misuse of GB.NewString().


git-svn-id: svn://localhost/gambas/trunk@2970 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-26 22:01:28 +00:00
Benoît Minisini
b0a0c52af0 [INTERPRETER]
* NEW: More work on structure support.
* BUG: Fix optimization in error management.

[COMPILER]
* OPT: More optimizations. The Gambas 3 compiler is faster to compile the 
  Gambas 3 IDE than the Gambas 2 compiler to compile the Gambas 2 IDE, 
  which is smaller!
* NEW: Do not compute variable position and size, as it is done by the 
  interpreter anyway.

[GB.EVAL]
* NEW: Use the same optimizations as the compiler in the parser.

[GB.XML.RPC]
* BUG: The component compiles again.



git-svn-id: svn://localhost/gambas/trunk@2964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-25 11:19:00 +00:00
Benoît Minisini
4a544c567a [INTERPRETER]
* BUG: Use GB.ReturnNewZeroString() instead of GB.ReturnNewString() now. 
  All components using the old syntax should be fixed now.
* NEW: Start to manage structures.


git-svn-id: svn://localhost/gambas/trunk@2957 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-23 11:07:14 +00:00
Benoît Minisini
dffc0cbaa8 [GB.EVAL]
* NEW: Fix the error management the same way as in the interpreter.


git-svn-id: svn://localhost/gambas/trunk@2955 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-22 20:41:11 +00:00
Benoît Minisini
117f2ac635 [INTERPRETER]
* NEW: New GB.NewZeroString() API to create a Gambas string from a 
  null-terminated string. Components were modified to use it.
* OPT: Many optimizations everywhere.

[COMPILER]
* OPT: Many optimizations. The compiler should be noticeably faster.


git-svn-id: svn://localhost/gambas/trunk@2953 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-22 18:02:34 +00:00
Benoît Minisini
a2850ebc91 [CONFIGURATION]
* BUG: Do not compile database manager anymore, it has been deprecated.
* BUG: Compile the gb.dbus component.

[INTERPRETER]
* NEW: Pointer is a real datatype now.
* NEW: Static arrays came back. They are now like real array classes, 
  except that they are not resizable.
* NEW: IsPointer() is a new function that tells if an expression is a 
  pointer.
* NEW: All XXXX?() function synonymous were removed. Use the IsXXXX() 
  version instead.
* NEW: Remove now useless source files.

[COMPILER]
* NEW: Static arrays came back, with actually the same syntax as before.

[EXAMPLES]
* BUG: Fix the examples according to the new array syntax.



git-svn-id: svn://localhost/gambas/trunk@2949 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-19 12:43:57 +00:00
Benoît Minisini
1727304958 [DEVELOPMENT ENVIRONMENT]
* NEW: Shift+Enter disables automatic insertion of control structure 
  instructions.

[GB.FORM]
* BUG: Use images instead of pictures to draw little arrows in SidePanel 
  and MenuButton controls, so that it works with gb.gtk.

[GB.GTK]
* BUG: Found a woarkaround for sometimes slow as hell GTK+ image scaling 
  algorithm.
* BUG: Embedded windows correctly raise Open, Show and Hide events again.

[GB.QT4]
* BUG: Fix a bug in CheckBox creation that corrupted memory.


git-svn-id: svn://localhost/gambas/trunk@2934 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-05 14:26:07 +00:00
Benoît Minisini
029e4b5b18 [INTERPRETER]
* NEW: RDir() takes a fourth optional argument, that tells if symbolic link 
  to directories must be recursively searched too.

[GB.DEBUG]
* BUG: Prevent a possible freeze of the IDE when debugging.


git-svn-id: svn://localhost/gambas/trunk@2819 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-25 02:00:55 +00:00
Laurent Carlier
db9f0f66b4 Typo __CDBUG_H -> __CDEBUG_H
git-svn-id: svn://localhost/gambas/trunk@2812 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-19 14:43:57 +00:00
Benoît Minisini
6abae433a9 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the similar control menu in the form editor.
* NEW: Do not take the Padding into account when drawing Report containers.
* BUG: Some fixes in the Report dimension selector.
* BUG: Do not import any translation if no translation file has been
  selected in the translation dialog.

[INTERPRETER]
* BUG: When converting a string into a number with Val(), only accept 
  thousand separators after three digits.

[GB.DEBUG]
* BUG: Lock the debugger pipe between reads, to avoid the callback to be
  called ever and ever.

[GB.GTK]
* NEW: Tried to implement a transparent drawing area, but failed!
* NEW: Allow non-native GDK windows. This is experimental, as it crashed 
  before.
* BUG: Fix the ComboBox Click event behaviour. See the wiki for more 
  details.

[GB.QT4]
* BUG: Fix the ComboBox Click event behaviour. See the wiki for more 
  details.
* BUG: Sort sorted ComboBoxes before accessing it, not just before showing
  the popup.


git-svn-id: svn://localhost/gambas/trunk@2762 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-07 17:14:54 +00:00
Benoît Minisini
98ad2ba515 [DEVELOPMENT ENVIRONMENT]
* NEW: Properties wose kind is ReportBorder are now managed.
* NEW: Border and Padding are taken into account when drawing Report forms.

[INTERPRETER]
* BUG: Thousand separators are taken into account when trying to convert a 
  string to an integer.
* BUG: String[].Exist() now correctly returns a boolean.

[GB.DRAW]
* NEW: Paint.Device and Draw.Device now return NULL if nothing is 
  currently drawn.

[GB.REPORT]
* NEW: Change the syntax of ReportBorder.ToString() and ReportBorder[].

[GB.QT4]
* BUG: Dialog.SelectColor() does not quit the event loop unexpectedly 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@2760 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-07 01:38:15 +00:00
Benoît Minisini
c1dc30c5ca [GB.IMAGE.EFFECT]
* BUG: Remove undefined functions from qcolor.h.


git-svn-id: svn://localhost/gambas/trunk@2751 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-05 09:02:37 +00:00
Benoît Minisini
86768b1363 [CONFIGURATION]
* NEW: CygWin needs a -no-undefined flag when linking.

[INFORMER]
* BUG: Use dlopen() on CygWin.

[INTERPRETER]
* BUG: Fix some misuse of signed char.

[GB.DB]
* BUG: Fix some misuse of signed char.

[GB.EVAL]
* BUG: Fix some misuse of signed char.


git-svn-id: svn://localhost/gambas/trunk@2749 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-05 02:05:52 +00:00
Benoît Minisini
fffee54d40 [DEVELOPMENT ENVIRONMENT]
* NEW: Start to handle "Image" control properties.

[GB.DEBUG]
* OPT: The debugging callback is called again and again, even if there is 
  nothing sent by the debugger. So sleeping a little prevent from eating 
  the CPU.

[GB.REPORT]
* BUG: Use Float instead of Integer for coordinates arguments.
* NEW: Replace ReportImage.Path by ReportImage.Image.
* NEW: Clip the controls inside a dedicated procedure.


git-svn-id: svn://localhost/gambas/trunk@2726 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-28 17:26:00 +00:00
Benoît Minisini
c644455a2e [DEVELOPMENT ENVIRONMENT]
* NEW: Working on report form support. Report forms now can be created and 
  edited. Symbol auto-completion is not implemented.
* NEW: The toolbox is updated according to the current edited form family.
* BUG: Menu are correctly saved again.
* NEW: Component help is implemented in the project property dialog.

[GB.GTK]
* BUG: Menu are containers.

[GB.GUI]
* BUG: The *.component file has been fixed.

[GB.REPORT]
* BUG: Control public constants are almost correctly defined now, and 
  inheritance is used.

[GB.QT4]
* BUG: Menu are containers.
* BUG: The text of hidden TabStrip tabs is not lost anymore.



git-svn-id: svn://localhost/gambas/trunk@2713 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-23 03:21:43 +00:00
Benoît Minisini
eba1d9c405 [DEVELOPMENT ENVIRONMENT]
* OPT: Cache the welcome Gambas SVG logo in an image for faster redrawing.
* NEW: Start defining new control hidden properties in all components: 
  _IsControl, _Group, _Family, _IsVirtual, _IsContainer, _IsMultiContainer.

[EXAMPLES]
* NEW: Use new Paint methods in the Painting example.

[INTERPRETER]
* BUG: Instr() and RInstr() correctly handle non-ASCII characters.

[GB.DRAW]
* NEW: Support for Paint.RichText and Paint.RichTextExtents.

[GB.GTK]
* BUG: Rich text relative font sizes are now correctly handled.
* NEW: Implement Paint.RichText and Paint.RichTextExtents.

[GB.QT4]
* NEW: Implement Paint.RichText and Paint.RichTextExtents.


git-svn-id: svn://localhost/gambas/trunk@2698 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-14 01:16:27 +00:00
Benoît Minisini
6bfa9b5fe2 [CONFIGURATION]
* NEW: Remove the gb.qt and gb.qt.kde components.

[DEVELOPMENT ENVIRONMENT]
* NEW: Work on report form support continues.
* BUG: Do not crash if there is a compilation error and the IDE cannot open 
  the source file.

[GB.DB]
* NEW: The Find() and Edit() methods of the Connection class now works 
  correctly if the ORDER BY clause is used alone in the request argument.

[GB.QT]
* NEW: This component has been removed.

[GB.QT.EXT]
* NEW: This component has been removed.

[GB.QT.OPENGL]
* NEW: This component has been removed.

[GB.QT.KDE]
* NEW: This component has been removed.

[GB.QT.KDE.HTML]
* NEW: This component has been removed.


git-svn-id: svn://localhost/gambas/trunk@2683 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-10 01:58:50 +00:00
Benoît Minisini
a759a7817d [DEVELOPMENT ENVIRONMENT]
* NEW: Start working on report form support.
* BUG: Correctly refresh the hierarchy window when a form is reloaded.

[GB.IMAGE]
* BUG: The Color[].Saturation property now works correctly.

[GB.FORM.MDI]
* BUG: Fix the layout of toolbar without handle.


git-svn-id: svn://localhost/gambas/trunk@2673 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-08 15:59:30 +00:00
Benoît Minisini
fd13cc710e [COMPILER]
* NEW: Be more clever when detecting hexdecimal or binary numbers.

[GB.EVAL]
* NEW: Be more clever when detecting hexdecimal or binary numbers.

[GB.FORM]
* BUG: In DateChooser, switching to February works now, when there is 28 
  days in February and the current day is greater or equal than 29.


git-svn-id: svn://localhost/gambas/trunk@2651 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-31 20:32:12 +00:00
Benoît Minisini
6d3201bc1f [WIKI CGI SCRIPT]
* BUG: Linkification does not erase symbols references anymore.

[INTERPRETER]
* BUG: Use the system maximum path length constant, not ours.

[COMPILER]
* BUG: Allow Inherits to be followed by any indentifier.


git-svn-id: svn://localhost/gambas/trunk@2647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-28 10:55:24 +00:00
Benoît Minisini
927a153b22 [DEVELOPMENT ENVIRONMENT]
* BUG: Always correctly round control coordinates in the form editor when 
  the form Scaled property is set.

[GB.FORM]
* BUG: Clicking inside the FontChooser style ListBox now always works 
  correctly.

[GB.GTK]
* BUG: Setting the Control.Tracking property should work correctly in all 
  cases now.
* BUG: Prevent a crash when creating an Image or a Picture with incorrect
  constructor arguments.

[GB.IMAGE.EFFECT]
* BUG: Use accurate compilation flags.

[GB.NET]
* BUG: Clear the CR / NL input conversion flags when initializing a serial 
  port.

[GB.QT4]
* BUG: Setting MovieBox Path property to NULL does not fail anymore.
* BUG: Do not try to reparent a window in its Show() method when it is 
  already visible.


git-svn-id: svn://localhost/gambas/trunk@2618 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-20 00:52:50 +00:00