* BUG: The translation file of the project is now always correctly loaded. That was a very old bug.
git-svn-id: svn://localhost/gambas/trunk@7919 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly call static event handlers when an event is raised.
git-svn-id: svn://localhost/gambas/trunk@7884 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: MenuButton: Take foreground color into account correctly.
* BUG: MenuButton: Clip text so that arrow is always clearly visible.
* BUG: MenuButton: Take the Design property into account correctly.
git-svn-id: svn://localhost/gambas/trunk@7864 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Process.CloseInput() is a new method that explicitly closes the process input, as if you send a CTRL+D from the shell. This implements the old process stream closing behaviour that was removed in revision #7622.
git-svn-id: svn://localhost/gambas/trunk@7833 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Project property dialog: New project arguments interface.
* NEW: Debugger: The project arguments is now selectable with a popup menu.
* BUG: Fix position history behaviour.
[INTERPRETER]
* NEW: Object.Type(), Object.Class() and Object.Is() now work with invalid objects.
[GB.FORM]
* NEW: Completion: Support for TextArea editor.
* NEW: Completion: Editor property is now writable.
* NEW: TableView: Raise a new Hide event when the editor is hidden.
[GB.FORM.EDITOR]
* NEW: TextEditor: CursorAt() is a new method that returns the cursor screen position from a line and a column.
[GB.GTK]
* NEW: TextBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: ComboBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: TextArea: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
[GB.GTK3]
* NEW: TextBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: ComboBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: TextArea: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
[GB.GUI.BASE]
* BUG: GridView: Newlines in cells with WordWrap property set are now taken into account correctly.
[GB.QT4]
* NEW: TextBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: ComboBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: TextArea: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
[GB.QT5]
* NEW: TextBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: ComboBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: TextArea: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
git-svn-id: svn://localhost/gambas/trunk@7825 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The error backtrace is now reset only when raising a new error. Consequently, the information is now kept when an error is propagated.
git-svn-id: svn://localhost/gambas/trunk@7807 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The Stream class now can raise a Resize event. Only the standard input stream (File.In) can raise it.
* NEW: If the startup class defines an Application_Read() or an Application_Resize() event handler, then the standard input stream is attached to it with the "Application" event name, so that these event handlers are used. Otherwise, the standard input stream must be attached and watched manually.
git-svn-id: svn://localhost/gambas/trunk@7785 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Finish the redesign of the debug panel.
[INTERPRETER]
* BUG: Fix a stack mismatch leading to a crash in Eval() when an "Unknown symbol" error occurs.
[GB.FORM]
* BUG: SidePanel: The Hide event is now raised after the SidePanel has been actually hidden.
git-svn-id: svn://localhost/gambas/trunk@7754 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't raise the write callback associated with a watched file descriptor if the read callback has disabled it.
git-svn-id: svn://localhost/gambas/trunk@7748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.GetArrayType() is a new API that returns the datatype of the elements of an array class.
git-svn-id: svn://localhost/gambas/trunk@7746 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Stream.Term.Width and Stream.Term.Height are two new properties that return the size of the terminal associated with the stream, if any.
* NEW: As soon as the terminal size is read on any stream with the previous properties, the SIGWINCH signal is watched, and the Application_Resize() public method of the startup class is called each time this signal is catched, meaning that the terminal has been resized.
git-svn-id: svn://localhost/gambas/trunk@7735 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Subst$() now does not crash anymore when its result is a void string.
git-svn-id: svn://localhost/gambas/trunk@7726 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add 'gb.form.terminal' to the component list.
* NEW: New component status icons.
[INTERPRETER]
* BUG: Correctly export Stream.Term description.
* NEW: Stream.Term.FlowControl is a new property that allows to set or retrieve if flow control is enabled on a terminal stream.
[GB.GTK]
* NEW: Change the name of 'NewChild' event argument.
[GB.GTK3]
* NEW: Change the name of 'NewChild' event argument.
[GB.QT4]
* NEW: Change the name of 'NewChild' event argument.
[GB.QT5]
* NEW: Change the name of 'NewChild' event argument.
[GB.FORM.TERMINAL]
* NEW: Support for the 'Set title' command.
* NEW: TerminalView now emits the Title event when the terminal requests a title change.
* NEW: Support for flow control. When output is suspended, the terminal contents becomes darker.
* BUG: Correctly update the scrollbar when switching between screens.
git-svn-id: svn://localhost/gambas/trunk@7714 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a possible crash in String.Code().
[GB.FORM.TERMINAL]
* OPT: Compress the attribute array associated with each line.
* OPT: Drawing line routine uses the JIT compiler.
git-svn-id: svn://localhost/gambas/trunk@7701 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a crash on one error message thrown incorrectly.
[GB.FORM.TERMINAL]
* OPT: Optimize drawing routine. Still slow, but less flicker.
* NEW: TerminalView: Add a blink property that enables or disables cursor blink.
[GB.GTK]
* BUG: Use cairo_paint() instead of cairo_fill() when Paint.Operator is not Paint.OperatorOver. Is it a Cairo bug?
[GB.GTK3]
* BUG: Use cairo_paint() instead of cairo_fill() when Paint.Operator is not Paint.OperatorOver. Is it a Cairo bug?
git-svn-id: svn://localhost/gambas/trunk@7698 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Stream.Term.Echo is a new property that allows to enable or disable the terminal echo mode.
[GB.FORM.EDITOR]
* NEW: Screen management splitted from TerminalView. TerminalView has two screens now. Switch between screens is not implemented yet.
git-svn-id: svn://localhost/gambas/trunk@7674 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Stream.IsTerm is a new property that returns if a stream is a terminal.
* NEW: Stream.Term.Resize() is a new method that resizes a terminal.
git-svn-id: svn://localhost/gambas/trunk@7669 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Timer: The constructor now takes the delay as optional parameter. And if that delay is specified, the timer is automatically started.
[GB.FORM.TERMINAL]
* NEW: TerminalView: internal control that only deals with displaying the terminal contents.
git-svn-id: svn://localhost/gambas/trunk@7664 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix declaration of CLASS_DESC_SYMBOL structure. The JIT compiler does not crash anymore.
git-svn-id: svn://localhost/gambas/trunk@7663 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a symbol table optimization that is disabled because it's not worth it.
* OPT: Force inlining of functions in symbol tables routines.
* OPT: A little optimization on routine string argument extraction.
git-svn-id: svn://localhost/gambas/trunk@7650 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Work on internal expression datatype analyze has continued.
* OPT: Compiling syntax trees is faster now.
[INTERPRETER]
* OPT: Analyzing objects a method or a property applies to is faster now.
* NEW: Remove an unused method in table symbol implementation.
git-svn-id: svn://localhost/gambas/trunk@7647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Collection methods now always update the Key property, being called normally or from the debugger.
* BUG: The debugger now sends the current key when enumerating collection keys.
git-svn-id: svn://localhost/gambas/trunk@7627 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly detect error when closing a process stream.
* BUG: Ignore EBADF errors when closing a stream. It means that the underlying file descriptor has already been closed.
git-svn-id: svn://localhost/gambas/trunk@7624 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Now raise an error when a stream cannot be closed, instead of silently ignoring it.
git-svn-id: svn://localhost/gambas/trunk@7622 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Close a buffered stream even if fclose() fails. Temporary fix.
git-svn-id: svn://localhost/gambas/trunk@7620 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: DateDiff() correctly returns zero when asking for the number of days between two timestamps having the same date.
git-svn-id: svn://localhost/gambas/trunk@7612 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Libraries are also searched in the current directory without version or vendor, for backward-compatibility.
git-svn-id: svn://localhost/gambas/trunk@7606 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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: Library specific path can be relative now. It is then relative to the project executable path.
* NEW: Libraries are now searched in the '~/.local/share/gambas3/lib' directory even if we are not in debugging mode.
git-svn-id: svn://localhost/gambas/trunk@7602 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Case insensitive comparison is now coherent whether natural comparison is specified or not.
git-svn-id: svn://localhost/gambas/trunk@7587 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for custom expression evaluators.
[GB.EVAL]
* NEW: You can now inheriting the Expression class to create a custom expression evaluator. You have to reimplement three methods: IsSubr(), that returns if a Gambas subroutine is allowed;
IsIdentifier() that returns if a specific identifier is known; GetValue() that returns the value of an identifier. All other methods you add to the class become your specific subroutine,
provided that you allow it in the IsIdentifier() method.
git-svn-id: svn://localhost/gambas/trunk@7545 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Shell$() does not try to convert into current locale anymore.
git-svn-id: svn://localhost/gambas/trunk@7542 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: _ready() is new special method that is called when an object construction is completly finished.
[COMPILER]
* NEW: Remove the call to _load() method in form constructors.
[GB.WEB.FORM]
* BUG: WebExpander: Remove a debugging message.
* NEW: WebForm.Debug is a new static property that, if set, dumps all exchanges between the server and the client in the browser console.
* NEW: Use the new _ready special method.
* NEW: WebLabel: Add the Border property.
* NEW: WebLabel: Alignment is a new property that defines the label horizontal alignment.
* NEW: A few changes in default style sheet.
git-svn-id: svn://localhost/gambas/trunk@7541 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add "-march=native" to the compilation flags. Maybe it could speed up then interpretrer a bit?
[DEVELOPMENT ENVIRONMENT]
* NEW: Connection editor: Update layout.
* NEW: Form editor: Clicking on the master selection selects the parent control.
[WEB SITE MAKER]
* NEW: Update for 3.8.4 version.
[GB.DB]
* BUG: Default values are now correctly taken into account by database templates.
[GB.DB.SQLITE3]
* BUG: Fix a possible uninitialized allocation of columns names.
[GB.UTIL]
* NEW: Class.Stat() class name argument now allows "../" in the name to search for classes in parent components.
[GB.WEB]
* NEW: Request.Language returns the main language requested by the HTTP client. This value can be directly assigned to System.Language.
* NEW: Session.Size returns the size of the session file in bytes.
[GB.WEB.FORM]
* NEW: Automatic management of favicon. The application favicon must be a file named "favicon.png" in the ".public" directory.
* NEW: The Align class for alignment constants.
* NEW: WebControl: Any control can raise a Message event now.
* NEW: The Message boxes now raise the "Message" event of the WebControl that opened the message box. If the event is not handled, then the event is raised by the WebForm of the control.
* NEW: The Select class for selection mode constants.
* BUG: WebComboBox: Define the default event.
* NEW: WebContainer: Indent is a new property that allows to add a left padding to the container.
* NEW: WebContainer: Extra children (those created after initialization) are now recreated with their event observer and event name, provided that the event observer is another WebControl.
* NEW: WebContainer: DeleteChildren() is a new method that deletes all container children.
* NEW: WebExpander: New container that implements an expander.
* NEW: WebForm: Teh application language now automatically switches to the language requested by the HTTP client.
* BUG: WebForm: Show() and ShowModal() method now raise the Open event.
* NEW: WebLabel: Add the Border property to the property list.
* NEW: WebLabel: Newlines in label text are automatically replaced by "<br>".
* NEW: WebTable: New control that implements an HTML table with automatic scrollbars. It gets its data through a Data event, and only displays the first hundred elements by default. A button allows to increase the number of displayed elements.
The 'Mode' property allows to define the selection mode. When rows are selectable, an extra columns is added, with radion buttons on single selection mode, and checkboxes on multiple selection mode. The indexes of selected rows is returned by
the 'Selection' property.
* BUG: Many fixes in the default stylesheet.
git-svn-id: svn://localhost/gambas/trunk@7536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Object.Raise() now works correctly with events having arguments.
git-svn-id: svn://localhost/gambas/trunk@7486 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the function that detects if a control needs a parent.
* BUG: When adding every new file to the subversion repository, the
'.gambas' directory is now correctly ignored.
[COMPILER]
* NEW: The _load() special method is now called just after the initial form
creation is finished.
[GB.WEB.FORM]
* NEW: Message is a new class for displaying message boxes.
* BUG: Fix management of control names.
* NEW: Implement the WebContainer.Delete() method and WebWindow.Delete()
methods. Child controls are now automatically deleted if their parent is
also deleted.
* NEW: WebControl.Show() and WebControl.Hide() are two new methods that are
synonymous of the Visible property.
* NEW: WebControl acts now like an collection-like array, so that you can
store user data associated with a control in the session.
* NEW: WebControl.Reset() is a new method to reset the control user data.
* NEW: WebForm.ShowModal() shows a form as a modal window.
* NEW: WebForm.Show() does not take an optional parent anymore. Windows are
always shown in the current form.
* NEW: Windows with no initial size are centered.
* NEW: WebImage is a new control that displays an image.
* NEW: WebLabel is a new control that displays a one-line vertically
centered label.
* NEW: WebTextArea is a new control that implements a multi-line text area.
git-svn-id: svn://localhost/gambas/trunk@7482 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimize access to objects whose class is "simple", i.e. without
parent, children, special check method, and not virtual.
* OPT: Detect when automatic conversion is useless in arithmetic and
comparison operators.
* OPT: Optimize a bit inequality comparison operators.
git-svn-id: svn://localhost/gambas/trunk@7476 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Subroutine table is faster to access now.
* OPT: Don't browse temporary directory at end if no temporary file has
been used.
git-svn-id: svn://localhost/gambas/trunk@7469 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Collection.Default is a new property that allows to define the
default value returned by a collection when a key has no value. Note that
assigning the default value does not clear the key. You have to
explicitly assign NULL for that.
git-svn-id: svn://localhost/gambas/trunk@7468 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Application.Dir is correctly declared now. Consequently, it will
work with JIT compiler.
git-svn-id: svn://localhost/gambas/trunk@7467 867c0c6c-44f3-4631-809d-bfa615b0a4ec