Roadmap

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, fpGUI etc).

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

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

wince

fpgui

cocoa

customdrawn

TBitBtn

Working

Working

Working

Working

Working

Working

Not Implemented

Partially Implemented

Partially Implemented

TButton

Working

Working

Working

Working

Working

Working

Working

Working

Working

TCalendar

Working

Working

Working

Partially Implemented

Working

Working

Not Implemented

Not Implemented

Not Implemented

TCheckBox

Working

Working

Working

Working

Working

Working

Working

Working

Working

TCheckGroup

Working

Working

Working

Working

Working

Working

Not Implemented

Not Implemented

Not Implemented

TCheckListBox

Working

Working

Working

Working

Working

Working

Not Implemented

Not Implemented

Not Implemented

TComboBox

Working

Working

Working

Partially Implemented

Working

Working

Working

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

Not Implemented

Not Implemented

Not Implemented

TImageList

Working

Working

Working

Partially Implemented

Working

Working

Not Implemented

Not Implemented

Not Implemented

TListBox

Working

Working

Working

Working

Working

Working

Working

Working

Not Implemented

TListView

Working

Working

Partially Implemented

Partially Implemented

Working

Working

Not Implemented

Not Implemented

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

Not Implemented

Not Implemented

Not Implemented

TPanel

Working

Working

Working

Working

Working

Working

Working

Working

Working

TPopupMenu

Working

Working

Working

Working

Working

Working

Not Implemented

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

Not Implemented

Partially Implemented

Not Implemented

TScrollBar

Working

Working

Working

Working

Working

Working

Not Implemented

Not Implemented

Partially Implemented

TScrollBox

Working

Working

Working

Partially Implemented

Working

Unknown

Not Implemented

Not Implemented

Not Implemented

TSpinEdit

Working

Working

Working

Working

Working

Unknown

Not Implemented

Working

Partially Implemented

TSplitter

Working

Working

Working

Working

Working

Unknown

Not Implemented

Not Implemented

Not Implemented

TStaticText

Working

Working

Working

Working

Working

Working

Not Implemented

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

wince

fpgui

cocoa

customdrawn

LCLIntf.MessageBox

Working

Working

Working

Working

Partially Implemented

Working

Working

Unknown

Implemented for Android

Application.MessageBox, MessageDlg, LCLIntf.PromptUser

Working

Working

Working

Working

Working

Working

Working

Unknown

Implemented for Android

LCLIntf.AskUser

Working

Working

Working

Working

Working

Working

Not Implemented

Unknown

Not Implemented

TColorDialog

Working

Working

Working

Working

Working

Not Implemented

Not Implemented

Not Implemented

Not Implemented

TFontDialog

Working

Working

Working

Partially Implemented

Working

Not Implemented

Not Implemented

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

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

wince

fpgui

cocoa

customdrawn

TArrow

Working

Working

Working

Working

Working

Working

Not Implemented

Working

Working

TNoteBook

Working

Working

Working

Working

Working

Working

Not Implemented

Not Implemented

Working

TUpDown

Working

Working

Working

Working

Working

Partially Implemented

Not Implemented

Not Implemented

Partially Implemented

TStringGrid

Working

Working

Working

Partially Implemented

Working

Partially Implemented

Not Implemented

Not Implemented

Partially Implemented

TDrawGrid

Working

Working

Working

Partially Implemented

Working

Unknown

Not Implemented

Not Implemented

Partially Implemented

TToolBar

Working

Working

Working

Working

Working

Working

Not Implemented

Not Implemented

Not Implemented

TTreeView

Working

Working

Working

Partially Implemented

Working

Working

Not Implemented

Working

Not Implemented

TValueListEditor

Partially Implemented

Partially Implemented

Partially Implemented

Partially Implemented

Partially Implemented

Partially Implemented

Not Implemented

Not Implemented

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.