Commit graph

298 commits

Author SHA1 Message Date
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
225c6e0b40 [DEVELOPMENT ENVIRONMENT]
* NEW: Use DesltopMime.FromFile() method to handle project data files.
* BUG: Installing the Gambas fonts override the old ones that could be
  already installed.
* NEW: Update the Gambas fonts.

[GB.DESKTOP]
* BUG: DesktopFile.Run() now handle programs that does not specify any
  argument pattern (%u, %f, and so on) in its command description.

[GB.DRAW]
* NEW: Add a RectF class, that is a rectangle with Float coordinates.
* NEW: Add a Point class, that is just a point with two Integer 
  coordinates.
* NEW: Add a PointF class, that is just a point with two Float
  coordinates.

[GB.GUI.BASE]
* BUG: GridView and TreeView controls should not lose any MouseDown event
  anymore.
* BUG: Fix previous TreeView optimizations.

[GB.MAP]
* BUG: Rename the "map" class as "Map".


git-svn-id: svn://localhost/gambas/trunk@5354 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-24 01:16:40 +00:00
Benoît Minisini
723fca96d0 [INTERPRETER]
* 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
2012-11-14 22:24:15 +00:00
Benoît Minisini
34de79ef3d [DEVELOMENT ENVIRONMENT]
* BUG: Disable embedded http server.

[INTERPRETER]
* BUG: Fix a crash in String.Comp() when one of the two string is null.

[GB.FORM]
* BUG: Don't show useless menus in the DirView popup menu of a DirChooser 
  or FileChooser control.
* BUG: Do not scroll the TabPanel tab bar if not really necessary.

[GB.GUI.BASE]
* BUG: For backward-compatibility reasons, you can now set the value of 
  any arbitrary positive column index of a ColumnView item.


git-svn-id: svn://localhost/gambas/trunk@5301 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-06 20:11:20 +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
d800d7e136 [INTERPRETER]
* BUG: Fix the order of component exported classes loading after the 
  project has been loaded.
* BUG: Fix GB.CanRaise() API.

[GB.DB.FORM]
* NEW: DataView.Sorted is a new property that tells if the data can be 
  sorted by clicking on the column headers.
* NEW: DataView columns now show sort indicators, and data can be sorted in
  descending order.
* NEW: DataSource.Ascending is a new property that defines the order of the
  sort defined by the DataSource.Sort property.

[GB.FORM]
* NEW: Remove all controls that were moved to gb.gui.base.
* NEW: FileView file size units are translatable now.

[GB.GTK]
* NEW: Remove TreeView, ListView and ColumnView.
* NEW: Control.Tracking takes the proxy into account.
* NEW: Remove the Gambas part.

[GB.GUI.BASE]
* NEW: gb.gui.base is a new hidden component that is automatically loaded 
  by gb.qt4 and gb.gtk. It implements the following controls and classes 
  entirely in Gambas: TreeView, ListView, ColumnView, IconView, Action,
  ScrollArea. These classes were located in gb.form and in the Gambas part
  of GUI components before.

[GB.QT4]
* NEW: Remove TreeView, ListView and ColumnView.
* NEW: Control.Tracking takes the proxy into account.
* NEW: Remove the Gambas part.

[GB.WEB]
* NEW: Request.Query and Request.Path can be modified now.
* BUG: Overriding a CGI variable with Null works now.


git-svn-id: svn://localhost/gambas/trunk@5251 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-27 00:28:55 +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
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
6c2bb03d7c [DEVELOPMENT ENVIRONMENT]
* NEW: Support for the new 'Public' project virtual directory, which is 
  '.public' on the disk.

[SCRIPTER]
* NEW: Support for a new '-f- option that compile the script with JIT 
  compilation enabled.

[GB.DESKTOP]
* BUG: Remove _Desktop.ActivateWindow() method.

[GB.HTTPD]
* NEW: The embedded HTTP server now can serve static files located in the 
  '.public' hidden project directory.


git-svn-id: svn://localhost/gambas/trunk@5226 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-07 21:12:53 +00:00
Benoît Minisini
a68336da9b [CONFIGURATION]
* 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
2012-10-02 08:01:25 +00:00
Benoît Minisini
41b6a93cef [EXAMPLES]
* BUG: Fix Embedded window layout.

[INTERPRETER]
* NEW: The '-H' option now runs the interpreted program as a CGI script
  through an embedded HTTP server.

[GB.HTTPD]
* NEW: New hidden component that embeds an HTTP server that runs the 
  project as a CGI script. It is activated by a new interpreter option.
  Warning! This is highly experimental. The HTTP server is based on the
  thttpd source code.

[GB.WEB]
* BUG: As the _init static class is always executed at startup for exported
  classes, delay the intialization of Session class the first time one of 
  its properties is used.
* BUG: If the SCRIPT_NAME CGI variable equals nothing or "/", set it to 
  "/." so that it can be concatenated to any path and still gives a valid
  url.
* BUG: Support for explicit URL ports.
* NEW: Application.Port is a new property that returns the port used by the 
  HTTP request.


git-svn-id: svn://localhost/gambas/trunk@5209 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-27 20:52:08 +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
b174b79ada [DEVELOPMENT ENVIRONMENT]
* NEW: Display a PDF icon for PDF files.

[GB.FORM]
* NEW: Add a PDF icon to the stock.

[GB.FORM.STOCK]
* NEW: Add a PDF icon.

[GB.GTK]
* BUG: Printer.From and Printer.To now always return zero if all pages must 
  be printed.

[GB.QT4]
* BUG: If not page has to be printed, then the Print() method correctly 
  returns the Printer object to an inactive state.


git-svn-id: svn://localhost/gambas/trunk@5170 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-16 14:54:10 +00:00
Benoît Minisini
3ba6513b6d [INTERPRETER]
* 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
2012-09-06 16:20:54 +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
c90ed8da3a [INTERPRETER]
* NEW: New API GB.CompVariant() that compares two Variant.


git-svn-id: svn://localhost/gambas/trunk@5099 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-29 21:02:09 +00:00
Benoît Minisini
796f6b023d [INTERPRETER]
* 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
2012-08-26 01:54:57 +00:00
Benoît Minisini
091b94b1ed [INTERPRETER]
* 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
2012-08-25 15:13:39 +00:00
Benoît Minisini
b8f6e09b8b [INTERPRETER]
* 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
2012-08-24 22:29:53 +00:00
Benoît Minisini
659d187034 [INTERPRETER]
* BUG: Fix how the event raising routine handle exceptions.


git-svn-id: svn://localhost/gambas/trunk@5074 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-24 02:32:23 +00:00
Benoît Minisini
35368a3648 [DEVELOPMENT ENVIRONMENT]
* 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
2012-08-18 13:06:58 +00:00
Benoît Minisini
edf8b8f34a [DEVELOPMENT ENVIRONMENT]
* 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
2012-08-15 17:02:22 +00:00
Benoît Minisini
cc0fd6cec6 [INTERPRETER]
* BUG: Comparison operators now correctly check for null objects when 
  comparing objects having the _operator interface.


git-svn-id: svn://localhost/gambas/trunk@5012 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-06 20:14:41 +00:00
Benoît Minisini
9fc6b03718 [DEVELOPMENT ENVIRONMENT]
* NEW: Each comment anywhere in the source code beginning with 'TODO:', 
  'FIXME:', or 'NOTE:' is automatically listed in a new tab named 'Tasks' 
  in the bottom debugging panel.

[INTERPRETER]
* BUG: Env[...] does not return a constant string anymore. Anyone can 
  change the environment in the background!


git-svn-id: svn://localhost/gambas/trunk@4989 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-25 19:32:57 +00:00
Benoît Minisini
938458a03e [CONFIGURATION]
* NEW: Switch to 3.2.90 version.

[DEVELOPMENT ENVIRONMENT]
* BUG: Fix automatic completion of project classes that reimplements 
  another class.

[WEB SITE MAKER]
* BUG: Fix scrolling frames on Chrome.

[INTERPRETER]
* NEW: Args and Env classes are now shortcuts for Application.Args and 
  Application.Env properties.


git-svn-id: svn://localhost/gambas/trunk@4977 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-21 20:43:10 +00:00
Benoît Minisini
1d0ebd5999 [DEVELOPMENT ENVIRONMENT]
* NEW: The project tree filter box now tries to keep the focus.
* NEW: Hitting ENTER in the project filter box opens the current selected 
  file.
* NEW: Using arrows keys in the project filter box now moves the project
  tree cursor.
* NEW: CTRL+L now sets the focus back to the project filter box.
* NEW: Hitting ESC in the project filter box now resets the filter.
* NEW: Add support for gb.gsl component in the project creation dialog.

[INTERPRETER]
* NEW: Support for floating-point constants.
* BUG: The equality operators of the _operator interface now can return -1
  when a datatype is not supported.

[GB.COMPLEX]
* NEW: Remove methods that are implemented by the _operator interface.

[GB.QT4]
* OPT: Load clipboard format list only if the clipboard has changed.

[GB.GSL]
* NEW: Matrix can be compared with real or complex numbers. The number is
  then multiplied by the identity matrix before doing the comparison.


git-svn-id: svn://localhost/gambas/trunk@4958 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-16 16:30:55 +00:00
Benoît Minisini
7c9f99fef6 [INTERPRETER]
* 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
2012-07-15 13:07:57 +00:00
Benoît Minisini
df89e09b2e [INTERPRETER]
* 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
2012-07-14 02:49:57 +00:00
Benoît Minisini
89d42c3d40 [INTERPRETER]
* 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
2012-07-12 23:34:14 +00:00
Benoît Minisini
a3966cf195 [DEVELOPMENT ENVIRONMENT]
* BUG: Array of classes exported by a component are now correctly handled
  by the component interface analyzer.

[INTERPRETER]
* BUG: The _operators interface now correctly takes into account the
  "Float - Object" case.

[GB.GSL]
* NEW: Redesign of the Polynomial class. Now it implements a polynomial 
  that can switch between real and complex coefficients transparently.
* NEW: The ComplexPolynomial class has been removed.


git-svn-id: svn://localhost/gambas/trunk@4929 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 00:13:00 +00:00
Benoît Minisini
9a46cc0486 [INTERPRETER]
* 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
2012-07-09 17:10:21 +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
ef37065297 [INTERPRETER]
* BUG: Correctly raise an error when trying to use NULL on classes 
  implementing the _operators interface.
* NEW: The _convert interface now must handle conversions from any 
  datatype.

[GB.GSL]
* NEW: Automatic conversion from numbers to Complex.
* NEW: Start implementating the Vector class.


git-svn-id: svn://localhost/gambas/trunk@4913 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 16:55:35 +00:00
Benoît Minisini
7bd330aa00 [INTERPRETER]
* NEW: "_operators" is a new interface that allows any native class to be
  used with most of arithmetic operators: +, -, *, /, Abs, =, <> at the 
  moment.
* NEW: The "_convert" interface now allows a class to be converted to any
  datatype, not just other classes.
* NEW: Str() and Print uses the "_convert" interface to print a localized
  string conversion of any object.

[GB.GSL]
* NEW: Use the new "_operators" interface so that complex numbers can be 
  handled by standard arithmetic operators.
* NEW: The Complex class now implements the "_convert" interface.


git-svn-id: svn://localhost/gambas/trunk@4908 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 14:35:58 +00:00
Emil Lenngren
dba2bf91ac [GB.JIT]
* BUG: Fix extern function overriding.

[COMPILER]
* BUG: Write correct disassembly for PUSH INTEGER.



git-svn-id: svn://localhost/gambas/trunk@4850 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-19 21:23:49 +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
Benoît Minisini
76f3885a08 [SCRIPTER]
* 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
2012-05-24 00:31:57 +00:00
Benoît Minisini
8e6dbfa273 [INTERPRETER]
* OPT: Rebirth of _SUBR_add, _SUBR_sub and _SUBR_mul in 'gbx_exec_loop.c'.
* NEW: The code of these functions is now in a shared header named '
  gbx_subr_common.h'.


git-svn-id: svn://localhost/gambas/trunk@4764 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:39:02 +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
1b33c5dc1a [DEVELOPMENT ENVIRONMENT]
* BUG: CFlt() is now replaced by CFloat() when converting a Gambas 2 project.

[COMPILER]
* BUG: The token following a CONST keyword is now assumed to always be an 
  identifier.


git-svn-id: svn://localhost/gambas/trunk@4758 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 18:59:30 +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
b5c6820986 [INTERPRETER]
* 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
2012-05-20 17:58:34 +00:00
Benoît Minisini
e95ebcae24 [INTERPRETER]
* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.
* BUG: Eval() is correctly profiled now.

[COMPILER]
* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.


git-svn-id: svn://localhost/gambas/trunk@4743 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 21:35:26 +00:00
Benoît Minisini
07387ff660 [DEVELOPMENT ENVIRONMENT]
* 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
2012-05-19 02:55:05 +00:00
Benoît Minisini
659f1bf51f [INTERPRETER]
* BUG: Fix a crash when using 'gb.Like' comparison flag.


git-svn-id: svn://localhost/gambas/trunk@4724 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-12 12:04:20 +00:00
Benoît Minisini
30f9a40f2b [INTERPRETER]
* 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
2012-05-08 15:32:33 +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
a6e9f61ee1 [CONFIGURATION]
* NEW: Update *.component files to the new format.
* BUG: Fix component TEMPLATE directory.

[EXAMPLES]
* NEW: PhotoTouch: Display the browsed directory path.

[INTERPRETER]
* NEW: Change the 'main' hook syntax. Add a macro to call the previous 
  'main' hook, so that several hooks can be declared.

[GB.MEDIA]
* NEW: New multimedia component based on GStreamer.

[GB.GTK]
* BUG: Fix timer management so that it is compatible with the GB.Every()
  interpreter API.
* NEW: Allows multiple 'main' hooks.

[GB.QT4]
* NEW: Allows multiple 'main' hooks.


git-svn-id: svn://localhost/gambas/trunk@4693 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-30 00:04:51 +00:00
Benoît Minisini
a9cddc969e [INTERPRETER]
* NEW: Even() is a new subroutine that returns if a number is even.
* NEW: Odd() is a new subroutine that returns if a number is odd.

[GB.GTK]
* BUG: Close all windows correctly when a QUIT instruction is executed.

[GB.QT4]
* BUG: Close all windows correctly when a QUIT instruction is executed.


git-svn-id: svn://localhost/gambas/trunk@4615 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-11 00:27:18 +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
91556cac06 [DEVELOPMENT ENVIRONMENT]
* 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
2012-03-17 02:05:31 +00:00
Benoît Minisini
a5982b3d14 [INTERPRETER]
* BUG: RDir() now browse directories recursively even if the filter 
  argument is gb.File.


git-svn-id: svn://localhost/gambas/trunk@4550 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-14 02:11:36 +00:00
Benoît Minisini
9e259995ea [INTERPRETER]
* OPT: Use mmap() to allocated the stack, not malloc(). Consequently, 
  calling functions recursively are now very fast.

[COMPILER]
* NEW: New FAST keyword.


git-svn-id: svn://localhost/gambas/trunk@4536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-06 01:50:41 +00:00
Benoît Minisini
2f84e243e9 [COMPILER]
* BUG: Forgot to commit a file...


git-svn-id: svn://localhost/gambas/trunk@4532 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-04 17:39:08 +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
df53de0b28 [DEVELOPMENT ENVIRONMENT]
* BUG: Make error message tooltips always visible.
* NEW: Update logos.

[GB.FORM]
* NEW: GridView: The Shift key is taken into account when selecting rows 
  with the mouse.


git-svn-id: svn://localhost/gambas/trunk@4525 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-02 22:57:57 +00:00
Benoît Minisini
518868e61a [DEVELOPMENT ENVIRONMENT]
* BUG: Try to fix the spurious error that is raised sometimes when clicking
  on a control in the form editor.

[GB.FORM]
* NEW: GridView.Columns.Width property has been implemented.


git-svn-id: svn://localhost/gambas/trunk@4519 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-01 11:42:28 +00:00
Benoît Minisini
09f700e22b [INTERPRETER]
* BUG: LINE INPUT does not try to incorrectly release its stream argument
  anymore when there is no stream argument.
* OPT: A little optimization in Space$(), Upper$() and Lower$().
* OPT: EXEC / SHELL ... TO does not return the process output through a 
  temporary string that will be freed later. If the string is big, then
  the memory is retained longer than necessary.


git-svn-id: svn://localhost/gambas/trunk@4509 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-26 23:07:14 +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
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
f9444636c0 [INTERPRETER]
* BUG: Correctly handle relative paths in CHMOD, CHOWN and CHGRP.


git-svn-id: svn://localhost/gambas/trunk@4401 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-15 10:22:12 +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
074dc8c05f [INTERPRETER]
* BUG: The Internet condom had an hole. Use a better one.


git-svn-id: svn://localhost/gambas/trunk@4382 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 02:09:12 +00:00
Benoît Minisini
7f04720f33 [INTERPRETER]
* NEW: Put a condom on our string hash routine.


git-svn-id: svn://localhost/gambas/trunk@4381 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 01:02:42 +00:00
Benoît Minisini
5a0849c692 [WEB SITE MAKER]
* NEW: Changes for Gambas 3 release.

[INTERPRETER]
* BUG: No more than 15 digits for Floating point values.


git-svn-id: svn://localhost/gambas/trunk@4367 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-30 17:03:20 +00:00
Benoît Minisini
eac2589a86 [INTERPRETER]
* BUG: Do the full commit of the floating point to string conversion fix.


git-svn-id: svn://localhost/gambas/trunk@4364 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-30 10:57:06 +00:00
Benoît Minisini
296ae062ba [INTERPRETER]
* 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
2011-11-14 01:06:51 +00:00
Benoît Minisini
f5954e9f4f [INTERPRETER]
* 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
2011-11-13 23:18:04 +00:00
Benoît Minisini
ba8e9d7483 [INTERPRETER]
* BUG: Really fix hash table resizing routine.


git-svn-id: svn://localhost/gambas/trunk@4220 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-25 00:18:30 +00:00
Benoît Minisini
95aa370a7e [INTERPRETER]
* 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
2011-10-24 19:33:41 +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
ea0cd62f68 [INTERPRETER]
* BUG: Fix internal collection hash table resizing.


git-svn-id: svn://localhost/gambas/trunk@4154 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-26 02:05:50 +00:00
Benoît Minisini
f17878075b [CONFIGURATION]
* NEW: Switch version to 2.99.4.

[INTERPRETER]
* OPT: Optimize a little case insensitive string comparison. Hash table
  code is consequently faster.

[GB.SDL]
* NEW: Comment old Cursor class implementation.


git-svn-id: svn://localhost/gambas/trunk@4109 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-08 20:23:15 +00:00
Benoît Minisini
0ab71b28bf [INTERPRETER]
* OPT: Don't use glibc memcmp() to compare strings. My own routine is a 
  little faster according to valgrind.
* OPT: The UTF-8 String class routines Left(), Mid() and Right() have been 
  optimized. The positions of the first 256 characters of the last string 
  processed by the String class are cached.
* OPT: Some native methods can be called like any other native subroutines.
  But that can be used only inside the interpreter, not in a component.
* OPT: The '&' operator is faster now when it takes two arguments only (the
  most frequent case).


git-svn-id: svn://localhost/gambas/trunk@4106 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-08 16:01:36 +00:00
Benoît Minisini
67ecd4b00a [INTERPRETER]
* 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
2011-09-07 19:43:11 +00:00
Benoît Minisini
3840aa7985 [INTERPRETER]
* 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
2011-09-07 12:38:29 +00:00
Benoît Minisini
dc2318698a [COMPILER]
* BUG: Fix compilation of function calls having more than 32 ByRef 
  arguments.


git-svn-id: svn://localhost/gambas/trunk@4087 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-04 23:20:53 +00:00
Benoît Minisini
2df008159f [INTERPRETER]
* NEW: The LIKELY() and UNLIKELY() macros do nothing now, as it seems that
  recent CPUs are better than humans for branch prediction.
* BUG: Error.Backtrace is accurate now.


git-svn-id: svn://localhost/gambas/trunk@4066 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-31 02:28:48 +00:00
Benoît Minisini
c00ce9a3fe [DEVELOPMENT ENVIRONMENT]
* 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
2011-08-23 12:51:25 +00:00
Benoît Minisini
005fb507bf [INTERPRETER]
* NEW: Abort if a native class declares the same symbol twice.
* NEW: Two more standard error messages declared in gambas.h


git-svn-id: svn://localhost/gambas/trunk@3989 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-08-07 19:48:08 +00:00
Benoît Minisini
4d13341c3e [GB.GTK]
* 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
2011-07-29 21:13:08 +00:00
Benoît Minisini
d0b8c37638 [INTERPRETER]
* 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
2011-07-17 10:57:55 +00:00
Benoît Minisini
f2208643c2 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle the "_property" special method in automatic completion.

[INTERPRETER]
* BUG: [...] now correctly returns a boolean array when its arguments are
  all booleans.

[GB.DBUS]
* BUG: Fix a memory leak when sending a DBusVariant object.


git-svn-id: svn://localhost/gambas/trunk@3939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-16 15:41:51 +00:00
Benoît Minisini
9fca5596dc [GB.DBUS]
* BUG: Use the new special method _property to implement DBus properties.
* BUG: Settings a DBus property does not freeze anymore. But there is 
  memory leak yet.


git-svn-id: svn://localhost/gambas/trunk@3937 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-15 00:52:29 +00:00
Benoît Minisini
13c1dcce83 [INTERPRETER]
* NEW: Remove the GB.IsProperty() API, that is useless now.


git-svn-id: svn://localhost/gambas/trunk@3916 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-03 17:29:00 +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
5e91ded94f [INTERPRETER]
* 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
2011-05-16 02:16:22 +00:00
Benoît Minisini
d433b0172d [EXAMPLES]
* 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
2011-05-02 00:46:00 +00:00
Benoît Minisini
feef2087a7 [COMPILER]
* BUG: Do not create debugger information for code generated by form files.
  Otherwise the debugger is confused.


git-svn-id: svn://localhost/gambas/trunk@3779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-19 13:15:24 +00:00
Benoît Minisini
c4e08d4574 [DEVELOPMENT ENVIRONMENT]
* NEW: Use small font in editor toolbars.

[COMPILER]
* NEW: Compile form code before class code, so that error messages always 
  occur inside class code.
* BUG: Correctly handle errors when loading source files.

[GB.QT4.EXT]
* BUG: The cursor position is now correctly drawn with proportional fonts.


git-svn-id: svn://localhost/gambas/trunk@3771 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-16 13:25:46 +00:00
Benoît Minisini
df3f9c9f36 [WEB SITE MAKER]
* NEW: New web site design.

[WIKI CGI SCRIPT]
* NEW: New web site design.

[INTERPRETER]
* BUG: Remove some unused code.
* NEW: Stream got three new methods: Begin, Send & Drop. All WRITE 
  instructions between a Begin and Send will be merged in one bunch of data
  that will be sent when Stream.End() is called. Stream.Drop() is there to
  cancel that process.
* BUG: Correctly handle EINTR when writing to the SIGCHLD pipe.


git-svn-id: svn://localhost/gambas/trunk@3730 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-04 00:40:32 +00:00
Benoît Minisini
4ddb1c13a8 [COMPILER]
* BUG: Handle failing file deletions with an error message.
* BUG: Correctly remove action files when there is no action anymore in a
  form.

[INFORMER]
* BUG: Handle failing file deletions with an error message.


git-svn-id: svn://localhost/gambas/trunk@3700 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-29 00:24:15 +00:00
Benoît Minisini
69324eec4a [INTERPRETER]
* 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
2011-03-24 02:15:32 +00:00
Benoît Minisini
c4e8abec01 [CONFIGURATION]
* BUG: Harmonize the messages displayed when DESTDIR or ROOT is used during 
  compilation.
* NEW: Switch version number to 2.99.1 and bytecode version to 3.0.0.
  WARNING! ALL GAMBAS PROJECTS MUST BE RECOMPILED.

[DEVELOPMENT ENVIRONMENT]
* BUG: Generated Debian packages now correctly depends on gambas3-dev and
  not gambas2-dev.

[GB.QT4.OPENGL]
* NEW: Remove the GlArea.Text() method, as it may be impossible to 
  implement inside gb.gtk.opengl.


git-svn-id: svn://localhost/gambas/trunk@3673 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-21 12:46:52 +00:00
Benoît Minisini
b936c83f0d [CONFIGURATION]
* NEW: Update copyright strings.

[DEVELOPMENT ENVIRONMENT]
* NEW: Display menu shortcuts inside the form editor.


git-svn-id: svn://localhost/gambas/trunk@3670 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-21 00:04:10 +00:00
Benoît Minisini
a4d3dfeab8 [DEVELOPMENT ENVIRONMENT]
* BUG: FileView filter is correctly update in project file creation dialog 
  now.

[COMPILER]
* BUG: Update internal keyword symbol table.

[GB.EVAL]
* BUG: Update internal keyword symbol table.


git-svn-id: svn://localhost/gambas/trunk@3653 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-16 18:15:09 +00:00
Benoît Minisini
443f9a3ba0 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix translation dialog layout.

[INTERPRETER]
* BUG: Fix a typo mistake in an error message.

[COMPILER]
* BUG: Fix a typo mistake in an error message.
* NEW: Remove all Mk*$() functions.

[GB.FORM]
* NEW: The FileChoose/DirChooser popup menu has been redesigned.
* NEW: That popup menu has now a function to uncompress tar.gz and tar.bz2 
  archive files.


git-svn-id: svn://localhost/gambas/trunk@3648 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-13 13:41:57 +00:00
Benoît Minisini
fce4691c9f [DEVELOPMENT ENVIRONMENT]
* NEW: The about dialog has been redesigned.
* NEW: The system information tab in the about box now detects the current 
  desktop.

[GB.DESKTOP]
* NEW: The following desktops should be detected now: WindowMaker, 
  Enlighnement.

[GB.GTK]
* NEW: Support for screen available geometry.


git-svn-id: svn://localhost/gambas/trunk@3464 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-01-17 16:07:50 +00:00