Commit graph

29 commits

Author SHA1 Message Date
Benoît Minisini
117f2ac635 [INTERPRETER]
* NEW: New GB.NewZeroString() API to create a Gambas string from a 
  null-terminated string. Components were modified to use it.
* OPT: Many optimizations everywhere.

[COMPILER]
* OPT: Many optimizations. The compiler should be noticeably faster.


git-svn-id: svn://localhost/gambas/trunk@2953 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-22 18:02:34 +00:00
Benoît Minisini
86768b1363 [CONFIGURATION]
* NEW: CygWin needs a -no-undefined flag when linking.

[INFORMER]
* BUG: Use dlopen() on CygWin.

[INTERPRETER]
* BUG: Fix some misuse of signed char.

[GB.DB]
* BUG: Fix some misuse of signed char.

[GB.EVAL]
* BUG: Fix some misuse of signed char.


git-svn-id: svn://localhost/gambas/trunk@2749 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-05 02:05:52 +00:00
Benoît Minisini
6bfa9b5fe2 [CONFIGURATION]
* NEW: Remove the gb.qt and gb.qt.kde components.

[DEVELOPMENT ENVIRONMENT]
* NEW: Work on report form support continues.
* BUG: Do not crash if there is a compilation error and the IDE cannot open 
  the source file.

[GB.DB]
* NEW: The Find() and Edit() methods of the Connection class now works 
  correctly if the ORDER BY clause is used alone in the request argument.

[GB.QT]
* NEW: This component has been removed.

[GB.QT.EXT]
* NEW: This component has been removed.

[GB.QT.OPENGL]
* NEW: This component has been removed.

[GB.QT.KDE]
* NEW: This component has been removed.

[GB.QT.KDE.HTML]
* NEW: This component has been removed.


git-svn-id: svn://localhost/gambas/trunk@2683 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-10 01:58:50 +00:00
Benoît Minisini
05fe8d8446 [INTERPRETER]
* NEW: A new interpreter API to get temporary file names.
* NEW: A new interpreter API to copy a file.
* NEW: Rename the GB.GetTempDir() function to GB.TempDir(), and fix all 
  components using it.

[GB.GTK]
* NEW: SvgImage is a new class that allows to generate SVG files by 
  painting on it. But it cannot render them.


git-svn-id: svn://localhost/gambas/trunk@2583 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-01 18:45:35 +00:00
Benoît Minisini
47d0aa711c [CONFIGURATION]
* NEW: Architecture detection.
* NEW: Updated libtool macros.

[DEVELOPMENT ENVIRONMENT]
* NEW: Highlight the current procedure in the editor procedure popup.

[INTERPRETER]
* BUG: Alignment fixes for the ARM architecture.

[GB.DRAW]
* NEW: Start implementing the new Paint interface.

[GB.GTK]
* BUG: GridView.Clear is now correctly implemented.


git-svn-id: svn://localhost/gambas/trunk@2505 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-12-24 02:02:05 +00:00
Benoît Minisini
71db2b5689 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix table creation and renaming dialog when checking if a table name 
  already exists.

[GB.DB]
* BUG: Table quoting works as expected now.

[GB.DB.POSTGRESQL]
* NEW: Now, if no schema is specified in a table name, the "public" schema 
  is used. Consequently, the schema must be specified, unless the table is
  in the "public" schema.


git-svn-id: svn://localhost/gambas/trunk@2443 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-11-28 02:05:10 +00:00
Benoît Minisini
83d84d7ee5 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for the Index class interface changes.
* BUG: CSV import does not crash anymore when the imported file size is 
  lower than 64K.
* BUG: Do not crash if a component is not installed.

[INTERPRETER]
* BUG: Error.Text does not split the error message and its argument in 
  debug mode.
* BUG: Fix many breaks in strict aliasing rules.

[SCRIPTER]
* BUG: Do not crash if a component is not installed.

[GB.DB]
* NEW: Better support for postgresql schemas.
* NEW: Connection.Quote() takes one more optional boolean argument that 
  tells if we want to quote a table name. In that case, schemas are taken 
  into account.
* NEW: Connection.FormatBlob() is a new function that returns a string that 
  can be used as a blob contents in a SQL expression.
* NEW: Index.Fields now returns a string array of index fields.
* NEW: Index.Add() second argument is now a string array of index fields.


git-svn-id: svn://localhost/gambas/trunk@2442 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-11-28 01:22:00 +00:00
Benoît Minisini
f85ba4aa52 [GB.DB]
* NEW: Allow points both in table and index names.


git-svn-id: svn://localhost/gambas/trunk@2437 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-11-25 00:26:26 +00:00
Benoît Minisini
eac6be9727 [GB.DB]
* NEW: Allow points in table names, so that postgresql schemas can be used.


git-svn-id: svn://localhost/gambas/trunk@2436 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-11-25 00:21:37 +00:00
Benoît Minisini
8bb2091ab0 [CONFIGURATION]
* BUG: Fix the Makefile.am files of /main/lib sub-directories.

[DEVELOPMENT ENVIRONMENT]
* NEW: Now you can define the available control substitutions of your 
  component in the project property dialog.
* NEW: Now you can modify local variables, global variables and any field 
  in debugger windows while debugging.

[INTERPRETER]
* NEW: Support for local and global variable assignment.

[GB.DEBUG]
* NEW: The debugger can assign values to expressions, local and global 
  variables now.

[GB.EVAL]
* NEW: Support for local and global variable assignment.

[GB.FORM]
* NEW: TableView.NoKeyboard is a new property to disable the automatic 
  keyboard navigation.

(GB.QT4]
* NEW: Disable the Glib event loop.
* NEW: Do not automatically proceed events after a modal dialog is closed.


git-svn-id: svn://localhost/gambas/trunk@2265 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-24 14:19:32 +00:00
Benoît Minisini
f65184802d [CONFIGURATION]
* NEW: Update copyright and license string in all source files.


git-svn-id: svn://localhost/gambas/trunk@2241 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-17 10:41:51 +00:00
Benoît Minisini
def84989aa [CONFIGURATION]
* NEW: Start replacing INCLUDE directive by *_CFLAGS in Makefile.am files.

[GB.EVAL]
* BUG: Fix a warning.


git-svn-id: svn://localhost/gambas/trunk@2215 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-04 19:14:17 +00:00
Benoît Minisini
f901433cbd [CONFIGURATION]
* BUG: Controls of components written in Gambas are correctly installed 
  now.

[DEVELOPMENT ENVIRONMENT]
* NEW: Component project controls icons are now store in the "Project" 
  section, not in the "Data" section anymore. Consequently they are not 
  stored in the project executable.
* BUG: Fix the activation of menu entries in the project treeview popups.
* NEW: New layout for the translation dialog.
* NEW: Remove many control icons and put them with their component project.


git-svn-id: svn://localhost/gambas/trunk@2140 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-20 15:53:19 +00:00
Benoît Minisini
7df43ef0f2 [DEVELOPMENT ENVIRONMENT]
* NEW: The connection editor now uses the new DataSource Connection 
  property.
* NEW: A button to copy the field names of a table in the clipboard.
* NEW: Change the layout of the connection editor.
* NEW: Enhance the list property editor.
* NEW: Use the new logo made by Fabien Bodard.
* NEW: Support for editing properties whose type is "Table" and 
  "Connection".
* NEW: Scroll the form editor when using the rectangular selection.
* BUG: Fix the project information displayed in the open project dialog.

[INTERPRETER]
* BUG: Fix a stupid bug that made the interpreter crash when a class was
  allocated at a negative memory address.
* BUG: Fix the conversion of strings into numbers, especially when 
  converting Long values.

[GB.DB.FORM]
* NEW: Redesign the controls so that DataSource can be assigned a specific
  connection.
* NEW: DataSource.Connection is a new property that allows to assign a
  specific Connection object to a DataSource. If a DataSource has no 
  connection assigned, it will use the connection of its parent DataSource.
  By default, the current connection (DB.Current) is used.
* NEW: Remove the DataSource.CacheSize property. Is it really useful?

[GB.NET.SMTP]
* NEW: Send the "Date:" header with any mail.


git-svn-id: svn://localhost/gambas/trunk@2137 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-20 01:10:50 +00:00
Benoît Minisini
656364fe57 [ARCHIVER]
* NEW: Connection files are added to executables.

[GB.DB]
* NEW: A Gambas part has been added to the component to implement the 
  Connections class. This class is a static pseudo-collection that 
  automatically creates Connection objects for connection files located in
  the ".connection" project directory.


git-svn-id: svn://localhost/gambas/trunk@2132 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-18 15:50:51 +00:00
Benoît Minisini
cfd564e4a8 [DEVELOPMENT ENVIRONMENT]
* NEW: Merge of the database manager CSV import dialog.
* NEW: When editing a connection, the database charset can be ignored, i.e. 
  string fields are assumed to be encoded in UTF-8.
* BUG: Be read-only when editing a system table or a SQL request.
* NEW: A new way of showing selected controls on forms. Maybe a little less 
  easier, but faster anyway.
* NEW: A new cool & useless animation on the welcome dialog.

[GB.DB]
* NEW: You can initialize a Connection object at creation by passing a 
  "database URL" to the constructor. For example: 
  "mysql://root@localhost/database" or "sqlite:///home/benoit/sqlite.db".
  This is not tested yet!
* NEW: Connection.IgnoreCharset is a new boolean property. It just stores
  the value, and do nothing with it. It's up to you to use the information
  later if you need.

[GB.DB.FORM]
* NEW: DataView does not extract Blob value anymore. It just displays 
  "BLOB" in the cell with a darker background.

[GB.GTK]
* NEW: Indent is new container boolean property. When set, an indentation 
  of Desktop.Scale pixels is added to the layout.

[GB.QT]
* NEW: Indent is new container boolean property. When set, an indentation 
  of Desktop.Scale pixels is added to the layout.

[GB.QT4]
* NEW: Indent is new container boolean property. When set, an indentation 
  of Desktop.Scale pixels is added to the layout.

[GB.QT4]
* OPT: Some optimizations in the Editor for very long lines. Fix a bug in 
  Qt that updated two lines when it was asked for one only.


git-svn-id: svn://localhost/gambas/trunk@2128 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-17 01:29:39 +00:00
Benoît Minisini
d3501bf140 [DEVELOPMENT ENVIRONMENT]
* NEW: Work continues on integrating the database manager.
* NEW: Some cosmetic changes in the way controls are drawing on the form
  editor.
* NEW: Panels with Border property set to None are now drawn with a light 
  border.
* BUG: Fix the "Show tab" button and menu.

[INTERPRETER]
* NEW: _attach is a new dynamic special method that is called when an 
  object is attached to or detached from its event observer. The first 
  argument of this method is the event observer, and the second argument 
  the event handler prefix.

[COMPILER]
* NEW: An expression can be a NEW instruction now. Beware that it does not 
  work inside braces.

[GB.DB]
* BUG: Fix an error message in the sqlite handler.

[GB.DB.FORM]
* NEW: DataSource.Table can now be any SQL query. The Filter property is 
  ignored in that case.
* BUG: Setting DataSource.Table to NULL correctly resets the DataSource and
  its children.
* NEW: DataView automatically adjusts the height of its rows to the 
  contents.
* NEW: DataSource.CacheSize is a new property to set the number of rows 
  stored in the internal DataSource cache. When this property is set to 
  zero, the cache size takes its default value (64 rows).

[GB.DB.SQLITE2]
* BUG: Fix a crash in datatype mapping.

[GB.DB.SQLITE3]
* BUG: Fix a crash in datatype mapping.

[GB.QT4]
* BUG: Window.AutoResize property works as expected now.
* OPT: Some optimizations in GridView.
* NEW: GridView.Rows[].Visible returns if a specific row is visible.
* NEW: GridView.Rows[].EnsureVisible ensures that a specific row is 
  visible.
* BUG: Draw.Style.Panel draws the same thing as a panel border now.
* BUG: Window.Closed always returns the accurate value now.


git-svn-id: svn://localhost/gambas/trunk@2108 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-12 21:49:13 +00:00
Benoît Minisini
075fbab8fc [GB.DB]
* BUG: Correctly release field information when freeing a Result object.
* NEW: New unquoting function in the component API.

[GB.DB.SQLITE2]
* BUG: Prevent possible case mismatches when mapping SQLite datatypes.

[GB.DB.SQLITE3]
* BUG: Prevent possible case mismatches when mapping SQLite datatypes.
* BUG: Field default values are correctly returned now.


git-svn-id: svn://localhost/gambas/trunk@2084 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-07 09:17:48 +00:00
Benoît Minisini
c7858ce56d [DEVELOPMENT ENVIRONMENT]
* NEW: Support for the Malayalam language.

[GB.DB]
* BUG: Fix a bug that sometimes truncates the query sent to the database 
  driver.

[GB.QT]
* NEW: Control.Tracking is a new property that enables MouseMove events
  in a control even when no mouse button is pressed.
* NEW: The DrawingArea.Tracking property has been replaced by the new
  property above.


git-svn-id: svn://localhost/gambas/trunk@1888 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-03-01 15:12:51 +00:00
Benoît Minisini
abdd0a0866 [DEVELOPMENT ENVIRONMENT]
* NEW: Start assigning actions to everything.
* NEW: Action shortcuts can be configured.
* NEW: Project actions are automatically saved in the .action directory.
* BUG: Signature of native arrays is correct now.

[INTERPRETER]
* BUG: GB_LoadFile() does not leak file descriptors anymore.
* NEW: Relative paths starting with "../" allows to open files located in 
  the main archive from a component.

[ARCHIVER]
* NEW: Store the ".action" directory in the archive.

[GB.DB]
* BUG: Correctly check that table name are not void in Create(), Find(), 
  Edit() and Delete() methods.

[GB.FORM]
* NEW: A new stock icon named "shortcut". Mmm... Should be named 
  "keyboard".

[GB.FORM.MDI]
* NEW: Support for automatic configuration of action shortcuts.
* NEW: Action.Configure() is a new method that opens a dialog for 
  configuring shortcuts. Shortcut configuration is stored in the 
  application setting files, under the '[gb.form.mdi/Shortcuts]' slot.

[GB.QT]
* NEW: Action[].Shortcut is a new property for setting or getting the 
  shortcut of an action.
* BUG: Correctly opens startup forms again.


git-svn-id: svn://localhost/gambas/trunk@1758 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-12-31 15:55:40 +00:00
Benoît Minisini
c91850d055 [INTERPRETER]
* OPT: Optimizations in string allocation.

[GB.DB]
* OPT: Optimization in query making. Storing big blobs inside a field in 
  now about twice faster.

[GB.DB.POSTGRESQL]
* BUG: Fix string quoting for postgresql >= 8.2.


git-svn-id: svn://localhost/gambas/trunk@1687 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-10 00:18:00 +00:00
Benoît Minisini
7f12844128 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for template array classes in automatic completion.

[INTERPRETER]
* BUG: LIE INPUT and INPUT work correctly on tty streams.

[GB.DB]
* NEW: Add an API that allows a driver function to get the current 
  database when it does not get it from its arguments.

[GB.DB.POSTGRESQL]
* BUG: Fix blob support for some encodings, and when PostgreSQL version is
  greater or equal than 8.2.

[GB.DB.SQLITE3]
* BUG: Field values are not truncated anymore.

[GB.FORM]
* NEW: MessageLabel is a new control made by David Villalobos Cambronero.
  It is a TextLabel that changes its background color for indicating a 
  warning, an error, and so on.

[GB.FORM.MDI]
* NEW: Workspace.ButtonPosition is a new property that allows to put the 
  tab close button on the left or on the right.

[GB.GTK]
* BUG: Speeds up the combo-box control as much as I can. Slowness seems to 
  be a GTK+ feature. :-/

[GB.QT]
* BUG: Fix crash when setting a shortcut on a top-level menu.


git-svn-id: svn://localhost/gambas/trunk@1548 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-09-09 11:03:47 +00:00
Benoît Minisini
c47cb3d8e4 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix some use of boolean value incrementing.

[INTERPRETER]
* BUG: Class declared with the 'Class' keyword are alwyas global.
* BUG: A stupid hack in gb.db requires that the value is always stored 
  just after the datatype in the VALUE and GB_VALUE structures.

[COMPILER]
* BUG: Class declared with the 'Class' keyword are alwyas global.

[GB.DESKTOP]
* NEW: Desktop.Passwords is a new property that allows to store and 
  retrieve passwords in the KDE wallet or the GNOME keyring, according to 
  the running desktop. Only KDE and GNOME are supported. I don't know if
  XFCE has something equivalent...
  
[GB.DESKTOP.GNOME]
* NEW: This new component is automatically loaded by gb.desktop when the
  GNOME keyring is requested.

[GB.FORM]
* BUG: Fix some use of boolean value incrementing.

[GB.FORM.MDI]
* NEW: The Workspace popup menu now sort the windows by title.

[GB.QT]
* NEW: XEMBED support was upgraded to the 1.3 version of QtXEmbed classes.
* BUG: Fix some use of boolean value incrementing.


git-svn-id: svn://localhost/gambas/trunk@1373 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-05-13 12:52:06 +00:00
Benoît Minisini
ec93789aaf [DEVELOPMENT ENVIRONMENT]
* NEW: Save and restore which procedures are folded.

[INTERPRETER]
* BUG: Creates a new GB.SubstStringAdd() API for making a difference 
  between substitution callbacks that return a string and those who call
  GB.SubstAdd() directly.

[GB.DB]
* BUG: Use the new GB.StringSubstAdd() API.

[GB.FORM]
* NEW: FileChooser and DirChooser got a new Reload() method that refreshes
  their contents.
  
[GB.QT.EXT]
* BUG: In Editor, a line must be colorized before knowing if it is a 
  "procedure" limit.


git-svn-id: svn://localhost/gambas/trunk@1261 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-26 16:28:18 +00:00
Benoît Minisini
e4d7400aa3 [CONFIGURATION]
* NEW: Removed the out-of-date README.FEDORA and README.REDHAT files.

[EXAMPLES]
* BUG: Fixed the MoviePlayer example.
* BUG: Fixed the Clock example.

[WIKI CGI SCRIPT]
* NEW: More titles and less borders.

[INTERPRETER]
* BUG: Uses the accurate method prototypes for Byte, Short and Single array
  classes.
* BUG: Many fixes in the error management.

[GB.DB]
* BUG: Fixed many warnings and some 64 bits stuff in all database drivers.

[GB.DEBUG]
* NEW: More explicit error messages when the creation of debugger fifos 
  fails.

[GB.COMPRESS.ZLIB]
* BUG: Fixed the compilation on 64 bits OS.

[GB.CORBA]
* NEW: Fixed some warnings.

[GB.GTK]
* NEW: Fixed some warnings.

[GB.IMAGE]
* NEW: Fixed some warnings.

[GB.NET.SMTP]
* NEW: Fixed some warnings.

[GB.PDF]
* NEW: Fixed some warnings.

[GB.QT.KDE]
* NEW: Fixed some warnings.

[GB.SDL]
* NEW: Fixed some warnings.

[GB.SDL.SOUND]
* NEW: Fixed some warnings.

[GB.XML]
* NEW: Fixed some warnings.

[GB.XML.XLST]
* NEW: Fixed some warnings.



git-svn-id: svn://localhost/gambas/trunk@1055 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-02 10:54:13 +00:00
Benoît Minisini
9f4ee9e75e [EXAMPLES]
* BUG: The Scripting example was fixed.

[INTERPRETER]
* NEW: The error management was redesigned.

[GB.DB]
* NEW: Database driver can declare a set of character that are allowed in a
  database name.
  
[GB.DB.SQLITE2]
* NEW: '.' is allowed in database names now.

[GB.DB.SQLITE3]
* NEW: '.' is allowed in database names now.



git-svn-id: svn://localhost/gambas/trunk@1038 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-25 15:01:02 +00:00
Benoît Minisini
4c02c6d338 ******** Merged /branches/64bits r918:1003 into /trunk
[CONFIGURATION]
* NEW: 64 bits port.

[EXAMPLES]
* BUG: Fixed the AnalogWatch example.

[WIKI CGI SCRIPT]
* NEW: Some little cosmetic changes.

[INTERPRETER]
* NEW: The extern function implementation has been redesigned and is now
  based on libffi, so that it works on 64 bits system. Because of a flaw in
  the compiler design, projects that use the Pointer datatype must be
  recompiled to be used on a 64 bits system. This flaw will be fixed in
  Gambas 3.
* OPT: Put some tables into read-only memory. About 1000 bytes are saved
  for each running interpreter, except the first one.
* BUG: Does not crash anymore if a component cannot be loaded.
* NEW: Spanish translation updated.
* NEW: A new interpreter API for returning a pointer.

[COMPILER]
* BUG: Correctly compiles LONG constants inside code.

[GB.DEBUG]
* BUG: Compiles and links the gb.debug components with the thread
  libraries.

[GB.DB.SQLITE3]
* BUG: Getting the primary index of a table without primary index is safe
  now.

[GB.GTK]
* BUG: Modified the GLib priority of watched descriptors, as the main loop 
  could enter in a loop in which user interface events were not managed.
* BUG: Message boxes use application title without crashing now.

[GB.OPENGL]
* BUG: Disable dead code.

[GB.QT.EXT]
* BUG: TextEdit.TextWidth and TextEdit.TextHeight were not declared as
  read-only properties.

[GB.XML.XSLT]
* BUG: XSLT class is now declared as being not creatable.


git-svn-id: svn://localhost/gambas/trunk@1006 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-17 21:39:26 +00:00
Laurent Carlier
7cc7c5eaaa Remove a lot of OS_OPENBSD check, move a lot of strcpy to strlcpy, strcat to strlcat and sprintf to snprintf. Only few of them are left.
git-svn-id: svn://localhost/gambas/trunk@919 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-06 20:06:44 +00:00
Benoît Minisini
ba19f3c1dd * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas
git-svn-id: svn://localhost/gambas/trunk@893 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2007-12-30 16:41:49 +00:00