gambas-source-code/TODO

102 lines
3.3 KiB
Text
Raw Normal View History

TODO list: always incomplete :-)
--------------------------------
[DEVELOPMENT ENVIRONMENT] * BUG: Use TextEdit.RichText insted of TextEdit.Text. * BUG: END SUB can be the end of a method. The class analyze now takes   that into account. [HELP] * BUG: Fixed the generated treeview. [COMPILER] * OPT: The NOT operator used just at the beginning of a conditional expression is optimized. Consequently, an expression like 'IF NOT 2' is now equivalent to 'IF 2 = 0' and not to 'IF (NOT 2) <> 0' as before. In other words, the boolean conversion is now done before the NOT, and not after. The following instructions are concerned: IF, WHILE, UNTIL. * NEW: BYREF is new keyword that is a more readable synonymous of '@'. [GB.DB.FORM] * BUG: Correctly manage data controls inside TabStrip-like containers. * BUG: Setting the focus on a non-initialized DataControl does not raise an error anymore. [GB.GTK] * BUG: HSplitter.Layout and VSplitter.Layout now work correctly. It is a list of children widths, hidden children having a zero width. * BUG: Window arrangement is done before the Open event is raised, as in gb.qt. * BUG: Keyboard, focus and mouse events now work correctly on Window and DrawingArea controls. [GB.QT] * BUG: HSplitter.Layout and VSplitter.Layout now work correctly. It is a list of children widths, hidden children having a zero width. * BUG: Many warning fixes. * BUG: Now the Control.Visible property works like in gb.gtk, i.e. it returns if the control was not explicitely hidden. git-svn-id: svn://localhost/gambas/trunk@1060 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-06 01:25:48 +01:00
CONFIGURATION
- Raise an error when libffi is not found.
COMPILER
- Compilation error must indicate the column, not only the line.
- Better error message if a class form structure is incorrect. Otherwise the error
talks about the form generated code.
INTERPRETER
- A stack that can grow dynamically.
- A special syntax to make variable writable once only (for controls variables).
- Add global parameters for each component.
- 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.
/*
- OPTIONAL arguments should takes any expression.
- Class synonymous.
- Array[x] when x < 0 should return Array[Array.Count - x]
- NEW Collection OF String
*/
- If project compilation version < compiler version then => compile all
- Intercept all signals in Application_Signal.
- 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.
DEVELOPMENT ENVIRONMENT
- .startup file, a copy of .project with only startup info inside.
- .project files should be marked as 2.0.
- 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.
- Packager should manage component projects.
- A new folder for non-packaged data files ('Notes' ?).
- Load/Save in menu editor.
- Manage svn conflicts.
EXAMPLES
- Fix the GameOfLife example, remove the 'public control' option.
- Fix the Gravity example either.
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.
- Popup forms => Need to redesign some properties.
- Rewrite the HSplit/VSplit layout, and use a Integer[] or a Float[]
- Style API.
PE_Separator / paint_hline paint_vline
PE_*Arrow / paint_arrow
PE_Indicator + PE_CheckMark / paint_check
? PE_Tab / paint_extension
PE_Focus / paint_focus
PE_SplitterHandle / paint_handle
PE_ExclusiveIndicator / paint_option
PE_Button PE_Panel / paint_box
DESKTOP COMPONENT
- gb.desktop X11 properties management, and watch.
- Detect an already running application.
- gb.desktop kwalletmanager support. And gnome ?
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.
COMPONENTS
- State of gb.corba ?