Commit graph

3270 commits

Author SHA1 Message Date
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
Sebastian Kulesz
b3c5b7a761 [GB.NET.POP3]
* NEW: Allow enumeration of messages using FOR EACH
* BUG: Free POPClient instances created when using _get
* OPT: Add status codes to report wrong username or password when logging in
* OPT: When reading single lines use Line Input


git-svn-id: svn://localhost/gambas/trunk@5095 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-28 22:59:38 +00:00
Adrien Prokopowicz
c5bbf1c0de [GB.XML.HTML]
* BUG: Fix the XmlElement.Id property.

git-svn-id: svn://localhost/gambas/trunk@5094 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-28 18:58:22 +00:00
Benoît Minisini
c0ad21f5a7 [DEVELOPMENT ENVIRONMENT]
* BUG: Bookmarks do not prevent project conversion anymore.


git-svn-id: svn://localhost/gambas/trunk@5093 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-28 14:51:03 +00:00
Sebastian Kulesz
d756207e91 [GB.NET.POP3]
* BUG: Remove obsolete code which was preventing successful compilation



git-svn-id: svn://localhost/gambas/trunk@5092 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-28 04:22:04 +00:00
Sebastian Kulesz
d0096ec9b9 [GB.NET.POP3]
* OPT: Document new parts of the component
* BUG: Fix the project name and version


git-svn-id: svn://localhost/gambas/trunk@5091 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-27 23:51:48 +00:00
Benoît Minisini
a55dc434de [GB.NET.POP3]
* BUG: Remove the .settings file, it must not go the the subversion 
  repository.


git-svn-id: svn://localhost/gambas/trunk@5090 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-27 23:32:29 +00:00
Sebastian Kulesz
f9bef18362 [GB.NET.POP3]
* NEW: Update the component to the latest revision. An old one was 
imported instead.


git-svn-id: svn://localhost/gambas/trunk@5089 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-27 23:27:29 +00:00
Benoît Minisini
47752f6610 [GB.NET.POP3]
* NEW: Initial implementation of a POP3 client.


git-svn-id: svn://localhost/gambas/trunk@5088 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-27 22:55:45 +00:00
Benoît Minisini
97a444fbb4 [DEVELOPMENT ENVIRONMENT]
* NEW: Remove the logo on the welcome screen, so that the dialog can be
  smaller for small screens.


git-svn-id: svn://localhost/gambas/trunk@5087 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-27 20:54:13 +00:00
Benoît Minisini
52827905de [GB.GTK]
* BUG: Fix TreeView, ListView, ColumnView and ListBox click detection.


git-svn-id: svn://localhost/gambas/trunk@5086 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-27 20:10:24 +00:00
Benoît Minisini
d39067841a [DEVELOPMENT ENVIRONMENT]
* NEW: New default project icon.
* BUG: Bookmarks are correctly updated now, when lines are inserted or 
  removed.
* BUG: The code pretty printer now preserves breakpoints and bookmarks.
* NEW: The welcome dialog box now has a filter for examples.

[EXAMPLES]
* BUG: Don't use JIT compiler in NeHeTutorial example #19, it crashes.
  OpenGL LLVM 3.0 and Gambas LLVM 3.1 in the same process is not welcome!

[GB.QT4.EXT]
* NEW: Editor.Bookmarks and Editor.Breakpoints properties are now writable.


git-svn-id: svn://localhost/gambas/trunk@5085 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-27 12:46:33 +00:00
Benoît Minisini
4d8d507276 [GB.OPENGL]
* BUG: Add synonymous starting with an underscore for constants beginning 
  with a digit.

[GB.OPENGL.GLSL]
* BUG: Remove the "GL_" prefix in all constants.


git-svn-id: svn://localhost/gambas/trunk@5084 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-27 03:02:43 +00:00
Benoît Minisini
43c441d15c [GB.DB.SQLITE3]
* BUG: 'INTEGER' fields are now assumed to be serial fields only if 
  'AUTOINCREMENT' has been specified too.

[GB.QT4]
* BUG: Fix declaration of Desktop.HasSystemTray property.


git-svn-id: svn://localhost/gambas/trunk@5083 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-27 02:57:50 +00:00
Benoît Minisini
bc5852b5fa [GB.GTK]
* BUG: Window should not raise useless resize events anymore.
* BUG: Windows embedded inside a Splitter correctly raise their Resize 
  events.
* BUG: Don't try to resize the window inner container with a negative size 
  when the window is too small.
* BUG: Draw window background correctly.
* BUG: Don't try to synchronize X11 when the debugger goes forward if there 
  is no X11 connection yet!


git-svn-id: svn://localhost/gambas/trunk@5082 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-27 00:26:34 +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
Sebastian Kulesz
b771e96a17 [EXAMPLES]
* NEW: Spanish translation updated.
* OPT: Updated the TreeView example so that it is easier to translate.



git-svn-id: svn://localhost/gambas/trunk@5078 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-25 22:21:51 +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
4ab382159a [GB.FORM]
* NEW: ScrollArea.Shadow is a new static property to define if inner 
  shadows are visible or not. By default they are not.

[GB.GTK]
* BUG: Try to make gb.gtk works with old versions of GTK+ again.


git-svn-id: svn://localhost/gambas/trunk@5075 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-24 15:01:17 +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
Sebastian Kulesz
49a8e682bc [DEVELOPMENT ENVIRONMENT]
* NEW: Spanish translation updated.

[GB.FORM.MDI]
* NEW: Spanish translation updated.

[GB.DB.FORM]
* NEW: Spanish translation updated.

[GB.FORM.DIALOG]
* NEW: Spanish translation updated.



git-svn-id: svn://localhost/gambas/trunk@5073 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-23 20:38:50 +00:00
Benoît Minisini
88700a1b37 [GB.FORM]
* NEW: New inner shadows for ScrollingArea.

[GB.QT4]
* BUG: Nothing is drawn now when the clipping rectangle has a negative 
  width or height.



git-svn-id: svn://localhost/gambas/trunk@5072 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-23 19:52:50 +00:00
Benoît Minisini
9535e45fc5 [DEVELOPMENT ENVIRONMENT]
* NEW: Spanish translation updated.


git-svn-id: svn://localhost/gambas/trunk@5071 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-23 07:19:18 +00:00
Benoît Minisini
f2abd7c95f [DEVELOPMENT ENVIRONMENT]
* OPT: Browsing the project is faster now.
* NEW: Display the number of matches after a project browse.

[GB.DB.FORM]
* NEW: DataSource now raises the BeforeSave event just before writing a 
  Result object to the database. The event handler receives the Result as 
  argument so that you can modify it.
* BUG: When inserting a new record in a DataView, serial fields are not
  editable anymore.
* BUG: Correctly go to the last line of a DataView when its DataSource 
  enters creation mode.

[GB.GTK]
* NEW: Style.Name is a new property that returns the name of the current 
  widget theme.
* BUG: MouseDrag events are correctly raised in all cases now.
* BUG: Activate the window correctly after a debugger restart.

[GB.QT4]
* NEW: Style.Name is a new property that returns the name of the current 
  widget theme.


git-svn-id: svn://localhost/gambas/trunk@5070 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-22 22:12:35 +00:00
Benoît Minisini
f6ea00f15f [GB.GTK]
* BUG: Take Label.Padding and TextLabel.Padding properties into account 
  correctly.


git-svn-id: svn://localhost/gambas/trunk@5069 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-22 10:29:04 +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
93ef02b4e8 [GB.GTK]
* BUG: Make gb.gtk compile with GTK+ 2.16.


git-svn-id: svn://localhost/gambas/trunk@5067 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-22 09:18:45 +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
Fabien Bodard
864d8de98f [GB.FORM]
BUG: Correct a mistake


git-svn-id: svn://localhost/gambas/trunk@5065 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 16:05:53 +00:00
Benoît Minisini
d9c6a3aef3 [GB.GTK]
* BUG: Make gb.gtk compile with GTK+ odler than 2.22 version.


git-svn-id: svn://localhost/gambas/trunk@5064 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 13:33:13 +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
Fabien Bodard
8eef01134f [GB.FORM]
* OPT: Now DateBox can take a Null Value and return a Null Value if not mofified



git-svn-id: svn://localhost/gambas/trunk@5062 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 08:26:01 +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
7de224007a [GB.GTK]
* BUG: Better draw the background color of Button, ToolButton and 
  ToggleButton controls.


git-svn-id: svn://localhost/gambas/trunk@5058 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-19 17:06:14 +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
0ecfa8f671 [GB.GTK]
* BUG: Fix a recursion problem is color management when a control is 
  inserted into its container.


git-svn-id: svn://localhost/gambas/trunk@5054 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-18 18:06:22 +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
Tobias Boege
d94521db4c [CONFIGURATION]
* NEW: Add gb.adt component

[GB.ADT]
* NEW: gb.adt is a component to provide abstract datatypes.
* NEW: Add List and ListRoot classes for circular double-linked lists which
  can be embedded into other classes or used standalone.
* NEW: Add Deque class as a base for new Stack, Queue and PrioQueue classes
  on top of linked lists (thus different from related Variant[] semantics).
* NEW: Add Circular class for ring buffers.



git-svn-id: svn://localhost/gambas/trunk@5052 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-18 11:07:14 +00:00
Benoît Minisini
0388831b8c [DEVELOPMENT ENVIRONMENT]
* BUG: Fix a possible crash in form editor arrangement icons managemnt.

[GB.GTK]
* NEW: DrawingArea.UseTablet has been renamed as DrawingArea.Tablet.
* NEW: Pointer.ScreenX and Pointer.ScreenY are two new properties that 
  replace Pointer.X and Pointer.Y. Pointer.X and Pointer.Y are yet there, 
  but now they return the pointer position relative to the control 
  receiving the event.
* BUG: Try to activate all XInput devices when the DrawingArea.Tablet
  property is set.

[GB.QT4]
* NEW: DrawingArea.UseTablet has been renamed as DrawingArea.Tablet.
* NEW: Pointer.ScreenX and Pointer.ScreenY are two new properties that 
  replace Pointer.X and Pointer.Y. Pointer.X and Pointer.Y are yet there, 
  but now they return the pointer position relative to the control 
  receiving the event.


git-svn-id: svn://localhost/gambas/trunk@5051 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-17 15:53:52 +00:00