Commit graph

404 commits

Author SHA1 Message Date
gambas
0abba10995 Switcher component are now more clever, and support the lack of gb.qt4.
[INFORMER]
* NEW: Components now can include information for a list of alternatives component. The first one available will be included.

[GB.GUI]
* NEW: Includes information of the first available gui component.

[GB.GUI.OPENGL]
* NEW: Includes information of the first available gui OpenGL component.

[GB.GUI.QT]
* NEW: Includes information of the first available Qt component.

[GB.GUI.QT.WEBKIT]
* NEW: Includes information of the first available Qt webkit component.
2017-08-29 00:38:43 +02:00
gambas
f1abbae64d Support for TermForms in the compiler.
[COMPILER]
* NEW: Add support for terminal forms ('*.termform' file extension).
2017-08-24 20:17:08 +02:00
Benoît Minisini
46f31edffc Merge branch 'fix-nested-withs' into 'master'
[COMPILER] Fix Nested WITHs expression evaluation.

See merge request !1
2017-08-21 22:20:24 +00:00
gambas
ba37aa6da7 Fix pseudo-terminal initialization when running an external process with Exec or Shell.
[INTERPRETER]
* BUG: Fix pseudo-terminal initialization when running an external process with Exec or Shell.

[COMPILER]
* BUG: Fix a typo in 'gbc_trans.h' header.
2017-08-21 13:57:40 +02:00
Tobias Boege
48c951987b [CONFIGURATION]
* NEW: Add (short) commit hash and branch name to gb{a,c,i,x}3 --version when compiled from git
2017-08-15 11:58:48 +02:00
Adrien Prokopowicz
72ddc85f52 [COMPILER]
* BUG: The WITH's expression is now evaluated before entering the WITH's scope.
2017-08-12 18:12:13 +00:00
Benoît Minisini
c4bdedb4d4 [COMPILER]
* BUG: Oops, forgot to remove a debugging flag.


git-svn-id: svn://localhost/gambas/trunk@8130 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-04-27 13:46:49 +00:00
Benoît Minisini
c20cbb7972 [COMPILER]
* NEW: New instruction MOVE ... DOWNTO ... that renames a file and erase the destination atomically.

[INTERPRETER]
* NEW: New instruction MOVE ... DOWNTO ... that renames a file and erase the destination atomically.
* BUG: The signal handler now loops until the signal pipe is void.


git-svn-id: svn://localhost/gambas/trunk@8129 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-04-27 13:18:35 +00:00
Benoît Minisini
b225eba20f [CONFIGURATION]
* NEW: Update copyright year in all source files.


git-svn-id: svn://localhost/gambas/trunk@8056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-13 03:29:42 +00:00
Benoît Minisini
dd180e03ee [COMPILER]
* BUG: Fix internal datatype analyze. The compiler should not crash anymore on ARM.

[GB.DB.ODBC]
* BUG: Fix a 32-bits 'sprintf' format bug.

[GB.IMAGE.IO]
* BUG: Fix a 32-bits 'sprintf' format bug.

[GB.XML]
* BUG: Fix a 32-bits 'sprintf' format bug.


git-svn-id: svn://localhost/gambas/trunk@7887 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-09-03 23:45:59 +00:00
Benoît Minisini
c324389180 [COMPILER]
* NEW: Rename the internal class initialization method from "$load" to "@load", so that the valid identifier "$load" can be freely used by the user.


git-svn-id: svn://localhost/gambas/trunk@7797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-06-07 00:08:11 +00:00
Benoît Minisini
4c3370908c [COMPILER]
* 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
2016-03-20 01:27:31 +00:00
Benoît Minisini
5b75185c3a [COMPILER]
* OPT: Compile is now compiled with -O3 optimizations.
* OPT: Reserved words built-in symbol table is faster now.
* NEW: Initial support for expression datatype analyze. Some new errors are raised at compilation time, like using a string with the AND operator for example. The datatype analyzer is rougher than the IDE one because it is local to the compile class.
* OPT: Symbol table search is a bit faster.


git-svn-id: svn://localhost/gambas/trunk@7632 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-14 01:40:50 +00:00
Benoît Minisini
f34f52b928 [INTERPRETER]
* NEW: New library management.

[COMPILER]
* NEW: New library management.


git-svn-id: svn://localhost/gambas/trunk@7592 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-02-01 02:18:49 +00:00
Benoît Minisini
a6f458e05c [INTERPRETER]
* 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
2015-12-30 18:11:01 +00:00
Benoît Minisini
f63e8caf6b [COMPILER]
* BUG: Optional exported classes are now correctly inserted into '*.list' files.


git-svn-id: svn://localhost/gambas/trunk@7535 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-12-22 20:41:18 +00:00
Benoît Minisini
8d24b22411 [DEVELOPMENT ENVIRONMENT]
* 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
2015-11-18 01:29:28 +00:00
Benoît Minisini
4508817f56 [DEVELOPMENT ENVIRONMENT]
* NEW: When compiling changes the project information metadata, only reload 
  forms.
* NEW: Support for future webforms.
* NEW: About dialog: Mouse wheel now scrolls the text in both direction.

[COMPILER]
* NEW:  Support for future webforms.


git-svn-id: svn://localhost/gambas/trunk@7407 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-10-11 08:18:22 +00:00
Benoît Minisini
f19a549361 [CONFIGURATION]
* BUG: Forgot to put VERSION file in the source package file list.

[COMPILER]
* NEW: Trim the VERSION file before inserting into the ".startup" file.


git-svn-id: svn://localhost/gambas/trunk@7390 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-10-05 17:24:34 +00:00
Benoît Minisini
ac93f40a40 [COMPILER]
* BUG: Correctly set '.startup' file owner.


git-svn-id: svn://localhost/gambas/trunk@7313 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-15 15:04:22 +00:00
Benoît Minisini
991f685a3c [INTERPRETER]
* NEW: Component.FindFromPath() is a new method that returns the name of 
  the component a relative path belongs to.
* BUG: Fix the internal method that returns the component a relative path 
  belongs to.

[ARCHIVER]
* NEW: Better verbose mode.

[GB.GUI.BASE]
* NEW: Use the new Component.FindFromPath() method.

[GB.IMAGE]
* NEW: Color[].Luminance returns the luminance information of a color.


git-svn-id: svn://localhost/gambas/trunk@7309 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-14 10:53:02 +00:00
Benoît Minisini
8304ddf53f [COMPILER]
* NEW: Take into account the "Use 'VERSION' file" project option to compute
  the actual version in the .startup file.


git-svn-id: svn://localhost/gambas/trunk@7288 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-07 22:03:43 +00:00
Adrien Prokopowicz
d169f763a5 [COMPILER]
* NEW: Syntax errors in constant declarations now give more detailed 
  messages.

git-svn-id: svn://localhost/gambas/trunk@7221 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-08-13 13:25:46 +00:00
Benoît Minisini
930c7549d1 [INTERPRETER]
* NEW: Add a new GB.Component.Declare() API, that allows a component to
  dynamically register a class description.

[INFORMER]
* NEW: A component now can declare classes through a GB_OPTIONAL_CLASSES 
  public symbol. Theses classes are included into the information file,
  but are not automatically loaded as the ones defined through the 
  GB_CLASSES symbol.

[GB.FORM.STATUSICON]
* NEW: This component has been removed and replaced by gb.dbus.trayicon.
* NEW: This component now provide TrayIcon and TrayIcons classes that have
  exactly the same interface as the old ones.

[GB.DBUS]
* NEW: Remove the now useless DBusConnection.Raise(). The DBusConnection
  Register() and Unregister() are kept for backward-compatibility reason.
* NEW: Add DBus.Raise() and DBus[].Raise() to raise signals. At the moment,
  there is no difference between the two methods, as there no mean to
  indicate the sender raising a signal. I don't know yet how DBus decides
  which service sends a signal!

[GB.DBUS.TRAYICON]
* NEW: This component implements the tray icon DBus protocol. It is 
  automatically loaded by the GUI components.

[GB.GTK]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
* BUG: Fix the old TrayIcon implementation, so that it matches the QT one.

[GB.GTK3]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
* BUG: Fix the component name in deprecation warning messages.
* BUG: Fix the old TrayIcon implementation, so that it matches the QT one.

[GB.QT4]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.

[GB.QT5]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.


git-svn-id: svn://localhost/gambas/trunk@7154 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-29 01:46:51 +00:00
Benoît Minisini
e5db05b186 [COMPILER]
* BUG: Don't crash when a constant is the void string.


git-svn-id: svn://localhost/gambas/trunk@7144 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-19 08:19:54 +00:00
Benoît Minisini
4121439611 [COMPILER]
* BUG: Allow string constants longer than 255 characters when generating 
  *.info files.

[GB.FORM.EDITOR]
* NEW: TextEditor: Draw line ending spaces with dots.
* NEW: TextEditor.ShowSpaces is a new property that toggles the drawing of 
  spaces at the end of line.
* BUG: TextEditor: Don't crash anymore when calling the Clear method 
  (again).


git-svn-id: svn://localhost/gambas/trunk@7142 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-19 07:10:05 +00:00
Benoît Minisini
b55f5f427f [DEVELOPMENT ENVIRONMENT]
* NEW: The string constants are now quoted in *.info files. Take that into 
  account.
* BUG: Disable code that uses the old Editor procedure floding feature.
* NEW: Make the option dialog smaller.

[WIKI CGI SCRIPT]
* NEW: The string constants are now quoted in *.info files. Take that into 
  account.
  
[COMPILER]
* BUG: The string constants are now quoted in *.info files.

[GB.FORM.MDI]
* BUG: Workspace: Disable some unused code.

[GB.QT4]
* OPT: Minimize X11 window properties changes.

[GB.QT5]
* BUG: Window SKipTaskbar, Stacking, Border... properties (all that rely on 
  Xlib calls) now work correctly.
* OPT: Minimize X11 window properties changes.


git-svn-id: svn://localhost/gambas/trunk@7092 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-21 15:39:20 +00:00
Benoît Minisini
43f26cd8ff [CONFIGURATION]
* NEW: gb.qt5 component.

[EXAMPLES]
* BUG: Fix WebBrowser example.

[INTERPRETER]
* NEW: Fix compilation of EXEC and SHELL for older bytecode versions.

[GB.DB.FORM]
* NEW: Display the busy mouse cursor while loading SQL data.

[GB.QT4]
* NEW: Support for QT5.

[GB.QT5]
* NEW: Initial version of the QT5 component. Not everything is working. 
  There is no Embedder and TrayIcon controls.


git-svn-id: svn://localhost/gambas/trunk@7062 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-08 17:40:28 +00:00
Benoît Minisini
825eb39923 [COMPILER]
* NEW: A symbol followed by a point is never interpreted as a function if 
  it is used as a function name in the current class.


git-svn-id: svn://localhost/gambas/trunk@6856 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-22 22:46:11 +00:00
Benoît Minisini
6d0511cded [COMPILER]
* BUG: Remove a debugging message.


git-svn-id: svn://localhost/gambas/trunk@6839 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-17 23:33:38 +00:00
Benoît Minisini
2599961aca [DEVELOPMENT ENVIRONMENT]
* NEW: Get rid of the new warnings.
* NEW: Support for arguments without a datatype in function signatures.
* NEW: [ALT] + any brace character is a new editor shrotcut that add or 
  remove braces around the current word. Same thing for [ALT] + [<] or [>].
* NEW: Property editor: Add a clear button. Replace the MenuButton by a
  normal ComboBox.

[INTERPRETER]
* NEW: Support for the new '*.list' file format.

[COMPILER]
* NEW: New '*.list' file format that marks classes having static elements.
* NEW: A warning is emitted when a class having static elements is 
  overriden by a declaration. This is suspicious.
* NEW: A symbol in a local variable declaration, or a global variable or 
  property declaration can now be surrounded by braces to prevent a 
  possible warning.

[GB.FORM]
* NEW: Get rid of the new warnings.
* NEW: TabPanel[].Closable is a new property that defines if a specific tab
  has a close button.

[GB.FORM.MDI]
* NEW: Workspace: Try to minimize flickering during resizing. Not very
  successful.


git-svn-id: svn://localhost/gambas/trunk@6838 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-16 00:31:59 +00:00
Benoît Minisini
d050bcab25 [CONFIGURATION]
* NEW: Modify the installation process so that it will be able to run the 
  'gbh3' tool to extract help from component source files. Not usable yet
  as long as 'gbh3' depends on 'gb.pcre'.

[HELP EXTRACTOR]
* NEW: Move 'gbh3' project from '/app/src' to '/main/tools'.
* NEW: Add new options that are needed by the installation process.


git-svn-id: svn://localhost/gambas/trunk@6829 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-11 23:41:41 +00:00
Benoît Minisini
0d9032c2a2 [DEVELOPMENT ENVIRONMENT]
* NEW: Description of the gb.util.web component.
* NEW: A component/library project now can define if its information should 
  include the information of other components. This is useful if your 
  component includes another component at runtime that is hidden, or that 
  it does not depend on.

[INFORMER]
* NEW: Support for information include of components written in Gambas.

[GB.GUI.BASE]
* OPT: Border: Use Single instead of Float for properties. It saves some 
  memory space.
* NEW: Border: Properties for diaognal strikes.
* BUG: Border: Fix style syntax analyze.

[GB.UTIL.WEB]
* NEW: A new component that provides useful routines for web applications.
  They were located in gb.web before.

[GB.WEB]
* NEW: 'gb.util.web' is now automatically loaded, to provide 
  backward-compatibility with Gambas 3.6 applications using 'gb.web'.


git-svn-id: svn://localhost/gambas/trunk@6812 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-05 20:51:21 +00:00
Benoît Minisini
3d5894d409 [COMPILER]
* BUG: Fix a badly initialized variable in syntax tree analyze, that could
  lead to spurious "Expression too complex" errors.

[GB.EVAL]
* BUG: Fix a badly initialized variable in syntax tree analyze, that could
  lead to spurious "Expression too complex" errors.


git-svn-id: svn://localhost/gambas/trunk@6762 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-22 17:41:16 +00:00
Benoît Minisini
655f3474c7 [INTERPRETER]
* NEW: The process child errors raised before the exec() system call are 
  now catched in a separate function called by the compiler explicitly 
  after a SHELL or EXEC assignment.

[COMPILER]
* NEW: SHELL and EXEC assignments now call an hidden subroutine just after
  the assignment to immediately check for a possible child error.


git-svn-id: svn://localhost/gambas/trunk@6681 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-27 23:31:51 +00:00
Benoît Minisini
04f57300c1 [COMPILER]
* NEW: USE now can be followed by a comma-separated list of component 
  names. That way the syntax is the same as what was implemented in the
  gambas scripter 'gbs3'.


git-svn-id: svn://localhost/gambas/trunk@6649 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-12 22:48:31 +00:00
Benoît Minisini
5b930daea7 [INTERPRETER]
* NEW: Support for the new USE instruction.

[COMPILER]
* NEW: A class header now can include USE "xxxx" declarations, where "xxxx"
  is a component name. It means that the specified component will be loaded
  when the class is initialized, the first time it is loaded.


git-svn-id: svn://localhost/gambas/trunk@6648 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-12 22:25:37 +00:00
Benoît Minisini
c1010a0ff0 [INTERPRETER]
* OPT: Move some rare instructions (breakpoints & quit management) out of 
  the main interpreter loop.

[COMPILER]
* NEW: The parser now assumes that an identifier is a subroutine taking 
  some arguments only if it is followed by an open brace.

[GB.EVAL]
* NEW: The parser now assumes that an identifier is a subroutine taking 
  some arguments only if it is followed by an open brace.


git-svn-id: svn://localhost/gambas/trunk@6620 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-09 21:50:42 +00:00
Benoît Minisini
6734c6714a [DEVELOPMENT ENVIRONMENT]
* NEW: Work continues on the publish dialog box. Now tags and dependencies 
  can be edited, and a new user can be registered.

[FARM SERVER]
* NEW: Server is almost finished. You can now download a software, vote 
  for it, and search the software database.

[COMPILER]
* BUG: Dump boolean constants in *.info files the same way as the informer.

[GB.NET.CURL]
* BUG: HttpForm is not a control, contrary to its parent class HttpClient.


git-svn-id: svn://localhost/gambas/trunk@6570 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-10-24 20:06:18 +00:00
Benoît Minisini
2f871f3a02 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix a typo in an offline help message.
* NEW: The option dialog was reorganized so that user identity information 
  has itw own panel.
* NEW: The user identity is now written inside translation files.

[COMPILER]
* NEW: Write meaningful information in generated translation files.

[GB.FORM]
* BUG: Wizard: Fix the layout of wizard step titles.
* NEW: Add a new icon named 'identity'.

[GB.FORM.STOCK]
* NEW: Add a new icon named 'identity'.

[GB.WEB]
* BUG: The deprecated URL.Encode() and URL.Decode() functions now correctly 
  call URL.Quote() and URL.Unquote().


git-svn-id: svn://localhost/gambas/trunk@6503 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-23 00:27:31 +00:00
Benoît Minisini
a3c59253f6 [INTERPRETER]
* BUG: The PUSH CHAR byte code now works correctly with ASCII code greater 
  than 127.


git-svn-id: svn://localhost/gambas/trunk@6481 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-16 01:10:58 +00:00
Benoît Minisini
e5e9e513ed [DEVELOPMENT ENVIRONMENT]
* NEW: Support for classes defined twice in a component: once in the native 
  part, once in the gambas part.
* NEW: Use the new Paint.TrimText() method.

[INFORMER]
* NEW: Support for classes defined twice in a component: once in the native 
  part, once in the gambas part.

[GB.GUI.BASE]
* NEW: Paint.TrimText() is a new API that trim a text according to a 
  specified rectangle, adding an ellipsis character at the end if needed.

[GB.NET.SMTP]
* BUG: Fix a circular reference when using a normal SMTP TCP session.

[GB.QT4]
* OPT: A little optimization when drawing rich text.


git-svn-id: svn://localhost/gambas/trunk@6427 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-24 22:38:58 +00:00
Benoît Minisini
91c4402592 [CONFIGURATION]
* NEW: Support of GNU/kFreeBSD systems.

[DEVELOPMENT ENVIRONMENT]
* BUG: Fix a typo in english tips.

[INFORMER]
* NEW: Support of kFreeBSD.

[GB.DB.POSTGRESL]
* NEW: Check more directories when searching for libraries, so that it 
  works on debian systems.

[GB.V4L]
* NEW: Support of kFreeBSD.


git-svn-id: svn://localhost/gambas/trunk@6356 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-06-30 22:22:11 +00:00
Benoît Minisini
7abbd5e799 [DEVELOPMENT ENVIRONMENT]
* BUG: Don't check conflict on project configuration file if that files 
  does not exist.

[INTERPRETER]
* OPT: Move the string splitting routine in its own file and optimize it.

[INFORMER]
* BUG: Remove unneeded parenthesis on a test.

[GB.CLIPPER]
* BUG: Remove an unused variable.

[GB.DESKTOP]
* BUG: Fix error message in DesktopMime.

[GB.FORM]
* BUG: MaskBox: Raise the Change event after moving the cursor, so that it 
  behaves exactly like a TextBox.

[GB.FORM.MDI]
* NEW: Workspace: Count the number of detached windows so that the "detach 
  current tab" menu entry is disabled when needed.

[GB.GTK]
* BUG: Window.Utility should work even if the window is mapped now.

[GB.GTK3]
* BUG: Window.Utility should work even if the window is mapped now.

[GB.NET.PO3]
* NEW: Add a void constructor to the Pop3Client class for the 
  documentation.


git-svn-id: svn://localhost/gambas/trunk@6285 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-23 11:52:04 +00:00
Benoît Minisini
337e7c9329 [COMPILER]
* 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
2014-05-18 13:18:32 +00:00
Benoît Minisini
4c739969ef [COMPILER]
* 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
2014-05-08 15:10:21 +00:00
Benoît Minisini
6e894eb36d [COMPILER]
* BUG: Correctly raise a syntax error now when there is anything between 
  the left part of an assignment and the assignment operator.


git-svn-id: svn://localhost/gambas/trunk@6253 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-06 20:09:50 +00:00
Benoît Minisini
3f9d37a858 [INTERPRETER]
* BUG: Correctly drop arguments when using the new '...' symbol syntax.

[COMPILER]
* BUG: Correctly drop arguments when using the new '...' symbol syntax.


git-svn-id: svn://localhost/gambas/trunk@6252 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-05 20:16:41 +00:00
Benoît Minisini
cbd63b46a8 [INTERPRETER]
* NEW: Support for the new '...' symbol usage in function calls.

[COMPILER]
* NEW: '...' can be used for passing all the variables arguments of the 
  current function to another function. The '...' symbol must be the last
  argument of the function call.


git-svn-id: svn://localhost/gambas/trunk@6251 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-05 20:07:00 +00:00
Benoît Minisini
9995913a2f [GB.FORM]
* NEW: TabPanel.Moveable is a new property that makes tab button moveable 
  if set.

[GB.FORM.MDI]
* NEW: Workspace tab buttons are now moveable.


git-svn-id: svn://localhost/gambas/trunk@6239 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-08 22:59:21 +00:00
Benoît Minisini
3dc12551df [COMPILER]
* BUG: Raise an error if a function has too many arguments or too many 
  local variables.


git-svn-id: svn://localhost/gambas/trunk@6223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-05 11:02:17 +00:00
Benoît Minisini
f3438a8da9 [WEBSITE]
* NEW: Use the new wiki now.

[WIKI]
* BUG: Fix style sheet and class description layout.
* NEW: Inherited symbols links are in italic now.
* NEW: Automatic registration system.
* NEW: Use the new LOCK ... WAIT instruction.
* BUG: Some fixes in the old wiki conversion routine.
* NEW: The administrator account can see the recent changes.

[EXAMPLES]
* NEW: SmallWiki: Update the embedded markdown support from gb.markdown.

[COMPILER]
* NEW: The '#' character is now optional if possible (for example in the 
  'OUTPUT TO' instruction).

[GB.FORM]
* NEW: Some new icons.

[GB.FORM.STOCK]
* BUG: Fix all missing icons.

[GB.GTK]
* BUG: Fix incorrect translation when drawing inside a DrawingArea.

[GB.MEDIA]
* BUG: Fix inputs and outputs enumeration.

[GB.QT4]
* BUG: Correctly handle UTF-8 when displaying the error message.

[GB.WEB]
* NEW: WebPage.ToString() is a new method that generates the webpage and 
  returns it as a string.
* BUG: When creating a session, other sessions having the same prefix and 
  being older than 24 hours are automatically removed from disk.


git-svn-id: svn://localhost/gambas/trunk@6206 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-03-22 12:25:48 +00:00
Benoît Minisini
a167d0a1f2 [INTERPRETER]
* NEW: New LOCK ... WAIT ... syntax.

[COMPILER]
* NEW: New LOCK ... WAIT ... syntax.



git-svn-id: svn://localhost/gambas/trunk@6194 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-03-09 17:51:52 +00:00
Benoît Minisini
a2c9e25e00 [COMPILER]
* BUG: Fix array creation operator when it has no arguments.

[INTERPRETER]
* BUG: Fix array creation operator when it has no arguments.


git-svn-id: svn://localhost/gambas/trunk@6114 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-28 16:17:40 +00:00
Benoît Minisini
3768087f67 [COMPILER]
* BUG: Prevent NEW and READ from being used without an affectation.


git-svn-id: svn://localhost/gambas/trunk@6112 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-28 01:08:58 +00:00
Benoît Minisini
2daefc5fa0 [INTERPRETER]
* BUG: Fix maximum number of array declaration in the same class.
* NEW: Array and Collection constructor operator [ ... ] now can take any 
  number of arguments. It is only limited by the maximum function size, 
  which leads for example to about 32000 elements for a short array.


git-svn-id: svn://localhost/gambas/trunk@6110 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-27 23:46:37 +00:00
Benoît Minisini
de472c0e2a [COMPILER]
* NEW: Allow a CASE expression list to spread among the next line provided 
  that the current line ends with a comma.


git-svn-id: svn://localhost/gambas/trunk@6084 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-01-14 22:43:35 +00:00
Benoît Minisini
e87b82bc05 [COMPILER]
* BUG: Fix compilation of NOT LIKE, NOT BEGINS and NOT ENDS operators when
  they are not alone in an expression.


git-svn-id: svn://localhost/gambas/trunk@6041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-12-31 14:30:58 +00:00
Benoît Minisini
48d192b4c7 [COMPILER]
* BUG: Allows OPEN STRING to not specify any string.


git-svn-id: svn://localhost/gambas/trunk@5943 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-04 20:12:24 +00:00
Benoît Minisini
407e74968b [INTERPRETER]
* BUG: Undo one change of last revision: reading a stream from a memory 
  stream is a special case. It reads a null-terminated C string, and not a
  serialized Gambas string.
* NEW: OPEN STRING is a new instruction that allows to use a string as a 
  stream. Writing to it appends the written data to the end of the string 
  at the moment.
* NEW: Closing a string stream returns the data written to the stream as a
  new string.

[COMPILER]
* NEW: New OPEN STRING instruction.
* NEW: OPEN MEMORY and OPEN PIPE are synonymous of the MEMORY and PIPE
  instructions alone.

[GB.EVAL]
* NEW: Highlight the new OPEN STRING instruction correctly.


git-svn-id: svn://localhost/gambas/trunk@5941 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-11-04 15:17:01 +00:00
Benoît Minisini
e3d64af7ff [COMPILER]
* BUG: Correctly raise a syntax error if the FOR EACH variable is not
  immediately followed by the IN keyword.


git-svn-id: svn://localhost/gambas/trunk@5867 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-10-03 13:21:36 +00:00
Benoît Minisini
7a4dae617b [COMPILER]
* NEW: Implement the "!xxx" syntax for the WITH ... END WITH control 
  structure.


git-svn-id: svn://localhost/gambas/trunk@5798 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-15 14:36:44 +00:00
Benoît Minisini
f318c2ba39 [COMPILER]
* NEW: The ".[xxx]" syntax now can be used inside a WITH <object> ... 
  END WITH control structure. It is a synonymous for "<object>[xxx]".


git-svn-id: svn://localhost/gambas/trunk@5797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-15 14:16:17 +00:00
Benoît Minisini
c9ca5ab982 [CONFIGURATION]
* 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
2013-08-03 15:38:01 +00:00
Benoît Minisini
9332afbbea [DEVELOPMENT ENVIRONMENT]
* NEW: Add a file properties view in the CSV import dialog.

[INFORMER]
* BUG: Write boolean constants in information files as "T" and "", not 
  "True" and "False". It breaks things.

[GB.FORM]
* NEW: The file properties dialog has an automatic preview tab for image 
  files.

[GB.DB.FORM]
* NEW: The DataView control can edit blob fields now.


git-svn-id: svn://localhost/gambas/trunk@5736 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-07-19 11:02:32 +00:00
Benoît Minisini
29ab774c1c [DEVELOPMENT ENVIRONMENT]
* 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
2013-07-10 22:17:27 +00:00
Benoît Minisini
57a77280a1 [COMPILER]
* BUG: Generate correct information files for components having string 
  constants with newline inside.


git-svn-id: svn://localhost/gambas/trunk@5706 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-06-19 02:01:08 +00:00
Tobias Boege
8fbbf67c59 [CONFIGURATION]
* BUG: Revert rev#5679 as it was unneeded.



git-svn-id: svn://localhost/gambas/trunk@5680 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-26 10:20:25 +00:00
Tobias Boege
0bb521e279 [CONFIGURATION]
* BUG: Make {gba,gbc,gbi,gbx}.c depend on trunk_version.h so that they are
  rebuilt when it changes in order to always show the correct version.



git-svn-id: svn://localhost/gambas/trunk@5679 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-26 09:14:51 +00:00
Benoît Minisini
26a85ce106 [CONFIGURATION]
* NEW: The trunk version is now generated at compilation time through 
  custom rules and a generated include in the Makefile.am file.

[EXAMPLES]
* NEW: Use the new HttpClient Progress event and its properties in the 
  HttpGet networking example.


git-svn-id: svn://localhost/gambas/trunk@5676 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-25 13:23:39 +00:00
Benoît Minisini
1da147d6e5 [CONFIGURATION]
* NEW: The trunk version is now put in the 'config.h' file of the /main 
  source directory. No compilation flag is used anymore.
* NEW: All Gambad executables return the trunk revision number when they 
  are called with the '-V' option.

[GB.WEB]
* BUG: The Request.Fields property now can be read without reading the 
  value of a request field first.


git-svn-id: svn://localhost/gambas/trunk@5674 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-22 23:03:48 +00:00
Benoît Minisini
58e19c65a1 [COMPILER]
* BUG: Correctly handle public string constants larger than 255 characters.


git-svn-id: svn://localhost/gambas/trunk@5638 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-04 02:54:35 +00:00
Benoît Minisini
59756d47e5 [COMPILER]
* BUG: Now a FOR loop with no loop variable correctly raises a syntax 
  error.


git-svn-id: svn://localhost/gambas/trunk@5637 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-03 22:45:11 +00:00
Benoît Minisini
a7855016ca [DEVELOPMENT ENVIRONMENT]
* 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
2013-04-29 21:27:11 +00:00
Benoît Minisini
9cda9ad176 [ARCHIVER]
* BUG: The previous fix was incorrect. We can now really create an 
  executable when the project directory and the target directory are not on 
  the same device.


git-svn-id: svn://localhost/gambas/trunk@5604 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-31 06:24:30 +00:00
Benoît Minisini
9f1286f161 [ARCHIVER]
* BUG: Be able to create the executable file if /tmp and the target 
  directory are not on the same device.


git-svn-id: svn://localhost/gambas/trunk@5603 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-31 05:51:47 +00:00
Benoît Minisini
ca7856bf80 [INTERPRETER]
* NEW: Clean up allocation macros.

{GB.EVAL.HIGHLIGHT]
* NEW: Add 'transition' to the CSS keywords.


git-svn-id: svn://localhost/gambas/trunk@5599 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-29 23:33:01 +00:00
Benoît Minisini
4f9bedfb51 [COMPILER]
* BUG: Correctly raise an error if we use the New keyword inside an 
  embedded array declaration.


git-svn-id: svn://localhost/gambas/trunk@5506 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-14 01:26:16 +00:00
Benoît Minisini
53d4d9c752 [INTERPRETER]
* 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
2013-01-06 16:13:31 +00:00
Benoît Minisini
b8260e2aba [INTERPRETER]
* BUG: Some fixes of bugs detected by Coverity Scan.
* NEW: Raise a 'Filename too long' error now when a too long file path is
  detected inside a file management function.
* NEW: System.TimeZone is a new property that returns the current timezone
  as an offset in seconds that must be added to a local time to get UTC.

[COMPILER]
* BUG: Some fixes of bugs detected by Coverity Scan.

[GB.IMAGE]
* BUG: Some fixes of bugs detected by Coverity Scan.


git-svn-id: svn://localhost/gambas/trunk@5490 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-04 23:24:37 +00:00
Benoît Minisini
13dd04d5a4 [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly initalize the help browser layout.
* NEW: Use the new Image.Fuzzy() method to draw a drop shadow in the 
  welcome screen text.

[COMPILER]
* NEW: The GB_PCODE_VERSION environment variable can take 'X.YY' as version 
  instead of 'X.YY.ZZZZ', which is actually useless.

[GB.COMPRESS]
* BUG: Remove useless code never compiled.

[GB.DBUS]
* BUG: Fix a possible memory leak in a debugging routine.

[GB.GSL]
* BUG: Remove useless code never compiled.

[GB.GTK]
* NEW: Implement a cairo surface cache in the Image class, so that drawing
  the same image several times trigger a GdkPixbuf -> Cairo surface 
  conversion once.
* BUG: Slider and Scrollbar controls now raise the Change event only if the
  value has really changed.

[GB.NET]
* BUG: Remove useless code never compiled.

[GB.NET.CURL]
* BUG: Remove useless code never compiled.

[GB.NET.SMTP]
* BUG: Remove useless code never compiled.

[GB.V4L]
* BUG: Remove useless code never compiled.


git-svn-id: svn://localhost/gambas/trunk@5489 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-03 22:06:35 +00:00
Benoît Minisini
1e086db43d [COMPILER]
* NEW: The GB_PCODE_VERSION environment variable tells the compiler to use
  a different bytecode version that the current one. Use that hack only if
  you know exactly what you are doing.


git-svn-id: svn://localhost/gambas/trunk@5488 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-03 11:01:05 +00:00
Benoît Minisini
c61a906431 [DEVELOPMENT ENVIROMNENT]
* 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
2012-12-22 00:23:51 +00:00
Benoît Minisini
643ef0c03c [COMPILER]
* BUG: Remove debugging messages.


git-svn-id: svn://localhost/gambas/trunk@5453 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-19 21:58:47 +00:00
Benoît Minisini
ca59b5880f [COMPILER]
* NEW: Emit line positions in debugging information for global 
  initializations.


git-svn-id: svn://localhost/gambas/trunk@5452 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-19 21:55:16 +00:00
Benoît Minisini
f131eb6060 [COMPILER]
* BUG: Prevent self-inheritance.


git-svn-id: svn://localhost/gambas/trunk@5394 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-29 11:41:42 +00:00
Benoît Minisini
e51fc2d951 [INTERPRETER]
* NEW: The RAISE instruction now can raise events defined in a parent 
  class.
* NEW: Timer: The Trigger method now does nothing if there is an already
  pending trigger. This behaviour is not backward-compatible, so it may be
  removed if problems arise.

[COMPILER]
* NEW: The RAISE instruction now can raise events defined in a parent 
  class.

[GB.DRAW]
* NEW: Implement standard operators in Point and PointF classes.
* NEW: Automatic conversion between Point and PointF.
* NEW: 'CDraw.c' and 'CDraw.h' source files have been renamed as 'cdraw.c' 
  and 'cdraw.h'.
* NEW: Rect.Center() and RectF.Center() are two new methods that return the 
  center of the rectangle.

[GB.FORM]
* NEW: FileChooser: tar archives now can be uncompressed. 


git-svn-id: svn://localhost/gambas/trunk@5359 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-24 18:52:11 +00:00
Benoît Minisini
f7992f248d [COMPILER]
* BUG: Don't declare virtual classes now present in the *.list files.

[INFORMER]
* BUG: Put virtual classes in *.list files so that the IDE is aware of 
  their existence.


git-svn-id: svn://localhost/gambas/trunk@5336 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-18 20:07:31 +00:00
Benoît Minisini
0282ac072f [COMPILER]
* BUG: Fix comments parser.


git-svn-id: svn://localhost/gambas/trunk@5314 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-10 12:21:44 +00:00
Benoît Minisini
a78a58f0f4 [COMPILER]
* BUG: As usual, forgot to add the new source files.


git-svn-id: svn://localhost/gambas/trunk@5312 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-10 00:28:01 +00:00
Benoît Minisini
25b8edfd44 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for the help comments integrated into the *.info files by 
  the compiler.
* NEW: Use the help comments stored in libraries and display them in them
  help tooltips.
* BUG: Remove duplicates in the automatic completion list.
* BUG: The symbol syntax displayed in the help now correctly follows the
  "Keywords in uppercase" setting.
* NEW: Class help comments are now help comments located at the beginning
  of the source file that starts with three quotes and a space: `''' `.

[COMPILER]
* NEW: Support for help comments on public symbols. They are automatically 
  integrated into the *.info information files.


git-svn-id: svn://localhost/gambas/trunk@5311 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-10 00:19:53 +00:00
Benoît Minisini
588e0f3942 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix scrolling of code editor procedure list.
* BUG: Automatic local variable declaration now works correctly when a 
  method named "Get" is called inside the analyzed expression.

[COMPILER]
* NEW: "[]" now is compiled to return a array with no elements.

[INTERPRETER]
* BUG: Array with no elements can be casted to any other array datatype.

[GB.GUI.BASE]
* BUG: Fix visibility of expanded TreeView items.

[GB.QT4.EXT]
* NEW: When the Editor loses the focus, it does not scroll to the cursor 
  position automatically anymore.


git-svn-id: svn://localhost/gambas/trunk@5266 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-30 23:44:24 +00:00
Benoît Minisini
84bcc9052f [CONFIGURATION]
* BUG: Fix compilation of Gambas.

[DEVELOPMENT ENVIRONMENT]
* NEW: Change the proportional font size list in the option dialog. Use a
  5% size increment.

[INFORMER]
* NEW: gbi3 now displays include warning only if the GBI_DEBUG environment
  variable is set to "1".

[GB.FORM]
* NEW: Add a FontChooser Border property.
* BUG: Support for Underline and Strikeout come back in FontChooser.

[GB.GUI.BASE]
* NEW: ScrollArea now raise a Resize event when the client area is resized
  because of changes in scrollbars visibility.
* BUG: Changing a TreeView item property now correctly refreshes the view.
* OPT: The height of TreeView rows is now refreshed correctly.

[GB.QT4]
* BUG: The menu bar height is correctly refreshed if the application font
  changes.



git-svn-id: svn://localhost/gambas/trunk@5257 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-28 14:35:31 +00:00
Benoît Minisini
53c284099b [DEVELOPMENT ENVIRONMENT]
* 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
2012-10-19 21:00:35 +00:00
Benoît Minisini
2ab47c59e0 [COMPILER]
* NEW: Support for IF ... THEN ... ELSE syntax on the same line.


git-svn-id: svn://localhost/gambas/trunk@5236 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-13 22:43:36 +00:00
Benoît Minisini
8701a2f020 [INTERPRETER]
* BUG: Fix symbol table search that could sometimes fail with non ASCII 
  characters.

[ARCHIVER]
* NEW: Add '.public' directory to executables.
* NEW: A new '-i' option not to display warnings when an information file 
  include fails.


git-svn-id: svn://localhost/gambas/trunk@5230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-10 14:58:14 +00:00
Benoît Minisini
0d88e31a1a [COMPILER]
* BUG: Error messages are correctly printed when warnings are disabled.


git-svn-id: svn://localhost/gambas/trunk@5223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-02 20:31:06 +00:00
Benoît Minisini
54150a91e0 [DEVELOPMENT ENVIRONMENT]
* 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
2012-09-20 02:29:37 +00:00
Benoît Minisini
0f985417cf [DEVELOPMENT ENVIRONMENT]
* NEW: Use Terminus as default fixed font if it is installed on the system.
* BUG: Don't load a component description if that component has the same 
  name as the current project. This is a temporary incorrect fix!

[INTERPRETER]
* BUG: Fix Classes enumeration.

[GB.DESKTOP]
* BUG: Fix X11 client message sending routine on 64 bits OS.
* BUG: Fix all DesktopWindow properties that read or change the state of 
  the window.

[GB.GTK]
* NEW: Fonts.Exist() is a new method that returns if a specific font family 
  exists.

[GB.QT4]
* NEW: Fonts.Exist() is a new method that returns if a specific font family 
  exists.


git-svn-id: svn://localhost/gambas/trunk@5171 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-17 11:13:32 +00:00
Benoît Minisini
1937a67353 [DEVELOPMENT ENVIRONMENT]
* NEW: Pressing SHIFT with the RETURN key prevents automatic variable 
  declaration.
* BUG: Automatic variable declaration takes TRY into account.
* BUG: Automatic variable declaration now understands more expressions.
* NEW: Add a filter to the example tab of the open project dialog.

[INTERPRETER]
* NEW: String.UCaseFirst() is a new method that capitalize the first letter
  of an UTF-8 string.

[COMPILER]
* NEW: If a function argument is enclosed with braces, then no warning is
  emitted if it overrides a global symbol.

[GB.FORM]
* BUG: Transparent SidePanel controls do not eat one pixel of their 
  contents anymore.
* NEW: TabPanel draws its focus highlight differently.
* NEW: ScrollArea now draws a shadow only if the corresponding scrollbar is
  visible.


git-svn-id: svn://localhost/gambas/trunk@5128 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-05 18:36:59 +00:00
Benoît Minisini
28c9d6d59b [COMPILER]
* NEW: Make one warning for each symbol kind that is overridden.

[GB.DB.FORM]
* BUG: Fix warnings.

[GB.DESKTOP]
* BUG: Fix some warnings.

[GB.EVAL.HIGHLIGHT]
* BUG: Correctly rewrite the following keywords with no spurious space 
  after: TRUE, FALSE, NULL, +INF, -INF.

[GB.FORM]
* BUG: Fix warnings.

[GB.FORM.MDI]
* BUG: Fix warnings.

[GB.WEB]
* BUG: Fix warnings.


git-svn-id: svn://localhost/gambas/trunk@5125 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-04 23:11:11 +00:00
Benoît Minisini
0026fb1489 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for compiler warnings.
* BUG: Fix all detected warnings.

[COMPILER]
* NEW: A new compiler option '-w' to let it emit warnings.
* NEW: Emit warnings for unused variables, arguments, functions and for 
  local symbols that override global symbols. Public symbols are of course 
  not taken into account.
* NEW: If an argument is surrounded by braces, no warning will be emitted
  if the argument is not used.

[GB.EVAL]
* NEW: OPTIONAL keyword is always followed by a space now when rewriting 
  Gambas code.


git-svn-id: svn://localhost/gambas/trunk@5122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-04 07:29:39 +00:00
Benoît Minisini
9478faa8d7 [COMPILER]
* BUG: Last change was not a good idea. Local variables should be able to 
  override global variables. When the compiler will be able to emit 
  warnings, that could make a good warning of course...


git-svn-id: svn://localhost/gambas/trunk@5115 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-02 00:38:34 +00:00
Benoît Minisini
5d2a8b172e [COMPILER]
* BUG: Prevent local variables from hiding global variables.


git-svn-id: svn://localhost/gambas/trunk@5114 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-02 00:20:29 +00:00
Benoît Minisini
c2764bc3f8 [COMPILER]
* BUG: Fix compilation of WebPage having UTF-8 characters inside.

[INTERPRETER]
* BUG: A background task automatically closes the file descriptor of every 
  other tasks.
* BUG: A task cannot create sub-tasks.
* NEW: There is an hard limit of simultaneous 256 background tasks now. 
  That should prevent fork bombing.
* BUG: Process.Kill does not try to wait for the task completion, and 
  return immediately.
* BUG: Fix events flushing at task termination.

[GB.EVAL.HIGHLIGHT]
* BUG: Fix WebPage highlighting.

[GB.WEB]
* BUG: The session cookie is now only accessible to the current CGI script.
* NEW: Response.SendFile() can set the content-type according to the file
  extension, if no content-type has been specified.


git-svn-id: svn://localhost/gambas/trunk@5096 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-29 00:43:48 +00:00
Benoît Minisini
9d1c8225dc [CONFIGURATION]
* NEW: Standardize the help text of all command-line tools.

[DEVELOPMENT ENVIRONMENT]
* BUG: Packager: library executables are installed with the '.gambas' 
  extension, but not the standard executables, where the extension is 
  removed.
* BUG: Packager: ArchLinux packager now compiles the project correctly.

[GB.FORM]
* NEW: Draw SidePanel little arrows differently.


git-svn-id: svn://localhost/gambas/trunk@5061 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 01:03:52 +00:00
Benoît Minisini
52b3040e07 [DEVELOPMENT ENVIRONMENT]
* NEW: Try to avoir Application.Busy flickering in some dialogs.

[EXAMPLES]
* NEW: New Tablet event inspired by a project made by Ricardo Díaz Martín.

[GB.DRAW]
* NEW: Paint.DrawImage() takes a new optional argument that defines the 
  opacity of the drawing, between 0 and 1.

[GB.FORM]
* NEW: ScrollArea.Tablet is a new property that allows it to catch tablet 
  events.

[GB.GTK]
* BUG: Support for tablet events.
* BUG: Make mouse events in gb.gtk and gb.qt3 behave the same way.
* NEW: Mouse.State is a new property that return the state of all mouse 
  buttons as specified by the current mouse event.
* NEW: Mouse.Button now only returns the index of the button that triggered 
  the mouse event.
* BUG: Fix a typo in the name of the Pointer.YTilt property.
* BUG: DrawingArea.Tablet now works correctly when the DrawingArea is not
  cached.

[GB.QT4]
* BUG: Mouse events from tablet now get accurate button information.
* BUG: Make mouse events in gb.gtk and gb.qt3 behave the same way.
* NEW: Mouse.State is a new property that return the state of all mouse 
  buttons as specified by the current mouse event.
* NEW: Mouse.Button now only returns the index of the button that triggered 
  the mouse event.
* BUG: Fix a typo in the name of the Pointer.YTilt property.


git-svn-id: svn://localhost/gambas/trunk@5057 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-19 13:01:57 +00:00
Benoît Minisini
2402db91f0 [INTERPRETER]
* 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
2012-07-08 23:23:24 +00:00
Benoît Minisini
1b28a5f062 [COMPILER]
* BUG: Like can be used in a Case expression just after the Case keyword
  only.



git-svn-id: svn://localhost/gambas/trunk@4900 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-06 21:50:15 +00:00
Benoît Minisini
a97ea1d599 [COMPILER]
* BUG: Make the internal "$load" form method private. Why was it public?


git-svn-id: svn://localhost/gambas/trunk@4846 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-18 11:13:29 +00:00
Benoît Minisini
620770ed20 [COMPILER]
* BUG: ByRef keyword is now correctly forbidden in extern functions now.
* BUG: '...' syntax is now correctly forbidden in event description.


git-svn-id: svn://localhost/gambas/trunk@4797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 00:25:45 +00:00
Benoît Minisini
a865d9e227 [INTERPRETER]
* 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
2012-06-01 00:18:38 +00:00
Benoît Minisini
326c380ff6 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle the FAST keyword in function declaration.

[COMPILER]
* NEW: Each function can be declared individually FAST. The keyword must be
  the first one on the line.

[GB.EVAL]
* NEW: Handle the FAST keyword in function declaration.


git-svn-id: svn://localhost/gambas/trunk@4769 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:05:21 +00:00
Emil Lenngren
3c912da3db [INTERPRETER]
* 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
2012-05-23 19:26:15 +00:00
Benoît Minisini
658b01475f [DEVELOPMENT ENVIRONMENT]
* OPT: Use Stream.Lines enumeration instead of LINE INPUT. It is a little bit 
  faster.

[COMPILER]
* BUG: Fix CASE LIKE syntax. Now all CASE LIKE arguments are compared with 
  the LIKE operator. Not just the first one.

[GB.FORM]
* NEW: FileChooser now can handle *.tgz archives.
* NEW: GridView: If the Grid property is FALSE, do not draw row and column
  separators.

[GB.GTK]
* BUG: Fix cached drawing areas.
* BUG: Fix mouse event management for controls having scrollbars.
* BUG: Fix cursor management for DrawingArea.


git-svn-id: svn://localhost/gambas/trunk@4755 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-22 23:32:38 +00:00
Benoît Minisini
70afe05d8d [DEVELOPMENT ENVIRONMENT]
* 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
2012-05-21 01:09:35 +00:00
Benoît Minisini
8be12f5027 [DEVELOPMENT ENVIRONMENT]
* 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
2012-05-05 00:39:43 +00:00
Benoît Minisini
13c81eedf5 [COMPILER]
* BUG: Display the right line number if there was a parser error inside a 
  form class file.


git-svn-id: svn://localhost/gambas/trunk@4661 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-23 14:52:51 +00:00
Benoît Minisini
490f64d123 [GB.QT4]
* BUG: Workaround an Oxygen bug with ScrollView borders.
* BUG: Setting ScrollView.Border correctly refreshes the scrollbars now.
* BUG: Fix cached DrawingArea updates.


git-svn-id: svn://localhost/gambas/trunk@4591 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-01 18:40:48 +00:00
Benoît Minisini
e72192ec22 [DEVELOPMENT ENVIRONMENT]
* NEW: Update the alternate background color of all themes.

[COMPILER]
* NEW: Support for <%: ... %> and <%! ... %> syntaxes in WebPage.

[GB.EVAL.HIGHLIGHT]
* NEW: Update WebPage highlighting, and handle the new syntaxes.


git-svn-id: svn://localhost/gambas/trunk@4569 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-24 12:25:59 +00:00
Benoît Minisini
2c42a71783 [COMPILER]
* NEW: New WebPage syntax for server-side comments: <%-- ... --%>.

[GB.FORM]
* BUG: Clicking inside a GridView now correctly gives it the focus.
* BUG: ButtonBox background is correctly drawn with gb.gtk.

[GB.GTK]
* BUG: Handle GTK+ events, but not Gambas posted routines when setting the
  application busy cursor.

[GB.EVAL.HIGHLIGHT]
* NEW: Support for server-side comment syntax in WebPage highlight routine.


git-svn-id: svn://localhost/gambas/trunk@4568 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-23 21:35:24 +00:00
Benoît Minisini
8b5cefb7b6 [COMPILER]
* BUG: Disable parser debugging messages.


git-svn-id: svn://localhost/gambas/trunk@4562 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-18 14:54:46 +00:00
Benoît Minisini
c29798ff3f [DEVELOPMENT ENVIRONMENT]
* NEW: Error messages now can be displayed in normal text editors.

[COMPILER]
* NEW: Initial support of WebPage compilation.


git-svn-id: svn://localhost/gambas/trunk@4561 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-18 13:14:17 +00:00
Benoît Minisini
eb93325573 [COMPILER]
* BUG: Allow STATIC CONST again. I don't want to break existing code 
  finally...


git-svn-id: svn://localhost/gambas/trunk@4540 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-10 14:32:37 +00:00
Benoît Minisini
dc1c62e014 [DEVELOPMENT ENVIRONMENT]
* BUG: Don't save cursor position during a text selection.
* NEW: Update error messages.

[COMPILER]
* NEW: CONST cannot have the STATIC keyword anymore.

[GB.QT4.EXT]
* NEW: Editor: Do not highlight the current line when losing the focus.


git-svn-id: svn://localhost/gambas/trunk@4539 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-09 18:01:59 +00:00
Benoît Minisini
8dfb763782 [INTERPRETER]
* 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
2012-03-04 23:43:07 +00:00
Benoît Minisini
6bd3a8a3a8 [COMPILER]
* BUG: GOTO works again.


git-svn-id: svn://localhost/gambas/trunk@4533 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-04 17:40:50 +00:00
Benoît Minisini
e94477d0e1 [COMPILER]
* BUG: Use a dedicated control stack slot for each GOSUB subroutine.
* BUG: GOSUB labels now must be at top-level, and must be declared *after*
  the GOSUB call. Consequently, recursion is not possible anymore.


git-svn-id: svn://localhost/gambas/trunk@4531 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-04 09:13:59 +00:00
Benoît Minisini
1fc5a474de [INTERPRETER]
* 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
2012-03-03 23:57:36 +00:00
Benoît Minisini
03965a418c [COMPILER]
* BUG: Don't print a line number greater than the number of lines in the 
  compiled file when displaying an error message.



git-svn-id: svn://localhost/gambas/trunk@4524 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-02 22:38:50 +00:00
Benoît Minisini
092b3abfa3 [COMPILER]
* NEW: Raise an error now when using TRY with GOTO, BREAK, CONTINUE or 
  STOP.


git-svn-id: svn://localhost/gambas/trunk@4523 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-02 22:05:55 +00:00
Benoît Minisini
0309f98b60 [DEVELOPMENT ENVIRONMENT]
* 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
2012-02-25 01:35:55 +00:00
Benoît Minisini
8d3ba2dc15 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix a possible crash when the form editor gets a spurious resize 
  event whereas undo management has been uninitialized.
* NEW: Libraries now can have requirements exactly like components. This is
  taken into account by the project property dialog.

[ARCHIVER]
* NEW: Put the '.component' file inside archives, so that the IDE can 
  extract libraries requirements from the executable.

[GB.FORM]
* NEW: Add two pixels to the height of the TabPanel tabbar.


git-svn-id: svn://localhost/gambas/trunk@4475 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-12 23:29:18 +00:00
Benoît Minisini
f5472efbbe [DEVELOPMENT ENVIRONMENT]
* 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
2012-01-31 02:33:01 +00:00
Benoît Minisini
0a9b6abe82 [DEVELOPMENT ENVIRONMENT]
* NEW: More support for WebPage.

[COMPILER]
* NEW: Start supporting WebPage.


git-svn-id: svn://localhost/gambas/trunk@4427 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-28 09:55:55 +00:00
Benoît Minisini
f5682bf3b4 [DEVELOPMENT ENVIRONMENT]
* 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
2012-01-15 08:54:57 +00:00
Benoît Minisini
dd3b512daf [CONFIGURATION]
* NEW: Update copyrights.


git-svn-id: svn://localhost/gambas/trunk@4384 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 02:39:20 +00:00
Benoît Minisini
c550408947 [COMPILER]
* BUG: Do not allow optional and byref arguments in an event declaration.


git-svn-id: svn://localhost/gambas/trunk@4316 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-22 18:35:14 +00:00
Benoît Minisini
200a429afc [DEVELOPMENT ENVIRONMENT]
* 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
2011-12-11 19:14:04 +00:00
Benoît Minisini
8163a28003 [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly translate numerals inside error messages.

[COMPILER]
* BUG: Raise an error when the default case of a SELECT statement is not 
  the last one.
* BUG: Raise an error when the default case of a SELECT statement is 
  defined twice.


git-svn-id: svn://localhost/gambas/trunk@4239 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-10 10:09:25 +00:00
Benoît Minisini
3c54631096 [COMPILER]
* BUG: Correctly compile initial expression of optional arguments.


git-svn-id: svn://localhost/gambas/trunk@4238 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-11-10 01:51:49 +00:00
Benoît Minisini
099fda7cd2 [COMPILER]
* 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
2011-11-01 23:24:07 +00:00
Benoît Minisini
e531a4e05f [CONFIGURATION]
* 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
2011-10-16 19:24:01 +00:00
Benoît Minisini
b1d4d5582c [COMPILER]
* BUG: Really support reserved words in form control names.


git-svn-id: svn://localhost/gambas/trunk@4185 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-09 10:00:33 +00:00
Benoît Minisini
74a17c8a4b [COMPILER]
* BUG: Purge .info and .list file from classes with no bytecode object each
  time a source file is compiled.


git-svn-id: svn://localhost/gambas/trunk@4162 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-28 21:10:18 +00:00
Benoît Minisini
9ff2134921 [DEVELOPMENT ENVIRONMENT]
* 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
2011-07-03 02:46:15 +00:00
Benoît Minisini
98fef17d0e [ARCHIVER]
* NEW: Don't abort if the executable flags of the resulting file cannot be 
  set, because the file system has been mounted with the "noexec" flag (for
  example).


git-svn-id: svn://localhost/gambas/trunk@3880 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-11 01:53:30 +00:00
Benoît Minisini
2fbf67cb29 [CONFIGURATION]
* NEW: Update FSF address in every source file.


git-svn-id: svn://localhost/gambas/trunk@3870 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-03 00:51:09 +00:00
Benoît Minisini
a3198eeb09 [DEVELOPMENT ENVIRONMENT]
* 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
2011-05-14 22:21:23 +00:00
Benoît Minisini
c9e5ef8993 [ARCHIVER]
* BUG: Ignore "core" file when creating an executable.


git-svn-id: svn://localhost/gambas/trunk@3816 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-30 12:53:09 +00:00