This is a mirror of the wiki at pascal.chat. Editing, history and sign-in are there.
Roadmap English · Русский
This document gives an idea of the current status of the various parts of Lazarus and also helps new contributors to find a suitable place where they can help. It also shows the people implementing the various parts and the targets.
Note: This page refers to the LCL Interface portion (that talks to the backend toolkits) of the Lazarus Component Library. It does NOT reflect on the actual features of the individual GUI toolkits (eg: GTK2, GTK3, Qt, Qt5, Qt6, fpGUI etc)
General status of LCL interfaces
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
working||-
fpdoc||-
The doc editor will be an integrated 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||-||-
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
Drag&Drop
working
||-||-
LCL
Port to Darwin Power PC, macOS
working
0.9.x||-||-
depends on FPC 1.9.5
LCL
Port to macOS (x86)
working||-||-||-
depends on FPC 2.1.1
LCL
TSplitter
working
0.9.x
easy||-||-
LCL
TFindDialog
working||-||-||-
Implemented in 0.9.16
LCL
TReplaceDialog
working||-||-||-
Implemented in 0.9.16
LCL
TControl.Font
in progress
0.9.x||-||-||-
LCL
TTabControl
in progress
0.9.x||-||-||-
LCL
Docking (= the combination of forms)
partially working, in progress
post 1.0
deep LCL and interfaces
Mattias||-
LCL
TFrame (= forms as children)
working
0.9.28
deep knowledge of LCL
Mattias, Paul||-
IDE
Visual Form Inheritence
working
post 1.0
IDE
Mattias
Properties are not yet propagated to open descendants
LCL
MDI - Multiple Documents Interfaces Putting fo ...
in progress
1.2
deep LCL and interfaces
Zeljan
An MDI LCL emulator for widgetsets which does not support MDI, also native implementation of MDI for qt and win32/64. Currently only qt has full MDI support, others are in progress.
LCL
Palette support
not implemented||-||-||-
Required to correctly show colors on a 256 colors display
LCL
TCoolBar
partially working, in progress
post 1.0
LCL and anchoring
Juha||-
LCL
TControlBar
skeleton implementation to prevent errors in Delphi conversion, in progress
post 1.0
LCL and anchoring
Juha||-
LCL
TMaskEdit
working||-||-
Bart||-
LCL
TDirectoryTreeView
not implemented||-||-||-||-
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
Components
TIcon
working
0.9.26||-
Marc||-
Components
CUPS Package
working
0.9.x
easy||-
Status of features on each LCL Interface
Component
win32
gtk
gtk2
carbon
qt/qt5/qt6
wince
fpgui
cocoa
customdrawn
Accelerator Keys
Working
Working
Partially Implemented
Partially Implemented
Working
Not Applicable
Not Implemented
Working
Not Implemented
Caret
Working
Working
Working
Working
Working
Unknown
Not Implemented
Working
Not Implemented
Clipboard
Working
Working
Working
Working
Working
Working
Not Implemented
Working
Implemented in Android
Cursors
Working
Working
Working
Working
Working
Working
Partially Implemented
Working
Not Implemented
Drag & Drop
Working
Working
Working
Partially Implemented
Working
Not Applicable
Not Implemented
Working
Not Implemented
Drop files event
Working
Working
Working
Partially Implemented
Working
Not Applicable
Not Implemented
Working
Not Implemented
MDI Support
Not Implemented
Not Implemented
Not Implemented
Not Implemented
Working
Not Implemented
Not Implemented
Not Implemented
Not Implemented
Printing
Working
Working
Working
Partially Implemented
Working
Unknown
Not Implemented
Not Implemented
Not Implemented
Regions
Working
Working
Working
Working
Working
Working
Partially Implemented
Partially Implemented
Working
TCustomControl descendents
Working
Working
Working
Partially Implemented
Working
Working
Working
Working
Working
Unicode Support
Working
Impossible to Implement
Working
Working
Working
Working
Working
Working
Working
BidiMode
Working
Not Implemented
Partially Implemented
Not Implemented
Working
Not Implemented
Not Implemented
Not Implemented
Not Implemented
Application
Working
Working
Working
Working
Working
Partially Implemented
Partially Implemented
Working
Working
TTimer
Working
Working
Working
Working
Working
Partially Implemented
Working
Working
Working
TApplication.QueueAsyncCall
Working
Unknown
Working
Unknown
Working
Unknown
Working
Working
Not Implemented
TThread.Synchronize
Working
Unknown
Working
Unknown
Working
Unknown
Working
Working
Not Implemented
PostMessage
Working
Unknown
Working
Working
Working||class=""unknown"|Unknown
Working
Working
Not Implemented
PostThreadMessage
Working
Unknown
Unknown
Unknown
Working
Unknown
Not Implemented
Unknown
Not Implemented
Status of Graphics on each LCL Interface
Component
win32
gtk
gtk2
carbon
qt/qt5/qt6
wince
fpgui
cocoa
customdrawn
TBitmap/TPixmap/TIcon/etc
Working
Working
Working
Working
Working
Working
Partially Implemented
Working
Working
TBrush
Working
Working
Working
Partially Implemented
Working
Working
Partially Implemented
Working
Working
TFont
Working
Working
Partially Implemented
Working
Working
Working
Partially Implemented
Working
Working
TPen
Working
Working
Working
Working
Working
Working
Partially Implemented
Working
Working
ExtTextOut
Working
Working
Working
Working
Working
Working
Working
Working
Working
Status of native controls on each LCL Interface
Native controls are TWinControl descendants which do not descend from TCustomControl.
Component
win32
gtk
gtk2
carbon
qt/qt5/qt6
wince
fpgui
cocoa
customdrawn
TBitBtn
Working
Working
Working
Working
Working
Working
Working
Working
Partially Implemented
TButton
Working
Working
Working
Working
Working
Working
Working
Working
Working
TCalendar
Working
Working
Working
Partially Implemented
Working
Working
Not Implemented
Working
Not Implemented
TCheckBox
Working
Working
Working
Working
Working
Working
Working
Working
Working
TCheckGroup
Working
Working
Working
Working
Working
Working
Working
Working
Not Implemented
TCheckListBox
Working
Working
Working
Working
Working
Working
Working
Working
Not Implemented
TComboBox
Working
Working
Working
Partially Implemented
Working
Working
Partially Implemented
Working
Implemented in Android
TEdit
Working
Working
Working
Working
Working
Working
Working
Working
Working
TForm
Working
Working
Working
Working
Working
Working
Working
Working
Working
TGroupBox
Working
Working
Working
Working
Working
Working
Working
Working
Working
TIdleTimer
Working
Working
Working
Working
Working
Working
Working
Working
Not Implemented
TImageList
Working
Working
Working
Partially Implemented
Working
Working
Not Implemented
Working
Not Implemented
TListBox
Working
Working
Working
Working
Working
Working
Working
Working
Not Implemented
TListView
Working
Working
Partially Implemented
Partially Implemented
Working
Working
Not Implemented
Working
Not Implemented
TMainMenu
Working
Working
Working
Working
Working
Working
Working
Working
Implemented in Android
TMemo
Working
Working
Working
Working
Working
Working
Working
Working
Working
TMenuItem
Working
Working
Working
Working
Working
Working
Working
Working
Implemented in Android
TPageControl and TTabSheet
Working
Working
Working
Working
Working
Working
Not Implemented
Working
Not Implemented
TPairSplitter
Working
Working
Working
Working
Working
Not Implemented
Working
Working
Not Implemented
TPanel
Working
Working
Working
Working
Working
Working
Working
Working
Working
TPopupMenu
Working
Working
Working
Working
Working
Working
Working
Working
Not Implemented
TProgressBar
Working
Working
Working
Working
Working
Working
Working
Working
Working
TRadioButton
Working
Working
Working
Working
Working
Working
Working
Working
Partially Implemented
TRadioGroup
Working
Working
Working
Working
Working
Working
Working
Working
Not Implemented
TScrollBar
Working
Working
Working
Working
Working
Working
Partially Implemented
Working
Partially Implemented
TScrollBox
Working
Working
Working
Partially Implemented
Working
Unknown
Partially Implemented
Working
Not Implemented
TSpinEdit
Working
Working
Working
Working
Working
Unknown
Not Implemented
Working
Partially Implemented
TSplitter
Working
Working
Working
Working
Working
Unknown
Partially Implemented
Working
Not Implemented
TStaticText
Working
Working
Working
Working
Working
Working
Working
Working
Working
TStatusBar
Working
Working
Working
Working
Working
Working
Not Implemented
Working
Not Implemented
TToggleBox
Working
Working
Working
Working
Working
Partially Implemented
Not Implemented
Working
Not Implemented
TTrackBar
Working
Working
Working
Working
Working
Working
Not Implemented
Working
Working
TTrayIcon
Working
Working
Working
Partially Implemented
Working
Not Implemented
Not Implemented
Working
Not Implemented
Status of dialogs on each LCL Interface
Component
win32
gtk
gtk2
carbon
qt/qt5
wince
fpgui
cocoa
customdrawn
LCLIntf.MessageBox
Working
Working
Working
Not Implemented
Working
Working
Working
Working
Implemented for Android
Application.MessageBox, MessageDlg, LCLIntf.PromptUser
Working
Working
Working
Working
Working
Working
Working
Working
Implemented for Android
LCLIntf.AskUser
Working
Working
Working
Working
Working
Working
Not Implemented
Working
Not Implemented
TColorDialog
Working
Working
Working
Working
Working
Not Implemented
Working
Working
Not Implemented
TFontDialog
Working
Working
Working
Working
Working
Not Implemented
Working
Working
Not Implemented
TOpenDialog
Working
Working
Working
Working
Working
Working
Working
Working
Not Implemented
TPrinterSetupDialog
Working
Working
Working
Not Implemented
Working
Not Implemented
Not Implemented
Not Implemented
Not Implemented
TSaveDialog
Working
Working
Working
Working
Working
Working
Working
Working
Not Implemented
TTaskDialog
Working
Unknown
Working
Working
Working
Unknown
Working
Working
Not Implemented
Status of TCustomControl based controls on each LCL Interface
Note that being a TCustomControl descendant does not guarantee that a control has no widgetset implementation. TArrow has it, although it has a good default implementation. TNotebook is fully implemented in the LCL.
Component
win32
gtk
gtk2
carbon
qt/qt5/qt6
wince
fpgui
cocoa
customdrawn
TArrow
Working
Working
Working
Working
Working
Working
Working
Working
Working
TNotebook
Working
Working
Working
Working
Working
Working
Not Implemented
Working
Working
TUpDown
Working
Working
Working
Working
Working
Partially Implemented
Working
Working
Partially Implemented
TStringGrid
Working
Working
Working
Partially Implemented
Working
Partially Implemented
Partially Implemented
Working
Partially Implemented
TDrawGrid
Working
Working
Working
Partially Implemented
Working
Unknown
Partially Implemented
Working
Partially Implemented
TToolBar
Working
Working
Working
Working
Working
Working
Not Implemented
Working
Not Implemented
TTreeView
Working
Working
Working
Partially Implemented
Working
Working
Not Implemented
Working
Not Implemented
TValueListEditor
Working
Working
Working
Partially Implemented
Working
Working
Partially Implemented
Working
Not Implemented
Status of TGraphicControl based controls on each LCL Interface
Note: These are for LCL wrapped components only, not for the specific GUI toolkit features itself.
Component
win32
gtk
gtk2
carbon
qt/qt5/qt6
wince
fpgui
cocoa
customdrawn
TBevel
Working
Working
Working
Working
Working
Partially Implemented
Working
Working
Not Implemented
TLabel
Working
Working
Working
Working
Working
Working
Working
Working
Implemented for Android
TShape
Working
Working
Working
Partially Implemented
Working
Partially Implemented
Working
Working
Working
TSpeedButton
Working
Working
Working
Working
Working
Unknown
Working
Working
Working
TPaintBox
Working
Working
Working
Working
Working
Unknown
Working
Working
Working
TImage
Working
Working
Working
Working
Working
Partially Implemented
Working
Working
Working
Status of LazDeviceAPIs on each widgetset
Component
customdrawn-android
Accelerometer
Working
Messaging (SMS, MMS and E-Mail)
SMS Implemented
PositionInfo
Working
See Also
From the Free Pascal wiki, page "Roadmap", as it stood on 2024-03-27 after a change by Bart, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin .
Revision 1, last changed by WikiArchive 11-4-2026 .
Edit History Save as PDF