gambas-source-code/TODO

97 lines
3.2 KiB
Text
Raw Normal View History

TODO list: always incomplete :-)
--------------------------------
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.
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' ?).
- 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 ?
HELP
- Update the event nodes in the tree in 3.0 and 2.0. Replace "+event" by "_event".