Roadmap
From Free Pascal wiki
This document gives an idea of the current status of the various parts of Lazarus and also help new contributors find a suitable place where they can help. It also shows the people implementing the various parts and the targets.
Legend:
Working - Stable, most or all parts implemented.
Partially Implemented - Works, but has some features missings
In progress - Someone is working on this
Not Implemented - Nothing done, needs your help
Unknown - Please review if this component work and set it´s status here
Current status of the various parts of Lazarus
Unit | Item | State | Target | Skills | Responsible | Comments |
---|---|---|---|---|---|---|
IDE | TCollection Editor | working | 0.9.x | FCL, RTTI, IDE | - | A generic TCollection editor for the various TCollections in the LCL/FCL. |
IDE | TActionList | working | 0.9.x | - | - | - |
IDE | Doc Editor | partially implemented | - | fpdoc | - | The doc editor will be an intergrated fpDoc editor similar to fpde. It will be a process of its own, so that it can show help for dialogs as well. It should also be able to write help for packages. |
IDE | Export LFM as xml | working | - | - | - | Load and save LFM files to XML. |
IDE | Icon Editor Roadmap | in progress | post 1.0 | - | Tombo | A simple icon editor with the ability to create lrs files. It will be a good example and can help newbies to create icons for their components. |
LCL | Borderspacing | working | 0.9.x | - | - | for aligned controls |
LCL | Port to Darwin Power PC, Mac OS X | working | 0.9.x | - | - | depends on FPC 1.9.5 |
LCL | Port to Mac OS X x86 | working | - | - | - | depends on FPC 2.1.1 |
LCL | TSplitter | working | 0.9.x | easy | - | - |
LCL | Docking (= the combination of forms) | partially working, in progress | post 1.0 | deep LCL and interfaces | Mattias | - |
LCL | TControl.Font | in progress | 0.9.x | - | - | - |
LCL | TTabControl | in progress | 0.9.x | - | - | - |
LCL | Constrain maximization to specific area | not implemented | - | - | - | - |
LCL | Frames (= forms as childs) | not implemented | - | deep knowledge of LCL | - | - |
LCL | MDI - Multiple Documents Interfaces Putting fo ... | not implemented | - | - | - | - |
LCL | Palette support | not implemented | - | - | - | Required to correctly show colors on a 256 colors display |
LCL | TControlBar | not implemented | - | - | - | - |
LCL | TDirectoryTreeView | not implemented | - | - | - | - |
LCL | TFindDialog | working | - | - | - | Implemented in 0.9.16 |
LCL | TReplaceDialog | working | - | - | - | Implemented in 0.9.16 |
LCL | Constrain maximization to specific area | not implemented | - | winapi, gtk | - | When maximizing a window, the left, top, width and height can all be constrained to a specific rectangular area on the screen/desktop. After this is done, constrain the source editor and maybe other windows |
LCL | Drag&Drop | working | - | - | ||
Components | TIcon | in progress | - | - | - | - |
Components | CUPS Package | working | 0.9.x | easy | - | See sourceforge project cups for lazarus. |
GTK | Focus | working | 0.9.x | Gtk, X | - | switching focus between windows. Might be impossible due to windowmanagers and limitations of gtk1 |
GTK | Special Keys | working | 0.9.x | Gtk, X | - | for example Ctrl-Shift-1 |
GTK | BringToFront, SendToBack | in progress | - | Gtk, X | - | - |
GTK | Minimize | not implemented | - | Gtk, X | - | - |
GTK | Doublebuffering | in progress | - | Gtk, X | - | - |
GTK | Minimizing windows | not implemented | - | Gtk, X | - | - |
GTK2 | General interface | partially working, in progress | post 1.0 | Gtk, Gtk2 | - | - |
Gnome | Applets | not implemented | - | gtk, libpanel, LCL | - | - |
Qt | The QT interface | partially working, in progress | post 1.0 | Qt and LCL | Sekelsenmat | Depends on qt bindings |
WinCE | The Windows CE interface | working | post 1.0 | Windows API and LCL | Roozbeh | Depends on FPC 2.1.x |
IDE | Visual Form Inheritence | in progress | post 1.0 | IDE | Mattias | IDE's File-New dialog needs to be extended so you can select which forms in you project to inherit form. The Form Designer must be extended to support
VFI as well. |
Widgetset dependent components
Component | win32 | gtk | gtk2 | carbon | qt | wince | fpgui |
---|---|---|---|---|---|---|---|
TCustomControl descendents | Working | Working | Working | Partially Implemented | Partially Implemented | Working | Not Implemented |
Cursors | Working | Working | Working | Working | Working | Working | Not Implemented |
TApplication | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented |
TArrow | Working | Working | Working | Not Implemented | Not Implemented | Working | Not Implemented |
TBevel | Working | Working | Working | Not Implemented | Not Implemented | Partially Implemented | Not Implemented |
TBitBtn | Working | Working | Working | Partially Implemented | Partially Implemented | Partially Implemented | Not Implemented |
TBitmap | Working | Working | Working | Partially Implemented | Partially Implemented | Working | Not Implemented |
TBrush | Working | Working | Working | Partially Implemented | Partially Implemented | Partially Implemented | Not Implemented |
TButton | Working | Working | Working | Working | Working | Working | Not Implemented |
TCalendar | Working | Working | Working | Not Implemented | Not Implemented | Not Implemented | Not Implemented |
TCheckBox | Working | Working | Working | Working | Partially Implemented | Working | Not Implemented |
TCheckGroup | Working | Working | Working | Working | Partially Implemented | Unknown | Not Implemented |
TCheckListBox | Working | Working | Working | Not Implemented | Partially Implemented | Partially Implemented | Not Implemented |
TColorDialog | Working | Working | Working | Working | Not Implemented | Not Implemented | Not Implemented |
TComboBox | Working | Working | Working | Partially Implemented | Working | Partially Implemented | Not Implemented |
TDrawGrid | Working | Working | Working | Not Implemented | Not Implemented | Unknown | Not Implemented |
TEdit | Working | Working | Working | Working | Partially Implemented | Working | Not Implemented |
TFont | Working | Working | Partially Implemented | Partially Implemented | Working | Working | Not Implemented |
TFontDialog | Working | Working | Working | Not Implemented | Partially Implemented | Not Implemented | Not Implemented |
TForm | Working | Working | Working | Working | Partially Implemented | Working | Not Implemented |
TGraphic | Working | Working | Working | Partially Implemented | Partially Implemented | Partially Implemented | Not Implemented |
TGroupBox | Working | Working | Working | Partially Implemented | Partially Implemented | Working | Not Implemented |
TIdleTimer | Working | Working | Working | Working | Not Implemented | Not Implemented | Not Implemented |
TImage | Working | Working | Working | Not Implemented | Not Implemented | Partially Implemented | Not Implemented |
TImageList | Working | Working | Working | Not Implemented | Not Implemented | Not Implemented | Not Implemented |
TLabel | Working | Working | Working | Partially Implemented | Partially Implemented | Working | Not Implemented |
TListBox | Working | Working | Partially Implemented | Not Implemented | Working | Partially Implemented | Not Implemented |
TListView | Working | Working | Partially Implemented | Not Implemented | Not Implemented | Partially Implemented | Not Implemented |
TMainMenu | Working | Working | Working | Not Implemented | Working | Not Implemented | Not Implemented |
TMaskEdit | Working | Working | Working | Partially Implemented | Not Implemented | Partially Implemented | Not Implemented |
TMemo | Working | Working | Working | Partially Implemented | Partially Implemented | Working | Not Implemented |
TMenuItem | Working | Working | Working | Not Implemented | Partially Implemented | Not Implemented | Not Implemented |
TNoteBook | Working | Working | Working | Not Implemented | Partially Implemented | Not Implemented | Not Implemented |
TOpenDialog | Working | Working | Working | Not Implemented | Partially Implemented | Not Implemented | Not Implemented |
TPage | Working | Working | Working | Not Implemented | Partially Implemented | Not Implemented | Not Implemented |
TPageControl | Working | Working | Working | Not Implemented | Partially Implemented | Not Implemented | Not Implemented |
TPaintBox | Working | Working | Working | Not Implemented | Partially Implemented | Unknown | Not Implemented |
TPairSplitter | Working | Working | Working | Not Implemented | Not Implemented | Not Implemented | Not Implemented |
TPanel | Working | Working | Working | Not Implemented | Partially Implemented | Partially Implemented | Not Implemented |
TPen | Working | Working | Working | Partially Implemented | Not Implemented | Partially Implemented | Not Implemented |
TPixmap | Working | Working | Working | Partially Implemented | Working | Partially Implemented | Not Implemented |
TPopupMenu | Working | Working | Working | Not Implemented | Working | Not Implemented | Not Implemented |
TPrinterSetupDialog | Working | Working | Working | Not Implemented | Not Implemented | Not Implemented | Not Implemented |
TProgressBar | Working | Working | Working | Working | Partially Implemented | Working | Not Implemented |
TRadioButton | Working | Working | Working | Working | Partially Implemented | Working | Not Implemented |
TRadioGroup | Working | Working | Working | Working | Partially Implemented | Unknown | Not Implemented |
TSaveDialog | Working | Working | Partially Implemented | Not Implemented | Partially Implemented | Not Implemented | Not Implemented |
TScrollBar | Working | Working | Working | Working | Not Implemented | Working | Not Implemented |
TScrollBox | Working | Working | Working | Not Implemented | Not Implemented | Working | Not Implemented |
TShape | Working | Working | Working | Partially Implemented | Not Implemented | Partially Implemented | Not Implemented |
TSpeedButton | Working | Working | Working | Not Implemented | Partially Implemented | Unknown | Not Implemented |
TSpinEdit | Working | Working | Working | Not Implemented | Partially Implemented | Unknown | Not Implemented |
TStaticText | Working | Working | Working | Working | Working | Working | Not Implemented |
TStatusBar | Working | Working | Working | Not Implemented | Partially Implemented | Working | Not Implemented |
TStringGrid | Working | Working | Working | Not Implemented | Not Implemented | Unknown | Not Implemented |
TTabSheet | Working | Working | Working | Not Implemented | Partially Implemented | Not Implemented | Not Implemented |
TTimer | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented |
TToggleBox | Working | Working | Working | Working | Not Implemented | Partially Implemented | Not Implemented |
TToolBar | Working | Working | Working | Not Implemented | Not Implemented | Working | Not Implemented |
TToolbutton | Working | Working | Working | Not Implemented | Not Implemented | Partially Implemented | Not Implemented |
TTrackbar | Working | Working | Working | Working | Not Implemented | Working | Not Implemented |
TTreeView | Working | Working | Working | Not Implemented | Not Implemented | Unknown | Not Implemented |
TUpDown | Working | Working | Working | Not Implemented | Not Implemented | Partially Implemented | Not Implemented |
TIcon | Partially Implemented | Working | Partially Implemented | Not Implemented | Partially Implemented | Partially Implemented | Not Implemented |