TODO list: always incomplete :-)
--------------------------------

VERSION 2.0
-----------

- A stack that can grow dynamically.
- LTrim$(sStr, "/") and so on...
- A special syntax to make variable writable once only (for controls variables).
- Special methods in gambas code: _next
- NEW Collection OF String
- Only one symbolic link: /usr/bin/gbx2
- Doing something like ByRef to help porting VB projects.
- Don't store the entire .project file in the archive. Forget arguments.

- Refine the contents of *.component files.
- Add global parameters for each component.
- Sorting objects
- Compilation error must indicate the column, not only the line.
- Make objects printable, with a "_print" hidden method or something else.
- Preprocessor (#IF, #ELSE, #ENDIF, #DEFINE).
- Enumerations must manage object destructions.
- Make objects writable and readable to streams.
- Perl regexp with the MATCH operator.
- Better debugger, that can print collection & array contents.
- Temporary files should not be readable by everyone.
- Enhance archive format.

Don't do it:

- OPTIONAL arguments should takes any expression.
- Class synonymous.
- Array[x] when x < 0 should return Array[Array.Count - x]

DEVELOPMENT ENVIRONMENT
-----------------------

- Manage Object properties in IDE.
- Console in IDE should be a true terminal...
- Renaming controls in the IDE renames the source code too.
- www.linuxpackages.net -> Support Slackware packages in the IDE.
- put IDE controls picture in /usr/share
- Copy form should copy referenced pictures.
- Project files that are automatically generated.
- Make special colors in the IDE (parent color, selected color, ...)
- Something to select the form (unselect everything) in the form editor.
- Line numbers in editor.
- Split .project & .library ?


GUI RELATED STUFF
-----------------

- Send key events to another GUI process.
- Globally intercept key events
- Use transformation matrix in the Draw class
- ListBox should raise Click event even if the user clicks on an
  already selected item.
- An advanced text editor control.
- Fix the size of the lastcolumnView  column at show.
- TextBox/ComboBox selection interface clean-up:
  .Select([Start, Length])
  .Selection.{Text,Start/Pos,Length,Hide}
- Adds automatically the extension to the file in the save file dialog.
- Make embedded selection dialogs.
- Sorting in columnview
- Relative font sizes.
- Widgets coordinates as floating point numbers scaled by the font pixel size ?


DATABASE COMPONENT
------------------
 
- Manage auto-increment fields in database component ?
- Manage database versions correctly in the database component.
- Add Views support in database component.
- Changeable client Charset in database driver.
- Returns the number of records affected by a query.
- A flag to print the last query.
- Date can be null now.


MISCELLANEOUS
-------------

- Use kdefx library for the Image class.
- Fix the use of GB.Post() in SDL sound.
- A crypt component.


COMPONENT FILE
--------------

[Component]
Name=gb.qt
Desc=Graphical component based on the QT library
Desc[fr]=Composant graphique basé que la librairie QT
Implements=GuiForm
EventLoop=1
Authors=A,B,C
Beta=1
Controls=Frame,Button,Timer
Require=GuiForm
Require=(gb.qt|gb.kde)

[Frame]
Group=Form
UsableIn=GuiForm
Container=1

[Button]
Group=Form
UsableIn=GuiForm

[Timer]
Group=Form
UsableIn=GuiForm
Virtual=1

----

[Component]
Name=gb.db
Desc=Database component
Controls=Connection,Data

[Connection]
Group=Data
UsableIn=*
Virtual=1

[Data]
Group=Data
UsableIn=*
Virtual=1

----

[Component]
Name=gb.db.form
Desc=Database component controls
Controls=DataTextBox,DataComboBox,DataListBox,DataLabel,DataTextLabel,DataPictureBox,DataTextArea

[DataLabel]
Group=Data
UsableIn=GuiForm

[Data]
Group=Data
UsableIn=*
Virtual=1

----

[Component]
Name=gb.web
Implements=WebForm
Provides=WebLabel,WebTable,WebPictureBox




