[INTERPRETER]
* NEW: Change the GB_FUNCTION structure so that it stores the index of the method instead of its description pointer.
[GB.DATA]
* OPT: The new GB_FUNCTION structure allows to reduce the size of the GRAPH_DESC structure.
* NEW: Take '*.help' help files into account.
[GB.DATA]
* NEW: Disable the help file generation from sources. It is useless for
normal users.
git-svn-id: svn://localhost/gambas/trunk@6834 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Analyze the source files without 'gb.pcre'.
[GB.DATA]
* NEW: Activate help extraction from source files.
git-svn-id: svn://localhost/gambas/trunk@6831 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Modify the installation process so that it will be able to run the
'gbh3' tool to extract help from component source files. Not usable yet
as long as 'gbh3' depends on 'gb.pcre'.
[HELP EXTRACTOR]
* NEW: Move 'gbh3' project from '/app/src' to '/main/tools'.
* NEW: Add new options that are needed by the installation process.
git-svn-id: svn://localhost/gambas/trunk@6829 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: GraphMatrix.Add() does not add identical vertices multiple times
anymore.
git-svn-id: svn://localhost/gambas/trunk@6752 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Trie: Use sufficient bit widths in numerical constants (could cause
data loss on 32 bit systems).
* BUG: TriePrefix: Don't drop reference counts of the Trie when the prefix
is not found.
git-svn-id: svn://localhost/gambas/trunk@6688 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update versions in Gambas projects.
* BUG: Remove some '.gambas' directories that must not be under version
control.
[DEVELOPMENT ENVIRONMENT]
* NEW: Update the offline help to the new wiki look.
* NEW: Rename the CRecentFile class as CRecentProject.
[WIKI CGI SCRIPT]
* NEW: Some little changes in the look.
[GB.FORM]
* BUG: SwitchButton: Remove a debugging message.
[GB.MARKDOWN]
* BUG: Remove the useless Markdown.Root property.
git-svn-id: svn://localhost/gambas/trunk@6638 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use the FontBox control in the option dialog.
[WIKI CGI SCRIPT]
* NEW: Add a preview button in editing mode.
[GB.DB]
* NEW: Database driver now have a flag to tell if they support collation or
not.
[GB.DB.POSTGRESQL]
* BUG: Use collation only if database version is greater or equal than 9.1.
[GB.FORM]
* NEW: Little design changes in the FontChooser control.
* BUG: Fix the FontBox control.
* NEW: FontBox.Default is a new property that defines which text is
displayed in the control when no font is set. By default, the application
default font name is used.
[GB.FORM.DIALOG]
* NEW: Add a custom font chooser dialog for Dialog.SelectFont().
git-svn-id: svn://localhost/gambas/trunk@6520 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The 256 values of an input byte were mapped to just 128 bits of the
trie children mask, so corruption could have happened with non-ASCII keys.
* BUG: Add a special case when using GB.AddString() on an empty key
* BUG: Fix a memory error from Trie.Complete()'s return value
* OPT: Use the Gambas API in trie.c to manage memory and thus remove error
recovery since the interpreter will crash anyway
* OPT: Remove checks for "unsupported" characters as all 256 values of a
byte are supported in this version of the code
git-svn-id: svn://localhost/gambas/trunk@6515 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Trie: Fix Complete() method where the completion would be empty
and a memory leak there
git-svn-id: svn://localhost/gambas/trunk@6507 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Trie and TriePrefix are new classes which implement a Patricia Trie
git-svn-id: svn://localhost/gambas/trunk@6506 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Heap: Change the way objects are identified in Update.
* NEW: gb.data has a part written in Gambas now.
* NEW: PrioSet is a weaker (WRT ordering) variant of a PrioQueue which
allows operations to be reasonably more efficient.
git-svn-id: svn://localhost/gambas/trunk@6472 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Graph and GraphMatrix work now. Graph implementations in Gambas are
as powerful as native ones.
git-svn-id: svn://localhost/gambas/trunk@6468 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Tweak Graph interface (still not finished)
* NEW: Add a GraphMatrix class which represents a Graph in a (non-sparse)
adjacency matrix (not working)
git-svn-id: svn://localhost/gambas/trunk@6451 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Deque: Add a Copy() method to return a deep copy of a Deque. Stack
and Queue "inherit" this method.
git-svn-id: svn://localhost/gambas/trunk@6407 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Heap is a new class that implements a Min- or MaxHeap, depending upon
a mode parameter to its constructor. It supports some advanced ways to
manipulate the contained data -- beyond the first entry.
git-svn-id: svn://localhost/gambas/trunk@6402 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: List: Fix two false positive compiler warnings on some systems.
* BUG: AvlTree: Don't forward-declare a typedef. It bothers some compilers.
* BUG: Also update Key from AvlTree_get().
* BUG: Invalidate the enumerators in AvlTree.Clear()
git-svn-id: svn://localhost/gambas/trunk@5865 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Mark component as stable
[GB.OPENSSL]
* NEW: Mark component as stable
git-svn-id: svn://localhost/gambas/trunk@5825 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update copyright years.
* NEW: Have a stripped-down version of gb_common_string_temp.h to provide
STRING_compare() without producing compilation problems.
* NEW: AvlTree is a new Collection-like class implementing a balanced
binary search tree. It does _not_ utilise hashing in order to maintain
an order of the literal key strings given by the user (For Each thus
traverses from smallest to greatest key).
* NEW: Carry in a stripped-down version of Bob Jenkins' lookup3 hash
algorithm from the Public Domain. It was a last-minute decision to not use
it in AvlTree to maintain the literal key order.
git-svn-id: svn://localhost/gambas/trunk@5812 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix possible bugs when updating an invalid Current.
* BUG: Really erase old elements instead of just marking them as Null to
prevent (potential) information leaks.
* OPT: Current and the enumerators (internally) carry list global indices
(LGI) which can be used as anchor points together with List.Count to speed
up traversals (always taking the shortest way through the list).
* OPT: Remove workaround code related to an enumerator bug fixed in #5749.
* NEW: Expose List.Current as a virtual object representing the current list
element which has Append() and Prepend() methods to manipulate the list
not only around its head. This breaks backwards compatibility.
* NEW: List.Value is what List.Current has meant formerly.
* NEW: Add List.Current.Index and List.Index which are an absolute index of
the current element into the list. These are guaranteed to be in bounds of
[-List.Count; List.Count - 1]. Note that each non-negative index has an
associated negative equivalent and vice versa. They work like the indices
given to List._get().
* NEW: Add a List.AutoNormalize property which instructs the list to
automatically make indices (like resulting from a calculation) fit into
the List bounds preserving the sign of the given index. This effectively
prevents any "Out of bounds" errors.
* NEW: Add List.MoveTo() to point Current to an index.
* NEW: List.Current.Is{First,Last,Valid} can be used to determine if Current
is the first or last element of the list or if it is valid, respectively.
git-svn-id: svn://localhost/gambas/trunk@5778 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.ReturnSingle() is a new API that allows to return a Single from a
method or property implementation routine.
[GB.NET.POP3]
* NEW: Pop3Client has a new Remove() method to delete a message from its
index. Pop3Client.Remove(n) is just a synonymous for
Pop3Client[n].Delete.
[GB.OPENAL]
* NEW: New component for the OpenAL 3D audio library. Work in progress...
[GB.OPENGL]
* BUG: Fix a possible crash in GL.GenTextures(). I guess that bug will have
to be fixed in other equivalent routines.
git-svn-id: svn://localhost/gambas/trunk@5753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Shrink internal data structures and adjust algorithms likely
improving performance (noticably for the 'random' case of my stress test -
the 'best' case is almost on a par with Variant[] now).
* BUG: Fix difficult-to-spot List.Take() bugs due to difficulties with the
former internal data structures. The class now survives all my test cases
(without misbehaviour under valgrind).
* BUG: List.Take() never raises "Out of bounds" anymore if the list is empty
because that's an inappropriate error for a *circular* list. It raises an
error if an attempt is made to Take() an invalid Current which includes
the case that the List is empty.
git-svn-id: svn://localhost/gambas/trunk@5731 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Finish the List class
* NEW: Add List.Clear(). How could I go without since now?
* OPT: FYI, Current and enumerators remain relative to the _beginning_ of
the list if they're removed in order to can access all elements in an
enumeration.
* NEW: Return NULL for an invalid List.Current instead of raising an error.
However, the attempt to remove an invalid Current still results in that
error.
git-svn-id: svn://localhost/gambas/trunk@5403 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix division by zero when read/write pointer is set on 0-length
Circular (useless but legal).
git-svn-id: svn://localhost/gambas/trunk@5375 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
* 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
* 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