* NEW: Use the new WebSettings.Cache.Clear() method.
* BUG: Fix project lists layout when they are filtered.
[WIKI CGI SCRIPT]
* BUG: Workaround the thttpd cgi interface bug.
[INTERPRETER]
* NEW: A new API for browsing a directory recursively.
* NEW: Js$() is a new function that quotes javascript strings.
[GB.FORM]
* BUG: ColorChooser: Don't memorize custom colors spuriously.
[GB.GUI.BASE]
* BUG: GridView: Don't take hidden columns into account when layouting
expanded columns.
git-svn-id: svn://localhost/gambas/trunk@6447 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the custom browser support.
* NEW: Add Chromimum to the list of browsers.
[INTERPRETER]
* NEW: GB.GetProperty() and GB.SetProperty() API now return TRUE when they
have raised an error. FALSE is everything was ok.
[GB.FORM.MDI]
* NEW: Redesign the shortcuts configuration dialog.
* NEW: Shortcuts now can be exported and imported.
[GB.GTK]
* BUG: DrawingArea: Clipping is correctly established now before raising
the Draw event.
* BUG: Keyboard events have been fixed. Key array accessor and Key.Code now
behave the same way as in gb.qt4.
* BUG: The Key.Meta property works correctly now.
* BUG: Now keyboard events seem to be sent twice by GDK. Found a workaround
for that new weird behaviour.
* BUG: Automatic window minimum size now works correctly.
* BUG: Windows can take focus as in gb.qt4.
[GB.GUI.BASE]
* BUG: GridView: Do not use Draw.Clip to preserve the clipping of the Draw
event. Otherwise you get drawing artifacts with gb.gtk.
* BUG: GridView: Setting the column width to -1 is taken into account by
the layout routine.
git-svn-id: svn://localhost/gambas/trunk@6306 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Now a method or property object datatype can be overridden by a more
specialized one.
git-svn-id: svn://localhost/gambas/trunk@6249 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a echo button in the output console, that echoes the entered
command.
[WIKI]
* NEW: Add a HTTP server requests graph.
[INTERPRETER]
* BUG: The debugger does not change the Key property of collections when
displaying them.
* NEW: Collection.Key is writable now.
[GB.FORM]
* NEW: FontChooser: Always reset sample text at first use.
* BUG: FontChooser: Fix the behaviour when size changes.
git-svn-id: svn://localhost/gambas/trunk@6222 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The GB.CanRaise() API now does not take the locked status of the
parent object into account anymore. It really checks if an event has an
event handler.
git-svn-id: svn://localhost/gambas/trunk@6115 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The debugger now can be told to break the program on any error.
* NEW: Statistic tab in the project property dialog.
[INTERPRETER]
* BUG: Don't crash if an unknown option is passed with the '-g' option.
* NEW: The debugger now can be told to break the program on any error.
* NEW: System.BreakOnError is a new property that allows to set the
internal "break on error" option at runtime. I don't know if it is
actually useful, so I may remove it.
[GB.DEBUG]
* NEW: The debugger now can be told to break the program on any error.
git-svn-id: svn://localhost/gambas/trunk@6011 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: When the 'gb.web' component is selected, a new option is available
in the project property dialog: "Run in an embedded HTTP server".
(INTERPRETER]
* NEW: GB.System.Debug() is a new API that allows to know if the
interpreter is run in debugging mode.
[GB.DEBUG]
* NEW: The debugger tells the IDE when its prompt is the first one.
[GB.HTTPD]
* NEW: Reset locale to "C" before running the http server.
* BUG: The CGI "SCRIPT_NAME" variable is set to "/".
* NEW: The default CGI timeout is now 10 minutes.
* NEW: Behave accurately when run in debugging mode : only one CGI script
at a time is allowed.
* NEW: When run in debugging mode, there is no CGI timeout.
git-svn-id: svn://localhost/gambas/trunk@5765 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.ReturnSingle() is a new API that allows to return a Single from a
method or property implementation routine.
[GB.NET.POP3]
* NEW: Pop3Client has a new Remove() method to delete a message from its
index. Pop3Client.Remove(n) is just a synonymous for
Pop3Client[n].Delete.
[GB.OPENAL]
* NEW: New component for the OpenAL 3D audio library. Work in progress...
[GB.OPENGL]
* BUG: Fix a possible crash in GL.GenTextures(). I guess that bug will have
to be fixed in other equivalent routines.
git-svn-id: svn://localhost/gambas/trunk@5753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the frame position when dragging a control from the toolbar on
a container.
* NEW: The project file properties dialog is now based on the new
FileProperties control.
[INTERPRETER]
* NEW: GB.OnErrorBegin() and GB.OnErrorEnd() are two new APIs that allow to
register cleanup routines that are called when an error is raised between
the GB.OnErrorBegin() call and the GB.OnErrorEnd() call.
[INFORMER]
* BUG: The value of Float constants is now correctly dumped in *.info
files.
[GB.COMPLEX]
* NEW: Implement the same Complex.ToString() method as in gb.gsl.
[GB.DESKTOP]
* NEW: Desktop.DataDir is a new property that returns the directory where
the application must store its user-specific data.
* NEW: Desktop.ConfigDir is a new property that returns the directory where
the application must store its user-specific configuration.
* NEW: Desktop.CacheDir is a new property that returns the directory where
the application must store its user-specific cached data.
* NEW: Desktop.RuntimeDir is a new property that returns the directory
where the application must store its temporary runtime files.
* BUG: Fix a possible crash when searching a mimetype from the file
extension.
[GB.FORM]
* NEW: FileProperties is a new control that displays the properties of a
specific file or directory. It automatically computes the size of
directory contents through a background task.
* BUG: Setting the TabPanel.Border property now correctly refreshes its
layout.
* NEW: The stock icon map now can declare specific icons for specific
widget themes.
[GB.FORM.STOCK]
* NEW: Fix the 'tools' icon for elementary icon theme.
[GB.GSL]
* BUG: Fix the Vector.ToString() declaration.
[GB.QT4.EXT]
* NEW: The Editor.LineOffset property has been renamed as
Editor.LineNumberOffset.
git-svn-id: svn://localhost/gambas/trunk@5725 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: When the parent of an observer is detected invalid while raising an
event, detach the observer and not the observed object!
git-svn-id: svn://localhost/gambas/trunk@5567 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.Stream.Eof() is a new API that returns if there is something to
read on a stream, by taking the 'Line Input' internal buffer into
account.
[GB.NET.CURL]
* NEW: Now the Read event is raised again and again while there is
something to read.
git-svn-id: svn://localhost/gambas/trunk@5554 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: A new interpreter API that allows a component to tell that its
custom stream data is immediately available.
* BUG: GB.Stream.SetBytesRead() now increments the internal number of read
bytes, so that the 'Line Input' buffer is taken into account.
[GB.NET.CURL]
* NEW: The FtpClient or HttpClient Read event is now called as long as
there is something to read *and* the event handler actually read at least
one byte.
* BUG: The handle of a curl object is now -1 (i.e. it is not available).
* BUG: The data received by a curl object is immediately available to the
READ instruction.
git-svn-id: svn://localhost/gambas/trunk@5553 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fixes of bugs detected by Coverity Scan.
* BUG: Process output is correctly flushed at process exit now.
[COMPILER]
* BUG: Fixes of bugs detected by Coverity Scan.
[ARCHIVER]
* BUG: Fixes of bugs detected by Coverity Scan.
[INFORMER]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.COMPRESS]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.DEBUG]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.EVAL]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.IMAGE]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.IMAGE.EFFECT]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.VB]
* BUG: Fixes of bugs detected by Coverity Scan.
git-svn-id: svn://localhost/gambas/trunk@5493 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Check at startup that temporary directories are really directories
and not symbolic links.
git-svn-id: svn://localhost/gambas/trunk@5464 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do 'svn cleanup' in the parent directory of the project.
[COMPILER]
* BUG: Do not emit inaccurate line number information for forms and global
variables with no initialization.
[INTERPRETER]
* BUG: When creating the process temporary directory, check the permissions
of both the top directory (gambas.<userid>) and the process directory
inside.
git-svn-id: svn://localhost/gambas/trunk@5461 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The project tree control now uses the same icons as the main project
tree view.
* NEW: Support for LCDLabel.
[EXAMPLES]
* BUG: MediaPlayer: Remove uses of the DrawingArea.Painted property.
[INTERPRETER]
* BUG: The GB.GetProperty() API has been fixed, and now use the datatype of
the property for the return value.
* OPT: Remove some useless table symbol class at class loading for native
classes that do not raise events.
[GB.DRAW]
* NEW: PaintMatrix is now creatable.
[GB.FORM]
* NEW: LCDLabel is a new control that displays its contents with sixteen
segments LCD digits.
[GB.MEDIA]
* BUG: Remove the useless MediaPlayer.Visualisation property.
git-svn-id: svn://localhost/gambas/trunk@5412 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Get rid of the last use of the deprecated DrawingArea.Painted
property.
[INTERPRETER]
* NEW: The deprecated API message now displays the current code position.
[GB.FORM]
* NEW: The FileChooser and DirChooser label that displays the current
directory now "ellipsized" it if there is not enough room.
[GB.GTK]
* BUG: All style drawing methods now draw at the correct position.
* NEW: Start replacing old GDK drawing methods by Cairo methods.
[GB.MAP]
* NEW: Rename the MapViewer control as MapView.
* BUG: Don't redefine standard events. Use a proxy instead.
git-svn-id: svn://localhost/gambas/trunk@5396 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Move the '.SubCollection' virtual class to the gb.db. component.
[GB.DB]
* NEW: Move the '.SubCollection' virtual class to the gb.db. component.
[GB.FORM]
* BUG: TabPanel: Fix the algorithm ensuring that the current tab is
visible.
git-svn-id: svn://localhost/gambas/trunk@5326 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: Switch to 3.3.90 version.
[WEBSITE MAKER]
* NEW: Update for 3.3.2 version.
[INTERPRETER]
* NEW: New API for getting information about a file.
[GB.DESKTOP]
* NEW: _Desktop.Time is a new property that returns the last X11 timestamp.
* NEW: _Desktop.ActivateWindow() is a new method that will be removed in a
next commit.
* NEW: DesktopWindow.Activate() is a new method to activate a window.
[GB.GTK]
* NEW: New GB_INFO constant to return the last X11 timestamp to other
components.
[GB.HTTPD]
* NEW: Reindent source files.
[GB.QT4]
* NEW: New GB_INFO constant to return the last X11 timestamp to other
components.
[GB.QT4.WEBKIT]
* BUG: Fix WebHitTest.Editable property declaration.
git-svn-id: svn://localhost/gambas/trunk@5221 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Some little redesign of the welcome dialog.
* NEW: Remove the "Alternate" theme color.
[COMPILER]
* NEW: New WebPage syntaxes: <<Include>>, <</Include>>, <%/%>, <<--->>.
[GB.EVAL]
* NEW: Highlight.Alternate has been deprecated.
[GB.EVAL.HIGHLIGHT]
* NEW: Support for the new WebPage syntaxes.
[GB.QT4.EXT]
* NEW: Editor: The alternate background is automatically computed.
* NEW: Editor: Brace highlighting now works on alternate background.
* NEW: Highlight.Alternate has been deprecated.
git-svn-id: svn://localhost/gambas/trunk@5177 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the enumeration API. GB.ListEnum() has been replaced by
GB.BeginEnum() and GB.EndEnum(), that save the state of the internal
current enumeration.
[GB.MIME]
* BUG: Raise an error when the MimeMessage constructor fails while parsing
a message.
[GB.NET.POP3]
* BUG: _Pop3Client_Message must not inherit MimeMessage.
* NEW: _Pop3Client_Message has a new Message property that returns the
decoded MimeMessage.
* NEW: _Pop3Client_Message has a new Deleted property that returns if the
message has been deleted.
* NEW: _Pop3Client_Message has a new Id property that returns the
message id, which is its index plus one.
* NEW: _Pop3Client_Message has a new Index property that returns the
message index, which is its id minus one.
* BUG: Hides protocol dependent routines.
* NEW: The error returned by the Pop3 client is directly used for the error
message.
* OPT: Remove duplicated code in TCPClient and SSLCLient. Centralize it in
the PopClient parent class.
* BUG: Fix the single line response reading of SSLClient.
* BUG: Fix the multiple line response reading of SSLClient and TCPClient.
* BUG: Do not display password on the standard error in debugging mode, but
eight "*" characters instead.
* NEW: Many methods do not return a boolean status, but raise an error
instead.
* BUG: Methods that return their result as a boolean status now return TRUE
if they fail, not if they succeed (this is the Gambas convention).
* BUG: Fix the Pop3CLient.List() method.
* NEW: Rename the Pop3Client UniqueId() method as ListUniqueId().
* BUG: Fix the Pop3Client.ListUniqueId() method.
git-svn-id: svn://localhost/gambas/trunk@5134 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Moving, renaming or deleting a source file now should correctly
refresh the search list, the breakpoint list and the task list.
[GB.FORM]
* NEW: ScrollArea draws a focus border when it has focus.
[GB.NET.POP3]
* NEW: Make Pop3Client a virtual control like SmtpClient.
git-svn-id: svn://localhost/gambas/trunk@5121 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: Fix the GB.ReturnConvVariant() API so that it does not free the
return value incorrectly.
git-svn-id: svn://localhost/gambas/trunk@5060 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
* 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
* BUG: Do not display a thumbnail for images too large or too high.
* NEW: Implement bookmarks for code editor only.
* NEW: Automatic local variable declaration is disabled by default.
[INTERPRETER]
* NEW: GB.Deprecated() is a new interpreter API that displays a warning
message for deprecated functions at runtime. When the project is
debugged, an error is raised instead.
[GB.FORM]
* NEW: Deprecate Stock.List which has been replaced by Stock.Icons.
[GB.QT4]
* BUG: Fix the case of Action.Tooltip property name.
[GB.QT4.EXT]
* NEW: Editor: Support for bookmarks.
* OPT: Editor: Do not compute the character width table each time the font
changes. Use a cache instead.
* NEW: Editor.BookmarkPicture is a new property for defining the picture
used for displaying bookmarks.
* NEW: Editor.FindNextBreakpoint() has been deprecated and replaced by the
Editor.Breakpoints property, that returns an integer array of all lines
having a breakpoint.
* NEW: Editor.Bookmars is a new property that returns an integer array of
all lines having a bookmark.
* NEW: Editor.CurrentLine is a new property for defining the current
executed line. It replaces Editor[].Current.
* NEW: Editor[].Bookmark is a new boolean property that defines if a
specific line has a bookmark.
git-svn-id: svn://localhost/gambas/trunk@5044 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The GB.GetFunction() API now correctly returns static functions.
git-svn-id: svn://localhost/gambas/trunk@5040 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: '_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: 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: 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: 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
* 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: 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
* 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: 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: 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: 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: 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: 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: 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
* 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
* 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: 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
* 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: 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
* NEW: Some cosmetic changes in system information dialog and tips dialog.
git-svn-id: svn://localhost/gambas/trunk@4076 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: 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: Remove the unused GB.ExistFile() API.
* NEW: Exist() now takes an additional optional boolean argument that tells
if symbolic links must be followed, like Stat().
* BUG: Fix a possible memory leak if the [...] array creation operator
fails for any reason.
git-svn-id: svn://localhost/gambas/trunk@3940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove a debugging message in the connection editor.
[INTERPRETER]
* NEW: '_property' is a new special method that must return TRUE when an
unknown symbol (stored in Param.Name) is a property. If that special
method is not implemented, all unknown symbols are methods.
* NEW: Remove the deprecated constant gb.Text.
* NEW: Param.Property has been removed.
[COMPILER]
* NEW: Handle the new '_property' special method. That method must be
public, dynamic, takes no argument, and must return a boolean.
git-svn-id: svn://localhost/gambas/trunk@3915 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
* NEW: Disable kill buttons correctly in database editor window.
[GB.FORM]
* BUG: Fix a possible crash in TableView when the editor control is moved.
[GB.QT4]
* NEW: The GridView Change event is raised when there is no current row
now.
git-svn-id: svn://localhost/gambas/trunk@3843 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Some little fixes (icons mainly) in several examples.
[INTERPRETER]
* NEW: Two new interpreter APIs to set and get the value of an object
property.
[GB.DEBUG]
* BUG: Fix a warning message.
[GB.FORM]
* BUG: Setting FileView Foreground and Background properties now work as
expected.
* BUG: IconView takes its Background and Foreground properties into
account now.
[GB.GTK]
* NEW: Control Background and Foreground properties are now automatically
applied to the proxy.
[GB.QT4]
* NEW: Control Background and Foreground properties are now automatically
applied to the proxy.
git-svn-id: svn://localhost/gambas/trunk@3826 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New API to return the Gambas installation path.
[GB.SDL]
* BUG: Use the Gambas installation path to find the default font.
git-svn-id: svn://localhost/gambas/trunk@3684 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Support for multi-dimensional arrays in the debugger.
[INTERPRETER]
* BUG: Support for multi-dimensional arrays in the debugger.
[GB.DEBUG]
* BUG: Support for structures.
* BUG: Support for multi-dimensional arrays in the debugger.
git-svn-id: svn://localhost/gambas/trunk@3654 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: External libraries can be located inside the project. They are
automatically copied into /tmp when used.
git-svn-id: svn://localhost/gambas/trunk@3651 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't show '$' in the dependencies combo-box of the component
property dialog.
[INTERPRETER]
* NEW: GB.Every() is a new API that allows a component to call a callback
regularly. Useful for polling something for example.
git-svn-id: svn://localhost/gambas/trunk@3429 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Code indentation routine correctly handles structures now.
[INTERPRETER]
* NEW: Object.LastEventName has been deprecated, and replaced by
the Param.EventName property.
* BUG: IsFloat() is now a synonymous for IsNumber().
* BUG: Intrinsic functions description has been updated.
[COMPILER]
* NEW: "\e" is a new string escape sequence equivalent to "\x1B".
[GB.FORM]
* NEW: Use the new Control.Proxy property instead of internal observers
inside compound controls (ValueBox, ButtonBox, MenuButton).
[GB.GTK]
* NEW: Control.Proxy is a new property that allows to define a control
proxy that will handle focus, key and mouse events in original control's
place.
[GB.QT4]
* NEW: Control.Proxy is a new property that allows to define a control
proxy that will handle focus, key and mouse events in original control's
place.
git-svn-id: svn://localhost/gambas/trunk@3387 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly handle all compiler error messages.
[INTERPRETER]
* NEW: Full management of the Single datatype.
* BUG: VarPtr() now works on Single local variables.
* BUG: Remove useless Tag property. It is defined in the Stream class now.
* BUG: Correctly free the Tag property in the Stream class.
[GB.GTK]
* BUG: Rich-text string management has been fixed. The ampersand character,
the "&", ">" and "<" entites are correctly interpreted now.
[GB.NET.CURL]
* BUG: Remove useless Tag property. It is defined in the Stream class now.
[EXAMPLES]
* NEW: The WebBrowser example has a download manager now.
git-svn-id: svn://localhost/gambas/trunk@3296 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not search text inside form anymore.
[INTERPRETER]
* BUG: The startup class is not global anymore, so that it does not
conflict with anythign having the same name in components. The
interpreter API that was returning the startup class has been updated
to reflect that change.
* BUG: File.Name("/a/b/") now returns a void string instead of returning
"b", to be coherent with File.Dir().
[GB.DESKTOP]
* NEW: Use the new API returning the startup class.
[GB.FORM]
* BUG: Setting DirView.Root with a path ending with a slash does not crash
anymore.
[GB.GTK]
* NEW: Use the new API returning the startup class.
[GB.QT4]
* NEW: Use the new API returning the startup class.
[GB.SIGNAL]
* NEW: Use the new API returning the startup class.
git-svn-id: svn://localhost/gambas/trunk@3267 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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: Polish the DirChooser/FileChooser bookmark button.
[GB.QT4]
* BUG: Send expected Leave and Enter events when a popup is closed.
git-svn-id: svn://localhost/gambas/trunk@3146 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not crash anymore when a native function returns one of its
argument.
* NEW: New interpreter API to enumerate a collection.
[GB.DBUS]
* NEW: Collection are fully supported now.
* NEW: The org.freedesktop.DBus.properties.GetAll() method has been
implemented.
* BUG: Correctly raise an error when calling a D-Bus method fails.
* BUG: Correctly release strings returned by D-Bus functions that must be
released.
git-svn-id: svn://localhost/gambas/trunk@3058 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix class header parsing in automatic completion.
[INTERPRETER]
* BUG: Class[].Signature has been implemented.
* BUG: Fix native method calling when some arguments must be converted.
* NEW: Two new interpreter APIs, GB.BorrowValue() and GB.ReleaseValue(), to
correctly manage values returned by GB.ReadValue().
[GB.DBUS]
* NEW: Support for exporting properties and methods. The GetAll() DBus
method has not been implemented yet, because marshalling Collection is
not supported yet. Sending signals is not supported yet too.
* NEW: The previous DBusObject class has been renamed as DBusProxy.
* NEW: A new DBusObject class. Each Gambas object that inherits DBusObject
is automatically exported through DBus.
* NEW: DBusSignal is a new class to catch DBus signals by giving its
interface name.
git-svn-id: svn://localhost/gambas/trunk@3047 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: StrPtr() now can take a second argument to specify the length of the
string we will read from memory. If that argument is not specified, the
string must ends with a zero character.
* OPT: Internal array management was optimized. It changes nothing for the
Gambas array class.
[COMPILER]
* OPT: Internal array management was optimized.
* BUG: Using embedded structure with a class that is not a structure now
raises an error.
git-svn-id: svn://localhost/gambas/trunk@2979 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
* BUG: L'API GB.ReturnNewString() doit pouvoir retourner une chaîne vide.
Dans ce cas elle le transforme en un GB.ReturnNull().
git-svn-id: svn://localhost/gambas/trunk@2960 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: New GB.NewZeroString() API to create a Gambas string from a
null-terminated string. Components were modified to use it.
* OPT: Many optimizations everywhere.
[COMPILER]
* OPT: Many optimizations. The compiler should be noticeably faster.
git-svn-id: svn://localhost/gambas/trunk@2953 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: Do not show a form in the treeview if no component implements its
family.
[INTERPRETER]
* NEW: Detect overridden classes, and automatically convert the return
datatype of Gambas and native functions using an overridden class.
* NEW: Convert overridden classes in the NEW instruction.
git-svn-id: svn://localhost/gambas/trunk@2912 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The GB.Stream.Read API reads up to a defined number of bytes when
its length argument is negative (like the READ instruction).
* NEW: Reading a stream up to a defined number of bytes blocks for the
first byte to read.
[GB.NET.SMTP]
* BUG: The SmtpClient now works when it is piped with a stream coming from
the openssl command, either with TLS or SSL.
* BUG: All SMTP commands are sent in lower case, because uppercase can
confuse openssl.
git-svn-id: svn://localhost/gambas/trunk@2864 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New APIs to get a Gambas stream from a stream object
(GB.Stream.Get), to read data from a stream (GB.Stream.Read) and to write
date to a stream (GB.Steam.Write).
[GB.NET.SMTP]
* BUG: The _Socket property has been replaced by the _Stream property, that
takes a Gambas stream.
* BUG: Correctly release the user and password strings when the SmtpClient
is freed.
git-svn-id: svn://localhost/gambas/trunk@2863 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New interpreter API to browse the project contents.
* BUG: RDir(".") does not crash anymore.
git-svn-id: svn://localhost/gambas/trunk@2861 867c0c6c-44f3-4631-809d-bfa615b0a4ec