Difference between revisions of "LCL status"

From Freepascal Amiga wiki
Jump to navigation Jump to search
m (fpgui link to offical page)
m (TImage works on MorphOS, TSynEdit, works on OS4)
(6 intermediate revisions by the same user not shown)
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="unknown"|unknown   || 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="unknown"|unknown   ||class="unknown"|unknown   ||class="working"|working    ||class="unknown"|unknown   || 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="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="partial"|partial   ||class="working"|Working    ||class="partial"|partial  
 
|----
 
|----
|TCheckGroup||class="unknown"|unknown   ||class="unknown"|unknown   ||class="working"|Working    ||class="unknown"|unknown   || 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="unknown"|unknown  ||class="unknown"|unknown    ||class="not"|crash          ||class="unknown"|unknown
+
|TCheckListBox||class="not"|crash        ||class="not"|crash          ||class="not"|crash          ||class="not"|hangs
 
|----
 
|----
|TComboBox  ||class="unknown"|unknown   ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown   || 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="unknown"|unknown   ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown    
+
|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="unknown"|unknown   ||class="unknown"|unknown   ||class="working"|Working    ||class="unknown"|unknown
+
|TForm      ||class="working"|working   ||class="working"|working   ||class="working"|Working    ||class="working"|Working
 
|----
 
|----
|TGroupBox  ||class="unknown"|unknown   ||class="unknown"|unknown   ||class="working"|Working    ||class="unknown"|unknown
+
|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="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="unknown"|unknown   
+
|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="unknown"|unknown   ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown    
+
|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="unknown"|unknown   ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown   
+
|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="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="unknown"|unknown   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/PageControl]
+
|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="unknown"|unknown  ||class="unknown"|unknown    ||class="not"|empty          ||class="unknown"|unknown   
+
|TPairSplitter||class="not"|empty        ||class="not"|empty          ||class="not"|empty          ||class="not"|empty
 
|----
 
|----
|TPanel    ||class="unknown"|unknown   ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown   || 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="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|ignored        ||class="unknown"|unknown   
+
|TPopupMenu ||class="not"|ignored        ||class="not"|ignored        ||class="not"|ignored        ||class="not"|ignored
 
|----
 
|----
|TProgressBar||class="unknown"|unknown   ||class="unknown"|unknown   ||class="working"|Working    ||class="unknown"|unknown   || 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="unknown"|unknown  ||class="unknown"|unknown    ||class="working"|Working    ||class="unknown"|unknown     
 
|TRadioButton||class="unknown"|unknown  ||class="unknown"|unknown    ||class="working"|Working    ||class="unknown"|unknown     
 
|----
 
|----
|TRadioGroup||class="unknown"|unknown    ||class="unknown"|unknown    ||class="working"|Working    ||class="unknown"|unknown   || 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="unknown"|unknown   || 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="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|empty          ||class="unknown"|unknown    
+
|TScrollBox ||class="not"|empty          ||class="not"|empty          ||class="not"|empty          ||class="not"|empty    
 
|----
 
|----
|TSpinEdit  ||class="unknown"|unknown   ||class="unknown"|unknown   ||class="working"|Working    ||class="unknown"|unknown    
+
|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="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|empty          ||class="unknown"|unknown    
+
|TSplitter  ||class="not"|empty          ||class="not"|empty          ||class="not"|empty          ||class="not"|empty    
 
|----
 
|----
|TStaticText||class="unknown"|unknown   ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown    
+
|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="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|crash          ||class="unknown"|unknown    
+
|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="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="not"|crash          ||class="unknown"|unknown      
+
|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="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="unknown"|unknown   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/ColorDialog]
+
|TColorDialog      ||class="working"|working   ||class="not"|crash          ||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="unknown"|unknown   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Dialogs]
+
|TFontDialog        ||class="partial"|partial   ||class="partial"|partial        ||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="unknown"|unknown      
+
|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     
 
|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="unknown"|unknown    
+
|TSaveDialog        ||class="working"|working   ||class="partial"|partial        ||class="partial"|partial    ||class="working"|working    
 
|}
 
|}
  
Line 107: Line 107:
 
! Component        !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 
! Component        !! Amiga68k                  !! AmigaOS4                  !! AROS                      !! MorphOS                  !! Test
 
|----
 
|----
|TArrow            ||class="unknown"|unknown    ||class="unknown"|unknown   ||class="working"|working    ||class="unknown"|unknown     
+
|TArrow            ||class="unknown"|unknown    ||class="working"|working   ||class="working"|working    ||class="unknown"|unknown     
 
|----
 
|----
 
|TNoteBook          ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|empty          ||class="unknown"|unknown     
 
|TNoteBook          ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="not"|empty          ||class="unknown"|unknown     
 
|----
 
|----
|TUpDown            ||class="unknown"|unknown    ||class="unknown"|unknown   ||class="working"|working    ||class="unknown"|unknown     
+
|TUpDown            ||class="unknown"|unknown    ||class="working"|working   ||class="working"|working    ||class="unknown"|unknown     
 
|----
 
|----
|TStringGrid        ||class="unknown"|unknown   ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/StringGrid]
+
|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="unknown"|unknown   ||class="unknown"|unknown   ||class="working"|working    ||class="unknown"|unknown    
+
|TDrawGrid          ||class="partial"|partial   ||class="partial"|partial   ||class="working"|working    ||class="partial"|partial    
 
|----
 
|----
|TToolBar          ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="unknown"|unknown    
+
|TToolBar          ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="partial"|partial    ||class="partial"|partial    
 
|----
 
|----
|TTreeView          ||class="unknown"|unknown    ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown    
+
|TTreeView          ||class="not"|empty          ||class="not"|empty   ||class="partial"|partial    ||class="not"|empty    
 
|----
 
|----
|TValueListEditor  ||class="unknown"|unknown   ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown    
+
|TValueListEditor  ||class="partial"|partial   ||class="partial"|partial   ||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="unknown"|unknown    
+
|TBevel      ||class="partial"|partial   ||class="partial"|partial   ||class="partial"|partial    ||class="partial"|partial    
 
|----
 
|----
|TLabel      ||class="unknown"|unknown   ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Label]
+
|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="unknown"|unknown   ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown    
+
|TShape      ||class="partial"|partial   ||class="partial"|partial   ||class="partial"|partial    ||class="partial"|partial    
 
|----
 
|----
|TSpeedButton||class="unknown"|unknown   ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown    
+
|TSpeedButton||class="partial"|partial   ||class="partial"|partial   ||class="partial"|partial    ||class="partial"|partial    
 
|----
 
|----
|TPaintBox  ||class="unknown"|unknown   ||class="unknown"|unknown   ||class="working"|working    ||class="unknown"|unknown   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/PaintBox]
+
|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="unknown"|unknown   ||class="unknown"|unknown   ||class="partial"|partial    ||class="unknown"|unknown    || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/Image]   
+
|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]   
 
|}
 
|}
  
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="unknown"|unknown   || TestCode[https://github.com/alb42/fpc-tests/tree/master/lcl/SynEditTest]
+
|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     
 
|TAChart    ||class="unknown"|unknown    ||class="unknown"|unknown    ||class="working"|working    ||class="unknown"|unknown     
 
|}
 
|}

Revision as of 21:15, 8 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 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