mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-06 07:37:58 +02:00
251 lines
6.2 KiB
ObjectPascal
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.
|