lazarus/lcl/interfaces/customdrawn/customdrawnwsextctrls.pas

251 lines
6.2 KiB
ObjectPascal

{
*****************************************************************************
* CustomDrawnWSExtCtrls.pas *
* --------------- *
* *
* *
*****************************************************************************
*****************************************************************************
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 CustomDrawnWSExtCtrls;
{$mode objfpc}{$H+}
{$I customdrawndefines.inc}
interface
//{$I qtdefines.inc}
uses
// RTL
Types,
// {$ifdef CD_Windows}Windows, customdrawn_WinProc,{$endif}
{$ifdef CD_Cocoa}MacOSAll, CocoaAll, customdrawn_cocoaproc, CocoaGDIObjects,{$endif}
{$ifdef CD_X11}X, XLib, XUtil, BaseUnix, customdrawn_x11proc,{$endif}
// {$ifdef CD_Android}customdrawn_androidproc, jni, bitmap, log, keycodes,{$endif}
// LCL
LCLProc, LCLIntf,
SysUtils, Classes, Controls, Graphics, Forms, ExtCtrls, LCLType,
ImgList, InterfaceBase,
// Widgetset
CustomDrawnInt, WSExtCtrls, WSProc, WSLCLClasses,
customdrawncontrols, customdrawnwscontrols, customdrawnproc;
type
{ TCDWSPage }
TCDWSPage = class(TWSPage)
published
end;
{ TCDWSNotebook }
TCDWSNotebook = class(TWSNotebook)
published
end;
{ TCDWSCustomShape }
TCDWSCustomShape = class(TWSCustomShape)
published
end;
{ TCDWSCustomSplitter }
TCDWSCustomSplitter = class(TWSCustomSplitter)
published
end;
{ TCDWSSplitter }
TCDWSSplitter = class(TWSSplitter)
published
end;
{ TCDWSPaintBox }
TCDWSPaintBox = class(TWSPaintBox)
published
end;
{ TCDWSCustomImage }
TCDWSCustomImage = class(TWSCustomImage)
published
end;
{ TCDWSImage }
TCDWSImage = class(TWSImage)
published
end;
{ TCDWSBevel }
TCDWSBevel = class(TWSBevel)
published
end;
{ TCDWSCustomRadioGroup }
TCDWSCustomRadioGroup = class(TWSCustomRadioGroup)
published
{ class function CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): TLCLHandle; override;}
end;
{ TCDWSRadioGroup }
TCDWSRadioGroup = class(TWSRadioGroup)
published
end;
{ TCDWSCustomCheckGroup }
TCDWSCustomCheckGroup = class(TWSCustomCheckGroup)
published
{ class function CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): TLCLHandle; override;}
end;
{ TCDWSCheckGroup }
TCDWSCheckGroup = class(TWSCheckGroup)
published
end;
{ TCDWSCustomLabeledEdit }
TCDWSCustomLabeledEdit = class(TWSCustomLabeledEdit)
published
end;
{ TCDWSLabeledEdit }
TCDWSLabeledEdit = class(TWSLabeledEdit)
published
end;
{ TCDWSCustomPanel }
TCDWSCustomPanel = class(TWSCustomPanel)
// TPanel draws itself, so there is no need to inject a sub-control
published
class function CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): TLCLHandle; override;
end;
{ TCDWSPanel }
TCDWSPanel = class(TWSPanel)
published
end;
{ TCDWSCustomTrayIcon }
TCDWSCustomTrayIcon = class(TWSCustomTrayIcon)
published
class function Hide(const ATrayIcon: TCustomTrayIcon): Boolean; override;
class function Show(const ATrayIcon: TCustomTrayIcon): Boolean; override;
class procedure InternalUpdate(const ATrayIcon: TCustomTrayIcon); override;
class function ShowBalloonHint(const ATrayIcon: TCustomTrayIcon): Boolean; override;
class function GetPosition(const ATrayIcon: TCustomTrayIcon): TPoint; override;
end;
implementation
{ TCDWSCustomRadioGroup }
(*{------------------------------------------------------------------------------
Method: TCDWSCustomRadioGroup.CreateHandle
Params: None
Returns: Nothing
Allocates memory and resources for the control and shows it
------------------------------------------------------------------------------}
class function TCDWSCustomRadioGroup.CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): TLCLHandle;
var
QtGroupBox: TQtGroupBox;
Str: WideString;
begin
QtGroupBox := TQtGroupBox.Create(AWinControl, AParams);
QtGroupBox.GroupBoxType := tgbtRadioGroup;
Str := GetUtf8String(AWinControl.Caption);
QGroupBox_setTitle(QGroupBoxH(QtGroupBox.Widget), @Str);
QtGroupBox.AttachEvents;
Result := TLCLHandle(QtGroupBox);
end;
{ TCDWSCustomCheckGroup }
{------------------------------------------------------------------------------
Method: TCDWSCustomCheckGroup.CreateHandle
Params: None
Returns: Nothing
Allocates memory and resources for the control and shows it
------------------------------------------------------------------------------}
class function TCDWSCustomCheckGroup.CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): TLCLHandle;
var
QtGroupBox: TQtGroupBox;
Str: WideString;
begin
QtGroupBox := TQtGroupBox.Create(AWinControl, AParams);
QtGroupBox.GroupBoxType := tgbtCheckGroup;
Str := GetUtf8String(AWinControl.Caption);
QGroupBox_setTitle(QGroupBoxH(QtGroupBox.Widget), @Str);
QtGroupBox.AttachEvents;
Result := TLCLHandle(QtGroupBox);
end; *)
{ TCDWSCustomPanel }
{------------------------------------------------------------------------------
Method: TCDWSCustomPanel.CreateHandle
Params: None
Returns: Nothing
Allocates memory and resources for the control and shows it
------------------------------------------------------------------------------}
class function TCDWSCustomPanel.CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): TLCLHandle;
var
lCDWinControl: TCDWinControl;
begin
Result := TCDWSWinControl.CreateHandle(AWinControl, AParams);
lCDWinControl := TCDWinControl(Result);
end;
{ TCDWSCustomTrayIcon }
{$ifdef CD_Windows}
{$I customdrawntrayicon_win.inc}
{$endif}
{$ifdef CD_Cocoa}
{$I customdrawntrayicon_cocoa.inc}
{$endif}
{$ifdef CD_X11}
{$I customdrawntrayicon_x11.inc}
{$endif}
{$ifdef CD_Android}
{$I customdrawntrayicon_android.inc}
{$endif}
end.