Difference between revisions of "Roadmap"
(38 intermediate revisions by 10 users not shown) | |||
Line 11: | Line 11: | ||
==General status of LCL interfaces== | ==General status of LCL interfaces== | ||
− | {{Template: | + | {{Template:Widgetset_Roadmap}} |
==Current status of the various parts of Lazarus== | ==Current status of the various parts of Lazarus== | ||
− | |||
− | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
! Unit !! Item !! State !! Target !! Skills !! Responsible !! Comments | ! Unit !! Item !! State !! Target !! Skills !! Responsible !! Comments | ||
Line 33: | Line 31: | ||
|LCL||Drag&Drop||working||||-||-|| | |LCL||Drag&Drop||working||||-||-|| | ||
|---- class="working" | |---- class="working" | ||
− | |LCL||Port to Darwin Power PC, | + | |LCL||Port to Darwin Power PC, macOS||working||0.9.x||-||-||depends on FPC 1.9.5 |
|---- class="working" | |---- class="working" | ||
− | |LCL||Port to | + | |LCL||Port to macOS (x86)||working||-||-||-||depends on FPC 2.1.1 |
|---- class="working" | |---- class="working" | ||
|LCL|| [[TSplitter]] ||working||0.9.x||easy||-||- | |LCL|| [[TSplitter]] ||working||0.9.x||easy||-||- | ||
Line 81: | Line 79: | ||
|class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | |class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | ||
|class="partial"|Partially Implemented||class="working"|Working||class="unknown"|Not Applicable | |class="partial"|Partially Implemented||class="working"|Working||class="unknown"|Not Applicable | ||
− | |class="not"|Not Implemented||class=" | + | |class="not"|Not Implemented||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|Caret | |Caret | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="unknown"|Unknown | |class="working"|Working||class="working"|Working||class="unknown"|Unknown | ||
− | |class="not"|Not Implemented||class=" | + | |class="not"|Not Implemented||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
− | |Clipboard | + | |[[Clipboard]] |
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class="not"|Not Implemented||class="working"|Working||class="partial"|Implemented in Android | + | |class="not"|Not Implemented||class="working"|[[Cocoa Internals/Clipboard|Working]]||class="partial"|Implemented in Android |
|---- | |---- | ||
|Cursors | |Cursors | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="partial"|Partially Implemented||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|Drag & Drop | |Drag & Drop | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="partial"|Partially Implemented||class="working"|Working||class="not"|Not Applicable | |class="partial"|Partially Implemented||class="working"|Working||class="not"|Not Applicable | ||
− | |class="not"|Not Implemented||class=" | + | |class="not"|Not Implemented||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[Drop files event]] | |[[Drop files event]] | ||
Line 121: | Line 119: | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="partial"|Partially Implemented||class="partial"|Partially Implemented||class="working"|Working |
|---- | |---- | ||
|TCustomControl descendents | |TCustomControl descendents | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="partial"|Partially Implemented||class="working"|Working||class="working"|Working | |class="partial"|Partially Implemented||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="working"|Working |
|---- | |---- | ||
|Unicode Support | |Unicode Support | ||
Line 140: | Line 138: | ||
|Application||class="working"|Working||class="working"|Working||class="working"|Working | |Application||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | |class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | ||
− | |class="partial"|Partially Implemented||class="working"|Working||class="working"|Working | + | |class="partial"|Partially Implemented||class="working"|[[Cocoa Internals/Application|Working]]||class="working"|Working |
|---- | |---- | ||
− | |TTimer||class="working"|Working||class="working"|Working||class="working"|Working | + | |[[TTimer]]||class="working"|Working||class="working"|Working||class="working"|Working |
|class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | |class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="working"|Working |
|---- | |---- | ||
|TApplication.QueueAsyncCall||class="working"|Working||class="unknown"|Unknown||class="working"|Working | |TApplication.QueueAsyncCall||class="working"|Working||class="unknown"|Unknown||class="working"|Working | ||
|class="unknown"|Unknown||class="working"|Working||class="unknown"|Unknown | |class="unknown"|Unknown||class="working"|Working||class="unknown"|Unknown | ||
− | |class=" | + | |class="working"|Working||class="working"|[[Cocoa_Internals/Application|Working]]||class="not"|Not Implemented |
|---- | |---- | ||
|TThread.Synchronize||class="working"|Working||class="unknown"|Unknown||class="working"|Working | |TThread.Synchronize||class="working"|Working||class="unknown"|Unknown||class="working"|Working | ||
|class="unknown"|Unknown||class="working"|Working||class="unknown"|Unknown | |class="unknown"|Unknown||class="working"|Working||class="unknown"|Unknown | ||
− | |class="working"|Working||class=" | + | |class="working"|Working||class="working"|[[Cocoa_Internals/Application|Working]]||class="not"|Not Implemented |
|---- | |---- | ||
|PostMessage||class="working"|Working||class="unknown"|Unknown||class="working"|Working | |PostMessage||class="working"|Working||class="unknown"|Unknown||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class=""unknown"|Unknown |
− | |class=" | + | |class="working"|Working||class="working"|[[Cocoa_Internals/Application|Working]]||class="not"|Not Implemented |
|---- | |---- | ||
|PostThreadMessage||class="working"|Working||class="unknown"|Unknown||class="unknown"|Unknown | |PostThreadMessage||class="working"|Working||class="unknown"|Unknown||class="unknown"|Unknown | ||
|class="unknown"|Unknown||class="unknown"|Unknown||class="unknown"|Unknown | |class="unknown"|Unknown||class="unknown"|Unknown||class="unknown"|Unknown | ||
− | |class=" | + | |class="not"|Not Implemented||class="unknown"|Unknown||class="not"|Not Implemented |
|} | |} | ||
Line 170: | Line 168: | ||
|TBitmap/TPixmap/TIcon/etc||class="working"|Working||class="working"|Working||class="working"|Working | |TBitmap/TPixmap/TIcon/etc||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="partial"|Partially Implemented||class="working"|Working | |class="working"|Working||class="partial"|Partially Implemented||class="working"|Working | ||
− | |class=" | + | |class="partial"|Partially Implemented||class="working"|Working||class="working"|Working |
|---- | |---- | ||
|TBrush||class="working"|Working||class="working"|Working||class="working"|Working | |TBrush||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="partial"|Partially Implemented||class="working"|Working||class="working"|Working | |class="partial"|Partially Implemented||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="partial"|Partially Implemented||class="working"|Working||class="working"|Working |
|---- | |---- | ||
|TFont||class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | |TFont||class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="partial"|Partially Implemented||class="working"|Working||class="working"|Working |
|---- | |---- | ||
|TPen||class="working"|Working||class="working"|Working||class="working"|Working | |TPen||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="partial"|Partially Implemented||class="working"|Working||class="working"|Working |
|---- | |---- | ||
|ExtTextOut||class="working"|Working||class="working"|Working||class="working"|Working | |ExtTextOut||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="working"|Working |
|} | |} | ||
Line 197: | Line 195: | ||
|[[TBitBtn]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TBitBtn]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="partial"|Partially Implemented |
|---- | |---- | ||
|[[TButton]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TButton]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
Line 205: | Line 203: | ||
|[[TCalendar]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TCalendar]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="partial"|Partially Implemented||class="working"|Working||class="working"|Working | |class="partial"|Partially Implemented||class="working"|Working||class="working"|Working | ||
− | |class="not"|Not Implemented||class=" | + | |class="not"|Not Implemented||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TCheckBox]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TCheckBox]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
Line 213: | Line 211: | ||
|[[TCheckGroup]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TCheckGroup]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TCheckListBox]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TCheckListBox]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TComboBox]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TComboBox]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="partial"|Partially Implemented||class="working"|Working||class="working"|Working | |class="partial"|Partially Implemented||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="partial"|Partially Implemented||class="working"|[[Cocoa Internals/Text Controls|Working]]||class="partial"|Implemented in Android |
|---- | |---- | ||
|[[TEdit]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TEdit]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
Line 237: | Line 235: | ||
|[[TIdleTimer]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TIdleTimer]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TImageList]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TImageList]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="partial"|Partially Implemented||class="working"|Working|| class="working"|Working | |class="partial"|Partially Implemented||class="working"|Working|| class="working"|Working | ||
− | |class="not"|Not Implemented||class=" | + | |class="not"|Not Implemented||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TListBox]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TListBox]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
Line 249: | Line 247: | ||
|[[TListView]]||class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | |[[TListView]]||class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | ||
|class="partial"|Partially Implemented||class="working"|Working||class="working"|Working | |class="partial"|Partially Implemented||class="working"|Working||class="working"|Working | ||
− | |class="not"|Not Implemented||class=" | + | |class="not"|Not Implemented||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TMainMenu]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TMainMenu]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
Line 257: | Line 255: | ||
|[[TMemo]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TMemo]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class="working"|Working||class="working"|Working||class="working"|Working | + | |class="working"|Working||class="working"|[[Cocoa Internals/Text Controls|Working]]||class="working"|Working |
|---- | |---- | ||
|[[TMenuItem]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TMenuItem]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
Line 269: | Line 267: | ||
|[[TPairSplitter]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TPairSplitter]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="not"|Not Implemented | |class="working"|Working||class="working"|Working||class="not"|Not Implemented | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TPanel]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TPanel]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
Line 277: | Line 275: | ||
|[[TPopupMenu]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TPopupMenu]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TProgressBar]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TProgressBar]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
Line 289: | Line 287: | ||
|[[TRadioGroup]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TRadioGroup]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TScrollBar]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TScrollBar]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="partial"|Partially Implemented||class="working"|Working||class="partial"|Partially Implemented |
|---- | |---- | ||
|[[TScrollBox]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TScrollBox]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="partial"|Partially Implemented||class="working"|Working||class="unknown"|Unknown | |class="partial"|Partially Implemented||class="working"|Working||class="unknown"|Unknown | ||
− | |class=" | + | |class="partial"|Partially Implemented||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TSpinEdit]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TSpinEdit]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
Line 305: | Line 303: | ||
|[[TSplitter]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TSplitter]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="unknown"|Unknown | |class="working"|Working||class="working"|Working||class="unknown"|Unknown | ||
− | |class=" | + | |class="partial"|Partially Implemented||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TStaticText]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TStaticText]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="working"|Working |
|---- | |---- | ||
|[[TStatusBar]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TStatusBar]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
Line 334: | Line 332: | ||
|---- | |---- | ||
|LCLIntf.MessageBox||class="working"|Working||class="working"|Working||class="working"|Working | |LCLIntf.MessageBox||class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="not"|Not Implemented||class="partial"|Partially Implemented||class="working"|Working |
− | |class="working"|Working||class=" | + | |class="working"|Working||class="working"|Working||class="partial"|Implemented for Android |
|---- | |---- | ||
|Application.MessageBox, MessageDlg, LCLIntf.PromptUser||class="working"|Working||class="working"|Working||class="working"|Working | |Application.MessageBox, MessageDlg, LCLIntf.PromptUser||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class="working"|Working||class=" | + | |class="working"|Working||class="working"|Working||class="partial"|Implemented for Android |
|---- | |---- | ||
|LCLIntf.AskUser||class="working"|Working||class="working"|Working||class="working"|Working | |LCLIntf.AskUser||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class="not"|Not Implemented||class=" | + | |class="not"|Not Implemented||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TColorDialog]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TColorDialog]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="not"|Not Implemented | |class="working"|Working||class="working"|Working||class="not"|Not Implemented | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TFontDialog]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TFontDialog]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="not"|Not Implemented |
− | |class=" | + | |class="working"|Working||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TOpenDialog]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TOpenDialog]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
Line 374: | Line 372: | ||
|[[TArrow]] ||class="working"|Working||class="working"|Working||class="working"|Working | |[[TArrow]] ||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="working"|Working |
|---- | |---- | ||
|[[TNotebook]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TNotebook]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class="not"|Not Implemented||class=" | + | |class="not"|Not Implemented||class="working"|Working||class="working"|Working |
|---- | |---- | ||
|[[TUpDown]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TUpDown]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | |class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="partial"|Partially Implemented |
|---- | |---- | ||
|[[TStringGrid]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TStringGrid]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="partial"|Partially Implemented||class="working"|Working||class="partial"|Partially Implemented | |class="partial"|Partially Implemented||class="working"|Working||class="partial"|Partially Implemented | ||
− | |class=" | + | |class="partial"|Partially Implemented||class="working"|Working||class="partial"|Partially Implemented |
|---- | |---- | ||
|[[TDrawGrid]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TDrawGrid]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="partial"|Partially Implemented||class="working"|Working||class="unknown"|Unknown | |class="partial"|Partially Implemented||class="working"|Working||class="unknown"|Unknown | ||
− | |class=" | + | |class="partial"|Partially Implemented||class="working"|Working||class="partial"|Partially Implemented |
|---- | |---- | ||
|[[TToolBar]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TToolBar]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class="not"|Not Implemented||class=" | + | |class="not"|Not Implemented||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TTreeView]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TTreeView]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
Line 400: | Line 398: | ||
|class="not"|Not Implemented||class="working"|Working||class="not"|Not Implemented | |class="not"|Not Implemented||class="working"|Working||class="not"|Not Implemented | ||
|---- | |---- | ||
− | |[[TValueListEditor]]||class=" | + | |[[TValueListEditor]]||class="working"|Working||class="working"|Working||class="working"|Working |
− | |class="partial"|Partially Implemented||class=" | + | |class="partial"|Partially Implemented||class="working"|Working||class="working"|Working |
− | |class=" | + | |class="partial"|Partially Implemented||class="working"|Working||class="not"|Not Implemented |
|} | |} | ||
Line 413: | Line 411: | ||
|[[TBevel]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TBevel]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | |class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="not"|Not Implemented |
|---- | |---- | ||
|[[TLabel]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TLabel]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="working"|Working | |class="working"|Working||class="working"|Working||class="working"|Working | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="partial"|Implemented for Android |
|---- | |---- | ||
|[[TShape]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TShape]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="partial"|Partially Implemented||class="working"|Working||class="partial"|Partially Implemented | |class="partial"|Partially Implemented||class="working"|Working||class="partial"|Partially Implemented | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="working"|Working |
|---- | |---- | ||
|[[TSpeedButton]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TSpeedButton]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="unknown"|Unknown | |class="working"|Working||class="working"|Working||class="unknown"|Unknown | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="working"|Working |
|---- | |---- | ||
|[[TPaintBox]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TPaintBox]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="unknown"|Unknown | |class="working"|Working||class="working"|Working||class="unknown"|Unknown | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="working"|Working |
|---- | |---- | ||
|[[TImage]]||class="working"|Working||class="working"|Working||class="working"|Working | |[[TImage]]||class="working"|Working||class="working"|Working||class="working"|Working | ||
|class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | |class="working"|Working||class="working"|Working||class="partial"|Partially Implemented | ||
− | |class=" | + | |class="working"|Working||class="working"|Working||class="working"|Working |
|} | |} | ||
==Status of LazDeviceAPIs on each widgetset== | ==Status of LazDeviceAPIs on each widgetset== | ||
− | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
! Component !! customdrawn-android | ! Component !! customdrawn-android | ||
Line 447: | Line 444: | ||
|PositionInfo||class="working"|Working | |PositionInfo||class="working"|Working | ||
|} | |} | ||
+ | |||
+ | {{Navbar Lazarus Release Notes}} | ||
==See Also== | ==See Also== | ||
Line 452: | Line 451: | ||
*[[LCL Internals]] | *[[LCL Internals]] | ||
*[[TAChart Roadmap]] | *[[TAChart Roadmap]] | ||
− | + | *[[Debugger Status]] | |
− | [[ | ||
− |
Revision as of 16:51, 20 June 2020
│
English (en) │
русский (ru) │
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.
Legend:
Working - Stable, most or all parts implemented.
Partially Implemented - Works, but has some features missing
In progress - Someone is working on this
Not Implemented - Nothing done, needs your help
Deprecated - Outdated, obsolete, usage not recommended for new projects
Unknown - Please review whether this component is working, and set its status here
General status of LCL interfaces
Unit | Item | State | Target | Backend | Responsible | Comments |
---|---|---|---|---|---|---|
GTK1 | Deprecated interface | working | 1.0 | Gtk | - | - |
GTK2 | Main Linux (and similar UNIXes) interface | working | 1.0 | Gtk2 | Zeljan | - |
GTK3 | Linux (and similar UNIXes) interface | progress | 1.4 | Gtk3 | Zeljan | Alpha state |
Win32 | Desktop Windows for both 32 and 64 bits | working | 1.0 | WinAPI | Paul Ishenin and Vincent | - |
Qt | The Qt4 interface | working | 1.0 | Qt and LCL | Zeljan | Depends on qt4 bindings |
Qt5 | The Qt5 interface | working | 1.8 | Qt5 and LCL | Zeljan | Depends on qt5 bindings |
Qt6 | The Qt6 interface | working | 2.4 | Qt6 and LCL | Zeljan | Depends on qt6 bindings |
WinCE | The Windows CE interface | working | 1.0 | Windows API and LCL | - | Depends on volunteers |
fpGUI | The fpGUI interface | in progress | no target | fpGUI and LCL | - | Depends on volunteers |
Carbon | The Carbon interface | stalled (deprecated) | 1.0 | Carbon and LCL | - | - |
Cocoa | The Cocoa interface | working | 2.6 - 2.8? | Cocoa and LCL | Dmitry | Depends on volunteers |
CustomDrawn | The CustomDrawn interface | in progress | no target | LCL, X11, Android NDK and SDK | - | 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 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 | 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 | Unknown | Working | Working | Not Implemented |
PostThreadMessage | Working | Unknown | Unknown | Unknown | Unknown | Unknown | Not Implemented | Unknown | Not Implemented |
Status of Graphics on each LCL Interface
Component | win32 | gtk | gtk2 | carbon | qt | wince | fpgui | cocoa | customdrawn |
---|---|---|---|---|---|---|---|---|---|
TBitmap/TPixmap/TIcon/etc | Working | Working | Working | Working | Partially Implemented | 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 | 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 | wince | fpgui | cocoa | customdrawn |
---|---|---|---|---|---|---|---|---|---|
LCLIntf.MessageBox | Working | Working | Working | Not Implemented | Partially Implemented | 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 |
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 | 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 | 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 |