{ ***************************************************************************** * Gtk3WSFactory.pp * * ---------- * * * * * ***************************************************************************** ***************************************************************************** This file is part of the Lazarus Component Library (LCL) See the file COPYING.modifiedLGPL.txt, included in this distribution, for details about the license. ***************************************************************************** } unit Gtk3WSFactory; {$mode objfpc}{$H+} interface uses Classes, Controls, ComCtrls, Calendar, StdCtrls, Dialogs, ExtCtrls, ExtDlgs, Buttons, Spin, CheckLst, Forms, Menus, ImgList, PairSplitter, WSLCLClasses, WSDialogs; // imglist function RegisterCustomImageListResolution: Boolean; // controls function RegisterDragImageListResolution: Boolean; function RegisterLazAccessibleObject: Boolean; function RegisterControl: Boolean; function RegisterWinControl: Boolean; function RegisterGraphicControl: Boolean; function RegisterCustomControl: Boolean; // comctrls function RegisterStatusBar: Boolean; function RegisterTabSheet: Boolean; function RegisterPageControl: Boolean; function RegisterCustomListView: Boolean; function RegisterCustomProgressBar: Boolean; function RegisterCustomUpDown: Boolean; function RegisterCustomToolButton: Boolean; function RegisterToolBar: Boolean; function RegisterCustomTrackBar: Boolean; function RegisterCustomTreeView: Boolean; // calendar function RegisterCustomCalendar: Boolean; // dialogs function RegisterCommonDialog: Boolean; function RegisterFileDialog: Boolean; function RegisterOpenDialog: Boolean; function RegisterSaveDialog: Boolean; function RegisterSelectDirectoryDialog: Boolean; function RegisterColorDialog: Boolean; function RegisterColorButton: Boolean; function RegisterFontDialog: Boolean; function RegisterTaskDialog: Boolean; // StdCtrls function RegisterCustomScrollBar: Boolean; function RegisterCustomGroupBox: Boolean; function RegisterCustomComboBox: Boolean; function RegisterCustomListBox: Boolean; function RegisterCustomEdit: Boolean; function RegisterCustomMemo: Boolean; function RegisterButtonControl: Boolean; function RegisterCustomButton: Boolean; function RegisterCustomCheckBox: Boolean; function RegisterToggleBox: Boolean; function RegisterRadioButton: Boolean; function RegisterCustomStaticText: Boolean; function RegisterCustomLabel: Boolean; // extctrls function RegisterCustomPage: Boolean; function RegisterCustomNotebook: Boolean; function RegisterCustomShape: Boolean; function RegisterCustomSplitter: Boolean; function RegisterPaintBox: Boolean; function RegisterCustomImage: Boolean; function RegisterBevel: Boolean; function RegisterCustomRadioGroup: Boolean; function RegisterCustomCheckGroup: Boolean; function RegisterCustomLabeledEdit: Boolean; function RegisterCustomPanel: Boolean; function RegisterCustomTrayIcon: Boolean; //ExtDlgs function RegisterPreviewFileControl: Boolean; function RegisterPreviewFileDialog: Boolean; function RegisterOpenPictureDialog: Boolean; function RegisterSavePictureDialog: Boolean; function RegisterCalculatorDialog: Boolean; function RegisterCalculatorForm: Boolean; function RegisterCalendarDialog: Boolean; // Buttons function RegisterCustomBitBtn: Boolean; function RegisterCustomSpeedButton: Boolean; // CheckLst function RegisterCustomCheckListBox: Boolean; // Forms function RegisterScrollingWinControl: Boolean; function RegisterScrollBox: Boolean; function RegisterCustomFrame: Boolean; function RegisterCustomForm: Boolean; function RegisterHintWindow: Boolean; function RegisterCustomGrid: Boolean; function RegisterMenuItem: Boolean; function RegisterMenu: Boolean; function RegisterMainMenu: Boolean; function RegisterPopupMenu: Boolean; function RegisterPairSplitterSide: Boolean; function RegisterCustomPairSplitter: Boolean; function RegisterCustomFloatSpinEdit: Boolean; function RegisterCustomRubberBand: Boolean; // ShellCtrls function RegisterCustomShellTreeView: Boolean; function RegisterCustomShellListView: Boolean; // LazDeviceAPIs function RegisterLazDeviceAPIs: Boolean; implementation (* uses Gtk2WSArrow, Gtk2WSButtons, Gtk2WSCalendar, Gtk2WSCheckLst, Gtk2WSComCtrls, Gtk2WSControls, Gtk2WSDialogs, Gtk2WSExtCtrls, Gtk2WSExtDlgs, Gtk2WSForms, Gtk2WSGrids, {%H-}Gtk2WSImgList, Gtk2WSMenus, Gtk2WSSpin, Gtk2WSStdCtrls, Gtk2WSPairSplitter, Gtk2WSPrivate; *) uses Gtk3WSImgList, Gtk3WSControls, Gtk3WSForms, Gtk3WSButtons, Gtk3WSStdCtrls, Gtk3WSComCtrls, Gtk3WSExtCtrls, Gtk3WSSpin, Gtk3WSMenus, Gtk3WSCalendar, Gtk3WSDialogs, Gtk3WSCheckLst, Gtk3WSExtDlgs, gtk3wssplitter, Gtk3WSTrayIcon; // imglist function RegisterCustomImageListResolution: Boolean; alias : 'WSRegisterCustomImageListResolution'; begin // RegisterWSComponent(TImageList, TGtk3WSImageList); RegisterWSComponent(TCustomImageListResolution, TGtk3WSCustomImageListResolution); Result := True; end; // controls function RegisterDragImageListResolution: Boolean; alias : 'WSRegisterDragImageListResolution'; begin // RegisterWSComponent(TDragImageListResolution, TGtk3WSDragImageListResolution); Result := False; end; function RegisterLazAccessibleObject: Boolean; alias : 'WSRegisterLazAccessibleObject'; begin // RegisterWSLazAccessibleObject(TGtk3WSLazAccessibleObject); Result := False; end; function RegisterControl: Boolean; alias : 'WSRegisterControl'; begin // RegisterWSComponent(TControl, TGtk3WSControl); Result := False; end; function RegisterWinControl: Boolean; alias : 'WSRegisterWinControl'; begin RegisterWSComponent(TWinControl, TGtk3WSWinControl); Result := True; end; function RegisterGraphicControl: Boolean; alias : 'WSRegisterGraphicControl'; begin // RegisterWSComponent(TGraphicControl, TGtk3WSGraphicControl); Result := False; end; function RegisterCustomControl: Boolean; alias : 'WSRegisterCustomControl'; begin RegisterWSComponent(TCustomControl, TGtk3WSCustomControl); Result := True; end; // comctrls function RegisterStatusBar: Boolean; alias : 'WSRegisterStatusBar'; begin RegisterWSComponent(TStatusBar, TGtk3WSStatusBar); Result := True; end; function RegisterTabSheet: Boolean; alias : 'WSRegisterTabSheet'; begin // RegisterWSComponent(TCustomTabSheet, TGtk3WSTabSheet); Result := False; end; function RegisterPageControl: Boolean; alias : 'WSRegisterPageControl'; begin // RegisterWSComponent(TCustomPageControl, TGtk3WSPageControl); Result := False; end; function RegisterCustomListView: Boolean; alias : 'WSRegisterCustomListView'; begin RegisterWSComponent(TCustomListView, TGtk3WSCustomListView); Result := True; end; function RegisterCustomProgressBar: Boolean; alias : 'WSRegisterCustomProgressBar'; begin RegisterWSComponent(TCustomProgressBar, TGtk3WSProgressBar); Result := True; end; function RegisterCustomUpDown: Boolean; alias : 'WSRegisterCustomUpDown'; begin // RegisterWSComponent(TCustomUpDown, TGtk3WSCustomUpDown); Result := False; end; function RegisterCustomToolButton: Boolean; alias : 'WSRegisterCustomToolButton'; begin // RegisterWSComponent(TCustomToolButton, TGtk3WSToolButton); Result := False; end; function RegisterToolBar: Boolean; alias : 'WSRegisterToolBar'; begin RegisterWSComponent(TToolBar, TGtk3WSToolBar); Result := True; end; function RegisterCustomTrackBar: Boolean; alias : 'WSRegisterCustomTrackBar'; begin RegisterWSComponent(TCustomTrackBar, TGtk3WSTrackBar); Result := True; end; function RegisterCustomTreeView: Boolean; alias : 'WSRegisterCustomTreeView'; begin // RegisterWSComponent(TCustomTreeView, TGtk3WSCustomTreeView); Result := False; end; // calendar function RegisterCustomCalendar: Boolean; alias : 'WSRegisterCustomCalendar'; begin RegisterWSComponent(TCustomCalendar, TGtk3WSCustomCalendar); Result := True; end; // dialogs function RegisterCommonDialog: Boolean; alias : 'WSRegisterCommonDialog'; begin RegisterWSComponent(TCommonDialog, TGtk3WSCommonDialog); Result := True; end; function RegisterFileDialog: Boolean; alias : 'WSRegisterFileDialog'; begin RegisterWSComponent(TFileDialog, TGtk3WSFileDialog); Result := True; end; function RegisterOpenDialog: Boolean; alias : 'WSRegisterOpenDialog'; begin RegisterWSComponent(TOpenDialog, TGtk3WSOpenDialog); Result := True; end; function RegisterSaveDialog: Boolean; alias : 'WSRegisterSaveDialog'; begin RegisterWSComponent(TSaveDialog, TGtk3WSSaveDialog); Result := True; end; function RegisterSelectDirectoryDialog: Boolean; alias : 'WSRegisterSelectDirectoryDialog'; begin RegisterWSComponent(TSelectDirectoryDialog, TGtk3WSSelectDirectoryDialog); Result := True; end; function RegisterColorDialog: Boolean; alias : 'WSRegisterColorDialog'; begin RegisterWSComponent(TColorDialog, TGtk3WSColorDialog); Result := True; end; function RegisterColorButton: Boolean; alias : 'WSRegisterColorButton'; begin // RegisterWSComponent(TColorButton, TGtk3WSColorButton); Result := False; end; function RegisterFontDialog: Boolean; alias : 'WSRegisterFontDialog'; begin RegisterWSComponent(TFontDialog, TGtk3WSFontDialog); Result := True; end; function RegisterTaskDialog: Boolean; alias : 'WSRegisterTaskDialog'; begin RegisterWSComponent(TTaskDialog, TWSTaskDialog); Result := True; end; // StdCtrls function RegisterCustomScrollBar: Boolean; alias : 'WSRegisterCustomScrollBar'; begin RegisterWSComponent(TCustomScrollBar, TGtk3WSScrollBar); Result := True; end; function RegisterCustomGroupBox: Boolean; alias : 'WSRegisterCustomGroupBox'; begin RegisterWSComponent(TCustomGroupBox, TGtk3WSCustomGroupBox); Result := True; end; function RegisterCustomComboBox: Boolean; alias : 'WSRegisterCustomComboBox'; begin RegisterWSComponent(TCustomComboBox, TGtk3WSCustomComboBox); Result := True; end; function RegisterCustomListBox: Boolean; alias : 'WSRegisterCustomListBox'; begin RegisterWSComponent(TCustomListBox, TGtk3WSCustomListBox); Result := True; end; function RegisterCustomEdit: Boolean; alias : 'WSRegisterCustomEdit'; begin RegisterWSComponent(TCustomEdit, TGtk3WSCustomEdit); Result := True; end; function RegisterCustomMemo: Boolean; alias : 'WSRegisterCustomMemo'; begin RegisterWSComponent(TCustomMemo, TGtk3WSCustomMemo); Result := True; end; function RegisterButtonControl: Boolean; alias : 'WSRegisterButtonControl'; begin // RegisterWSComponent(TButtonControl, TGtk3WSButtonControl); Result := False; end; function RegisterCustomButton: Boolean; alias : 'WSRegisterCustomButton'; begin RegisterWSComponent(TCustomButton, TGtk3WSButton); Result := True; end; function RegisterCustomCheckBox: Boolean; alias : 'WSRegisterCustomCheckBox'; begin RegisterWSComponent(TCustomCheckBox, TGtk3WSCustomCheckBox); Result := True; end; function RegisterToggleBox: Boolean; alias : 'WSRegisterToggleBox'; begin RegisterWSComponent(TToggleBox, TGtk3WSToggleBox); Result := True; end; function RegisterRadioButton: Boolean; alias : 'WSRegisterRadioButton'; begin RegisterWSComponent(TRadioButton, TGtk3WSRadioButton); Result := True; end; function RegisterCustomStaticText: Boolean; alias : 'WSRegisterCustomStaticText'; begin RegisterWSComponent(TCustomStaticText, TGtk3WSCustomStaticText); Result := True; end; function RegisterCustomLabel: Boolean; alias : 'WSRegisterCustomLabel'; begin // RegisterWSComponent(TCustomLabel, TGtk3WSCustomLabel); // RegisterWSComponent(TLabel, TGtk3WSLabel); Result := False; end; // extctrls function RegisterCustomPage: Boolean; alias : 'WSRegisterCustomPage'; begin RegisterWSComponent(TCustomPage, TGtk3WSCustomPage); Result := True; end; function RegisterCustomNotebook: Boolean; alias : 'WSRegisterCustomNotebook'; begin RegisterWSComponent(TCustomTabControl, TGtk3WSCustomTabControl); Result := True; end; function RegisterCustomShape: Boolean; alias : 'WSRegisterCustomShape'; begin // RegisterWSComponent(TCustomShape, TGtk2WSCustomShape); Result := False; end; function RegisterCustomSplitter: Boolean; alias : 'WSRegisterCustomSplitter'; begin RegisterWSComponent(TCustomSplitter, TGtk3WSCustomSplitter); Result := true; end; function RegisterPaintBox: Boolean; alias : 'WSRegisterPaintBox'; begin // RegisterWSComponent(TPaintBox, TGtk2WSPaintBox); Result := False; end; function RegisterCustomImage: Boolean; alias : 'WSRegisterCustomImage'; begin // RegisterWSComponent(TCustomImage, TGtk2WSCustomImage); // RegisterWSComponent(TImage, TGtk2WSImage); Result := False; end; function RegisterBevel: Boolean; alias : 'WSRegisterBevel'; begin // RegisterWSComponent(TBevel, TGtk2WSBevel); Result := False; end; function RegisterCustomRadioGroup: Boolean; alias : 'WSRegisterCustomRadioGroup'; begin // RegisterWSComponent(TCustomRadioGroup, TGtk2WSCustomRadioGroup); // RegisterWSComponent(TRadioGroup, TGtk2WSRadioGroup); Result := False; end; function RegisterCustomCheckGroup: Boolean; alias : 'WSRegisterCustomCheckGroup'; begin // RegisterWSComponent(TCustomCheckGroup, TGtk2WSCustomCheckGroup); // RegisterWSComponent(TCheckGroup, TGtk2WSCheckGroup); Result := False; end; function RegisterCustomLabeledEdit: Boolean; alias : 'WSRegisterCustomLabeledEdit'; begin // RegisterWSComponent(TBoundLabel, TGtk2WSBoundLabel); // RegisterWSComponent(TCustomLabeledEdit, TGtk2WSCustomLabeledEdit); // RegisterWSComponent(TLabeledEdit, TGtk2WSLabeledEdit); Result := False; end; function RegisterCustomPanel: Boolean; alias : 'WSRegisterCustomPanel'; begin RegisterWSComponent(TCustomPanel, TGtk3WSCustomPanel); // RegisterWSComponent(TPanel, TGtk2WSPanel); Result := True; end; function RegisterCustomTrayIcon: Boolean; alias : 'WSRegisterCustomTrayIcon'; begin // RegisterWSComponent(TCustomTrayIcon, TGtk2WSCustomTrayIcon); Result := True; if Gtk3AppIndicatorInit then RegisterWSComponent(TCustomTrayIcon, TGtk3WSTrayIcon) else Result := False; end; //ExtDlgs function RegisterPreviewFileControl: Boolean; alias : 'WSRegisterPreviewFileControl'; begin RegisterWSComponent(TPreviewFileControl, TGtk3WSPreviewFileControl); Result := True; end; function RegisterPreviewFileDialog: Boolean; alias : 'WSRegisterPreviewFileDialog'; begin // RegisterWSComponent(TPreviewFileDialog, TGtk2WSPreviewFileDialog); Result := False; end; function RegisterOpenPictureDialog: Boolean; alias : 'WSRegisterOpenPictureDialog'; begin // RegisterWSComponent(TOpenPictureDialog, TGtk2WSOpenPictureDialog); Result := False; end; function RegisterSavePictureDialog: Boolean; alias : 'WSRegisterSavePictureDialog'; begin // RegisterWSComponent(TSavePictureDialog, TGtk2WSSavePictureDialog); Result := False; end; function RegisterCalculatorDialog: Boolean; alias : 'WSRegisterCalculatorDialog'; begin // RegisterWSComponent(TCalculatorDialog, TGtk2WSCalculatorDialog); Result := False; end; function RegisterCalculatorForm: Boolean; alias : 'WSRegisterCalculatorForm'; begin // RegisterWSComponent(TCalculatorForm, TGtk2WSCalculatorForm); Result := False; end; (*function RegisterCalendarDialogForm: Boolean; alias : 'WSRegisterCalendarDialogForm'; begin // RegisterWSComponent(TCalendarDialogForm, TGtk2WSCalendarDialogForm); Result := False; end;*) function RegisterCalendarDialog: Boolean; alias : 'WSRegisterCalendarDialog'; begin // RegisterWSComponent(TCalendarDialog, TGtk2WSCalendarDialog); Result := False; end; // Buttons function RegisterCustomBitBtn: Boolean; alias : 'WSRegisterCustomBitBtn'; begin RegisterWSComponent(TCustomBitBtn, TGtk3WSBitBtn); Result := True; end; function RegisterCustomSpeedButton: Boolean; alias : 'WSRegisterCustomSpeedButton'; begin // RegisterWSComponent(TCustomSpeedButton, TGtk2WSSpeedButton); Result := False; end; // CheckLst function RegisterCustomCheckListBox: Boolean; alias : 'WSRegisterCustomCheckListBox'; begin RegisterWSComponent(TCustomCheckListBox, TGtk3WSCustomCheckListBox); Result := True; end; // Forms function RegisterScrollingWinControl: Boolean; alias : 'WSRegisterScrollingWinControl'; begin RegisterWSComponent(TScrollingWinControl, TGtk3WSScrollingWinControl); Result := True; end; function RegisterScrollBox: Boolean; alias : 'WSRegisterScrollBox'; begin // RegisterWSComponent(TScrollBox, TGtk2WSScrollBox); Result := False; end; function RegisterCustomFrame: Boolean; alias : 'WSRegisterCustomFrame'; begin // RegisterWSComponent(TCustomFrame, TGtk2WSCustomFrame); // RegisterWSComponent(TFrame, TGtk2WSFrame); Result := False; end; function RegisterCustomForm: Boolean; alias : 'WSRegisterCustomForm'; begin RegisterWSComponent(TCustomForm, TGtk3WSCustomForm); // RegisterWSComponent(TForm, TGtk2WSForm); Result := True; end; function RegisterHintWindow: Boolean; alias : 'WSRegisterHintWindow'; begin RegisterWSComponent(THintWindow, TGtk3WSHintWindow); Result := True; end; function RegisterCustomGrid: Boolean; alias : 'WSRegisterCustomGrid'; begin // RegisterWSComponent(TCustomGrid, TGtk2WSCustomGrid); Result := False; end; function RegisterMenuItem: Boolean; alias : 'WSRegisterMenuItem'; begin RegisterWSComponent(TMenuItem, TGtk3WSMenuItem); Result := True; end; function RegisterMenu: Boolean; alias : 'WSRegisterMenu'; begin RegisterWSComponent(TMenu, TGtk3WSMenu); Result := True; end; function RegisterMainMenu: Boolean; alias : 'WSRegisterMainMenu'; begin // RegisterWSComponent(TMainMenu, TGtk2WSMainMenu); Result := False; end; function RegisterPopupMenu: Boolean; alias : 'WSRegisterPopupMenu'; begin RegisterWSComponent(TPopupMenu, TGtk3WSPopupMenu); Result := True; end; function RegisterPairSplitterSide: Boolean; alias : 'WSRegisterPairSplitterSide'; begin RegisterWSComponent(TPairSplitterSide, TGtk3WSPairSplitterSide); Result := true; end; function RegisterCustomPairSplitter: Boolean; alias : 'WSRegisterCustomPairSplitter'; begin RegisterWSComponent(TCustomPairSplitter, TGtk3WSCustomPairSplitter); Result := true; end; function RegisterCustomFloatSpinEdit: Boolean; alias : 'WSRegisterCustomFloatSpinEdit'; begin RegisterWSComponent(TCustomFloatSpinEdit, TGtk3WSCustomFloatSpinEdit); Result := True; end; function RegisterCustomRubberBand: Boolean; alias : 'WSRegisterCustomRubberBand'; begin // RegisterWSComponent(TFloatSpinEdit, TGtk2WSFloatSpinEdit); Result := False; end; // ShellCtrls function RegisterCustomShellTreeView: Boolean; alias : 'WSRegisterCustomShellTreeView'; begin Result := False; end; function RegisterCustomShellListView: Boolean; alias : 'WSRegisterCustomShellListView'; begin Result := False; end; function RegisterLazDeviceAPIs: Boolean; alias : 'WSRegisterLazDeviceAPIs'; begin //RegisterWSLazDeviceAPIs(TCDWSLazDeviceAPIs); Result := False; end; end.