TODO list: always incomplete :-) -------------------------------- COMPILER - Compilation error must indicate the column, not only the line. - Conditional compilation #IF DEBUG - Warn for unused local or private variables. - CASE LIKE INTERPRETER /**** NEIN! - OPTIONAL arguments should takes any expression. - Class synonymous. - Array[x] when x < 0 should return Array[Array.Count - x] - NEW Collection OF String - A ConstCopy() function for arrays, and const arrays. ****/ - A special syntax to make variable writable once only (for controls variables). - Add global parameters for each component. Or no, a global configuration repository, to tell, for example, which socket the mysql component must use... - Make objects printable, with a "_print" hidden method or something else. - Make objects writable and readable to streams. - Perl regexp with the MATCH operator. - An expression can begin with NEW. - Type mismatch error: print the mismatched values. - Special runtime debugging commands for dumping all the variables for example. - A new debugging compilation option to only put line number information in the output files. - NInstr() -> Count the number of patterns. - If project compilation version < compiler version then => compile all - Intercept all signals in Application_Signal. - Catch kill signal to remove temporary files. - Structure support - Callback support - Sorting two or more arrays at the same time. - A special method named _attach, to be warned when the parent object changes. - MOD with floats. - Make the error information associated with the current stack frame. DEVELOPMENT ENVIRONMENT - Renaming controls in the IDE renames the source code too. - Loading a "form" component needs calling InitControl on classes that are not member of the list of controls. - Bookmarks in editor. - Manage Object properties in IDE. - Put a language code in comments, and hide them as needed by the user. - Make a visual control clipboard. - Load/Save in menu editor. - Specific dependencies in the packager. - Generates an index control->component to suggest components for missing controls. - Be able to open a .tar.gz project, and compress it back when the project is closed. - Ability to merge projects. - A checkbox in the property sheet to make controls public individually. - Allow to define the changeable controls of a component. - Conditional breakpoints. GUI RELATED STUFF - Adds automatically the extension to the file in the save file dialog. - Deleting a currently expanding item in TreeView crashes. - A Settings property everywhere? Mmmfff... At least for ColumnView, GridView. - Rewrite the HSplit/VSplit layout, and use a Integer[] or a Float[]. - A MultiContainer property. - Toolbutton should be able to put their text below and beside. - TabStrip.TextFont. - Standard dialog must remember their size. - Form.KeyPreview - Control.HasFocus - GridView.Cell.WordWrap - ValueBox.Value should be visible in the IDE. DESKTOP COMPONENT - Detect an already running application. DATABASE COMPONENT - Add Views support in database component. - Changeable client Charset in database driver. - Returns the number of records affected by a query. - A new database driver model. - Copy a result line into another one. - Use SAVEPOINT in postgresql to simulate nested transactions. DOCUMENTATION WIKI - Mass rename command. - Fix last changes: only those in one language. - A documentation page to explain the Gambas syntax. COMPONENTS - State of gb.corba ? - Put version number in *.component files, and use it when making dependencies in the IDE.