Difference between revisions of "Lazarus IDE ToDo List"

From Lazarus wiki
Jump to navigationJump to search
m (→‎Docs: formatting)
(replaced content by link to the original roadmap on www.lazarus.freepascal.org)
Line 1: Line 1:
= Lazarus IDE "ToDo" List =
+
The lazarus road map can be found at [http://www.lazarus.freepascal.org/modules.php?op=modload&name=Roadmap&file=index www.lazarus.freepascal.org].
 
 
== 1. LCL ==
 
 
 
=== Graphics ===
 
* State: loading bmp and xpm works for 16/24 depth saving is not implemented, so streaming does not work Palettes basically implemented in gtk-interface
 
* Skills: knowledge of LCL, VCL, deep knowledge of interfaces
 
* Difficulty: high
 
 
 
=== Docking (= the combination of forms) ===
 
* State: not implemented
 
* Skills: deep knowledge of LCL, VCL and probably also the interfaces
 
* Difficulty: high
 
 
 
=== Frames (= forms as childs) ===
 
* State: not implemented
 
* Skills: deep knowledge of LCL, VCL, interfaces and IDE
 
* Difficulty: high
 
 
 
=== TControl.Font ===
 
* State: not implemented. In contrary to the VCL the LCL should use the current Theme of the user. So, the Font property should only work, if explicitly set
 
* Skills: knowledge of LCL, gtk, win32
 
* Difficulty: medium
 
 
 
== 1.1 Components ==
 
 
 
  TArrow
 
    State: working
 
 
 
  TBevel
 
    State: working
 
 
 
  TBitBtn
 
    State: working
 
   
 
  TBitmap:
 
    State: see LCL - Graphics
 
 
 
  TButton
 
    State: working
 
   
 
  TBrush
 
    State: working
 
 
 
  TCalendar
 
    State: working
 
 
 
  TCheckBox
 
    State: working
 
 
 
  TCheckGroup
 
    State: working
 
   
 
  TCheckListBox
 
    State: working
 
 
 
  TColorButton
 
    State: working
 
 
 
  TColorDialog
 
    State: working
 
 
 
  TComboBox
 
    State: working
 
 
 
  TDrawGrid
 
    State: working
 
 
 
  TEdit
 
    State: working
 
   
 
  TFont
 
    State: working
 
 
 
  TFontDialog
 
    State: working
 
 
 
  TGraphic:
 
    State: see LCL - Graphics
 
 
 
  TGroupBox
 
    State: working
 
   
 
  TIcon:
 
    State: not implemented
 
 
 
  TIdleTimer
 
    State: working
 
 
 
  TImage
 
    State: see LCL - Graphics
 
 
 
  TImageList
 
    State: see LCL - Graphics
 
 
 
  TLabel
 
    State: working
 
 
 
  TListBox
 
    State: working, Bug: Scrollbars do not always correspond to items
 
 
 
  TListView
 
    State: working
 
 
 
  TMainMenu
 
    State: working
 
 
 
  TMaskEdit
 
    State: working
 
 
 
  TMemo
 
    State: working
 
 
 
  TMenuItem
 
    State: working
 
 
 
  TNoteBook
 
    State: working
 
 
 
  TOpenDialog
 
    State: almost working, Filter does not work in gtk-interface, see there
 
 
 
  TPage
 
    State: working
 
 
 
  TPaintBox
 
    State: working
 
   
 
  TPairSplitter
 
    State: working
 
 
 
  TPanel
 
    State: working
 
   
 
  TPen:
 
    State: working
 
   
 
  TPixmap:
 
    State: see LCL - Graphics
 
 
 
  TPopupMenu
 
    State: working
 
 
 
  TProgressBar
 
    State: working
 
 
 
  TRadioButton
 
    State: working
 
 
 
  TRadioGroup
 
    State: working
 
 
 
  TSaveDialog
 
    State: working
 
 
 
  TScrollBar
 
    State: working
 
 
 
  TScrollBox
 
    State: working
 
 
 
  TShape
 
    State: working
 
 
 
  TSpeedButton
 
    State: working,
 
          Bug: mouse down, mouse move out of button, mouse up
 
          does not react properly
 
 
 
  TSpinEdit
 
    State: working
 
 
 
  TStaticText
 
    State: working
 
 
 
  TStatusBar
 
    State: working
 
 
 
  TStringGrid
 
    State: working
 
 
 
  TTimer
 
    State: working
 
 
 
  TToggleBox
 
    State: working
 
 
 
  TToolBar
 
    State: needs redesign. The current design is too win32 specific.
 
          It should delegate at least half the work to the interfaces, which
 
          should create the interface specific toolbar and buttons.
 
    Skills: LCL, gtk, little win32
 
    Difficulty: medium
 
 
 
  TToolbutton
 
    State: see TToolBar
 
 
 
  TTrackbar
 
    State: working
 
 
 
  TTreeView
 
    State: working, Bug: Property 'Scrollbars' does not work properly
 
 
 
  TUpDown
 
    State: working
 
 
 
=== 1.2 gnome interface ===
 
 
 
  Applets
 
    State: not implemented
 
    Skills: gtk, libpanel, LCL
 
    Difficulty: medium
 
 
 
=== 1.3 gtk interface ===
 
 
 
  FileDialog
 
    State: Filter does not work
 
    Skills: gtk
 
    Difficulty: medium
 
   
 
  Special keys - for example Ctrl-Shift-1
 
    State: not implemented
 
    Skills: gtk, X
 
    Difficulty: medium
 
 
 
  Graphics
 
    see LCL - Graphics
 
   
 
  Focus
 
    State: switching focus between windows. Might be impossible due to
 
          windowmanagers and limitations of gtk1
 
    Skills: gtk, X
 
    Difficulty: medium
 
   
 
  Minimizing windows
 
    State: not implemented
 
    Skills: gtk, X
 
    Difficulty: medium
 
   
 
  Doublebuffering
 
    State: not implemented in gtk1. This is a feature for the gtk2 interface
 
 
 
=== 1.4 gtk2 interface ===
 
 
 
  General
 
    State: Bindings complete and exists as package
 
          -> see lcl/interfaces/gtk2/README
 
          75% of the widgets work, but is not fully functional do to
 
          incompatibilies in widget  callbacks, mouse offsets,
 
          and misc paint and focus issues
 
    Skills: deep knowledge of gtk, gtk2, LCL
 
    Difficulty: medium
 
 
 
  ListBox/CheckListBox
 
    State: partly implemented, stringlist cannot hold objects;
 
          cannot properly change [CheckState|] of CheckListBox;
 
          cannot change or get focus rows, topindex etc
 
    Skills: deep knowledge of gtk2, LCL
 
    Difficulty: medium
 
 
 
  CListBox/ListView
 
    State: not implemented
 
    Skills: deep knowledge of gtk2, LCL
 
    Difficulty: high
 
 
 
  Use Pango For Fonts
 
    State: Mostly implemented, needs DrawText, better calculation of
 
          Text Metrics, proper invalidating of bg on repaint.
 
    Skills: deep knowledge of gtk2, Pango
 
    Difficulty: medium
 
 
 
  Better abstraction from gtk1 interface
 
    State: currently much code is done via ifdef's in the gtk interface
 
          all gtk2 specific code(even if means some code duplication)
 
          should be in the gtk2 interface, only ifdef's should be to
 
          around gtk1 specific(gtk2 deprecated etc) code.
 
    Skills: knowledge of gtk, gtk2
 
    Difficulty: medium
 
 
 
=== 1.5 win32 interface ===
 
 
 
  General
 
    State: Some examples already work, IDE does not work. Most things
 
          implemented. Needs debugging
 
    Skills: Knowledge of LCL, win32 api
 
    Difficulty: medium
 
 
 
  Menus
 
    State: needs testing and proper implementation of menu item ids.
 
    Skills: win32
 
    Difficulty: medium
 
 
  Accelerators
 
    State: Accelators (i.e. CTRL-C) are implemented for a single form,
 
          but don't work for multiple forms like the IDE, where the menus
 
          are on one form (i.e. main ide bar) and the focus is in a
 
          other form (i.e. source editor).
 
    Skills: win32
 
    Difficulty: medium
 
 
 
   
 
  Form Sizes
 
    State: form sizes are not honoured, they are often way too big.
 
    Skills: win32
 
    Difficulty: medium
 
 
 
  TPromptDialog:
 
  State: in these dialogs there is no text.
 
  Skills: win32
 
  Difficulty: medium
 
 
 
  TBitBtn
 
  State: no text
 
  Skills: win32
 
  Difficulty: medium
 
 
 
== 2. IDE ==
 
;State
 
: always under development, will never be complete. If you want to add a feature, just ask on the list.
 
 
 
== Docs ==
 
;State
 
: basic structure is under construction by Mattias
 
 
 
== Miscellaneous ==
 
 
 
 
 
 
 
==Original contributors and changes==
 
This page has been converted from the epikwiki [http://lazarus-ccr.sourceforge.net/index.php?wiki=LazarusIdeToDoList version].
 

Revision as of 23:01, 11 March 2005

The lazarus road map can be found at www.lazarus.freepascal.org.