Commit graph

73 commits

Author SHA1 Message Date
Benoît Minisini
f3df1daa86 [DEVELOPMENT ENVIRONMENT]
* NEW: Runtime error messages are now translatable. At least those that
  have an error code. Custom error messages coming from component are not
  translatable yet.
* NEW: French translation of runtime error messages.

[INTERPRETER]
* NEW: When running in debugging mode, error messages are formatted to be
  easily translatable.


git-svn-id: svn://localhost/gambas/trunk@2347 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-22 22:10:38 +00:00
Benoît Minisini
e91a676559 [INTERPRETER]
* NEW: VarPtr() now works on a string variable. It returns the address of 
  the string.
* NEW: TypeOf("") now returns gb.String. "" is equal to NULL yet, but now its 
  string datatype is kept.
* NEW: Memory is new instruction like Open that opens a memory stream from 
  a Pointer.
* NEW: A Pointer can not be used as a stream directly. You must use the new
  Memory instruction for that.
* NEW: The [...] array constructor now checks the datatype of all its 
  argument to decide the type of the new array.
* BUG: The ["key":value] collection constructor now does not leak memory 
  anymore if it fails.
* NEW: A new error, "void key", whose code is 64.
* NEW: TypeOf(Null) now returns gb.Null and not gb.Object anymore.
* BUG: IIf() now returns a Variant only if needed. It uses the same 
  algorithm as the array constructor.

[COMPILER]
* NEW: Memory is new instruction like Open that opens a memory stream from 
  a Pointer. The syntax is: hStream = Memory pPonter For Read | Write.
* NEW: Support for form controls being individually public.
* BUG: VarPtr() is compiled correctly again.


git-svn-id: svn://localhost/gambas/trunk@2339 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-17 20:58:27 +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
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
a3d6ba73e5 [INTERPRETER]
* NEW: Do not use "boolean" anymore. Use "bool" instead.

[COMPILER]
* NEW: Do not use "boolean" anymore. Use "bool" instead.



git-svn-id: svn://localhost/gambas/trunk@2091 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-08 19:57:50 +00:00
Benoît Minisini
3207ea9c1f [INTERPRETER]
* BUG: Fix a backtrace memory leak in error management.
* BUG: Fix a memory leak in process streams.

[GB.FORM]
* BUG: Some bug fixes in DatePicker. It does not work correctly with 
  gb.gtk yet!

[GB.GTK]
* BUG: Fix the container arrangement and the ClientX / ClientY properties.
* BUG: A form is not its own event observer if one was specified at 
  instanciation time.

[GB.QT]
* OPT: The container arrangement is now triggered the same way as in 
  gb.gtk. No Qt event filter is used anymore.

[GB.QT4]
* OPT: The container arrangement optimization from gb.qt has been partially
  applied to gb.qt4.


git-svn-id: svn://localhost/gambas/trunk@1858 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-02-04 22:51:20 +00:00
Benoît Minisini
1f0a8eb04e [INTERPRETER]
* BUG: Raising an error with an incorrect message does not crash anymore.

[DEVELOPMENT ENVIRONMENT]
* BUG: A warning is displayed now when a component project has no exported 
  class.
* BUG: Instead of displaying an error, an unreadable *.component file now 
  just displays a warning.
* NEW: In the project property dialog, split the component list between 
  standard components and user components.
* BUG: Quote correctly strings again in *.po generated files. Translations 
  are not corrupted anymore!

[GB.FORM]
* NEW: Label and Separator children are not selectable anymore in the 
  ListContainer control.

[GB.QT4]
* BUG: ScrollView scrollbars are came back.


git-svn-id: svn://localhost/gambas/trunk@1780 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-04 11:55:37 +00:00
Benoît Minisini
f7889c1147 [CONFIGURATION]
* NEW: Bytecode version has been incremented. All projects must be 
  recompiled!

[DEVELOPMENT ENVIRONMENT]
* BUG: Rewrite code that used badly overridden symbols.

[INTERPRETER]
* BUG: Check that the overridding symbol is compatible with the overridden 
  one. For example, a static method can be overridden by a static method 
  only, a constant can be overriden by a static property, and so on.
* NEW: A new error message for badly overridden symbols.
* NEW: Tr$() is a new function that translates its argument and returns it.

[GB.GTK]
* BUG: Rewrite code that used badly overridden symbols. Affected classes 
  are: Window, TabStrip, 

[GB.FORM.MDI]
* BUG: Translate action descriptions in the action configuration dialog.
* NEW: Sort actions by description in the action configuration dialog.
* NEW: Automatically remember action configuration dialog size.
* BUG: Fix authorized shortcuts in the shortcut edit dialog.
* BUG: Rewrite code that used badly overridden symbols. Workspace is the
  only affected class.

[GB.SETTINGS]
* NEW: LoadWindow() and SaveWindow() are two new public methods to load
  and save window position by specifying the settings key.

[GB.QT]
* BUG: Rewrite code that used badly overridden symbols. Affected classes 
  are: Window, TabStrip, 


git-svn-id: svn://localhost/gambas/trunk@1759 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-01 13:42:17 +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
f6ceba1017 [INTERPRETER]
* NEW: The LINE INPUT and INPUT algorithm now deal intelligently with 
  blocking streams.

[GB.NET]
* BUG: Fix stream implementation of SerialPort and Socket.
* NEW: Socket can be set blocking.


git-svn-id: svn://localhost/gambas/trunk@1659 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-10-30 00:54:18 +00:00
Benoît Minisini
3d80d44a4a [WIKI CGI SCRIPT]
* BUG: Some little layout fixes.

[INTERPRETER]
* OPT: Read the user home directory only if the current uid has changed. 
  Otherwise, cache it into memory.
* OPT: String memory management has been optimized.
* OPT: Some little optimizations there and there.
* NEW: A new interpreter option, "-k", that prevents shared library to be
  unloaded until the process terminates. That can be useful when 
  debugging with valgrind.
* OPT: System.Language property was optimized.
* OPT: The gb_error.c file is now compiled with -O3.

[GB.GTK]
* BUG: Disable the management of input methods in TextBox and TextArea
  controls, so that the input methods are not disturbed. Consequently;
  SCIM and Bridged SCIM work again.
* BUG: You can read keyboard events properties in a Form KeyPress or 
  KeyRelease event handler correctly now.



git-svn-id: svn://localhost/gambas/trunk@1199 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-19 14:32:30 +00:00
Benoît Minisini
5f900c0b68 [DEVELOPMENT ENVIRONMENT]
* NEW: English and french tips were updated. A new tip was added.
* NEW: Files that were opened at project close are automatically reopened
  when the project is loaded again.
* NEW: A warning message is displayed when the GNU translation tools are
  not installed.
* BUG: The code editor method combo-box is correctly updated now.
* BUG: Some fixes in the automatic completion.
* BUG: Replace points by dash in the name of packages generated by the IDE
  packager.
* NEW: Updated russian translation
* NEW: Updated french translation

[DATABASE MANAGER]
* NEW: Updated russian translation

[EXAMPLES]
* BUG: Fixed the Gravity and the GameOfLife examples so that they do not
  use public form controls anymore.

[INTERPRETER]
* OPT: Many optimizations in the string substitution routines, the 
  internal datatype conversions, the INPUT and LINE INPUT instructions, the 
  error messages generation, the object and string reference counting, and
  the memory allocation routines.
* NEW: Opening a device file in direct mode (FOR READ/WRITE) is now 
  automatically non blocking.
* OPT: Lof() now only tries its different methods (ioctl and lseek) once.
* BUG: Val() now ignores thousand separators characters at the end of the 
  number.
* NEW: A new flag for enabling the stack trace generation at each error.

[GB.DEBUG]
* BUG: The gb.debug component interface declaration was not 64-bits aware.

[GB.EVAL]
* BUG: The Highlight.Purge() method now correctly deals with non-ASCII 
 characters.

[GB.FORM]
* BUG: TableView.Edit() does not raise a "read-only combo-box" error 
  anymore.
  
[GB.FORM.DIALOG]
* BUG: Dialog buttons now are never cut.

[GB.GTK]
* BUG: Cached drawing areas are correctly redrawn now.
* BUG: Loading big images now works correctly. There is apparently a bug 
  in the GTK+ image loader, and I found a workaround.
* BUG: Message boxes correctly display the text of their buttons now.

[GB.QT]
* BUG: The Open, and initial Move and Resize event of embedded forms are 
  now always raised when you call the Show method or if you set the Visible
  property. Before, it was raised when the embedded form was actually 
  shown.

[GB.SETTINGS]
* NEW: Settings are now stored in ~/.config/gambasX, where X is the 
  gambas version number.
* BUG: Strings are correctly quoted inside the settings file now.

[GB.WEB]
* NEW: Application.Protocol is a new property that allows to tell the 
  component that the protocol is not necessarily "http".


git-svn-id: svn://localhost/gambas/trunk@1153 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-11 13:29:47 +00:00
Benoît Minisini
a0ecaa77e6 [CONFIGURATION]
* BUG: Automatically search libraries in lib64 before searching in lib.
* BUG: Fixed the $FFI_LIB test in main/configure.ac.

[DEVELOPMENT ENVIRONMENT]
* BUG: Tips of the days are displayed correctly again.

[INTERPRETER]
* BUG: Val() now takes the thousand separator into account when this 
  separator is a space character.
* BUG: Removed the 64 bits warning.
* BUG: Fixes the 'lib64' problem. Now components are searched in the 'lib64' 
  directory on 64 bits OS. If they are not stored in 'lib64', then the 
  default 'lib' directory is used.
* NEW: Passing argument by reference is not allowed anymore if not 
  explicitely specified in the method declaration.

[COMPILER]
* NEW: Passing argument by reference is not allowed anymore if not 
  explicitely specified in the method declaration.

[INFORMER]
* BUG: Fixes the 'lib64' problem. Now components are searched in the 'lib64' 
  directory on 64 bits OS. If they are not stored in 'lib64', then the 
  default 'lib' directory is used.


git-svn-id: svn://localhost/gambas/trunk@1108 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-24 16:29:02 +00:00
Laurent Carlier
edb9e54bb4 [OPENBSD]
* BUG: Revert strlcpy/strlcat/snprintf, they are not really needed, and introduce potentially more bugs.



git-svn-id: svn://localhost/gambas/trunk@1080 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-18 23:07:24 +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
7b01d12f31 [INTERPRETER]
* OPT: Optimizations in string comparison operators.
* OPT: Optimizations in string allocations.
* OPT: Optimizations in Left$(), Mid$(), Right$() and Len().
* OPT: Optimizations of calls to native methods when the number of 
  arguments is fixed, and when no argument conversion is needed.
* OPT: Optimizations of INPUT and LINE INPUT, by using an internal buffer
  instead of reading the stream one byte at a time.
* BUG: Fixed the new error management.
* BUG: Fixed a possible spurious error when reading a file from an archive.

[GB.EVAL]
* BUG: Use the same new error management than the interpreter.

[GB.QT]
* BUG: The DrawingArea control now should draw its border correctly without
  erasing its contents.


git-svn-id: svn://localhost/gambas/trunk@1041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-27 14:00:04 +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
074e2f98c7 [INTERPRETER]
* NEW: Arguments passed by reference were implemented.

[COMPILER]
* NEW: Arguments passed by reference were implemented.


git-svn-id: svn://localhost/gambas/trunk@1016 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-19 17:52:05 +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
Laurent Carlier
19bf23a739 More work on OpenBSD port, it's need more work to be complete :-/
git-svn-id: svn://localhost/gambas/trunk@913 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-05 01:18:28 +00:00
Laurent Carlier
8a7e5a6c32 More work on OpenBSD portage:
- acinclude.m4: update libtool macros with libtool 1.5.24 ones, this seem to fix some problems
  with configure script under OpenBSD, Linux seems to be still working 8p
- gbx_library.c: Remove lt_dlopen_flag use, as it doesn't seem to be anymore available
  in libltdl. XX_LAZY seems to be the default behaviour if available.
- others: Replacement of strcpy() with strlcpy(), as strcpy isn't available because tag as
  non secure.
- Perhaps other changes !



git-svn-id: svn://localhost/gambas/trunk@909 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-03 20:44:46 +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