* NEW: Support for compiler warnings.
* BUG: Fix all detected warnings.
[COMPILER]
* NEW: A new compiler option '-w' to let it emit warnings.
* NEW: Emit warnings for unused variables, arguments, functions and for
local symbols that override global symbols. Public symbols are of course
not taken into account.
* NEW: If an argument is surrounded by braces, no warning will be emitted
if the argument is not used.
[GB.EVAL]
* NEW: OPTIONAL keyword is always followed by a space now when rewriting
Gambas code.
git-svn-id: svn://localhost/gambas/trunk@5122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Rewrite List class
* BUG: Fix memory leaks from breaking list enumeration
* BUG: Replace element destruction postponing in Deque by new API calls
git-svn-id: svn://localhost/gambas/trunk@5100 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.Serialize() is a new API that serializes a Gambas value to a
file.
* NEW: GB.UnSerialize() is a new API that serializes a Gambas value from
a file.
[GB.FORM]
* BUG: Stock.Icons works correctly in all cases now.
[GB.TASK]
* NEW: Task is not a stream anymore.
* NEW: The Task Read event now takes an argument, which is the data printed
on the task standard output. Normally, the data will come line by line.
* NEW: The Task Main method now can return any serializable value to its
parent.
* NEW: Task.Value is a new property that return the value returned by the
background task once it has terminated.
git-svn-id: svn://localhost/gambas/trunk@5079 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Allow components to access the interpreter API through a pointer and
not a full structure. It is a little bit slower (one more indirection),
but it uses less memory: one pointer instead of about 180.
[GB.GTK]
* NEW: Use the indirect API access.
[GB.QT4]
* NEW: Use the indirect API access.
[GB.TASK]
* NEW: Use the indirect API access.
* NEW: Task now is now a stream that can read the standard output of the
background task.
* NEW: Task now raises the Read event when the background task has printed
something on its standard output.
* NEW: Task now raises the Error event when the background task has printed
something on its standard error output. The event handler receives the
data in its first argument.
[GB.XML.RPC]
* BUG: Some english fixes in some error messages.
git-svn-id: svn://localhost/gambas/trunk@5077 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add support for double-linked lists in the interpreter API.
* NEW: GB.Wait() is a new API that waits for a specific number of
milliseconds, exactly like the WAIT instruction (i.e. the event loop is
run).
* NEW: GB.HasForked() is a new API that warns the interpreter that fork()
has been called (he has to do some stuff).
* NEW: Remove the GB_POST_FUNC datatype from the API.
[GB.DBUS]
* BUG: Fix some compilation warnings.
[GB.TASK]
* NEW: gb.task is a new component that allows to run background tasks by
"simply" forking the interpreter. Communication between the task and the
main process has not been implemented yet.
git-svn-id: svn://localhost/gambas/trunk@5076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly handle null dates.
[GB.DB.FORM]
* NEW: DataControl now uses a DateBox to edit date values.
[GB.FORM]
* NEW: DateBox handles null dates now.
* NEW: MaskBox hides its contents now when it is the default one and it
does not have the focus.
* NEW: DateChooser displays a little cursor following the mouse inside the
calendar and the time panel.
[GB.GTK]
* BUG: Fix popup management.
* BUG: Editable ComboBox controls now have the right background.
* NEW: Automatically temporarily release the keyboard and the mouse when
the debugger stops the program.
git-svn-id: svn://localhost/gambas/trunk@5066 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Try to avoir Application.Busy flickering in some dialogs.
[EXAMPLES]
* NEW: New Tablet event inspired by a project made by Ricardo Díaz Martín.
[GB.DRAW]
* NEW: Paint.DrawImage() takes a new optional argument that defines the
opacity of the drawing, between 0 and 1.
[GB.FORM]
* NEW: ScrollArea.Tablet is a new property that allows it to catch tablet
events.
[GB.GTK]
* BUG: Support for tablet events.
* BUG: Make mouse events in gb.gtk and gb.qt3 behave the same way.
* NEW: Mouse.State is a new property that return the state of all mouse
buttons as specified by the current mouse event.
* NEW: Mouse.Button now only returns the index of the button that triggered
the mouse event.
* BUG: Fix a typo in the name of the Pointer.YTilt property.
* BUG: DrawingArea.Tablet now works correctly when the DrawingArea is not
cached.
[GB.QT4]
* BUG: Mouse events from tablet now get accurate button information.
* BUG: Make mouse events in gb.gtk and gb.qt3 behave the same way.
* NEW: Mouse.State is a new property that return the state of all mouse
buttons as specified by the current mouse event.
* NEW: Mouse.Button now only returns the index of the button that triggered
the mouse event.
* BUG: Fix a typo in the name of the Pointer.YTilt property.
git-svn-id: svn://localhost/gambas/trunk@5057 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Move gb.adt to main/lib/adt. It doesn't have extra dependencies
git-svn-id: svn://localhost/gambas/trunk@5055 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix profiling of Eval() calls.
[INTERPRETER]
* NEW: GB.ReturnBorrow() is a new API to temporarily borrow the return
value.
* NEW: GB.ReleaseBorrow() is a new API to release the return value borrowed
by the previous function, without releasing it.
[GB.DEBUG]
* BUG: Fix profiling of Eval() calls.
[GB.V4L]
* BUG: Fix a compilation warning.
git-svn-id: svn://localhost/gambas/trunk@5053 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Image.RotateLeft() and Image.RotateRight() are two new methods for
rotating a image by 90° step.
git-svn-id: svn://localhost/gambas/trunk@5049 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Rewrote the component to use the signal management routines included
in the interpreter.
git-svn-id: svn://localhost/gambas/trunk@5039 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: New optimizations in profile file size.
* NEW: PageUp and PageDown keys now work as expected in the project filter
box.
[INTERPRETER]
* NEW: Support for new profile file format.
[GB.DEBUG]
* OPT: New profile file format.
[GB.LIBXML]
* NEW: Make this component exclude gb.xml.
[GB.XML]
* NEW: Make this component exclude gb.libxml.
git-svn-id: svn://localhost/gambas/trunk@4961 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The project tree filter box now tries to keep the focus.
* NEW: Hitting ENTER in the project filter box opens the current selected
file.
* NEW: Using arrows keys in the project filter box now moves the project
tree cursor.
* NEW: CTRL+L now sets the focus back to the project filter box.
* NEW: Hitting ESC in the project filter box now resets the filter.
* NEW: Add support for gb.gsl component in the project creation dialog.
[INTERPRETER]
* NEW: Support for floating-point constants.
* BUG: The equality operators of the _operator interface now can return -1
when a datatype is not supported.
[GB.COMPLEX]
* NEW: Remove methods that are implemented by the _operator interface.
[GB.QT4]
* OPT: Load clipboard format list only if the clipboard has changed.
[GB.GSL]
* NEW: Matrix can be compared with real or complex numbers. The number is
then multiplied by the identity matrix before doing the comparison.
git-svn-id: svn://localhost/gambas/trunk@4958 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: '_operators' interface has been renamed as '_operator'.
* NEW: Arithmetic operators now can be applied on two objects with
different classes. One at least must implement the '_operator' interface.
* NEW: Each class that implements the '_operator' interface has now an
automatic priority that follows the load order. When a binary operator
has two objects that implement two different '_operator' interface, the
one having the highest priority is used.
* NEW: Implementing all methods in the '_operators' interface is not
mandatory anymore. If one method is not implemented, then it is replaced
by a function that raises a 'Type mismatch' error.
[GB.GSL]
* NEW: Matrix arithmetic has been implemented.
* NEW: Matrix.Determinant() method.
* NEW: Matrix.Invert() method.
* NEW: Matrix.Transpose() method.
* NEW: Matrix _call special method multiplies a matrix by a vector.
* NEW: Vector <-> Array conversion.
git-svn-id: svn://localhost/gambas/trunk@4946 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a new API to create an object without calling the constructors.
[GB.CRYPT]
* BUG: Fix bad casting of strcmp() return value to boolean. The same
security flaw has been found in MySQL recently. See
http://seclists.org/oss-sec/2012/q2/493
[GB.GTK]
* BUG: Fix bad casting of strcmp() return value to boolean in the Font
management.
[GB.GSL]
* NEW: Matrix class built the same way as the Vector class, i.e. with the
ability to switch transparently between Float or Complex elements.
git-svn-id: svn://localhost/gambas/trunk@4945 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Implement the ^ operator in the '_operators' interface.
[GB.COMPLEX]
* NEW: Implement the ^ operator.
[GB.GSL]
* NEW: Implement the ^ operator in the Complex class.
git-svn-id: svn://localhost/gambas/trunk@4931 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Array of classes exported by a component are now correctly handled
by the component interface analyzer.
[INTERPRETER]
* BUG: The _operators interface now correctly takes into account the
"Float - Object" case.
[GB.GSL]
* NEW: Redesign of the Polynomial class. Now it implements a polynomial
that can switch between real and complex coefficients transparently.
* NEW: The ComplexPolynomial class has been removed.
git-svn-id: svn://localhost/gambas/trunk@4929 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Temporary hack in the GB.New() API so that we can pass a number of
arguments in some cases.
[GB.COMPLEX]
* OPT: Do not create complex objects during arithmetic operations when we
are sure that we can reuse a temporary one. That trick can be used in any
'_operators' interface.
git-svn-id: svn://localhost/gambas/trunk@4925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New gb.complex component
[INTERPRETER]
* BUG: Automatic array conversion now works with not yet loaded array
classes.
[GB.COMPLEX]
* NEW: New component that implements a rudimentary management of complex
numbers. This component is automatically loaded if a complex number
constant is encountered and no loaded component can already handle
complex numbers.
git-svn-id: svn://localhost/gambas/trunk@4924 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for imaginary number syntax. For example, using "3i" will
automatically load the gb.gsl component, create the corresponding complex
number and return it.
[COMPILER]
* NEW: Support for imaginary number syntax.
[GB.EVAL]
* NEW: Support for imaginary number syntax.
[GB.GSL]
* NEW: Support for imaginary number syntax.
* NEW: Vector class is now generic, and has two child classes: FloatVector
and ComplexVector, depending on the type of its elements.
* BUG: Support for arithmetic operators on Vector class has been removed.
It had too many problems.
git-svn-id: svn://localhost/gambas/trunk@4918 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Remove an apparently useless type definition, and fix compilation on
recent Linux kernels.
git-svn-id: svn://localhost/gambas/trunk@4902 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Raise the Kill event of a Process after having closed its I/O
streams.
[GB.DEBUG]
* NEW: Debug.GetSignal() is a new method that returns the description of a
signal from its numeric value.
git-svn-id: svn://localhost/gambas/trunk@4892 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The component is now compatible with the new way of arguments
handling, and does not crash anymore.
git-svn-id: svn://localhost/gambas/trunk@4890 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Can now profile each line of code, but beware: profiling makes the program much much slower.
[GB.DEBUG]
* OPT: Now DEBUG_calc_line_from_position has logaritmic time complexity instead of linear. That makes profiling each line much faster for large functions!
git-svn-id: svn://localhost/gambas/trunk@4886 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix Draw.Picture() when using the transformation matrix and not
specifying height or width.
git-svn-id: svn://localhost/gambas/trunk@4866 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Highlight.TextAfter returns the code as it should be displayed, even
if the Rewrite argument of Highlight.Analyze() is FALSE.
git-svn-id: svn://localhost/gambas/trunk@4844 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: If the project is read-only, the profile file is stored in the
process temporary directory in /tmp instead of the project directory.
* NEW: The name of profile files now follows this scheme: '.N.prof', where
'N' is an index incremented each time the project is run.
* BUG: Toolbars and popup-menus are correctly updated at first load form
text, source and form editors.
* BUG: Do not show or hide toolbars buttons outside of the toolbar
'Configure' event.
[INTERPRETER]
* NEW: The '-p' option now takes the profile file path as argument.
[GB.DEBUG]
* NEW: The profile file path can be specified on the command line.
[GB.FORM.MDI]
* NEW: Configured toolbars are drawn with a red frame.
[GB.GTK]
* BUG: Remove warnings displayed by the Control Raise() and Lower()
methods.
* BUG: Draw.Style methods now are correctly clipped.
git-svn-id: svn://localhost/gambas/trunk@4820 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB_PROFILE_MAX environment variable now can take the maximum size of
a profile file in megabytes. The default value is 512 Mb. The minimum
value is 128 Mb, and the maximum value is 4096 Mb.
git-svn-id: svn://localhost/gambas/trunk@4816 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Profile windows correctly display line numbers now.
[GB.FORM]
* NEW: Hidden transparent SidePanel controls now have a large handle.
[GB.QT4.EXT]
* NEW: Editor: Line numbers are not drawn behind a procedure separator.
* NEW: Editor.NoFolding is a new flag to disable procedure folding support.
* NEW: Editor.LineOffset is a new property to define the line number just
before the first displayed line (zero by default).
git-svn-id: svn://localhost/gambas/trunk@4803 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Handle the FAST keyword in function declaration.
[COMPILER]
* NEW: Each function can be declared individually FAST. The keyword must be
the first one on the line.
[GB.EVAL]
* NEW: Handle the FAST keyword in function declaration.
git-svn-id: svn://localhost/gambas/trunk@4769 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The component is hidden now.
* BUG: Do not crash anymore when profiling Eval().
[GB.JIT]
* NEW: The component is hidden now.
git-svn-id: svn://localhost/gambas/trunk@4763 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Some little redesign of the profiling GUI.
[EXAMPLES]
* OPT: Little optimization in GameOfLife example.
[INTERPRETER]
* NEW: System.Profile is a new property to disable or enable the
profiling at run time. Profiling can only be enabled if debugging
information are available.
[GB.DEBUG]
* NEW: Abort the program if the profile file is bigger than 512M.
git-svn-id: svn://localhost/gambas/trunk@4753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Profiling: The total function duration is now the same as the sum of
each line of code duration.
[WEBSITE MAKER]
* NEW: Add a "Release Notes" link in the menu panel.
[GB.DEBUG]
* NEW: Optimize the profile file format a bit.
git-svn-id: svn://localhost/gambas/trunk@4751 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Handle new format of profile files.
[INTERPRETER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.
[WEBSITE MAKER]
* NEW: An explicit link button that displays the 'news' page.
[COMPILER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.
[GB.DEBUG]
* NEW: New format for profile, more compact and faster to read.
git-svn-id: svn://localhost/gambas/trunk@4748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Allow to profile time spent waiting for events.
[GB.DEBUG]
* BUG: New profile file format that allows to profile lines of code that
are function calls.
[GB.GTK]
* NEW: Profile time spent waiting for events.
[GB.QT4]
* NEW: Profile time spent waiting for events.
git-svn-id: svn://localhost/gambas/trunk@4747 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Display callees and callers in the profile window.
* NEW: Display profiling of each line of code.
[INTERPRETER]
* NEW: Activate profiling at the line of code level. Beware, things become
slower!
[GB.DEBUG]
* NEW: Fix profiling at the line of code level.
[GB.FORM]
* NEW: GridView: Add a Scroll() method.
[GB.QT4.EXT]
* NEW: Editor: Add a ScrollBar property.
* NEW: Editor: Add ScrollX and ScrollY properties.
* NEW: Editor: Add a Scroll method.
git-svn-id: svn://localhost/gambas/trunk@4745 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add some debugging options directly in the 'Debug' menu.
* NEW: A new option to activate the profiling of the debugged project.
* NEW: Profiling windows. Not finished yet.
[INTERPRETER]
* BUG: Fix a crash that could occur if a error is raised inside an event
handler.
* NEW: Support for profiling.
* BUG: Fix a crash that could occur if a error is raised inside a signal
callback.
[GB.DEBUG]
* NEW: Support for profiling.
[GB.FORM]
* NEW: GridView now raises a Sort event when the sort properties are
changed.
* BUG: Fix a crash when changing the IconPanel Count property.
[GB.GTK]
* BUG: Fix the Font.Copy() method.
git-svn-id: svn://localhost/gambas/trunk@4740 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: PhotoTouch and MediaPlayer examples now use the gb.gui component.
[GB.GTK]
* NEW: Make GTK+ controls borderless, so that they are "transparent" like
gb.qt4 controls. This is work in progress! The PhotoTouch example now
works correctly with gb.gtk, the brightness dialog excepted.
* BUG: ScrollBars are correctly initalized now.
* BUG: Container.Find() does not take hidden controls into account anymore.
[GB.IMAGE]
* BUG: Image.Opacity() can handle images with premultiplied alpha correctly
now.
[GB.FORM]
* BUG: IconView: Item text is ellipsized without printing GTK+ warnings
anymore.
git-svn-id: svn://localhost/gambas/trunk@4729 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Disable debugging messages from signal management routines.
[GB.SIGNAL]
* NEW: Call previous signal handlers automatically when a specific signal
is catched.
git-svn-id: svn://localhost/gambas/trunk@4722 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Rename all API related to components, and fix components using them.
* NEW: New signal API that allows to catch signals from the event loop.
[GB.GTK]
* BUG: Use g_object_unref() instead of rsvg_handle_free() now.
git-svn-id: svn://localhost/gambas/trunk@4721 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: That new switcher component chooses between gb.gtk.opengl and
gb.qt4.opengl according to the current desktop in use.
git-svn-id: svn://localhost/gambas/trunk@4719 867c0c6c-44f3-4631-809d-bfa615b0a4ec