Sign in Join
Wiki copytemporary

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 .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.