* BUG: Correctly handle the current component interpreter variable when an error occurs.
git-svn-id: svn://localhost/gambas/trunk@7603 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add an gambas appdata file and install it in /usr/share/appdata.
[DEVELOPMENT ENVIRONMENT]
* BUG: ImageEditor: Fix a possible crash when pasting an image.
* BUG: Correctly detect if a project is handled by subversion or not.
[INTERPRETER]
* NEW: Replace the internal `class->state` variable by two boolean flags:
`class->loaded` and `class->ready`.
* NEW: Overriding a class that is the parent of other classes is possible
again. I don't remember what prevented that to work, so I want to see.
[GB.DEBUG]
* NEW: Propagate the changes in the interpreter class structure.
[GB.EVAL]
* NEW: Propagate the changes in the interpreter class structure.
[GB.GUI.AREA]
* BUG: GridView: Setting the background color correctly refreshes the
control.
[GB.JIT]
* NEW: Propagate the changes in the interpreter class structure.
[GB.NET.SMTP]
* NEW: Replace the old gb.net.smtp component written in C and Gambas by a
new component with the same name entirely written in Gambas.
* BUG: Fix the authentication process.
* BUG: Fix how the result of the EHLO command is read.
[GB.QT4.EXT]
* NEW: LCDNumber control is now put in a "Deprecated" tab in the IDE
control toolbar.
git-svn-id: svn://localhost/gambas/trunk@6403 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Raising an error during the program exiting is possible now.
* NEW: Raise an error if an _exit method loads a new class. This is now
forbidden!
[GB.SETTINGS]
* OPT: Settings.Clear() does not mark the settings file to be saved if
there is nothing to clear.
git-svn-id: svn://localhost/gambas/trunk@6293 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Write in the bytecode file if a function uses the IsMissing() native
routine.
[INTERPRETER]
* OPT: Don't use a stack slot for missing arguments if the IsMissing()
function is not used.
git-svn-id: svn://localhost/gambas/trunk@6274 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Use a control variable to store the missing optional argument map,
so that the JIT compiler is not trapped.
git-svn-id: svn://localhost/gambas/trunk@6264 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: IsMissing() is a new function that returns if an optional argument
is missing. It always returns FALSE on a non-optional argument.
[INTERPRETER]
* NEW: Support for IsMissing().
git-svn-id: svn://localhost/gambas/trunk@6258 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update copyright year to 2013.
[GB.FORM]
* NEW: ImageView is a new control that allows to view an image inside a
scrolled view, at different zoom levels.
* BUG: FileProperties now works correctly if 'gb.desktop' is not used.
* NEW: The FileProperties preview tab now uses an ImageView control and has
a toolbar to zoom the preview.
* BUG: Add the 'linux' and 'gnu' icon in the stock icon list.
git-svn-id: svn://localhost/gambas/trunk@5770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: "Compress all" and "Uncompress all" action on project sub-
directories.
* BUG: Do not crash when checking for completion in text editor.
[INTERPRETER]
* BUG: Void string contants work correctly now.
[COMPILER]
* BUG: Functions now can have up to 65536 bytecode operations instead of
32768.
* NEW: Support for the Parent property of WebPage.
* NEW: WebPage markups attributes can use the <%...%> syntax.
[GB.EVAL.HIGHLIGHT]
* NEW: HTML highlighting has be rewritten. <%...%> markups are taken into
account inside <style> and <script> markups.
[GB.FORM]
* NEW: FileView and DirView now display hidden files lightly, and symbolic
links in italic.
* NEW: File properties dialog in FileChooser and DirChooser.
[GB.FORM.STOCK]
* NEW: Default icons for some mime types.
[GB.GTK]
* BUG: Menu click event is now triggered the same way as in gb.qt4.
* BUG: Control.HasFocus() works correctly now.
* BUG: Modal windows cannot be shrinked less then their initial size
anymore.
[GB.GUI.BASE]
* NEW: IconView, TreeView, ListView and ColumnView items now have a
RichText property.
[GB.WEB]
* NEW: WebPage.Parent property returns the parent webpage that includes the
current webpage with the <<...>> markup.
git-svn-id: svn://localhost/gambas/trunk@5623 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix structure field alignment mismatch that led to memory leaks.
git-svn-id: svn://localhost/gambas/trunk@5519 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the order of component exported classes loading after the
project has been loaded.
* BUG: Fix GB.CanRaise() API.
[GB.DB.FORM]
* NEW: DataView.Sorted is a new property that tells if the data can be
sorted by clicking on the column headers.
* NEW: DataView columns now show sort indicators, and data can be sorted in
descending order.
* NEW: DataSource.Ascending is a new property that defines the order of the
sort defined by the DataSource.Sort property.
[GB.FORM]
* NEW: Remove all controls that were moved to gb.gui.base.
* NEW: FileView file size units are translatable now.
[GB.GTK]
* NEW: Remove TreeView, ListView and ColumnView.
* NEW: Control.Tracking takes the proxy into account.
* NEW: Remove the Gambas part.
[GB.GUI.BASE]
* NEW: gb.gui.base is a new hidden component that is automatically loaded
by gb.qt4 and gb.gtk. It implements the following controls and classes
entirely in Gambas: TreeView, ListView, ColumnView, IconView, Action,
ScrollArea. These classes were located in gb.form and in the Gambas part
of GUI components before.
[GB.QT4]
* NEW: Remove TreeView, ListView and ColumnView.
* NEW: Control.Tracking takes the proxy into account.
* NEW: Remove the Gambas part.
[GB.WEB]
* NEW: Request.Query and Request.Path can be modified now.
* BUG: Overriding a CGI variable with Null works now.
git-svn-id: svn://localhost/gambas/trunk@5251 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The name of GridView controls is now always visible in the form
editor.
[INTERPRETER]
* NEW: Support for new QUIT syntax.
* NEW: Do not display overriding prefix in class names.
[COMPILER]
* NEW: QUIT now can takes an optional argument which is the program return
value.
[GB.ARGS]
* BUG: The "--version" option is not "----version" anymore
* NEW: If an error occurs, returns 1 as exit value and not 0.
[GB.FORM]
* BUG: GridView is correctly updated now when the Border property is set.
git-svn-id: svn://localhost/gambas/trunk@5246 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Object.CanRaise() is a new method that returns if a specific object
event has an event handler.
[GB.DB.FORM]
* NEW: DataView now raises a new Data event that allows to format the
contents of a cell just before it is displayed. The event receives three
arguments: the row, the column, and the cell value directly from the
underlying database.
* NEW: DataBrowser propagates the Data event of its inner DataView.
[GB.FORM]
* BUG: TableView: Apply a white background behind the currently edited
cell.
* BUG: ScrollArea: Draw the inner shadow correctly in all cases.
[GB.GTK]
* BUG: The Font object returned by Control.Font is now correctly updated
when the font of any of its parent changes.
* BUG: Ensure that when a mouse button is pressed, the same control
receives the mouse button release event.
[GB.QT4]
* BUG: The Font object returned by Control.Font is now correctly updated
when the font of any of its parent changes.
git-svn-id: svn://localhost/gambas/trunk@5059 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
* 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: "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: 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: 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
* 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: 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
* 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
* 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
* 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
* 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
* 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
* BUG: Normal arrays of structures are not supported. Display an error
message instead of compiling something that crashes the interpreter.
git-svn-id: svn://localhost/gambas/trunk@3454 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the Database example.
[INTERPRETER]
* BUG: Fix unchecked system calls.
[ARCHIVER]
* BUG: Prevent the archiver from putting the executable file into itself,
leading to a endless growing generated file.
* NEW: Files having the ".gambas" extension are now excluded from
executable archives.
[GB.DB.FORM]
* BUG: Remove the DataBrowser.Adjust property.
git-svn-id: svn://localhost/gambas/trunk@3272 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: System.FirstDayOfWeek is a new property that allows to define the
first day of the week if the default is not accurate. The default value
is gb.Sunday for english countries and gb.Monday otherwise.
* NEW: The Week() function now use the default first day of the week.
[GB.FORM]
* NEW: DateChooser now takes System.FirstDayOfWeek into account.
git-svn-id: svn://localhost/gambas/trunk@3151 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Arrays and structures can be sent to an extern function argument.
The extern function will receive the address of the data.
git-svn-id: svn://localhost/gambas/trunk@3035 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a crash is structure declaration analyze.
[INTERPRETER]
* NEW: Support for static array of structures. A static array of structure
'MyStruct' will create a temporary object whose class is '$MyStruct[]'.
That class does not inherit 'Array', and has only a few methods of the
Array class.
* NEW: Byte[].ToString() is a new method to convert a byte array to a
string. If no length is specified, ToString() assumes that the byte array
is a zero-terminated string.
* NEW: Byte[].FromString() is a new method that fills a byte array with the
contents of a string.
[COMPILER]
* NEW: Declaration of static arrays of structures is allowed.
git-svn-id: svn://localhost/gambas/trunk@3031 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been incremented, so all projects need to be
recompiled!
[INTERPRETER]
* OPT: Many little optimizations.
* OPT: Avoid calls to setjmp() when it is possible.
* OPT: Do not encode the stack drop inside the CALL instruction.
Executables are a bit larger, but a little speed is gained.
[COMPILER]
* OPT: Do not encode the stack drop inside the CALL instruction.
Executables are a bit larger, but a little speed is gained.
git-svn-id: svn://localhost/gambas/trunk@3013 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* 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
* 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
* 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
* NEW: The bytecode version has been incremented, as the object file format
has changed.
[DEVELOPMENT ENVIRONMENT]
* BUG: Handle static arrays in automatic completion.
[INTERPRETER]
* BUG: Handle public static arrays correctly.
[COMPILER]
* NEW: Handle structures, and write them inside object files.
* NEW: Class options (EXPORT, CREATE...) can only be written at the
beginning of the source file now.
* BUG: Fix some use of uninitialized values.
* BUG: Correctly write public static arrays in *.info files.
* NEW: Do not support old OPEN syntax anymore.
git-svn-id: svn://localhost/gambas/trunk@2952 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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