Difference between revisions of "LCL status"

From Freepascal Amiga wiki
Jump to navigation Jump to search
m (TListViewFilterEdit does not filter)
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  
'''Note:''' fpgui copied from official LCL Roadmap [http://wiki.lazarus.freepascal.org/Roadmap]
+
'''Note:''' for fpgui LCL status check the official LCL Roadmap [http://wiki.lazarus.freepascal.org/Roadmap]
  
 
==Status of native controls on each widgetset==
 
==Status of native controls on each widgetset==
Line 6: Line 6:
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
! Component !! fpgui !! MUI/Zune !! Test
+
! Component !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 
|----
 
|----
|TBitBtn||class="not"|Not Implemented||class="working"|working || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/BitButton]
+
|TBitBtn   ||class="not"|only Text      ||class="partial"|only Caption||class="working"|working   ||class="partial"|only Caption  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/BitButton]
 
|----
 
|----
|TButton||class="working"|Working||class="working"|working || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Button]
+
|TButton   ||class="working"|working    ||class="working"|working    ||class="working"|working    ||class="working"|working   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Button]
 
|----
 
|----
|TCalendar||class="not"|Not Implemented||class="not"|crash
+
|TCalendar ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|crash         ||class="unknown"|unknown
 
|----
 
|----
|TCheckBox||class="working"|Working||class="partial"|partial  
+
|TCheckBox ||class="partial"|partial    ||class="partial"|partial    ||class="working"|Working   ||class="partial"|partial  
 
|----
 
|----
|TCheckGroup||class="not"|Not Implemented||class="working"|Working || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/CheckGroup]
+
|TCheckGroup||class="partial"|partial    ||class="partial"|partial    ||class="working"|Working   ||class="partial"|partial  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/CheckGroup]
 
|----
 
|----
|TCheckListBox||class="not"|Not Implemented||class="not"|crash
+
|TCheckListBox||class="not"|crash        ||class="not"|crash          ||class="not"|crash         ||class="not"|hangs
 
|----
 
|----
|TComboBox||class="working"|Working||class="partial"|partial || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ComboBox]
+
|TComboBox ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ComboBox]
 
|----
 
|----
|TEdit||class="working"|Working||class="partial"|partial
+
|TEdit     ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Edits] 
 
|----
 
|----
|TForm||class="working"|Working||class="working"|working
+
|TForm     ||class="working"|working    ||class="working"|working    ||class="working"|Working   ||class="working"|Working
 
|----
 
|----
|TGroupBox||class="working"|Working||class="working"|working
+
|TGroupBox ||class="working"|working    ||class="working"|working    ||class="working"|Working   ||class="working"|Working  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Panel]
 
|----
 
|----
|TIdleTimer||class="not"|Not Implemented||class="unknown"|unknown
+
|TIdleTimer ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown
 
|----
 
|----
|TImageList||class="not"|Not Implemented||class="working"|working
+
|TImageList ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="working"|working   ||class="unknown"|unknown   
 
|----
 
|----
|TListBox||class="working"|Working||class="partial"|partial
+
|TListBox   ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial   ||class="unknown"|unknown   
 
|----
 
|----
|TListView||class="not"|Not Implemented||class="partial"|partial
+
|TListView ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial   ||class="unknown"|unknown   
 
|----
 
|----
|TMainMenu||class="working"|Working||class="working"|working
+
|TMainMenu ||class="working"|working    ||class="partial"|partial    ||class="working"|Working   ||class="partial"|only on border || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Menu]
 
|----
 
|----
|TMemo||class="working"|Working||class="partial"|partial
+
|TMemo     ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Button] 
 
|----
 
|----
|TMenuItem||class="working"|Working||class="partial"|partial
+
|TMenuItem ||class="working"|working    ||class="partial"|partial    ||class="partial"|partial   ||class="partial"|only on border || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Menu]
 
|----
 
|----
|TPageControl and TTabSheet||class="not"|Not Implemented||class="partial"|partial
+
|TPageControl and TTabSheet   ||class="not"|empty||class="not"|look wrong||class="partial"|partial   ||class="not"|looks wrong    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/PageControl]
 
|----
 
|----
|TPairSplitter||class="not"|Not Implemented||class="not"|"Resource Cur2 not found"
+
|TPairSplitter||class="not"|empty        ||class="not"|empty          ||class="not"|empty          ||class="not"|empty
 
|----
 
|----
|TPanel||class="working"|Working||class="partial"|partial || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Panel]
+
|TPanel     ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Panel]
 
|----
 
|----
|TPopupMenu||class="not"|Not Implemented||class="not"|ignored
+
|TPopupMenu ||class="not"|ignored        ||class="not"|ignored        ||class="not"|ignored        ||class="not"|ignored
 
|----
 
|----
|TProgressBar||class="working"|Working||class="working"|working || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ProgressBar]
+
|TProgressBar||class="partial"|partial  ||class="partial"|partial    ||class="working"|Working   ||class="working"|Working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ProgressBar]
 
|----
 
|----
|TRadioButton||class="working"|Working||class="working"|working
+
|TRadioButton||class="unknown"|unknown  ||class="unknown"|unknown    ||class="working"|Working   ||class="unknown"|unknown   
 
|----
 
|----
|TRadioGroup||class="not"|Not Implemented||class="working"|working|| TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/CheckGroup]
+
|TRadioGroup||class="unknown"|unknown    ||class="unknown"|unknown    ||class="working"|Working    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/CheckGroup]
 
|----
 
|----
|TScrollBar||class="not"|Not Implemented||class="partial"|partial || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ScrollBar]
+
|TScrollBar ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ScrollBar]
 
|----
 
|----
|TScrollBox||class="not"|Not Implemented||class="not"|empty
+
|TScrollBox ||class="not"|empty          ||class="not"|empty          ||class="not"|empty          ||class="not"|empty  
 
|----
 
|----
|TSpinEdit||class="not"|Not Implemented||class="working"|working
+
|TSpinEdit ||class="working"|working    ||class="working"|working   ||class="working"|Working    ||class="working"|working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Edits]   
 
|----
 
|----
|TSplitter||class="not"|Not Implemented||class="not"|empty
+
|TSplitter ||class="not"|empty          ||class="not"|empty          ||class="not"|empty          ||class="not"|empty  
 
|----
 
|----
|TStaticText||class="not"|Not Implemented||class="partial"|partial
+
|TStaticText||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ComboBox]       
 
|----
 
|----
|TStatusBar||class="not"|Not Implemented||class="not"|crash
+
|TStatusBar ||class="partial"|only Simple||class="partial"|only Simple||class="partial"|only Simple||class="partial"|only Simple|| TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/StatusBar]   
 
|----
 
|----
|TToggleBox||class="not"|Not Implemented||class="partial"|partial
+
|TToggleBox ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial   ||class="unknown"|unknown   
 
|----
 
|----
|TTrackbar||class="not"|Not Implemented||class="not"|crash
+
|TTrackbar ||class="not"|inactive      ||class="not"|wrong size    ||class="partial"|partial    ||class="not"|wrong size    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/TrackBar]   
 
|----
 
|----
|TTrayIcon||class="not"|Not Implemented||class="not"|empty
+
|TTrayIcon ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|empty         ||class="unknown"|unknown   
 
|}
 
|}
  
Line 78: Line 78:
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
! Component !! fpgui !! MUI/Zune
+
! Component         !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 
|----
 
|----
|LCLIntf.MessageBox||class="working"|Working||class="partial"|partial
+
|LCLIntf.MessageBox ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial   ||class="unknown"|unknown   
 
|----
 
|----
|Application.MessageBox, MessageDlg, LCLIntf.PromptUser||class="working"|Working||class="partial"|partial
+
|Application.MessageBox||class="unknown"|unknown ||class="unknown"|unknown    ||class="partial"|partial   ||class="unknown"|unknown   
 
|----
 
|----
|LCLIntf.AskUser||class="not"|Not Implemented||class="partial"|partial
+
|MessageDlg        ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial   ||class="unknown"|unknown   
 
|----
 
|----
|TColorDialog||class="not"|Not Implemented||class="working"|working
+
|LCLIntf.PromptUser ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="unknown"|unknown   
 
|----
 
|----
|TFontDialog||class="not"|Not Implemented||class="unknown"|unknown
+
|LCLIntf.AskUser    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="unknown"|unknown    
 
|----
 
|----
|TOpenDialog||class="working"|Working||class="partial"|partial
+
|TColorDialog      ||class="working"|working    ||class="not"|crash          ||class="working"|working    ||class="working"|working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ColorDialog]
 
|----
 
|----
|TPrinterSetupDialog||class="not"|Not Implemented||class="unknown"|unknown
+
|TFontDialog        ||class="partial"|partial    ||class="partial"|partial        ||class="working"|working    ||class="working"|working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Dialogs]
 
|----
 
|----
|TSaveDialog||class="working"|Working||class="partial"|partial
+
|TOpenDialog        ||class="working"|working    ||class="partial"|partial        ||class="working"|Working    ||class="working"|working   
 +
|----
 +
|TPrinterSetupDialog||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|Not Implemented||class="unknown"|unknown   
 +
|----
 +
|TSaveDialog       ||class="working"|working    ||class="partial"|partial        ||class="partial"|partial   ||class="working"|working   
 
|}
 
|}
  
Line 101: Line 105:
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
! Component !! fpgui !! MUI/Zune
+
! Component         !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 
|----
 
|----
|TArrow ||class="not"|Not Implemented||class="working"|working
+
|TArrow             ||class="unknown"|unknown    ||class="working"|working   ||class="working"|working    ||class="unknown"|unknown   
 
|----
 
|----
|TNoteBook||class="not"|Not Implemented||class="not"|empty
+
|TNoteBook         ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|empty         ||class="unknown"|unknown   
 
|----
 
|----
|TUpDown||class="not"|Not Implemented||class="working"|working
+
|TUpDown           ||class="unknown"|unknown    ||class="working"|working   ||class="working"|working    ||class="unknown"|unknown   
 
|----
 
|----
|TStringGrid||class="not"|Not Implemented||class="partial"|partial
+
|TStringGrid       ||class="partial"|partial    ||class="working"|working    ||class="partial"|partial    ||class="partial"|partial   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/StringGrid]
 
|----
 
|----
|TDrawGrid||class="not"|Not Implemented||class="working"|working
+
|TDrawGrid         ||class="partial"|partial    ||class="partial"|partial    ||class="working"|working   ||class="partial"|partial   
 
|----
 
|----
|TToolBar||class="not"|Not Implemented||class="not"|empty
+
|TToolBar           ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial   
 
|----
 
|----
|TTreeView||class="not"|Not Implemented||class="not"|"An abstract method called"
+
|TTreeView         ||class="not"|empty          ||class="not"|empty    ||class="partial"|partial    ||class="not"|empty   
 
|----
 
|----
|TValueListEditor||class="not"|Not Implemented||class="partial"|partial
+
|TValueListEditor   ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial  
 
|}
 
|}
  
Line 124: Line 128:
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
! Component !! fpgui !! MUI/Zune !! Test
+
! Component !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 +
|----
 +
|TBevel      ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial   
 +
|----
 +
|TLabel      ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Label]
 +
|----
 +
|TShape      ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial   
 +
|----
 +
|TSpeedButton||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial   
 +
|----
 +
|TPaintBox  ||class="working"|working    ||class="partial"|partial    ||class="working"|working    ||class="working"|working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/PaintBox]
 +
|----
 +
|TImage      ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|partial    ||class="partial"|no partial || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Image] 
 +
|}
 +
 
 +
==Lazarus Components==
 +
 
 +
{| class="wikitable sortable"
 +
! Component !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 +
|----
 +
|TSynEdit  ||class="partial"|partial    ||class="partial"|partial    ||class="working"|working    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/SynEditTest]
 +
|----
 +
|TAChart    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="working"|working    ||class="unknown"|unknown   
 +
|}
 +
 
 +
==Lazarus Laz Controls==
 +
 
 +
{| class="wikitable sortable"
 +
! Component            !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 +
|----
 +
|TExtendedTabControl  ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||
 +
|----
 +
|TFilterEdit          ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="unknown"|unknown
 +
|----
 +
|TFloatSpinEditEx      ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown
 +
|----
 +
|TSpinEditEx          ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown
 +
|----
 +
|TShortPathEdit        ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown
 
|----
 
|----
|TBevel||class="not"|Not Implemented||class="partial"|partial
+
|TLvlGraphControl      ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown
 
|----
 
|----
|TLabel||class="not"|Not Implemented||class="partial"|partial || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Label]
+
|TListViewFilterEdit  ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial   ||class="unknown"|unknown
 
|----
 
|----
|TShape||class="not"|Not Implemented||class="partial"|partial
+
|TListFilterEdit      ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown
 
|----
 
|----
|TSpeedButton||class="not"|Not Implemented||class="partial"|partial
+
|TExtendedNotebook    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown
 
|----
 
|----
|TPaintBox||class="not"|Not Implemented||class="partial"|drawing|| TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/PaintBox]
+
|TDividerBevel        ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown
 
|----
 
|----
|TImage||class="not"|Not Implemented||class="partial"|partial|| TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Image] 
+
|TCheckboxThemed      ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown
 
|}
 
|}

Latest revision as of 18:20, 23 March 2021

Note: for fpgui LCL status check the official LCL Roadmap [1]

Status of native controls on each widgetset

Native controls are TWinControl descendants which do not descend from TCustomControl.

Component Amiga68k AmigaOS4 AROS MorphOS Test
TBitBtn only Text only Caption working only Caption TestCode[2]
TButton working working working working TestCode[3]
TCalendar unknown unknown crash unknown
TCheckBox partial partial Working partial
TCheckGroup partial partial Working partial TestCode[4]
TCheckListBox crash crash crash hangs
TComboBox partial partial partial partial TestCode[5]
TEdit partial partial partial partial TestCode[6]
TForm working working Working Working
TGroupBox working working Working Working TestCode[7]
TIdleTimer unknown unknown unknown unknown
TImageList unknown unknown working unknown
TListBox unknown unknown partial unknown
TListView unknown unknown partial unknown
TMainMenu working partial Working only on border TestCode[8]
TMemo partial partial partial partial TestCode[9]
TMenuItem working partial partial only on border TestCode[10]
TPageControl and TTabSheet empty look wrong partial looks wrong TestCode[11]
TPairSplitter empty empty empty empty
TPanel partial partial partial partial TestCode[12]
TPopupMenu ignored ignored ignored ignored
TProgressBar partial partial Working Working TestCode[13]
TRadioButton unknown unknown Working unknown
TRadioGroup unknown unknown Working partial TestCode[14]
TScrollBar partial partial partial partial TestCode[15]
TScrollBox empty empty empty empty
TSpinEdit working working Working working TestCode[16]
TSplitter empty empty empty empty
TStaticText partial partial partial partial TestCode[17]
TStatusBar only Simple only Simple only Simple only Simple TestCode[18]
TToggleBox unknown unknown partial unknown
TTrackbar inactive wrong size partial wrong size TestCode[19]
TTrayIcon unknown unknown empty unknown

Status of dialogs on each widgetset

Component Amiga68k AmigaOS4 AROS MorphOS Test
LCLIntf.MessageBox unknown unknown partial unknown
Application.MessageBox unknown unknown partial unknown
MessageDlg unknown unknown partial unknown
LCLIntf.PromptUser unknown unknown partial unknown
LCLIntf.AskUser unknown unknown partial unknown
TColorDialog working crash working working TestCode[20]
TFontDialog partial partial working working TestCode[21]
TOpenDialog working partial Working working
TPrinterSetupDialog unknown unknown Not Implemented unknown
TSaveDialog working partial partial working

Status of TCustomControl based controls on each widgetset

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 Amiga68k AmigaOS4 AROS MorphOS Test
TArrow unknown working working unknown
TNoteBook unknown unknown empty unknown
TUpDown unknown working working unknown
TStringGrid partial working partial partial TestCode[22]
TDrawGrid partial partial working partial
TToolBar unknown unknown partial partial
TTreeView empty empty partial empty
TValueListEditor partial partial partial partial

Status of TGraphicControl based controls on each widgetset

Note: These are for LCL wrapped components only, not for the specific GUI toolkit features itself.

Component Amiga68k AmigaOS4 AROS MorphOS Test
TBevel partial partial partial partial
TLabel partial partial partial partial TestCode[23]
TShape partial partial partial partial
TSpeedButton partial partial partial partial
TPaintBox working partial working working TestCode[24]
TImage partial partial partial no partial TestCode[25]

Lazarus Components

Component Amiga68k AmigaOS4 AROS MorphOS Test
TSynEdit partial partial working partial TestCode[26]
TAChart unknown unknown working unknown

Lazarus Laz Controls

Component Amiga68k AmigaOS4 AROS MorphOS Test
TExtendedTabControl unknown unknown unknown unknown
TFilterEdit unknown unknown partial unknown
TFloatSpinEditEx unknown unknown unknown unknown
TSpinEditEx unknown unknown unknown unknown
TShortPathEdit unknown unknown unknown unknown
TLvlGraphControl unknown unknown unknown unknown
TListViewFilterEdit unknown unknown partial unknown
TListFilterEdit unknown unknown unknown unknown
TExtendedNotebook unknown unknown unknown unknown
TDividerBevel unknown unknown unknown unknown
TCheckboxThemed unknown unknown unknown unknown