* BUG: The GB.GetFunction() API now correctly returns static functions.
git-svn-id: svn://localhost/gambas/trunk@5040 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The Gosub stack pointer is now correctly reset when a error has been
intercepted by the Catch instruction.
git-svn-id: svn://localhost/gambas/trunk@5020 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Translate all parts of error messages.
[INTERPRETER]
* NEW: Add an explicit error message when trying to override a class that
has already been used as a parent for another class.
git-svn-id: svn://localhost/gambas/trunk@5017 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix incorrect optimizations used by the _operator interface
management routines.
git-svn-id: svn://localhost/gambas/trunk@5015 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Comparison operators now correctly check for null objects when
comparing objects having the _operator interface.
git-svn-id: svn://localhost/gambas/trunk@5012 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Use MAP_ANON instead of MAP_ANONYMOUS. No need to make the
distinction between Linux and *BSD anymore!
git-svn-id: svn://localhost/gambas/trunk@5000 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not try to handle signals if there is no more signal handlers.
git-svn-id: svn://localhost/gambas/trunk@4998 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Each comment anywhere in the source code beginning with 'TODO:',
'FIXME:', or 'NOTE:' is automatically listed in a new tab named 'Tasks'
in the bottom debugging panel.
[INTERPRETER]
* BUG: Env[...] does not return a constant string anymore. Anyone can
change the environment in the background!
git-svn-id: svn://localhost/gambas/trunk@4989 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch to 3.2.90 version.
[DEVELOPMENT ENVIRONMENT]
* BUG: Fix automatic completion of project classes that reimplements
another class.
[WEB SITE MAKER]
* BUG: Fix scrolling frames on Chrome.
[INTERPRETER]
* NEW: Args and Env classes are now shortcuts for Application.Args and
Application.Env properties.
git-svn-id: svn://localhost/gambas/trunk@4977 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: You can convert a pointer to a static structure now. It is useful
when an extern function has a 'struct XXX **' argument.
git-svn-id: svn://localhost/gambas/trunk@4974 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: Add a GB.FreeStringLater() API to allow components to create a new
string with GB.NewString(), and let the interpreter frees it later.
[GB.GSL]
* NEW: Add a ToString() method to all classes. That method takes two
arguments: the first one tells if number must be localized. The second
one tells if complex numbers and polynomials are converted to a string
that can be sent to Eval().
* BUG: Adding a number N to a Matrix A is equivalent to adding N times the
identity matrix.
* NEW: The '^' operator has been implemented in the Matrix class. Only A^N
where N is an integer is valid.
git-svn-id: svn://localhost/gambas/trunk@4955 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Any operators of the _operator interface can be optional now. But
consequently, division by zero must be raised by the implementation.
* NEW: Implement Vector arithmetic operators.
* NEW: Rename some Matrix methods.
* NEW: Implement Polynomial arithmetic addition and substraction.
* BUG: Fix Polynomial to string conversion.
* NEW: Complex.Handle is a new property that returns the memory address of
the underlying complex number in memory.
git-svn-id: svn://localhost/gambas/trunk@4947 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
* BUG: Don't optimize the "_operators" interface when using anonymous
objects!
git-svn-id: svn://localhost/gambas/trunk@4944 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Remove a useless test in the macro that returns the class of an
object.
* OPT: Some little optimization in some type checks.
git-svn-id: svn://localhost/gambas/trunk@4939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Put every '_operators' interface related methods in the same source
file.
[GB.GSL]
* NEW: Polynomial _call() special method now is a synonymous of its Eval()
method. That way, you can write 'P(X)' to get the value of P(X).
git-svn-id: svn://localhost/gambas/trunk@4933 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
* NEW: When converting an instance of A to the class B, try the conversion
interface of A first. If A has no conversion interface, or if it cannot
handle the B class, then try the conversion interface of B if any.
[GB.GSL]
* NEW: Vector class has been implemented.
[GB.JIT]
* NEW: SPEC_CONVERT constant has been replaced by a field in the CLASS
structure.
git-svn-id: svn://localhost/gambas/trunk@4916 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly raise an error when trying to use NULL on classes
implementing the _operators interface.
* NEW: The _convert interface now must handle conversions from any
datatype.
[GB.GSL]
* NEW: Automatic conversion from numbers to Complex.
* NEW: Start implementating the Vector class.
git-svn-id: svn://localhost/gambas/trunk@4913 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Abs() and the negation operator on a null object implementing the
'_operators' interface does not crash anymore, and correctly raises an
error now.
git-svn-id: svn://localhost/gambas/trunk@4912 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: "_operators" is a new interface that allows any native class to be
used with most of arithmetic operators: +, -, *, /, Abs, =, <> at the
moment.
* NEW: The "_convert" interface now allows a class to be converted to any
datatype, not just other classes.
* NEW: Str() and Print uses the "_convert" interface to print a localized
string conversion of any object.
[GB.GSL]
* NEW: Use the new "_operators" interface so that complex numbers can be
handled by standard arithmetic operators.
* NEW: The Complex class now implements the "_convert" interface.
git-svn-id: svn://localhost/gambas/trunk@4908 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Static unknown properties can be used in a dynamic context now.
git-svn-id: svn://localhost/gambas/trunk@4897 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Now the _property special method can be static even if _unknown is
dynamic. Anyway, if _unknown is static then all unknown properties and
methods must be static, and if _unknown is dynamic, they all must be
dynamic.
git-svn-id: svn://localhost/gambas/trunk@4896 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: Reading an unknown property does not crash anymore if _unknown is
defined but not _property.
git-svn-id: svn://localhost/gambas/trunk@4891 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
* NEW: Always put a space between international currency symbol and amount
when formatting a currency.
git-svn-id: svn://localhost/gambas/trunk@4871 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix Format$() when using "AM/PM" just after a date formatting
character.
git-svn-id: svn://localhost/gambas/trunk@4870 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly release or keep the return value of a function when
destructors are called during epilogue.
git-svn-id: svn://localhost/gambas/trunk@4863 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Add a check to not create array classes when reimplementing or
inheriting native array classes. Hope that check is not wrong...
git-svn-id: svn://localhost/gambas/trunk@4856 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Partially support callbacks for extern functions. You can only convert functions in the current class to pointers
currently, i.e. functions that are referenced directly by their name.
git-svn-id: svn://localhost/gambas/trunk@4851 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: If there is an error, wake up the debugger on the current stack
position. Return to the last encountered line break after, not before.
git-svn-id: svn://localhost/gambas/trunk@4841 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fixed some bugs.
[INTERPRETER]
* BUG: "Read ... As String" now correctly returns a void string instead of null, if it read an empty string.
git-svn-id: svn://localhost/gambas/trunk@4839 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: "Extern" functions should now work hopefully, but callbacks are still not yet implemented.
* BUG: Fix conversion Class -> Variant for non-virtual classes.
* BUG: Some minor bug fixes.
[INTERPRETER]
* BUG: Load classes from JIT should work better now.
git-svn-id: svn://localhost/gambas/trunk@4831 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
* OPT: Use Application.Busy earlier when opening a project.
[WIKI CGI SCRIPT]
* BUG: Fix links with explicit version.
[INTERPRETER]
* BUG: Setting System.Profile does not crash the interpreter anymore when
profiling has not been activated by the '-p' command-line flag.
[GB.FORM]
* NEW: FileChooser and DirChooser: It is now possible to move up one
directory even if we are on the root of the current bookmark.
[GB.JIT]
* BUG: Fix some warnings.
[GB.XML.RPC]
* BUG: Fix component requirements.
git-svn-id: svn://localhost/gambas/trunk@4806 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Really fix use of static classes as extern function argument.
git-svn-id: svn://localhost/gambas/trunk@4801 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix class loading so that circular dependencies between class
initialization is possible.
* NEW: Exported classes are now completely initiliazed at startup. It may
break some things...
git-svn-id: svn://localhost/gambas/trunk@4798 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for variable number of arguments in extern functions.
* BUG: Fix use of static classes as extern function argument.
[COMPILER]
* NEW: Support for variable number of arguments in extern functions.
[GB.JIT]
* BUG: The GB_JIT environment variable has really no effect if it is
defined but a null string.
git-svn-id: svn://localhost/gambas/trunk@4796 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Enumerating the Param class does not leak memory in some cases
anymore.
git-svn-id: svn://localhost/gambas/trunk@4788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Debugging information is printed as soon as the GB_JIT environmental
variable is not null.
* NEW: If LLVM version is lesser than 3.1, a warning message is printed.
Normally, a crash should occur just after. :-)
git-svn-id: svn://localhost/gambas/trunk@4779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not crash when compiling a program again.
[INTERPRETER]
* OPT: Make API arrays constant.
* OPT: Comparison methods return back to gbx_exec_loop.c
git-svn-id: svn://localhost/gambas/trunk@4768 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Rebirth of _SUBR_add, _SUBR_sub and _SUBR_mul in 'gbx_exec_loop.c'.
* NEW: The code of these functions is now in a shared header named '
gbx_subr_common.h'.
git-svn-id: svn://localhost/gambas/trunk@4764 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
* BUG: Add gb.jit directory in the top Makefile.am so that it is compiled.
[INTERPRETER]
* NEW: System.Profile now only deactivate the instruction profiling.
Function calls keep being profiled. That way the IDE can read the profiled
output without crashing!
git-svn-id: svn://localhost/gambas/trunk@4762 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Now System.Profile has no effect if the project has not been started
in profiling mode from the IDE.
git-svn-id: svn://localhost/gambas/trunk@4761 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch to JIT compiler if available, and make it able to talk to gb.jit.
* BUG: GP must be NULL for new void stack frames.
[COMPILER]
* NEW: 'Fast' keyword means the class should be JIT-compiled.
[GB.JIT]
* NEW: JIT Compiler.
git-svn-id: svn://localhost/gambas/trunk@4759 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
* 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: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.
* BUG: Eval() is correctly profiled now.
[COMPILER]
* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.
git-svn-id: svn://localhost/gambas/trunk@4743 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: gb.ShortDate and gb.MediumDate predefined date formats now always
display years with four digits.
git-svn-id: svn://localhost/gambas/trunk@4741 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
* BUG: Activate debugging messages in signal management routines.
[GB.GTK]
* NEW: Implement the _NET_MOVERESIZE_WINDOW way of moving windows.
* BUG: Window state (Minimized, Maximized and FullScreen properties) is now
accurately returned.
git-svn-id: svn://localhost/gambas/trunk@4735 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: Define the 'Exec' preprocessor constant when making an executable.
* BUG: Packager: Replace spaces with underscores when using the vendor name
as package name prefix.
* BUG: Packager: Fix "make uninstall" in autoconf packages.
[INTERPRETER]
* BUG: Allow to override native array classes without crashing.
[COMPILER]
* NEW: New '-x' option to define the 'Exec' preprocessor constant.
[EXAMPLES]
* NEW: MediaPlayer: Real-time seeking.
* NEW: MediaPlayer: Use gb.desktop to suspend the screen saver while
playing a media file.
git-svn-id: svn://localhost/gambas/trunk@4715 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update *.component files to the new format.
* BUG: Fix component TEMPLATE directory.
[EXAMPLES]
* NEW: PhotoTouch: Display the browsed directory path.
[INTERPRETER]
* NEW: Change the 'main' hook syntax. Add a macro to call the previous
'main' hook, so that several hooks can be declared.
[GB.MEDIA]
* NEW: New multimedia component based on GStreamer.
[GB.GTK]
* BUG: Fix timer management so that it is compatible with the GB.Every()
interpreter API.
* NEW: Allows multiple 'main' hooks.
[GB.QT4]
* NEW: Allows multiple 'main' hooks.
git-svn-id: svn://localhost/gambas/trunk@4693 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The byte position to utf-8 position caching routine now works in all
cases.
git-svn-id: svn://localhost/gambas/trunk@4689 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix precision in both string to Float and Float to string
conversions.
git-svn-id: svn://localhost/gambas/trunk@4688 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Ignore non-significant decimal digits when converting a String to a
Float. In other words, now 2.0 = 2.
git-svn-id: svn://localhost/gambas/trunk@4685 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Remove the use and the definition of long double mathematic
functions. They are not used anymore.
git-svn-id: svn://localhost/gambas/trunk@4679 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: gb.MediumTime does not try to use AM/PM if AM/PM is not supported
by the current language.
git-svn-id: svn://localhost/gambas/trunk@4677 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Do not raise an error when a file path cannot be converted to the
local charset. Just do not make the conversion.
* BUG: Freeing any Stream object now automatically closes it.
* BUG: Stream.ReadLine() with no second argument does not crash anymore.
git-svn-id: svn://localhost/gambas/trunk@4664 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Rename the gb.xml component as gb.libxml.
[GB.LIBXML.XSLT]
* NEW: Rename the gb.xml.xslt component as gb.libxml.xslt
[GB.LIBXML.RPC]
* NEW: Rename the gb.xml.rpc component as gb.libxml.rpc
git-svn-id: svn://localhost/gambas/trunk@4640 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly raise errors when running an external process fails.
git-svn-id: svn://localhost/gambas/trunk@4628 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Call the error hook before printing the error message on the
standard error output.
git-svn-id: svn://localhost/gambas/trunk@4623 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Even() is a new subroutine that returns if a number is even.
* NEW: Odd() is a new subroutine that returns if a number is odd.
[GB.GTK]
* BUG: Close all windows correctly when a QUIT instruction is executed.
[GB.QT4]
* BUG: Close all windows correctly when a QUIT instruction is executed.
git-svn-id: svn://localhost/gambas/trunk@4615 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: In the open project dialog, setting the recent files sorting mode
now correctly takes the filter into account.
[WEBSITE MAKER]
* NEW: Add Randall Morgan in the authors list.
[INTERPRETER]
* BUG: In memory checking routines, take previous SIGSEGV and SIGBUS signal
handlers into account now.
git-svn-id: svn://localhost/gambas/trunk@4576 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not try to change the background color of menus. It breaks GTK+
widget style like Ambiance.
[GB.WEB]
* BUG: Setting a Request value to NULL now works as expected.
git-svn-id: svn://localhost/gambas/trunk@4573 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: INPUT now only read strings. It does not convert the read string
with Val() anymore.
* BUG: IIf() and [...] do not accept non-value datatypes (Class and
Function).
* NEW: Start supporting displaying Collection-like classes in the debugger.
git-svn-id: svn://localhost/gambas/trunk@4557 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The exp10() function is temporarily removed
from gbx on FreeBSD because of the BSD libc that
doesn't have this one.
[GB.V4L]
* NEW: compile with success on FreeBSD
git-svn-id: svn://localhost/gambas/trunk@4555 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: INPUT returns the read string if it cannot be converted to any
number or date.
git-svn-id: svn://localhost/gambas/trunk@4552 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the behaviour of INPUT so that it uses Val() again to convert
the values read from the stream.
git-svn-id: svn://localhost/gambas/trunk@4549 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Font size options has been renamed as "Default font size" and "Small
font size". The small font size is now used for all toolbars.
* NEW: The help browser proxy can be configured.
[GB.FORM]
* NEW: The stock icon named "earth" has been renamed as "internet".
[GB.QT4]
* BUG: If a form is defined as being not visible, then using it as a
startup form won't show it.
[GB.QT4.WEBKIT]
* NEW: WebSettings.DefaultProxy is a new constant for using the default
proxy configuration.
git-svn-id: svn://localhost/gambas/trunk@4543 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix String.Left$() when the second argument is greater than the
string length.
git-svn-id: svn://localhost/gambas/trunk@4542 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix version requirements on components in the packager.
[INTERPRETER]
* OPT: A little optimization in LINE INPUT.
[GB.FORM]
* NEW: GridView: Setting the column width to -1 make it fit its contents.
* NEW: GridView: Double-clicking on the right limit of a column make it
fit its contents.
git-svn-id: svn://localhost/gambas/trunk@4537 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Use mmap() to allocated the stack, not malloc(). Consequently,
calling functions recursively are now very fast.
[COMPILER]
* NEW: New FAST keyword.
git-svn-id: svn://localhost/gambas/trunk@4536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GOSUB can be recursive now, by saving the control variables, and
restoring them on RETURN.
[COMPILER]
* NEW: GOSUB can be used on any top-level labels.
git-svn-id: svn://localhost/gambas/trunk@4534 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New GOSUB instruction. You return from a GOSUB with the RETURN
instruction alone. Consequently, you cannot exit from a 'SUB' with it if
there is a pending GOSUB. The GOSUB stack is only limited by the
available memory.
[COMPILER]
* NEW: New GOSUB instruction.
git-svn-id: svn://localhost/gambas/trunk@4530 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: A new panel in the option dialog that allows to define which files
must be ignored when creating a source package or an installation
package.
[INTERPRETER]
* BUG: Fix String.Mid$() when the third argument goes after the string
length.
[GB.FORM]
* NEW: IconPanel now uses a GridView and not an IconView anymore.
* BUG: GridView.Mouse property now works as expected.
git-svn-id: svn://localhost/gambas/trunk@4528 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Adding years with DateAdd() to 29 Feb now switch to 28 Feb not to
create invalid dates if the result is not in a leap year.
git-svn-id: svn://localhost/gambas/trunk@4515 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly release the stack when dealing with a CATCH / FINALLY
instruction.
git-svn-id: svn://localhost/gambas/trunk@4512 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: LINE INPUT does not try to incorrectly release its stream argument
anymore when there is no stream argument.
* OPT: A little optimization in Space$(), Upper$() and Lower$().
* OPT: EXEC / SHELL ... TO does not return the process output through a
temporary string that will be freed later. If the string is big, then
the memory is retained longer than necessary.
git-svn-id: svn://localhost/gambas/trunk@4509 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: 't' and 'tt' are two new date formatting patterns that display the
timezone.
git-svn-id: svn://localhost/gambas/trunk@4507 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Destructors now can safely raise errors. If these errors are
ignored, the object is released anyway.
git-svn-id: svn://localhost/gambas/trunk@4506 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* BUG: Convert the return value of a native function to a variant
automatically only if the function call is done by a "CALL" bytecode.
Consequently the gb.signal component works again.
git-svn-id: svn://localhost/gambas/trunk@4489 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Object.Call() does not try to convert the return value if there is
no return value!
git-svn-id: svn://localhost/gambas/trunk@4467 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Formatting a date with gb.GeneralDate now always prints the time.
* BUG: The time part of a formatted date is never automatically removed
anymore.
git-svn-id: svn://localhost/gambas/trunk@4464 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Loading a library does not load its dependencies automatically
anymore. Now they behave like components, and the IDE will have to
compute the dependencies.
git-svn-id: svn://localhost/gambas/trunk@4463 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: System.Shell is a new property that allows to define the shell used
by the Shell instruction. By default, this is '/bin/sh'.
git-svn-id: svn://localhost/gambas/trunk@4453 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Make date formatting more consistent when the date part or the time
part is null.
git-svn-id: svn://localhost/gambas/trunk@4449 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Float and Single constants are now supported in native classes.
git-svn-id: svn://localhost/gambas/trunk@4444 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Fix some crash in database manager when removing fields or index.
* BUG: Fix position history.
* NEW: Add a history popup menu.
[INTERPRETER]
* NEW: The Html$() function now converts unicode non-breaking space (code
160) in a " " entity.
[GB.GTK]
* BUG: Now raise an error when using text-box methods on read-only
combo-boxes.
* NEW: GTK+ 2.16 is now required.
git-svn-id: svn://localhost/gambas/trunk@4415 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the Param array accessor, that returns a specific extra argument
from its index.
[GB.DBUS]
* BUG: Fix DBus method call when the method returns nothing. If there is an
error, it is correctly raised.
git-svn-id: svn://localhost/gambas/trunk@4413 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimize IIf() when its two last arguments have the same datatype.
git-svn-id: svn://localhost/gambas/trunk@4409 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix inline array operator when mixing objects and standard datatypes.
git-svn-id: svn://localhost/gambas/trunk@4408 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the IIf() function when its arguments have different types.
git-svn-id: svn://localhost/gambas/trunk@4405 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not try to handle Home and End keys in editors.
* BUG: Fix the translation of error messages made by the debugger.
* NEW: Update error message list.
[INTERPRETER]
* NEW: Chmod, Chown and Chgrp were implemented.
* NEW: Stat.Auth is a new property that returns the file mode as a string,
using the format of the 'chmod' shell command.
* NEW: Rmdir raises a specific 'Directory is not empty' error now, when
trying to remove a non-empty directory.
[COMPILER]
* NEW: Chmod <path> To <mode> was implemented. <mode> is a string having
the same format as the 'chmod' shell command.
* NEW: Chown <path> To <user> was implemented. <user> is the name of the
user as defined in the /etc/passwd file.
* NEW: Chgrp <path> To <group> was implemented. <user> is the name of the
group as defined in the /etc/group file.
git-svn-id: svn://localhost/gambas/trunk@4400 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: System.FullVersion now returns the full version string, with major,
minor and release.
* BUG: Missing return values are correctly catched in operators now.
git-svn-id: svn://localhost/gambas/trunk@4395 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New error message when a child process cannot be run for any reason.
* BUG: EXEC / SHELL ... FOR INPUT now work correctly when OUTPUT is not
specified, and there is not a true terminal to get the data that is not
redirected.
git-svn-id: svn://localhost/gambas/trunk@4392 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: In Report forms, draw ReportImage and ReportSvgImage according to
their Stretch property.
* NEW: Use a TabPanel instead of a TabStrip to draw the Report form.
* NEW: Make the grid visible in all form families, and align it correctly
even in a Report form.
[WEB SITE MAKER]
* NEW: Remove text shadows.
[INTERPRETER]
* NEW: Define a minimum and maximum bytecode version that the interpreter
can handle.
[GB.FORM]
* NEW: TabPanel buttons take a bit less space.
git-svn-id: svn://localhost/gambas/trunk@4389 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix Single constants when directly read, not through an object
reference.
git-svn-id: svn://localhost/gambas/trunk@4373 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The number of digits in default floating point formats was too high
for the available precision.
git-svn-id: svn://localhost/gambas/trunk@4363 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Try to fix Float to String conversion with a simpler routine.
git-svn-id: svn://localhost/gambas/trunk@4362 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Calling native methods on an anonymous reference now correctly casts
the return value to a Variant.
* BUG: Remove all Array class methods that break the inheritance rules.
[GB.GTK]
* BUG: Fix initial position of windows so that window manager constraints
are not overrided.
[GB.SETTINGS]
* BUG: Fix the use of Array class.
git-svn-id: svn://localhost/gambas/trunk@4361 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Database properties now can be editer even if there is no connection
property defined in the form.
[GB.FORM]
* BUG: TabPanel now should not crash if there is no tab visible.
* BUG: The first visible TabPanel button is now drawn correctly if its
index is not zero.
git-svn-id: svn://localhost/gambas/trunk@4348 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: A button to show or hide the system tables in the database editor.
* BUG: Copying button is enabled now in the SQL editor.
* NEW: SQL highlighting.
[GB.EVAL.HIGHLIGHT]
* NEW: SQL highlighting routine.
[GB.FORM]
* BUG: Fix an arrangement bug in TabPanel.
[GB.QT4.EXT]
* NEW: Editor.HighlightCurrent flag has been renamed HighlightImmediately.
* BUG: Braces are now highlighted even if they are not on the same line.
* NEW: Editor.HideMargin is a new flag to hide the editor left margin.
git-svn-id: svn://localhost/gambas/trunk@4344 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The "Browse again" button in the search list now does nothing if
there is no search string defined.
[INTERPRETER]
* NEW: Object[].FindByRef and Object[].ExistByRef are two new methods that
do not take the _compare special method into account. They compare
objects by reference only.
[GB.DB.FORM]
* NEW: DataBrowser.Border is a new property to define if a border should be
displayed or not.
* BUG: Fix DataBrowser layout for all orientations.
[GB.DB.MYSQL]
* BUG: Try to make connection timeout work as expected, without success.
It seems sticked to be at least one minute. :-(
[GB.FORM]
* BUG: IconView now behaves correctly when an item has no text. It uses there
new array methods that search items by reference only.
* NEW: TabPanel.Highlight is a new property that highlight the current
selected tab button.
* NEW: TabPanel.Closable is a new property that works exactly like
TabStrip.Closable.
* BUG: TabPanel.Remove() now works correctly.
* NEW: ScrollArea is more clever with mouse wheel events.
[GB.FORM.MDI]
* NEW: Workspace now uses a TabPanel instead of a TabStrip.
git-svn-id: svn://localhost/gambas/trunk@4342 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Correctly free constructor arguments when there is inheritance.
git-svn-id: svn://localhost/gambas/trunk@4277 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: Support for extern functions returning a C structure pointer.
git-svn-id: svn://localhost/gambas/trunk@4257 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: New GB.ReturnVariant() API for methods and properties that return a
Variant value.
[GB.DESKTOP]
* BUG: Fix DekstopWindow state properties.
* BUG: Use the new GB.ReturnVariant() API for _Desktop.GetWindowProperty().
git-svn-id: svn://localhost/gambas/trunk@4246 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: [Func()] now correctly raises an error if Func() does not return a
value.
git-svn-id: svn://localhost/gambas/trunk@4241 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: If() and the [...] operator now raise an error when they get a
non-standard datatype, instead of crashing.
git-svn-id: svn://localhost/gambas/trunk@4224 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix function calls for functions taking optional arguments and extra
arguments.
git-svn-id: svn://localhost/gambas/trunk@4223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Fix a useless and incorrect string initialization in the UTF-8 to
UTF-16 internal conversion routine.
* BUG: Native functions that return a string must not use the
GB.ReturnNull() API, but GB.ReturnVoidString() instead. Fix the
String.LCase() and String.UCase() functions accordingly.
* BUG: Date() function takes one argument, or at least three arguments now.
git-svn-id: svn://localhost/gambas/trunk@4213 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The form editor now embeds controls in a container that depens on
the form family (a Panel for a Form, a ReportPanel for a Report).
[INTERPRETER]
* BUG: Fix loop management when big negative values are used.
[GB.REPORT]
* NEW: Add an icon for the ReportPanel control.
git-svn-id: svn://localhost/gambas/trunk@4206 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Try to not lose the value of 'errno' if the select() system call
fails inside the event loop.
[GB.GTK]
* BUG: Fix arrangement when there is no place for expanded controls.
[GB.QT4]
* BUG: Fix arrangement when there is no place for expanded controls.
git-svn-id: svn://localhost/gambas/trunk@4182 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Disable echo by defaut when running a child process inside a virtual
terminal.
[DEVELOPMENT ENVIRONMENT]
* BUG: Run projects inside a virtual terminal.
git-svn-id: svn://localhost/gambas/trunk@4163 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly check how a system file descriptor is opened when
watching it.
git-svn-id: svn://localhost/gambas/trunk@4160 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimization of locale-aware string comparison routine.
* OPT: Do not use sprintf() for searching event handlers in symbol tables.
* OPT: String[].Find() and String.Exist() are now twice faster for ASCII
binary and case insensitive comparisons.
* BUG: Initialize the locale before loading any class.
* OPT: Do not use sprintf() when searching a file inside Gambas archives.
* OPT: Unroll a loop to speed up binary string identity comparison a little
bit.
* BUG: Collection keys are now hashed with their eight last characters.
* BUG: Internal Collection automatic resizing was disabled. Re-enable it!
git-svn-id: svn://localhost/gambas/trunk@4153 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't crash if a library cannot be found.
* NEW: Display a big message in the library tab of the project property
dialog to tell that library must be stored in the same directory as the
project using them.
[INTERPRETER]
* OPT: Some little optimization in natural comparison routine.
[GB.GTK]
* BUG: Do not crash if a null key is used for a stock picture. Just return
a null reference.
git-svn-id: svn://localhost/gambas/trunk@4145 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Some optimizations in date formatting.
* OPT: Now() has been optimized when run multiple times during the same
second.
git-svn-id: svn://localhost/gambas/trunk@4144 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Internal conversions between unicode and utf-8 have been optimized.
* OPT: String.UCase(), String.LCase() and String.Chr() have been optimized.
* BUG: Arrays of classes exported from a component or a library are now
automatically exported too.
* NEW: Param.All is a new property that returns all extra arguments as an
array.
git-svn-id: svn://localhost/gambas/trunk@4143 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix String.Pos(), and String.InStr() with a third argument.
[GB.QT4]
* BUG: GridView: Fix how the Change event is raised in single selection
mode.
git-svn-id: svn://localhost/gambas/trunk@4140 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: When opening an existing file descriptor, check its validity
immediately.
git-svn-id: svn://localhost/gambas/trunk@4134 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: When opening an existing file descriptor, check that it is opened
with a compatible mode. Otherwise raise an "Access forbidden" error.
git-svn-id: svn://localhost/gambas/trunk@4133 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Split System and Application class implementation in tow different
source files.
* NEW: A trick to watch existing file descriptors: opening ".XX" in direct
mode, where "XX" is the file descritor value.
git-svn-id: svn://localhost/gambas/trunk@4132 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimize the inequality comparison operators by putting them into
the gbx_exec_loop.c source file.
git-svn-id: svn://localhost/gambas/trunk@4113 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: A little optimization in string allocation.
* OPT: Optimize returning from a function.
* OPT: A little optimization in conditonal jump.
git-svn-id: svn://localhost/gambas/trunk@4108 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Don't use glibc memcmp() to compare strings. My own routine is a
little faster according to valgrind.
* OPT: The UTF-8 String class routines Left(), Mid() and Right() have been
optimized. The positions of the first 256 characters of the last string
processed by the String class are cached.
* OPT: Some native methods can be called like any other native subroutines.
But that can be used only inside the interpreter, not in a component.
* OPT: The '&' operator is faster now when it takes two arguments only (the
most frequent case).
git-svn-id: svn://localhost/gambas/trunk@4106 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* OPT: Optimize some string functions by not using arguments passed by
reference.
* OPT: Integrate the "=" operator function into the main execution loop to
save one function call.
* OPT: Optimize string comparison functions on x86 and x64_64 architectures
by comparing eight bytes in one shot.
git-svn-id: svn://localhost/gambas/trunk@4104 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Really fix the way Trim() handle null strings. Now there is no
memory leaks anymore.
git-svn-id: svn://localhost/gambas/trunk@4100 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: DateAdd() does not raise an overflow error anymore when used on a
time value.
git-svn-id: svn://localhost/gambas/trunk@4096 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Quote comma in Html$().
[GB.WEB]
* NEW: Response.SetCookie() has a new optional argument to set if the
cookie is "HttpOnly".
* NEW: Session cookies are now automatically "HttpOnly".
git-svn-id: svn://localhost/gambas/trunk@4079 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Write instruction can write a bunch of bytes from a pointer address.
git-svn-id: svn://localhost/gambas/trunk@4077 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Some cosmetic changes in system information dialog and tips dialog.
git-svn-id: svn://localhost/gambas/trunk@4076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimizations in the Action property management.
[GB.GTK]
* OPT: Optimizations in the Action property management.
git-svn-id: svn://localhost/gambas/trunk@4073 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a project filter in the recent project list of the welcome
dialog.
[GB.REPORT]
* BUG: Fix a typo mistake in ReportVBox class.
git-svn-id: svn://localhost/gambas/trunk@4070 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix FOR...NEXT loop with Byte, Short and Single datatypes.
* BUG: FOR...NEXT loop optimization now works correctly if the step sign
changes.
git-svn-id: svn://localhost/gambas/trunk@4068 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: When checking inheritance, ignore the case of the "_new" special
method name.
[GB.REPORT]
* BUG: Fix some bad method overrides.
git-svn-id: svn://localhost/gambas/trunk@4067 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Fix PayPal link.
* BUG: Fix default font in style sheets.
[INTERPRETER]
* BUG: Now an inherited method checks that it has the same signature as the
parent method. This check is not done for a native class inherting
another native class. C/C++ programmers are supposed to know what they
are doing. :-)
[GB.DB.FORM]
* BUG: Rename all Refresh() methods as Update() in all controls, so that
the Refresh() method inherited from Control is not badly overridden.
* NEW: Change the way DataView chooses the height of a row.
[GB.GTK]
* NEW: Control.Refresh() now takes no argument.
* NEW: DrawingArea.Refresh() keeps taking four optional arguments
describing the sub-rectangle to refresh.
[GB.QT4]
* NEW: Control.Refresh() now takes no argument.
* NEW: DrawingArea.Refresh() keeps taking four optional arguments
describing the sub-rectangle to refresh.
git-svn-id: svn://localhost/gambas/trunk@4064 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Generate project help pages in temporary files so that the help
browser can put them in its history.
[GB.QT4.WEBKIT]
* BUG: The default user agent is returned when no specific user agent has
been set.
git-svn-id: svn://localhost/gambas/trunk@4060 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: String.IsValid() is a new method that returns if a string is a valid
well-formed UTF-8 string.
git-svn-id: svn://localhost/gambas/trunk@4050 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Components loaded at startup are now persistent. They are not
unloaded by the interpreter anymore. That should prevent crashes from bad
C++ libraries that have global static objects to delete. Qt can you hear
my cries?
git-svn-id: svn://localhost/gambas/trunk@4044 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Redesign the system information window and its contents.
[INTERPRETER]
* BUG: Do not leak object reference when an error is raised during an event
handler.
* BUG: When a broken symbolic link is encountered, Dir() now assumes it is
a file.
[GB.FORM]
* BUG: DirView now correctly ignores errors raised during the Icon event.
git-svn-id: svn://localhost/gambas/trunk@4035 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: In the library tab of the project property dialog, display the
dependencies of the libraries.
* NEW: Add a button to only display exported classes in the project tree.
[INTERPRETER]
* NEW: Loading a user library now automatically loads the other libraries
it depends on, as well as the components.
[GB.FORM]
* BUG: Fix orientation of "clear" stock icon for KDE4.
git-svn-id: svn://localhost/gambas/trunk@4024 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: Abort if a native class declares the same symbol twice.
* NEW: Two more standard error messages declared in gambas.h
git-svn-id: svn://localhost/gambas/trunk@3989 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Be more robust with native method signatures that forget the ';' at
the end of a class name, provided that a brace follows.
git-svn-id: svn://localhost/gambas/trunk@3973 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Translatable string constants are now correctly translated when they
are used as public symbols.
git-svn-id: svn://localhost/gambas/trunk@3963 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GridView.Columns[].Expand is a new property that allows to define if
a column automatically expands to fit the GridView visible width,
provided that the GridView.AutoResize property is set. If no column has
its Expand property set, then the last column will expand anyway.
* BUG: Fix a crash in GridView when the gb.gtk component shared library is
freed.
[GB.QT4]
* NEW: GridView.Columns[].Expand is a new property that allows to define if
a column automatically expands to fit the GridView visible width,
provided that the GridView.AutoResize property is set. If no column has
its Expand property set, then the last column will expand anyway.
git-svn-id: svn://localhost/gambas/trunk@3953 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The Main startup function now can return a value. If that value is
an integer or a boolean, then it will be the exit value returned to the
parent process.
* NEW: The Application.Return property has been removed.
git-svn-id: svn://localhost/gambas/trunk@3951 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for profiling. Not activated.
* NEW: Centralize signal handler management.
git-svn-id: svn://localhost/gambas/trunk@3950 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Exist() new implementation is now really backward-compatible.
git-svn-id: svn://localhost/gambas/trunk@3941 867c0c6c-44f3-4631-809d-bfa615b0a4ec