* BUG: Fix a crash is structure declaration analyze.
[INTERPRETER]
* NEW: Support for static array of structures. A static array of structure
'MyStruct' will create a temporary object whose class is '$MyStruct[]'.
That class does not inherit 'Array', and has only a few methods of the
Array class.
* NEW: Byte[].ToString() is a new method to convert a byte array to a
string. If no length is specified, ToString() assumes that the byte array
is a zero-terminated string.
* NEW: Byte[].FromString() is a new method that fills a byte array with the
contents of a string.
[COMPILER]
* NEW: Declaration of static arrays of structures is allowed.
git-svn-id: svn://localhost/gambas/trunk@3031 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Breakpoints are correctly reset when opening a new project.
[INTERPRETER]
* BUG: The GB.NewString(), GB.NewZeroString() and GB.TempString() API
signature has changed. All components have been updated accordingly.
* OPT: Many optimizations to speed up the interpreter.
[GB.EVAL]
* NEW: During syntax highlighting, the first character of class names is
automatically converted to uppercase.
git-svn-id: svn://localhost/gambas/trunk@2992 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: StrPtr() now can take a second argument to specify the length of the
string we will read from memory. If that argument is not specified, the
string must ends with a zero character.
* OPT: Internal array management was optimized. It changes nothing for the
Gambas array class.
[COMPILER]
* OPT: Internal array management was optimized.
* BUG: Using embedded structure with a class that is not a structure now
raises an error.
git-svn-id: svn://localhost/gambas/trunk@2979 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Handle structures in automatic completion.
[INTERPRETER]
* BUG: Make the malloc cache returns 8-bytes aligned pointers on 64 bits
systems.
[COMPILER]
* OPT: Some optimizations again.
* OPT: Do not use -O3 for symbol table routines. Valgrind says that it is
slower than with -Os. Strange...
git-svn-id: svn://localhost/gambas/trunk@2977 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Using object references is faster.
* BUG: Fix a misuse of GB.NewString() in the String class.
[COMPILER]
* BUG: Raise an error now when trying to create an array of structures.
[GB.QT4]
* OPT: Global widget event filter is faster.
* OPT: Do not internallt relayout TabStrip too often, because Qt takes a
lot of time to do that.
git-svn-id: svn://localhost/gambas/trunk@2974 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Object file format has changed, so bytecode version has been
incremented, and all projects must be recompiled. Yes, again!
[INTERPRETER]
* OPT: Optimizations in comparison operators.
* OPT: Optimize symbol lookup tables.
[COMPILER]
* OPT: Optimize symbol lookup tables.
[GB.EVAL]
* BUG: Gambas source code is correctly highlighted again.
* NEW: Quoted identifiers (those between '{' and '}') are highlighted more
intelligently now.
git-svn-id: svn://localhost/gambas/trunk@2971 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been increased, and so all projects must be
recompiled.
[INTERPRETER]
* OPT: Objects that do not raise events do not allocate the event
management structure anymore. That save four pointers by object.
* NEW: Structure management is done, and embedded (static) structures are
handled too.
* BUG: Static array management was fixed.
* NEW: All functions synonymous whose name ends with a question mark have
been removed.
[COMPILER]
* OPT: Some optimization again.
* BUG: EXTERN declarations compile again.
[GB.DB.SQLITE2]
* BUG: Fix a misuse of GB.NewString().
git-svn-id: svn://localhost/gambas/trunk@2970 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: More work on structure support.
* BUG: Fix optimization in error management.
[COMPILER]
* OPT: More optimizations. The Gambas 3 compiler is faster to compile the
Gambas 3 IDE than the Gambas 2 compiler to compile the Gambas 2 IDE,
which is smaller!
* NEW: Do not compute variable position and size, as it is done by the
interpreter anyway.
[GB.EVAL]
* NEW: Use the same optimizations as the compiler in the parser.
[GB.XML.RPC]
* BUG: The component compiles again.
git-svn-id: svn://localhost/gambas/trunk@2964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Reserved functions following the READ keyword are correctly detected
again.
git-svn-id: svn://localhost/gambas/trunk@2956 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Forgot to add the source file that generates the reserved keywords
analyzer.
git-svn-id: svn://localhost/gambas/trunk@2954 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: The bytecode version has been incremented, as the object file format
has changed.
[DEVELOPMENT ENVIRONMENT]
* BUG: Handle static arrays in automatic completion.
[INTERPRETER]
* BUG: Handle public static arrays correctly.
[COMPILER]
* NEW: Handle structures, and write them inside object files.
* NEW: Class options (EXPORT, CREATE...) can only be written at the
beginning of the source file now.
* BUG: Fix some use of uninitialized values.
* BUG: Correctly write public static arrays in *.info files.
* NEW: Do not support old OPEN syntax anymore.
git-svn-id: svn://localhost/gambas/trunk@2952 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not compile database manager anymore, it has been deprecated.
* BUG: Compile the gb.dbus component.
[INTERPRETER]
* NEW: Pointer is a real datatype now.
* NEW: Static arrays came back. They are now like real array classes,
except that they are not resizable.
* NEW: IsPointer() is a new function that tells if an expression is a
pointer.
* NEW: All XXXX?() function synonymous were removed. Use the IsXXXX()
version instead.
* NEW: Remove now useless source files.
[COMPILER]
* NEW: Static arrays came back, with actually the same syntax as before.
[EXAMPLES]
* BUG: Fix the examples according to the new array syntax.
git-svn-id: svn://localhost/gambas/trunk@2949 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for "static" arrays is finally removed.
[COMPILER]
* NEW: Support for "static" arrays is finally removed.
git-svn-id: svn://localhost/gambas/trunk@2945 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Search string is correctly highlighted in all cases now.
[WEB SITE MAKER]
* NEW: German translation made by Stefan Lang.
[COMPILER]
* NEW: The 'New' keyword is now mandatory when declaring array variables
with dimensions. The IDE and component source code were modified
according to that change.
[GB.QT4.EXT]
* BUG: Search strings are correctly highlighted in editors with no syntax
highlighting.
git-svn-id: svn://localhost/gambas/trunk@2944 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Translated strings can be splitted on several lines like normal
strings now.
git-svn-id: svn://localhost/gambas/trunk@2943 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Change the semantic of Eof(). Now, if the stream is in blocking
mode, then Eof() will wait for the data before testing if something can
be read on the stream.
* BUG: Correctly initialize the stream flag that tells that data is always
available.
[COMPILER]
* BUG: Correctly raise an error when the INPUT or OUTPUT keywords are used
with the PIPE instruction.
[GB.FORM]
* NEW: ColorChoose.ShowColorMap is a new property that allows to hide or
show the colormap.
[GB.QT4]
* BUG: Correctly disable Qt automatic completion in the ComboBox control.
git-svn-id: svn://localhost/gambas/trunk@2940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for enumerations.
* BUG: Clearing project history works again.
[COMPILER]
* NEW: Support for enumerations.
git-svn-id: svn://localhost/gambas/trunk@2935 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove any use of Component.UserPath and any reference to "user
component".
* NEW: "libraries" management. Libraries are defined in a new tab of the
projet property dialog. At the moment, libraries exported classes are not
taken into account by the automatic completion.
* NEW: The ESC key now closes the help browser.
* BUG: Correctly translate compilation error messages.
[INTERPRETER]
* NEW: "libraries" management.
* NEW: The Component.UserPath property has been removed.
* BUG: Evaluating "Application.Path" or "Application.Name" on the command
line does not crash anymore.
[COMPILER]
* BUG: Enhance translation of some error messages.
* NEW: Take libraries into account for exported class declarations.
[ARCHIVER]
* NEW: new "-x" option to extract a file from an archive.
[GB.QT4.EXT]
* NEW: Be more clever when deciding if a line has been modified after
having its last character deleted.
git-svn-id: svn://localhost/gambas/trunk@2909 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Compile "report" forms, and add support for other form families.
git-svn-id: svn://localhost/gambas/trunk@2788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Properties wose kind is ReportBorder are now managed.
* NEW: Border and Padding are taken into account when drawing Report forms.
[INTERPRETER]
* BUG: Thousand separators are taken into account when trying to convert a
string to an integer.
* BUG: String[].Exist() now correctly returns a boolean.
[GB.DRAW]
* NEW: Paint.Device and Draw.Device now return NULL if nothing is
currently drawn.
[GB.REPORT]
* NEW: Change the syntax of ReportBorder.ToString() and ReportBorder[].
[GB.QT4]
* BUG: Dialog.SelectColor() does not quit the event loop unexpectedly
anymore.
git-svn-id: svn://localhost/gambas/trunk@2760 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Draw ReportImage controls.
* NEW: Handle new property kinds: ReportCoord, Image.
[INTERPRETER]
* BUG: Fix some misuse of signed char.
[GB.REPORT]
* BUG: Fix declarations of properties.
* NEW: Use the new ReportCoord property kind.
* NEW: Some little changes in the ReportBorder class.
git-svn-id: svn://localhost/gambas/trunk@2755 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Specifying components as arguments now works on systems that do not
have getopt_long().
git-svn-id: svn://localhost/gambas/trunk@2752 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* NEW: Support for report form continues. Controls declaration has moved
from *.component files to the following Control hidden properties:
_Family, _Group, _IsControl, _IsContainer, _IsMultiContainer, _IsVirtual,
_IsForm. And to the following Form hidden properties: _HiddenControls.
The wiki control documentation will be updated soon.
[COMPILER]
* NEW: Do not print a warning for a missing self-referenced *.list file.
* NEW: The '-L' is a new command-line option to print the license. The '-h'
now only prints help.
[INFORMER]
* BUG: Support for boolean public constants.
[GB.DB.FORM]
* NEW: Update control declarations to the new scheme.
[GB.FORM]
* NEW: Update control declarations to the new scheme.
[GB.GTK]
* NEW: Update control declarations to the new scheme.
[GB.QT4]
* NEW: Update control declarations to the new scheme.
git-svn-id: svn://localhost/gambas/trunk@2708 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Be more clever when detecting hexdecimal or binary numbers.
[GB.EVAL]
* NEW: Be more clever when detecting hexdecimal or binary numbers.
[GB.FORM]
* BUG: In DateChooser, switching to February works now, when there is 28
days in February and the current day is greater or equal than 29.
git-svn-id: svn://localhost/gambas/trunk@2651 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Linkification does not erase symbols references anymore.
[INTERPRETER]
* BUG: Use the system maximum path length constant, not ours.
[COMPILER]
* BUG: Allow Inherits to be followed by any indentifier.
git-svn-id: svn://localhost/gambas/trunk@2647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Hexadecimal numbers can be interpreted as Long only if they have
more than eight digits (32 digit for binary numbers), or if they are
unsigned.
[COMPILER]
* BUG: Hexadecimal numbers can be interpreted as Long only if they have
more than eight digits (32 digit for binary numbers), or if they are
unsigned.
git-svn-id: svn://localhost/gambas/trunk@2592 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Implement the property help with a WebView control.
* NEW: Add a button in the option dialog to clear the documentation cache.
* BUG: Correctly display online help on special methods.
[COMPILER]
* BUG: Long integer constants are now compiled correctly in all cases.
git-svn-id: svn://localhost/gambas/trunk@2471 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The IDE now uses the WebKit component to display an online help
directly into the automatic completion popup. The online help management
is quick and dirty at the moment.
* NEW: The option dialog is being redesigned. Not finished yet...
* NEW: Some cosmetic changes in the user control that displays the
information about a project. Not perfect yet.
[WIKI CGI SCRIPT]
* NEW: The wiki now sends the "Last-Modified", "Expires" and
"Cache-Control: max-age" headers with the HTML pages.
* NEW: Adding "?help" to an URL returns the page for the IDE online help.
[INTERPRETER]
* BUG: Try to stop breaking strict aliasing rules. This way the interpreter
should behave better on ARM architecture.
* BUG: Remove a possible crash when calling a constructor.
[GB.DRAW]
* NEW: The deprecated properties Draw.ForeColor and Draw.BackColor have
been removed.
[GB.NET]
* BUG: Do not watch the SerialPort file descriptor for reading if there is
no Read event handler.
[GB.QT4.WEBKIT]
* NEW: WebSettings.Cache.Path is a new property to define the directory
used for storing the disk cache contents. If this property is not
defined, no cache will be used.
* NEW: WebView.Cached is a new property to tell if the web browser will use
the disk cache. The WebSettings.Cache.Path *must* be defined before
setting that property.
* NEW: WebView.HTML is not read-only anymore.
git-svn-id: svn://localhost/gambas/trunk@2460 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Ensure that the .action project sub-directory is owned by the user
owning the project directory.
git-svn-id: svn://localhost/gambas/trunk@2434 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Greek translation made by Alexandros Prekates.
* BUG: Non-versioned files or directories are not locked anymore so that
you can add it to the repository.
[INTERPRETER]
* BUG: Non-integer constants are correctly optimized and keep their
datatype.
[COMPILER]
* BUG: Non-integer constants are correctly compiled and keep their
datatype.
git-svn-id: svn://localhost/gambas/trunk@2385 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the file information dialog layout.
* BUG: Renaming data files does not crash the IDE anymore.
* BUG: Status of renamed versioned directories is now correctly updated.
git-svn-id: svn://localhost/gambas/trunk@2380 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The Begins and Ends operator of course.
* BUG: Fix a crash when compiling a line beginning with the Read instruction.
git-svn-id: svn://localhost/gambas/trunk@2366 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Use the new Begins and Ends operators instead of Like where it was
necessary or faster.
[INTERPRETER]
* BUG: The &/ operator keeps only one slash if both the last character of
the left string and the first character of the right string is a slash.
* NEW: 'Begins' is a new string operator that checks if the beginning of a
string is equal to another string.
* NEW: 'Ends' is a new string operator that checks if the end of a string
is equal to another string.
* BUG: Errors raised by Eval() are correctly displayed again.
* NEW: The 'Like' operator has a new pattern: '{x,y,...}' tests if a
string matches one of the strings between square brackets, each one being
separated by a comma.
[GB.DB.FORM]
* BUG: Use the new Begins and Ends operators instead of Like where it was
necessary or faster.
[GB.DESKTOP]
* BUG: Use the new Begins and Ends operators instead of Like where it was
necessary or faster.
[GB.GTK]
* BUG: Modal windows do not block mouse, keyboard, enter and leave events
anymore.
[GB.FORM]
* BUG: Use the new Begins and Ends operators instead of Like where it was
necessary or faster.
[GB.FORM.MDI]
* BUG: Use the new Begins and Ends operators instead of Like where it was
necessary or faster.
[GB.WEB]
* BUG: Use the new Begins and Ends operators instead of Like where it was
necessary or faster.
git-svn-id: svn://localhost/gambas/trunk@2365 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for translated compiler error messages.
* NEW: French translatio of compiler error messages.
[COMPILER]
* BUG: Fix many error messages so that they are easily translatable.
* NEW: A new option, "-e", to output translatable error messages instead of
full ones.
git-svn-id: svn://localhost/gambas/trunk@2346 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The option "--no-old-read-write-syntax" allows to easily detect
where Read and Write instructions should be rewritten.
git-svn-id: svn://localhost/gambas/trunk@2345 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use the new Read/Write syntax.
[INTERPRETER]
* NEW: New Read/Write syntax.
* NEW: IsVariant() returns if its argument is a Variant.
[COMPILER]
* NEW: New Read/Write syntax.
* NEW: Support for the old read syntax.
[WIKI CGI SCRIPT]
* NEW: Allow query arguments ("?v3" for example) inside wiki links.
* NEW: New look for the table of contents.
* BUG: Non-translated pages display again.
[GB.WEB]
* NEW: Use the new Read/Write syntax.
git-svn-id: svn://localhost/gambas/trunk@2344 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* BUG: Compile files with maximum optimization correctly.
[DEVELOPMENT ENVIRONMENT]
* BUG: Remove The Form_Close event handler in the FHelp form. It did
stupid things indirectly.
[WIKI CGI SCRIPT]
* NEW: Enhancements to support 2.0 and 3.0 descriptions on the same page.
[GB.FORM]
* NEW: Enhance the ColorChooser control.
[GB.FORM.MDI]
* BUG: Fix the Toolbar layout algorithm.
[GB.IMAGE]
* BUG: Image.Colorize() works again.
[GB.IMAGE.EFFECT]
* NEW: This component includes image filtering and effect routines. This is
the old gb.image component from Gambas 2. Everything is not working
correctly at the moment.
[GB.QT4]
* NEW: Color.LightForeground returns the light foreground color used for
drawing separators and plain panel borders.
* BUG: Prevent crashes coming from the fact that Qt deletes child widgets
before emiting the destroy signal on the parent.
git-svn-id: svn://localhost/gambas/trunk@2296 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Controls whose width (or height) is 1 will always be 1 pixel wide
(or high), regardless of the value of Desktop.Scale.
* NEW: Put the property sheet and the hierarchy tree inside the tabstrip.
* BUG: Replace Image.Flip() by Image.Mirror() in the welcome dialog.
[COMPILER]
* BUG: "Ambiguous braces" error message was incorrect, and has been
replaced by "Ambigous brackets".
[GB.IMAGE]
* NEW: Remove Image.Transform().
[GB.FORM.MDI]
* BUG: The default value of Workspace.ButtonPosition is Align.Right.
[GB.QT4]
* NEW: If the width (or height) argument of Control.MoveScaled() or
Control.ResizeScaled() is zero, then the effective width (or height) will
be 1 pixel.
* NEW: Do not activate windows whose type is ToolTip, Notification,
DragAndDrop or Desktop in the Show() method.
* BUG: Wait a little before activating windows, so that they do not stay in
the foreground.
git-svn-id: svn://localhost/gambas/trunk@2255 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Put custom autoconf macros in the "m4" directory.
* NEW: Drop libltdl.
[GB.IMAGE]
* NEW: Image.Resize() and Image.Mirror() has been put in common there.
* NEW: Image.Flip() has been removed.
* NEW: Image.Copy() and Image.Resize() now supports 24-bits images.
[GB.OPENGL]
* NEW: Depends on gb.image now.
* NEW: Texture images can have any format now.
git-svn-id: svn://localhost/gambas/trunk@2236 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Some little changes in the "cool" buttons and in the project item
control.
* BUG: Fix the console embedding flash when the debugger starts.
[INTERPRETER]
* BUG: Fix the Makefile.am file that prevented debugging flags to be sent
to the compiler.
[COMPILER]
* BUG: Fix the Makefile.am file that prevented debugging flags to be sent
to the compiler.
[GB.FORM]
* OPT: ListContainer.Clear() now locks the container, as there is no need
to arrange its children while clearing it.
git-svn-id: svn://localhost/gambas/trunk@2230 867c0c6c-44f3-4631-809d-bfa615b0a4ec