Lazarus IDE ToDo List

From Lazarus wiki
Revision as of 22:51, 11 March 2005 by Vincent (talk | contribs) (→‎2. IDE: formatting)
Jump to navigationJump to search

Lazarus IDE "ToDo" List

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 version.