Commit graph

1090 commits

Author SHA1 Message Date
Benoît Minisini
5d9a781017 [DEVELOPMENT ENVIRONMENT]
* BUG: Right mouse button can select controls again in form editor.

[GB.GTK]
* NEW: DragLeave is a new event raised by any control when the mouse leave
  a control during a DnD operation, or when the DnD operation terminates.
* NEW: DragMove and DragLeave events take the proxy into account. 

[GB.GUI.BASE]
* NEW: ScrollArea, GridView, TreeView... now automatically scroll during a
  DnD operation.
* BUG: Remove the overriden MouseDown event from the GridView class.
* BUG: A DnD operation does not eat the next mouse click anymore in 
  GridView, TreeView... controls.

[GB.QT4]
* NEW: DragLeave is a new event raised by any control when the mouse leave
  a control during a DnD operation, or when the DnD operation terminates.
* NEW: DragMove and DragLeave events take the proxy into account. 


git-svn-id: svn://localhost/gambas/trunk@5303 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-07 22:51:04 +00:00
Tobias Boege
b417f1861e [GB.DATA]
* OPT: Great overhaul of List algorithms. Beware: Still buggy.
* OPT: Make list chunks carry multiple Variants to improve cache locality.
* OPT: Don't traverse List forwards/backwards when the absolute value of
  index is past the half of Count.
* NEW: Introduce List.Backwards - a virtual object to enumerate backwards
* NEW: Don't use List.Current as enumeration pointer.
* NEW: Begin enumeration at the first/last node.
* NEW: Traverse backwards when given negative index to _get.
* NEW: Make Current invalid by default.
* NEW: Assign first/last element when MoveNext()/MovePrev() is issued on an
  invalid Current.
* NEW: Use List.Current as pointer for the Find*() methods, too.
* NEW: Assign first/last element when FindNext()/FindPrev() is issued on an
  invalid Current.
* NEW: Don't return an index from Find*() methods because it is not the way
  linked list are dealt with.
* NEW: Make insertion and removal of elements safe in enumerations.
* NEW: When Current (or enumerator) is removed, the pointer remains relative
  to the beginning of the List but it never wraps around the end.
* BUG: Correctly *cycle* with {Move,Find}{Next,Prev}()



git-svn-id: svn://localhost/gambas/trunk@5302 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-06 21:03:07 +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
6902dc7dae [INTERPRETER]
* BUG: Using Enum.Index outside of an enumeration now raises an error 
  instead of crashing.


git-svn-id: svn://localhost/gambas/trunk@5270 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-01 13:19:11 +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
8edf201b34 [INTERPRETER]
* BUG: Fix profiling of WAIT instruction.


git-svn-id: svn://localhost/gambas/trunk@5260 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-29 00:46:53 +00:00
Benoît Minisini
25e6253672 [CONFIGURATION]
* BUG: The default prefix is /usr in component directories too.
* NEW: Uninstall mime handler and mime icons in 'make uninstall'.

[GB.GTK]
* NEW: Replace the old ListBox control by the one in gb.gui.base.

[GB.QT4]
* NEW: Replace the old ListBox control by the one in gb.gui.base.
* OPT: Some little optimizations in ScrollView.
* OPT: Changing the geometry of a control whose Ignore property is set does
  not trigger parent arrangement routine anymore.


git-svn-id: svn://localhost/gambas/trunk@5258 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-28 19:21:59 +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
0de1545f21 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix option dialog layout.

[GB.FORM]
* NEW: New FontChooser control design.

[GB.GTK]
* BUG: Fix gb.gtk compilation.
* NEW: Add Window.Indent arrangement property.

[GB.GUI.BASE]
* BUG: Setting the text of the ColumnView columns now works correctly.
* NEW: The ListBox Gambas implementation is finished, but has not replaced
  the old one yet.

[GB.QT4]
* NEW: Add Window.Indent arrangement property.


git-svn-id: svn://localhost/gambas/trunk@5256 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-28 00:28:26 +00:00
Benoît Minisini
8539a2a02d [DEVELOPMENT ENVIRONMENT]
* NEW: A new option that defines the default application font.
* NEW: The font options have been redesigned.
* BUG: Various fixes implied by the new TreeView control implementation.

[WIKI CGI SCRIPT]
* NEW: Page whose title begins with "~" are class page synonymous.

[INTERPRETER]
* BUG: Calling the _unknown method on an anonymous object reference won't
  crash anymore.
* NEW: Class.Exist() is a new method that returns if a class has a specific
  symbol.

[GB.GTK]
* NEW: The Container Find() method has been renamed as FindChild(). The 
  _unknown method has been implemented to handle backward compatibility.
* BUG: Fix string to Font conversion for fonts whose name starts with 
  "nan" or other special numeric strings.

[GB.GUI.BASE]
* BUG: ScrollView.EnsureVisible() and GridView.EnsureVisible() methods when 
  there is a frame.
* NEW: MyListBox is the initial implementation of a ListBox control 
  entirely written in Gambas.
* BUG: Renaming a TreeView item now correctly selects it before.

[GB.OPENGL]
* BUG: Fix an error message in deprecated constants handler routine.

[GB.QT4]
* NEW: The Container Find() method has been renamed as FindChild(). The 
  _unknown method has been implemented to handle backward compatibility.


git-svn-id: svn://localhost/gambas/trunk@5254 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-27 18:59:14 +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
16679fdd5d [DEVELOPMENT ENVIRONMENT]
* BUG: Events of class written in Gambas are correctly detected now.
* BUG: Automatic local variable declaration now correctly analyze 
  expressions like "A.B" in all cases.
* NEW: Use a SidePanel to display the stack backtrace.

[GB.DB]
* BUG: DB.Quote(..., True) now does a table name quoting in all cases.

[GB.DB.FORM]
* BUG: The database controls now can handle table names that are reserved
  SQL keywords.

[GB.FORM]
* NEW: Start implementing TreeView entirely in Gambas.
* BUG: Removing GridView rows correctly resets the row heights.
* NEW: GridView now raises a Draw event that allows to paint a cell with 
  any drawing methods.


git-svn-id: svn://localhost/gambas/trunk@5250 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-23 11:21:43 +00:00
Benoît Minisini
c5debe2304 [INTERPRETER]
* BUG: The event handler check routine should not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@5249 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-22 16:22:15 +00:00
Benoît Minisini
fb33a73b86 [INTERPRETER]
* NEW: Accept event handlers with a variable number of arguments.
* BUG: Remove a debugging message.

[GB.IMAGE.EFFECT]
* BUG: Image.Histogram() now correctly handle ABGR images.
* BUG: Remove a debugging message.


git-svn-id: svn://localhost/gambas/trunk@5248 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-22 14:09:05 +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
72ee74e8d4 [DEVELOPMENT ENVIRONMENT]
* NEW: Draw the projet property dialog library list with a GridView.

[INTERPRETER]
* BUG: Fix class overriding routine.

[GB.ARGS]
* NEW: 'gb.args' is a new component that analyzes the command-line options,
  and automatically handles the "--help" option.

[GB.HTTPD]
* BUG: Hide the component.


git-svn-id: svn://localhost/gambas/trunk@5241 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-15 10:06:37 +00:00
Benoît Minisini
17a0748815 [CONFIGURATION]
* NEW: Each component installation now generates all information files
  systematically, to fix possible dependencies between components written
  in Gambas.

[DEVELOPMENT ENVIRONMENT]
* NEW: Running a project using the 'gb.web' component now automatically
  starts the embedded HTTP server.

[INTERPRETER]
* NEW: Class overriding is retrospective now.
* NEw: System._Breakpoint() is a new hidden method that raises a 
  breakpoint. Very useful for debugging.

[GB.GTK]
* BUG: The Action.Register() method must not crash when called during class 
  clean-up.

[GB.HTTPD]
* NEW: Define a custom exported HTTP server name.

[GB.JIT]
* BEW: Support for new class overriding (the CLASS structure has lost one 
  field).

[GB.QT4]
* BUG: The Action.Register() method must not crash when called during class 
  clean-up.


git-svn-id: svn://localhost/gambas/trunk@5240 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-14 22:42:53 +00:00
Benoît Minisini
fedc591dfc [INTERPRETER]
* BUG: Implicit array conversion now correctly preserves dimensions.


git-svn-id: svn://localhost/gambas/trunk@5237 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-14 10:52:02 +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
4ecc3420e6 [GB.IMAGE]
* BUG: Fix Image.RotateRight() algorithm.


git-svn-id: svn://localhost/gambas/trunk@5235 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-13 09:46:35 +00:00
Benoît Minisini
06977c713d [GB.IMAGE]
* BUG: Image.RotateRight() now really rotates to the right.


git-svn-id: svn://localhost/gambas/trunk@5233 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-11 20:39:06 +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
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
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
619f6c0e3c [GB.DATA]
* BUG: Add 'list.h' to the source file list.


git-svn-id: svn://localhost/gambas/trunk@5195 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-23 18:32:39 +00:00
Benoît Minisini
2dcaa54c91 [INTERPRETER]
* BUG: The debugger won't crash anymore when trying to continue after an 
  error has been raised inside a component.


git-svn-id: svn://localhost/gambas/trunk@5183 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-21 11:09:07 +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
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
7cba8c08e0 [INTERPRETER]
* OPT: Conversion between byte index and UTF-8 character index of the last 
  string has been optimized when that last string is big.

[GB.EVAL.HIGHLIGHT]
* OPT: Optimization of HTML syntax highlighting for big lines. That 
  optimization should be handled by the interpreter automatically.


git-svn-id: svn://localhost/gambas/trunk@5167 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-15 02:17:12 +00:00
Tobias Boege
4f57ded502 [CONFIGURATION]
* NEW: Rename gb.adt to gb.data
* NEW: Mark gb.data as "Unfinished"

[GB.DATA]
* OPT: Block all changes from my working copy until they are mature. The
  interface is considered to be stable (although some details in behaviour
  will change); this justifies the "unfinished" state.



git-svn-id: svn://localhost/gambas/trunk@5147 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-09 20:20:47 +00:00
Benoît Minisini
c7bdcd4947 [INTERPRETER]
* BUG: Fix error handler calls.


git-svn-id: svn://localhost/gambas/trunk@5145 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-09 17:24:54 +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
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
dde26cb313 [DEVELOPMENT ENVIRONMENT]
* BUG: Moving, renaming or deleting a source file now should correctly
  refresh the search list, the breakpoint list and the task list.

[GB.FORM]
* NEW: ScrollArea draws a focus border when it has focus.

[GB.NET.POP3]
* NEW: Make Pop3Client a virtual control like SmtpClient.


git-svn-id: svn://localhost/gambas/trunk@5121 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-03 23:40:59 +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
505cd02a5f [INTERPRETER]
* BUG: Disable the component specific event loop when starting a task. No
  way that any GUI works in a background task now, but I can't disable it
  automatically.


git-svn-id: svn://localhost/gambas/trunk@5107 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-31 19:56:41 +00:00
Benoît Minisini
1ab3b111c5 [INTERPRETER]
* BUG: Handle errors occuring while waiting for a process correctly now.
* NEW: Process.Wait() now can take an optional timeout argument, in 
  milliseconds.
* BUG: Handle errors occuring while waiting for a task correctly now.


git-svn-id: svn://localhost/gambas/trunk@5102 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-30 22:49:21 +00:00
Benoît Minisini
f3f10a4167 [DEVELOPMENT ENVIRONMENT]
* BUG: Notes (TODO:, FIXME:, NOTE:) can be used in comments beginning with
  two quotes.

[INTERPRETER]
* BUG: Fix possible recursion problems while freeing signal handlers.
* BUG: The output of a process is sometimes woke up ready to read whereas 
  there is nothing to read on it. Close the output immediately instead of 
  calling the callback again and again.
* BUG: Try to handle correctly errors raised during the Kill event of a
  background task. It does not work yet. :-(
* NEW: Task.Running is a new property that returns if a background task is
  running.

[GB.NET]
* NEW: Add Net.CannotAuthenticate error constant for gb.net.pop3.

[GB.NET.POP3]
* BUG: Big interface clean-up so that it matches other networking classes.
* NEW: Add a Pop3Client.Debug property. Not all "Debug" instructions have 
  been replaced yet.
* NEW: The default value of the Port property is zero now. It is 
  automatically converted to 110 or 995 according to the encryption method.
* NEW: Use the Net class for Pop3Client.Status instead of specific 
  constants.
* NEW: Rename the _PopMessage virtual class in _Pop3Client_Message to 
  follow the standard naming scheme that the wiki loves.


git-svn-id: svn://localhost/gambas/trunk@5101 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-30 22:13:25 +00:00
Tobias Boege
a7605476f3 [GB.ADT]
* NEW: Rewrite List class
* BUG: Fix memory leaks from breaking list enumeration
* BUG: Replace element destruction postponing in Deque by new API calls



git-svn-id: svn://localhost/gambas/trunk@5100 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-30 01:51:01 +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
1a031869d0 [INTERPRETER]
* NEW: Implement Variant comparison routine.
* NEW: Variant[] now has an Exist() and a Find() method.


git-svn-id: svn://localhost/gambas/trunk@5098 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-29 20:56:13 +00:00
Benoît Minisini
44b919bb85 [INTERPRETER]
* BUG: Fix a typo in '^' operator implementation that prevented its second
  argument to be a Variant.


git-svn-id: svn://localhost/gambas/trunk@5097 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-29 19:12:54 +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
1741274a34 [INTERPRETER]
* NEW: Task.Value now raises an error if the background task has failed for
  any reason. Otherwise it normally returns the background task return 
  value.
* BUG: Background tasks do not interfere with the debugger anymore.

[GB.TASK]
* NEW: The component has been moved inside the interpreter.


git-svn-id: svn://localhost/gambas/trunk@5081 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-26 16:26:53 +00:00
Benoît Minisini
11c1bfe4b9 [GB.TASK]
* NEW: The component has been removed.


git-svn-id: svn://localhost/gambas/trunk@5080 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-26 16:26:13 +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
b6cc5cdbb3 [INTERPRETER]
* BUG: Fix Choose() when then the choice value is equal to the number of
  possible results plus one.


git-svn-id: svn://localhost/gambas/trunk@5068 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-22 09:25:35 +00:00
Benoît Minisini
5133ebfb7f [GB.DB]
* BUG: Correctly handle null dates.

[GB.DB.FORM]
* NEW: DataControl now uses a DateBox to edit date values.

[GB.FORM]
* NEW: DateBox handles null dates now.
* NEW: MaskBox hides its contents now when it is the default one and it 
  does not have the focus.
* NEW: DateChooser displays a little cursor following the mouse inside the
  calendar and the time panel.

[GB.GTK]
* BUG: Fix popup management.
* BUG: Editable ComboBox  controls now have the right background.
* NEW: Automatically temporarily release the keyboard and the mouse when 
  the debugger stops the program.


git-svn-id: svn://localhost/gambas/trunk@5066 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 23:24:22 +00:00
Tobias Boege
c79d08669e [GB.ADT]
* BUG: Remove unnamed union due to compilation problems



git-svn-id: svn://localhost/gambas/trunk@5063 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 09:35:40 +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
6950c873b4 [INTERPRETER]
* BUG: Fix the GB.ReturnConvVariant() API so that it does not free the 
  return value incorrectly.


git-svn-id: svn://localhost/gambas/trunk@5060 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-20 21:09:27 +00:00
Benoît Minisini
e678e914f3 [INTERPRETER]
* NEW: Object.CanRaise() is a new method that returns if a specific object 
  event has an event handler.

[GB.DB.FORM]
* NEW: DataView now raises a new Data event that allows to format the 
  contents of a cell just before it is displayed. The event receives three
  arguments: the row, the column, and the cell value directly from the
  underlying database.
* NEW: DataBrowser propagates the Data event of its inner DataView.

[GB.FORM]
* BUG: TableView: Apply a white background behind the currently edited 
  cell.
* BUG: ScrollArea: Draw the inner shadow correctly in all cases.

[GB.GTK]
* BUG: The Font object returned by Control.Font is now correctly updated 
  when the font of any of its parent changes.
* BUG: Ensure that when a mouse button is pressed, the same control 
  receives the mouse button release event.

[GB.QT4]
* BUG: The Font object returned by Control.Font is now correctly updated 
  when the font of any of its parent changes.


git-svn-id: svn://localhost/gambas/trunk@5059 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-20 18:05:25 +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
Tobias Boege
c2cc6479e0 [GB.ADT]
* BUG: Remove left-overs from local build - Sorry.



git-svn-id: svn://localhost/gambas/trunk@5056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-18 21:52:12 +00:00
Tobias Boege
f81c83c4f2 [CONFIGURATION]
* NEW: Move gb.adt to main/lib/adt. It doesn't have extra dependencies



git-svn-id: svn://localhost/gambas/trunk@5055 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-18 21:46:25 +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
c3e481cd39 [GB.IMAGE]
* NEW: Image.RotateLeft() and Image.RotateRight() are two new methods for
  rotating a image by 90° step.


git-svn-id: svn://localhost/gambas/trunk@5049 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-16 20:33:21 +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
2b0c757410 [GB.COMPLEX]
* BUG: Correctly implement arithmetic operators.


git-svn-id: svn://localhost/gambas/trunk@5041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-14 14:11:59 +00:00
Benoît Minisini
8dd0b1dd93 [INTERPRETER]
* BUG: The GB.GetFunction() API now correctly returns static functions.


git-svn-id: svn://localhost/gambas/trunk@5040 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-14 10:07:29 +00:00
Benoît Minisini
684e7bbfb5 [GB.SIGNAL]
* NEW: Rewrote the component to use the signal management routines included 
  in the interpreter.


git-svn-id: svn://localhost/gambas/trunk@5039 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-14 09:53:03 +00:00
Benoît Minisini
fc6c3a22bd [INTERPRETER]
* BUG: The Gosub stack pointer is now correctly reset when a error has been 
  intercepted by the Catch instruction.


git-svn-id: svn://localhost/gambas/trunk@5020 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-09 01:33:34 +00:00
Benoît Minisini
d1eef06cf8 [DEVELOPMENT ENVIRONMENT]
* NEW: Translate all parts of error messages.

[INTERPRETER]
* NEW: Add an explicit error message when trying to override a class that 
  has already been used as a parent for another class.


git-svn-id: svn://localhost/gambas/trunk@5017 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-07 20:21:02 +00:00
Benoît Minisini
b995e09e22 [INTERPRETER]
* BUG: Fix incorrect optimizations used by the _operator interface 
  management routines.


git-svn-id: svn://localhost/gambas/trunk@5015 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-06 22:41:05 +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
827a44ac8f [INTERPRETER]
* BUG: Use MAP_ANON instead of MAP_ANONYMOUS. No need to make the 
  distinction between Linux and *BSD anymore!


git-svn-id: svn://localhost/gambas/trunk@5000 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-30 18:48:19 +00:00
François Gallo
730bf253b7 [INTERPRETER]
* BUG: Fix compilation on Mac OS X 10.8



git-svn-id: svn://localhost/gambas/trunk@4999 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-30 17:54:28 +00:00
Benoît Minisini
96df983246 [INTERPRETER]
* BUG: Do not try to handle signals if there is no more signal handlers.


git-svn-id: svn://localhost/gambas/trunk@4998 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-30 11:46:12 +00:00
Benoît Minisini
daf3a53a4b [INTERPRETER]
* BUG: Fix Error.Propagate().

[GB.EVAL]
* NEW: Highlight TODO/FIXME/NOTE commentaries like help commentaries.


git-svn-id: svn://localhost/gambas/trunk@4997 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-29 15:50:27 +00:00
Benoît Minisini
174c2747f2 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix a circular reference.

[INTERPRETER]
* BUG: Fix error handling when freeing objects.

[GB.FORM]
* BUG: Stock.Themes now correctly checks that ~/.icons exists.


git-svn-id: svn://localhost/gambas/trunk@4996 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-28 12:28:15 +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
6516f5670c [INTERPRETER]
* OPT: Optimized GOSUB from an idea of Emil Lenngren.


git-svn-id: svn://localhost/gambas/trunk@4979 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-22 00:04:56 +00:00
Benoît Minisini
eab59c1482 [INTERPRETER]
* BUG: Fix conversion from pointer to structure.


git-svn-id: svn://localhost/gambas/trunk@4978 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-21 22:01:50 +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
4f8389e766 [INTERPRETER]
* NEW: You can convert a pointer to a static structure now. It is useful 
  when an extern function has a 'struct XXX **' argument.


git-svn-id: svn://localhost/gambas/trunk@4974 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-21 11:16:57 +00:00
Benoît Minisini
e65f738f54 [INTERPRETER]
* BUG: Really compile when FFI support is disabled!


git-svn-id: svn://localhost/gambas/trunk@4972 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-21 00:27:39 +00:00
Benoît Minisini
186bb8d5e2 [INTERPRETER]
* BUG: Make the interpreter compile when FFI has been disabled.


git-svn-id: svn://localhost/gambas/trunk@4969 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-19 19:27:28 +00:00
Benoît Minisini
db7768aaf6 [INTERPRETER]
* BUG: Fix compilation on 32 bits platforms.


git-svn-id: svn://localhost/gambas/trunk@4962 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-17 19:36:11 +00:00
Benoît Minisini
97718051b1 [DEVELOPMENT ENVIRONMENT]
* OPT: New optimizations in profile file size.
* NEW: PageUp and PageDown keys now work as expected in the project filter 
  box.

[INTERPRETER]
* NEW: Support for new profile file format.

[GB.DEBUG]
* OPT: New profile file format.

[GB.LIBXML]
* NEW: Make this component exclude gb.xml.

[GB.XML]
* NEW: Make this component exclude gb.libxml.


git-svn-id: svn://localhost/gambas/trunk@4961 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-17 16:24:48 +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
a5c174d248 [INTERPRETER]
* NEW: Any operators of the _operator interface can be optional now. But
  consequently, division by zero must be raised by the implementation.
* NEW: Implement Vector arithmetic operators.
* NEW: Rename some Matrix methods.
* NEW: Implement Polynomial arithmetic addition and substraction.
* BUG: Fix Polynomial to string conversion.
* NEW: Complex.Handle is a new property that returns the memory address of
  the underlying complex number in memory.


git-svn-id: svn://localhost/gambas/trunk@4947 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-14 15:18:22 +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
6d6034e845 [INTERPRETER]
* BUG: Don't optimize the "_operators" interface when using anonymous 
  objects!


git-svn-id: svn://localhost/gambas/trunk@4944 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-11 22:03:54 +00:00
Emil Lenngren
139884adb6 [GB.JIT]
* BUG: Properly check stack overflow for GoSubs.


git-svn-id: svn://localhost/gambas/trunk@4942 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 23:10:13 +00:00
Benoît Minisini
6931d13491 [GB.GSL]
* OPT: Optimize Complex arithmetic by avoiding unneeded object creations.


git-svn-id: svn://localhost/gambas/trunk@4940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 20:33:26 +00:00
Benoît Minisini
c1212ac95e [INTERPRETER]
* OPT: Remove a useless test in the macro that returns the class of an 
  object.
* OPT: Some little optimization in some type checks.


git-svn-id: svn://localhost/gambas/trunk@4939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 19:57:43 +00:00
Benoît Minisini
1d86ebecb1 [INTERPRETER]
* BUG: Fix '_operators' interface negation handling.


git-svn-id: svn://localhost/gambas/trunk@4935 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 15:20:46 +00:00
Benoît Minisini
55e313b8f5 [INTERPRETER]
* NEW: Put every '_operators' interface related methods in the same source 
  file.

[GB.GSL]
* NEW: Polynomial _call() special method now is a synonymous of its Eval() 
  method. That way, you can write 'P(X)' to get the value of P(X).


git-svn-id: svn://localhost/gambas/trunk@4933 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 14:35:17 +00:00
Benoît Minisini
a9fbd40cd8 [INTERPRETER]
* NEW: Implement the ^ operator in the '_operators' interface.

[GB.COMPLEX]
* NEW: Implement the ^ operator.

[GB.GSL]
* NEW: Implement the ^ operator in the Complex class.


git-svn-id: svn://localhost/gambas/trunk@4931 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 02:37:39 +00:00