Difference between revisions of "LCL status"

From Freepascal Amiga wiki
Jump to navigation Jump to search
m (color)
(Updated infos for Amiga)
Line 8: Line 8:
 
! Component !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 
! Component !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 
|----
 
|----
|TBitBtn    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="working"|working    ||class="partial"|only Caption  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/BitButton]
+
|TBitBtn    ||class="not"|only Text      ||class="unknown"|unknown    ||class="working"|working    ||class="partial"|only Caption  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/BitButton]
 
|----
 
|----
|TButton    ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|working    ||class="working"|working  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Button]
+
|TButton    ||class="working"|working   ||class="unknown"|unknown    ||class="working"|working    ||class="working"|working  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Button]
 
|----
 
|----
 
|TCalendar  ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|crash          ||class="unknown"|unknown
 
|TCalendar  ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|crash          ||class="unknown"|unknown
 
|----
 
|----
|TCheckBox  ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|Working    ||class="partial"|partial  
+
|TCheckBox  ||class="partial"|partial   ||class="unknown"|unknown    ||class="working"|Working    ||class="partial"|partial  
 
|----
 
|----
|TCheckGroup||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|Working    ||class="partial"|partial  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/CheckGroup]
+
|TCheckGroup||class="partial"|partial   ||class="unknown"|unknown    ||class="working"|Working    ||class="partial"|partial  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/CheckGroup]
 
|----
 
|----
|TCheckListBox||class="unknown"|unknown  ||class="unknown"|unknown    ||class="not"|crash          ||class="not"|hangs
+
|TCheckListBox||class="not"|crash        ||class="unknown"|unknown    ||class="not"|crash          ||class="not"|hangs
 
|----
 
|----
|TComboBox  ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ComboBox]
+
|TComboBox  ||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ComboBox]
 
|----
 
|----
|TEdit      ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Edits]   
+
|TEdit      ||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Edits]   
 
|----
 
|----
|TForm      ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|Working    ||class="working"|Working
+
|TForm      ||class="working"|working   ||class="unknown"|unknown    ||class="working"|Working    ||class="working"|Working
 
|----
 
|----
|TGroupBox  ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|Working    ||class="working"|Working  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Panel]
+
|TGroupBox  ||class="working"|working   ||class="unknown"|unknown    ||class="working"|Working    ||class="working"|Working  || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Panel]
 
|----
 
|----
 
|TIdleTimer ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown
 
|TIdleTimer ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="unknown"|unknown
Line 36: Line 36:
 
|TListView  ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="unknown"|unknown     
 
|TListView  ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="unknown"|unknown     
 
|----
 
|----
|TMainMenu  ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|Working    ||class="partial"|only on border || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Menu]
+
|TMainMenu  ||class="working"|working   ||class="unknown"|unknown    ||class="working"|Working    ||class="partial"|only on border || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Menu]
 
|----
 
|----
|TMemo      ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="working"|Working   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Button]   
+
|TMemo      ||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Button]   
 
|----
 
|----
|TMenuItem  ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|only on border || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Menu]
+
|TMenuItem  ||class="working"|working   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|only on border || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Menu]
 
|----
 
|----
|TPageControl and TTabSheet  ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="not"|looks wrong    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/PageControl]
+
|TPageControl and TTabSheet  ||class="not"|empty   ||class="unknown"|unknown    ||class="partial"|partial    ||class="not"|looks wrong    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/PageControl]
 
|----
 
|----
|TPairSplitter||class="unknown"|unknown  ||class="unknown"|unknown    ||class="not"|empty          ||class="not"|empty
+
|TPairSplitter||class="not"|empty        ||class="unknown"|unknown    ||class="not"|empty          ||class="not"|empty
 
|----
 
|----
|TPanel    ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Panel]
+
|TPanel    ||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Panel]
 
|----
 
|----
|TPopupMenu ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|ignored        ||class="not"|ignored
+
|TPopupMenu ||class="not"|ignored        ||class="unknown"|unknown    ||class="not"|ignored        ||class="not"|ignored
 
|----
 
|----
|TProgressBar||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|Working    ||class="working"|Working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ProgressBar]
+
|TProgressBar||class="partial"|partial   ||class="unknown"|unknown    ||class="working"|Working    ||class="working"|Working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ProgressBar]
 
|----
 
|----
 
|TRadioButton||class="unknown"|unknown  ||class="unknown"|unknown    ||class="working"|Working    ||class="unknown"|unknown     
 
|TRadioButton||class="unknown"|unknown  ||class="unknown"|unknown    ||class="working"|Working    ||class="unknown"|unknown     
Line 56: Line 56:
 
|TRadioGroup||class="unknown"|unknown    ||class="unknown"|unknown    ||class="working"|Working    ||class="partial"|partial    || 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="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ScrollBar]
+
|TScrollBar ||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ScrollBar]
 
|----
 
|----
|TScrollBox ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|empty          ||class="not"|empty     
+
|TScrollBox ||class="not"|empty          ||class="unknown"|unknown    ||class="not"|empty          ||class="not"|empty     
 
|----
 
|----
|TSpinEdit  ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|Working    ||class="working"|working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Edits]     
+
|TSpinEdit  ||class="working"|working   ||class="unknown"|unknown    ||class="working"|Working    ||class="working"|working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Edits]     
 
|----
 
|----
|TSplitter  ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|empty          ||class="not"|empty     
+
|TSplitter  ||class="not"|empty          ||class="unknown"|unknown    ||class="not"|empty          ||class="not"|empty     
 
|----
 
|----
|TStaticText||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ComboBox]         
+
|TStaticText||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ComboBox]         
 
|----
 
|----
|TStatusBar ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|only Simple||class="partial"|only Simple|| TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/StatusBar]     
+
|TStatusBar ||class="partial"|only Simple||class="unknown"|unknown    ||class="partial"|only Simple||class="partial"|only Simple|| TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/StatusBar]     
 
|----
 
|----
 
|TToggleBox ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="unknown"|unknown     
 
|TToggleBox ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="unknown"|unknown     
 
|----
 
|----
|TTrackbar  ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="not"|wrong size    ||    
+
|TTrackbar  ||class="not"|inactive      ||class="unknown"|unknown    ||class="partial"|partial    ||class="not"|wrong size    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/TrackBar]   
 
|----
 
|----
 
|TTrayIcon  ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|empty          ||class="unknown"|unknown     
 
|TTrayIcon  ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|empty          ||class="unknown"|unknown     
Line 90: Line 90:
 
|LCLIntf.AskUser    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="unknown"|unknown     
 
|LCLIntf.AskUser    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="unknown"|unknown     
 
|----
 
|----
|TColorDialog      ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|working    ||class="working"|working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ColorDialog]
+
|TColorDialog      ||class="working"|working   ||class="unknown"|unknown    ||class="working"|working    ||class="working"|working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ColorDialog]
 
|----
 
|----
|TFontDialog        ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|working    ||class="working"|working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Dialogs]
+
|TFontDialog        ||class="partial"|partial   ||class="unknown"|unknown    ||class="working"|working    ||class="working"|working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Dialogs]
 
|----
 
|----
|TOpenDialog        ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|Working    ||class="working"|working     
+
|TOpenDialog        ||class="working"|working   ||class="unknown"|unknown    ||class="working"|Working    ||class="working"|working     
 
|----
 
|----
 
|TPrinterSetupDialog||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|Not Implemented||class="unknown"|unknown     
 
|TPrinterSetupDialog||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|Not Implemented||class="unknown"|unknown     
 
|----
 
|----
|TSaveDialog        ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="working"|working     
+
|TSaveDialog        ||class="working"|working   ||class="unknown"|unknown    ||class="partial"|partial    ||class="working"|working     
 
|}
 
|}
  
Line 113: Line 113:
 
|TUpDown            ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="working"|working    ||class="unknown"|unknown     
 
|TUpDown            ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="working"|working    ||class="unknown"|unknown     
 
|----
 
|----
|TStringGrid        ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/StringGrid]
+
|TStringGrid        ||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/StringGrid]
 
|----
 
|----
|TDrawGrid          ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|working    ||class="partial"|partial     
+
|TDrawGrid          ||class="partial"|partial   ||class="unknown"|unknown    ||class="working"|working    ||class="partial"|partial     
 
|----
 
|----
 
|TToolBar          ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial     
 
|TToolBar          ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial     
 
|----
 
|----
|TTreeView          ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="not"|empty     
+
|TTreeView          ||class="not"|empty          ||class="unknown"|unknown    ||class="partial"|partial    ||class="not"|empty     
 
|----
 
|----
|TValueListEditor  ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial     
+
|TValueListEditor  ||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial     
 
|}
 
|}
  
Line 130: Line 130:
 
! Component  !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 
! Component  !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 
|----
 
|----
|TBevel      ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial     
+
|TBevel      ||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial     
 
|----
 
|----
|TLabel      ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Label]
+
|TLabel      ||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Label]
 
|----
 
|----
|TShape      ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial     
+
|TShape      ||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial     
 
|----
 
|----
|TSpeedButton||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial     
+
|TSpeedButton||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial     
 
|----
 
|----
|TPaintBox  ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|working    ||class="working"|working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/PaintBox]
+
|TPaintBox  ||class="working"|working   ||class="unknown"|unknown    ||class="working"|working    ||class="working"|working    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/PaintBox]
 
|----
 
|----
|TImage      ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="partial"|partial    ||class="not"|no image   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Image]   
+
|TImage      ||class="partial"|partial   ||class="unknown"|unknown    ||class="partial"|partial    ||class="not"|no image       || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Image]   
 
|}
 
|}
  
Line 148: Line 148:
 
! Component !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 
! Component !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 
|----
 
|----
|TSynEdit  ||class="unknown"|unknown   ||class="unknown"|unknown    ||class="working"|working    ||class="partial"|partial    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/SynEditTest]
+
|TSynEdit  ||class="partial"|partial   ||class="unknown"|unknown    ||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     
 
|TAChart    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="working"|working    ||class="unknown"|unknown     
 
|}
 
|}

Revision as of 19:55, 5 May 2016

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 unknown working only Caption TestCode[2]
TButton working unknown working working TestCode[3]
TCalendar unknown unknown crash unknown
TCheckBox partial unknown Working partial
TCheckGroup partial unknown Working partial TestCode[4]
TCheckListBox crash unknown crash hangs
TComboBox partial unknown partial partial TestCode[5]
TEdit partial unknown partial partial TestCode[6]
TForm working unknown Working Working
TGroupBox working unknown 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 unknown Working only on border TestCode[8]
TMemo partial unknown partial partial TestCode[9]
TMenuItem working unknown partial only on border TestCode[10]
TPageControl and TTabSheet empty unknown partial looks wrong TestCode[11]
TPairSplitter empty unknown empty empty
TPanel partial unknown partial partial TestCode[12]
TPopupMenu ignored unknown ignored ignored
TProgressBar partial unknown Working Working TestCode[13]
TRadioButton unknown unknown Working unknown
TRadioGroup unknown unknown Working partial TestCode[14]
TScrollBar partial unknown partial partial TestCode[15]
TScrollBox empty unknown empty empty
TSpinEdit working unknown Working working TestCode[16]
TSplitter empty unknown empty empty
TStaticText partial unknown partial partial TestCode[17]
TStatusBar only Simple unknown only Simple only Simple TestCode[18]
TToggleBox unknown unknown partial unknown
TTrackbar inactive unknown 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 unknown working working TestCode[20]
TFontDialog partial unknown working working TestCode[21]
TOpenDialog working unknown Working working
TPrinterSetupDialog unknown unknown Not Implemented unknown
TSaveDialog working unknown 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 unknown working unknown
TNoteBook unknown unknown empty unknown
TUpDown unknown unknown working unknown
TStringGrid partial unknown partial partial TestCode[22]
TDrawGrid partial unknown working partial
TToolBar unknown unknown partial partial
TTreeView empty unknown partial empty
TValueListEditor partial unknown 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 unknown partial partial
TLabel partial unknown partial partial TestCode[23]
TShape partial unknown partial partial
TSpeedButton partial unknown partial partial
TPaintBox working unknown working working TestCode[24]
TImage partial unknown partial no image TestCode[25]

Lazarus Components

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