Roadmap
From Free Pascal wiki
Jump to navigationJump to searchThis 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.
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 works and set it´s status here
General status of widgesets
Unit | Item | State | Target | Skills | Responsible | Comments |
---|---|---|---|---|---|---|
GTK1 | Deprecated interface | working | 1.0 | Gtk | - | - |
GTK2 | Main Linux (and similar UNIXes) interface | working | 1.0 | Gtk2 | - | - |
Win32 | Desktop Windows for both 32 and 64 bits | working | 1.0 | WinAPI | Vincent | - |
Qt | The QT interface | working | post 1.0 | Qt and LCL | Zeljan | Depends on qt bindings |
WinCE | The Windows CE interface | working | post 1.0 | Windows API and LCL | Felipe | Depends on FPC 2.1.x |
fpGUI | The fpGUI interface | in progress | post 1.0 | fpGUI and LCL | - | - |
Carbon | The Carbon interface | working | 1.0 | Carbon and LCL | Dmitry | - |
Cocoa | The Cocoa interface | in progress | post 1.2 | Cocoa, Carbon and LCL | Felipe, Dmitry | - |
MSEgui | The MSEgui interface | planing | post 1.0 | MSEgui and LCL | Domingo | Depends on volunteers |
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 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 | - | - | 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, 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 | 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 | Frames (= forms as childs) | in progress | 0.9.28 | deep knowledge of LCL | Mattias, Paul | - |
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. |
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 | TMaskEdit | working | - | - | - | - |
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 | - | 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 | Doublebuffering | in progress | - | Gtk, X | - | - |
GTK | Minimizing windows | Working | - | Gtk, X | - | - |
Status of features on each widgetset
Note: These are for LCL wrapped components only, not for the specific GUI toolkit features itself.
Component | win32 | gtk | gtk2 | carbon | qt | wince | fpgui | cocoa |
---|---|---|---|---|---|---|---|---|
Accelerator Keys | Working | Working | Partially Implemented | Partially Implemented | Working | Not Applicable | Not Implemented | Not Implemented |
Caret | Working | Working | Working | Working | Working | Unknown | Not Implemented | Not Implemented |
Clipboard | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
Cursors | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
Drag & Drop | Working | Working | Working | Partially Implemented | Working | Not Applicable | Not Implemented | Not Implemented |
Drop files event | Working | Working | Working | Partially Implemented | Working | Not Applicable | Not Implemented | Not Implemented |
MDI Support | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Partially Implemented | Not Implemented | Not Implemented | Not Implemented |
Printing | Working | Working | Working | Partially Implemented | Working | Unknown | Not Implemented | Not Implemented |
Regions | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TCustomControl descendents | Working | Working | Working | Partially Implemented | Working | Working | Not Implemented | Not Implemented |
Unicode Support | Working | Impossible to Implement | Working | Working | Working | Working | Working | Working |
BidiMode | Working | Not Implemented | Partially Implemented | Not Implemented | Working | Not Implemented | Not Implemented | Not Implemented |
Status of components on each widgetset
Note: These are for LCL wrapped components only, not for the specific GUI toolkit features itself.
Component | win32 | gtk | gtk2 | carbon | qt | wince | fpgui | cocoa |
---|---|---|---|---|---|---|---|---|
TArrow | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TBevel | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented | Not Implemented |
TBitBtn | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TButton | Working | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented |
TCalendar | Working | Working | Working | Partially Implemented | Working | Working | Not Implemented | Not Implemented |
TCheckBox | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TCheckGroup | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TCheckListBox | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TColorDialog | Working | Working | Working | Working | Working | Not Implemented | Not Implemented | Not Implemented |
TComboBox | Working | Working | Working | Partially Implemented | Working | Working | Not Implemented | Not Implemented |
TDrawGrid | Working | Working | Working | Partially Implemented | Working | Unknown | Not Implemented | Not Implemented |
TEdit | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TFontDialog | Working | Working | Working | Partially Implemented | Working | Not Implemented | Not Implemented | Not Implemented |
TForm | Working | Working | Working | Working | Working | Working | Partially Implemented | Partially Implemented |
TGroupBox | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TIdleTimer | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TImage | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented | Not Implemented |
TImageList | Working | Working | Working | Partially Implemented | Working | Working | Not Implemented | Not Implemented |
TLabel | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TListBox | Working | Working | Partially Implemented | Working | Working | Working | Not Implemented | Not Implemented |
TListView | Working | Working | Partially Implemented | Partially Implemented | Working | Working | Not Implemented | Not Implemented |
TMainMenu | Working | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented |
TMemo | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TMenuItem | Working | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented |
TNoteBook | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TOpenDialog | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TPage | Working | Working | Working | Working | Working | Unknown | Not Implemented | Not Implemented |
TPageControl | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TPaintBox | Working | Working | Working | Working | Working | Unknown | Not Implemented | Not Implemented |
TPairSplitter | Working | Working | Working | Working | Working | Not Implemented | Not Implemented | Not Implemented |
TPanel | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TPopupMenu | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TPrinterSetupDialog | Working | Working | Working | Not Implemented | Working | Not Implemented | Not Implemented | Not Implemented |
TProgressBar | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TRadioButton | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TRadioGroup | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TSaveDialog | Working | Working | Partially Implemented | Working | Working | Working | Not Implemented | Not Implemented |
TScrollBar | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TScrollBox | Working | Working | Working | Partially Implemented | Working | Unknown | Not Implemented | Not Implemented |
TShape | Working | Working | Working | Partially Implemented | Working | Partially Implemented | Not Implemented | Not Implemented |
TSpeedButton | Working | Working | Working | Working | Working | Unknown | Not Implemented | Not Implemented |
TSpinEdit | Working | Working | Working | Working | Working | Unknown | Not Implemented | Not Implemented |
TSplitter | Working | Working | Working | Working | Working | Unknown | Not Implemented | Not Implemented |
TStaticText | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TStatusBar | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TStringGrid | Working | Working | Working | Partially Implemented | Working | Partially Implemented | Not Implemented | Not Implemented |
TTabSheet | Working | Working | Working | Working | Working | Unknown | Not Implemented | Not Implemented |
TTimer | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented | Not Implemented |
TToggleBox | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented | Not Implemented |
TToolBar | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TToolbutton | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented | Not Implemented |
TTrackbar | Working | Working | Working | Working | Working | Working | Not Implemented | Not Implemented |
TTrayIcon | Working | Working | Working | Partially Implemented | Working | Not Implemented | Not Implemented | Not Implemented |
TTreeView | Working | Working | Working | Partially Implemented | Working | Working | Not Implemented | Not Implemented |
TUpDown | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented | Not Implemented |
Status of other classes on each widgetset
Component | win32 | gtk | gtk2 | carbon | qt | wince | fpgui | cocoa |
---|---|---|---|---|---|---|---|---|
TApplication | Working | Working | Working | Working | Working | Partially Implemented | Partially Implemented | Not Implemented |
TBitmap | Working | Working | Working | Working | Partially Implemented | Working | Not Implemented | Not Implemented |
TBrush | Working | Working | Working | Partially Implemented | Working | Partially Implemented | Not Implemented | Not Implemented |
TFont | Working | Working | Partially Implemented | Working | Working | Working | Not Implemented | Not Implemented |
TGraphic | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented | Not Implemented |
TIcon | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented | Not Implemented |
TPen | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented | Not Implemented |
TPixmap | Working | Working | Working | Working | Working | Partially Implemented | Not Implemented | Not Implemented |