You've already forked lazarus-ccr
Initial import.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@272 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
16
components/jvcllaz/devtools/JvExVCL/Readme.txt
Normal file
16
components/jvcllaz/devtools/JvExVCL/Readme.txt
Normal file
@ -0,0 +1,16 @@
|
||||
Directory structure
|
||||
-------------------
|
||||
.\ preprocessed files
|
||||
source\ source files that must be preprocessed
|
||||
|
||||
|
||||
Files
|
||||
-----
|
||||
.\jpp.exe JCL pascal preprocessor
|
||||
.\preprocess.bat preprocess the source\JvExXxx files
|
||||
.\Readme.txt this file
|
||||
source\dpp.exe Delphi language preprocessor (http://www.sf.net/projects/dpp32)
|
||||
source\build.pas used for preprocessing
|
||||
source\JvExControls.pas base system and interfaces
|
||||
source\JvExXxx extended VCL classes for the VCL controls
|
||||
source\JvExControls.macros macros used by the preprocessor
|
37
components/jvcllaz/devtools/JvExVCL/preprocess.bat
Normal file
37
components/jvcllaz/devtools/JvExVCL/preprocess.bat
Normal file
@ -0,0 +1,37 @@
|
||||
@echo off
|
||||
|
||||
SET OUTDIR=..\..\..\run
|
||||
|
||||
cd src
|
||||
|
||||
|
||||
SET FILE=.\build
|
||||
if NOT "-%1" == "-" SET FILE=%1
|
||||
echo Preprocessing template: %FILE%.pas
|
||||
dpp.exe .\%FILE%.pas -I..\..\..\common >NUL
|
||||
|
||||
if "%FILE%" == ".\build" GOTO ALL
|
||||
|
||||
move %FILE%.i.pas %OUTDIR%\%FILE%.pas
|
||||
|
||||
|
||||
goto LEAVE
|
||||
:ALL
|
||||
|
||||
move JvExButtons.i.pas %OUTDIR%\JvExButtons.pas
|
||||
move JvExCheckLst.i.pas %OUTDIR%\JvExCheckLst.pas
|
||||
move JvExComCtrls.i.pas %OUTDIR%\JvExComCtrls.pas
|
||||
move JvExControls.i.pas %OUTDIR%\JvExControls.pas
|
||||
REM move JvExDBCtrls.i.pas %OUTDIR%\JvExDBCtrls.pas
|
||||
move JvExDBGrids.i.pas %OUTDIR%\JvExDBGrids.pas
|
||||
move JvExExtCtrls.i.pas %OUTDIR%\JvExExtCtrls.pas
|
||||
move JvExForms.i.pas %OUTDIR%\JvExForms.pas
|
||||
move JvExGrids.i.pas %OUTDIR%\JvExGrids.pas
|
||||
move JvExMask.i.pas %OUTDIR%\JvExMask.pas
|
||||
move JvExStdCtrls.i.pas %OUTDIR%\JvExStdCtrls.pas
|
||||
|
||||
cd ..
|
||||
|
||||
:LEAVE
|
||||
SET FILE=
|
||||
SET OUTDIR=
|
594
components/jvcllaz/devtools/JvExVCL/src/JvExControls.macros
Normal file
594
components/jvcllaz/devtools/JvExVCL/src/JvExControls.macros
Normal file
@ -0,0 +1,594 @@
|
||||
|
||||
// This comment is inserted into every JvExXxx.pas file
|
||||
(*$DEFINE WARNINGHEADER
|
||||
{*****************************************************************************
|
||||
* WARNING: Do not edit this file.
|
||||
* This file is autogenerated from the source in devtools/JvExVCL/src.
|
||||
* If you do it despite this warning your changes will be discarded by the next
|
||||
* update of this file. Do your changes in the template files.
|
||||
****************************************************************************}
|
||||
{$D-} // do not step into this unit
|
||||
*)
|
||||
|
||||
// *************************************************************************
|
||||
// *************************** INTERFACE MACROS ****************************
|
||||
// *************************************************************************
|
||||
|
||||
(*$DEFINE COMMON_PUBLISHED
|
||||
published
|
||||
property BiDiMode;
|
||||
property DragCursor;
|
||||
property DragKind;
|
||||
property DragMode;
|
||||
property ParentBiDiMode;
|
||||
property OnEndDock;
|
||||
property OnStartDock;
|
||||
*)
|
||||
|
||||
// ****************** Control ************************
|
||||
(*$DEFINE CONTROL_DECL
|
||||
private
|
||||
// TODO:
|
||||
// FAboutJVCL: TJVCLAboutInfo;
|
||||
FHintColor: TColor;
|
||||
FMouseOver: Boolean;
|
||||
FHintWindowClass: THintWindowClass;
|
||||
FOnMouseEnter: TNotifyEvent;
|
||||
FOnMouseLeave: TNotifyEvent;
|
||||
FOnParentColorChanged: TNotifyEvent;
|
||||
function BaseWndProc(Msg: Integer; WParam: Integer = 0; LParam: Longint = 0): Integer; overload;
|
||||
function BaseWndProc(Msg: Integer; WParam: Integer; LParam: TControl): Integer; overload;
|
||||
function BaseWndProcEx(Msg: Integer; WParam: Integer; var LParam): Integer;
|
||||
protected
|
||||
procedure WndProc(var Msg: TLMessage); override;
|
||||
procedure FocusChanged(AControl: TWinControl); dynamic;
|
||||
procedure VisibleChanged; reintroduce; dynamic;
|
||||
procedure EnabledChanged; reintroduce; dynamic;
|
||||
procedure TextChanged; reintroduce; virtual;
|
||||
procedure ColorChanged; reintroduce; dynamic;
|
||||
procedure FontChanged; reintroduce; dynamic;
|
||||
procedure ParentFontChanged; reintroduce; dynamic;
|
||||
procedure ParentColorChanged; reintroduce; dynamic;
|
||||
procedure ParentShowHintChanged; reintroduce; dynamic;
|
||||
function WantKey(Key: Integer; Shift: TShiftState; const KeyText: WideString): Boolean; reintroduce; virtual;
|
||||
function HintShow(var HintInfo: THintInfo): Boolean; reintroduce; dynamic;
|
||||
function HitTest(X, Y: Integer): Boolean; reintroduce; virtual;
|
||||
procedure MouseEnter(AControl: TControl); reintroduce; dynamic;
|
||||
procedure MouseLeave(AControl: TControl); reintroduce; dynamic;
|
||||
property MouseOver: Boolean read FMouseOver write FMouseOver;
|
||||
property HintColor: TColor read FHintColor write FHintColor default clDefault;
|
||||
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
|
||||
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
|
||||
property OnParentColorChange: TNotifyEvent read FOnParentColorChanged write FOnParentColorChanged;
|
||||
function GetCaption: TCaption; virtual;
|
||||
procedure SetCaption(Value: TCaption); virtual;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
property Caption: TCaption read GetCaption write SetCaption;
|
||||
property HintWindowClass: THintWindowClass read FHintWindowClass write FHintWindowClass;
|
||||
published
|
||||
// TODO:
|
||||
// property AboutJVCL: TJVCLAboutInfo read FAboutJVCL write FAboutJVCL stored False;
|
||||
*)
|
||||
|
||||
// ****************** WinControl *********************
|
||||
((*$DEFINE WINCONTROL_DECL
|
||||
CONTROL_DECL
|
||||
private
|
||||
FDotNetHighlighting: Boolean;
|
||||
protected
|
||||
procedure BoundsChanged; reintroduce; virtual;
|
||||
procedure CursorChanged; reintroduce; dynamic;
|
||||
procedure ShowingChanged; reintroduce; dynamic;
|
||||
procedure ShowHintChanged; reintroduce; dynamic;
|
||||
procedure ControlsListChanging(Control: TControl; Inserting: Boolean); reintroduce; dynamic;
|
||||
procedure ControlsListChanged(Control: TControl; Inserting: Boolean); reintroduce; dynamic;
|
||||
procedure GetDlgCode(var Code: TDlgCodes); virtual;
|
||||
procedure FocusSet(PrevWnd: THandle); virtual;
|
||||
procedure FocusKilled(NextWnd: THandle); virtual;
|
||||
function DoEraseBackground(ACanvas: TCanvas; Param: Integer): Boolean; virtual;
|
||||
published
|
||||
property DotNetHighlighting: Boolean read FDotNetHighlighting write FDotNetHighlighting default False;
|
||||
*)
|
||||
|
||||
// ****************** EditControl ********************
|
||||
(*$DEFINE EDITCONTROL_DECL
|
||||
WINCONTROL_DECL
|
||||
private
|
||||
FClipboardCommands: TJvClipboardCommands;
|
||||
protected
|
||||
procedure SetClipboardCommands(const Value: TJvClipboardCommands); virtual;
|
||||
property ClipboardCommands: TJvClipboardCommands read FClipboardCommands write SetClipboardCommands default [caCopy..caUndo];
|
||||
*)
|
||||
|
||||
// *************************************************************************
|
||||
// *************************************************************************
|
||||
|
||||
// ****************** Default-Helpers ********************
|
||||
|
||||
// TJvEx##ClassName = class(T##ClassName, IJvExControl)
|
||||
(*$DEFINE CONTROL_DECL_DEFAULT(ClassName)
|
||||
TJvEx##ClassName = class(T##ClassName)
|
||||
CONTROL_DECL
|
||||
end;
|
||||
*)
|
||||
|
||||
// TJvEx##ClassName = class(T##ClassName, IJvExControl)
|
||||
(*$DEFINE WINCONTROL_DECL_DEFAULT(ClassName)
|
||||
TJvEx##ClassName = class(T##ClassName)
|
||||
WINCONTROL_DECL
|
||||
end;
|
||||
*)
|
||||
|
||||
// TJvEx##ClassName = class(T##ClassName, IJvExControl)
|
||||
(*$DEFINE EDITCONTROL_DECL_DEFAULT(ClassName)
|
||||
TJvEx##ClassName = class(T##ClassName)
|
||||
EDITCONTROL_DECL
|
||||
end;
|
||||
*)
|
||||
|
||||
// *************************************************************************
|
||||
// ************************ IMPLEMENTATION MACROS **************************
|
||||
// *************************************************************************
|
||||
|
||||
// ****************** Constructors *******************
|
||||
(*$DEFINE BEGIN_CONTROL_CONSTRUCTOR(ClassName)
|
||||
constructor TJvEx##ClassName.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
FHintColor := clDefault;
|
||||
*)
|
||||
|
||||
(*$DEFINE BEGIN_WINCONTROL_CONSTRUCTOR(ClassName)
|
||||
BEGIN_CONTROL_CONSTRUCTOR(ClassName)
|
||||
*)
|
||||
|
||||
(*$DEFINE BEGIN_EDITCONTROL_CONSTRUCTOR(ClassName)
|
||||
BEGIN_WINCONTROL_CONSTRUCTOR(ClassName)
|
||||
FClipboardCommands := [caCopy..caUndo];
|
||||
*)
|
||||
|
||||
(*$DEFINE END_CONSTRUCTOR
|
||||
end;
|
||||
*)
|
||||
|
||||
// ****************** Control implementation *******************
|
||||
(*$DEFINE CONTROL_IMPL(ClassName)
|
||||
function TJvEx##ClassName.BaseWndProc(Msg: Integer; WParam: Integer = 0; LParam: Longint = 0): Integer;
|
||||
var
|
||||
Mesg: TLMessage;
|
||||
begin
|
||||
Mesg := CreateWMMessage(Msg, WParam, LParam);
|
||||
inherited WndProc(Mesg);
|
||||
Result := Mesg.Result;
|
||||
end;
|
||||
|
||||
function TJvEx##ClassName.BaseWndProc(Msg: Integer; WParam: Integer; LParam: TControl): Integer;
|
||||
var
|
||||
Mesg: TLMessage;
|
||||
begin
|
||||
Mesg := CreateWMMessage(Msg, WParam, LParam);
|
||||
inherited WndProc(Mesg);
|
||||
Result := Mesg.Result;
|
||||
end;
|
||||
|
||||
function TJvEx##ClassName.BaseWndProcEx(Msg: Integer; WParam: Integer; var LParam): Integer;
|
||||
var
|
||||
Mesg: TStructPtrMessage;
|
||||
begin
|
||||
Mesg := TStructPtrMessage.Create(Msg, WParam, LParam);
|
||||
try
|
||||
inherited WndProc(Mesg.Msg);
|
||||
finally
|
||||
Result := Mesg.Msg.Result;
|
||||
Mesg.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.VisibleChanged;
|
||||
begin
|
||||
BaseWndProc(CM_VISIBLECHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.EnabledChanged;
|
||||
begin
|
||||
BaseWndProc(CM_ENABLEDCHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.TextChanged;
|
||||
begin
|
||||
BaseWndProc(CM_TEXTCHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.FontChanged;
|
||||
begin
|
||||
BaseWndProc(CM_FONTCHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.ColorChanged;
|
||||
begin
|
||||
BaseWndProc(CM_COLORCHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.ParentFontChanged;
|
||||
begin
|
||||
// LCL doesn't send this message but left it in case
|
||||
//BaseWndProc(CM_PARENTFONTCHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.ParentColorChanged;
|
||||
begin
|
||||
BaseWndProc(CM_PARENTCOLORCHANGED);
|
||||
if Assigned(OnParentColorChange) then
|
||||
OnParentColorChange(Self);
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.ParentShowHintChanged;
|
||||
begin
|
||||
BaseWndProc(CM_PARENTSHOWHINTCHANGED);
|
||||
end;
|
||||
|
||||
function TJvEx##ClassName.WantKey(Key: Integer; Shift: TShiftState; const KeyText: WideString): Boolean;
|
||||
begin
|
||||
Result := BaseWndProc(CM_DIALOGCHAR, Word(Key), ShiftStateToKeyData(Shift)) <> 0;
|
||||
end;
|
||||
|
||||
function TJvEx##ClassName.HitTest(X, Y: Integer): Boolean;
|
||||
begin
|
||||
Result := BaseWndProc(CM_HITTEST, 0, SmallPointToLong(PointToSmallPoint(Point(X, Y)))) <> 0;
|
||||
end;
|
||||
|
||||
function TJvEx##ClassName.HintShow(var HintInfo: THintInfo): Boolean;
|
||||
begin
|
||||
GetHintColor(HintInfo, Self, FHintColor);
|
||||
if FHintWindowClass <> nil then
|
||||
HintInfo.HintWindowClass := FHintWindowClass;
|
||||
Result := BaseWndProcEx(CM_HINTSHOW, 0, HintInfo) <> 0;
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.MouseEnter(AControl: TControl);
|
||||
begin
|
||||
FMouseOver := True;
|
||||
if Assigned(FOnMouseEnter) then
|
||||
FOnMouseEnter(Self);
|
||||
BaseWndProc(CM_MOUSEENTER, 0, AControl);
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.MouseLeave(AControl: TControl);
|
||||
begin
|
||||
FMouseOver := False;
|
||||
BaseWndProc(CM_MOUSELEAVE, 0, AControl);
|
||||
if Assigned(FOnMouseLeave) then
|
||||
FOnMouseLeave(Self);
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.FocusChanged(AControl: TWinControl);
|
||||
begin
|
||||
BaseWndProc(CM_FOCUSCHANGED, 0, AControl);
|
||||
end;
|
||||
|
||||
function TJvEx##ClassName.GetCaption: TCaption;
|
||||
begin
|
||||
Result := inherited Caption;
|
||||
end;
|
||||
|
||||
// 25.09.2007 - SESS:
|
||||
// I have done this because TextChanged wasn't fired as expected.
|
||||
// I still don't shure if this problem is only for this reintroduced
|
||||
// method because the way LCL treats Caption or will have the same
|
||||
// problem with other reintroduced methods. So far, I tested some
|
||||
// other events and seems not.
|
||||
procedure TJvEx##ClassName.SetCaption(Value: TCaption);
|
||||
begin
|
||||
inherited Caption := Value;
|
||||
TextChanged;
|
||||
end;
|
||||
*)
|
||||
|
||||
// ****************** WinControl implementation *******************
|
||||
((*$DEFINE WINCONTROL_IMPL(ClassName)
|
||||
CONTROL_IMPL(ClassName)
|
||||
|
||||
procedure TJvEx##ClassName.BoundsChanged;
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.CursorChanged;
|
||||
begin
|
||||
BaseWndProc(CM_CURSORCHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.ShowingChanged;
|
||||
begin
|
||||
BaseWndProc(CM_SHOWINGCHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.ShowHintChanged;
|
||||
begin
|
||||
BaseWndProc(CM_SHOWHINTCHANGED);
|
||||
end;
|
||||
|
||||
{ VCL sends CM_CONTROLLISTCHANGE and CM_CONTROLCHANGE in a different order than
|
||||
the CLX methods are used. So we must correct it by evaluating "Inserting". }
|
||||
procedure TJvEx##ClassName.ControlsListChanging(Control: TControl; Inserting: Boolean);
|
||||
begin
|
||||
if Inserting then
|
||||
BaseWndProc(CM_CONTROLLISTCHANGE, Integer(Control), Integer(Inserting))
|
||||
else
|
||||
BaseWndProc(CM_CONTROLCHANGE, Integer(Control), Integer(Inserting));
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.ControlsListChanged(Control: TControl; Inserting: Boolean);
|
||||
begin
|
||||
if not Inserting then
|
||||
BaseWndProc(CM_CONTROLLISTCHANGE, Integer(Control), Integer(Inserting))
|
||||
else
|
||||
BaseWndProc(CM_CONTROLCHANGE, Integer(Control), Integer(Inserting));
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.GetDlgCode(var Code: TDlgCodes);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.FocusSet(PrevWnd: THandle);
|
||||
begin
|
||||
BaseWndProc(LM_SETFOCUS, Integer(PrevWnd), 0);
|
||||
end;
|
||||
|
||||
procedure TJvEx##ClassName.FocusKilled(NextWnd: THandle);
|
||||
begin
|
||||
BaseWndProc(LM_KILLFOCUS, Integer(NextWnd), 0);
|
||||
end;
|
||||
|
||||
function TJvEx##ClassName.DoEraseBackground(ACanvas: TCanvas; Param: Integer): Boolean;
|
||||
begin
|
||||
Result := BaseWndProc(LM_ERASEBKGND, ACanvas.Handle, Param) <> 0;
|
||||
end;
|
||||
*)
|
||||
|
||||
|
||||
// ****************** EditControl implementation *******************
|
||||
(*$DEFINE EDITCONTROL_IMPL(ClassName)
|
||||
WINCONTROL_IMPL(ClassName)
|
||||
|
||||
procedure TJvEx##ClassName.SetClipboardCommands(const Value: TJvClipboardCommands);
|
||||
begin
|
||||
FClipboardCommands := Value;
|
||||
end;
|
||||
*)
|
||||
|
||||
// *********************************************************************
|
||||
// *********************************************************************
|
||||
|
||||
// ****************** Control WndProc implementation *******************
|
||||
(*$DEFINE CONTROL_WNDPROC_CASES
|
||||
{
|
||||
// TODO: do we need this? I think not...
|
||||
CM_DENYSUBCLASSING:
|
||||
Msg.Result := Ord(GetInterfaceEntry(IJvDenySubClassing) <> nil);
|
||||
}
|
||||
CM_DIALOGCHAR:
|
||||
with TCMDialogChar(Msg) do
|
||||
Result := Ord(WantKey(CharCode, KeyDataToShiftState(KeyData), WideChar(CharCode)));
|
||||
CM_HINTSHOW:
|
||||
with TCMHintShow(Msg) do
|
||||
Result := Integer(HintShow(HintInfo^));
|
||||
CM_HITTEST:
|
||||
with TCMHitTest(Msg) do
|
||||
Result := Integer(HitTest(XPos, YPos));
|
||||
CM_MOUSEENTER:
|
||||
MouseEnter(TControl(Msg.LParam));
|
||||
CM_MOUSELEAVE:
|
||||
MouseLeave(TControl(Msg.LParam));
|
||||
CM_VISIBLECHANGED:
|
||||
VisibleChanged;
|
||||
CM_ENABLEDCHANGED:
|
||||
EnabledChanged;
|
||||
// LCL doesn't send this message but left it in case
|
||||
CM_TEXTCHANGED:
|
||||
TextChanged;
|
||||
CM_FONTCHANGED:
|
||||
FontChanged;
|
||||
CM_COLORCHANGED:
|
||||
ColorChanged;
|
||||
CM_FOCUSCHANGED:
|
||||
FocusChanged(TWinControl(Msg.LParam));
|
||||
// LCL doesn't send this message but left it in case
|
||||
//CM_PARENTFONTCHANGED:
|
||||
// ParentFontChanged;
|
||||
CM_PARENTCOLORCHANGED:
|
||||
ParentColorChanged;
|
||||
CM_PARENTSHOWHINTCHANGED:
|
||||
ParentShowHintChanged;
|
||||
*)
|
||||
|
||||
(*$DEFINE CONTROL_WNDPROC(ClassName)
|
||||
procedure TJvEx##ClassName.WndProc(var Msg: TLMessage);
|
||||
begin
|
||||
if not DispatchIsDesignMsg(Self, Msg) then
|
||||
case Msg.Msg of
|
||||
CONTROL_WNDPROC_CASES
|
||||
else
|
||||
inherited WndProc(Msg);
|
||||
end;
|
||||
end;
|
||||
*)
|
||||
|
||||
// ****************** WinControl WndProc implementation *******************
|
||||
(*$DEFINE WINCONTROL_WNDPROC_CASES
|
||||
CONTROL_WNDPROC_CASES
|
||||
CM_CURSORCHANGED:
|
||||
CursorChanged;
|
||||
CM_SHOWINGCHANGED:
|
||||
ShowingChanged;
|
||||
CM_SHOWHINTCHANGED:
|
||||
ShowHintChanged;
|
||||
CM_CONTROLLISTCHANGE:
|
||||
if Msg.LParam <> 0 then
|
||||
ControlsListChanging(TControl(Msg.WParam), True)
|
||||
else
|
||||
ControlsListChanged(TControl(Msg.WParam), False);
|
||||
CM_CONTROLCHANGE:
|
||||
if Msg.LParam = 0 then
|
||||
ControlsListChanging(TControl(Msg.WParam), False)
|
||||
else
|
||||
ControlsListChanged(TControl(Msg.WParam), True);
|
||||
LM_SETFOCUS:
|
||||
FocusSet(THandle(Msg.WParam));
|
||||
LM_KILLFOCUS:
|
||||
FocusKilled(THandle(Msg.WParam));
|
||||
LM_SIZE:
|
||||
begin
|
||||
inherited WndProc(Msg);
|
||||
BoundsChanged;
|
||||
end;
|
||||
LM_ERASEBKGND:
|
||||
if Msg.WParam <> 0 then
|
||||
begin
|
||||
IdSaveDC := SaveDC(HDC(Msg.WParam)); // protect DC against Stock-Objects from Canvas
|
||||
WCanvas := TCanvas.Create;
|
||||
try
|
||||
WCanvas.Handle := HDC(Msg.WParam);
|
||||
Msg.Result := Ord(DoEraseBackground(WCanvas, Msg.LParam));
|
||||
finally
|
||||
WCanvas.Handle := 0;
|
||||
WCanvas.Free;
|
||||
RestoreDC(HDC(Msg.WParam), IdSaveDC);
|
||||
end;
|
||||
end
|
||||
else
|
||||
inherited WndProc(Msg);
|
||||
LM_GETDLGCODE:
|
||||
begin
|
||||
inherited WndProc(Msg);
|
||||
DlgCodes := [dcNative] + DlgcToDlgCodes(Msg.Result);
|
||||
GetDlgCode(DlgCodes);
|
||||
if not (dcNative in DlgCodes) then
|
||||
Msg.Result := DlgCodesToDlgc(DlgCodes);
|
||||
end;
|
||||
*)
|
||||
|
||||
(*$DEFINE WINCONTROL_WNDPROC(ClassName)
|
||||
procedure TJvEx##ClassName.WndProc(var Msg: TLMessage);
|
||||
var
|
||||
IdSaveDC: Integer;
|
||||
DlgCodes: TDlgCodes;
|
||||
WCanvas: TCanvas;
|
||||
begin
|
||||
if not DispatchIsDesignMsg(Self, Msg) then
|
||||
begin
|
||||
case Msg.Msg of
|
||||
WINCONTROL_WNDPROC_CASES
|
||||
else
|
||||
inherited WndProc(Msg);
|
||||
end;
|
||||
// TODO:
|
||||
// LM_NCPAINT isn't send by LCL, may be .Net highlighting can't be implemented.
|
||||
case Msg.Msg of // precheck message to prevent access violations on released controls
|
||||
CM_MOUSEENTER, CM_MOUSELEAVE, LM_KILLFOCUS, LM_SETFOCUS, LM_NCPAINT:
|
||||
if DotNetHighlighting then
|
||||
HandleDotNetHighlighting(Self, Msg, MouseOver, Color);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
*)
|
||||
|
||||
// ****************** EditControl WndProc implementation *******************
|
||||
(*$DEFINE EDITCONTROL_WNDPROC_CASES
|
||||
WINCONTROL_WNDPROC_CASES
|
||||
{
|
||||
// TODO: convert to LCL messages
|
||||
WM_CLEAR:
|
||||
if caClear in ClipboardCommands then
|
||||
inherited WndProc(Msg)
|
||||
else
|
||||
Msg.Result := 1;
|
||||
WM_UNDO, EM_UNDO:
|
||||
if caUndo in ClipboardCommands then
|
||||
inherited WndProc(Msg)
|
||||
else
|
||||
Msg.Result := 1;
|
||||
WM_COPY:
|
||||
if caCopy in ClipboardCommands then
|
||||
inherited WndProc(Msg)
|
||||
else
|
||||
Msg.Result := 1;
|
||||
WM_CUT:
|
||||
if caCut in ClipboardCommands then
|
||||
inherited WndProc(Msg)
|
||||
else
|
||||
Msg.Result := 1;
|
||||
WM_PASTE:
|
||||
if caPaste in ClipboardCommands then
|
||||
inherited WndProc(Msg)
|
||||
else
|
||||
Msg.Result := 1;
|
||||
}
|
||||
*)
|
||||
|
||||
(*$DEFINE EDITCONTROL_WNDPROC(ClassName)
|
||||
procedure TJvEx##ClassName.WndProc(var Msg: TLMessage);
|
||||
var
|
||||
IdSaveDC: Integer;
|
||||
DlgCodes: TDlgCodes;
|
||||
WCanvas: TCanvas;
|
||||
begin
|
||||
if not DispatchIsDesignMsg(Self, Msg) then
|
||||
begin
|
||||
case Msg.Msg of
|
||||
EDITCONTROL_WNDPROC_CASES
|
||||
else
|
||||
inherited WndProc(Msg);
|
||||
end;
|
||||
// TODO:
|
||||
// LM_NCPAINT isn't send by LCL, may be .Net highlighting can't be implemented.
|
||||
case Msg.Msg of // precheck message to prevent access violations on released controls
|
||||
CM_MOUSEENTER, CM_MOUSELEAVE, LM_KILLFOCUS, LM_SETFOCUS, LM_NCPAINT:
|
||||
if DotNetHighlighting then
|
||||
HandleDotNetHighlighting(Self, Msg, MouseOver, Color);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
*)
|
||||
|
||||
// *************************************************************************
|
||||
// *************************************************************************
|
||||
|
||||
// ****************** Default-Helpers ********************
|
||||
|
||||
(*$DEFINE CONTROL_IMPL_DEFAULT(ClassName)
|
||||
BEGIN_CONTROL_CONSTRUCTOR(ClassName)
|
||||
END_CONSTRUCTOR
|
||||
|
||||
CONTROL_IMPL(ClassName)
|
||||
|
||||
CONTROL_WNDPROC(ClassName)
|
||||
|
||||
//============================================================================
|
||||
|
||||
*)
|
||||
|
||||
(*$DEFINE WINCONTROL_IMPL_DEFAULT(ClassName)
|
||||
BEGIN_WINCONTROL_CONSTRUCTOR(ClassName)
|
||||
END_CONSTRUCTOR
|
||||
|
||||
WINCONTROL_IMPL(ClassName)
|
||||
|
||||
WINCONTROL_WNDPROC(ClassName)
|
||||
|
||||
//============================================================================
|
||||
|
||||
*)
|
||||
|
||||
(*$DEFINE EDITCONTROL_IMPL_DEFAULT(ClassName)
|
||||
BEGIN_EDITCONTROL_CONSTRUCTOR(ClassName)
|
||||
END_CONSTRUCTOR
|
||||
|
||||
EDITCONTROL_IMPL(ClassName)
|
||||
|
||||
EDITCONTROL_WNDPROC(ClassName)
|
||||
|
||||
//============================================================================
|
||||
|
||||
*)
|
||||
|
479
components/jvcllaz/devtools/JvExVCL/src/JvExControls.pas
Normal file
479
components/jvcllaz/devtools/JvExVCL/src/JvExControls.pas
Normal file
@ -0,0 +1,479 @@
|
||||
{-----------------------------------------------------------------------------
|
||||
The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
|
||||
the specific language governing rights and limitations under the License.
|
||||
|
||||
The Original Code is: JvExControls.pas, released on 2004-01-04
|
||||
|
||||
The Initial Developer of the Original Code is Andreas Hausladen [Andreas dott Hausladen att gmx dott de]
|
||||
Portions created by Andreas Hausladen are Copyright (C) 2004 Andreas Hausladen.
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s): -
|
||||
dejoy.
|
||||
|
||||
You may retrieve the latest version of this file at the Project JEDI's JVCL home page,
|
||||
located at http://jvcl.sourceforge.net
|
||||
|
||||
Known Issues:
|
||||
-----------------------------------------------------------------------------}
|
||||
// $Id: JvExControls.pas 11400 2007-06-28 21:24:06Z ahuser $
|
||||
// Initial port to Lazarus by Sergio Samayoa - september 2007.
|
||||
// Conversion is done in incremental way: as types / classes / routines
|
||||
// are needed they are converted.
|
||||
// TODO: Make this unit generated by template as JVCL's.
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
unit JvExControls;
|
||||
{MACROINCLUDE JvExControls.macros}
|
||||
|
||||
{*****************************************************************************
|
||||
* WARNING: Do not edit this file.
|
||||
* This file is autogenerated from the source in devtools/JvExVCL/src.
|
||||
* If you do it despite this warning your changes will be discarded by the next
|
||||
* update of this file. Do your changes in the template files.
|
||||
****************************************************************************}
|
||||
{$D-} // do not step into this unit
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Controls, Graphics, LCLIntf, LCLType, LMessages, Forms;
|
||||
|
||||
type
|
||||
TDlgCode =
|
||||
(dcWantAllKeys, dcWantArrows, dcWantChars, dcButton, dcHasSetSel, dcWantTab,
|
||||
dcNative); // if dcNative is in the set the native allowed keys are used and GetDlgCode is ignored
|
||||
TDlgCodes = set of TDlgCode;
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
const
|
||||
dcWantMessage = dcWantAllKeys;
|
||||
|
||||
const
|
||||
CM_DENYSUBCLASSING = JvThemes.CM_DENYSUBCLASSING;
|
||||
CM_PERFORM = CM_BASE + $500 + 0; // LParam: "Msg: ^TMessage"
|
||||
CM_SETAUTOSIZE = CM_BASE + $500 + 1; // WParam: "Value: Boolean"
|
||||
|
||||
type
|
||||
TJvHotTrackOptions = class;
|
||||
|
||||
{ IJvExControl is used for the identification of an JvExXxx control. }
|
||||
IJvExControl = interface
|
||||
['{8E6579C3-D683-4562-AFAB-D23C8526E386}']
|
||||
end;
|
||||
|
||||
{ Add IJvDenySubClassing to the base class list if the control should not
|
||||
be themed by the ThemeManager (http://www.soft-gems.net Mike Lischke).
|
||||
This only works with JvExVCL derived classes. }
|
||||
IJvDenySubClassing = interface
|
||||
['{76942BC0-2A6E-4DC4-BFC9-8E110DB7F601}']
|
||||
end;
|
||||
|
||||
|
||||
{ IJvHotTrack is Specifies whether Control are highlighted when the mouse passes over them}
|
||||
IJvHotTrack = interface
|
||||
['{8F1B40FB-D8E3-46FE-A7A3-21CE4B199A8F}']
|
||||
|
||||
function GetHotTrack:Boolean;
|
||||
function GetHotTrackFont:TFont;
|
||||
function GetHotTrackFontOptions:TJvTrackFontOptions;
|
||||
function GetHotTrackOptions:TJvHotTrackOptions;
|
||||
|
||||
procedure SetHotTrack(Value: Boolean);
|
||||
procedure SetHotTrackFont(Value: TFont);
|
||||
procedure SetHotTrackFontOptions(Value: TJvTrackFontOptions);
|
||||
procedure SetHotTrackOptions(Value: TJvHotTrackOptions);
|
||||
|
||||
property HotTrack: Boolean read GetHotTrack write SetHotTrack;
|
||||
property HotTrackFont: TFont read GetHotTrackFont write SetHotTrackFont;
|
||||
property HotTrackFontOptions: TJvTrackFontOptions read GetHotTrackFontOptions write SetHotTrackFontOptions;
|
||||
property HotTrackOptions: TJvHotTrackOptions read GetHotTrackOptions write SetHotTrackOptions;
|
||||
end;
|
||||
|
||||
TJvHotTrackOptions = class(TJvPersistentProperty)
|
||||
private
|
||||
FEnabled: Boolean;
|
||||
FFrameVisible: Boolean;
|
||||
FColor: TColor;
|
||||
FFrameColor: TColor;
|
||||
procedure SetColor(Value: TColor);
|
||||
procedure SetEnabled(Value: Boolean);
|
||||
procedure SetFrameColor(Value: TColor);
|
||||
procedure SetFrameVisible(Value: Boolean);
|
||||
public
|
||||
constructor Create; virtual;
|
||||
procedure Assign(Source: TPersistent); override;
|
||||
published
|
||||
property Enabled: Boolean read FEnabled write SetEnabled default False;
|
||||
property Color: TColor read FColor write SetColor default $00D2BDB6;
|
||||
property FrameVisible: Boolean read FFrameVisible write SetFrameVisible default False;
|
||||
property FrameColor: TColor read FFrameColor write SetFrameColor default $006A240A;
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
type
|
||||
TStructPtrMessage = class(TObject)
|
||||
private
|
||||
public
|
||||
Msg: TLMessage;
|
||||
constructor Create(AMsg: Integer; WParam: Integer; var LParam);
|
||||
end;
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//procedure SetDotNetFrameColors(FocusedColor, UnfocusedColor: TColor);
|
||||
|
||||
procedure DrawDotNetControl(Control: TWinControl; AColor: TColor; InControl: Boolean);
|
||||
procedure HandleDotNetHighlighting(Control: TWinControl; const Msg: TLMessage;
|
||||
MouseOver: Boolean; Color: TColor);
|
||||
function CreateWMMessage(Msg: Integer; WParam: Integer; LParam: Longint): TLMessage; overload; {$IFDEF SUPPORTS_INLINE} inline {$ENDIF}
|
||||
function CreateWMMessage(Msg: Integer; WParam: Integer; LParam: TControl): TLMessage; overload; {$IFDEF SUPPORTS_INLINE} inline {$ENDIF}
|
||||
function SmallPointToLong(const Pt: TSmallPoint): Longint; {$IFDEF SUPPORTS_INLINE} inline {$ENDIF}
|
||||
function ShiftStateToKeyData(Shift: TShiftState): Longint;
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//function GetFocusedControl(AControl: TControl): TWinControl;
|
||||
|
||||
function DlgcToDlgCodes(Value: Longint): TDlgCodes;
|
||||
function DlgCodesToDlgc(Value: TDlgCodes): Longint;
|
||||
procedure GetHintColor(var HintInfo: THintInfo; AControl: TControl; HintColor: TColor);
|
||||
function DispatchIsDesignMsg(Control: TControl; var Msg: TLMessage): Boolean;
|
||||
|
||||
type
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_DECL_DEFAULT(Control)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(WinControl)
|
||||
|
||||
WINCONTROL_DECL_DEFAULT(CustomControl)
|
||||
|
||||
CONTROL_DECL_DEFAULT(GraphicControl)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(HintWindow)
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
TJvExPubGraphicControl = class(TJvExGraphicControl)
|
||||
COMMON_PUBLISHED
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
implementation
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
uses
|
||||
TypInfo;
|
||||
|
||||
var
|
||||
InternalFocusedColor: TColor = TColor($00733800);
|
||||
InternalUnfocusedColor: TColor = clGray;
|
||||
|
||||
procedure SetDotNetFrameColors(FocusedColor, UnfocusedColor: TColor);
|
||||
begin
|
||||
InternalFocusedColor := FocusedColor;
|
||||
InternalUnfocusedColor := UnfocusedColor;
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
procedure DrawDotNetControl(Control: TWinControl; AColor: TColor; InControl: Boolean);
|
||||
(******************** NOT CONVERTED
|
||||
var
|
||||
DC: HDC;
|
||||
R: TRect;
|
||||
Canvas: TCanvas;
|
||||
begin
|
||||
DC := GetWindowDC(Control.Handle);
|
||||
try
|
||||
GetWindowRect(Control.Handle, R);
|
||||
OffsetRect(R, -R.Left, -R.Top);
|
||||
Canvas := TCanvas.Create;
|
||||
with Canvas do
|
||||
try
|
||||
Handle := DC;
|
||||
Brush.Color := InternalUnfocusedColor;
|
||||
if Control.Focused or InControl then
|
||||
Brush.Color := InternalFocusedColor;
|
||||
FrameRect(R);
|
||||
InflateRect(R, -1, -1);
|
||||
if not (Control.Focused or InControl) then
|
||||
Brush.Color := AColor;
|
||||
FrameRect(R);
|
||||
finally
|
||||
Free;
|
||||
end;
|
||||
finally
|
||||
ReleaseDC(Control.Handle, DC);
|
||||
end;
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure HandleDotNetHighlighting(Control: TWinControl; const Msg: TLMessage;
|
||||
MouseOver: Boolean; Color: TColor);
|
||||
(******************** NOT CONVERTED
|
||||
var
|
||||
Rgn, SubRgn: HRGN;
|
||||
begin
|
||||
if not (csDesigning in Control.ComponentState) then
|
||||
case Msg.Msg of
|
||||
CM_MOUSEENTER, CM_MOUSELEAVE, WM_KILLFOCUS, WM_SETFOCUS, WM_NCPAINT:
|
||||
begin
|
||||
DrawDotNetControl(Control, Color, MouseOver);
|
||||
if Msg.Msg = CM_MOUSELEAVE then
|
||||
begin
|
||||
Rgn := CreateRectRgn(0, 0, Control.Width - 1, Control.Height - 1);
|
||||
SubRgn := CreateRectRgn(2, 2, Control.Width - 3, Control.Height - 3);
|
||||
try
|
||||
CombineRgn(Rgn, Rgn, SubRgn, RGN_DIFF);
|
||||
InvalidateRgn(Control.Handle, Rgn, False); // redraw 3D border
|
||||
finally
|
||||
DeleteObject(SubRgn);
|
||||
DeleteObject(Rgn);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
begin
|
||||
end;
|
||||
|
||||
function CreateWMMessage(Msg: Integer; WParam: Integer; LParam: Longint): TLMessage;
|
||||
begin
|
||||
Result.Msg := Msg;
|
||||
Result.WParam := WParam;
|
||||
Result.LParam := LParam;
|
||||
Result.Result := 0;
|
||||
end;
|
||||
|
||||
function CreateWMMessage(Msg: Integer; WParam: Integer; LParam: TControl): TLMessage;
|
||||
begin
|
||||
Result := CreateWMMessage(Msg, WParam, Integer(LParam));
|
||||
end;
|
||||
|
||||
{ TStructPtrMessage }
|
||||
constructor TStructPtrMessage.Create(AMsg: Integer; WParam: Integer; var LParam);
|
||||
begin
|
||||
inherited Create;
|
||||
Self.Msg.Msg := AMsg;
|
||||
Self.Msg.WParam := WParam;
|
||||
Self.Msg.LParam := Longint(@LParam);
|
||||
Self.Msg.Result := 0;
|
||||
end;
|
||||
|
||||
function SmallPointToLong(const Pt: TSmallPoint): Longint;
|
||||
begin
|
||||
Result := Longint(Pt);
|
||||
end;
|
||||
|
||||
function ShiftStateToKeyData(Shift: TShiftState): Longint;
|
||||
const
|
||||
AltMask = $20000000;
|
||||
CtrlMask = $10000000;
|
||||
ShiftMask = $08000000;
|
||||
begin
|
||||
Result := 0;
|
||||
if ssAlt in Shift then
|
||||
Result := Result or AltMask;
|
||||
if ssCtrl in Shift then
|
||||
Result := Result or CtrlMask;
|
||||
if ssShift in Shift then
|
||||
Result := Result or ShiftMask;
|
||||
end;
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
function GetFocusedControl(AControl: TControl): TWinControl;
|
||||
var
|
||||
Form: TCustomForm;
|
||||
begin
|
||||
Result := nil;
|
||||
Form := GetParentForm(AControl);
|
||||
if Assigned(Form) then
|
||||
Result := Form.ActiveControl;
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
function DlgcToDlgCodes(Value: Longint): TDlgCodes;
|
||||
begin
|
||||
Result := [];
|
||||
(******************** NOT CONVERTED
|
||||
if (Value and DLGC_WANTARROWS) <> 0 then
|
||||
Include(Result, dcWantArrows);
|
||||
if (Value and DLGC_WANTTAB) <> 0 then
|
||||
Include(Result, dcWantTab);
|
||||
if (Value and DLGC_WANTALLKEYS) <> 0 then
|
||||
Include(Result, dcWantAllKeys);
|
||||
if (Value and DLGC_WANTCHARS) <> 0 then
|
||||
Include(Result, dcWantChars);
|
||||
if (Value and DLGC_BUTTON) <> 0 then
|
||||
Include(Result, dcButton);
|
||||
if (Value and DLGC_HASSETSEL) <> 0 then
|
||||
Include(Result, dcHasSetSel);
|
||||
******************** NOT CONVERTED *)
|
||||
end;
|
||||
|
||||
function DlgCodesToDlgc(Value: TDlgCodes): Longint;
|
||||
begin
|
||||
Result := 0;
|
||||
(******************** NOT CONVERTED
|
||||
if dcWantAllKeys in Value then
|
||||
Result := Result or DLGC_WANTALLKEYS;
|
||||
if dcWantArrows in Value then
|
||||
Result := Result or DLGC_WANTARROWS;
|
||||
if dcWantTab in Value then
|
||||
Result := Result or DLGC_WANTTAB;
|
||||
if dcWantChars in Value then
|
||||
Result := Result or DLGC_WANTCHARS;
|
||||
if dcButton in Value then
|
||||
Result := Result or DLGC_BUTTON;
|
||||
if dcHasSetSel in Value then
|
||||
Result := Result or DLGC_HASSETSEL;
|
||||
******************** NOT CONVERTED *)
|
||||
end;
|
||||
|
||||
procedure GetHintColor(var HintInfo: THintInfo; AControl: TControl; HintColor: TColor);
|
||||
var
|
||||
AHintInfo: THintInfo;
|
||||
begin
|
||||
case HintColor of
|
||||
clNone:
|
||||
HintInfo.HintColor := Application.HintColor;
|
||||
clDefault:
|
||||
begin
|
||||
if Assigned(AControl) and Assigned(AControl.Parent) then
|
||||
begin
|
||||
AHintInfo := HintInfo;
|
||||
AControl.Parent.Perform(CM_HINTSHOW, 0, Integer(@AHintInfo));
|
||||
HintInfo.HintColor := AHintInfo.HintColor;
|
||||
end;
|
||||
end;
|
||||
else
|
||||
HintInfo.HintColor := HintColor;
|
||||
end;
|
||||
end;
|
||||
|
||||
function DispatchIsDesignMsg(Control: TControl; var Msg: TLMessage): Boolean;
|
||||
var
|
||||
Form: TCustomForm;
|
||||
begin
|
||||
Result := False;
|
||||
case Msg.Msg of
|
||||
LM_SETFOCUS, LM_KILLFOCUS, LM_NCHITTEST,
|
||||
LM_MOUSEFIRST..LM_MOUSELAST,
|
||||
LM_KEYFIRST..LM_KEYLAST,
|
||||
LM_CANCELMODE:
|
||||
Exit; // These messages are handled in TWinControl.WndProc before IsDesignMsg() is called
|
||||
end;
|
||||
if (Control <> nil) and (csDesigning in Control.ComponentState) then
|
||||
begin
|
||||
Form := GetParentForm(Control);
|
||||
if (Form <> nil) and (Form.Designer <> nil) and
|
||||
Form.Designer.IsDesignMsg(Control, Msg) then
|
||||
Result := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
//=== { TJvHotTrackOptions } ======================================
|
||||
|
||||
constructor TJvHotTrackOptions.Create;
|
||||
begin
|
||||
inherited Create;
|
||||
FEnabled := False;
|
||||
FFrameVisible := False;
|
||||
FColor := $00D2BDB6;
|
||||
FFrameColor := $006A240A;
|
||||
end;
|
||||
|
||||
procedure TJvHotTrackOptions.Assign(Source: TPersistent);
|
||||
begin
|
||||
if Source is TJvHotTrackOptions then
|
||||
begin
|
||||
BeginUpdate;
|
||||
try
|
||||
Enabled := TJvHotTrackOptions(Source).Enabled;
|
||||
Color := TJvHotTrackOptions(Source).Color;
|
||||
FrameVisible := TJvHotTrackOptions(Source).FrameVisible;
|
||||
FrameColor := TJvHotTrackOptions(Source).FrameColor;
|
||||
finally
|
||||
EndUpdate;
|
||||
end;
|
||||
end
|
||||
else
|
||||
inherited Assign(Source);
|
||||
end;
|
||||
|
||||
procedure TJvHotTrackOptions.SetColor(Value: TColor);
|
||||
begin
|
||||
if FColor <> Value then
|
||||
begin
|
||||
Changing;
|
||||
ChangingProperty('Color');
|
||||
FColor := Value;
|
||||
ChangedProperty('Color');
|
||||
Changed;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvHotTrackOptions.SetEnabled(Value: Boolean);
|
||||
begin
|
||||
if FEnabled <> Value then
|
||||
begin
|
||||
Changing;
|
||||
ChangingProperty('Enabled');
|
||||
FEnabled := Value;
|
||||
ChangedProperty('Enabled');
|
||||
Changed;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvHotTrackOptions.SetFrameVisible(Value: Boolean);
|
||||
begin
|
||||
if FFrameVisible <> Value then
|
||||
begin
|
||||
Changing;
|
||||
ChangingProperty('FrameVisible');
|
||||
FFrameVisible := Value;
|
||||
ChangedProperty('FrameVisible');
|
||||
Changed;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvHotTrackOptions.SetFrameColor(Value: TColor);
|
||||
begin
|
||||
if FFrameColor <> Value then
|
||||
begin
|
||||
Changing;
|
||||
ChangingProperty('FrameColor');
|
||||
FFrameColor := Value;
|
||||
ChangedProperty('FrameColor');
|
||||
Changed;
|
||||
end;
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
//============================================================================
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_IMPL_DEFAULT(Control)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(WinControl)
|
||||
|
||||
CONTROL_IMPL_DEFAULT(GraphicControl)
|
||||
|
||||
WINCONTROL_IMPL_DEFAULT(CustomControl)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(HintWindow)
|
||||
|
||||
end.
|
||||
|
163
components/jvcllaz/devtools/JvExVCL/src/JvExExtCtrls.pas
Normal file
163
components/jvcllaz/devtools/JvExVCL/src/JvExExtCtrls.pas
Normal file
@ -0,0 +1,163 @@
|
||||
{-----------------------------------------------------------------------------
|
||||
The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
|
||||
the specific language governing rights and limitations under the License.
|
||||
|
||||
The Original Code is: JvExExtCtrls.pas, released on 2004-01-04
|
||||
|
||||
The Initial Developer of the Original Code is Andreas Hausladen [Andreas dott Hausladen att gmx dott de]
|
||||
Portions created by Andreas Hausladen are Copyright (C) 2004 Andreas Hausladen.
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s): -
|
||||
|
||||
You may retrieve the latest version of this file at the Project JEDI's JVCL home page,
|
||||
located at http://jvcl.sourceforge.net
|
||||
|
||||
Known Issues:
|
||||
-----------------------------------------------------------------------------}
|
||||
// $Id: JvExExtCtrls.pas 10613 2006-05-19 19:21:43Z jfudickar $
|
||||
|
||||
// Initial port to Lazarus by Sergio Samayoa - september 2007.
|
||||
// Conversion is done in incremental way: as types / classes / routines
|
||||
// are needed they are converted.
|
||||
|
||||
unit JvExExtCtrls;
|
||||
|
||||
{MACROINCLUDE JvExControls.macros}
|
||||
|
||||
WARNINGHEADER
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Controls, ExtCtrls, Forms, Graphics, JvExControls, LCLIntf, LMessages;
|
||||
|
||||
type
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_DECL_DEFAULT(Shape)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_DECL_DEFAULT(PaintBox)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_DECL_DEFAULT(Image)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_DECL_DEFAULT(Bevel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(CustomPanel)
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
TJvExPubCustomPanel = class(TJvExCustomPanel)
|
||||
COMMON_PUBLISHED
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(CustomRadioGroup)
|
||||
|
||||
CONTROL_DECL_DEFAULT(Splitter)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(CustomControlBar)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(ControlBar)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(Panel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(RadioGroup)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(Page)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(Notebook)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(Header)
|
||||
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_DECL_DEFAULT(BoundLabel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(CustomLabeledEdit)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(LabeledEdit)
|
||||
|
||||
//******************** NOT CONVERTED - Exists in LCL?
|
||||
//WINCONTROL_DECL_DEFAULT(CustomColorBox)
|
||||
|
||||
//******************** NOT CONVERTED - Exists in LCL?
|
||||
//WINCONTROL_DECL_DEFAULT(ColorBox)
|
||||
|
||||
implementation
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_IMPL_DEFAULT(Shape)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_IMPL_DEFAULT(PaintBox)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_IMPL_DEFAULT(Image)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_IMPL_DEFAULT(Bevel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(CustomPanel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(CustomRadioGroup)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(CustomControlBar)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(ControlBar)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(Panel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(RadioGroup)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(Page)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(Notebook)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(Header)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_IMPL_DEFAULT(BoundLabel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(CustomLabeledEdit)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(LabeledEdit)
|
||||
|
||||
//******************** NOT CONVERTED - Exists in LCL?
|
||||
//WINCONTROL_IMPL_DEFAULT(CustomColorBox)
|
||||
|
||||
//******************** NOT CONVERTED - Exists in LCL?
|
||||
//WINCONTROL_IMPL_DEFAULT(ColorBox)
|
||||
|
||||
CONTROL_IMPL_DEFAULT(Splitter)
|
||||
|
||||
end.
|
19
components/jvcllaz/devtools/JvExVCL/src/build.pas
Normal file
19
components/jvcllaz/devtools/JvExVCL/src/build.pas
Normal file
@ -0,0 +1,19 @@
|
||||
unit build;
|
||||
interface
|
||||
uses
|
||||
JvExControls
|
||||
// ,JvExButtons
|
||||
// ,JvExCheckLst
|
||||
// ,JvExComCtrls
|
||||
// ,JvExExtCtrls
|
||||
// ,JvExForms
|
||||
// ,JvExGrids,
|
||||
// ,JvExMask,
|
||||
// {,JvExDBCtrls}
|
||||
// ,JvExDBGrids,
|
||||
// ,JvExStdCtrls
|
||||
;
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
1
components/jvcllaz/dist/readme.txt
vendored
Normal file
1
components/jvcllaz/dist/readme.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
Output directory for distribution packaging.
|
137
components/jvcllaz/examples/JvNavigationPane/JvNavPaneDemo.lpi
Normal file
137
components/jvcllaz/examples/JvNavigationPane/JvNavPaneDemo.lpi
Normal file
@ -0,0 +1,137 @@
|
||||
<?xml version="1.0"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<PathDelim Value="\"/>
|
||||
<Version Value="5"/>
|
||||
<General>
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value="./"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="2"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<ProjectVersion Value=""/>
|
||||
</VersionInfo>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<IgnoreBinaries Value="False"/>
|
||||
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<local>
|
||||
<FormatVersion Value="1"/>
|
||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="1">
|
||||
<Item1>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item1>
|
||||
</RequiredPackages>
|
||||
<Units Count="6">
|
||||
<Unit0>
|
||||
<Filename Value="JvNavPaneDemo.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="JvNavPaneDemo"/>
|
||||
<CursorPos X="36" Y="11"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="22"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="JvNavPaneDemoMainForm.pas"/>
|
||||
<ComponentName Value="JvNavPaneDemoMainFrm"/>
|
||||
<HasResources Value="True"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="JvNavPaneDemoMainForm.lrs"/>
|
||||
<UnitName Value="JvNavPaneDemoMainForm"/>
|
||||
<CursorPos X="56" Y="345"/>
|
||||
<TopLine Value="341"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="22"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="..\..\packages\JvXPBarReg.pp"/>
|
||||
<UnitName Value="JvXPBarReg"/>
|
||||
<CursorPos X="15" Y="20"/>
|
||||
<TopLine Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="..\..\run\JvXPBar.pas"/>
|
||||
<UnitName Value="JvXPBar"/>
|
||||
<CursorPos X="3" Y="1758"/>
|
||||
<TopLine Value="1747"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
<Filename Value="..\..\packages\JvXPBarLaz.pas"/>
|
||||
<UnitName Value="JvXPBarLaz"/>
|
||||
<CursorPos X="5" Y="9"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
<Filename Value="..\..\run\JvTypes.pas"/>
|
||||
<UnitName Value="JvTypes"/>
|
||||
<CursorPos X="12" Y="41"/>
|
||||
<TopLine Value="26"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit5>
|
||||
</Units>
|
||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
<PathDelim Value="\"/>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="..\..\resources\"/>
|
||||
<OtherUnitFiles Value="..\..\run\"/>
|
||||
<UnitOutputDirectory Value="..\..\out"/>
|
||||
</SearchPaths>
|
||||
<CodeGeneration>
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Options>
|
||||
<Win32>
|
||||
<GraphicApplication Value="True"/>
|
||||
</Win32>
|
||||
</Options>
|
||||
</Linking>
|
||||
<Other>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<Watches Count="4">
|
||||
<Item1>
|
||||
<Expression Value="X"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Expression Value="Y"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Expression Value="SHIFT"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<Expression Value="mc"/>
|
||||
</Item4>
|
||||
</Watches>
|
||||
<Exceptions Count="2">
|
||||
<Item1>
|
||||
<Name Value="ECodetoolError"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Name Value="EFOpenError"/>
|
||||
</Item2>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
</CONFIG>
|
@ -0,0 +1,18 @@
|
||||
program JvNavPaneDemo;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
||||
cthreads,
|
||||
{$ENDIF}{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms
|
||||
{ add your units here }, JvNavPaneDemoMainForm;
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TJvNavPaneDemoMainFrm, JvNavPaneDemoMainFrm);
|
||||
Application.Run;
|
||||
end.
|
||||
|
@ -0,0 +1,776 @@
|
||||
object JvNavPaneDemoMainFrm: TJvNavPaneDemoMainFrm
|
||||
Left = 105
|
||||
Height = 468
|
||||
Top = 109
|
||||
Width = 518
|
||||
HorzScrollBar.Page = 517
|
||||
VertScrollBar.Page = 467
|
||||
Caption = 'JvNavigationPane Demo'
|
||||
DockSite = True
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
OnCreate = FormCreate
|
||||
object PopupMenu1: TPopupMenu
|
||||
OnPopup = PopupMenu1Popup
|
||||
left = 92
|
||||
top = 64
|
||||
object HideAll1: TMenuItem
|
||||
Caption = 'Hide All'
|
||||
OnClick = HideAll1Click
|
||||
end
|
||||
object ShowAll1: TMenuItem
|
||||
Caption = 'Show All'
|
||||
OnClick = ShowAll1Click
|
||||
end
|
||||
object N1: TMenuItem
|
||||
Caption = '-'
|
||||
end
|
||||
object ChangeFont1: TMenuItem
|
||||
Caption = 'Font...'
|
||||
OnClick = ChangeFont1Click
|
||||
end
|
||||
object Colors1: TMenuItem
|
||||
Caption = 'Colors'
|
||||
object Standard1: TMenuItem
|
||||
Caption = 'Standard'
|
||||
Checked = True
|
||||
GroupIndex = 1
|
||||
RadioItem = True
|
||||
OnClick = SchemaClick
|
||||
end
|
||||
object Blue1: TMenuItem
|
||||
Tag = 1
|
||||
Caption = 'Blue'
|
||||
GroupIndex = 1
|
||||
RadioItem = True
|
||||
OnClick = SchemaClick
|
||||
end
|
||||
object Silver1: TMenuItem
|
||||
Tag = 2
|
||||
Caption = 'Silver'
|
||||
GroupIndex = 1
|
||||
RadioItem = True
|
||||
OnClick = SchemaClick
|
||||
end
|
||||
object Olive1: TMenuItem
|
||||
Tag = 3
|
||||
Caption = 'Olive'
|
||||
GroupIndex = 1
|
||||
RadioItem = True
|
||||
OnClick = SchemaClick
|
||||
end
|
||||
end
|
||||
object BackgroundImage1: TMenuItem
|
||||
Caption = 'Background Image...'
|
||||
OnClick = BackgroundImage1Click
|
||||
end
|
||||
object N2: TMenuItem
|
||||
Caption = '-'
|
||||
end
|
||||
object Dontallowresize1: TMenuItem
|
||||
Caption = 'Don''t allow resize'
|
||||
OnClick = Dontallowresize1Click
|
||||
end
|
||||
object N3: TMenuItem
|
||||
Caption = '-'
|
||||
end
|
||||
object ShowToolPanel1: TMenuItem
|
||||
Caption = 'Show Tool Panel'
|
||||
OnClick = ShowToolPanel1Click
|
||||
end
|
||||
object ShowCloseButton1: TMenuItem
|
||||
Caption = 'Show Close Button'
|
||||
OnClick = ShowCloseButton1Click
|
||||
end
|
||||
end
|
||||
object LargeImages: TImageList
|
||||
Height = 20
|
||||
Width = 24
|
||||
left = 92
|
||||
top = 16
|
||||
Bitmap = {
|
||||
4C69060000001800000014000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000CEB59CFFC6AD9CFFCEAD
|
||||
9CFFCEAD9CFF0000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000BDBDBDFFE7C6B5FFC6F7FFFFC6F7FFFFADE7
|
||||
F7FFC6AD9CFFCEAD9CFF00000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000CEAD9CFFDED6CEFFC6EFFFFFC6EFFFFFC6F7FFFFADE7
|
||||
F7FF7BD6F7FF8CC6D6FFAD9484FF000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000BDBDBDFFCEBDB5FFC6F7FFFFC6EFFFFFC6F7FFFFC6F7FFFFC6EFFFFF8CE7
|
||||
FFFF7BDEF7FF6BC6F7FF6BCEF7FFAD9484FF0000000000000000000000000000
|
||||
000000000000000000000000000000000000000000000000000000000000CEAD
|
||||
9CFFDED6CEFFC6EFFFFFC6F7FFFFC6EFFFFFC6F7FFFFC6EFFFFFADE7F7FF8CE7
|
||||
F7FF84D6F7FF63CEF7FF6BC6F7FF4ABDF7FFBDBDBDFF849CA5FF000000000000
|
||||
0000000000000000000000000000000000000000000000000000CEAD9CFFC6F7
|
||||
FFFFC6F7FFFFC6EFFFFFC6F7FFFFA5E7F7FF94E7FFFF7BD6F7FF7BD6F7FF84D6
|
||||
F7FF7BD6F7FF6BC6F7FF6BCEF7FF4AB5EFFF52B5F7FF4ABDF7FFAD9484FF0000
|
||||
00000000000000000000000000000000000000000000C6AD9CFFC6F7FFFFADE7
|
||||
F7FFA5E7F7FF94E7F7FF7BD6F7FF6BC6F7FF63CEF7FF52B5EFFF4ABDF7FF4AB5
|
||||
F7FF52BDF7FF31B5DEFF39ADF7FF31A5EFFF21A5EFFF39A5EFFF39ADF7FFA57B
|
||||
6BFF0000000000000000000000000000000000000000CEAD9CFF63C6F7FFF7EF
|
||||
EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7
|
||||
E7FFF7EFEFFFF7F7EFFFF7EFEFFFADE7F7FFADE7EFFF94C6D6FF31ADEFFF9C7B
|
||||
6BFF0000000000000000000000000000000000000000D6AD84FF7BD6F7FFF7F7
|
||||
EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EF
|
||||
EFFFEFEFEFFFF7EFE7FFEFEFEFFFF7F7EFFFF7EFEFFFDEC6ADFF31A5F7FF9C7B
|
||||
6BFF4A4231FF00000000000000000000000000000000CEADA5FFC6AD9CFFFFDE
|
||||
C6FFFFFFFFFFF7DECEFFFFDEC6FFF7F7EFFFFFDECEFFFFDEC6FFFFDECEFFF7DE
|
||||
C6FFF7F7EFFFF7EFEFFFEFF7EFFFF7EFEFFFEFEFEFFFD6BDADFFA57B6BFF9C7B
|
||||
6BFF4A4231FF00000000000000000000000000000000D6AD84FFFFDECEFFC6AD
|
||||
9CFFFFFFFFFFF7F7EFFFD6CECEFFDED6CEFFD6D6CEFFD6D6CEFFDED6CEFFD6D6
|
||||
CEFFDEBDADFFDEC6ADFFE7C6ADFFD6CECEFFF7F7EFFF9C7B6BFFE7AD8CFF9C7B
|
||||
6BFF4A4231FF00000000000000000000000000000000D6A58CFFFFFFFFFFFFE7
|
||||
CEFFC6AD9CFFFFFFFFFFFFFFFFFFCEA584FFD6A58CFFD6A584FFAD948CFFAD94
|
||||
8CFFAD948CFFAD948CFFF7EFEFFFF7F7EFFF9C736BFFE7BD94FFFFCEA5FF9C7B
|
||||
6BFF4A4231FF00000000000000000000000000000000CE9C7BFFFFFFFFFFEFEF
|
||||
EFFFF7F7EFFFC6AD9CFFD6A58CFFFFE7CEFFEFEFEFFFF7F7EFFFF7EFEFFFF7F7
|
||||
EFFFEFEFEFFFF7D6B5FF9C7B6BFFAD948CFFEFB594FFF7D6BDFFFFCE9CFF9C7B
|
||||
6BFF4A4231FF00000000000000000000000000000000AD9484FFF7EFEFFFEFF7
|
||||
EFFFF7EFEFFFD6A584FFEFF7EFFFF7EFEFFFEFEFEFFFF7EFEFFFEFEFEFFFEFEF
|
||||
EFFFFFE7C6FFFFDECEFFFFCEA5FF9C7B6BFFFFCE9CFFFFCE9CFFF7C68CFF9C7B
|
||||
6BFF4A4231FF00000000000000000000000000000000AD948CFFF7F7EFFFF7EF
|
||||
EFFFCEA584FFF7F7EFFFF7EFEFFFEFEFEFFFF7F7E7FFEFEFEFFFF7F7EFFFFFDE
|
||||
C6FFF7D6C6FFF7DEBDFFF7D6B5FFF7C68CFF9C7B6BFFF7B58CFFF7A573FF9C7B
|
||||
6BFF4A4231FF00000000000000000000000000000000AD9484FFF7EFEFFFC6AD
|
||||
9CFFEFEFEFFFF7EFEFFFEFEFEFFFF7F7EFFFF7DEC6FFFFDECEFFF7DEC6FFF7D6
|
||||
C6FFF7D6B5FFF7D6BDFFFFCE9CFFF7C68CFFFFAD8CFF9C7B6BFFE7946BFF9C7B
|
||||
6BFF4A4231FF00000000000000000000000000000000AD9484FFC6B59CFFF7F7
|
||||
EFFFF7EFEFFFEFF7EFFFFFDEC6FFF7D6BDFFF7D6BDFFF7D6B5FFF7D6BDFFF7CE
|
||||
ADFFFFCE9CFFFFCEA5FFF7BD8CFFE7B594FFF7A573FFE7946BFF9C7B6BFF9C7B
|
||||
6BFF4A4231FF00000000000000000000000000000000C69C7BFFFFDEC6FFEFEF
|
||||
EFFFFFDEC6FFF7D6BDFFFFCE9CFFF7C68CFFE7B594FFF7AD8CFFF7B58CFFF7A5
|
||||
73FFEFA57BFFF7A573FFE79C63FFE79463FFE79C6BFFE79463FFCE7B4AFF9C7B
|
||||
6BFF4A4231FF00000000000000000000000000000000CE9C7BFF9C7B6BFF9C7B
|
||||
6BFF9C7B6BFF9C7B6BFF9C7B6BFF9C7B6BFF9C7B6BFF9C7B6BFF9C7B6BFF9C7B
|
||||
6BFF9C7B6BFF9C7B6BFF9C7B6BFF9C7B6BFF9C7B6BFF9C7B6BFF9C7B6BFF9C7B
|
||||
6BFF4A4231FF00000000000000000000000000000000000000004A4231FF4A42
|
||||
31FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A42
|
||||
31FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A42
|
||||
31FF4A4231FF0000000000000000000000004A3931FF000000004A3929FF0000
|
||||
00004A3931FF000000004A3931FF000000004A3931FF000000004A3929FF0000
|
||||
00004A3931FF000000004A3931FF000000004A3931FF000000004A3931FF0000
|
||||
00004A3931FF0000000000000000AD948CFF00000000AD948CFF00000000AD94
|
||||
8CFF00000000AD948CFF00000000A57B6BFF000000009C7B6BFF00000000A57B
|
||||
6BFF00000000A57B6BFF000000006B6352FF00000000735A52FF000000006B5A
|
||||
52FF000000000000000000000000E7AD8CFFE7B58CFFE7B58CFFF7A573FFDEA5
|
||||
7BFFDEAD84FFDEA57BFFE79C63FFE7946BFFE79463FFEF9C6BFFE79463FFD684
|
||||
5AFFD68452FFD6845AFFDE7B4AFFE77B4AFFDE7B4AFFDE7B4AFFE77B4AFFDE7B
|
||||
4AFF4A4231FF0000000000000000E7B58CFFFFDECEFFF7DECEFFFFDECEFFF7DE
|
||||
C6FFFFD6BDFFF7D6BDFFF7CEB5FFF7CEB5FFF7CEB5FFF7BD9CFFF7BDA5FFF7BD
|
||||
9CFFF7B58CFFF7B58CFFF7B58CFFF7A57BFFF7A573FFF7A57BFFF7A573FFE794
|
||||
6BFF4A4231FF0000000000000000E7AD8CFFF7DEC6FFFFDEBDFFF7DEC6FFF7CE
|
||||
ADFFEFCEB5FFF7CEADFFFFCE9CFFF7BD9CFFEFBD9CFFF7B58CFFF7B58CFFF7B5
|
||||
8CFFF7A573FFF7A573FFF7A573FFEFA573FFF7A57BFFE79C63FFE7946BFFE79C
|
||||
63FF4A4231FF0000000000000000F7A573FFF7A573FFF7A57BFFDEA57BFFDEA5
|
||||
7BFFDEA57BFFE79463FFE7946BFFE79463FFE79C6BFFE79463FFD68452FFCE84
|
||||
52FFD68452FFDE7B4AFFDE7B4AFFDE7B4AFFDE7B4AFFDE7B4AFF4A4231FF4A42
|
||||
31FF4A4231FF0000000000000000CEBDB5FFFFFFFFFFFFFFFFFFFFFFFFFFEFBD
|
||||
9CFFFFFFFFFFFFFFFFFFFFFFFFFFEFC69CFFFFFFFFFFF7EFEFFFF7F7F7FFEFBD
|
||||
9CFFFFFFFFFFEFEFF7FFF7F7EFFFEFBD9CFFF7EFEFFFF7F7EFFFFFDECEFFE7BD
|
||||
9CFF4A4231FF0000000000000000CEBDADFFFFFFFFFFEFF7EFFFF7EFEFFFE7BD
|
||||
9CFFFFFFFFFFF7EFEFFFF7F7EFFFCEA58CFFF7EFEFFFEFF7EFFFF7DECEFFD6A5
|
||||
84FFEFEFEFFFF7EFEFFFF7DEC6FFD6A584FFEFEFEFFFF7DECEFFF7CEB5FFCE9C
|
||||
7BFF4A4231FF0000000000000000CEBDADFFFFFFFFFFF7EFEFFFEFEFEFFFD6A5
|
||||
84FFFFFFFFFFEFF7EFFFFFDECEFFC69C7BFFF7EFEFFFFFDEC6FFF7DECEFFC69C
|
||||
7BFFF7F7EFFFF7D6BDFFF7CEADFFC69C7BFFFFDECEFFF7CEADFFFFCE9CFFC69C
|
||||
7BFF4A4231FF0000000000000000CEAD9CFFE7BD9CFFEFBD94FFCEA584FFD6AD
|
||||
8CFFE7B594FFE7AD8CFFCE9C7BFFC69C7BFFE7BD94FFD6A584FFCE9C7BFF398C
|
||||
D6FF428CD6FF398CD6FF1842CEFF1842CEFFE7BD94FFD6A58CFFC69C7BFFA57B
|
||||
73FF4A4231FF0000000000000000C6B59CFFFFFFFFFFFFFFFFFFF7EFEFFFE7B5
|
||||
94FFFFFFFFFFF7F7EFFFEFEFEFFFEFB594FFEFEFEFFFF7F7EFFFEFEFEFFF428C
|
||||
D6FFF7F7EFFFF7EFEFFFFFE7CEFF1839CEFFFFE7CEFFF7DEC6FFFFE7CEFFE7B5
|
||||
94FF4A4231FF0000000000000000C6ADA5FFFFFFFFFFF7EFEFFFEFF7EFFFD6A5
|
||||
8CFFFFFFFFFFF7EFEFFFF7E7CEFFD6A58CFFEFEFEFFFF7EFEFFFFFE7C6FF398C
|
||||
D6FFFFDECEFFF7D6BDFFFFDEBDFF1042CEFFFFDECEFFF7D6BDFFF7CEB5FFCE9C
|
||||
7BFF4A4231FF0000000000000000C6AD9CFFFFFFFFFFF7F7EFFFF7DECEFFCE9C
|
||||
7BFFEFF7EFFFFFDEC6FFF7D6BDFFCE9C7BFFEFF7EFFFFFDECEFFF7D6B5FF1839
|
||||
CEFFFFDEBDFFF7D6BDFFF7CEADFF1842CEFFFFDEBDFFEFC6A5FFEFBD9CFFC69C
|
||||
7BFF4A3931FF0000000000000000CEB59CFFE7B594FFD6A584FFC69C7BFFCE9C
|
||||
7BFFE7B594FFCEA58CFFCE9C7BFFC69C7BFFEFB594FFCEA58CFFCE9C7BFF1842
|
||||
CEFF1042CEFF1842CEFF1842CEFF1042D6FFE7AD8CFFC69C7BFFAD948CFFA57B
|
||||
6BFF4A4231FF0000000000000000C6ADA5FFFFFFFFFFF7F7EFFFF7EFEFFFE7B5
|
||||
94FFF7F7EFFFF7F7EFFFEFEFEFFFE7BD94FFF7EFEFFFFFE7CEFFF7DECEFFEFBD
|
||||
94FFFFDECEFFFFE7CEFFFFDEBDFFEFB594FFF7DEC6FFFFDEC6FFF7CEADFFE7B5
|
||||
9CFF4A4231FF0000000000000000C6B59CFFF7EFEFFFEFEFEFFFF7F7EFFFCEA5
|
||||
8CFFF7EFEFFFF7DEC6FFFFDECEFFD6A584FFF7DECEFFF7D6BDFFFFDEBDFFC69C
|
||||
7BFFFFDECEFFF7D6BDFFF7CEB5FFC69C7BFFFFD6BDFFEFCEB5FFFFCE9CFFCE9C
|
||||
7BFF4A3931FF0000000000000000D6A58CFFF7F7EFFFEFEFEFFFF7DEBDFFCE9C
|
||||
7BFFEFF7EFFFF7D6C6FFF7CEADFFC69C7BFFFFE7CEFFF7D6BDFFFFCEA5FFC69C
|
||||
7BFFF7DEBDFFF7CEB5FFF7BD9CFFC69C7BFFF7CEB5FFF7BD9CFFE7BD94FFCE9C
|
||||
7BFF4A4231FF0000000000000000CEA58CFFF7D6B5FFE7B594FFD6A58CFFC69C
|
||||
7BFFE7AD8CFFCE9C7BFFAD948CFF9C7B6BFFE7AD8CFFCE9C7BFFAD948CFF9C7B
|
||||
6BFFE7AD8CFFC69C7BFFAD948CFF9C7B6BFFE7B58CFFC69C7BFFAD948CFFA57B
|
||||
73FF4A3931FF0000000000000000D6A58CFF4A4231FF4A4231FF4A4231FF4A42
|
||||
31FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A42
|
||||
31FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A42
|
||||
31FF4A4231FF0000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000CEBDADFFCEBDB5FFD6BD
|
||||
ADFFCEBDADFFCEBDADFFCEBDADFFD6BDB5FFCEBDADFFCEAD9CFFC6B5A5FFCEAD
|
||||
9CFFC6B59CFFC6AD9CFFC6B59CFFCEAD9CFFC6B59CFFD6A58CFFCEA584FFD6A5
|
||||
8CFFAD948CFFAD9484FFAD948CFF0000000000000000D6BDADFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFEFEFEFFFF7F7EFFF4A4231FF0000000000000000CEBDADFFFFFFFFFFFFFF
|
||||
FFFFF7EFEFFFB5BDBDFFAD948CFF6B7B8CFF6B848CFFBDBDBDFFF7EFEFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7EFFFF7EF
|
||||
EFFFEFF7EFFFFFD6C6FF4A4231FF0000000000000000CEBDB5FFFFFFFFFFFFFF
|
||||
FFFFBDBDBDFF6B848CFF6B7B8CFF8C9CA5FFAD948CFF6B5A52FFB5BDBDFFFFFF
|
||||
FFFFFFFFFFFFF7AD8CFFF7B58CFFF7B58CFFF7A573FFF7A57BFFEFA573FFF7A5
|
||||
73FFEFEFEFFFFFDEC6FF4A4231FF0000000000000000CEBDADFFFFFFFFFFFFFF
|
||||
FFFF6B7B8CFF6B5A52FF736352FF6B848CFF6B5A52FFBDBDBDFF6B7B8CFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFF7F7EFFFEFEFEFFFF7F7
|
||||
EFFFEFEFEFFFF7D6B5FF4A4231FF0000000000000000D6BDADFFFFFFFFFFFFFF
|
||||
FFFF736352FF4A3931FFBDBDBDFFDED6D6FFBDBDBDFF8C9CA5FF6B848CFFFFFF
|
||||
FFFFFFFFFFFFFFB58CFFF7AD8CFFF7B58CFFF7A573FFEFA573FFF7A573FFF7A5
|
||||
73FFF7EFEFFFF7CEADFF4A4231FF0000000000000000CEBDADFFFFFFFFFFFFFF
|
||||
FFFF4A3931FF4A4231FFDED6D6FFB5B5BDFF849CA5FF6B7B8CFF6B6352FFFFFF
|
||||
FFFFFFFFFFFFEFF7EFFFF7EFEFFFF7F7EFFFEFEFEFFFF7EFEFFFEFEFEFFFF7F7
|
||||
EFFFEFEFEFFFF7BD9CFF4A4231FF0000000000000000CEADA5FFFFFFFFFFFFFF
|
||||
FFFFBDBDBDFF000000FFBDBDBDFF8C9CA5FF6B848CFF735A52FF849CA5FFF7EF
|
||||
EFFFF7F7EFFFF7EFEFFFF7EFEFFFEFEFEFFFF7EFEFFFEFF7EFFFF7EFEFFFEFEF
|
||||
EFFFFFE7CEFFF7BDA5FF4A4231FF0000000000000000C6AD9CFFFFFFFFFFFFFF
|
||||
FFFFF7F7EFFFDECECEFF6B5A52FF6B6352FF735A52FF1842D6FFBDBDBDFFF7F7
|
||||
EFFFEFEFEFFFEFEFE7FFF7F7EFFFEFEFEFFFF7F7EFFFF7EFEFFFF7DEC6FFFFDE
|
||||
C6FFF7DECEFFEFB594FF4A4231FF0000000000000000CEAD9CFFFFFFFFFFFFFF
|
||||
FFFFB5CEDEFF1842CEFF1842CEFFDED6D6FFF7F7EFFF1842CEFF1839CEFFD6D6
|
||||
CEFFF7EFEFFFC69C7BFFCE9C7BFF9C7B6BFF9C736BFF9C7B6BFF9C7B6BFF9C7B
|
||||
6BFFF7E7C6FFFFB58CFF4A4231FF0000000000000000C6AD9CFFFFFFFFFFFFFF
|
||||
FFFF1842CEFF84ADC6FF398CD6FF1842CEFF1884BDFF1842CEFF188CC6FF1842
|
||||
CEFFF7F7EFFFF7EFEFFFEFEFEFFFF7F7EFFFFFDEC6FFFFE7CEFFFFDECEFFFFD6
|
||||
C6FFF7DEC6FFF7A573FF4A4231FF0000000000000000CEB5A5FFFFFFFFFFFFFF
|
||||
FFFF1842CEFF39ADEFFF428CD6FF428CD6FF1842CEFF188CBDFF1842CEFF315A
|
||||
73FFF7EFEFFFC69C7BFFA57B6BFF9C7B6BFF9C7B6BFF9C7B6BFF9C7B6BFF9C73
|
||||
6BFFF7DEC6FFF7A573FF4A4231FF0000000000000000C6AD9CFFFFFFFFFFFFFF
|
||||
FFFF1842CEFF188CBDFF428CD6FF428CD6FF1842CEFF188CC6FF2142CEFF3963
|
||||
7BFFF7F7EFFFFFDECEFFF7DEC6FFFFDECEFFFFDECEFFFFDEC6FFF7DEBDFFFFDE
|
||||
C6FFF7D6B5FFF7A57BFF4A4231FF0000000000000000C6AD9CFFFFFFFFFFF7F7
|
||||
EFFFDED6CEFF1842CEFF1842CEFF1842CEFF1842CEFF396373FF39637BFFCEBD
|
||||
ADFFFFDECEFF9C7B6BFFA57B6BFF9C7B6BFF9C7B6BFF9C736BFF9C7B6BFF9C73
|
||||
6BFFF7CEB5FFE79463FF4A4231FF0000000000000000D6A58CFFF7F7EFFFF7EF
|
||||
EFFFF7EFEFFFF7F7EFFFF7F7EFFFF7F7EFFFF7F7EFFFF7EFEFFFFFDECEFFFFE7
|
||||
C6FFF7DECEFFFFDECEFFF7DEBDFFFFDEC6FFF7DEC6FFFFD6BDFFF7CEADFFF7CE
|
||||
B5FFF7CEADFFE79463FF4A4231FF0000000000000000CEA584FFF7EFEFFFF7DE
|
||||
C6FFF7D6C6FFF7DEC6FFF7CEBDFFF7D6B5FFF7C6ADFFEFC6ADFFF7BD9CFFEFBD
|
||||
9CFFE7B594FFE7B58CFFF7AD8CFFF7A573FFF7A573FFEFA573FFF7A57BFFE794
|
||||
63FFE79463FFEF9C6BFF4A4231FF0000000000000000D6A58CFF4A4231FF4A42
|
||||
31FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A42
|
||||
31FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A4231FF4A42
|
||||
31FF4A4231FF4A4231FF4A4231FF000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
000000000000000000000000000000000000849CA5FF849CA5FF849CA5FF8C9C
|
||||
A5FF6B7B8CFF0000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000DEC6B5FFCEBD
|
||||
ADFFD6BDADFFCEBDB5FFCEBDADFF8C9CA5FF8CC6D6FFC6EFFFFFC6F7FFFFADE7
|
||||
F7FF8CC6D6FF6B7B8CFFCEAD9CFFC6B5A5FFCEAD9CFFC6AD9CFFC6ADA5FF0000
|
||||
00000000000000000000000000000000000000000000CEBDADFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFF7EFEFFF849CA5FFC6F7FFFF6B7B8CFF6B7B8CFF8C9C
|
||||
A5FF8CC6CEFF31637BFFCEAD9CFFF7F7EFFFEFEFEFFFF7F7EFFFF7EFEFFF849C
|
||||
A5FF0000000000000000000000000000000000000000D6BDADFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFF8C9CA5FF8CBDD6FFADF7FFFF6B848CFF84ADC6FF8CC6
|
||||
D6FF6BCEF7FF6B7B8CFF31637BFFFFDEC6FFEFEFEFFFF7F7EFFFB5CED6FF395A
|
||||
7BFF0000000000000000000000000000000000000000CEBDADFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFF849CA5FFADE7F7FFADE7EFFF8CBDD6FF8CC6CEFF8CC6
|
||||
CEFF84ADC6FF84ADC6FF6B848CFFFFDEC6FFEFEFEFFFB5CED6FF1842CEFF428C
|
||||
D6FF0000000000000000000000000000000000000000D6BDB5FFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFF6B848CFF6B7B8CFF6B7B8CFF396373FF39637BFF395A
|
||||
7BFF396373FF6B7B8CFFAD948CFFFFDEBDFFA5ADF7FF1842CEFF428CD6FFCEA5
|
||||
8CFF0000000000000000000000000000000000000000CEBDADFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7EFFFF7F7EFFFFFDECEFFF7DEC6FFFFD6
|
||||
B5FFEFC6ADFFF7D6BDFFFFDEC6FFA5ADF7FF398CD6FF428CD6FFFFE7C6FF9C7B
|
||||
6BFF0000000000000000000000000000000000000000CEBDB5FFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEF
|
||||
EFFFF7F7EFFFF7EFEFFFB5CED6FF1842CEFF1842CEFFB5CED6FFFFDECEFF9C7B
|
||||
6BFF0000000000000000000000000000000000000000D6BDADFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EFEFFFF7EF
|
||||
EFFFEFEFEFFFA5ADF7FF398CD6FF1842CEFFBDBDBDFFFFDECEFFF7D6BDFF6B5A
|
||||
52FF0000000000000000000000000000000000000000CEBDADFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EFEFFFEFEFEFFFF7F7
|
||||
EFFFA5B5F7FF428CD6FF1842CEFF84ADBDFFFFDECEFFFFE7C6FFF7C6ADFF6B63
|
||||
52FF0000000000000000000000000000000000000000CEBDADFFFFFFFFFFFFFF
|
||||
FFFFA5ADFFFFB5CED6FFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFF7F7E7FFA5AD
|
||||
F7FF398CD6FF1842CEFF8C9CA5FFDED6CEFFF7DECEFFF7DEBDFFF7BD9CFF6B5A
|
||||
52FF0000000000000000000000000000000000000000CEBDB5FFF7F7EFFFA5AD
|
||||
F7FF428CD6FF398CD6FFA5ADF7FFFFFFFFFFF7EFEFFFF7F7EFFFA5ADF7FF428C
|
||||
D6FF1842CEFF398CD6FFFFDEC6FFF7E7CEFFFFD6BDFFF7DEC6FFEFBD9CFF6B63
|
||||
52FF0000000000000000000000000000000000000000E7BDADFFA5E7F7FF1842
|
||||
CEFF1842CEFF1842CEFFADB5F7FFA5ADF7FFEFF7EFFFA5ADF7FF398CD6FF1842
|
||||
CEFF1842CEFFE7D6CEFFFFDECEFFF7D6BDFFF7DEC6FFF7CEADFFE7AD8CFF6B5A
|
||||
52FF0000000000000000000000000000000000000000CEAD9CFFFFFFFFFFADB5
|
||||
F7FF1842CEFF1842CEFF1842CEFFA5ADF7FFA5ADF7FF428CD6FF1842CEFF1842
|
||||
CEFFBDBDBDFFFFE7C6FFF7D6C6FFF7DEBDFFF7D6C6FFF7C6ADFFE7B58CFF4A42
|
||||
31FF0000000000000000000000000000000000000000C6B59CFFFFFFFFFFFFFF
|
||||
FFFFBDCED6FF1842CEFF1842CEFF1842CEFF428CD6FF1842CEFF1842CEFF428C
|
||||
D6FFFFDECEFFF7DECEFFF7DEBDFFFFD6C6FFF7D6B5FFEFC6ADFFF7B58CFF4A39
|
||||
31FF0000000000000000000000000000000000000000CEAD9CFFFFFFFFFFFFFF
|
||||
FFFFF7EFEFFFBDD6DEFF1842CEFF2142CEFF1842CEFF1842CEFF1842CEFFDED6
|
||||
CEFFF7DEC6FFFFDEBDFFF7D6C6FFF7D6B5FFF7CEB5FFEFC6A5FFF7A573FF4A39
|
||||
31FF0000000000000000000000000000000000000000C6AD9CFFFFFFFFFFF7F7
|
||||
EFFFEFEFEFFFF7EFEFFFB5CED6FF1842CEFF1842CEFF2142CEFFD6C6ADFFF7D6
|
||||
BDFFF7D6BDFFF7CEADFFEFC6ADFFF7C6ADFFF7BD9CFFE7BD94FFF7A57BFF4A42
|
||||
31FF0000000000000000000000000000000000000000CEAD9CFFEFF7EFFFFFD6
|
||||
C6FFF7D6BDFFEFC6A5FFF7CEADFF8C9CA5FF1842CEFFAD9C8CFFE7B594FFE7AD
|
||||
8CFFE7AD8CFFE7AD8CFFF7B58CFFF7B58CFFEFA573FFF7A57BFFEF9463FF4A42
|
||||
31FF0000000000000000000000000000000000000000CEAD8CFF9C736BFF6B5A
|
||||
52FF6B6352FF735A52FF6B5A52FF6B6352FFA57B6BFF6B5A52FF736352FF6B5A
|
||||
52FF4A4231FF4A4231FF4A3931FF4A4231FF4A3931FF4A4231FF4A4231FF0000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000008CC6D6FF8CBD
|
||||
D6FF8CC6D6FF8CC6CEFF8CBDD6FF8CC6CEFF8CC6D6FF8CBDD6FF8CC6CEFF94BD
|
||||
D6FF7BADC6FF84ADC6FF7BADC6FF84ADC6FF7BADBDFF84ADC6FF7BADC6FF84AD
|
||||
BDFF7BADC6FF00000000000000000000000000000000000000008CC6CEFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFF395A7BFF000000000000000000000000000000000000000094BDD6FFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFF39637BFF00000000000000000000000000000000000000008CC6D6FFFFFF
|
||||
FFFFCEF7FFFFC6EFFFFFC6F7FFFFCEF7FFFFC6EFFFFFC6F7FFFFC6F7FFFFC6F7
|
||||
FFFFC6F7FFFFC6F7FFFFC6F7FFFFC6F7FFFFC6F7FFFFC6F7FFFFC6F7FFFFC6F7
|
||||
FFFF395A7BFF00000000000000000000000000000000000000008CC6CEFFC6EF
|
||||
FFFFA5F7FFFFA5F7FFFFADEFFFFFA5F7FFFFA5F7FFFFADF7FFFFA5EFFFFFADF7
|
||||
FFFFA5EFFFFFADF7FFFFA5EFFFFFADF7FFFFA5EFFFFFADF7FFFFA5EFFFFFADF7
|
||||
FFFF396373FF00000000000000000000000000000000000000008CC6D6FFC6F7
|
||||
FFFFADF7FFFFA5F7F7FFADF7FFFFA5F7F7FFADEFFFFFA5F7F7FFADF7FFFFA5F7
|
||||
F7FFADF7FFFFA5F7F7FFADF7FFFFA5F7F7FFADF7FFFFA5F7FFFFADF7FFFFA5F7
|
||||
FFFF315A73FF00000000000000000000000000000000000000008CC6CEFFC6EF
|
||||
FFFFA5EFFFFFADF7FFFFA5EFFFFFADF7FFFFA5F7FFFFA5F7FFFFADF7FFFFA5EF
|
||||
FFFFA5F7FFFFADF7FFFFA5EFFFFFA5F7FFFFADF7FFFFA5EFFFFFA5F7F7FFADF7
|
||||
FFFF39637BFF00000000000000000000000000000000000000007BADBDFF94E7
|
||||
FFFF8CE7F7FFA5F7FFFFADF7F7FFA5F7FFFFADEFF7FFA5F7FFFFADF7F7FFA5F7
|
||||
FFFFADF7F7FFA5EFFFFFADF7F7FFA5F7FFFFADF7F7FFA5F7FFFFADF7FFFFA5F7
|
||||
FFFF395A73FF000000000000000000000000000000000000000084ADBDFF8CE7
|
||||
FFFF94E7F7FFA5F7FFFFADEFFFFFA5F7FFFFA5F7FFFFADF7FFFFA5F7FFFFA5EF
|
||||
FFFFADF7FFFFA5F7FFFFA5F7FFFFADF7FFFFA5EFFFFFADF7F7FFA5EFFFFFADF7
|
||||
FFFF31637BFF00000000000000000000000000000000000000007BADC6FF84D6
|
||||
F7FF8CE7FFFF8CE7F7FF8CE7F7FF94E7F7FF8CDEFFFF8CE7F7FF94E7F7FF8CE7
|
||||
F7FF8CE7FFFF94DEF7FF8CE7F7FF8CE7FFFF8CE7F7FF8CE7FFFF94E7F7FF8CE7
|
||||
FFFF395A73FF000000000000000000000000000000000000000084ADBDFF63C6
|
||||
F7FF94E7F7FF8CE7FFFF94E7FFFF8CE7F7FF8CE7FFFF94E7F7FF8CDEFFFF94E7
|
||||
FFFF8CE7F7FF94E7FFFF8CE7F7FF94DEFFFF8CE7F7FF94E7FFFF8CE7F7FF94E7
|
||||
FFFF31637BFF00000000000000000000000000000000000000007BADC6FF52BD
|
||||
F7FF7BD6F7FF94E7F7FF8CDEFFFF94E7F7FF8CE7FFFF8CE7F7FF94E7FFFF8CE7
|
||||
F7FF8CE7FFFF8CE7F7FF94E7FFFF8CE7F7FF94E7FFFF8CDEF7FF8CE7FFFF94E7
|
||||
F7FF395A73FF000000000000000000000000000000000000000084ADBDFF319C
|
||||
CEFF39B5E7FF4ABDEFFF4AB5F7FF39B5DEFF39B5E7FF84D6F7FF8CE7F7FF8CDE
|
||||
FFFF94E7F7FF8CE7FFFF94DEF7FF8CE7FFFF8CE7F7FF94E7FFFF8CE7F7FF94E7
|
||||
FFFF31637BFF000000000000000000000000000000000000000084ADC6FF39B5
|
||||
E7FF39B5DEFF39B5E7FF39B5E7FF39B5DEFF00A5DEFF6BCEF7FF7BD6F7FF84D6
|
||||
F7FF7BD6F7FF84D6F7FF7BD6F7FF7BD6F7FF84D6F7FF7BD6F7FF7BD6F7FF84D6
|
||||
F7FF315A7BFF000000000000000000000000000000000000000084ADBDFF6BCE
|
||||
F7FF00A5DEFF39B5E7FF39B5DEFF39B5E7FF00A5DEFF39B5E7FF84D6F7FF7BD6
|
||||
FFFF84DEF7FF7BD6F7FF84DEF7FF7BD6FFFF84DEF7FF7BD6F7FF84D6FFFF7BDE
|
||||
F7FF39637BFF00000000000000000000000000000000000000007BADC6FF6BCE
|
||||
F7FF39B5DEFF1884BDFF39B5E7FF39B5DEFF39ADEFFF00A5DEFF6BCEF7FF7BD6
|
||||
F7FF7BD6F7FF84D6F7FF7BD6F7FF84D6F7FF7BD6F7FF84DEF7FF7BD6F7FF84D6
|
||||
F7FF31637BFF000000000000000000000000000000000000000084ADBDFF63C6
|
||||
F7FF6BCEF7FF52BDF7FF00A5DEFF1884BDFF08A5DEFF00A5DEFF219CEFFF6BCE
|
||||
F7FF63C6F7FF84DEF7FF7BD6FFFF7BDEF7FF84D6F7FF7BD6FFFF7BD6F7FF84D6
|
||||
F7FF39637BFF00000000000000000000000000000000000000007BADC6FF6BCE
|
||||
F7FF63C6F7FF6BCEF7FF6BCEF7FF4ABDF7FF299CEFFF319CCEFF08A5DEFF319C
|
||||
CEFF39ADEFFF39B5E7FF4AB5EFFF52BDF7FF63C6F7FF6BCEF7FF6BCEF7FF63CE
|
||||
F7FF395A73FF000000000000000000000000000000000000000084ADC6FF3963
|
||||
73FF395A7BFF396373FF395A7BFF395A73FF39637BFF396373FF39637BFF3963
|
||||
73FF39637BFF39637BFF395A73FF39637BFF396373FF395A7BFF396373FF395A
|
||||
7BFF39637BFF0000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000008494A5FF849C
|
||||
A5FF849CA5FF8C9CA5FF849CADFF849CA5FF8C9CA5FF00000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
000000000000000000000000000000000000000000008C9CA5FFB5CEDEFFCEF7
|
||||
FFFFC6F7FFFFC6EFFFFFADF7FFFFADE7F7FFB5CED6FF849CA5FF000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000008494A5FF84ADC6FFB5CED6FFB5CE
|
||||
D6FFB5CEDEFFB5CED6FF8CBDCEFF8CC6D6FF8CBDCEFF84ADC6FF849CA5FF0000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000008C9CA5FF849CA5FF8C9CADFF849C
|
||||
A5FF8C9CA5FF849CA5FF8C9CA5FF8C9CA5FF6B848CFF6B7B8CFF6B848CFF6B7B
|
||||
8CFF6B848CFF6B7B8CFF6B7B8CFF6B7B8CFF6B7B8CFF6B7B8CFF6B7B8CFF6B7B
|
||||
8CFF6B7B8CFF000000000000000000000000849CADFFCEF7FFFFC6EFFFFFC6F7
|
||||
FFFFC6EFFFFFC6F7FFFFC6F7FFFFADE7F7FFADE7F7FFADE7F7FFADE7F7FF7BD6
|
||||
F7FF84DEF7FF7BD6F7FF84DEF7FF7BDEF7FF6BCEF7FF6BCEF7FF63CEF7FF6BCE
|
||||
F7FF84ADC6FF6B7B8CFF0000000000000000849CA5FFC6EFFFFFC6F7FFFFC6EF
|
||||
FFFFADE7F7FFADE7F7FFADDEF7FFADE7F7FF8CE7F7FF7BD6F7FF7BDEF7FF6BC6
|
||||
F7FF63CEF7FF6BC6F7FF63CEF7FF52B5F7FF4AB5F7FF4AB5F7FF39B5DEFF39B5
|
||||
E7FF319CCEFF39637BFF0000000000000000849CA5FFC6F7FFFFC6EFFFFFADF7
|
||||
FFFFA5E7EFFFADE7F7FFA5E7EFFF8CE7F7FF84D6F7FF7BD6F7FF6BC6F7FF6BCE
|
||||
F7FF6BC6F7FF6BCEF7FF4AB5EFFF52BDF7FF4ABDEFFF39B5DEFF39B5E7FF319C
|
||||
CEFF31A5CEFF735A52FF00000000000000008C9CA5FFC6EFFFFFA5F7FFFFADE7
|
||||
EFFFADE7F7FFA5E7EFFF94E7FFFF7BD6F7FF84D6FFFF7BD6F7FF6BCEF7FF63C6
|
||||
F7FF6BCEF7FF4AB5EFFF52BDF7FF4AB5EFFF39B5E7FF39B5E7FF39B5E7FF399C
|
||||
CEFF319CCEFF39637BFF0000000000000000849CA5FFC6F7FFFFADE7F7FFADDE
|
||||
F7FFA5E7EFFFADE7F7FF8CE7F7FF84D6F7FF7BDEF7FF6BC6F7FF6BCEF7FF63CE
|
||||
F7FF6BC6F7FF4ABDF7FF52B5EFFF4ABDF7FF39B5DEFF39B5E7FF39ADEFFF319C
|
||||
CEFF188CC6FF523931FF00000000000000008C9CA5FFC6EFFFFFADE7EFFFA5E7
|
||||
F7FFADE7EFFF94E7FFFF7BD6F7FF84D6F7FF63C6F7FF6BCEF7FF63C6F7FF6BCE
|
||||
F7FF4AB5EFFF52BDF7FF4AB5EFFF39B5E7FF39B5DEFF39B5E7FF31ADEFFF399C
|
||||
CEFF188CC6FF4A4231FF0000000000000000849CA5FFC6F7FFFFADE7F7FFADDE
|
||||
EFFF8CE7FFFF7BD6F7FF7BD6F7FF84DEF7FF63C6F7FF6BCEF7FF6BC6F7FF4ABD
|
||||
EFFF52B5F7FF4ABDEFFF39B5E7FF39B5E7FF39B5DEFF39A5F7FF39ADEFFF319C
|
||||
CEFF1884BDFF524231FF00000000000000008C9CA5FFC6EFFFFFADE7F7FFA5E7
|
||||
EFFF94E7FFFF7BD6F7FF84D6F7FF63C6F7FF6BCEF7FF6BCEF7FF4AB5EFFF52BD
|
||||
F7FF4AB5F7FF39B5DEFF39B5E7FF39B5DEFF31ADF7FF39ADEFFF319CCEFF399C
|
||||
CEFF188CC6FF4A4231FF0000000000000000849CA5FFADE7F7FFA5E7EFFF94E7
|
||||
FFFF7BD6F7FF84D6F7FF63CEF7FF6BCEF7FF6BC6F7FF63CEF7FF52B5F7FF4ABD
|
||||
EFFF39B5E7FF39B5DEFF39B5E7FF39A5EFFF39ADEFFF319CCEFF39A5CEFF1884
|
||||
C6FF188CBDFF4A3931FF00000000000000008494A5FFADE7F7FF8CE7FFFF7BD6
|
||||
F7FF84D6F7FF63CEF7FF6BC6F7FF6BCEF7FF63C6F7FF52BDF7FF4AB5EFFF39B5
|
||||
E7FF39B5DEFF39B5E7FF31ADEFFF39ADF7FF319CCEFF399CD6FF319CCEFF188C
|
||||
BDFF1884C6FF4A4231FF0000000000000000849CA5FFADE7F7FF7BD6F7FF84D6
|
||||
F7FF7BDEF7FF6BC6F7FF63CEF7FF6BC6F7FF4ABDEFFF52B5EFFF4ABDF7FF39B5
|
||||
DEFF39B5E7FF39A5EFFF39ADEFFF319CCEFF39A5CEFF319CCEFF39A5CEFF1884
|
||||
C6FF188CBDFF000000FF0000000000000000849CA5FFADE7F7FF84D6F7FF7BDE
|
||||
F7FF6BC6F7FF6BCEF7FF63C6F7FF6BCEF7FF52BDF7FF4AB5F7FF39B5DEFF39B5
|
||||
E7FF39B5E7FF39ADEFFF31ADF7FF399CCEFF319CCEFF399CCEFF31A5CEFF1884
|
||||
BDFF188CC6FF000000FF0000000000000000849CADFFADE7EFFF7BD6F7FF6BC6
|
||||
F7FF4ABDF7FF4AB5EFFF52BDEFFF4AB5F7FF39B5DEFF39ADEFFF319CCEFF399C
|
||||
CEFF319CCEFF319CCEFF399CCEFF31A5CEFF1884C6FF188CC6FF1884BDFF188C
|
||||
C6FF1884BDFF000000FF00000000000000008C9CA5FFADE7F7FF4AB5F7FF4ABD
|
||||
F7FF84ADBDFF39B5E7FF319CCEFF399CCEFF319CCEFF319CCEFF1884BDFF188C
|
||||
C6FF1884BDFF188CC6FF188CBDFF1884C6FF188CBDFF1884BDFF188CC6FF1884
|
||||
BDFF188CC6FF000000FF00000000000000006B7B8CFF396373FF39637BFF5239
|
||||
29FF4A4231FF524231FF4A4231FF524231FF4A4231FF524231FF000000FF0000
|
||||
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
|
||||
00FF000000FF000000FF00000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000
|
||||
}
|
||||
end
|
||||
object SmallImages: TImageList
|
||||
left = 40
|
||||
top = 16
|
||||
Bitmap = {
|
||||
4C69060000001000000010000000000000000000000000000000000000000000
|
||||
000000000000CEBDADFFC6ADA5FFC6AD9CFFC6ADA5FF00000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000008CBD
|
||||
CEFFC6ADA5FFEFE7DEFFC6F7FFFFC6F7FFFFBDC6CEFFCEBDADFF000000000000
|
||||
0000000000000000000000000000000000000000000000000000CEBDB5FFCEBD
|
||||
ADFFC6EFFFFFC6F7FFFFC6EFFFFFADE7EFFF8CE7FFFF63CEF7FFC6AD9CFF8C9C
|
||||
A5FF0000000000000000000000000000000000000000CEBDADFFC6D6DEFFC6F7
|
||||
FFFFC6F7FFFFC6EFFFFFADEFFFFFA5E7EFFF7BD6F7FF6BC6F7FF63CEF7FF8CBD
|
||||
D6FFC6AD9CFF84ADC6FF00000000C6AD9CFFCEB5ADFFC6F7FFFFC6EFFFFFC6EF
|
||||
FFFFC6F7FFFFA5EFFFFFADE7EFFF7BD6F7FF63C6F7FF6BCEF7FF6BC6EFFF6BCE
|
||||
F7FF4AB5EFFF8CADC6FF8C9CA5FFC6AD9CFFADF7FFFFA5E7F7FFADE7EFFFADE7
|
||||
EFFF7BD6F7FF6BC6F7FF63CEF7FF6BCEF7FF6BCEEFFF4AADEFFF42B5EFFF4AAD
|
||||
E7FF42B5EFFF29BDEFFFBD9C8CFFC6ADA5FFADE7EFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7EFE7FFFFF7EFFFFFEFE7FFFFF7
|
||||
EFFFEFDEDEFF42B5EFFF94847BFFC6AD9CFFCEBDB5FFF7EFEFFFFFEFE7FFE7E7
|
||||
DEFFFFEFEFFFFFEFE7FFF7F7EFFFFFEFE7FFF7EFEFFFFFEFE7FFF7DECEFFF7F7
|
||||
E7FFFFD6C6FF94847BFF94847BFFC6ADA5FFF7CEB5FFDEC6ADFFF7EFEFFFFFEF
|
||||
EFFFE7BD94FFE7B594FFC6ADA5FFC6AD9CFFC6ADA5FFC6AD9CFFE7E7DEFFFFDE
|
||||
C6FFB59C8CFFE7AD84FF94847BFFC6A58CFFFFFFFFFFFFDEC6FFDEC6ADFFDEC6
|
||||
ADFFDEBDADFFDECEC6FFDEC6ADFFDEC6B5FFDEC6ADFFC6ADA5FFC6AD9CFFB59C
|
||||
8CFFE7AD8CFFFFD69CFF8C8484FFBDA594FFFFFFFFFFFFFFFFFFBDA58CFFDECE
|
||||
C6FFFFF7EFFFF7EFEFFFFFF7EFFFF7EFEFFFFFDECEFFFFDEC6FFDEA57BFFB58C
|
||||
73FFFFD69CFFFFCE94FF94847BFFC6A58CFFFFFFFFFFC6ADA5FFDECEC6FFF7EF
|
||||
EFFFF7EFE7FFFFEFEFFFF7EFE7FFFFF7E7FFF7DEC6FFF7DEC6FFFFD6ADFFE7AD
|
||||
84FFB58473FFFFB57BFFCE734AFFB59C8CFFC6ADA5FFDECEC6FFFFFFFFFFF7F7
|
||||
E7FFFFDECEFFF7E7C6FFFFDECEFFF7DEC6FFFFD6ADFFFFDEB5FFFFD69CFFFFCE
|
||||
94FFE79463FFC67B4AFFCE7342FFBD9C84FFF7D6BDFFFFFFFFFFFFDECEFFFFDE
|
||||
ADFFFFD69CFFFFC68CFFFFC68CFFFFC694FFFFB57BFFFFB57BFFF7A57BFFEFA5
|
||||
7BFFE79463FFD6845AFFB56331FFB59C8CFFB59C8CFFB58C73FFB58473FFB58C
|
||||
73FF8C8484FFCE734AFFC6734AFFC67B42FFC6734AFFC6734AFFC6734AFFB563
|
||||
31FFBD6331FFB56331FFBD6331FF000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF4A3931FFFF00FFFF4A4231FFFF00
|
||||
FFFF4A4231FFFF00FFFF4A4231FFFF00FFFF523931FFFF00FFFF4A4231FFFF00
|
||||
FFFF524231FFFF00FFFF524231FFB59C8CFFFFFFFFFF94847BFFFFFFFFFF9484
|
||||
84FFFFFFFFFF94847BFFFFFFFFFF948484FFFFFFFFFF52636BFFFFFFFFFF525A
|
||||
6BFFFFFFFFFF52636BFFFF00FFFFF7A58CFFF7AD94FFF7A57BFFDEA57BFFDEA5
|
||||
7BFFE7946BFFE79463FFE7946BFFD68452FFDE7B4AFFD68452FFCE7B4AFFCE73
|
||||
4AFFC67B42FFCE734AFF524231FFEFAD94FFF7EFEFFFFFF7EFFFF7EFEFFFFFF7
|
||||
EFFFF7F7EFFFF7EFEFFFF7AD8CFFF7A57BFFF7A57BFFF7A57BFFEFA57BFFF7A5
|
||||
7BFFF7A57BFFF7A57BFF524231FFF7AD8CFFF7A58CFFEFA573FFF7A57BFFEFA5
|
||||
73FFF7A57BFFE79463FFE79463FFDE946BFFD68452FFDE7B4AFFDE7B4AFFDE7B
|
||||
4AFFDE7B4AFFDE7B4AFF524231FFBDADA5FFFFFFFFFFFFFFFFFFDEA57BFFFFFF
|
||||
FFFFFFFFFFFFDEA57BFFFFFFFFFFFFFFFFFFDEA57BFFFFFFFFFFFFFFFFFFDEA5
|
||||
7BFFFFF7EFFFF7EFEFFF4A4231FFC6ADA5FFFFFFFFFFFFFFFFFFB59C8CFFFFFF
|
||||
FFFFFFFFFFFFB59C8CFFFFFFFFFFFFFFFFFFB59C8CFFFFFFFFFFFFF7EFFFB594
|
||||
8CFFFFF7EFFFDECEC6FF4A4239FFC6AD9CFFD6AD94FFB59C8CFFBD8473FFDEA5
|
||||
7BFFB59C8CFFB58C73FFDEA57BFFB59C8CFF42B5EFFF2994DEFF1842CEFF184A
|
||||
CEFFDEA57BFF00000000524239FFC6ADA5FFFFFFFFFFFFFFFFFFDEA57BFFFFFF
|
||||
FFFFFFFFFFFFDEA57BFFFFFFFFFFFFFFFFFF299CDEFFFFFFFFFFFFF7EFFF1842
|
||||
C6FFFFF7EFFFDECECEFF4A4231FFC6AD9CFFFFFFFFFFFFFFFFFFB59C8CFFFFFF
|
||||
FFFFFFFFFFFFB59C8CFFFFFFFFFFFFEFEFFF1842CEFFFFF7EFFFFFEFE7FF1842
|
||||
CEFFFFF7EFFFCEBDADFF4A4231FFC6ADA5FFD6AD94FF00000000BD8C73FFDEA5
|
||||
7BFFB59C8CFFBD8473FFDEA57BFF00000000214AC6FF1842CEFF184ACEFF1842
|
||||
CEFFDEA57BFFBD9C8CFF4A4231FFC6B5A5FFFFFFFFFFFFFFFFFFCEAD94FFFFFF
|
||||
FFFFFFFFFFFFDEA57BFFFFF7EFFFFFEFEFFFDEA57BFFFFF7EFFFFFEFE7FFDEA5
|
||||
7BFFFFE7CEFFC6B5ADFF524239FFC6AD9CFFFFFFFFFFFFFFFFFFB59484FFFFFF
|
||||
FFFFFFF7EFFF00000000F7EFEFFFF7EFEFFF00000000F7EFEFFFF7F7EFFF0000
|
||||
0000FFDECEFFCEBDB5FF4A4231FFC6ADA5FFC6ADA5FF00000000BD8C73FFE7B5
|
||||
94FFD6AD94FFB58473FFEFBD94FF00000000BD8473FFC6AD9CFFB59C8CFFBD84
|
||||
73FFCEAD8CFFB59C8CFF524231FF000000004A4239FF524231FF4A4239FF5242
|
||||
39FF4A4231FF524239FF4A4231FF4A4239FF524231FF4A4239FF524231FF4A42
|
||||
39FF524231FF524239FF4A4231FF000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000CEBDADFFCEBDB5FFCEBDADFFCEBDB5FFCEBD
|
||||
ADFFCEBDB5FFC6ADA5FFC6AD9CFFC6ADA5FFC6AD9CFFC6ADA5FFC6A58CFFB59C
|
||||
8CFFB59C84FFB5948CFFB59C8CFFCEBDB5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFF526363FFC6BDADFFFFFFFFFFEFDEDEFF5A7B8CFF9484
|
||||
7BFF5A7B8CFFBDC6CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7
|
||||
EFFFFFEFEFFFDED6CEFF4A3931FFCEBDB5FFFFFFFFFF4A6363FF637B8CFF8C9C
|
||||
ADFF849CA5FF94847BFFEFE7DEFFFFFFFFFFF7F7EFFFFFFFFFFFF7EFEFFFF7EF
|
||||
E7FFFFEFE7FFDECEC6FF4A4231FFCEBDADFFFFFFFFFF524239FF4A3931FFEFE7
|
||||
DEFFBDC6CEFF94847BFFE7DEDEFFF7F7EFFFF7BDA5FFF7BD9CFFFFB57BFFF7A5
|
||||
7BFFF7A57BFFCEBDB5FF4A4231FFC6ADA5FFFFFFFFFF52636BFF524239FFCEBD
|
||||
B5FF94847BFF52636BFFFFFFFFFFFFEFEFFFF7F7E7FFF7EFEFFFFFF7EFFFF7EF
|
||||
EFFFF7E7C6FFCEBDB5FF524231FFC6ADA5FFFFFFFFFFEFE7DEFF52636BFFB59C
|
||||
84FF8C9CADFF525A63FFC6D6DEFFF7F7E7FFF7CEBDFFC6A58CFFB59C84FFB59C
|
||||
84FFB58473FFCEBDB5FF4A4231FFBDAD9CFFFFF7EFFF107BBDFF8CADC6FF1842
|
||||
CEFF1884BDFF184ACEFF1842CEFFFFF7EFFFFFDEC6FFF7DECEFFFFDECEFFF7D6
|
||||
BDFFFFD6BDFFE7BD94FF4A3939FFC6AD9CFFEFE7DEFF1842C6FF4AB5EFFF299C
|
||||
DEFF214ACEFF1884BDFF1842C6FFFFEFEFFFDEC6ADFFC6A594FFB59C84FFB59C
|
||||
8CFFB58473FFEFBD9CFF4A4231FFC6A594FFF7F7EFFFBDC6CEFF1842CEFF214A
|
||||
C6FF1842CEFF214ACEFFC6A58CFFFFE7CEFFF7DEC6FFF7D6BDFFF7D6C6FFFFDE
|
||||
BDFFF7D6BDFFE7B58CFF4A4239FFB59C8CFFFFDEC6FFFFDEC6FFDECEC6FFE7C6
|
||||
ADFFDEC6ADFFE7C6B5FFDEC6ADFFEFC6A5FFE7B59CFFE7BD94FFE7B594FFE7AD
|
||||
8CFFE7B58CFFE7AD8CFF524231FFB59C84FF52636BFF4A4231FF4A4231FF5242
|
||||
39FF4A4231FF4A4231FF524239FF4A4231FF524231FF4A4239FF524239FF4A42
|
||||
31FF4A4239FF524239FF4A4239FF000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000084ADC6FF8C9CA5FF849CADFF0000000000000000000000000000
|
||||
000000000000000000000000000000000000DEC6ADFFCEBDB5FFCEBDADFFCEBD
|
||||
B5FF8C9CA5FFADE7EFFFADE7F7FF8CC6D6FF526363FFC6ADA5FFC6AD9CFFC6A5
|
||||
94FF00000000000000000000000000000000CEBDADFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFF849CA5FF849CADFF94847BFF8CBDD6FF637B8CFFFFF7EFFFE7DEDEFFEFE7
|
||||
DEFF525A63FF000000000000000000000000CEBDB5FFFFFFFFFFFFFFFFFF8C9C
|
||||
ADFF7BD6F7FF8CE7FFFF7BD6F7FF63CEF7FF8C9CA5FF5A738CFFE7E7DEFFDECE
|
||||
C6FFB59C84FF000000000000000000000000CEBDB5FFFFFFFFFFFFFFFFFF849C
|
||||
A5FF637B8CFF637B8CFF637B8CFF637B8CFF5A7B8CFF8C9CADFF84ADBDFF1842
|
||||
CEFFB59C8CFF000000000000000000000000CEBDADFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFF7EFEFFFFFEFEFFFF7F7EFFFEFDEDEFFEFE7DEFF8CADC6FF1842CEFF8C9C
|
||||
A5FF948484FF000000000000000000000000C6AD9CFFFFFFFFFFFFFFFFFFFFEF
|
||||
EFFFF7F7E7FFFFEFEFFFF7EFE7FFE7E7DEFF2994DEFF184ACEFF8C9CA5FFDED6
|
||||
C6FF525A6BFF000000000000000000000000C6ADA5FFFFFFFFFFC6F7FFFFC6D6
|
||||
D6FFFFEFE7FFF7EFEFFFEFE7DEFF8CADBDFF1842CEFF5A7B8CFFFFDECEFFE7C6
|
||||
B5FF4A4231FF000000000000000000000000C6AD9CFFF7EFEFFF42ADEFFF4AB5
|
||||
EFFF84ADC6FFC6D6D6FF84ADC6FF1842CEFF214ACEFFFFDEC6FFF7DEBDFFC6AD
|
||||
A5FF4A4231FF000000000000000000000000C6AD9CFFFFF7EFFF2142C6FF1842
|
||||
CEFF299CDEFF2994DEFF184AC6FF1842CEFFCEBDADFFFFDEC6FFDECEC6FFC6AD
|
||||
A5FF4A4239FF000000000000000000000000C6ADA5FFF7F7EFFFC6D6D6FF1842
|
||||
CEFF214ACEFF2142CEFF184ACEFF8C9CA5FFF7D6B5FFF7CEBDFFDEC6ADFFD6AD
|
||||
8CFF524231FF000000000000000000000000C6AD9CFFFFEFE7FFFFF7EFFFEFE7
|
||||
DEFF2142CEFF184ACEFF637B8CFFDECEC6FFF7CEB5FFDECEC6FFDEC6B5FFD6AD
|
||||
94FF4A4239FF000000000000000000000000C6ADA5FFF7F7EFFFDECEC6FFDECE
|
||||
C6FFDECEC6FF8C9CA5FFCEBDB5FFE7BD94FFC6ADA5FFC6AD9CFFD6AD8CFFBDA5
|
||||
94FF524231FF000000000000000000000000D6AD94FF523931FF4A4231FF4A42
|
||||
31FF4A4231FF52636BFF524231FF4A4239FF524231FF4A4239FF524231FF4A42
|
||||
39FF000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000008CBDD6FF8CC6CEFF94C6D6FF8CBD
|
||||
D6FF8CC6D6FF94C6D6FF8CBDD6FF8CC6CEFF94BDD6FF8CC6D6FF84ADBDFF84AD
|
||||
C6FF84ADC6FF84ADC6FF000000000000000094BDCEFFC6F7FFFFC6EFFFFFC6F7
|
||||
FFFFC6F7FFFFC6EFFFFFC6F7FFFFC6F7FFFFC6F7FFFFC6F7FFFFCEEFFFFFC6F7
|
||||
FFFFCEF7FFFF5A7B8CFF00000000000000008CC6D6FFC6F7FFFFADEFFFFFADEF
|
||||
F7FFADEFFFFFADEFF7FFADEFFFFFADEFFFFFADEFFFFFA5EFFFFFADEFFFFFA5EF
|
||||
F7FFADEFFFFF5A7B8CFF000000000000000084ADBDFFADEFFFFFADEFFFFFA5EF
|
||||
FFFFADEFFFFFA5EFFFFFADEFFFFFA5EFF7FFADEFFFFFA5EFF7FFADEFFFFFADEF
|
||||
FFFFADF7FFFF525A6BFF000000000000000084ADC6FFADE7EFFFA5EFFFFFADF7
|
||||
F7FFADEFFFFFADF7FFFFA5EFFFFFADEFFFFFADF7FFFFADEFFFFFA5EFF7FFADEF
|
||||
FFFFA5EFFFFF526363FF000000000000000084ADC6FF8CE7F7FF8CE7FFFF8CE7
|
||||
FFFF8CE7F7FF8CE7FFFF8CE7F7FF8CE7F7FF8CE7FFFF8CE7F7FF8CE7FFFF8CE7
|
||||
FFFF8CE7FFFF526363FF000000000000000084ADC6FF6BC6F7FF8CE7F7FF8CE7
|
||||
FFFF8CDEFFFF8CE7F7FF8CE7FFFF8CE7FFFF8CDEF7FF8CE7FFFF8CE7F7FF8CE7
|
||||
FFFF8CE7F7FF525A6BFF00000000000000008CADBDFF42B5EFFF7BD6F7FF8CE7
|
||||
FFFF8CE7F7FF8CE7FFFF8CDEFFFF8CE7F7FF8CE7FFFF8CE7FFFF8CE7FFFF8CE7
|
||||
FFFF8CE7FFFF526363FF000000000000000084ADC6FF4AADEFFF29BDEFFF4AB5
|
||||
EFFF42ADEFFF299CDEFF6BCEEFFF8CE7FFFF8CE7F7FF8CDEFFFF8CE7F7FF8CE7
|
||||
FFFF8CE7FFFF525A63FF000000000000000084ADBDFF6BCEF7FF299CDEFF29BD
|
||||
EFFF29BDEFFF299CDEFF29BDEFFF8CDEFFFF8CE7FFFF8CE7F7FF8CE7FFFF8CE7
|
||||
F7FF8CE7FFFF52636BFF000000000000000084ADC6FF6BCEF7FF4AADEFFF299C
|
||||
DEFF31BDF7FF29BDEFFF299CDEFF7BD6F7FF7BD6F7FF7BD6FFFF7BD6F7FF7BD6
|
||||
F7FF7BD6F7FF526363FF00000000000000008CADC6FF7BD6F7FF6BCEEFFF4AB5
|
||||
EFFF299CDEFF319CE7FF299CDEFF4AB5EFFF7BD6F7FF6BCEF7FF7BD6F7FF7BD6
|
||||
F7FF7BDEFFFF52636BFF000000000000000084ADBDFF6BCEF7FF7BD6F7FF6BC6
|
||||
F7FF4AB5E7FF2994DEFF299CDEFF1884BDFF299CDEFF4AADEFFF4AB5EFFF4AB5
|
||||
EFFF4AADEFFF526363FF00000000000000008CADC6FF5A738CFF637B8CFF5A7B
|
||||
8CFF637B8CFF637B8CFF5A636BFF525A63FF5A636BFF526363FF525A6BFF5263
|
||||
63FF526363FF52636BFF00000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000008C9CA5FF849CA5FF8C9CADFF849C
|
||||
A5FF8C9CA5FF0000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000849CADFFADE7F7FFADEFFFFFADEFFFFFADF7
|
||||
FFFF8CE7FFFF849CADFF00000000000000000000000000000000000000000000
|
||||
00000000000000000000000000008C9CA5FF849CA5FF8C9CA5FF849CA5FF849C
|
||||
A5FF8C9CA5FF8C9CA5FF849CA5FF8C9CA5FF849CADFF849CA5FF8C9CADFF849C
|
||||
A5FF849CA5FF0000000000000000849CADFFCEF7FFFFC6F7FFFFC6EFFFFFC6F7
|
||||
FFFFADEFFFFFADEFFFFFADEFFFFF8CE7FFFF8CE7FFFF7BD6F7FF6BCEF7FF63C6
|
||||
F7FF6BCEF7FF5A738CFF00000000849CA5FFC6EFFFFFADEFFFFFADEFFFFFADEF
|
||||
FFFFA5EFFFFF8CE7FFFF8CE7FFFF8CE7FFFF63C6EFFF6BCEF7FF4AADEFFF4AB5
|
||||
EFFF299CDEFF5A7B8CFF00000000849CADFFC6F7FFFFADEFFFFFA5EFFFFFADEF
|
||||
FFFF8CE7F7FF8CE7FFFF8CE7F7FF7BD6F7FF6BCEF7FF63C6F7FF4AB5E7FF2994
|
||||
DEFF1884BDFF5A636BFF000000008C9CA5FFC6F7FFFFA5EFF7FFADF7FFFFADEF
|
||||
F7FF8CE7FFFF8CE7FFFF7BD6F7FF63CEF7FF6BC6EFFF4AB5EFFF4AB5EFFF319C
|
||||
DEFF1884BDFF526363FF00000000849CA5FFADEFFFFFADEFFFFFA5EFFFFF8CE7
|
||||
FFFF8CE7F7FF7BD6F7FF6BC6F7FF6BCEF7FF4AADEFFF4AB5E7FF4AADEFFF299C
|
||||
DEFF1884BDFF524231FF000000008C9CADFFA5E7EFFFADEFFFFF8CE7F7FF8CE7
|
||||
FFFF7BD6F7FF63CEF7FF6BCEF7FF42ADE7FF4AB5EFFF4AB5EFFF2994DEFF299C
|
||||
DEFF1884BDFF4A4239FF0000000094847BFFADE7F7FF8CE7FFFF8CE7FFFF7BD6
|
||||
F7FF6BC6F7FF6BCEEFFF4AADEFFF4AB5EFFF4AB5E7FF2994DEFF299CE7FF2184
|
||||
BDFF1884BDFF524231FF000000005A7B8CFFADE7EFFF63CEF7FF4AADE7FF4AB5
|
||||
EFFF299CDEFF2994E7FF1884B5FF1884BDFF1884BDFF1884BDFF1884B5FF1884
|
||||
BDFF1884BDFF000000FF000000005A7B8CFF63738CFF526363FF52636BFF5242
|
||||
31FF524231FF524231FF000000FF000000FF000000FF000000FF000000FF0000
|
||||
00FF000000FF000000FF00000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000
|
||||
}
|
||||
end
|
||||
object ToolImages: TImageList
|
||||
Height = 12
|
||||
Width = 12
|
||||
left = 144
|
||||
top = 16
|
||||
Bitmap = {
|
||||
4C69060000000C0000000C000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000008484
|
||||
84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484
|
||||
84FF848484FF848484FF000000FF848484FF000000FF00FFFFFFFFFFFFFF00FF
|
||||
FFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF000000FF000000FF8484
|
||||
84FFC6C6C6FF000000FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFF
|
||||
FFFF000000FF008484FF000000FF848484FF00FFFFFFC6C6C6FF000000FF00FF
|
||||
FFFFFFFFFFFF00FFFFFFFFFFFFFF000000FF008484FFC6C6C6FF000000FF8484
|
||||
84FFFFFFFFFFFFFFFFFF008484FF000000FF00FFFFFFFFFFFFFF000000FF0084
|
||||
84FFC6C6C6FFC6C6C6FF000000FF848484FF00FFFFFF008484FFC6C6C6FF0084
|
||||
84FF000000FF000000FF008484FFC6C6C6FF008484FFC6C6C6FF000000FF8484
|
||||
84FF008484FFC6C6C6FFC6C6C6FFC6C6C6FF008484FF008484FFC6C6C6FFC6C6
|
||||
C6FFC6C6C6FF008484FF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6
|
||||
C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF8484
|
||||
84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484
|
||||
84FF848484FF848484FF000000FF000000FF000000FF000000FF000000FF0000
|
||||
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000008484
|
||||
84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484
|
||||
84FF848484FF848484FF000000FF848484FF000000FF00FFFFFFFFFFFFFF00FF
|
||||
FFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF000000FF000000FF8484
|
||||
84FFC6C6C6FF000000FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFF
|
||||
FFFF000000FF000084FF000000FF848484FF00FFFFFFC6C6C6FF000000FF00FF
|
||||
FFFFFFFFFFFF00FFFFFFFFFFFFFF000000FF000084FFC6C6C6FF000000FF8484
|
||||
84FFFFFFFFFFFFFFFFFF000084FF000000FF0000FFFF0000FFFF000000FF0000
|
||||
84FFC6C6C6FF0000FFFF0000FFFF848484FF00FFFFFF000084FFC6C6C6FF0000
|
||||
84FF0000FFFF0000FFFF0000FFFFC6C6C6FF0000FFFF0000FFFF0000FFFF8484
|
||||
84FF000084FFC6C6C6FFC6C6C6FFC6C6C6FF000084FF0000FFFF0000FFFF0000
|
||||
FFFF0000FFFF0000FFFF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6
|
||||
C6FFC6C6C6FFC6C6C6FF0000FFFF0000FFFF0000FFFFC6C6C6FF000000FF8484
|
||||
84FF848484FF848484FF848484FF848484FF848484FF0000FFFF0000FFFF0000
|
||||
FFFF0000FFFF0000FFFF000000FF000000FF000000FF000000FF000000FF0000
|
||||
00FF0000FFFF0000FFFF0000FFFF000000FF0000FFFF0000FFFF0000FFFF0000
|
||||
0000000000000000000000000000000000000000FFFF0000FFFF000000000000
|
||||
0000000000000000FFFF0000FFFF000000000000000000000000000000000000
|
||||
0000848484FFC6C6C6FF848484FF848484FF848484FF00000000000000000000
|
||||
0000000000000000000000000000848484FFFFFFFFFF848484FFC6C6C6FFFFFF
|
||||
FFFFFFFFFFFF848484FF00000000000000000000000000000000848484FFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FF848484FFFFFFFFFF848484FF0000
|
||||
00000000000000000000848484FFFFFFFFFFFFFFFFFF848484FF848400FF0000
|
||||
00FF848400FFC6C6C6FF848484FF000000000000000000000000848484FFFFFF
|
||||
FFFFFFFFFFFF848484FF000000FFFFFF00FF848484FF848484FF848484FF0000
|
||||
0000C6C6C6FFC6C6C6FF848484FFFFFFFFFFFFFFFFFF848484FF000000FFFFFF
|
||||
FFFF848484FFC6C6C6FF848484FFC6C6C6FF000000FF000000FF848484FFFFFF
|
||||
FFFFFFFFFFFF848484FF848400FF000000FF848400FF848484FF848484FF0000
|
||||
00FF848484FF0000000000000000000000FFFFFFFFFFFFFFFFFF848484FF8484
|
||||
84FF848484FF000000FF00000000848484FF0000000000000000000000000000
|
||||
0000000000FF000000FF000000FF000000FF000000FF00000000000000000000
|
||||
000000000000000000000000000000000000848484FFC6C6C6FF848484FFC6C6
|
||||
C6FF000000FF0000000000000000000000000000000000000000000000008484
|
||||
84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000000000
|
||||
00000000000000000000848484FFC6C6C6FF848484FFC6C6C6FF848484FFC6C6
|
||||
C6FF848484FF848484FF000000FF000000000000000000000000000000000000
|
||||
0000848484FFC6C6C6FF848484FF848484FF848484FF00000000000000000000
|
||||
0000000000000000000000000000848484FFFFFFFFFF848484FFC6C6C6FFFFFF
|
||||
FFFFFFFFFFFF848484FF00000000000000000000000000000000848484FFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FF848484FFFFFFFFFF848484FF0000
|
||||
00000000000000000000848484FFFFFFFFFFFFFFFFFF848484FF848400FF0000
|
||||
00FF848400FFC6C6C6FF848484FF000000000000000000000000848484FFFFFF
|
||||
FFFFFFFFFFFF848484FF000000FFFFFF00FF848484FF848484FF848484FF0000
|
||||
0000C6C6C6FFC6C6C6FF848484FFFFFFFFFFFFFFFFFF848484FF0000FFFF0000
|
||||
FFFF0000FFFF0000FFFF848484FFC6C6C6FF000000FF000000FF848484FFFFFF
|
||||
FFFFFFFFFFFF0000FFFFFFFFFFFF0000FFFF0000FFFFFFFFFFFF0000FFFF0000
|
||||
00FF848484FF0000000000000000000000FFFFFFFFFF0000FFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFF0000FFFF848484FF0000000000000000000000000000
|
||||
0000000000FF0000FFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000
|
||||
000000000000000000000000000000000000848484FF0000FFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFF0000FFFF000000000000000000000000000000008484
|
||||
84FFFFFFFFFF0000FFFFFFFFFFFF0000FFFF0000FFFFFFFFFFFF0000FFFF0000
|
||||
00000000000000000000848484FFC6C6C6FF848484FFC6C6C6FF0000FFFF0000
|
||||
FFFF0000FFFF0000FFFF000000FF000000000000000000000000000000000084
|
||||
84FF848484FF848484FF848484FF000000000000000000000000000000000000
|
||||
00000000000000000000008484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF8484
|
||||
84FF000000000000000000000000000000000000000000000000000000FF0000
|
||||
00FF848484FFC6C6C6FF008484FF000000FF0000000000000000000000000000
|
||||
00000000000000000000848484FFC6C6C6FFFFFFFFFFFFFFFFFF008484FF0000
|
||||
00FF00000000000000000000000000000000000000FF00000000000000FF0000
|
||||
00FF848484FFC6C6C6FF000000FF000000FF00000000000000FF00000000C6C6
|
||||
C6FF000000FF000000FF848484FFC6C6C6FFFFFFFFFFFFFFFFFF848484FF0000
|
||||
00FF000000FF000000FFC6C6C6FF00000000000000FFFFFFFFFF000000FF0000
|
||||
00FF848484FFC6C6C6FF000000FF000000FFFFFFFFFF000000FF000000000000
|
||||
0000000000FFFFFFFFFF848484FFC6C6C6FFC6C6C6FF848484FF848484FF0000
|
||||
00FFFFFFFFFF000000FF000000000000000000000000000000FFFFFFFFFF0000
|
||||
00FF000000FF000000FF000000FFFFFFFFFF000000FF00000000000000000000
|
||||
00000000000000000000848484FF848484FF848484FF848484FF848484FF0000
|
||||
00FF000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000FF000000FF00000000000000000000000000000000000000000000
|
||||
000000000000C6C6C6FF848484FF000000FF000000FF000000FF000000FF0000
|
||||
00FF848484FF0000000000000000000000000000000000000000000000000084
|
||||
84FF848484FF848484FF848484FF000000000000000000000000000000000000
|
||||
00000000000000000000008484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF8484
|
||||
84FF000000000000000000000000000000000000000000000000000000FF0000
|
||||
00FF848484FFC6C6C6FF008484FF000000FF0000000000000000000000000000
|
||||
00000000000000000000848484FFC6C6C6FFFFFFFFFFFFFFFFFF008484FF0000
|
||||
00FF00000000000000000000000000000000000000FF00000000000000FF0000
|
||||
00FF848484FFC6C6C6FF000000FF000000FF00000000000000FF00000000C6C6
|
||||
C6FF000000FF000000FF848484FFC6C6C6FFFFFFFFFFFFFFFFFF0000FFFF0000
|
||||
FFFF0000FFFF0000FFFFC6C6C6FF00000000000000FFFFFFFFFF000000FF0000
|
||||
00FF848484FF0000FFFFFFFFFFFF0000FFFF0000FFFFFFFFFFFF0000FFFF0000
|
||||
0000000000FFFFFFFFFF848484FFC6C6C6FFC6C6C6FF0000FFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFF0000FFFF0000000000000000000000FFFFFFFFFF0000
|
||||
00FF000000FF0000FFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000
|
||||
00000000000000000000848484FF848484FF848484FF0000FFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFF0000FFFF000000000000000000000000000000000000
|
||||
0000000000FF0000FFFFFFFFFFFF0000FFFF0000FFFFFFFFFFFF0000FFFF0000
|
||||
000000000000C6C6C6FF848484FF000000FF000000FF000000FF0000FFFF0000
|
||||
FFFF0000FFFF0000FFFF00000000
|
||||
}
|
||||
end
|
||||
object OpenPictureDialog1: TOpenPictureDialog
|
||||
Title = 'Open existing file'
|
||||
left = 136
|
||||
top = 64
|
||||
end
|
||||
end
|
@ -0,0 +1,941 @@
|
||||
LazarusResources.Add('TJvNavPaneDemoMainFrm','FORMDATA',[
|
||||
'TPF0'#21'TJvNavPaneDemoMainFrm'#20'JvNavPaneDemoMainFrm'#4'Left'#2'i'#6'Heig'
|
||||
+'ht'#3#212#1#3'Top'#2'm'#5'Width'#3#6#2#18'HorzScrollBar.Page'#3#5#2#18'Vert'
|
||||
+'ScrollBar.Page'#3#211#1#7'Caption'#6#21'JvNavigationPane Demo'#8'DockSite'#9
|
||||
+#11'Font.Height'#2#245#9'Font.Name'#6#6'Tahoma'#8'OnCreate'#7#10'FormCreate'
|
||||
+#0#10'TPopupMenu'#10'PopupMenu1'#7'OnPopup'#7#15'PopupMenu1Popup'#4'left'#2
|
||||
+'\'#3'top'#2'@'#0#9'TMenuItem'#8'HideAll1'#7'Caption'#6#8'Hide All'#7'OnClic'
|
||||
+'k'#7#13'HideAll1Click'#0#0#9'TMenuItem'#8'ShowAll1'#7'Caption'#6#8'Show All'
|
||||
+#7'OnClick'#7#13'ShowAll1Click'#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0
|
||||
+#9'TMenuItem'#11'ChangeFont1'#7'Caption'#6#7'Font...'#7'OnClick'#7#16'Change'
|
||||
+'Font1Click'#0#0#9'TMenuItem'#7'Colors1'#7'Caption'#6#6'Colors'#0#9'TMenuIte'
|
||||
+'m'#9'Standard1'#7'Caption'#6#8'Standard'#7'Checked'#9#10'GroupIndex'#2#1#9
|
||||
+'RadioItem'#9#7'OnClick'#7#11'SchemaClick'#0#0#9'TMenuItem'#5'Blue1'#3'Tag'#2
|
||||
+#1#7'Caption'#6#4'Blue'#10'GroupIndex'#2#1#9'RadioItem'#9#7'OnClick'#7#11'Sc'
|
||||
+'hemaClick'#0#0#9'TMenuItem'#7'Silver1'#3'Tag'#2#2#7'Caption'#6#6'Silver'#10
|
||||
+'GroupIndex'#2#1#9'RadioItem'#9#7'OnClick'#7#11'SchemaClick'#0#0#9'TMenuItem'
|
||||
+#6'Olive1'#3'Tag'#2#3#7'Caption'#6#5'Olive'#10'GroupIndex'#2#1#9'RadioItem'#9
|
||||
+#7'OnClick'#7#11'SchemaClick'#0#0#0#9'TMenuItem'#16'BackgroundImage1'#7'Capt'
|
||||
+'ion'#6#19'Background Image...'#7'OnClick'#7#21'BackgroundImage1Click'#0#0#9
|
||||
+'TMenuItem'#2'N2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#16'Dontallowresize1'#7
|
||||
+'Caption'#6#18'Don''t allow resize'#7'OnClick'#7#21'Dontallowresize1Click'#0
|
||||
+#0#9'TMenuItem'#2'N3'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#14'ShowToolPanel1'#7
|
||||
+'Caption'#6#15'Show Tool Panel'#7'OnClick'#7#19'ShowToolPanel1Click'#0#0#9'T'
|
||||
+'MenuItem'#16'ShowCloseButton1'#7'Caption'#6#17'Show Close Button'#7'OnClick'
|
||||
+#7#21'ShowCloseButton1Click'#0#0#0#10'TImageList'#11'LargeImages'#6'Height'#2
|
||||
+#20#5'Width'#2#24#4'left'#2'\'#3'top'#2#16#6'Bitmap'#10#14'-'#0#0'Li'#6#0#0#0
|
||||
+#24#0#0#0#20#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#206#181#156#255#198#173#156#255#206#173#156#255#206
|
||||
+#173#156#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#189#189#189#255#231#198#181#255#198#247#255#255#198#247#255#255#173#231
|
||||
+#247#255#198#173#156#255#206#173#156#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#206#173#156#255#222#214#206#255#198#239#255#255#198#239#255
|
||||
+#255#198#247#255#255#173#231#247#255'{'#214#247#255#140#198#214#255#173#148
|
||||
+#132#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#189#189#189#255#206#189#181#255#198#247
|
||||
+#255#255#198#239#255#255#198#247#255#255#198#247#255#255#198#239#255#255#140
|
||||
+#231#255#255'{'#222#247#255'k'#198#247#255'k'#206#247#255#173#148#132#255#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#206#173#156#255#222#214#206#255#198#239#255#255#198#247#255#255#198
|
||||
+#239#255#255#198#247#255#255#198#239#255#255#173#231#247#255#140#231#247#255
|
||||
+#132#214#247#255'c'#206#247#255'k'#198#247#255'J'#189#247#255#189#189#189#255
|
||||
+#132#156#165#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#206#173#156#255#198#247#255#255#198#247#255#255#198#239#255#255#198#247
|
||||
+#255#255#165#231#247#255#148#231#255#255'{'#214#247#255'{'#214#247#255#132
|
||||
+#214#247#255'{'#214#247#255'k'#198#247#255'k'#206#247#255'J'#181#239#255'R'
|
||||
+#181#247#255'J'#189#247#255#173#148#132#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#198#173#156#255#198#247#255#255#173#231#247#255#165#231#247
|
||||
+#255#148#231#247#255'{'#214#247#255'k'#198#247#255'c'#206#247#255'R'#181#239
|
||||
+#255'J'#189#247#255'J'#181#247#255'R'#189#247#255'1'#181#222#255'9'#173#247
|
||||
+#255'1'#165#239#255'!'#165#239#255'9'#165#239#255'9'#173#247#255#165'{k'#255
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#173#156#255'c'#198#247#255#247
|
||||
+#239#239#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#247#247#231#255#247#239#239
|
||||
+#255#247#247#239#255#247#239#239#255#173#231#247#255#173#231#239#255#148#198
|
||||
+#214#255'1'#173#239#255#156'{k'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#214#173#132#255'{'#214#247#255#247#247#239#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#247#239#239#255#239#239#239#255#247#239#231#255#239#239#239#255#247
|
||||
+#247#239#255#247#239#239#255#222#198#173#255'1'#165#247#255#156'{k'#255'JB1'
|
||||
+#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#173#165#255#198#173#156#255#255#222
|
||||
+#198#255#255#255#255#255#247#222#206#255#255#222#198#255#247#247#239#255#255
|
||||
+#222#206#255#255#222#198#255#255#222#206#255#247#222#198#255#247#247#239#255
|
||||
+#247#239#239#255#239#247#239#255#247#239#239#255#239#239#239#255#214#189#173
|
||||
,#255#165'{k'#255#156'{k'#255'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#214#173
|
||||
+#132#255#255#222#206#255#198#173#156#255#255#255#255#255#247#247#239#255#214
|
||||
+#206#206#255#222#214#206#255#214#214#206#255#214#214#206#255#222#214#206#255
|
||||
+#214#214#206#255#222#189#173#255#222#198#173#255#231#198#173#255#214#206#206
|
||||
+#255#247#247#239#255#156'{k'#255#231#173#140#255#156'{k'#255'JB1'#255#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#214#165#140#255#255#255#255#255#255#231#206#255#198
|
||||
+#173#156#255#255#255#255#255#255#255#255#255#206#165#132#255#214#165#140#255
|
||||
+#214#165#132#255#173#148#140#255#173#148#140#255#173#148#140#255#173#148#140
|
||||
+#255#247#239#239#255#247#247#239#255#156'sk'#255#231#189#148#255#255#206#165
|
||||
+#255#156'{k'#255'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#156'{'#255#255
|
||||
+#255#255#255#239#239#239#255#247#247#239#255#198#173#156#255#214#165#140#255
|
||||
+#255#231#206#255#239#239#239#255#247#247#239#255#247#239#239#255#247#247#239
|
||||
+#255#239#239#239#255#247#214#181#255#156'{k'#255#173#148#140#255#239#181#148
|
||||
+#255#247#214#189#255#255#206#156#255#156'{k'#255'JB1'#255#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#173#148#132#255#247#239#239#255#239#247#239#255#247#239#239#255
|
||||
+#214#165#132#255#239#247#239#255#247#239#239#255#239#239#239#255#247#239#239
|
||||
+#255#239#239#239#255#239#239#239#255#255#231#198#255#255#222#206#255#255#206
|
||||
+#165#255#156'{k'#255#255#206#156#255#255#206#156#255#247#198#140#255#156'{k'
|
||||
+#255'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#173#148#140#255#247#247#239#255
|
||||
+#247#239#239#255#206#165#132#255#247#247#239#255#247#239#239#255#239#239#239
|
||||
+#255#247#247#231#255#239#239#239#255#247#247#239#255#255#222#198#255#247#214
|
||||
+#198#255#247#222#189#255#247#214#181#255#247#198#140#255#156'{k'#255#247#181
|
||||
+#140#255#247#165's'#255#156'{k'#255'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#173#148#132#255#247#239#239#255#198#173#156#255#239#239#239#255#247#239#239
|
||||
+#255#239#239#239#255#247#247#239#255#247#222#198#255#255#222#206#255#247#222
|
||||
+#198#255#247#214#198#255#247#214#181#255#247#214#189#255#255#206#156#255#247
|
||||
+#198#140#255#255#173#140#255#156'{k'#255#231#148'k'#255#156'{k'#255'JB1'#255
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#173#148#132#255#198#181#156#255#247#247#239
|
||||
+#255#247#239#239#255#239#247#239#255#255#222#198#255#247#214#189#255#247#214
|
||||
+#189#255#247#214#181#255#247#214#189#255#247#206#173#255#255#206#156#255#255
|
||||
+#206#165#255#247#189#140#255#231#181#148#255#247#165's'#255#231#148'k'#255
|
||||
+#156'{k'#255#156'{k'#255'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#198#156'{'
|
||||
+#255#255#222#198#255#239#239#239#255#255#222#198#255#247#214#189#255#255#206
|
||||
+#156#255#247#198#140#255#231#181#148#255#247#173#140#255#247#181#140#255#247
|
||||
+#165's'#255#239#165'{'#255#247#165's'#255#231#156'c'#255#231#148'c'#255#231
|
||||
+#156'k'#255#231#148'c'#255#206'{J'#255#156'{k'#255'JB1'#255#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#206#156'{'#255#156'{k'#255#156'{k'#255#156'{k'#255#156'{k'#255
|
||||
+#156'{k'#255#156'{k'#255#156'{k'#255#156'{k'#255#156'{k'#255#156'{k'#255#156
|
||||
+'{k'#255#156'{k'#255#156'{k'#255#156'{k'#255#156'{k'#255#156'{k'#255#156'{k'
|
||||
+#255#156'{k'#255'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'JB1'#255'J'
|
||||
+'B1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'
|
||||
+#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255
|
||||
+'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0'J91'#255#0#0#0#0'J9)'#255#0#0#0#0'J91'#255
|
||||
+#0#0#0#0'J91'#255#0#0#0#0'J91'#255#0#0#0#0'J9)'#255#0#0#0#0'J91'#255#0#0#0#0
|
||||
+'J91'#255#0#0#0#0'J91'#255#0#0#0#0'J91'#255#0#0#0#0'J91'#255#0#0#0#0#0#0#0#0
|
||||
+#173#148#140#255#0#0#0#0#173#148#140#255#0#0#0#0#173#148#140#255#0#0#0#0#173
|
||||
+#148#140#255#0#0#0#0#165'{k'#255#0#0#0#0#156'{k'#255#0#0#0#0#165'{k'#255#0#0
|
||||
+#0#0#165'{k'#255#0#0#0#0'kcR'#255#0#0#0#0'sZR'#255#0#0#0#0'kZR'#255#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#231#173#140#255#231#181#140#255#231#181#140#255#247#165's'#255
|
||||
+#222#165'{'#255#222#173#132#255#222#165'{'#255#231#156'c'#255#231#148'k'#255
|
||||
+#231#148'c'#255#239#156'k'#255#231#148'c'#255#214#132'Z'#255#214#132'R'#255
|
||||
+#214#132'Z'#255#222'{J'#255#231'{J'#255#222'{J'#255#222'{J'#255#231'{J'#255
|
||||
+#222'{J'#255'JB1'#255#0#0#0#0#0#0#0#0#231#181#140#255#255#222#206#255#247#222
|
||||
+#206#255#255#222#206#255#247#222#198#255#255#214#189#255#247#214#189#255#247
|
||||
+#206#181#255#247#206#181#255#247#206#181#255#247#189#156#255#247#189#165#255
|
||||
+#247#189#156#255#247#181#140#255#247#181#140#255#247#181#140#255#247#165'{'
|
||||
+#255#247#165's'#255#247#165'{'#255#247#165's'#255#231#148'k'#255'JB1'#255#0#0
|
||||
+#0#0#0#0#0#0#231#173#140#255#247#222#198#255#255#222#189#255#247#222#198#255
|
||||
+#247#206#173#255#239#206#181#255#247#206#173#255#255#206#156#255#247#189#156
|
||||
+#255#239#189#156#255#247#181#140#255#247#181#140#255#247#181#140#255#247#165
|
||||
+'s'#255#247#165's'#255#247#165's'#255#239#165's'#255#247#165'{'#255#231#156
|
||||
+'c'#255#231#148'k'#255#231#156'c'#255'JB1'#255#0#0#0#0#0#0#0#0#247#165's'#255
|
||||
+#247#165's'#255#247#165'{'#255#222#165'{'#255#222#165'{'#255#222#165'{'#255
|
||||
+#231#148'c'#255#231#148'k'#255#231#148'c'#255#231#156'k'#255#231#148'c'#255
|
||||
,#214#132'R'#255#206#132'R'#255#214#132'R'#255#222'{J'#255#222'{J'#255#222'{J'
|
||||
+#255#222'{J'#255#222'{J'#255'JB1'#255'JB1'#255'JB1'#255#0#0#0#0#0#0#0#0#206
|
||||
+#189#181#255#255#255#255#255#255#255#255#255#255#255#255#255#239#189#156#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#239#198#156#255#255#255#255
|
||||
+#255#247#239#239#255#247#247#247#255#239#189#156#255#255#255#255#255#239#239
|
||||
+#247#255#247#247#239#255#239#189#156#255#247#239#239#255#247#247#239#255#255
|
||||
+#222#206#255#231#189#156#255'JB1'#255#0#0#0#0#0#0#0#0#206#189#173#255#255#255
|
||||
+#255#255#239#247#239#255#247#239#239#255#231#189#156#255#255#255#255#255#247
|
||||
+#239#239#255#247#247#239#255#206#165#140#255#247#239#239#255#239#247#239#255
|
||||
+#247#222#206#255#214#165#132#255#239#239#239#255#247#239#239#255#247#222#198
|
||||
+#255#214#165#132#255#239#239#239#255#247#222#206#255#247#206#181#255#206#156
|
||||
+'{'#255'JB1'#255#0#0#0#0#0#0#0#0#206#189#173#255#255#255#255#255#247#239#239
|
||||
+#255#239#239#239#255#214#165#132#255#255#255#255#255#239#247#239#255#255#222
|
||||
+#206#255#198#156'{'#255#247#239#239#255#255#222#198#255#247#222#206#255#198
|
||||
+#156'{'#255#247#247#239#255#247#214#189#255#247#206#173#255#198#156'{'#255
|
||||
+#255#222#206#255#247#206#173#255#255#206#156#255#198#156'{'#255'JB1'#255#0#0
|
||||
+#0#0#0#0#0#0#206#173#156#255#231#189#156#255#239#189#148#255#206#165#132#255
|
||||
+#214#173#140#255#231#181#148#255#231#173#140#255#206#156'{'#255#198#156'{'
|
||||
+#255#231#189#148#255#214#165#132#255#206#156'{'#255'9'#140#214#255'B'#140#214
|
||||
+#255'9'#140#214#255#24'B'#206#255#24'B'#206#255#231#189#148#255#214#165#140
|
||||
+#255#198#156'{'#255#165'{s'#255'JB1'#255#0#0#0#0#0#0#0#0#198#181#156#255#255
|
||||
+#255#255#255#255#255#255#255#247#239#239#255#231#181#148#255#255#255#255#255
|
||||
+#247#247#239#255#239#239#239#255#239#181#148#255#239#239#239#255#247#247#239
|
||||
+#255#239#239#239#255'B'#140#214#255#247#247#239#255#247#239#239#255#255#231
|
||||
+#206#255#24'9'#206#255#255#231#206#255#247#222#198#255#255#231#206#255#231
|
||||
+#181#148#255'JB1'#255#0#0#0#0#0#0#0#0#198#173#165#255#255#255#255#255#247#239
|
||||
+#239#255#239#247#239#255#214#165#140#255#255#255#255#255#247#239#239#255#247
|
||||
+#231#206#255#214#165#140#255#239#239#239#255#247#239#239#255#255#231#198#255
|
||||
+'9'#140#214#255#255#222#206#255#247#214#189#255#255#222#189#255#16'B'#206#255
|
||||
+#255#222#206#255#247#214#189#255#247#206#181#255#206#156'{'#255'JB1'#255#0#0
|
||||
+#0#0#0#0#0#0#198#173#156#255#255#255#255#255#247#247#239#255#247#222#206#255
|
||||
+#206#156'{'#255#239#247#239#255#255#222#198#255#247#214#189#255#206#156'{'
|
||||
+#255#239#247#239#255#255#222#206#255#247#214#181#255#24'9'#206#255#255#222
|
||||
+#189#255#247#214#189#255#247#206#173#255#24'B'#206#255#255#222#189#255#239
|
||||
+#198#165#255#239#189#156#255#198#156'{'#255'J91'#255#0#0#0#0#0#0#0#0#206#181
|
||||
+#156#255#231#181#148#255#214#165#132#255#198#156'{'#255#206#156'{'#255#231
|
||||
+#181#148#255#206#165#140#255#206#156'{'#255#198#156'{'#255#239#181#148#255
|
||||
+#206#165#140#255#206#156'{'#255#24'B'#206#255#16'B'#206#255#24'B'#206#255#24
|
||||
+'B'#206#255#16'B'#214#255#231#173#140#255#198#156'{'#255#173#148#140#255#165
|
||||
+'{k'#255'JB1'#255#0#0#0#0#0#0#0#0#198#173#165#255#255#255#255#255#247#247#239
|
||||
+#255#247#239#239#255#231#181#148#255#247#247#239#255#247#247#239#255#239#239
|
||||
+#239#255#231#189#148#255#247#239#239#255#255#231#206#255#247#222#206#255#239
|
||||
+#189#148#255#255#222#206#255#255#231#206#255#255#222#189#255#239#181#148#255
|
||||
+#247#222#198#255#255#222#198#255#247#206#173#255#231#181#156#255'JB1'#255#0#0
|
||||
+#0#0#0#0#0#0#198#181#156#255#247#239#239#255#239#239#239#255#247#247#239#255
|
||||
+#206#165#140#255#247#239#239#255#247#222#198#255#255#222#206#255#214#165#132
|
||||
+#255#247#222#206#255#247#214#189#255#255#222#189#255#198#156'{'#255#255#222
|
||||
+#206#255#247#214#189#255#247#206#181#255#198#156'{'#255#255#214#189#255#239
|
||||
+#206#181#255#255#206#156#255#206#156'{'#255'J91'#255#0#0#0#0#0#0#0#0#214#165
|
||||
+#140#255#247#247#239#255#239#239#239#255#247#222#189#255#206#156'{'#255#239
|
||||
+#247#239#255#247#214#198#255#247#206#173#255#198#156'{'#255#255#231#206#255
|
||||
+#247#214#189#255#255#206#165#255#198#156'{'#255#247#222#189#255#247#206#181
|
||||
+#255#247#189#156#255#198#156'{'#255#247#206#181#255#247#189#156#255#231#189
|
||||
+#148#255#206#156'{'#255'JB1'#255#0#0#0#0#0#0#0#0#206#165#140#255#247#214#181
|
||||
+#255#231#181#148#255#214#165#140#255#198#156'{'#255#231#173#140#255#206#156
|
||||
+'{'#255#173#148#140#255#156'{k'#255#231#173#140#255#206#156'{'#255#173#148
|
||||
+#140#255#156'{k'#255#231#173#140#255#198#156'{'#255#173#148#140#255#156'{k'
|
||||
+#255#231#181#140#255#198#156'{'#255#173#148#140#255#165'{s'#255'J91'#255#0#0
|
||||
+#0#0#0#0#0#0#214#165#140#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB'
|
||||
+'1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'
|
||||
+#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
,#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#206#189#173#255#206#189#181#255#214#189#173#255
|
||||
+#206#189#173#255#206#189#173#255#206#189#173#255#214#189#181#255#206#189#173
|
||||
+#255#206#173#156#255#198#181#165#255#206#173#156#255#198#181#156#255#198#173
|
||||
+#156#255#198#181#156#255#206#173#156#255#198#181#156#255#214#165#140#255#206
|
||||
+#165#132#255#214#165#140#255#173#148#140#255#173#148#132#255#173#148#140#255
|
||||
+#0#0#0#0#0#0#0#0#214#189#173#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#239#239#239#255#247#247#239#255'JB1'#255#0#0#0#0#0#0#0#0#206
|
||||
+#189#173#255#255#255#255#255#255#255#255#255#247#239#239#255#181#189#189#255
|
||||
+#173#148#140#255'k{'#140#255'k'#132#140#255#189#189#189#255#247#239#239#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#247#247#239#255#247#239#239#255#239#247
|
||||
+#239#255#255#214#198#255'JB1'#255#0#0#0#0#0#0#0#0#206#189#181#255#255#255#255
|
||||
+#255#255#255#255#255#189#189#189#255'k'#132#140#255'k{'#140#255#140#156#165
|
||||
+#255#173#148#140#255'kZR'#255#181#189#189#255#255#255#255#255#255#255#255#255
|
||||
+#247#173#140#255#247#181#140#255#247#181#140#255#247#165's'#255#247#165'{'
|
||||
+#255#239#165's'#255#247#165's'#255#239#239#239#255#255#222#198#255'JB1'#255#0
|
||||
+#0#0#0#0#0#0#0#206#189#173#255#255#255#255#255#255#255#255#255'k{'#140#255'k'
|
||||
+'ZR'#255'scR'#255'k'#132#140#255'kZR'#255#189#189#189#255'k{'#140#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#239
|
||||
+#239#239#255#247#247#239#255#239#239#239#255#247#247#239#255#239#239#239#255
|
||||
+#247#214#181#255'JB1'#255#0#0#0#0#0#0#0#0#214#189#173#255#255#255#255#255#255
|
||||
+#255#255#255'scR'#255'J91'#255#189#189#189#255#222#214#214#255#189#189#189
|
||||
+#255#140#156#165#255'k'#132#140#255#255#255#255#255#255#255#255#255#255#181
|
||||
+#140#255#247#173#140#255#247#181#140#255#247#165's'#255#239#165's'#255#247
|
||||
+#165's'#255#247#165's'#255#247#239#239#255#247#206#173#255'JB1'#255#0#0#0#0#0
|
||||
+#0#0#0#206#189#173#255#255#255#255#255#255#255#255#255'J91'#255'JB1'#255#222
|
||||
+#214#214#255#181#181#189#255#132#156#165#255'k{'#140#255'kcR'#255#255#255#255
|
||||
+#255#255#255#255#255#239#247#239#255#247#239#239#255#247#247#239#255#239#239
|
||||
+#239#255#247#239#239#255#239#239#239#255#247#247#239#255#239#239#239#255#247
|
||||
+#189#156#255'JB1'#255#0#0#0#0#0#0#0#0#206#173#165#255#255#255#255#255#255#255
|
||||
+#255#255#189#189#189#255#0#0#0#255#189#189#189#255#140#156#165#255'k'#132#140
|
||||
+#255'sZR'#255#132#156#165#255#247#239#239#255#247#247#239#255#247#239#239#255
|
||||
+#247#239#239#255#239#239#239#255#247#239#239#255#239#247#239#255#247#239#239
|
||||
+#255#239#239#239#255#255#231#206#255#247#189#165#255'JB1'#255#0#0#0#0#0#0#0#0
|
||||
+#198#173#156#255#255#255#255#255#255#255#255#255#247#247#239#255#222#206#206
|
||||
+#255'kZR'#255'kcR'#255'sZR'#255#24'B'#214#255#189#189#189#255#247#247#239#255
|
||||
+#239#239#239#255#239#239#231#255#247#247#239#255#239#239#239#255#247#247#239
|
||||
+#255#247#239#239#255#247#222#198#255#255#222#198#255#247#222#206#255#239#181
|
||||
+#148#255'JB1'#255#0#0#0#0#0#0#0#0#206#173#156#255#255#255#255#255#255#255#255
|
||||
+#255#181#206#222#255#24'B'#206#255#24'B'#206#255#222#214#214#255#247#247#239
|
||||
+#255#24'B'#206#255#24'9'#206#255#214#214#206#255#247#239#239#255#198#156'{'
|
||||
+#255#206#156'{'#255#156'{k'#255#156'sk'#255#156'{k'#255#156'{k'#255#156'{k'
|
||||
+#255#247#231#198#255#255#181#140#255'JB1'#255#0#0#0#0#0#0#0#0#198#173#156#255
|
||||
+#255#255#255#255#255#255#255#255#24'B'#206#255#132#173#198#255'9'#140#214#255
|
||||
+#24'B'#206#255#24#132#189#255#24'B'#206#255#24#140#198#255#24'B'#206#255#247
|
||||
+#247#239#255#247#239#239#255#239#239#239#255#247#247#239#255#255#222#198#255
|
||||
+#255#231#206#255#255#222#206#255#255#214#198#255#247#222#198#255#247#165's'
|
||||
+#255'JB1'#255#0#0#0#0#0#0#0#0#206#181#165#255#255#255#255#255#255#255#255#255
|
||||
+#24'B'#206#255'9'#173#239#255'B'#140#214#255'B'#140#214#255#24'B'#206#255#24
|
||||
+#140#189#255#24'B'#206#255'1Zs'#255#247#239#239#255#198#156'{'#255#165'{k'
|
||||
+#255#156'{k'#255#156'{k'#255#156'{k'#255#156'{k'#255#156'sk'#255#247#222#198
|
||||
+#255#247#165's'#255'JB1'#255#0#0#0#0#0#0#0#0#198#173#156#255#255#255#255#255
|
||||
+#255#255#255#255#24'B'#206#255#24#140#189#255'B'#140#214#255'B'#140#214#255
|
||||
+#24'B'#206#255#24#140#198#255'!B'#206#255'9c{'#255#247#247#239#255#255#222
|
||||
+#206#255#247#222#198#255#255#222#206#255#255#222#206#255#255#222#198#255#247
|
||||
+#222#189#255#255#222#198#255#247#214#181#255#247#165'{'#255'JB1'#255#0#0#0#0
|
||||
+#0#0#0#0#198#173#156#255#255#255#255#255#247#247#239#255#222#214#206#255#24
|
||||
+'B'#206#255#24'B'#206#255#24'B'#206#255#24'B'#206#255'9cs'#255'9c{'#255#206
|
||||
+#189#173#255#255#222#206#255#156'{k'#255#165'{k'#255#156'{k'#255#156'{k'#255
|
||||
,#156'sk'#255#156'{k'#255#156'sk'#255#247#206#181#255#231#148'c'#255'JB1'#255
|
||||
+#0#0#0#0#0#0#0#0#214#165#140#255#247#247#239#255#247#239#239#255#247#239#239
|
||||
+#255#247#247#239#255#247#247#239#255#247#247#239#255#247#247#239#255#247#239
|
||||
+#239#255#255#222#206#255#255#231#198#255#247#222#206#255#255#222#206#255#247
|
||||
+#222#189#255#255#222#198#255#247#222#198#255#255#214#189#255#247#206#173#255
|
||||
+#247#206#181#255#247#206#173#255#231#148'c'#255'JB1'#255#0#0#0#0#0#0#0#0#206
|
||||
+#165#132#255#247#239#239#255#247#222#198#255#247#214#198#255#247#222#198#255
|
||||
+#247#206#189#255#247#214#181#255#247#198#173#255#239#198#173#255#247#189#156
|
||||
+#255#239#189#156#255#231#181#148#255#231#181#140#255#247#173#140#255#247#165
|
||||
+'s'#255#247#165's'#255#239#165's'#255#247#165'{'#255#231#148'c'#255#231#148
|
||||
+'c'#255#239#156'k'#255'JB1'#255#0#0#0#0#0#0#0#0#214#165#140#255'JB1'#255'JB1'
|
||||
+#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255
|
||||
+'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'#255'JB1'
|
||||
+#255'JB1'#255'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#132#156#165#255#132#156#165#255#132#156#165#255#140
|
||||
+#156#165#255'k{'#140#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#222#198#181#255#206#189
|
||||
+#173#255#214#189#173#255#206#189#181#255#206#189#173#255#140#156#165#255#140
|
||||
+#198#214#255#198#239#255#255#198#247#255#255#173#231#247#255#140#198#214#255
|
||||
+'k{'#140#255#206#173#156#255#198#181#165#255#206#173#156#255#198#173#156#255
|
||||
+#198#173#165#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#189#173
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#247#239
|
||||
+#239#255#132#156#165#255#198#247#255#255'k{'#140#255'k{'#140#255#140#156#165
|
||||
+#255#140#198#206#255'1c{'#255#206#173#156#255#247#247#239#255#239#239#239#255
|
||||
+#247#247#239#255#247#239#239#255#132#156#165#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#214#189#173#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#140#156#165#255#140#189#214#255#173#247#255#255'k'#132#140
|
||||
+#255#132#173#198#255#140#198#214#255'k'#206#247#255'k{'#140#255'1c{'#255#255
|
||||
+#222#198#255#239#239#239#255#247#247#239#255#181#206#214#255'9Z{'#255#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#189#173#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#132#156#165#255#173#231#247#255#173#231
|
||||
+#239#255#140#189#214#255#140#198#206#255#140#198#206#255#132#173#198#255#132
|
||||
+#173#198#255'k'#132#140#255#255#222#198#255#239#239#239#255#181#206#214#255
|
||||
+#24'B'#206#255'B'#140#214#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#214#189
|
||||
+#181#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255'k'
|
||||
+#132#140#255'k{'#140#255'k{'#140#255'9cs'#255'9c{'#255'9Z{'#255'9cs'#255'k{'
|
||||
+#140#255#173#148#140#255#255#222#189#255#165#173#247#255#24'B'#206#255'B'#140
|
||||
+#214#255#206#165#140#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#189#173
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#247#247#239#255#247#247#239#255#255#222#206#255#247#222#198#255#255
|
||||
+#214#181#255#239#198#173#255#247#214#189#255#255#222#198#255#165#173#247#255
|
||||
+'9'#140#214#255'B'#140#214#255#255#231#198#255#156'{k'#255#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#206#189#181#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#239#239#239#255#247#247#239#255#247#239#239
|
||||
+#255#181#206#214#255#24'B'#206#255#24'B'#206#255#181#206#214#255#255#222#206
|
||||
+#255#156'{k'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#214#189#173#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#247#239#239#255#247#239#239
|
||||
+#255#239#239#239#255#165#173#247#255'9'#140#214#255#24'B'#206#255#189#189#189
|
||||
+#255#255#222#206#255#247#214#189#255'kZR'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#206#189#173#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#247#239#239#255
|
||||
+#239#239#239#255#247#247#239#255#165#181#247#255'B'#140#214#255#24'B'#206#255
|
||||
+#132#173#189#255#255#222#206#255#255#231#198#255#247#198#173#255'kcR'#255#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#189#173#255#255#255#255#255#255#255
|
||||
+#255#255#165#173#255#255#181#206#214#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#239#239#239#255#247#247#231#255#165#173#247#255'9'#140#214#255
|
||||
+#24'B'#206#255#140#156#165#255#222#214#206#255#247#222#206#255#247#222#189
|
||||
,#255#247#189#156#255'kZR'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#189
|
||||
+#181#255#247#247#239#255#165#173#247#255'B'#140#214#255'9'#140#214#255#165
|
||||
+#173#247#255#255#255#255#255#247#239#239#255#247#247#239#255#165#173#247#255
|
||||
+'B'#140#214#255#24'B'#206#255'9'#140#214#255#255#222#198#255#247#231#206#255
|
||||
+#255#214#189#255#247#222#198#255#239#189#156#255'kcR'#255#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#231#189#173#255#165#231#247#255#24'B'#206#255#24'B'#206
|
||||
+#255#24'B'#206#255#173#181#247#255#165#173#247#255#239#247#239#255#165#173
|
||||
+#247#255'9'#140#214#255#24'B'#206#255#24'B'#206#255#231#214#206#255#255#222
|
||||
+#206#255#247#214#189#255#247#222#198#255#247#206#173#255#231#173#140#255'kZR'
|
||||
+#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#173#156#255#255#255#255#255
|
||||
+#173#181#247#255#24'B'#206#255#24'B'#206#255#24'B'#206#255#165#173#247#255
|
||||
+#165#173#247#255'B'#140#214#255#24'B'#206#255#24'B'#206#255#189#189#189#255
|
||||
+#255#231#198#255#247#214#198#255#247#222#189#255#247#214#198#255#247#198#173
|
||||
+#255#231#181#140#255'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#198#181
|
||||
+#156#255#255#255#255#255#255#255#255#255#189#206#214#255#24'B'#206#255#24'B'
|
||||
+#206#255#24'B'#206#255'B'#140#214#255#24'B'#206#255#24'B'#206#255'B'#140#214
|
||||
+#255#255#222#206#255#247#222#206#255#247#222#189#255#255#214#198#255#247#214
|
||||
+#181#255#239#198#173#255#247#181#140#255'J91'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#206#173#156#255#255#255#255#255#255#255#255#255#247#239#239#255
|
||||
+#189#214#222#255#24'B'#206#255'!B'#206#255#24'B'#206#255#24'B'#206#255#24'B'
|
||||
+#206#255#222#214#206#255#247#222#198#255#255#222#189#255#247#214#198#255#247
|
||||
+#214#181#255#247#206#181#255#239#198#165#255#247#165's'#255'J91'#255#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#198#173#156#255#255#255#255#255#247#247#239
|
||||
+#255#239#239#239#255#247#239#239#255#181#206#214#255#24'B'#206#255#24'B'#206
|
||||
+#255'!B'#206#255#214#198#173#255#247#214#189#255#247#214#189#255#247#206#173
|
||||
+#255#239#198#173#255#247#198#173#255#247#189#156#255#231#189#148#255#247#165
|
||||
+'{'#255'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#173#156#255#239
|
||||
+#247#239#255#255#214#198#255#247#214#189#255#239#198#165#255#247#206#173#255
|
||||
+#140#156#165#255#24'B'#206#255#173#156#140#255#231#181#148#255#231#173#140
|
||||
+#255#231#173#140#255#231#173#140#255#247#181#140#255#247#181#140#255#239#165
|
||||
+'s'#255#247#165'{'#255#239#148'c'#255'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#206#173#140#255#156'sk'#255'kZR'#255'kcR'#255'sZR'#255'kZR'#255'k'
|
||||
+'cR'#255#165'{k'#255'kZR'#255'scR'#255'kZR'#255'JB1'#255'JB1'#255'J91'#255'J'
|
||||
+'B1'#255'J91'#255'JB1'#255'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#140#198#214#255#140
|
||||
+#189#214#255#140#198#214#255#140#198#206#255#140#189#214#255#140#198#206#255
|
||||
+#140#198#214#255#140#189#214#255#140#198#206#255#148#189#214#255'{'#173#198
|
||||
+#255#132#173#198#255'{'#173#198#255#132#173#198#255'{'#173#189#255#132#173
|
||||
+#198#255'{'#173#198#255#132#173#189#255'{'#173#198#255#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#140#198#206#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255'9Z{'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#148#189#214#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255'9c{'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#140#198#214#255#255#255#255#255#206#247#255#255#198#239#255#255#198
|
||||
+#247#255#255#206#247#255#255#198#239#255#255#198#247#255#255#198#247#255#255
|
||||
+#198#247#255#255#198#247#255#255#198#247#255#255#198#247#255#255#198#247#255
|
||||
+#255#198#247#255#255#198#247#255#255#198#247#255#255#198#247#255#255'9Z{'#255
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#140#198#206#255#198#239#255#255#165
|
||||
+#247#255#255#165#247#255#255#173#239#255#255#165#247#255#255#165#247#255#255
|
||||
+#173#247#255#255#165#239#255#255#173#247#255#255#165#239#255#255#173#247#255
|
||||
+#255#165#239#255#255#173#247#255#255#165#239#255#255#173#247#255#255#165#239
|
||||
+#255#255#173#247#255#255'9cs'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#140
|
||||
+#198#214#255#198#247#255#255#173#247#255#255#165#247#247#255#173#247#255#255
|
||||
+#165#247#247#255#173#239#255#255#165#247#247#255#173#247#255#255#165#247#247
|
||||
+#255#173#247#255#255#165#247#247#255#173#247#255#255#165#247#247#255#173#247
|
||||
+#255#255#165#247#255#255#173#247#255#255#165#247#255#255'1Zs'#255#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#140#198#206#255#198#239#255#255#165#239#255#255
|
||||
,#173#247#255#255#165#239#255#255#173#247#255#255#165#247#255#255#165#247#255
|
||||
+#255#173#247#255#255#165#239#255#255#165#247#255#255#173#247#255#255#165#239
|
||||
+#255#255#165#247#255#255#173#247#255#255#165#239#255#255#165#247#247#255#173
|
||||
+#247#255#255'9c{'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'{'#173#189#255
|
||||
+#148#231#255#255#140#231#247#255#165#247#255#255#173#247#247#255#165#247#255
|
||||
+#255#173#239#247#255#165#247#255#255#173#247#247#255#165#247#255#255#173#247
|
||||
+#247#255#165#239#255#255#173#247#247#255#165#247#255#255#173#247#247#255#165
|
||||
+#247#255#255#173#247#255#255#165#247#255#255'9Zs'#255#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#132#173#189#255#140#231#255#255#148#231#247#255#165#247#255
|
||||
+#255#173#239#255#255#165#247#255#255#165#247#255#255#173#247#255#255#165#247
|
||||
+#255#255#165#239#255#255#173#247#255#255#165#247#255#255#165#247#255#255#173
|
||||
+#247#255#255#165#239#255#255#173#247#247#255#165#239#255#255#173#247#255#255
|
||||
+'1c{'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'{'#173#198#255#132#214#247
|
||||
+#255#140#231#255#255#140#231#247#255#140#231#247#255#148#231#247#255#140#222
|
||||
+#255#255#140#231#247#255#148#231#247#255#140#231#247#255#140#231#255#255#148
|
||||
+#222#247#255#140#231#247#255#140#231#255#255#140#231#247#255#140#231#255#255
|
||||
+#148#231#247#255#140#231#255#255'9Zs'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#132#173#189#255'c'#198#247#255#148#231#247#255#140#231#255#255#148#231
|
||||
+#255#255#140#231#247#255#140#231#255#255#148#231#247#255#140#222#255#255#148
|
||||
+#231#255#255#140#231#247#255#148#231#255#255#140#231#247#255#148#222#255#255
|
||||
+#140#231#247#255#148#231#255#255#140#231#247#255#148#231#255#255'1c{'#255#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'{'#173#198#255'R'#189#247#255'{'#214#247
|
||||
+#255#148#231#247#255#140#222#255#255#148#231#247#255#140#231#255#255#140#231
|
||||
+#247#255#148#231#255#255#140#231#247#255#140#231#255#255#140#231#247#255#148
|
||||
+#231#255#255#140#231#247#255#148#231#255#255#140#222#247#255#140#231#255#255
|
||||
+#148#231#247#255'9Zs'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#173#189
|
||||
+#255'1'#156#206#255'9'#181#231#255'J'#189#239#255'J'#181#247#255'9'#181#222
|
||||
+#255'9'#181#231#255#132#214#247#255#140#231#247#255#140#222#255#255#148#231
|
||||
+#247#255#140#231#255#255#148#222#247#255#140#231#255#255#140#231#247#255#148
|
||||
+#231#255#255#140#231#247#255#148#231#255#255'1c{'#255#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#132#173#198#255'9'#181#231#255'9'#181#222#255'9'#181#231#255
|
||||
+'9'#181#231#255'9'#181#222#255#0#165#222#255'k'#206#247#255'{'#214#247#255
|
||||
+#132#214#247#255'{'#214#247#255#132#214#247#255'{'#214#247#255'{'#214#247#255
|
||||
+#132#214#247#255'{'#214#247#255'{'#214#247#255#132#214#247#255'1Z{'#255#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#173#189#255'k'#206#247#255#0#165#222
|
||||
+#255'9'#181#231#255'9'#181#222#255'9'#181#231#255#0#165#222#255'9'#181#231
|
||||
+#255#132#214#247#255'{'#214#255#255#132#222#247#255'{'#214#247#255#132#222
|
||||
+#247#255'{'#214#255#255#132#222#247#255'{'#214#247#255#132#214#255#255'{'#222
|
||||
+#247#255'9c{'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'{'#173#198#255'k'
|
||||
+#206#247#255'9'#181#222#255#24#132#189#255'9'#181#231#255'9'#181#222#255'9'
|
||||
+#173#239#255#0#165#222#255'k'#206#247#255'{'#214#247#255'{'#214#247#255#132
|
||||
+#214#247#255'{'#214#247#255#132#214#247#255'{'#214#247#255#132#222#247#255'{'
|
||||
+#214#247#255#132#214#247#255'1c{'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#132#173#189#255'c'#198#247#255'k'#206#247#255'R'#189#247#255#0#165#222#255
|
||||
+#24#132#189#255#8#165#222#255#0#165#222#255'!'#156#239#255'k'#206#247#255'c'
|
||||
+#198#247#255#132#222#247#255'{'#214#255#255'{'#222#247#255#132#214#247#255'{'
|
||||
+#214#255#255'{'#214#247#255#132#214#247#255'9c{'#255#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0'{'#173#198#255'k'#206#247#255'c'#198#247#255'k'#206#247#255
|
||||
+'k'#206#247#255'J'#189#247#255')'#156#239#255'1'#156#206#255#8#165#222#255'1'
|
||||
+#156#206#255'9'#173#239#255'9'#181#231#255'J'#181#239#255'R'#189#247#255'c'
|
||||
+#198#247#255'k'#206#247#255'k'#206#247#255'c'#206#247#255'9Zs'#255#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#173#198#255'9cs'#255'9Z{'#255'9cs'#255'9Z'
|
||||
+'{'#255'9Zs'#255'9c{'#255'9cs'#255'9c{'#255'9cs'#255'9c{'#255'9c{'#255'9Zs'
|
||||
+#255'9c{'#255'9cs'#255'9Z{'#255'9cs'#255'9Z{'#255'9c{'#255#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#148#165
|
||||
+#255#132#156#165#255#132#156#165#255#140#156#165#255#132#156#173#255#132#156
|
||||
+#165#255#140#156#165#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#140#156#165#255#181#206#222#255#206#247#255#255#198#247#255#255#198#239#255
|
||||
+#255#173#247#255#255#173#231#247#255#181#206#214#255#132#156#165#255#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#148#165#255#132#173#198#255#181#206#214#255
|
||||
,#181#206#214#255#181#206#222#255#181#206#214#255#140#189#206#255#140#198#214
|
||||
+#255#140#189#206#255#132#173#198#255#132#156#165#255#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#140#156#165#255#132#156#165#255#140#156#173#255#132#156#165#255#140#156
|
||||
+#165#255#132#156#165#255#140#156#165#255#140#156#165#255'k'#132#140#255'k{'
|
||||
+#140#255'k'#132#140#255'k{'#140#255'k'#132#140#255'k{'#140#255'k{'#140#255'k'
|
||||
+'{'#140#255'k{'#140#255'k{'#140#255'k{'#140#255'k{'#140#255'k{'#140#255#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#132#156#173#255#206#247#255#255#198#239#255#255#198#247
|
||||
+#255#255#198#239#255#255#198#247#255#255#198#247#255#255#173#231#247#255#173
|
||||
+#231#247#255#173#231#247#255#173#231#247#255'{'#214#247#255#132#222#247#255
|
||||
+'{'#214#247#255#132#222#247#255'{'#222#247#255'k'#206#247#255'k'#206#247#255
|
||||
+'c'#206#247#255'k'#206#247#255#132#173#198#255'k{'#140#255#0#0#0#0#0#0#0#0
|
||||
+#132#156#165#255#198#239#255#255#198#247#255#255#198#239#255#255#173#231#247
|
||||
+#255#173#231#247#255#173#222#247#255#173#231#247#255#140#231#247#255'{'#214
|
||||
+#247#255'{'#222#247#255'k'#198#247#255'c'#206#247#255'k'#198#247#255'c'#206
|
||||
+#247#255'R'#181#247#255'J'#181#247#255'J'#181#247#255'9'#181#222#255'9'#181
|
||||
+#231#255'1'#156#206#255'9c{'#255#0#0#0#0#0#0#0#0#132#156#165#255#198#247#255
|
||||
+#255#198#239#255#255#173#247#255#255#165#231#239#255#173#231#247#255#165#231
|
||||
+#239#255#140#231#247#255#132#214#247#255'{'#214#247#255'k'#198#247#255'k'#206
|
||||
+#247#255'k'#198#247#255'k'#206#247#255'J'#181#239#255'R'#189#247#255'J'#189
|
||||
+#239#255'9'#181#222#255'9'#181#231#255'1'#156#206#255'1'#165#206#255'sZR'#255
|
||||
+#0#0#0#0#0#0#0#0#140#156#165#255#198#239#255#255#165#247#255#255#173#231#239
|
||||
+#255#173#231#247#255#165#231#239#255#148#231#255#255'{'#214#247#255#132#214
|
||||
+#255#255'{'#214#247#255'k'#206#247#255'c'#198#247#255'k'#206#247#255'J'#181
|
||||
+#239#255'R'#189#247#255'J'#181#239#255'9'#181#231#255'9'#181#231#255'9'#181
|
||||
+#231#255'9'#156#206#255'1'#156#206#255'9c{'#255#0#0#0#0#0#0#0#0#132#156#165
|
||||
+#255#198#247#255#255#173#231#247#255#173#222#247#255#165#231#239#255#173#231
|
||||
+#247#255#140#231#247#255#132#214#247#255'{'#222#247#255'k'#198#247#255'k'#206
|
||||
+#247#255'c'#206#247#255'k'#198#247#255'J'#189#247#255'R'#181#239#255'J'#189
|
||||
+#247#255'9'#181#222#255'9'#181#231#255'9'#173#239#255'1'#156#206#255#24#140
|
||||
+#198#255'R91'#255#0#0#0#0#0#0#0#0#140#156#165#255#198#239#255#255#173#231#239
|
||||
+#255#165#231#247#255#173#231#239#255#148#231#255#255'{'#214#247#255#132#214
|
||||
+#247#255'c'#198#247#255'k'#206#247#255'c'#198#247#255'k'#206#247#255'J'#181
|
||||
+#239#255'R'#189#247#255'J'#181#239#255'9'#181#231#255'9'#181#222#255'9'#181
|
||||
+#231#255'1'#173#239#255'9'#156#206#255#24#140#198#255'JB1'#255#0#0#0#0#0#0#0
|
||||
+#0#132#156#165#255#198#247#255#255#173#231#247#255#173#222#239#255#140#231
|
||||
+#255#255'{'#214#247#255'{'#214#247#255#132#222#247#255'c'#198#247#255'k'#206
|
||||
+#247#255'k'#198#247#255'J'#189#239#255'R'#181#247#255'J'#189#239#255'9'#181
|
||||
+#231#255'9'#181#231#255'9'#181#222#255'9'#165#247#255'9'#173#239#255'1'#156
|
||||
+#206#255#24#132#189#255'RB1'#255#0#0#0#0#0#0#0#0#140#156#165#255#198#239#255
|
||||
+#255#173#231#247#255#165#231#239#255#148#231#255#255'{'#214#247#255#132#214
|
||||
+#247#255'c'#198#247#255'k'#206#247#255'k'#206#247#255'J'#181#239#255'R'#189
|
||||
+#247#255'J'#181#247#255'9'#181#222#255'9'#181#231#255'9'#181#222#255'1'#173
|
||||
+#247#255'9'#173#239#255'1'#156#206#255'9'#156#206#255#24#140#198#255'JB1'#255
|
||||
+#0#0#0#0#0#0#0#0#132#156#165#255#173#231#247#255#165#231#239#255#148#231#255
|
||||
+#255'{'#214#247#255#132#214#247#255'c'#206#247#255'k'#206#247#255'k'#198#247
|
||||
+#255'c'#206#247#255'R'#181#247#255'J'#189#239#255'9'#181#231#255'9'#181#222
|
||||
+#255'9'#181#231#255'9'#165#239#255'9'#173#239#255'1'#156#206#255'9'#165#206
|
||||
+#255#24#132#198#255#24#140#189#255'J91'#255#0#0#0#0#0#0#0#0#132#148#165#255
|
||||
+#173#231#247#255#140#231#255#255'{'#214#247#255#132#214#247#255'c'#206#247
|
||||
+#255'k'#198#247#255'k'#206#247#255'c'#198#247#255'R'#189#247#255'J'#181#239
|
||||
+#255'9'#181#231#255'9'#181#222#255'9'#181#231#255'1'#173#239#255'9'#173#247
|
||||
+#255'1'#156#206#255'9'#156#214#255'1'#156#206#255#24#140#189#255#24#132#198
|
||||
+#255'JB1'#255#0#0#0#0#0#0#0#0#132#156#165#255#173#231#247#255'{'#214#247#255
|
||||
+#132#214#247#255'{'#222#247#255'k'#198#247#255'c'#206#247#255'k'#198#247#255
|
||||
+'J'#189#239#255'R'#181#239#255'J'#189#247#255'9'#181#222#255'9'#181#231#255
|
||||
+'9'#165#239#255'9'#173#239#255'1'#156#206#255'9'#165#206#255'1'#156#206#255
|
||||
+'9'#165#206#255#24#132#198#255#24#140#189#255#0#0#0#255#0#0#0#0#0#0#0#0#132
|
||||
+#156#165#255#173#231#247#255#132#214#247#255'{'#222#247#255'k'#198#247#255'k'
|
||||
+#206#247#255'c'#198#247#255'k'#206#247#255'R'#189#247#255'J'#181#247#255'9'
|
||||
+#181#222#255'9'#181#231#255'9'#181#231#255'9'#173#239#255'1'#173#247#255'9'
|
||||
+#156#206#255'1'#156#206#255'9'#156#206#255'1'#165#206#255#24#132#189#255#24
|
||||
+#140#198#255#0#0#0#255#0#0#0#0#0#0#0#0#132#156#173#255#173#231#239#255'{'#214
|
||||
+#247#255'k'#198#247#255'J'#189#247#255'J'#181#239#255'R'#189#239#255'J'#181
|
||||
,#247#255'9'#181#222#255'9'#173#239#255'1'#156#206#255'9'#156#206#255'1'#156
|
||||
+#206#255'1'#156#206#255'9'#156#206#255'1'#165#206#255#24#132#198#255#24#140
|
||||
+#198#255#24#132#189#255#24#140#198#255#24#132#189#255#0#0#0#255#0#0#0#0#0#0#0
|
||||
+#0#140#156#165#255#173#231#247#255'J'#181#247#255'J'#189#247#255#132#173#189
|
||||
+#255'9'#181#231#255'1'#156#206#255'9'#156#206#255'1'#156#206#255'1'#156#206
|
||||
+#255#24#132#189#255#24#140#198#255#24#132#189#255#24#140#198#255#24#140#189
|
||||
+#255#24#132#198#255#24#140#189#255#24#132#189#255#24#140#198#255#24#132#189
|
||||
+#255#24#140#198#255#0#0#0#255#0#0#0#0#0#0#0#0'k{'#140#255'9cs'#255'9c{'#255
|
||||
+'R9)'#255'JB1'#255'RB1'#255'JB1'#255'RB1'#255'JB1'#255'RB1'#255#0#0#0#255#0#0
|
||||
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
|
||||
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#10'TImageList'#11'SmallImages'#4'left'#2'('#3'top'#2#16#6'Bitmap'#10
|
||||
+#14#24#0#0'Li'#6#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#206#189#173#255#198#173#165#255#198#173#156#255#198#173#165#255
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#140#189#206#255#198#173#165#255#239#231#222#255#198#247#255#255#198#247
|
||||
+#255#255#189#198#206#255#206#189#173#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#189#181#255#206#189#173#255#198#239#255#255
|
||||
+#198#247#255#255#198#239#255#255#173#231#239#255#140#231#255#255'c'#206#247
|
||||
+#255#198#173#156#255#140#156#165#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#206#189#173#255#198#214#222#255#198#247#255#255#198#247#255#255#198#239#255
|
||||
+#255#173#239#255#255#165#231#239#255'{'#214#247#255'k'#198#247#255'c'#206#247
|
||||
+#255#140#189#214#255#198#173#156#255#132#173#198#255#0#0#0#0#198#173#156#255
|
||||
+#206#181#173#255#198#247#255#255#198#239#255#255#198#239#255#255#198#247#255
|
||||
+#255#165#239#255#255#173#231#239#255'{'#214#247#255'c'#198#247#255'k'#206#247
|
||||
+#255'k'#198#239#255'k'#206#247#255'J'#181#239#255#140#173#198#255#140#156#165
|
||||
+#255#198#173#156#255#173#247#255#255#165#231#247#255#173#231#239#255#173#231
|
||||
+#239#255'{'#214#247#255'k'#198#247#255'c'#206#247#255'k'#206#247#255'k'#206
|
||||
+#239#255'J'#173#239#255'B'#181#239#255'J'#173#231#255'B'#181#239#255')'#189
|
||||
+#239#255#189#156#140#255#198#173#165#255#173#231#239#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#247#239#231#255#255#247#239#255#255#239#231#255#255#247#239
|
||||
+#255#239#222#222#255'B'#181#239#255#148#132'{'#255#198#173#156#255#206#189
|
||||
+#181#255#247#239#239#255#255#239#231#255#231#231#222#255#255#239#239#255#255
|
||||
+#239#231#255#247#247#239#255#255#239#231#255#247#239#239#255#255#239#231#255
|
||||
+#247#222#206#255#247#247#231#255#255#214#198#255#148#132'{'#255#148#132'{'
|
||||
+#255#198#173#165#255#247#206#181#255#222#198#173#255#247#239#239#255#255#239
|
||||
+#239#255#231#189#148#255#231#181#148#255#198#173#165#255#198#173#156#255#198
|
||||
+#173#165#255#198#173#156#255#231#231#222#255#255#222#198#255#181#156#140#255
|
||||
+#231#173#132#255#148#132'{'#255#198#165#140#255#255#255#255#255#255#222#198
|
||||
+#255#222#198#173#255#222#198#173#255#222#189#173#255#222#206#198#255#222#198
|
||||
+#173#255#222#198#181#255#222#198#173#255#198#173#165#255#198#173#156#255#181
|
||||
+#156#140#255#231#173#140#255#255#214#156#255#140#132#132#255#189#165#148#255
|
||||
+#255#255#255#255#255#255#255#255#189#165#140#255#222#206#198#255#255#247#239
|
||||
+#255#247#239#239#255#255#247#239#255#247#239#239#255#255#222#206#255#255#222
|
||||
+#198#255#222#165'{'#255#181#140's'#255#255#214#156#255#255#206#148#255#148
|
||||
+#132'{'#255#198#165#140#255#255#255#255#255#198#173#165#255#222#206#198#255
|
||||
+#247#239#239#255#247#239#231#255#255#239#239#255#247#239#231#255#255#247#231
|
||||
+#255#247#222#198#255#247#222#198#255#255#214#173#255#231#173#132#255#181#132
|
||||
+'s'#255#255#181'{'#255#206'sJ'#255#181#156#140#255#198#173#165#255#222#206
|
||||
+#198#255#255#255#255#255#247#247#231#255#255#222#206#255#247#231#198#255#255
|
||||
+#222#206#255#247#222#198#255#255#214#173#255#255#222#181#255#255#214#156#255
|
||||
+#255#206#148#255#231#148'c'#255#198'{J'#255#206'sB'#255#189#156#132#255#247
|
||||
+#214#189#255#255#255#255#255#255#222#206#255#255#222#173#255#255#214#156#255
|
||||
+#255#198#140#255#255#198#140#255#255#198#148#255#255#181'{'#255#255#181'{'
|
||||
+#255#247#165'{'#255#239#165'{'#255#231#148'c'#255#214#132'Z'#255#181'c1'#255
|
||||
+#181#156#140#255#181#156#140#255#181#140's'#255#181#132's'#255#181#140's'#255
|
||||
+#140#132#132#255#206'sJ'#255#198'sJ'#255#198'{B'#255#198'sJ'#255#198'sJ'#255
|
||||
+#198'sJ'#255#181'c1'#255#189'c1'#255#181'c1'#255#189'c1'#255#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255'J91'#255#255#0#255#255'JB'
|
||||
+'1'#255#255#0#255#255'JB1'#255#255#0#255#255'JB1'#255#255#0#255#255'R91'#255
|
||||
+#255#0#255#255'JB1'#255#255#0#255#255'RB1'#255#255#0#255#255'RB1'#255#181#156
|
||||
+#140#255#255#255#255#255#148#132'{'#255#255#255#255#255#148#132#132#255#255
|
||||
+#255#255#255#148#132'{'#255#255#255#255#255#148#132#132#255#255#255#255#255
|
||||
+'Rck'#255#255#255#255#255'RZk'#255#255#255#255#255'Rck'#255#255#0#255#255#247
|
||||
+#165#140#255#247#173#148#255#247#165'{'#255#222#165'{'#255#222#165'{'#255#231
|
||||
+#148'k'#255#231#148'c'#255#231#148'k'#255#214#132'R'#255#222'{J'#255#214#132
|
||||
+'R'#255#206'{J'#255#206'sJ'#255#198'{B'#255#206'sJ'#255'RB1'#255#239#173#148
|
||||
+#255#247#239#239#255#255#247#239#255#247#239#239#255#255#247#239#255#247#247
|
||||
+#239#255#247#239#239#255#247#173#140#255#247#165'{'#255#247#165'{'#255#247
|
||||
+#165'{'#255#239#165'{'#255#247#165'{'#255#247#165'{'#255#247#165'{'#255'RB1'
|
||||
+#255#247#173#140#255#247#165#140#255#239#165's'#255#247#165'{'#255#239#165's'
|
||||
+#255#247#165'{'#255#231#148'c'#255#231#148'c'#255#222#148'k'#255#214#132'R'
|
||||
+#255#222'{J'#255#222'{J'#255#222'{J'#255#222'{J'#255#222'{J'#255'RB1'#255#189
|
||||
+#173#165#255#255#255#255#255#255#255#255#255#222#165'{'#255#255#255#255#255
|
||||
+#255#255#255#255#222#165'{'#255#255#255#255#255#255#255#255#255#222#165'{'
|
||||
+#255#255#255#255#255#255#255#255#255#222#165'{'#255#255#247#239#255#247#239
|
||||
+#239#255'JB1'#255#198#173#165#255#255#255#255#255#255#255#255#255#181#156#140
|
||||
+#255#255#255#255#255#255#255#255#255#181#156#140#255#255#255#255#255#255#255
|
||||
+#255#255#181#156#140#255#255#255#255#255#255#247#239#255#181#148#140#255#255
|
||||
+#247#239#255#222#206#198#255'JB9'#255#198#173#156#255#214#173#148#255#181#156
|
||||
+#140#255#189#132's'#255#222#165'{'#255#181#156#140#255#181#140's'#255#222#165
|
||||
+'{'#255#181#156#140#255'B'#181#239#255')'#148#222#255#24'B'#206#255#24'J'#206
|
||||
+#255#222#165'{'#255#0#0#0#0'RB9'#255#198#173#165#255#255#255#255#255#255#255
|
||||
+#255#255#222#165'{'#255#255#255#255#255#255#255#255#255#222#165'{'#255#255
|
||||
+#255#255#255#255#255#255#255')'#156#222#255#255#255#255#255#255#247#239#255
|
||||
+#24'B'#198#255#255#247#239#255#222#206#206#255'JB1'#255#198#173#156#255#255
|
||||
+#255#255#255#255#255#255#255#181#156#140#255#255#255#255#255#255#255#255#255
|
||||
+#181#156#140#255#255#255#255#255#255#239#239#255#24'B'#206#255#255#247#239
|
||||
+#255#255#239#231#255#24'B'#206#255#255#247#239#255#206#189#173#255'JB1'#255
|
||||
+#198#173#165#255#214#173#148#255#0#0#0#0#189#140's'#255#222#165'{'#255#181
|
||||
+#156#140#255#189#132's'#255#222#165'{'#255#0#0#0#0'!J'#198#255#24'B'#206#255
|
||||
+#24'J'#206#255#24'B'#206#255#222#165'{'#255#189#156#140#255'JB1'#255#198#181
|
||||
+#165#255#255#255#255#255#255#255#255#255#206#173#148#255#255#255#255#255#255
|
||||
+#255#255#255#222#165'{'#255#255#247#239#255#255#239#239#255#222#165'{'#255
|
||||
+#255#247#239#255#255#239#231#255#222#165'{'#255#255#231#206#255#198#181#173
|
||||
+#255'RB9'#255#198#173#156#255#255#255#255#255#255#255#255#255#181#148#132#255
|
||||
+#255#255#255#255#255#247#239#255#0#0#0#0#247#239#239#255#247#239#239#255#0#0
|
||||
+#0#0#247#239#239#255#247#247#239#255#0#0#0#0#255#222#206#255#206#189#181#255
|
||||
+'JB1'#255#198#173#165#255#198#173#165#255#0#0#0#0#189#140's'#255#231#181#148
|
||||
+#255#214#173#148#255#181#132's'#255#239#189#148#255#0#0#0#0#189#132's'#255
|
||||
+#198#173#156#255#181#156#140#255#189#132's'#255#206#173#140#255#181#156#140
|
||||
+#255'RB1'#255#0#0#0#0'JB9'#255'RB1'#255'JB9'#255'RB9'#255'JB1'#255'RB9'#255
|
||||
+'JB1'#255'JB9'#255'RB1'#255'JB9'#255'RB1'#255'JB9'#255'RB1'#255'RB9'#255'JB1'
|
||||
+#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#189#173#255#206#189#181#255#206#189#173
|
||||
+#255#206#189#181#255#206#189#173#255#206#189#181#255#198#173#165#255#198#173
|
||||
+#156#255#198#173#165#255#198#173#156#255#198#173#165#255#198#165#140#255#181
|
||||
+#156#140#255#181#156#132#255#181#148#140#255#181#156#140#255#206#189#181#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255'Rcc'
|
||||
+#255#198#189#173#255#255#255#255#255#239#222#222#255'Z{'#140#255#148#132'{'
|
||||
+#255'Z{'#140#255#189#198#206#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#247#239#255#255#239#239#255#222#214
|
||||
+#206#255'J91'#255#206#189#181#255#255#255#255#255'Jcc'#255'c{'#140#255#140
|
||||
+#156#173#255#132#156#165#255#148#132'{'#255#239#231#222#255#255#255#255#255
|
||||
+#247#247#239#255#255#255#255#255#247#239#239#255#247#239#231#255#255#239#231
|
||||
+#255#222#206#198#255'JB1'#255#206#189#173#255#255#255#255#255'RB9'#255'J91'
|
||||
+#255#239#231#222#255#189#198#206#255#148#132'{'#255#231#222#222#255#247#247
|
||||
,#239#255#247#189#165#255#247#189#156#255#255#181'{'#255#247#165'{'#255#247
|
||||
+#165'{'#255#206#189#181#255'JB1'#255#198#173#165#255#255#255#255#255'Rck'#255
|
||||
+'RB9'#255#206#189#181#255#148#132'{'#255'Rck'#255#255#255#255#255#255#239#239
|
||||
+#255#247#247#231#255#247#239#239#255#255#247#239#255#247#239#239#255#247#231
|
||||
+#198#255#206#189#181#255'RB1'#255#198#173#165#255#255#255#255#255#239#231#222
|
||||
+#255'Rck'#255#181#156#132#255#140#156#173#255'RZc'#255#198#214#222#255#247
|
||||
+#247#231#255#247#206#189#255#198#165#140#255#181#156#132#255#181#156#132#255
|
||||
+#181#132's'#255#206#189#181#255'JB1'#255#189#173#156#255#255#247#239#255#16
|
||||
+'{'#189#255#140#173#198#255#24'B'#206#255#24#132#189#255#24'J'#206#255#24'B'
|
||||
+#206#255#255#247#239#255#255#222#198#255#247#222#206#255#255#222#206#255#247
|
||||
+#214#189#255#255#214#189#255#231#189#148#255'J99'#255#198#173#156#255#239#231
|
||||
+#222#255#24'B'#198#255'J'#181#239#255')'#156#222#255'!J'#206#255#24#132#189
|
||||
+#255#24'B'#198#255#255#239#239#255#222#198#173#255#198#165#148#255#181#156
|
||||
+#132#255#181#156#140#255#181#132's'#255#239#189#156#255'JB1'#255#198#165#148
|
||||
+#255#247#247#239#255#189#198#206#255#24'B'#206#255'!J'#198#255#24'B'#206#255
|
||||
+'!J'#206#255#198#165#140#255#255#231#206#255#247#222#198#255#247#214#189#255
|
||||
+#247#214#198#255#255#222#189#255#247#214#189#255#231#181#140#255'JB9'#255#181
|
||||
+#156#140#255#255#222#198#255#255#222#198#255#222#206#198#255#231#198#173#255
|
||||
+#222#198#173#255#231#198#181#255#222#198#173#255#239#198#165#255#231#181#156
|
||||
+#255#231#189#148#255#231#181#148#255#231#173#140#255#231#181#140#255#231#173
|
||||
+#140#255'RB1'#255#181#156#132#255'Rck'#255'JB1'#255'JB1'#255'RB9'#255'JB1'
|
||||
+#255'JB1'#255'RB9'#255'JB1'#255'RB1'#255'JB9'#255'RB9'#255'JB1'#255'JB9'#255
|
||||
+'RB9'#255'JB9'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#132#173#198#255#140#156#165#255#132#156#173#255#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#222#198#173#255#206
|
||||
+#189#181#255#206#189#173#255#206#189#181#255#140#156#165#255#173#231#239#255
|
||||
+#173#231#247#255#140#198#214#255'Rcc'#255#198#173#165#255#198#173#156#255#198
|
||||
+#165#148#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#206#189#173#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#132#156#165#255#132#156#173#255#148#132'{'
|
||||
+#255#140#189#214#255'c{'#140#255#255#247#239#255#231#222#222#255#239#231#222
|
||||
+#255'RZc'#255#0#0#0#0#0#0#0#0#0#0#0#0#206#189#181#255#255#255#255#255#255#255
|
||||
+#255#255#140#156#173#255'{'#214#247#255#140#231#255#255'{'#214#247#255'c'#206
|
||||
+#247#255#140#156#165#255'Zs'#140#255#231#231#222#255#222#206#198#255#181#156
|
||||
+#132#255#0#0#0#0#0#0#0#0#0#0#0#0#206#189#181#255#255#255#255#255#255#255#255
|
||||
+#255#132#156#165#255'c{'#140#255'c{'#140#255'c{'#140#255'c{'#140#255'Z{'#140
|
||||
+#255#140#156#173#255#132#173#189#255#24'B'#206#255#181#156#140#255#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#206#189#173#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#247#239#239#255#255#239#239#255#247#247#239#255#239#222#222#255#239#231
|
||||
+#222#255#140#173#198#255#24'B'#206#255#140#156#165#255#148#132#132#255#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#198#173#156#255#255#255#255#255#255#255#255#255#255#239
|
||||
+#239#255#247#247#231#255#255#239#239#255#247#239#231#255#231#231#222#255')'
|
||||
+#148#222#255#24'J'#206#255#140#156#165#255#222#214#198#255'RZk'#255#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#198#173#165#255#255#255#255#255#198#247#255#255#198#214#214
|
||||
+#255#255#239#231#255#247#239#239#255#239#231#222#255#140#173#189#255#24'B'
|
||||
+#206#255'Z{'#140#255#255#222#206#255#231#198#181#255'JB1'#255#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#198#173#156#255#247#239#239#255'B'#173#239#255'J'#181#239#255#132
|
||||
+#173#198#255#198#214#214#255#132#173#198#255#24'B'#206#255'!J'#206#255#255
|
||||
+#222#198#255#247#222#189#255#198#173#165#255'JB1'#255#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#198#173#156#255#255#247#239#255'!B'#198#255#24'B'#206#255')'#156#222#255')'
|
||||
+#148#222#255#24'J'#198#255#24'B'#206#255#206#189#173#255#255#222#198#255#222
|
||||
+#206#198#255#198#173#165#255'JB9'#255#0#0#0#0#0#0#0#0#0#0#0#0#198#173#165#255
|
||||
+#247#247#239#255#198#214#214#255#24'B'#206#255'!J'#206#255'!B'#206#255#24'J'
|
||||
+#206#255#140#156#165#255#247#214#181#255#247#206#189#255#222#198#173#255#214
|
||||
+#173#140#255'RB1'#255#0#0#0#0#0#0#0#0#0#0#0#0#198#173#156#255#255#239#231#255
|
||||
+#255#247#239#255#239#231#222#255'!B'#206#255#24'J'#206#255'c{'#140#255#222
|
||||
+#206#198#255#247#206#181#255#222#206#198#255#222#198#181#255#214#173#148#255
|
||||
+'JB9'#255#0#0#0#0#0#0#0#0#0#0#0#0#198#173#165#255#247#247#239#255#222#206#198
|
||||
+#255#222#206#198#255#222#206#198#255#140#156#165#255#206#189#181#255#231#189
|
||||
+#148#255#198#173#165#255#198#173#156#255#214#173#140#255#189#165#148#255'RB1'
|
||||
+#255#0#0#0#0#0#0#0#0#0#0#0#0#214#173#148#255'R91'#255'JB1'#255'JB1'#255'JB1'
|
||||
+#255'Rck'#255'RB1'#255'JB9'#255'RB1'#255'JB9'#255'RB1'#255'JB9'#255#0#0#0#0#0
|
||||
,#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#140#189#214#255#140#198#206#255#148#198#214#255
|
||||
+#140#189#214#255#140#198#214#255#148#198#214#255#140#189#214#255#140#198#206
|
||||
+#255#148#189#214#255#140#198#214#255#132#173#189#255#132#173#198#255#132#173
|
||||
+#198#255#132#173#198#255#0#0#0#0#0#0#0#0#148#189#206#255#198#247#255#255#198
|
||||
+#239#255#255#198#247#255#255#198#247#255#255#198#239#255#255#198#247#255#255
|
||||
+#198#247#255#255#198#247#255#255#198#247#255#255#206#239#255#255#198#247#255
|
||||
+#255#206#247#255#255'Z{'#140#255#0#0#0#0#0#0#0#0#140#198#214#255#198#247#255
|
||||
+#255#173#239#255#255#173#239#247#255#173#239#255#255#173#239#247#255#173#239
|
||||
+#255#255#173#239#255#255#173#239#255#255#165#239#255#255#173#239#255#255#165
|
||||
+#239#247#255#173#239#255#255'Z{'#140#255#0#0#0#0#0#0#0#0#132#173#189#255#173
|
||||
+#239#255#255#173#239#255#255#165#239#255#255#173#239#255#255#165#239#255#255
|
||||
+#173#239#255#255#165#239#247#255#173#239#255#255#165#239#247#255#173#239#255
|
||||
+#255#173#239#255#255#173#247#255#255'RZk'#255#0#0#0#0#0#0#0#0#132#173#198#255
|
||||
+#173#231#239#255#165#239#255#255#173#247#247#255#173#239#255#255#173#247#255
|
||||
+#255#165#239#255#255#173#239#255#255#173#247#255#255#173#239#255#255#165#239
|
||||
+#247#255#173#239#255#255#165#239#255#255'Rcc'#255#0#0#0#0#0#0#0#0#132#173#198
|
||||
+#255#140#231#247#255#140#231#255#255#140#231#255#255#140#231#247#255#140#231
|
||||
+#255#255#140#231#247#255#140#231#247#255#140#231#255#255#140#231#247#255#140
|
||||
+#231#255#255#140#231#255#255#140#231#255#255'Rcc'#255#0#0#0#0#0#0#0#0#132#173
|
||||
+#198#255'k'#198#247#255#140#231#247#255#140#231#255#255#140#222#255#255#140
|
||||
+#231#247#255#140#231#255#255#140#231#255#255#140#222#247#255#140#231#255#255
|
||||
+#140#231#247#255#140#231#255#255#140#231#247#255'RZk'#255#0#0#0#0#0#0#0#0#140
|
||||
+#173#189#255'B'#181#239#255'{'#214#247#255#140#231#255#255#140#231#247#255
|
||||
+#140#231#255#255#140#222#255#255#140#231#247#255#140#231#255#255#140#231#255
|
||||
+#255#140#231#255#255#140#231#255#255#140#231#255#255'Rcc'#255#0#0#0#0#0#0#0#0
|
||||
+#132#173#198#255'J'#173#239#255')'#189#239#255'J'#181#239#255'B'#173#239#255
|
||||
+')'#156#222#255'k'#206#239#255#140#231#255#255#140#231#247#255#140#222#255
|
||||
+#255#140#231#247#255#140#231#255#255#140#231#255#255'RZc'#255#0#0#0#0#0#0#0#0
|
||||
+#132#173#189#255'k'#206#247#255')'#156#222#255')'#189#239#255')'#189#239#255
|
||||
+')'#156#222#255')'#189#239#255#140#222#255#255#140#231#255#255#140#231#247
|
||||
+#255#140#231#255#255#140#231#247#255#140#231#255#255'Rck'#255#0#0#0#0#0#0#0#0
|
||||
+#132#173#198#255'k'#206#247#255'J'#173#239#255')'#156#222#255'1'#189#247#255
|
||||
+')'#189#239#255')'#156#222#255'{'#214#247#255'{'#214#247#255'{'#214#255#255
|
||||
+'{'#214#247#255'{'#214#247#255'{'#214#247#255'Rcc'#255#0#0#0#0#0#0#0#0#140
|
||||
+#173#198#255'{'#214#247#255'k'#206#239#255'J'#181#239#255')'#156#222#255'1'
|
||||
+#156#231#255')'#156#222#255'J'#181#239#255'{'#214#247#255'k'#206#247#255'{'
|
||||
+#214#247#255'{'#214#247#255'{'#222#255#255'Rck'#255#0#0#0#0#0#0#0#0#132#173
|
||||
+#189#255'k'#206#247#255'{'#214#247#255'k'#198#247#255'J'#181#231#255')'#148
|
||||
+#222#255')'#156#222#255#24#132#189#255')'#156#222#255'J'#173#239#255'J'#181
|
||||
+#239#255'J'#181#239#255'J'#173#239#255'Rcc'#255#0#0#0#0#0#0#0#0#140#173#198
|
||||
+#255'Zs'#140#255'c{'#140#255'Z{'#140#255'c{'#140#255'c{'#140#255'Zck'#255'RZ'
|
||||
+'c'#255'Zck'#255'Rcc'#255'RZk'#255'Rcc'#255'Rcc'#255'Rck'#255#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#140#156#165#255#132#156#165#255#140#156#173#255
|
||||
+#132#156#165#255#140#156#165#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#156#173#255#173#231#247#255#173#239
|
||||
+#255#255#173#239#255#255#173#247#255#255#140#231#255#255#132#156#173#255#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#140#156
|
||||
+#165#255#132#156#165#255#140#156#165#255#132#156#165#255#132#156#165#255#140
|
||||
+#156#165#255#140#156#165#255#132#156#165#255#140#156#165#255#132#156#173#255
|
||||
+#132#156#165#255#140#156#173#255#132#156#165#255#132#156#165#255#0#0#0#0#0#0
|
||||
+#0#0#132#156#173#255#206#247#255#255#198#247#255#255#198#239#255#255#198#247
|
||||
+#255#255#173#239#255#255#173#239#255#255#173#239#255#255#140#231#255#255#140
|
||||
+#231#255#255'{'#214#247#255'k'#206#247#255'c'#198#247#255'k'#206#247#255'Zs'
|
||||
+#140#255#0#0#0#0#132#156#165#255#198#239#255#255#173#239#255#255#173#239#255
|
||||
+#255#173#239#255#255#165#239#255#255#140#231#255#255#140#231#255#255#140#231
|
||||
+#255#255'c'#198#239#255'k'#206#247#255'J'#173#239#255'J'#181#239#255')'#156
|
||||
,#222#255'Z{'#140#255#0#0#0#0#132#156#173#255#198#247#255#255#173#239#255#255
|
||||
+#165#239#255#255#173#239#255#255#140#231#247#255#140#231#255#255#140#231#247
|
||||
+#255'{'#214#247#255'k'#206#247#255'c'#198#247#255'J'#181#231#255')'#148#222
|
||||
+#255#24#132#189#255'Zck'#255#0#0#0#0#140#156#165#255#198#247#255#255#165#239
|
||||
+#247#255#173#247#255#255#173#239#247#255#140#231#255#255#140#231#255#255'{'
|
||||
+#214#247#255'c'#206#247#255'k'#198#239#255'J'#181#239#255'J'#181#239#255'1'
|
||||
+#156#222#255#24#132#189#255'Rcc'#255#0#0#0#0#132#156#165#255#173#239#255#255
|
||||
+#173#239#255#255#165#239#255#255#140#231#255#255#140#231#247#255'{'#214#247
|
||||
+#255'k'#198#247#255'k'#206#247#255'J'#173#239#255'J'#181#231#255'J'#173#239
|
||||
+#255')'#156#222#255#24#132#189#255'RB1'#255#0#0#0#0#140#156#173#255#165#231
|
||||
+#239#255#173#239#255#255#140#231#247#255#140#231#255#255'{'#214#247#255'c'
|
||||
+#206#247#255'k'#206#247#255'B'#173#231#255'J'#181#239#255'J'#181#239#255')'
|
||||
+#148#222#255')'#156#222#255#24#132#189#255'JB9'#255#0#0#0#0#148#132'{'#255
|
||||
+#173#231#247#255#140#231#255#255#140#231#255#255'{'#214#247#255'k'#198#247
|
||||
+#255'k'#206#239#255'J'#173#239#255'J'#181#239#255'J'#181#231#255')'#148#222
|
||||
+#255')'#156#231#255'!'#132#189#255#24#132#189#255'RB1'#255#0#0#0#0'Z{'#140
|
||||
+#255#173#231#239#255'c'#206#247#255'J'#173#231#255'J'#181#239#255')'#156#222
|
||||
+#255')'#148#231#255#24#132#181#255#24#132#189#255#24#132#189#255#24#132#189
|
||||
+#255#24#132#181#255#24#132#189#255#24#132#189#255#0#0#0#255#0#0#0#0'Z{'#140
|
||||
+#255'cs'#140#255'Rcc'#255'Rck'#255'RB1'#255'RB1'#255'RB1'#255#0#0#0#255#0#0#0
|
||||
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#10'TImageList'#10'ToolImages'#6'Height'#2#12#5'Width'#2#12#4'left'#3#144
|
||||
+#0#3'top'#2#16#6'Bitmap'#10#142#13#0#0'Li'#6#0#0#0#12#0#0#0#12#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#132#132#132#255#132#132#132#255#132#132#132#255#132#132#132#255
|
||||
+#132#132#132#255#132#132#132#255#132#132#132#255#132#132#132#255#132#132#132
|
||||
+#255#132#132#132#255#132#132#132#255#0#0#0#255#132#132#132#255#0#0#0#255#0
|
||||
+#255#255#255#255#255#255#255#0#255#255#255#255#255#255#255#0#255#255#255#255
|
||||
+#255#255#255#0#255#255#255#255#255#255#255#0#0#0#255#0#0#0#255#132#132#132
|
||||
+#255#198#198#198#255#0#0#0#255#0#255#255#255#255#255#255#255#0#255#255#255
|
||||
+#255#255#255#255#0#255#255#255#255#255#255#255#0#0#0#255#0#132#132#255#0#0#0
|
||||
+#255#132#132#132#255#0#255#255#255#198#198#198#255#0#0#0#255#0#255#255#255
|
||||
+#255#255#255#255#0#255#255#255#255#255#255#255#0#0#0#255#0#132#132#255#198
|
||||
+#198#198#255#0#0#0#255#132#132#132#255#255#255#255#255#255#255#255#255#0#132
|
||||
+#132#255#0#0#0#255#0#255#255#255#255#255#255#255#0#0#0#255#0#132#132#255#198
|
||||
+#198#198#255#198#198#198#255#0#0#0#255#132#132#132#255#0#255#255#255#0#132
|
||||
+#132#255#198#198#198#255#0#132#132#255#0#0#0#255#0#0#0#255#0#132#132#255#198
|
||||
+#198#198#255#0#132#132#255#198#198#198#255#0#0#0#255#132#132#132#255#0#132
|
||||
+#132#255#198#198#198#255#198#198#198#255#198#198#198#255#0#132#132#255#0#132
|
||||
+#132#255#198#198#198#255#198#198#198#255#198#198#198#255#0#132#132#255#0#0#0
|
||||
+#255#132#132#132#255#198#198#198#255#198#198#198#255#198#198#198#255#198#198
|
||||
+#198#255#198#198#198#255#198#198#198#255#198#198#198#255#198#198#198#255#198
|
||||
+#198#198#255#198#198#198#255#0#0#0#255#132#132#132#255#132#132#132#255#132
|
||||
+#132#132#255#132#132#132#255#132#132#132#255#132#132#132#255#132#132#132#255
|
||||
+#132#132#132#255#132#132#132#255#132#132#132#255#132#132#132#255#0#0#0#255#0
|
||||
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
|
||||
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#132#132#132#255#132#132#132#255#132#132#132#255#132#132#132#255#132
|
||||
+#132#132#255#132#132#132#255#132#132#132#255#132#132#132#255#132#132#132#255
|
||||
+#132#132#132#255#132#132#132#255#0#0#0#255#132#132#132#255#0#0#0#255#0#255
|
||||
+#255#255#255#255#255#255#0#255#255#255#255#255#255#255#0#255#255#255#255#255
|
||||
+#255#255#0#255#255#255#255#255#255#255#0#0#0#255#0#0#0#255#132#132#132#255
|
||||
+#198#198#198#255#0#0#0#255#0#255#255#255#255#255#255#255#0#255#255#255#255
|
||||
+#255#255#255#0#255#255#255#255#255#255#255#0#0#0#255#0#0#132#255#0#0#0#255
|
||||
+#132#132#132#255#0#255#255#255#198#198#198#255#0#0#0#255#0#255#255#255#255
|
||||
+#255#255#255#0#255#255#255#255#255#255#255#0#0#0#255#0#0#132#255#198#198#198
|
||||
+#255#0#0#0#255#132#132#132#255#255#255#255#255#255#255#255#255#0#0#132#255#0
|
||||
,#0#0#255#0#0#255#255#0#0#255#255#0#0#0#255#0#0#132#255#198#198#198#255#0#0
|
||||
+#255#255#0#0#255#255#132#132#132#255#0#255#255#255#0#0#132#255#198#198#198
|
||||
+#255#0#0#132#255#0#0#255#255#0#0#255#255#0#0#255#255#198#198#198#255#0#0#255
|
||||
+#255#0#0#255#255#0#0#255#255#132#132#132#255#0#0#132#255#198#198#198#255#198
|
||||
+#198#198#255#198#198#198#255#0#0#132#255#0#0#255#255#0#0#255#255#0#0#255#255
|
||||
+#0#0#255#255#0#0#255#255#0#0#0#255#132#132#132#255#198#198#198#255#198#198
|
||||
+#198#255#198#198#198#255#198#198#198#255#198#198#198#255#198#198#198#255#0#0
|
||||
+#255#255#0#0#255#255#0#0#255#255#198#198#198#255#0#0#0#255#132#132#132#255
|
||||
+#132#132#132#255#132#132#132#255#132#132#132#255#132#132#132#255#132#132#132
|
||||
+#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#0#255#0
|
||||
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0#255#255#0#0
|
||||
+#255#255#0#0#0#255#0#0#255#255#0#0#255#255#0#0#255#255#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#255#255#0#0#255#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255
|
||||
+#255#0#0#255#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255#198
|
||||
+#198#198#255#132#132#132#255#132#132#132#255#132#132#132#255#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255#255#255#255#255#132#132#132
|
||||
+#255#198#198#198#255#255#255#255#255#255#255#255#255#132#132#132#255#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#0#0#0#255#198#198#198#255#132#132#132#255#255#255#255#255#132
|
||||
+#132#132#255#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255#255#255#255#255#255#255
|
||||
+#255#255#132#132#132#255#132#132#0#255#0#0#0#255#132#132#0#255#198#198#198
|
||||
+#255#132#132#132#255#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255#255#255#255#255
|
||||
+#255#255#255#255#132#132#132#255#0#0#0#255#255#255#0#255#132#132#132#255#132
|
||||
+#132#132#255#132#132#132#255#0#0#0#0#198#198#198#255#198#198#198#255#132#132
|
||||
+#132#255#255#255#255#255#255#255#255#255#132#132#132#255#0#0#0#255#255#255
|
||||
+#255#255#132#132#132#255#198#198#198#255#132#132#132#255#198#198#198#255#0#0
|
||||
+#0#255#0#0#0#255#132#132#132#255#255#255#255#255#255#255#255#255#132#132#132
|
||||
+#255#132#132#0#255#0#0#0#255#132#132#0#255#132#132#132#255#132#132#132#255#0
|
||||
+#0#0#255#132#132#132#255#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255
|
||||
+#255#255#132#132#132#255#132#132#132#255#132#132#132#255#0#0#0#255#0#0#0#0
|
||||
+#132#132#132#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0
|
||||
+#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#132#132#132#255#198#198#198#255#132#132#132#255#198#198#198#255#0#0#0
|
||||
+#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#198#198#198#255#132
|
||||
+#132#132#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255#198#198#198#255
|
||||
+#132#132#132#255#198#198#198#255#132#132#132#255#198#198#198#255#132#132#132
|
||||
+#255#132#132#132#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132
|
||||
+#132#132#255#198#198#198#255#132#132#132#255#132#132#132#255#132#132#132#255
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255#255#255#255
|
||||
+#255#132#132#132#255#198#198#198#255#255#255#255#255#255#255#255#255#132#132
|
||||
+#132#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#0#0#0#255#198#198#198#255#132#132#132#255#255
|
||||
+#255#255#255#132#132#132#255#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255#255#255
|
||||
+#255#255#255#255#255#255#132#132#132#255#132#132#0#255#0#0#0#255#132#132#0
|
||||
+#255#198#198#198#255#132#132#132#255#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255
|
||||
+#255#255#255#255#255#255#255#255#132#132#132#255#0#0#0#255#255#255#0#255#132
|
||||
+#132#132#255#132#132#132#255#132#132#132#255#0#0#0#0#198#198#198#255#198#198
|
||||
+#198#255#132#132#132#255#255#255#255#255#255#255#255#255#132#132#132#255#0#0
|
||||
+#255#255#0#0#255#255#0#0#255#255#0#0#255#255#132#132#132#255#198#198#198#255
|
||||
+#0#0#0#255#0#0#0#255#132#132#132#255#255#255#255#255#255#255#255#255#0#0#255
|
||||
+#255#255#255#255#255#0#0#255#255#0#0#255#255#255#255#255#255#0#0#255#255#0#0
|
||||
+#0#255#132#132#132#255#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#0#0#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#0#0#255#255
|
||||
+#132#132#132#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#255#255#0#0
|
||||
+#255#255#255#255#255#255#255#255#255#255#0#0#255#255#0#0#255#255#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255#0#0#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#0#0#255#255#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#132#132#132#255#255#255#255#255#0#0#255#255#255#255#255#255#0#0
|
||||
+#255#255#0#0#255#255#255#255#255#255#0#0#255#255#0#0#0#0#0#0#0#0#0#0#0#0#132
|
||||
+#132#132#255#198#198#198#255#132#132#132#255#198#198#198#255#0#0#255#255#0#0
|
||||
+#255#255#0#0#255#255#0#0#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#132#132#255#132#132#132#255#132#132#132#255#132#132#132#255#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#132#255#255#255#255#255#255
|
||||
,#255#255#255#255#255#255#255#198#198#198#255#132#132#132#255#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#132#132#132#255#198#198
|
||||
+#198#255#0#132#132#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#132#132#132#255#198#198#198#255#255#255#255#255#255#255#255#255#0#132
|
||||
+#132#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#0#0#0#0
|
||||
+#255#0#0#0#255#132#132#132#255#198#198#198#255#0#0#0#255#0#0#0#255#0#0#0#0#0
|
||||
+#0#0#255#0#0#0#0#198#198#198#255#0#0#0#255#0#0#0#255#132#132#132#255#198#198
|
||||
+#198#255#255#255#255#255#255#255#255#255#132#132#132#255#0#0#0#255#0#0#0#255
|
||||
+#0#0#0#255#198#198#198#255#0#0#0#0#0#0#0#255#255#255#255#255#0#0#0#255#0#0#0
|
||||
+#255#132#132#132#255#198#198#198#255#0#0#0#255#0#0#0#255#255#255#255#255#0#0
|
||||
+#0#255#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#132#132#132#255#198#198#198
|
||||
+#255#198#198#198#255#132#132#132#255#132#132#132#255#0#0#0#255#255#255#255
|
||||
+#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#0#0#0#255#0
|
||||
+#0#0#255#0#0#0#255#0#0#0#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#132#132#132#255#132#132#132#255#132#132#132#255#132#132
|
||||
+#132#255#132#132#132#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#198#198#198#255#132#132#132#255#0#0#0#255#0#0#0#255#0
|
||||
+#0#0#255#0#0#0#255#0#0#0#255#132#132#132#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#132#132#255#132#132#132#255#132#132#132#255#132#132#132
|
||||
+#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#132#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#198#198#198#255#132#132#132
|
||||
+#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#132
|
||||
+#132#132#255#198#198#198#255#0#132#132#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#132#132#132#255#198#198#198#255#255#255#255#255#255
|
||||
+#255#255#255#0#132#132#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#255#0#0#0#0#0#0#0#255#0#0#0#255#132#132#132#255#198#198#198#255#0#0#0#255#0
|
||||
+#0#0#255#0#0#0#0#0#0#0#255#0#0#0#0#198#198#198#255#0#0#0#255#0#0#0#255#132
|
||||
+#132#132#255#198#198#198#255#255#255#255#255#255#255#255#255#0#0#255#255#0#0
|
||||
+#255#255#0#0#255#255#0#0#255#255#198#198#198#255#0#0#0#0#0#0#0#255#255#255
|
||||
+#255#255#0#0#0#255#0#0#0#255#132#132#132#255#0#0#255#255#255#255#255#255#0#0
|
||||
+#255#255#0#0#255#255#255#255#255#255#0#0#255#255#0#0#0#0#0#0#0#255#255#255
|
||||
+#255#255#132#132#132#255#198#198#198#255#198#198#198#255#0#0#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#0#0#255#255#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#255#255#255#255#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0#255
|
||||
+#255#255#255#255#255#255#255#255#255#0#0#255#255#0#0#255#255#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#132#132#132#255#132#132#132#255#132#132#132#255#0#0#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#0#0#255#255#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#255#255#255#255#255#255#0#0
|
||||
+#255#255#0#0#255#255#255#255#255#255#0#0#255#255#0#0#0#0#0#0#0#0#198#198#198
|
||||
+#255#132#132#132#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#255#255#0#0#255#255#0
|
||||
+#0#255#255#0#0#255#255#0#0#0#0#0#0#18'TOpenPictureDialog'#18'OpenPictureDial'
|
||||
+'og1'#5'Title'#6#18'Open existing file'#4'left'#3#136#0#3'top'#2'@'#0#0#0
|
||||
]);
|
@ -0,0 +1,482 @@
|
||||
// $Id: JvNavPaneDemoMainForm.pas 10610 2006-05-19 13:35:08Z elahn $
|
||||
unit JvNavPaneDemoMainForm;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
LCLIntf, LMessages, SysUtils, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, StdCtrls, {JvOutlookBar,} ComCtrls, CheckLst, //JvComponent,
|
||||
JvNavigationPane, ImgList, Menus, {JvPageList, JclWin32, JvExControls,} ExtCtrls,
|
||||
{JvExExtCtrls,} ExtDlgs, LResources;
|
||||
|
||||
type
|
||||
TJvNavPaneDemoMainFrm = class(TForm)
|
||||
PopupMenu1: TPopupMenu;
|
||||
LargeImages: TImageList;
|
||||
HideAll1: TMenuItem;
|
||||
ShowAll1: TMenuItem;
|
||||
N1: TMenuItem;
|
||||
Dontallowresize1: TMenuItem;
|
||||
ChangeFont1: TMenuItem;
|
||||
SmallImages: TImageList;
|
||||
Colors1: TMenuItem;
|
||||
Standard1: TMenuItem;
|
||||
Blue1: TMenuItem;
|
||||
Silver1: TMenuItem;
|
||||
Olive1: TMenuItem;
|
||||
N2: TMenuItem;
|
||||
ShowToolPanel1: TMenuItem;
|
||||
ToolImages: TImageList;
|
||||
ShowCloseButton1: TMenuItem;
|
||||
N3: TMenuItem;
|
||||
BackgroundImage1: TMenuItem;
|
||||
OpenPictureDialog1: TOpenPictureDialog;
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure Dontallowresize1Click(Sender: TObject);
|
||||
procedure HideAll1Click(Sender: TObject);
|
||||
procedure ShowAll1Click(Sender: TObject);
|
||||
procedure ChangeFont1Click(Sender: TObject);
|
||||
procedure SchemaClick(Sender: TObject);
|
||||
procedure PopupMenu1Popup(Sender: TObject);
|
||||
procedure ShowToolPanel1Click(Sender: TObject);
|
||||
procedure ShowCloseButton1Click(Sender: TObject);
|
||||
procedure BackgroundImage1Click(Sender: TObject);
|
||||
private
|
||||
JvNavPaneStyleManager1: TJvNavPaneStyleManager;
|
||||
JvOutlookSplitter1: TJvOutlookSplitter;
|
||||
{ Private declarations }
|
||||
procedure DoToolMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: integer);
|
||||
procedure DoToolMouseMove(Sender: TObject; Shift: TShiftState; X, Y: integer);
|
||||
procedure DoToolPanelClose(Sender: TObject);
|
||||
procedure DoToolButtonClick(Sender: TObject; Index: integer);
|
||||
procedure DoToolEndDock(Sender, Target: TObject; X, Y: Integer);
|
||||
public
|
||||
{ Public declarations }
|
||||
NP: TJvNavigationPane;
|
||||
NT: TJvNavPaneToolPanel;
|
||||
end;
|
||||
|
||||
var
|
||||
JvNavPaneDemoMainFrm: TJvNavPaneDemoMainFrm;
|
||||
|
||||
implementation
|
||||
uses
|
||||
CommCtrl;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.FormCreate(Sender: TObject);
|
||||
var
|
||||
Page: TJvNavPanelPage;
|
||||
N: TTreeNode;
|
||||
R: TRect;
|
||||
i: integer;
|
||||
|
||||
tv: TTreeView;
|
||||
|
||||
dummy: integer;
|
||||
begin
|
||||
//Self.Height := 600;
|
||||
//Self.Width := 800;
|
||||
(*
|
||||
object JvNavPaneStyleManager1: TJvNavPaneStyleManager
|
||||
Theme = nptXPOlive
|
||||
Left = 32
|
||||
Top = 50
|
||||
end
|
||||
object JvOutlookSplitter1: TJvOutlookSplitter
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 7
|
||||
Height = 434
|
||||
Cursor = crSizeWE
|
||||
Align = alLeft
|
||||
ColorFrom = 7703937
|
||||
ColorTo = 3823693
|
||||
StyleManager = JvNavPaneStyleManager1
|
||||
ParentStyleManager = False
|
||||
end
|
||||
*)
|
||||
JvNavPaneStyleManager1 := TJvNavPaneStyleManager.Create(Self);
|
||||
JvNavPaneStyleManager1.Theme := nptXPOlive;
|
||||
|
||||
JvOutlookSplitter1 := TJvOutlookSplitter.Create(Self);
|
||||
JvOutlookSplitter1.Parent := Self;
|
||||
JvOutlookSplitter1.Align := alLeft;
|
||||
JvOutlookSplitter1.ColorFrom := TColor(7703937);
|
||||
JvOutlookSplitter1.ColorTo := TColor(3823693);
|
||||
JvOutlookSplitter1.StyleManager := JvNavPaneStyleManager1;
|
||||
JvOutlookSplitter1.ParentStyleManager := False;
|
||||
|
||||
JvNavPaneStyleManager1.Theme := nptCustom;
|
||||
// this is how to create a NavPane at run-time
|
||||
// also shows how to create and insert pages as well as controls on pages
|
||||
NP := TJvNavigationPane.Create(Self);
|
||||
|
||||
NP.Parent := Self;
|
||||
NP.Cursor := crHandPoint;
|
||||
NP.Width := 220;
|
||||
// NP.BorderWidth := 2;
|
||||
NP.Align := alLeft;
|
||||
JvOutlookSplitter1.Left := 225;
|
||||
JvOutlookSplitter1.MinSize := 220;
|
||||
NP.DropDownMenu := PopupMenu1;
|
||||
NP.SmallImages := SmallImages;
|
||||
NP.LargeImages := LargeImages;
|
||||
NP.AutoHeaders := True;
|
||||
NP.StyleManager := JvNavPaneStyleManager1;
|
||||
|
||||
Page := TJvNavPanelPage.Create(Self);
|
||||
Page.Caption := '&Mail';
|
||||
Page.ImageIndex := 0;
|
||||
Page.PageList := NP;
|
||||
|
||||
with TJvNavPanelDivider.Create(Self) do
|
||||
begin
|
||||
Caption := 'Favorite Folders';
|
||||
Parent := Page;
|
||||
Top := 100;
|
||||
Align := alTop;
|
||||
Enabled := false;
|
||||
Cursor := crDefault;
|
||||
StyleManager := JvNavPaneStyleManager1;
|
||||
end;
|
||||
|
||||
tv := TTreeView.Create(Self);
|
||||
with tv do
|
||||
begin
|
||||
Parent := Page;
|
||||
Top := 200;
|
||||
Align := alTop;
|
||||
Font.Style := [];
|
||||
BorderStyle := bsNone;
|
||||
Items.Add(nil, 'Inbox');
|
||||
Items.Add(nil, 'Unread Mail');
|
||||
Items.Add(nil, 'For Follow Up [4]');
|
||||
Items.Add(nil, 'Sent Items');
|
||||
Height := 100;
|
||||
end;
|
||||
|
||||
with TJvNavPanelDivider.Create(Self) do
|
||||
begin
|
||||
Caption := 'All Mail Folders';
|
||||
Parent := Page;
|
||||
Top := tv.Top + tv.Height; // 201; // old = 100
|
||||
Align := alTop;
|
||||
Cursor := crSizeNS;
|
||||
StyleManager := JvNavPaneStyleManager1;
|
||||
end;
|
||||
|
||||
with TTreeView.Create(Self) do
|
||||
begin
|
||||
Parent := Page;
|
||||
Align := alClient;
|
||||
BorderStyle := bsNone;
|
||||
Font.Style := [];
|
||||
N := Items.Add(nil, 'Mailbox - Chris Gray');
|
||||
Items.AddChild(N, 'Deleted Items');
|
||||
Items.AddChild(N, 'Drafts');
|
||||
Items.AddChild(N, 'Inbox');
|
||||
Items.AddChild(N, 'Junk E-mail');
|
||||
Items.AddChild(N, 'Outbox');
|
||||
Items.AddChild(N, 'Sent Items');
|
||||
N := Items.AddChild(N, 'Search Folders');
|
||||
Items.AddChild(N, 'For Follow Up [4]');
|
||||
Items.AddChild(N, 'Large Mail');
|
||||
Items.AddChild(N, 'Unread Mail');
|
||||
FullExpand;
|
||||
end;
|
||||
|
||||
Page := TJvNavPanelPage.Create(Self);
|
||||
Page.Caption := '&Calendar';
|
||||
Page.ImageIndex := 1;
|
||||
Page.PageList := NP;
|
||||
//TODO: replace
|
||||
(*
|
||||
// NB! TMonthCalendar messes up the form when you size the form smaller than one calendar width
|
||||
with TMonthCalendar.Create(Self) do
|
||||
begin
|
||||
Parent := Page;
|
||||
Align := alTop;
|
||||
AutoSize := true;
|
||||
AutoSize := false;
|
||||
Date := SysUtils.Date;
|
||||
MonthCal_GetMinReqRect(Handle, R);
|
||||
end;
|
||||
Constraints.MinHeight := R.Bottom - R.Top + 12;
|
||||
Constraints.MinWidth := R.Right - R.Left + 12;
|
||||
*)
|
||||
|
||||
with TJvNavPanelDivider.Create(Self) do
|
||||
begin
|
||||
Caption := 'My Calendars';
|
||||
Parent := Page;
|
||||
Top := 1500;
|
||||
Align := alTop;
|
||||
Cursor := crDefault;
|
||||
Enabled := false;
|
||||
StyleManager := JvNavPaneStyleManager1;
|
||||
end;
|
||||
with TCheckListBox.Create(Self) do
|
||||
begin
|
||||
Parent := Page;
|
||||
Checked[Items.Add('Calendar')] := true;
|
||||
Items.Add('Project Schedule');
|
||||
Top := 1500;
|
||||
Height := 32;
|
||||
Align := alTop;
|
||||
end;
|
||||
with TJvNavPanelDivider.Create(Self) do
|
||||
begin
|
||||
Caption := 'Other Calendars';
|
||||
Parent := Page;
|
||||
Top := 1500;
|
||||
Align := alTop;
|
||||
Cursor := crSizeNS;
|
||||
StyleManager := JvNavPaneStyleManager1;
|
||||
end;
|
||||
with TCheckListBox.Create(Self) do
|
||||
begin
|
||||
Parent := Page;
|
||||
Checked[Items.Add('Alan Chong')] := Random(4) = 1;
|
||||
Checked[Items.Add('Andreas Hausladen')] := Random(4) = 1;
|
||||
Checked[Items.Add('Andr� Snepvangers')] := Random(4) = 1;
|
||||
Checked[Items.Add('Michael Beck')] := Random(4) = 1;
|
||||
Checked[Items.Add('Leroy Casterline')] := Random(4) = 1;
|
||||
Checked[Items.Add('Chris Latta')] := Random(4) = 1;
|
||||
Checked[Items.Add('Erwin Molendijk')] := Random(4) = 1;
|
||||
Checked[Items.Add('James Lan')] := Random(4) = 1;
|
||||
Checked[Items.Add('Ignacio Vazquez')] := Random(4) = 1;
|
||||
Checked[Items.Add('Marcel Bestebroer')] := Random(4) = 1;
|
||||
Checked[Items.Add('Jens Fudickar')] := Random(4) = 1;
|
||||
Checked[Items.Add('Jose Perez')] := Random(4) = 1;
|
||||
Checked[Items.Add('Marc Hoffmann')] := Random(4) = 1;
|
||||
Checked[Items.Add('Fernando Silva')] := Random(4) = 1;
|
||||
Checked[Items.Add('Robert Marquardt')] := Random(4) = 1;
|
||||
Checked[Items.Add('Matthias Thoma')] := Random(4) = 1;
|
||||
Checked[Items.Add('Olivier Sannier')] := Random(4) = 1;
|
||||
Checked[Items.Add('Oliver Giesen')] := Random(4) = 1;
|
||||
Checked[Items.Add('Dmitry Osinovsky')] := Random(4) = 1;
|
||||
Checked[Items.Add('Peter Thornqvist')] := Random(4) = 1;
|
||||
Checked[Items.Add('henri gourvest')] := Random(4) = 1;
|
||||
Checked[Items.Add('Rob den Braasem')] := Random(4) = 1;
|
||||
Checked[Items.Add('Remko Bonte')] := Random(4) = 1;
|
||||
Checked[Items.Add('Christian Vogt')] := Random(4) = 1;
|
||||
Checked[Items.Add('Warren Postma')] := Random(4) = 1;
|
||||
Top := 1500;
|
||||
Align := alClient;
|
||||
end;
|
||||
|
||||
Page := TJvNavPanelPage.Create(Self);
|
||||
Page.Caption := 'C&ontacts';
|
||||
Page.ImageIndex := 2;
|
||||
Page.PageList := NP;
|
||||
|
||||
with TListBox.Create(Self) do
|
||||
begin
|
||||
Parent := Page;
|
||||
Align := alClient;
|
||||
Items.Add('Alan Chong');
|
||||
Items.Add('Andreas Hausladen');
|
||||
Items.Add('Andr� Snepvangers');
|
||||
Items.Add('Michael Beck');
|
||||
Items.Add('Leroy Casterline');
|
||||
Items.Add('Chris Latta');
|
||||
Items.Add('Erwin Molendijk');
|
||||
Items.Add('James Lan');
|
||||
Items.Add('Ignacio Vazquez');
|
||||
Items.Add('Marcel Bestebroer');
|
||||
Items.Add('Jens Fudickar');
|
||||
Items.Add('Jose Perez');
|
||||
Items.Add('Marc Hoffmann');
|
||||
Items.Add('Fernando Silva');
|
||||
Items.Add('Robert Marquardt');
|
||||
Items.Add('Matthias Thoma');
|
||||
Items.Add('Olivier Sannier');
|
||||
Items.Add('Oliver Giesen');
|
||||
Items.Add('Dmitry Osinovsky');
|
||||
Items.Add('Peter Thornqvist');
|
||||
Items.Add('henri gourvest');
|
||||
Items.Add('Rob den Braasem');
|
||||
Items.Add('Remko Bonte');
|
||||
Items.Add('Christian Vogt');
|
||||
Items.Add('Warren Postma');
|
||||
end;
|
||||
|
||||
Page := TJvNavPanelPage.Create(Self);
|
||||
Page.Caption := '&Tasks';
|
||||
Page.ImageIndex := 3;
|
||||
Page.PageList := NP;
|
||||
|
||||
Page := TJvNavPanelPage.Create(Self);
|
||||
Page.Caption := '&Notes';
|
||||
Page.ImageIndex := 4;
|
||||
Page.PageList := NP;
|
||||
|
||||
Page := TJvNavPanelPage.Create(Self);
|
||||
Page.Caption := '&Folder List';
|
||||
Page.ImageIndex := 5;
|
||||
Page.PageList := NP;
|
||||
|
||||
{ with TJvOutlookSplitter.Create(Self) do
|
||||
begin
|
||||
Align := alNone;
|
||||
Parent := Self;
|
||||
Left := NP.Width + 100;
|
||||
Align := alLeft;
|
||||
Width := 7;
|
||||
Cursor := crSizeWE;
|
||||
end;
|
||||
}
|
||||
NP.ActivePageIndex := 0;
|
||||
|
||||
NT := TJvNavPaneToolPanel.Create(Self);
|
||||
NT.DragKind := dkDock;
|
||||
// NT.DragMode := dmAutomatic;
|
||||
NT.Parent := Self;
|
||||
NT.Align := alClient;
|
||||
NT.Caption := 'Sample Tool Panel';
|
||||
NT.StyleManager := JvNavPaneStyleManager1;
|
||||
NT.Images := ToolImages;
|
||||
NT.DropDownMenu := PopupMenu1;
|
||||
for i := 0 to ToolImages.Count - 1 do
|
||||
NT.Buttons.Add.ImageIndex := i;
|
||||
NT.OnButtonClick := @DoToolButtonClick;
|
||||
NT.OnMouseDown := @DoToolMouseDown;
|
||||
NT.OnMouseMove := @DoToolMouseMove;
|
||||
NT.OnEndDock := @DoToolEndDock;
|
||||
|
||||
NT.CloseButton := false;
|
||||
NT.OnClose := @DoToolPanelClose;
|
||||
// now, set the real start theme:
|
||||
JvNavPaneStyleManager1.Theme := nptStandard;
|
||||
|
||||
// SESS
|
||||
NT.ShowHint := true;
|
||||
NT.Hint := 'Hello world !!';
|
||||
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.Dontallowresize1Click(Sender: TObject);
|
||||
begin
|
||||
Dontallowresize1.Checked := not Dontallowresize1.Checked;
|
||||
NP.Resizable := not Dontallowresize1.Checked;
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.HideAll1Click(Sender: TObject);
|
||||
begin
|
||||
NP.MaximizedCount := 0;
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.ShowAll1Click(Sender: TObject);
|
||||
begin
|
||||
NP.MaximizedCount := NP.PageCount;
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.ChangeFont1Click(Sender: TObject);
|
||||
var
|
||||
FD: TFontDialog;
|
||||
begin
|
||||
FD := TFontDialog.Create(nil);
|
||||
try
|
||||
FD.Font := NP.NavPanelFont;
|
||||
if FD.Execute then
|
||||
NP.NavPanelFont := FD.Font;
|
||||
finally
|
||||
FD.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.SchemaClick(Sender: TObject);
|
||||
begin
|
||||
JvNavPaneStyleManager1.Theme := TJvNavPanelTheme((Sender as TMenuItem).Tag);
|
||||
(Sender as TMenuItem).Checked := true;
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.DoToolPanelClose(Sender: TObject);
|
||||
begin
|
||||
if MessageDlg('Close this window?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
|
||||
begin
|
||||
JvOutlookSplitter1.Visible := False;
|
||||
NT.Visible := False;
|
||||
NP.Align := alClient;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.PopupMenu1Popup(Sender: TObject);
|
||||
begin
|
||||
ShowToolPanel1.Enabled := not NT.Visible;
|
||||
ShowCloseButton1.Checked := NT.CloseButton;
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.ShowToolPanel1Click(Sender: TObject);
|
||||
begin
|
||||
NP.Align := alLeft;
|
||||
NP.Width := 220;
|
||||
JvOutlookSplitter1.Visible := True;
|
||||
JvOutlookSplitter1.Left := 225;
|
||||
NT.Visible := True;
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.DoToolButtonClick(Sender: TObject; Index: integer);
|
||||
begin
|
||||
ShowMessageFmt('You clicked button %d ', [Index]);
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.ShowCloseButton1Click(Sender: TObject);
|
||||
begin
|
||||
ShowCloseButton1.Checked := not ShowCloseButton1.Checked;
|
||||
NT.CloseButton := ShowCloseButton1.Checked;
|
||||
end;
|
||||
|
||||
type
|
||||
THackForm = class(TCustomForm);
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.DoToolEndDock(Sender, Target: TObject; X, Y: Integer);
|
||||
begin
|
||||
if (Target is TCustomForm) and (Target <> Self) then
|
||||
begin
|
||||
TCustomForm(Target).BorderStyle := bsSizeable;
|
||||
//TODO:
|
||||
//SetWindowLong(TCustomForm(Target).Handle, GWL_STYLE, GetWindowLong(TCustomForm(Target).Handle, GWL_STYLE) and not WS_CAPTION);
|
||||
TCustomForm(Target).Width := TCustomForm(Target).Width + 1;
|
||||
TCustomForm(Target).Width := TCustomForm(Target).Width - 1;
|
||||
end
|
||||
else
|
||||
NT.Align := alClient;
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.DoToolMouseDown(Sender: TObject; Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: integer);
|
||||
begin
|
||||
if phtGrabber in NT.GetHitTestInfoAt(X, Y) then
|
||||
NT.BeginDrag(false);
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.DoToolMouseMove(Sender: TObject; Shift: TShiftState; X,
|
||||
Y: integer);
|
||||
begin
|
||||
if phtGrabber in NT.GetHitTestInfoAt(X, Y) then
|
||||
NT.Cursor := crSize
|
||||
else
|
||||
NT.Cursor := crDefault;
|
||||
end;
|
||||
|
||||
procedure TJvNavPaneDemoMainFrm.BackgroundImage1Click(Sender: TObject);
|
||||
begin
|
||||
if OpenPictureDialog1.Execute then
|
||||
begin
|
||||
NP.Background.Picture.LoadFromFile(OpenPictureDialog1.Filename);
|
||||
NP.Background.Tile := True;
|
||||
NT.Background.Picture.LoadFromFile(OpenPictureDialog1.Filename);
|
||||
NT.Background.Tile := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$i JvNavPaneDemoMainForm.lrs}
|
||||
{$i JvNavPaneDemoMainForm.lrs}
|
||||
{$i JvNavPaneDemoMainForm.lrs}
|
||||
|
||||
end.
|
||||
|
BIN
components/jvcllaz/examples/JvNavigationPane/LargeImages.bmp
Normal file
BIN
components/jvcllaz/examples/JvNavigationPane/LargeImages.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.5 KiB |
BIN
components/jvcllaz/examples/JvNavigationPane/SmallImages.bmp
Normal file
BIN
components/jvcllaz/examples/JvNavigationPane/SmallImages.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
71
components/jvcllaz/packages/JvCoreLaz.lpk
Normal file
71
components/jvcllaz/packages/JvCoreLaz.lpk
Normal file
@ -0,0 +1,71 @@
|
||||
<?xml version="1.0"?>
|
||||
<CONFIG>
|
||||
<Package Version="2">
|
||||
<PathDelim Value="\"/>
|
||||
<Name Value="JvCoreLaz"/>
|
||||
<Author Value="Sergio Samayoa"/>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
<PathDelim Value="\"/>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="..\resource\"/>
|
||||
<OtherUnitFiles Value="..\run\"/>
|
||||
<UnitOutputDirectory Value="..\lib\$(TargetCPU)-$(TargetOS)\"/>
|
||||
</SearchPaths>
|
||||
<CodeGeneration>
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
<Other>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Description Value="JVCL Core Components"/>
|
||||
<Version Major="1"/>
|
||||
<Files Count="7">
|
||||
<Item1>
|
||||
<Filename Value="..\run\JvTypes.pas"/>
|
||||
<UnitName Value="JvTypes"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Filename Value="..\run\JvComponent.pas"/>
|
||||
<UnitName Value="JvComponent"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Filename Value="..\run\JvConsts.pas"/>
|
||||
<UnitName Value="JvConsts"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<Filename Value="..\run\JvExControls.pas"/>
|
||||
<UnitName Value="JvExControls"/>
|
||||
</Item4>
|
||||
<Item5>
|
||||
<Filename Value="..\run\JvExExtCtrls.pas"/>
|
||||
<UnitName Value="JvExExtCtrls"/>
|
||||
</Item5>
|
||||
<Item6>
|
||||
<Filename Value="..\run\JvJCLUtils.pas"/>
|
||||
<UnitName Value="JvJCLUtils"/>
|
||||
</Item6>
|
||||
<Item7>
|
||||
<Filename Value="..\run\JvJVCLUtils.pas"/>
|
||||
<UnitName Value="JvJVCLUtils"/>
|
||||
</Item7>
|
||||
</Files>
|
||||
<RequiredPkgs Count="2">
|
||||
<Item1>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<PackageName Value="FCL"/>
|
||||
<MinVersion Major="1" Valid="True"/>
|
||||
</Item2>
|
||||
</RequiredPkgs>
|
||||
<UsageOptions>
|
||||
<UnitPath Value="$(PkgOutDir)\"/>
|
||||
</UsageOptions>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<IgnoreBinaries Value="False"/>
|
||||
</PublishOptions>
|
||||
</Package>
|
||||
</CONFIG>
|
15
components/jvcllaz/packages/JvCoreLaz.pas
Normal file
15
components/jvcllaz/packages/JvCoreLaz.pas
Normal file
@ -0,0 +1,15 @@
|
||||
{ This file was automatically created by Lazarus. Do not edit!
|
||||
This source is only used to compile and install the package.
|
||||
}
|
||||
|
||||
unit JvCoreLaz;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
JvTypes, JvComponent, JvConsts, JvExControls, JvExExtCtrls, JvJCLUtils,
|
||||
JvJVCLUtils;
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
63
components/jvcllaz/packages/JvXPBarLaz.lpk
Normal file
63
components/jvcllaz/packages/JvXPBarLaz.lpk
Normal file
@ -0,0 +1,63 @@
|
||||
<?xml version="1.0"?>
|
||||
<CONFIG>
|
||||
<Package Version="2">
|
||||
<PathDelim Value="\"/>
|
||||
<Name Value="JvXPBarLaz"/>
|
||||
<Author Value="Sergio Samayoa"/>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
<PathDelim Value="\"/>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="..\resource\"/>
|
||||
<OtherUnitFiles Value="..\run\"/>
|
||||
<UnitOutputDirectory Value="..\lib\$(TargetCPU)-$(TargetOS)"/>
|
||||
</SearchPaths>
|
||||
<CodeGeneration>
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
<Other>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Description Value="JvXPBar (JVCL) conversion for Lazarus version 1.0
|
||||
"/>
|
||||
<License Value="As JVCL."/>
|
||||
<Version Major="1"/>
|
||||
<Files Count="4">
|
||||
<Item1>
|
||||
<Filename Value="..\run\JvXPCoreUtils.pas"/>
|
||||
<UnitName Value="JvXPCoreUtils"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Filename Value="..\run\JvXPBar.pas"/>
|
||||
<UnitName Value="JvXPBar"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Filename Value="..\run\JvXPCore.pas"/>
|
||||
<UnitName Value="JvXPCore"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<Filename Value="JvXPBarReg.pp"/>
|
||||
<HasRegisterProc Value="True"/>
|
||||
<UnitName Value="JvXPBarReg"/>
|
||||
</Item4>
|
||||
</Files>
|
||||
<Type Value="RunAndDesignTime"/>
|
||||
<RequiredPkgs Count="2">
|
||||
<Item1>
|
||||
<PackageName Value="FCL"/>
|
||||
<MinVersion Major="1" Valid="True"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
</RequiredPkgs>
|
||||
<UsageOptions>
|
||||
<UnitPath Value="$(PkgOutDir)\"/>
|
||||
</UsageOptions>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<IgnoreBinaries Value="False"/>
|
||||
</PublishOptions>
|
||||
</Package>
|
||||
</CONFIG>
|
79
components/jvcllaz/packages/JvXPBarLaz.lrs
Normal file
79
components/jvcllaz/packages/JvXPBarLaz.lrs
Normal file
@ -0,0 +1,79 @@
|
||||
LazarusResources.Add('TJVXPBAR','BMP',[
|
||||
'BM'#246#6#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#24#0#0#0#24#0#0#0#1#0#24#0#0#0#0#0
|
||||
+#192#6#0#0#18#11#0#0#18#11#0#0#0#0#0#0#0#0#0#0#192#0#224#0#224#192#0#224#192
|
||||
+#0#224#192#0#224#192#0#224#192#0#224#192#0#224#192#0#224#192#0#224#192#0#224
|
||||
+#192#0#224#192#0#224#192#0#224#160#0#224#160#0#224#160#255#255#0#255#0#0#255
|
||||
+#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#0#224#192#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#224#192#0#0#0#0#0#0#0#0#0#0#224#192#0#224#160#0
|
||||
+#0#0#255#255#0#255#0#0#255#0#0#0#255#255#0#255#255#255#0#0#255#0#0#255#0#0#0
|
||||
+#224#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
|
||||
+#192#192#192#192#192#192#192#0#224#192#0#0#0#0#224#192#0#224#192#0#0#0#0#224
|
||||
+#192#0#224#160#255#255#0#255#0#0#0#255#255#255#0#0#255#0#0#0#255#255#255#0#0
|
||||
+#255#0#0#0#224#224#128#128#128#128#128#128#128#128#128#128#128#128#128#128
|
||||
+#128#128#128#128#128#128#128#128#128#128#0#224#192#0#0#0#0#224#192#0#224#192
|
||||
+#0#0#0#0#224#192#0#224#192#255#255#0#255#0#0#0#255#255#255#0#0#255#0#0#0#255
|
||||
+#255#255#0#0#255#0#0#0#224#224#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#224#192#0#0#0#0#0#0#0#0#0#0#224#192#0#224#192#0#0#0#255#255#0#255#0#0
|
||||
+#255#0#0#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#0#224#224#0#224#224#0#224
|
||||
+#224#0#224#192#0#224#192#0#224#192#0#224#192#0#224#192#0#224#192#0#224#192#0
|
||||
+#224#192#0#224#192#0#224#192#0#224#192#0#224#192#0#224#192#255#255#0#255#0#0
|
||||
+#255#0#0#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#0#224#224#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#255#255#0#255#0#0#255#0#0#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#0#224
|
||||
+#224#0#0#0#255#255#255#128#128#128#128#128#128#128#128#128#128#128#128#128
|
||||
+#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128
|
||||
+#128#128#128#128#128#128#128#255#255#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0
|
||||
+#0#255#0#0#255#0#0#0#224#224#0#0#0#255#255#255#247#223#214#247#223#214#247
|
||||
+#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223
|
||||
+#214#247#223#214#247#223#214#247#223#214#247#223#214#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#0#224#224#0#0#0#255
|
||||
+#255#255#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223
|
||||
+#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214
|
||||
+#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#128
|
||||
+#128#128#0#0#0#0#224#160#0#224#224#0#0#0#255#255#255#247#223#214#247#223#214
|
||||
+#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247
|
||||
+#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223
|
||||
+#214#247#223#214#247#223#214#247#223#214#128#128#128#0#0#0#0#224#160#0#224
|
||||
+#224#0#0#0#255#255#255#247#223#214#247#223#214#247#223#214#247#223#214#247
|
||||
+#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223
|
||||
+#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214
|
||||
+#247#223#214#128#128#128#0#0#0#0#224#160#0#224#224#0#0#0#255#255#255#247#223
|
||||
+#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214
|
||||
+#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247
|
||||
+#223#214#247#223#214#247#223#214#247#223#214#247#223#214#128#128#128#0#0#0#0
|
||||
+#224#192#0#224#224#0#0#0#255#255#255#247#223#214#247#223#214#247#223#214#247
|
||||
+#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223
|
||||
+#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214
|
||||
+#247#223#214#247#223#214#128#128#128#0#0#0#0#224#192#0#224#224#0#0#0#255#255
|
||||
+#255#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214
|
||||
+#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247
|
||||
+#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#128#128
|
||||
+#128#0#0#0#0#224#192#0#224#224#0#0#0#255#255#255#247#223#214#247#223#214#247
|
||||
+#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223
|
||||
+#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214#247#223#214
|
||||
+#247#223#214#247#223#214#247#223#214#128#128#128#0#0#0#0#224#192#0#224#224#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#224#192#0#224#224#0
|
||||
+#0#0#255#255#255#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228
|
||||
+#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228
|
||||
+#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#128#128#128#0
|
||||
+#0#0#0#224#192#0#224#224#0#0#0#255#255#255#228#167'~'#228#167'~'#228#167'~'
|
||||
+#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'
|
||||
+#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#0#0#0#228#167'~'#228
|
||||
+#167'~'#128#128#128#0#0#0#0#224#192#0#224#224#0#0#0#255#255#255#228#167'~'
|
||||
+#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'
|
||||
+#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#0#0#0#0#0
|
||||
,#0#0#0#0#228#167'~'#128#128#128#0#0#0#0#224#192#0#224#224#0#0#0#255#255#255
|
||||
+#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'
|
||||
+#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'#228#167'~'
|
||||
+#228#167'~'#228#167'~'#228#167'~'#228#167'~'#128#128#128#0#0#0#0#224#192#0
|
||||
+#192#224#0#224#224#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#0#0#0#0#224#192#0#224#192#0#192#224#0#192#224#0#224#224#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#224#192#0#224#192#0#224#192#0#192#224#0#192#224#0
|
||||
+#192#224#0#224#224#0#224#224#0#224#224#0#224#224#0#224#224#0#224#224#0#224
|
||||
+#224#0#224#224#0#224#224#0#224#224#0#224#224#0#224#224#0#224#224#0#224#224#0
|
||||
+#224#224#0#224#224#0#224#224#0#224#224#0#224#192#0#224#192#0#224#192
|
||||
]);
|
21
components/jvcllaz/packages/JvXPBarLaz.pas
Normal file
21
components/jvcllaz/packages/JvXPBarLaz.pas
Normal file
@ -0,0 +1,21 @@
|
||||
{ This file was automatically created by Lazarus. Do not edit!
|
||||
This source is only used to compile and install the package.
|
||||
}
|
||||
|
||||
unit JvXPBarLaz;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
JvXPCoreUtils, JvXPBar, JvXPCore, JvXPBarReg, LazarusPackageIntf;
|
||||
|
||||
implementation
|
||||
|
||||
procedure Register;
|
||||
begin
|
||||
RegisterUnit('JvXPBarReg', @JvXPBarReg.Register);
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterPackage('JvXPBarLaz', @Register);
|
||||
end.
|
24
components/jvcllaz/packages/JvXPBarReg.pp
Normal file
24
components/jvcllaz/packages/JvXPBarReg.pp
Normal file
@ -0,0 +1,24 @@
|
||||
unit JvXPBarReg;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, LResources, SysUtils;
|
||||
|
||||
procedure Register;
|
||||
|
||||
implementation
|
||||
uses JvXPBar;
|
||||
|
||||
procedure Register;
|
||||
begin
|
||||
RegisterComponents('JvXP',[TJvXPBar]);
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I JvXPBarLaz.lrs}
|
||||
|
||||
end.
|
||||
|
254
components/jvcllaz/resource/JvXPBar.lrs
Normal file
254
components/jvcllaz/resource/JvXPBar.lrs
Normal file
@ -0,0 +1,254 @@
|
||||
LazarusResources.Add('JVXPCUSTOMWINXPBARCOLLAPSE0','BMP',[
|
||||
'BM&'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#18#0#0#0#18#0#0#0#1#0#24#0#0#0#0#0#240#3
|
||||
+#0#0#195#14#0#0#195#14#0#0#0#0#0#0#0#0#0#0#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#165'8'#0#255#0#255#255#0
|
||||
+#255#255#0#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#165'8'#0#165'8'#0#255#0#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#165'8'#0#165'8'#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0
|
||||
+#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#165'8'#0#165'8'#0
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#165'8'#0#255#0
|
||||
+#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#165'8'#0#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#0#0
|
||||
]);
|
||||
LazarusResources.Add('JVXPCUSTOMWINXPBARCOLLAPSE1','BMP',[
|
||||
'BM&'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#18#0#0#0#18#0#0#0#1#0#24#0#0#0#0#0#240#3
|
||||
+#0#0#195#14#0#0#195#14#0#0#0#0#0#0#0#0#0#0#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#165'8'#0#255#0#255#255#0
|
||||
+#255#255#0#255#165'8'#0#165'8'#1#255#0#255#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#165'8'#0#165'8'#0#255#0#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#165'8'#0#165'8'#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0
|
||||
+#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#165'8'#0#165'8'#0
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#165'8'#0#255#0
|
||||
+#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#165'8'#0#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#0#0
|
||||
]);
|
||||
LazarusResources.Add('JVXPCUSTOMWINXPBARCOLLAPSE2','BMP',[
|
||||
'BM&'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#18#0#0#0#18#0#0#0#1#0#24#0#0#0#0#0#240#3
|
||||
+#0#0#195#14#0#0#195#14#0#0#0#0#0#0#0#0#0#0#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#165'8'#0#165
|
||||
+'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#165'8'#0#255
|
||||
+#0#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#165'8'#0#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0
|
||||
+#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#165
|
||||
+'8'#0#255#0#255#255#0#255#255#0#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#165'8'#0#165'8'#0#255#0#255#165'8'#0#165'8'#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#165
|
||||
+'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#165'8'#0#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0
|
||||
+#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#0#0
|
||||
]);
|
||||
LazarusResources.Add('JVXPCUSTOMWINXPBAREXPAND0','BMP',[
|
||||
'BM&'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#18#0#0#0#18#0#0#0#1#0#24#0#0#0#0#0#240#3
|
||||
+#0#0#195#14#0#0#195#14#0#0#0#0#0#0#0#0#0#0#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#168'6'#8#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#165'8'#0#165
|
||||
+'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#165'8'#0#165'8'#0#255#0#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#173'3'#24#166'8'#2#255#0#255#255#0#255#255#0#255#165'8'
|
||||
+#0#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#165'8'#0#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#166'7'#3#165'8'#0#255#0#255#165
|
||||
+'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#0#182
|
||||
+'./'#255#0#255#255#0#255#255#0#255#169'6'#11#169'5'#12#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0
|
||||
+#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#0#0
|
||||
]);
|
||||
LazarusResources.Add('JVXPCUSTOMWINXPBAREXPAND1','BMP',[
|
||||
'BM&'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#18#0#0#0#18#0#0#0#1#0#24#0#0#0#0#0#240#3
|
||||
+#0#0#195#14#0#0#195#14#0#0#0#0#0#0#0#0#0#0#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#167'6'#7#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#166'8'#2#165'8'#0#165
|
||||
+'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#165'8'#0#165'8'#0#255#0#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#165'8'#0
|
||||
+#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#165'8'#0#165'8'#0#165'8'#0#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#1#165'8'#1#255#0#255#165
|
||||
+'8'#0#165'8'#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#165'8'#1#171
|
||||
+'4'#18#255#0#255#255#0#255#255#0#255#166'7'#4#165'8'#1#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0
|
||||
+#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255
|
||||
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#0#0#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#0#0#255#0#255
|
||||
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
|
||||
+#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
|
||||
+#255#0#255#255#0#255#0#0
|
||||
]);
|
||||
LazarusResources.Add('JVXPCUSTOMWINXPBAREXPAND2','BMP',[
|
||||
'BM'#174#1#0#0#0#0#0#0'F'#0#0#0'('#0#0#0#18#0#0#0#18#0#0#0#1#0#8#0#0#0#0#0'h'
|
||||
+#1#0#0#195#14#0#0#195#14#0#0#4#0#0#0#4#0#0#0#255#0#255#0#165'8'#0#0#255#255
|
||||
+#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#1#1#0#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#0#0#0#1#1#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#1#1#0#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#0#0#0#1#1#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
]);
|
923
components/jvcllaz/run/JvButton.pas
Normal file
923
components/jvcllaz/run/JvButton.pas
Normal file
@ -0,0 +1,923 @@
|
||||
{-----------------------------------------------------------------------------
|
||||
The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
|
||||
the specific language governing rights and limitations under the License.
|
||||
|
||||
The Original Code is: JvButton.PAS, released on 2001-02-28.
|
||||
|
||||
The Initial Developer of the Original Code is S�bastien Buysse [sbuysse att buypin dott com]
|
||||
Portions created by S�bastien Buysse are Copyright (C) 2001 S�bastien Buysse.
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s): Michael Beck [mbeck att bigfoot dott com].
|
||||
|
||||
You may retrieve the latest version of this file at the Project JEDI's JVCL home page,
|
||||
located at http://jvcl.sourceforge.net
|
||||
|
||||
Known Issues:
|
||||
-----------------------------------------------------------------------------}
|
||||
// $Id: JvButton.pas 11400 2007-06-28 21:24:06Z ahuser $
|
||||
|
||||
// Initial port to Lazarus by Sergio Samayoa - september 2007.
|
||||
// Conversion is done in incremental way: as types / classes / routines
|
||||
// are needed they are converted.
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
unit JvButton;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Controls, Graphics, JvComponent, JvConsts, JvTypes, LMessages, Menus;
|
||||
|
||||
type
|
||||
TJvButtonMouseState = (bsMouseInside, bsMouseDown);
|
||||
TJvButtonMouseStates = set of TJvButtonMouseState;
|
||||
|
||||
TJvCustomGraphicButton = class(TJvGraphicControl)
|
||||
private
|
||||
FStates: TJvButtonMouseStates;
|
||||
FBuffer: TBitmap;
|
||||
FFlat: Boolean;
|
||||
FDropDownMenu: TPopupMenu;
|
||||
FDown: Boolean;
|
||||
FForceSameSize: Boolean;
|
||||
FAllowAllUp: Boolean;
|
||||
FGroupIndex: Integer;
|
||||
FHotTrack: Boolean;
|
||||
FHotFont: TFont;
|
||||
FHotTrackFontOptions: TJvTrackFontOptions;
|
||||
FOnDropDownMenu: TContextPopupEvent;
|
||||
FDropArrow: Boolean;
|
||||
FOnDropDownClose: TNotifyEvent;
|
||||
function GetPattern: TBitmap;
|
||||
procedure SetFlat(const Value: Boolean);
|
||||
procedure SetDown(Value: Boolean);
|
||||
procedure CMButtonPressed(var Msg: TCMButtonPressed); message CM_JVBUTTONPRESSED;
|
||||
procedure CMForceSize(var Msg: TCMForceSize); message CM_FORCESIZE;
|
||||
procedure CMSysColorChange(var Msg: TLMessage); message CM_SYSCOLORCHANGE;
|
||||
procedure SetForceSameSize(const Value: Boolean);
|
||||
procedure SetAllowAllUp(const Value: Boolean);
|
||||
procedure SetGroupIndex(const Value: Integer);
|
||||
procedure SetHotFont(const Value: TFont);
|
||||
procedure SetHotTrackFontOptions(const Value: TJvTrackFontOptions);
|
||||
procedure SetDropArrow(const Value: Boolean);
|
||||
procedure SetDropDownMenu(const Value: TPopupMenu);
|
||||
protected
|
||||
procedure ButtonPressed(Sender: TJvCustomGraphicButton; AGroupIndex: Integer); virtual;
|
||||
procedure ForceSize(Sender: TControl; AWidth, AHeight: Integer);
|
||||
function DoDropDownMenu(Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; virtual;
|
||||
procedure DropDownClose;
|
||||
procedure UpdateExclusive;
|
||||
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
||||
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
|
||||
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
|
||||
procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
|
||||
procedure MouseEnter(Control: TControl); override;
|
||||
procedure MouseLeave(Control: TControl); override;
|
||||
procedure Paint; override;
|
||||
procedure PaintButton(ACanvas: TCanvas); virtual;
|
||||
procedure PaintFrame(ACanvas: TCanvas); virtual;
|
||||
function InsideBtn(X, Y: Integer): Boolean; virtual;
|
||||
function WantKey(Key: Integer; Shift: TShiftState;
|
||||
const KeyText: WideString): Boolean; override;
|
||||
procedure EnabledChanged; override;
|
||||
procedure FontChanged; override;
|
||||
procedure RepaintBackground; virtual;
|
||||
procedure TextChanged; override;
|
||||
property AllowAllUp: Boolean read FAllowAllUp write SetAllowAllUp default False;
|
||||
property GroupIndex: Integer read FGroupIndex write SetGroupIndex default 0;
|
||||
property MouseStates: TJvButtonMouseStates read FStates write FStates default [];
|
||||
property ForceSameSize: Boolean read FForceSameSize write SetForceSameSize default False;
|
||||
property Pattern: TBitmap read GetPattern;
|
||||
property Flat: Boolean read FFlat write SetFlat default False;
|
||||
property HotTrack: Boolean read FHotTrack write FHotTrack default False;
|
||||
property HotTrackFont: TFont read FHotFont write SetHotFont;
|
||||
property HotTrackFontOptions: TJvTrackFontOptions read FHotTrackFontOptions write SetHotTrackFontOptions default
|
||||
DefaultTrackFontOptions;
|
||||
property Down: Boolean read FDown write SetDown default False;
|
||||
property DropDownMenu: TPopupMenu read FDropDownMenu write SetDropDownMenu;
|
||||
property DropArrow: Boolean read FDropArrow write SetDropArrow default False;
|
||||
property OnDropDownMenu: TContextPopupEvent read FOnDropDownMenu write FOnDropDownMenu;
|
||||
property OnDropDownClose: TNotifyEvent read FOnDropDownClose write FOnDropDownClose;
|
||||
public
|
||||
procedure Click; override;
|
||||
procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
procedure DrawDropArrow(ACanvas: TCanvas; ArrowRect: TRect); virtual;
|
||||
end;
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
TJvCustomButton = class(TJvExButton)
|
||||
private
|
||||
FDropDownMenu: TPopupMenu;
|
||||
FHotTrack: Boolean;
|
||||
FHotFont: TFont;
|
||||
FFontSave: TFont;
|
||||
FWordWrap: Boolean;
|
||||
FForceSameSize: Boolean;
|
||||
FHotTrackFontOptions: TJvTrackFontOptions;
|
||||
FOnDropDownMenu: TContextPopupEvent;
|
||||
FDropArrow: Boolean;
|
||||
procedure SetHotFont(const Value: TFont);
|
||||
procedure SetWordWrap(const Value: Boolean);
|
||||
procedure SetForceSameSize(const Value: Boolean);
|
||||
procedure CMForceSize(var Msg: TCMForceSize); message CM_FORCESIZE;
|
||||
procedure SetHotTrackFontOptions(const Value: TJvTrackFontOptions);
|
||||
procedure SetDropArrow(const Value: Boolean);
|
||||
procedure SetDropDownMenu(const Value: TPopupMenu);
|
||||
protected
|
||||
function DoDropDownMenu(X, Y: Integer): Boolean; virtual;
|
||||
procedure ForceSize(Sender: TControl; AWidth, AHeight: Integer);
|
||||
procedure MouseEnter(Control: TControl); override;
|
||||
procedure MouseLeave(Control: TControl); override;
|
||||
procedure FontChanged; override;
|
||||
procedure CreateParams(var Params: TCreateParams); override;
|
||||
function GetRealCaption: string; dynamic;
|
||||
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
||||
property WordWrap: Boolean read FWordWrap write SetWordWrap default True;
|
||||
property ForceSameSize: Boolean read FForceSameSize write SetForceSameSize default False;
|
||||
property DropArrow: Boolean read FDropArrow write SetDropArrow default False;
|
||||
property DropDownMenu: TPopupMenu read FDropDownMenu write SetDropDownMenu;
|
||||
property HotTrack: Boolean read FHotTrack write FHotTrack default False;
|
||||
property HotTrackFont: TFont read FHotFont write SetHotFont;
|
||||
property HotTrackFontOptions: TJvTrackFontOptions read FHotTrackFontOptions write SetHotTrackFontOptions default
|
||||
DefaultTrackFontOptions;
|
||||
property HintColor;
|
||||
property OnParentColorChange;
|
||||
property OnDropDownMenu: TContextPopupEvent read FOnDropDownMenu write FOnDropDownMenu;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
procedure Click;override;
|
||||
procedure DrawDropArrow(Canvas: TCanvas; ArrowRect: TRect); virtual;
|
||||
procedure SetBounds(ALeft: Integer; ATop: Integer; AWidth: Integer; AHeight: Integer); override;
|
||||
end;
|
||||
|
||||
// TJvDropDownButton draws a DropDown button with the DropDown glyph
|
||||
// (also themed). It ignores the properties Glyph and Flat
|
||||
TJvDropDownButton = class(TSpeedButton)
|
||||
protected
|
||||
procedure Paint; override;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Forms, JvJVCLUtils, LCLIntf, LCLType, SysUtils;
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
const
|
||||
JvBtnLineSeparator = '|';
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
var
|
||||
GlobalPattern: TBitmap = nil;
|
||||
|
||||
function CreateBrushPattern: TBitmap;
|
||||
var
|
||||
X, Y: Integer;
|
||||
begin
|
||||
if GlobalPattern = nil then
|
||||
begin
|
||||
GlobalPattern := TBitmap.Create;
|
||||
try
|
||||
GlobalPattern.Width := 8; { must have this size }
|
||||
GlobalPattern.Height := 8;
|
||||
with GlobalPattern.Canvas do
|
||||
begin
|
||||
Brush.Style := bsSolid;
|
||||
Brush.Color := clBtnFace;
|
||||
FillRect(Rect(0, 0, GlobalPattern.Width, GlobalPattern.Height));
|
||||
for Y := 0 to 7 do
|
||||
for X := 0 to 7 do
|
||||
if (Y mod 2) = (X mod 2) then { toggles between even/odd pixels }
|
||||
Pixels[X, Y] := clWhite; { on even/odd rows }
|
||||
end;
|
||||
except
|
||||
FreeAndNil(GlobalPattern);
|
||||
end;
|
||||
end;
|
||||
Result := GlobalPattern;
|
||||
end;
|
||||
|
||||
//=== { TJvCustomGraphicButton } =============================================
|
||||
|
||||
constructor TJvCustomGraphicButton.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
ControlStyle := ControlStyle -
|
||||
[csOpaque, csDoubleClicks ];
|
||||
FStates := [];
|
||||
SetBounds(0, 0, 40, 40);
|
||||
FBuffer := TBitmap.Create;
|
||||
FFlat := False;
|
||||
FDropArrow := False;
|
||||
FForceSameSize := False;
|
||||
FHotFont := TFont.Create;
|
||||
FHotTrackFontOptions := DefaultTrackFontOptions;
|
||||
end;
|
||||
|
||||
destructor TJvCustomGraphicButton.Destroy;
|
||||
begin
|
||||
FBuffer.Free;
|
||||
FHotFont.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.DrawDropArrow(ACanvas: TCanvas; ArrowRect: TRect);
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
if not Enabled then
|
||||
ACanvas.Pen.Color := clInactiveCaption
|
||||
else
|
||||
ACanvas.Pen.Color := clWindowText;
|
||||
for I := 0 to 3 do
|
||||
begin
|
||||
if ArrowRect.Left + I <= ArrowRect.Right - I then
|
||||
begin
|
||||
ACanvas.MoveTo(ArrowRect.Left + I, ArrowRect.Top + I);
|
||||
ACanvas.LineTo(ArrowRect.Right - I, ArrowRect.Top + I);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
{ Handle speedkeys (Alt + key) }
|
||||
|
||||
function TJvCustomGraphicButton.WantKey(Key: Integer; Shift: TShiftState;
|
||||
const KeyText: WideString): Boolean;
|
||||
begin
|
||||
Result := IsAccel(Key, Caption) and Enabled and (Shift * KeyboardShiftStates = [ssAlt]);
|
||||
if Result then
|
||||
Click
|
||||
else
|
||||
Result := inherited WantKey(Key, Shift, KeyText);
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.EnabledChanged;
|
||||
begin
|
||||
inherited EnabledChanged;
|
||||
if not Enabled then
|
||||
FStates := [];
|
||||
RepaintBackground;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.MouseEnter(Control: TControl);
|
||||
begin
|
||||
if csDesigning in ComponentState then
|
||||
Exit;
|
||||
if Enabled and not MouseOver then
|
||||
begin
|
||||
Include(FStates, bsMouseInside);
|
||||
inherited MouseEnter(Control);
|
||||
if Flat then
|
||||
RepaintBackground;
|
||||
if HotTrack then
|
||||
Repaint;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.MouseLeave(Control: TControl);
|
||||
begin
|
||||
if Enabled and MouseOver then
|
||||
begin
|
||||
Exclude(FStates, bsMouseInside);
|
||||
inherited MouseLeave(Control);
|
||||
if Flat then
|
||||
RepaintBackground;
|
||||
if HotTrack then
|
||||
Repaint;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.Paint;
|
||||
var
|
||||
ArrowRect: TRect;
|
||||
begin
|
||||
// FBuffer.Width := Width;
|
||||
// FBuffer.Height := Height;
|
||||
PaintFrame(Canvas);
|
||||
PaintButton(Canvas);
|
||||
if DropArrow and Assigned(DropDownMenu) then
|
||||
begin
|
||||
ArrowRect := Rect(Width - 16, Height div 2, Width - 9, Height div 2 + 9);
|
||||
if bsMouseDown in FStates then
|
||||
OffsetRect(ArrowRect, 1, 1);
|
||||
DrawDropArrow(Canvas, ArrowRect);
|
||||
end;
|
||||
// BitBlt(Canvas.Handle, 0, 0, Width,Height, FBuffer.Canvas.Handle, 0, 0, SRCCOPY);
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.PaintFrame(ACanvas: TCanvas);
|
||||
begin
|
||||
// do nothing
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.PaintButton(ACanvas: TCanvas);
|
||||
begin
|
||||
if (bsMouseInside in FStates) and HotTrack then
|
||||
ACanvas.Font := FHotFont
|
||||
else
|
||||
ACanvas.Font := Font;
|
||||
end;
|
||||
|
||||
function TJvCustomGraphicButton.InsideBtn(X, Y: Integer): Boolean;
|
||||
begin
|
||||
Result := PtInRect(Rect(0, 0, Width, Height), Point(X, Y));
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.MouseDown(Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
var
|
||||
Tmp: TPoint;
|
||||
begin
|
||||
if not Enabled then
|
||||
Exit;
|
||||
|
||||
inherited MouseDown(Button, Shift, X, Y);
|
||||
|
||||
if InsideBtn(X, Y) then
|
||||
begin
|
||||
FStates := [bsMouseDown, bsMouseInside];
|
||||
RepaintBackground;
|
||||
end;
|
||||
SetCaptureControl(Self);
|
||||
Tmp := ClientToScreen(Point(0, Height));
|
||||
DoDropDownMenu(Button, Shift, Tmp.X, Tmp.Y);
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.MouseMove(Shift: TShiftState;
|
||||
X, Y: Integer);
|
||||
begin
|
||||
inherited MouseMove(Shift, X, Y);
|
||||
if MouseCapture then
|
||||
begin
|
||||
if not InsideBtn(X, Y) then
|
||||
begin
|
||||
if bsMouseInside in FStates then
|
||||
begin
|
||||
Exclude(FStates, bsMouseInside);
|
||||
RepaintBackground;
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if not (bsMouseInside in FStates) then
|
||||
begin
|
||||
Include(FStates, bsMouseInside);
|
||||
RepaintBackground;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.MouseUp(Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
begin
|
||||
if GetCaptureControl = Self then
|
||||
ReleaseCapture;
|
||||
if not Enabled then
|
||||
Exit;
|
||||
inherited MouseUp(Button, Shift, X, Y);
|
||||
Exclude(FStates, bsMouseDown);
|
||||
|
||||
// 26.09.2007 - SESS:
|
||||
// Update bsMouseInside flag also.
|
||||
if not InsideBtn(X, Y) and (bsMouseInside in FStates) then
|
||||
Exclude(FStates, bsMouseInside);
|
||||
|
||||
RepaintBackground;
|
||||
end;
|
||||
|
||||
function TJvCustomGraphicButton.DoDropDownMenu(Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean;
|
||||
var
|
||||
Msg: TMsg;
|
||||
Handled: Boolean;
|
||||
begin
|
||||
Result := (Button = mbLeft) and (DropDownMenu <> nil);
|
||||
if Result then
|
||||
begin
|
||||
DropDownMenu.PopupComponent := Self;
|
||||
Handled := False;
|
||||
if Assigned(FOnDropDownMenu) then
|
||||
FOnDropDownMenu(Self, Point(X, Y), Handled);
|
||||
if not Handled then
|
||||
DropDownMenu.Popup(X, Y)
|
||||
else
|
||||
Exit;
|
||||
{ wait 'til menu is done }
|
||||
while PeekMessage(Msg, 0, LM_MOUSEFIRST, LM_MOUSELAST, PM_REMOVE) do
|
||||
{nothing};
|
||||
{ release button }
|
||||
MouseUp(Button, Shift, X, Y);
|
||||
DropDownClose;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.SetFlat(const Value: Boolean);
|
||||
begin
|
||||
if FFlat <> Value then
|
||||
begin
|
||||
FFlat := Value;
|
||||
if FFlat then
|
||||
ControlStyle := ControlStyle - [csOpaque]
|
||||
else
|
||||
ControlStyle := ControlStyle + [csOpaque];
|
||||
RepaintBackground;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.Notification(AComponent: TComponent;
|
||||
Operation: TOperation);
|
||||
begin
|
||||
inherited Notification(AComponent, Operation);
|
||||
if (Operation = opRemove) and (AComponent = DropDownMenu) then
|
||||
DropDownMenu := nil;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.SetDown(Value: Boolean);
|
||||
begin
|
||||
if GroupIndex = 0 then
|
||||
Value := False;
|
||||
if FDown <> Value then
|
||||
begin
|
||||
if FDown and not AllowAllUp then
|
||||
Exit;
|
||||
FDown := Value;
|
||||
UpdateExclusive;
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.SetForceSameSize(const Value: Boolean);
|
||||
begin
|
||||
if FForceSameSize <> Value then
|
||||
begin
|
||||
FForceSameSize := Value;
|
||||
if FForceSameSize then
|
||||
SetBounds(Left, Top, Width, Height);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
|
||||
var
|
||||
Form: TCustomForm;
|
||||
Msg: TCMForceSize;
|
||||
begin
|
||||
inherited SetBounds(ALeft, ATop, AWidth, AHeight);
|
||||
if ForceSameSize then
|
||||
begin
|
||||
Form := GetParentForm(Self);
|
||||
if Assigned(Form) then
|
||||
begin
|
||||
Msg.Msg := CM_FORCESIZE;
|
||||
Msg.Sender := Self;
|
||||
Msg.NewSize.X := AWidth;
|
||||
Msg.NewSize.Y := AHeight;
|
||||
Form.Broadcast(Msg);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.CMForceSize(var Msg: TCMForceSize);
|
||||
begin
|
||||
with Msg do
|
||||
ForceSize(Sender, NewSize.x, NewSize.y);
|
||||
end;
|
||||
|
||||
function TJvCustomGraphicButton.GetPattern: TBitmap;
|
||||
begin
|
||||
Result := CreateBrushPattern;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.SetAllowAllUp(const Value: Boolean);
|
||||
begin
|
||||
if FAllowAllUp <> Value then
|
||||
begin
|
||||
FAllowAllUp := Value;
|
||||
UpdateExclusive;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.SetGroupIndex(const Value: Integer);
|
||||
begin
|
||||
if FGroupIndex <> Value then
|
||||
begin
|
||||
FGroupIndex := Value;
|
||||
UpdateExclusive;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.UpdateExclusive;
|
||||
var
|
||||
Msg: TCMButtonPressed;
|
||||
begin
|
||||
if (GroupIndex <> 0) and (Parent <> nil) then
|
||||
begin
|
||||
Msg.Msg := CM_JVBUTTONPRESSED;
|
||||
Msg.Index := GroupIndex;
|
||||
Msg.Control := Self;
|
||||
Msg.Result := 0;
|
||||
Parent.Broadcast(Msg);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.CMButtonPressed(var Msg: TCMButtonPressed);
|
||||
begin
|
||||
ButtonPressed(TJvCustomGraphicButton(Msg.Control), Msg.Index);
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.SetHotFont(const Value: TFont);
|
||||
begin
|
||||
FHotFont.Assign(Value);
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.SetHotTrackFontOptions(const Value: TJvTrackFontOptions);
|
||||
begin
|
||||
if FHotTrackFontOptions <> Value then
|
||||
begin
|
||||
FHotTrackFontOptions := Value;
|
||||
UpdateTrackFont(HotTrackFont, Font, HotTrackFontOptions);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.SetDropArrow(const Value: Boolean);
|
||||
begin
|
||||
if FDropArrow <> Value then
|
||||
begin
|
||||
FDropArrow := Value;
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.SetDropDownMenu(const Value: TPopupMenu);
|
||||
begin
|
||||
if FDropDownMenu <> Value then
|
||||
begin
|
||||
FDropDownMenu := Value;
|
||||
if DropArrow then
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.CMSysColorChange(var Msg: TLMessage);
|
||||
begin
|
||||
inherited;
|
||||
RepaintBackground;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.FontChanged;
|
||||
begin
|
||||
inherited FontChanged;
|
||||
UpdateTrackFont(HotTrackFont, Font, HotTrackFontOptions);
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.TextChanged;
|
||||
begin
|
||||
inherited TextChanged;
|
||||
RepaintBackground;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.Click;
|
||||
begin
|
||||
if GroupIndex <> 0 then
|
||||
begin
|
||||
if AllowAllUp then
|
||||
Down := not Down
|
||||
else
|
||||
Down := True;
|
||||
end;
|
||||
try
|
||||
inherited Click;
|
||||
except
|
||||
// Mantis 3097: In case there is an exception, we ensure here that the
|
||||
// button is not left "down", and we reraise the exception as we can't
|
||||
// handle it and don't want to ignore it.
|
||||
Exclude(FStates, bsMouseDown);
|
||||
RepaintBackground;
|
||||
raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.ButtonPressed(Sender: TJvCustomGraphicButton;
|
||||
AGroupIndex: Integer);
|
||||
begin
|
||||
if AGroupIndex = GroupIndex then
|
||||
if Sender <> Self then
|
||||
begin
|
||||
if Sender.Down and Down then
|
||||
begin
|
||||
FDown := False;
|
||||
Exclude(FStates, bsMouseDown);
|
||||
RepaintBackground;
|
||||
end;
|
||||
FAllowAllUp := Sender.AllowAllUp;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomGraphicButton.ForceSize(Sender: TControl; AWidth, AHeight: Integer);
|
||||
begin
|
||||
if Sender <> Self then
|
||||
inherited SetBounds(Left, Top, AWidth, AHeight);
|
||||
end;
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
//=== { TJvCustomButton } ====================================================
|
||||
|
||||
constructor TJvCustomButton.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
FDropArrow := False;
|
||||
FHotTrack := False;
|
||||
FHotFont := TFont.Create;
|
||||
FFontSave := TFont.Create;
|
||||
// ControlStyle := ControlStyle + [csAcceptsControls];
|
||||
FWordWrap := True;
|
||||
FForceSameSize := False;
|
||||
FHotTrackFontOptions := DefaultTrackFontOptions;
|
||||
end;
|
||||
|
||||
destructor TJvCustomButton.Destroy;
|
||||
begin
|
||||
FHotFont.Free;
|
||||
FFontSave.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.Click;
|
||||
var
|
||||
Tmp: TPoint;
|
||||
begin
|
||||
// Call ClientToScreen before the inherited Click as the OnClick handler might
|
||||
// reset the parent, which is needed by ClientToScreen.
|
||||
Tmp := ClientToScreen(Point(0, Height));
|
||||
inherited Click;
|
||||
DoDropDownMenu(Tmp.X, Tmp.Y);
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.DrawDropArrow(Canvas: TCanvas; ArrowRect: TRect);
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
if not Enabled then
|
||||
Canvas.Pen.Color := clInactiveCaption
|
||||
else
|
||||
Canvas.Pen.Color := clWindowText;
|
||||
for I := 0 to (ArrowRect.Bottom - ArrowRect.Top) do
|
||||
begin
|
||||
if ArrowRect.Left + I <= ArrowRect.Right - I then
|
||||
begin
|
||||
Canvas.MoveTo(ArrowRect.Left + I, ArrowRect.Top + I);
|
||||
Canvas.LineTo(ArrowRect.Right - I, ArrowRect.Top + I);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.CreateParams(var Params: TCreateParams);
|
||||
begin
|
||||
inherited CreateParams(Params);
|
||||
Params.Style := Params.Style or BS_MULTILINE;
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.SetHotTrackFontOptions(const Value: TJvTrackFontOptions);
|
||||
begin
|
||||
if FHotTrackFontOptions <> Value then
|
||||
begin
|
||||
FHotTrackFontOptions := Value;
|
||||
UpdateTrackFont(HotTrackFont, Font, HotTrackFontOptions);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.SetDropArrow(const Value: Boolean);
|
||||
begin
|
||||
if FDropArrow <> Value then
|
||||
begin
|
||||
FDropArrow := Value;
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.SetHotFont(const Value: TFont);
|
||||
begin
|
||||
FHotFont.Assign(Value);
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.SetDropDownMenu(const Value: TPopupMenu);
|
||||
begin
|
||||
if FDropDownMenu <> Value then
|
||||
begin
|
||||
FDropDownMenu := Value;
|
||||
if DropArrow then
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.MouseEnter(Control: TControl);
|
||||
begin
|
||||
if not MouseOver then
|
||||
begin
|
||||
if FHotTrack then
|
||||
begin
|
||||
FFontSave.Assign(Font);
|
||||
Font.Assign(FHotFont);
|
||||
end;
|
||||
inherited MouseEnter(Control);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.MouseLeave(Control: TControl);
|
||||
begin
|
||||
if MouseOver then
|
||||
begin
|
||||
if FHotTrack then
|
||||
Font.Assign(FFontSave);
|
||||
inherited MouseLeave(Control);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.FontChanged;
|
||||
begin
|
||||
inherited FontChanged;
|
||||
UpdateTrackFont(HotTrackFont, Font, HotTrackFontOptions);
|
||||
end;
|
||||
|
||||
function TJvCustomButton.GetRealCaption: string;
|
||||
begin
|
||||
if WordWrap then
|
||||
Result := StringReplace(Caption, JvBtnLineSeparator, Lf, [rfReplaceAll])
|
||||
else
|
||||
Result := Caption;
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.SetWordWrap(const Value: Boolean);
|
||||
begin
|
||||
if FWordWrap <> Value then
|
||||
begin
|
||||
FWordWrap := Value;
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.SetForceSameSize(const Value: Boolean);
|
||||
begin
|
||||
if FForceSameSize <> Value then
|
||||
begin
|
||||
FForceSameSize := Value;
|
||||
if FForceSameSize then
|
||||
SetBounds(Left, Top, Width, Height);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
|
||||
var
|
||||
Form: TCustomForm;
|
||||
Msg: TCMForceSize;
|
||||
begin
|
||||
inherited SetBounds(ALeft, ATop, AWidth, AHeight);
|
||||
if ForceSameSize then
|
||||
begin
|
||||
Form := GetParentForm(Self);
|
||||
if Assigned(Form) then
|
||||
begin
|
||||
Msg.Msg := CM_FORCESIZE;
|
||||
Msg.Sender := Self;
|
||||
Msg.NewSize.X := AWidth;
|
||||
Msg.NewSize.Y := AHeight;
|
||||
Form.Broadcast(Msg);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.CMForceSize(var Msg: TCMForceSize);
|
||||
begin
|
||||
with Msg do
|
||||
ForceSize(Sender, NewSize.x, NewSize.y);
|
||||
end;
|
||||
|
||||
procedure TJvCustomButton.Notification(AComponent: TComponent;
|
||||
Operation: TOperation);
|
||||
begin
|
||||
inherited Notification(AComponent, Operation);
|
||||
if (Operation = opRemove) and (AComponent = FDropDownMenu) then
|
||||
DropDownMenu := nil;
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
procedure TJvCustomGraphicButton.RepaintBackground;
|
||||
var
|
||||
R: TRect;
|
||||
begin
|
||||
if (Parent <> nil) and Parent.HandleAllocated then
|
||||
begin
|
||||
R := BoundsRect;
|
||||
InvalidateRect(Parent.Handle, @R, True);
|
||||
end;
|
||||
Repaint;
|
||||
end;
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
procedure TJvCustomButton.ForceSize(Sender: TControl; AWidth, AHeight: Integer);
|
||||
begin
|
||||
if Sender <> Self then
|
||||
inherited SetBounds(Left, Top, AWidth, AHeight);
|
||||
end;
|
||||
|
||||
function TJvCustomButton.DoDropDownMenu(X, Y: Integer): Boolean;
|
||||
var
|
||||
Msg: TMsg;
|
||||
Handled: Boolean;
|
||||
begin
|
||||
Result := (DropDownMenu <> nil);
|
||||
if Result then
|
||||
begin
|
||||
DropDownMenu.PopupComponent := Self;
|
||||
case DropDownMenu.Alignment of
|
||||
paRight:
|
||||
Inc(X, Width);
|
||||
paCenter:
|
||||
Inc(X, Width div 2);
|
||||
end;
|
||||
Handled := False;
|
||||
if Assigned(FOnDropDownMenu) then
|
||||
FOnDropDownMenu(Self, Point(X, Y), Handled);
|
||||
if not Handled then
|
||||
DropDownMenu.Popup(X, Y)
|
||||
else
|
||||
Exit;
|
||||
{ wait 'til menu is done }
|
||||
while PeekMessage(Msg, 0, WM_MOUSEFIRST, WM_MOUSELAST, PM_REMOVE) do
|
||||
{nothing};
|
||||
end;
|
||||
end;
|
||||
|
||||
//=== { TJvDropDownButton } ==================================================
|
||||
|
||||
constructor TJvDropDownButton.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
Width := 16;
|
||||
Height := 16;
|
||||
end;
|
||||
|
||||
procedure TJvDropDownButton.Paint;
|
||||
var
|
||||
PaintRect: TRect;
|
||||
DrawFlags: Integer;
|
||||
DC: HDC;
|
||||
Bmp: TBitmap;
|
||||
begin
|
||||
// adjust FState and FDragging
|
||||
DC := Canvas.Handle;
|
||||
Bmp := TBitmap.Create;
|
||||
try
|
||||
Bmp.Width := 1;
|
||||
Bmp.Height := 1;
|
||||
Canvas.Handle := Bmp.Canvas.Handle;
|
||||
try
|
||||
inherited Paint;
|
||||
finally
|
||||
Canvas.Handle := DC;
|
||||
end;
|
||||
finally
|
||||
Bmp.Free;
|
||||
end;
|
||||
|
||||
PaintRect := Rect(0, 0, Width, Height);
|
||||
DrawFlags := DFCS_SCROLLCOMBOBOX or DFCS_ADJUSTRECT;
|
||||
if FState in [bsDown, bsExclusive] then
|
||||
DrawFlags := DrawFlags or DFCS_PUSHED;
|
||||
|
||||
{$IFDEF JVCLThemesEnabled}
|
||||
if ThemeServices.ThemesEnabled then
|
||||
DrawThemedFrameControl(Self, Canvas.Handle, PaintRect, DFC_SCROLL, DrawFlags)
|
||||
else
|
||||
{$ENDIF JVCLThemesEnabled}
|
||||
begin
|
||||
DrawFrameControl(Canvas.Handle, PaintRect, DFC_SCROLL, DrawFlags);
|
||||
|
||||
end;
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
procedure TJvCustomGraphicButton.DropDownClose;
|
||||
begin
|
||||
if Assigned(FOnDropDownClose) then
|
||||
FOnDropDownClose(Self);
|
||||
end;
|
||||
|
||||
finalization
|
||||
FreeAndNil(GlobalPattern);
|
||||
|
||||
end.
|
||||
|
267
components/jvcllaz/run/JvComponent.pas
Normal file
267
components/jvcllaz/run/JvComponent.pas
Normal file
@ -0,0 +1,267 @@
|
||||
{-----------------------------------------------------------------------------
|
||||
The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
|
||||
the specific language governing rights and limitations under the License.
|
||||
|
||||
The Original Code is: JvComponent.PAS, released on 2000-09-22.
|
||||
|
||||
The Initial Developer of the Original Code is Joe Doe .
|
||||
Portions created by Joe Doe are Copyright (C) 1999 Joe Doe.
|
||||
Portions created by XXXX Corp. are Copyright (C) 1998, 1999 XXXX Corp.
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s): -
|
||||
|
||||
You may retrieve the latest version of this file at the Project JEDI's JVCL home page,
|
||||
located at http://jvcl.sourceforge.net
|
||||
|
||||
Known Issues:
|
||||
-----------------------------------------------------------------------------}
|
||||
// $Id: JvComponent.pas 11400 2007-06-28 21:24:06Z ahuser $
|
||||
|
||||
// Initial port to Lazarus by Sergio Samayoa - september 2007.
|
||||
// Conversion is done in incremental way: as types / classes / routines
|
||||
// are needed they are converted.
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
unit JvComponent;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Controls, Forms, LMessages, JvExControls;
|
||||
|
||||
type
|
||||
TJvGraphicControl = TJvExGraphicControl;
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//TJvPubGraphicControl = TJvExPubGraphicControl;
|
||||
|
||||
TJvCustomControl = TJvExCustomControl;
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//TJvWinControl = TJvExWinControl;
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
TJvForm = class(TJvExForm)
|
||||
private
|
||||
FIsFocusable: Boolean;
|
||||
procedure CMShowingChanged(var Message: TMessage); message CM_SHOWINGCHANGED;
|
||||
procedure WMMouseActivate(var Msg: TMessage); message WM_MOUSEACTIVATE;
|
||||
protected
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
constructor CreateNew(AOwner: TComponent; Dummy: Integer = 0); override;
|
||||
{$IFDEF USE_DXGETTEXT}
|
||||
procedure RefreshTranslation; virtual;
|
||||
{$ENDIF USE_DXGETTEXT}
|
||||
|
||||
function ShowModal: Integer; override;
|
||||
{ ShowNoActivate() shows the form but does not activate it. }
|
||||
procedure ShowNoActivate(CallActivate: Boolean = False);
|
||||
published
|
||||
property IsFocusable: Boolean read FIsFocusable write FIsFocusable default True;
|
||||
end;
|
||||
|
||||
//=== { TJvPopupListBox } ====================================================
|
||||
|
||||
type
|
||||
TJvPopupListBox = class(TJvExCustomListBox)
|
||||
private
|
||||
FSearchText: string;
|
||||
FSearchTickCount: Longint;
|
||||
protected
|
||||
procedure CreateParams(var Params: TCreateParams); override;
|
||||
procedure CreateWnd; override;
|
||||
procedure KeyPress(var Key: Char); override;
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
implementation
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
{$IFDEF COMPILER6_UP}
|
||||
uses
|
||||
RTLConsts;
|
||||
{$ELSE}
|
||||
uses
|
||||
Consts;
|
||||
{$ENDIF COMPILER6_UP}
|
||||
|
||||
//=== { TJvForm } ============================================================
|
||||
|
||||
constructor TJvForm.Create(AOwner: TComponent);
|
||||
begin
|
||||
// inherited Create(AOwner);
|
||||
{$IFDEF CLR}
|
||||
GlobalNameSpace.AcquireWriterLock(MaxInt);
|
||||
{$ELSE}
|
||||
GlobalNameSpace.BeginWrite;
|
||||
{$ENDIF CLR}
|
||||
try
|
||||
CreateNew(AOwner, 0);
|
||||
if (ClassType <> TJvForm) and not (csDesigning in ComponentState) then
|
||||
begin
|
||||
Include(FFormState, fsCreating);
|
||||
try
|
||||
if not InitInheritedComponent(Self, TJvForm) then
|
||||
{$IFDEF CLR}
|
||||
raise EResNotFound.CreateFmt(SResNotFound, [ClassName]);
|
||||
{$ELSE}
|
||||
raise EResNotFound.CreateResFmt(@SResNotFound, [ClassName]);
|
||||
{$ENDIF CLR}
|
||||
|
||||
{$IFDEF USE_DXGETTEXT}
|
||||
TranslateComponent(Self, cDomainName);
|
||||
{$ENDIF USE_DXGETTEXT}
|
||||
finally
|
||||
Exclude(FFormState, fsCreating);
|
||||
end;
|
||||
{$IFNDEF CLR}
|
||||
if OldCreateOrder then
|
||||
{$ENDIF !CLR}
|
||||
DoCreate;
|
||||
end;
|
||||
finally
|
||||
{$IFDEF CLR}
|
||||
GlobalNameSpace.ReleaseWriterLock;
|
||||
{$ELSE}
|
||||
GlobalNameSpace.EndWrite;
|
||||
{$ENDIF CLR}
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor TJvForm.CreateNew(AOwner: TComponent; Dummy: Integer);
|
||||
begin
|
||||
inherited CreateNew(AOwner, Dummy);
|
||||
FIsFocusable := True;
|
||||
end;
|
||||
|
||||
{$IFDEF USE_DXGETTEXT}
|
||||
|
||||
procedure TJvForm.RefreshTranslation;
|
||||
begin
|
||||
ReTranslateComponent(Self, cDomainName);
|
||||
end;
|
||||
|
||||
{$ENDIF USE_DXGETTEXT}
|
||||
|
||||
procedure TJvForm.CMShowingChanged(var Message: TMessage);
|
||||
var
|
||||
NewParent: HWND;
|
||||
begin
|
||||
if Showing and (FormStyle <> fsMDIChild) then
|
||||
begin
|
||||
if FormStyle = fsStayOnTop then
|
||||
begin
|
||||
// restore StayOnTop
|
||||
NewParent := Application.Handle;
|
||||
if GetWindowLong(Handle, GWL_HWNDPARENT) <> Longint(NewParent) then
|
||||
SetWindowLong(Handle, GWL_HWNDPARENT, Longint(NewParent));
|
||||
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE);
|
||||
end
|
||||
else
|
||||
begin
|
||||
// Fixing the Window Ghosting "bug", only for forms that don't have a parent assigned (Mantis 4032)
|
||||
if not Assigned(Parent) then
|
||||
begin
|
||||
NewParent := 0;
|
||||
if Assigned(Screen.ActiveForm) and (Screen.ActiveForm <> Self) then
|
||||
begin
|
||||
if fsModal in Screen.ActiveForm.FormState then
|
||||
NewParent := Screen.ActiveForm.Handle;
|
||||
end;
|
||||
if (NewParent = 0) and Assigned(Application.MainForm) and (Application.MainForm <> Self) then
|
||||
NewParent := Application.MainForm.Handle;
|
||||
if NewParent = 0 then
|
||||
NewParent := Application.Handle;
|
||||
if GetWindowLong(Handle, GWL_HWNDPARENT) <> Longint(NewParent) then
|
||||
SetWindowLong(Handle, GWL_HWNDPARENT, Longint(NewParent));
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TJvForm.ShowModal: Integer;
|
||||
var
|
||||
Msg: TMsg;
|
||||
begin
|
||||
while PeekMessage(Msg, 0, WM_ENABLE, WM_ENABLE, PM_REMOVE) do
|
||||
DispatchMessage(Msg);
|
||||
Result := inherited ShowModal;
|
||||
end;
|
||||
|
||||
procedure TJvForm.WMMouseActivate(var Msg: TMessage);
|
||||
begin
|
||||
if IsFocusable then
|
||||
inherited
|
||||
else
|
||||
Msg.Result := MA_NOACTIVATE;
|
||||
end;
|
||||
|
||||
procedure TJvForm.ShowNoActivate(CallActivate: Boolean);
|
||||
begin
|
||||
if CallActivate then
|
||||
Activate;
|
||||
SetWindowPos(Handle, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW or SWP_NOACTIVATE);
|
||||
Visible := True;
|
||||
end;
|
||||
|
||||
//=== { TJvPopupListBox } ====================================================
|
||||
|
||||
procedure TJvPopupListBox.CreateParams(var Params: TCreateParams);
|
||||
begin
|
||||
inherited CreateParams(Params);
|
||||
with Params do
|
||||
begin
|
||||
Style := Style or WS_BORDER;
|
||||
ExStyle := WS_EX_TOOLWINDOW or WS_EX_TOPMOST;
|
||||
AddBiDiModeExStyle(ExStyle);
|
||||
WindowClass.Style := CS_SAVEBITS;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvPopupListBox.CreateWnd;
|
||||
begin
|
||||
inherited CreateWnd;
|
||||
Windows.SetParent(Handle, 0);
|
||||
CallWindowProc(DefWndProc, Handle, WM_SETFOCUS, 0, 0);
|
||||
end;
|
||||
|
||||
procedure TJvPopupListBox.KeyPress(var Key: Char);
|
||||
var
|
||||
TickCount: Int64;
|
||||
begin
|
||||
case Key of
|
||||
BackSpace, Esc:
|
||||
FSearchText := '';
|
||||
#32..#255:
|
||||
begin
|
||||
TickCount := GetTickCount;
|
||||
if TickCount < FSearchTickCount then
|
||||
Inc(TickCount, $100000000); // (ahuser) reduces the overflow
|
||||
if TickCount - FSearchTickCount >= 4000 then
|
||||
FSearchText := '';
|
||||
FSearchTickCount := TickCount;
|
||||
if Length(FSearchText) < 32 then
|
||||
FSearchText := FSearchText + Key;
|
||||
{$IFNDEF CLR}
|
||||
SendMessage(Handle, LB_SELECTSTRING, WPARAM(-1), LPARAM(PChar(FSearchText)));
|
||||
{$ELSE}
|
||||
SendTextMessage(Handle, LB_SELECTSTRING, WPARAM(-1), FSearchText);
|
||||
{$ENDIF !CLR}
|
||||
Key := #0;
|
||||
end;
|
||||
end;
|
||||
inherited KeyPress(Key);
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
end.
|
215
components/jvcllaz/run/JvConsts.pas
Normal file
215
components/jvcllaz/run/JvConsts.pas
Normal file
@ -0,0 +1,215 @@
|
||||
{-----------------------------------------------------------------------------
|
||||
The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
|
||||
the specific language governing rights and limitations under the License.
|
||||
|
||||
The Original Code is: JvConst.PAS, released on 2002-07-04.
|
||||
|
||||
The Initial Developers of the Original Code are: Fedor Koshevnikov, Igor Pavluk and Serge Korolev
|
||||
Copyright (c) 1997, 1998 Fedor Koshevnikov, Igor Pavluk and Serge Korolev
|
||||
Copyright (c) 2001,2002 SGB Software
|
||||
All Rights Reserved.
|
||||
|
||||
You may retrieve the latest version of this file at the Project JEDI's JVCL home page,
|
||||
located at http://jvcl.sourceforge.net
|
||||
|
||||
Known Issues:
|
||||
-----------------------------------------------------------------------------}
|
||||
// $Id: JvConsts.pas 11414 2007-07-11 21:15:58Z ahuser $
|
||||
|
||||
// Initial port to Lazarus by Sergio Samayoa - september 2007.
|
||||
// Conversion is done in incremental way: as types / classes / routines
|
||||
// are needed they are converted.
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
unit JvConsts;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Controls, Classes, LMessages, SysUtils;
|
||||
//, Forms, Graphics, Windows,
|
||||
|
||||
const
|
||||
{ JvEditor }
|
||||
JvEditorCompletionChars = #8'0123456789QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm';
|
||||
|
||||
{ Various units }
|
||||
DigitSymbols = ['0'..'9'];
|
||||
SignSymbols = ['+', '-'];
|
||||
IdentifierUppercaseLetters = ['A'..'Z'];
|
||||
IdentifierLowercaseLetters = ['a'..'z'];
|
||||
HexadecimalUppercaseLetters = ['A'..'F'];
|
||||
HexadecimalLowercaseLetters = ['a'..'f'];
|
||||
IdentifierLetters = IdentifierUppercaseLetters + IdentifierLowercaseLetters;
|
||||
IdentifierFirstSymbols = ['_'] + IdentifierLetters;
|
||||
IdentifierSymbols = IdentifierFirstSymbols + DigitSymbols;
|
||||
HexadecimalSymbols = DigitSymbols + HexadecimalUppercaseLetters + HexadecimalLowercaseLetters;
|
||||
|
||||
{$IFDEF DELPHI5}
|
||||
SDelphiKey = 'Software\Borland\Delphi\5.0';
|
||||
{$ENDIF DELPHI5}
|
||||
{$IFDEF BCB5}
|
||||
SDelphiKey = 'Software\Borland\C++Builder\5.0';
|
||||
{$ENDIF BCB5}
|
||||
{$IFDEF DELPHI6}
|
||||
SDelphiKey = 'Software\Borland\Delphi\6.0';
|
||||
{$ENDIF DELPHI6}
|
||||
{$IFDEF BCB6}
|
||||
SDelphiKey = 'Software\Borland\C++Builder\6.0';
|
||||
{$ENDIF BCB6}
|
||||
{$IFDEF DELPHI7}
|
||||
SDelphiKey = 'Software\Borland\Delphi\7.0';
|
||||
{$ENDIF DELPHI7}
|
||||
{$IFDEF DELPHI8}
|
||||
SDelphiKey = 'Software\Borland\BDS\2.0';
|
||||
{$ENDIF DELPHI8}
|
||||
{$IFDEF DELPHI9}
|
||||
SDelphiKey = 'Software\Borland\BDS\3.0';
|
||||
{$ENDIF DELPHI9}
|
||||
{$IFDEF DELPHI10}
|
||||
SDelphiKey = 'Software\Borland\BDS\4.0';
|
||||
{$ENDIF DELPHI10}
|
||||
{$IFDEF DELPHI11}
|
||||
SDelphiKey = 'Software\Borland\BDS\5.0';
|
||||
{$ENDIF DELPHI11}
|
||||
{ JvDataProvider constants }
|
||||
{ Consumer attributes }
|
||||
DPA_RenderDisabledAsGrayed = 1;
|
||||
DPA_RendersSingleItem = 2;
|
||||
DPA_ConsumerDisplaysList = 3;
|
||||
|
||||
CM_JVBASE = CM_BASE + 80; // warning VCL improves and comes nearer
|
||||
{ Command message for JvSpeedbar editor }
|
||||
CM_SPEEDBARCHANGED = CM_JVBASE + 0;
|
||||
{ Command message for TJvSpeedButton }
|
||||
CM_JVBUTTONPRESSED = CM_JVBASE + 1;
|
||||
// (rom) disabled unused
|
||||
{ Command messages for TJvWindowHook }
|
||||
//CM_RECREATEWINDOW = CM_JVBASE + 2;
|
||||
//CM_DESTROYHOOK = CM_JVBASE + 3;
|
||||
{ Notify message for TJvxTrayIcon }
|
||||
//CM_TRAYICON = CM_JVBASE + 4;
|
||||
CM_FORCESIZE = CM_JVBASE + 5; // used in JvButton
|
||||
|
||||
{ Values for WParam for CM_SPEEDBARCHANGED message }
|
||||
SBR_CHANGED = 0; { change buttons properties }
|
||||
SBR_DESTROYED = 1; { destroy SpeedBar }
|
||||
SBR_BTNSELECT = 2; { select button in SpeedBar }
|
||||
SBR_BTNSIZECHANGED = 3; { button size changed }
|
||||
|
||||
{ TBitmap.GetTransparentColor from GRAPHICS.PAS use this value }
|
||||
PaletteMask = $02000000;
|
||||
|
||||
// (outchy) now used
|
||||
{$IFDEF COMPILER7_UP}
|
||||
// (outchy) it was defined as $000000FF
|
||||
DEFAULT_SYSCOLOR_MASK = clSystemColor; // $FF000000
|
||||
{$ELSE}
|
||||
DEFAULT_SYSCOLOR_MASK = $80000000;
|
||||
{$ENDIF COMPILER7_UP}
|
||||
|
||||
{$IFDEF COMPILER5}
|
||||
// Delphi colors not defined in Delphi 5
|
||||
clMoneyGreen = TColor($C0DCC0);
|
||||
clSkyBlue = TColor($F0CAA6);
|
||||
clCream = TColor($F0FBFF);
|
||||
clMedGray = TColor($A4A0A0);
|
||||
// (outchy) = TColor(COLOR_XXXXXXXXXXX or $80000000);
|
||||
clGradientActiveCaption = TColor(COLOR_GRADIENTACTIVECAPTION or DEFAULT_SYSCOLOR_MASK);
|
||||
clGradientInactiveCaption = TColor(COLOR_GRADIENTINACTIVECAPTION or DEFAULT_SYSCOLOR_MASK);
|
||||
clHotLight = TColor(COLOR_HOTLIGHT or DEFAULT_SYSCOLOR_MASK);
|
||||
clMenuHighlight = TColor(COLOR_MENUHILIGHT or DEFAULT_SYSCOLOR_MASK);
|
||||
clMenuBar = TColor(COLOR_MENUBAR or DEFAULT_SYSCOLOR_MASK);
|
||||
{$ENDIF COMPILER5}
|
||||
|
||||
{$IFDEF COMPILER5}
|
||||
{$IFDEF MSWINDOWS}
|
||||
sLineBreak = #13#10;
|
||||
{$ENDIF MSWINDOWS}
|
||||
{$IFDEF UNIX}
|
||||
sLineBreak = #10;
|
||||
{$ENDIF UNIX}
|
||||
{$ENDIF COMPILER5}
|
||||
sLineBreakLen = Length(sLineBreak);
|
||||
|
||||
CrLf = #13#10;
|
||||
Cr = #13;
|
||||
Lf = #10;
|
||||
Backspace = #8;
|
||||
Tab = #9;
|
||||
Esc = #27;
|
||||
Del = #127;
|
||||
CtrlC = ^C;
|
||||
CtrlH = ^H;
|
||||
CtrlI = ^I;
|
||||
CtrlJ = ^J;
|
||||
CtrlM = ^M;
|
||||
CtrlV = ^V;
|
||||
CtrlX = ^X;
|
||||
{$IFDEF MSWINDOWS}
|
||||
RegPathDelim = '\';
|
||||
PathDelim = '\';
|
||||
DriveDelim = ':';
|
||||
PathSep = ';';
|
||||
AllFilePattern = '*.*';
|
||||
{$ENDIF MSWINDOWS}
|
||||
{$IFDEF UNIX}
|
||||
RegPathDelim = '_';
|
||||
PathDelim = '/';
|
||||
AllFilePattern = '*';
|
||||
{$ENDIF UNIX}
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
//TODO: SESS - 25.09.2007 This doesnt compile in fpc
|
||||
{const Separators is used in GetWordOnPos, JvUtils.ReplaceStrings and SubWord}
|
||||
Separators: TSysCharSet = [#00, ' ', '-', #13, #10, '.', ',', '/', '\', '#', '"', '''',
|
||||
':', '+', '%', '*', '(', ')', ';', '=', '{', '}', '[', ']', '{', '}', '<', '>'];
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
DigitChars = ['0'..'9'];
|
||||
|
||||
var
|
||||
crJVCLFirst: TCursor = 100;
|
||||
crMultiDragLink: TCursor = 100;
|
||||
crDragAlt: TCursor = 101;
|
||||
crMultiDragAlt: TCursor = 102;
|
||||
crMultiDragLinkAlt: TCursor = 103;
|
||||
crHand: TCursor = 104;
|
||||
crDragHand: TCursor = 105;
|
||||
// this should be incremented to always contain the last default JVCL cursor index
|
||||
crJVCLLast: TCursor = 105;
|
||||
|
||||
const
|
||||
ROP_DSPDxax = $00E20746;
|
||||
|
||||
const
|
||||
FOURCC_ACON = 'ACON';
|
||||
FOURCC_IART = 'IART';
|
||||
FOURCC_INAM = 'INAM';
|
||||
FOURCC_INFO = 'INFO';
|
||||
FOURCC_LIST = 'LIST';
|
||||
FOURCC_RIFF = 'RIFF';
|
||||
FOURCC_anih = 'anih';
|
||||
FOURCC_fram = 'fram';
|
||||
FOURCC_icon = 'icon';
|
||||
FOURCC_rate = 'rate';
|
||||
FOURCC_seq = 'seq ';
|
||||
|
||||
AF_ICON = $00000001;
|
||||
AF_SEQUENCE = $00000002;
|
||||
|
||||
const
|
||||
KeyboardShiftStates = [ssShift, ssAlt, ssCtrl];
|
||||
MouseShiftStates = [ssLeft, ssRight, ssMiddle, ssDouble];
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
|
1064
components/jvcllaz/run/JvExControls.pas
Normal file
1064
components/jvcllaz/run/JvExControls.pas
Normal file
File diff suppressed because it is too large
Load Diff
395
components/jvcllaz/run/JvExExtCtrls.pas
Normal file
395
components/jvcllaz/run/JvExExtCtrls.pas
Normal file
@ -0,0 +1,395 @@
|
||||
{-----------------------------------------------------------------------------
|
||||
The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
|
||||
the specific language governing rights and limitations under the License.
|
||||
|
||||
The Original Code is: JvExExtCtrls.pas, released on 2004-01-04
|
||||
|
||||
The Initial Developer of the Original Code is Andreas Hausladen [Andreas dott Hausladen att gmx dott de]
|
||||
Portions created by Andreas Hausladen are Copyright (C) 2004 Andreas Hausladen.
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s): -
|
||||
|
||||
You may retrieve the latest version of this file at the Project JEDI's JVCL home page,
|
||||
located at http://jvcl.sourceforge.net
|
||||
|
||||
Known Issues:
|
||||
-----------------------------------------------------------------------------}
|
||||
// $Id: JvExExtCtrls.pas 10613 2006-05-19 19:21:43Z jfudickar $
|
||||
|
||||
// Initial port to Lazarus by Sergio Samayoa - september 2007.
|
||||
// Conversion is done in incremental way: as types / classes / routines
|
||||
// are needed they are converted.
|
||||
|
||||
unit JvExExtCtrls;
|
||||
|
||||
{MACROINCLUDE JvExControls.macros}
|
||||
|
||||
{*****************************************************************************
|
||||
* WARNING: Do not edit this file.
|
||||
* This file is autogenerated from the source in devtools/JvExVCL/src.
|
||||
* If you do it despite this warning your changes will be discarded by the next
|
||||
* update of this file. Do your changes in the template files.
|
||||
****************************************************************************}
|
||||
{$D-} // do not step into this unit
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Controls, ExtCtrls, Forms, Graphics, JvExControls, LCLIntf, LMessages;
|
||||
|
||||
type
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_DECL_DEFAULT(Shape)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_DECL_DEFAULT(PaintBox)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_DECL_DEFAULT(Image)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_DECL_DEFAULT(Bevel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(CustomPanel)
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
TJvExPubCustomPanel = class(TJvExCustomPanel)
|
||||
COMMON_PUBLISHED
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(CustomRadioGroup)
|
||||
|
||||
TJvExSplitter = class(TSplitter)
|
||||
private
|
||||
// TODO:
|
||||
// FAboutJVCL: TJVCLAboutInfo;
|
||||
FHintColor: TColor;
|
||||
FMouseOver: Boolean;
|
||||
FHintWindowClass: THintWindowClass;
|
||||
FOnMouseEnter: TNotifyEvent;
|
||||
FOnMouseLeave: TNotifyEvent;
|
||||
FOnParentColorChanged: TNotifyEvent;
|
||||
function BaseWndProc(Msg: Integer; WParam: Integer = 0; LParam: Longint = 0): Integer; overload;
|
||||
function BaseWndProc(Msg: Integer; WParam: Integer; LParam: TControl): Integer; overload;
|
||||
function BaseWndProcEx(Msg: Integer; WParam: Integer; var LParam): Integer;
|
||||
protected
|
||||
procedure WndProc(var Msg: TLMessage); override;
|
||||
procedure FocusChanged(AControl: TWinControl); dynamic;
|
||||
procedure VisibleChanged; reintroduce; dynamic;
|
||||
procedure EnabledChanged; reintroduce; dynamic;
|
||||
procedure TextChanged; reintroduce; virtual;
|
||||
procedure ColorChanged; reintroduce; dynamic;
|
||||
procedure FontChanged; reintroduce; dynamic;
|
||||
procedure ParentFontChanged; reintroduce; dynamic;
|
||||
procedure ParentColorChanged; reintroduce; dynamic;
|
||||
procedure ParentShowHintChanged; reintroduce; dynamic;
|
||||
function WantKey(Key: Integer; Shift: TShiftState; const KeyText: WideString): Boolean; reintroduce; virtual;
|
||||
function HintShow(var HintInfo: THintInfo): Boolean; reintroduce; dynamic;
|
||||
function HitTest(X, Y: Integer): Boolean; reintroduce; virtual;
|
||||
procedure MouseEnter(AControl: TControl); reintroduce; dynamic;
|
||||
procedure MouseLeave(AControl: TControl); reintroduce; dynamic;
|
||||
property MouseOver: Boolean read FMouseOver write FMouseOver;
|
||||
property HintColor: TColor read FHintColor write FHintColor default clDefault;
|
||||
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
|
||||
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
|
||||
property OnParentColorChange: TNotifyEvent read FOnParentColorChanged write FOnParentColorChanged;
|
||||
function GetCaption: TCaption; virtual;
|
||||
procedure SetCaption(Value: TCaption); virtual;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
property Caption: TCaption read GetCaption write SetCaption;
|
||||
property HintWindowClass: THintWindowClass read FHintWindowClass write FHintWindowClass;
|
||||
published
|
||||
// TODO:
|
||||
// property AboutJVCL: TJVCLAboutInfo read FAboutJVCL write FAboutJVCL stored False;
|
||||
end;
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(CustomControlBar)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(ControlBar)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(Panel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(RadioGroup)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(Page)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(Notebook)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(Header)
|
||||
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_DECL_DEFAULT(BoundLabel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(CustomLabeledEdit)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_DECL_DEFAULT(LabeledEdit)
|
||||
|
||||
//******************** NOT CONVERTED - Exists in LCL?
|
||||
//WINCONTROL_DECL_DEFAULT(CustomColorBox)
|
||||
|
||||
//******************** NOT CONVERTED - Exists in LCL?
|
||||
//WINCONTROL_DECL_DEFAULT(ColorBox)
|
||||
|
||||
implementation
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_IMPL_DEFAULT(Shape)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_IMPL_DEFAULT(PaintBox)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_IMPL_DEFAULT(Image)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_IMPL_DEFAULT(Bevel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(CustomPanel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(CustomRadioGroup)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(CustomControlBar)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(ControlBar)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(Panel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(RadioGroup)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(Page)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(Notebook)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(Header)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//CONTROL_IMPL_DEFAULT(BoundLabel)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(CustomLabeledEdit)
|
||||
|
||||
//******************** NOT CONVERTED
|
||||
//WINCONTROL_IMPL_DEFAULT(LabeledEdit)
|
||||
|
||||
//******************** NOT CONVERTED - Exists in LCL?
|
||||
//WINCONTROL_IMPL_DEFAULT(CustomColorBox)
|
||||
|
||||
//******************** NOT CONVERTED - Exists in LCL?
|
||||
//WINCONTROL_IMPL_DEFAULT(ColorBox)
|
||||
|
||||
constructor TJvExSplitter.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
FHintColor := clDefault;
|
||||
end;
|
||||
|
||||
function TJvExSplitter.BaseWndProc(Msg: Integer; WParam: Integer = 0; LParam: Longint = 0): Integer;
|
||||
var
|
||||
Mesg: TLMessage;
|
||||
begin
|
||||
Mesg := CreateWMMessage(Msg, WParam, LParam);
|
||||
inherited WndProc(Mesg);
|
||||
Result := Mesg.Result;
|
||||
end;
|
||||
|
||||
function TJvExSplitter.BaseWndProc(Msg: Integer; WParam: Integer; LParam: TControl): Integer;
|
||||
var
|
||||
Mesg: TLMessage;
|
||||
begin
|
||||
Mesg := CreateWMMessage(Msg, WParam, LParam);
|
||||
inherited WndProc(Mesg);
|
||||
Result := Mesg.Result;
|
||||
end;
|
||||
|
||||
function TJvExSplitter.BaseWndProcEx(Msg: Integer; WParam: Integer; var LParam): Integer;
|
||||
var
|
||||
Mesg: TStructPtrMessage;
|
||||
begin
|
||||
Mesg := TStructPtrMessage.Create(Msg, WParam, LParam);
|
||||
try
|
||||
inherited WndProc(Mesg.Msg);
|
||||
finally
|
||||
Result := Mesg.Msg.Result;
|
||||
Mesg.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvExSplitter.VisibleChanged;
|
||||
begin
|
||||
BaseWndProc(CM_VISIBLECHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvExSplitter.EnabledChanged;
|
||||
begin
|
||||
BaseWndProc(CM_ENABLEDCHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvExSplitter.TextChanged;
|
||||
begin
|
||||
BaseWndProc(CM_TEXTCHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvExSplitter.FontChanged;
|
||||
begin
|
||||
BaseWndProc(CM_FONTCHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvExSplitter.ColorChanged;
|
||||
begin
|
||||
BaseWndProc(CM_COLORCHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvExSplitter.ParentFontChanged;
|
||||
begin
|
||||
// LCL doesn't send this message but left it in case
|
||||
//BaseWndProc(CM_PARENTFONTCHANGED);
|
||||
end;
|
||||
|
||||
procedure TJvExSplitter.ParentColorChanged;
|
||||
begin
|
||||
BaseWndProc(CM_PARENTCOLORCHANGED);
|
||||
if Assigned(OnParentColorChange) then
|
||||
OnParentColorChange(Self);
|
||||
end;
|
||||
|
||||
procedure TJvExSplitter.ParentShowHintChanged;
|
||||
begin
|
||||
BaseWndProc(CM_PARENTSHOWHINTCHANGED);
|
||||
end;
|
||||
|
||||
function TJvExSplitter.WantKey(Key: Integer; Shift: TShiftState; const KeyText: WideString): Boolean;
|
||||
begin
|
||||
Result := BaseWndProc(CM_DIALOGCHAR, Word(Key), ShiftStateToKeyData(Shift)) <> 0;
|
||||
end;
|
||||
|
||||
function TJvExSplitter.HitTest(X, Y: Integer): Boolean;
|
||||
begin
|
||||
Result := BaseWndProc(CM_HITTEST, 0, SmallPointToLong(PointToSmallPoint(Point(X, Y)))) <> 0;
|
||||
end;
|
||||
|
||||
function TJvExSplitter.HintShow(var HintInfo: THintInfo): Boolean;
|
||||
begin
|
||||
GetHintColor(HintInfo, Self, FHintColor);
|
||||
if FHintWindowClass <> nil then
|
||||
HintInfo.HintWindowClass := FHintWindowClass;
|
||||
Result := BaseWndProcEx(CM_HINTSHOW, 0, HintInfo) <> 0;
|
||||
end;
|
||||
|
||||
procedure TJvExSplitter.MouseEnter(AControl: TControl);
|
||||
begin
|
||||
FMouseOver := True;
|
||||
if Assigned(FOnMouseEnter) then
|
||||
FOnMouseEnter(Self);
|
||||
BaseWndProc(CM_MOUSEENTER, 0, AControl);
|
||||
end;
|
||||
|
||||
procedure TJvExSplitter.MouseLeave(AControl: TControl);
|
||||
begin
|
||||
FMouseOver := False;
|
||||
BaseWndProc(CM_MOUSELEAVE, 0, AControl);
|
||||
if Assigned(FOnMouseLeave) then
|
||||
FOnMouseLeave(Self);
|
||||
end;
|
||||
|
||||
procedure TJvExSplitter.FocusChanged(AControl: TWinControl);
|
||||
begin
|
||||
BaseWndProc(CM_FOCUSCHANGED, 0, AControl);
|
||||
end;
|
||||
|
||||
function TJvExSplitter.GetCaption: TCaption;
|
||||
begin
|
||||
Result := inherited Caption;
|
||||
end;
|
||||
|
||||
// 25.09.2007 - SESS:
|
||||
// I have done this because TextChanged wasn't fired as expected.
|
||||
// I still don't shure if this problem is only for this reintroduced
|
||||
// method because the way LCL treats Caption or will have the same
|
||||
// problem with other reintroduced methods. So far, I tested some
|
||||
// other events and seems not.
|
||||
procedure TJvExSplitter.SetCaption(Value: TCaption);
|
||||
begin
|
||||
inherited Caption := Value;
|
||||
TextChanged;
|
||||
end;
|
||||
|
||||
procedure TJvExSplitter.WndProc(var Msg: TLMessage);
|
||||
begin
|
||||
if not DispatchIsDesignMsg(Self, Msg) then
|
||||
case Msg.Msg of
|
||||
{
|
||||
// TODO: do we need this? I think not...
|
||||
CM_DENYSUBCLASSING:
|
||||
Msg.Result := Ord(GetInterfaceEntry(IJvDenySubClassing) <> nil);
|
||||
}
|
||||
CM_DIALOGCHAR:
|
||||
with TCMDialogChar(Msg) do
|
||||
Result := Ord(WantKey(CharCode, KeyDataToShiftState(KeyData), WideChar(CharCode)));
|
||||
CM_HINTSHOW:
|
||||
with TCMHintShow(Msg) do
|
||||
Result := Integer(HintShow(HintInfo^));
|
||||
CM_HITTEST:
|
||||
with TCMHitTest(Msg) do
|
||||
Result := Integer(HitTest(XPos, YPos));
|
||||
CM_MOUSEENTER:
|
||||
MouseEnter(TControl(Msg.LParam));
|
||||
CM_MOUSELEAVE:
|
||||
MouseLeave(TControl(Msg.LParam));
|
||||
CM_VISIBLECHANGED:
|
||||
VisibleChanged;
|
||||
CM_ENABLEDCHANGED:
|
||||
EnabledChanged;
|
||||
// LCL doesn't send this message but left it in case
|
||||
CM_TEXTCHANGED:
|
||||
TextChanged;
|
||||
CM_FONTCHANGED:
|
||||
FontChanged;
|
||||
CM_COLORCHANGED:
|
||||
ColorChanged;
|
||||
CM_FOCUSCHANGED:
|
||||
FocusChanged(TWinControl(Msg.LParam));
|
||||
// LCL doesn't send this message but left it in case
|
||||
//CM_PARENTFONTCHANGED:
|
||||
// ParentFontChanged;
|
||||
CM_PARENTCOLORCHANGED:
|
||||
ParentColorChanged;
|
||||
CM_PARENTSHOWHINTCHANGED:
|
||||
ParentShowHintChanged;
|
||||
else
|
||||
inherited WndProc(Msg);
|
||||
end;
|
||||
end;
|
||||
|
||||
//============================================================================
|
||||
|
||||
end.
|
9764
components/jvcllaz/run/JvJCLUtils.pas
Normal file
9764
components/jvcllaz/run/JvJCLUtils.pas
Normal file
File diff suppressed because it is too large
Load Diff
7694
components/jvcllaz/run/JvJVCLUtils.pas
Normal file
7694
components/jvcllaz/run/JvJVCLUtils.pas
Normal file
File diff suppressed because it is too large
Load Diff
5192
components/jvcllaz/run/JvNavigationPane.pas
Normal file
5192
components/jvcllaz/run/JvNavigationPane.pas
Normal file
File diff suppressed because it is too large
Load Diff
943
components/jvcllaz/run/JvPageList.pas
Normal file
943
components/jvcllaz/run/JvPageList.pas
Normal file
@ -0,0 +1,943 @@
|
||||
{-----------------------------------------------------------------------------
|
||||
The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
|
||||
the specific language governing rights and limitations under the License.
|
||||
|
||||
The Original Code is: JvPageList.PAS, released on 2003-04-25.
|
||||
|
||||
The Initial Developer of the Original Code is Peter Th�rnqvist [peter3 at sourceforge dot net] .
|
||||
Portions created by Peter Th�rnqvist are Copyright (C) 2004 Peter Th�rnqvist.
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
|
||||
You may retrieve the latest version of this file at the Project JEDI's JVCL home page,
|
||||
located at http://jvcl.sourceforge.net
|
||||
|
||||
Known Issues:
|
||||
|
||||
-----------------------------------------------------------------------------}
|
||||
// $Id: JvPageList.pas 11400 2007-06-28 21:24:06Z ahuser $
|
||||
|
||||
// Initial port to Lazarus by Sergio Samayoa - september 2007.
|
||||
// Conversion is done in incremental way: as types / classes / routines
|
||||
// are needed they are converted.
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
unit JvPageList;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Controls, Graphics, JvComponent, LCLIntf, LCLType, LMessages,
|
||||
SysUtils;
|
||||
|
||||
type
|
||||
EPageListError = class(Exception);
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
IPageList = interface
|
||||
['{6BB90183-CFB1-4431-9CFD-E9A032E0C94C}']
|
||||
function CanChange(AIndex: Integer): Boolean;
|
||||
procedure SetActivePageIndex(AIndex: Integer);
|
||||
function GetPageCount: Integer;
|
||||
function GetPageCaption(AIndex: Integer): string;
|
||||
procedure AddPage(const ACaption: string);
|
||||
procedure DeletePage(Index: Integer);
|
||||
procedure MovePage(CurIndex, NewIndex: Integer);
|
||||
procedure PageCaptionChanged(Index: Integer; const NewCaption: string);
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
TJvCustomPageList = class;
|
||||
|
||||
TJvPagePaintEvent = procedure(Sender: TObject; ACanvas: TCanvas; ARect: TRect) of object;
|
||||
TJvPageCanPaintEvent = procedure(Sender: TObject; ACanvas: TCanvas; ARect: TRect; var DefaultDraw: Boolean) of object;
|
||||
|
||||
{ TJvCustomPage is the base class for pages in a TJvPageList and implements the basic behaviour of such
|
||||
a control. It has support for accepting components, propagating it's Enabled state, changing it's order in the
|
||||
page list and custom painting }
|
||||
|
||||
TJvCustomPage = class(TJvCustomControl)
|
||||
private
|
||||
FPageList: TJvCustomPageList;
|
||||
FPageIndex: Integer;
|
||||
FOnBeforePaint: TJvPageCanPaintEvent;
|
||||
FOnPaint: TJvPagePaintEvent;
|
||||
FOnAfterPaint: TJvPagePaintEvent;
|
||||
FOnHide: TNotifyEvent;
|
||||
FOnShow: TNotifyEvent;
|
||||
FData: TObject;
|
||||
protected
|
||||
procedure CreateParams(var Params: TCreateParams); override;
|
||||
function DoEraseBackground(ACanvas: TCanvas; Param: Integer): Boolean; override;
|
||||
procedure SetPageIndex(Value: Integer);virtual;
|
||||
function GetPageIndex: Integer;virtual;
|
||||
procedure SetPageList(Value: TJvCustomPageList);virtual;
|
||||
procedure TextChanged; override;
|
||||
procedure ShowingChanged; override;
|
||||
procedure Paint; override;
|
||||
procedure ReadState(Reader: TReader); override;
|
||||
function DoBeforePaint(ACanvas: TCanvas; ARect: TRect): Boolean; dynamic;
|
||||
procedure DoAfterPaint(ACanvas: TCanvas; ARect: TRect); dynamic;
|
||||
procedure DoPaint(ACanvas: TCanvas; ARect: TRect); virtual;
|
||||
procedure DoShow; virtual;
|
||||
procedure DoHide; virtual;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
property PageList: TJvCustomPageList read FPageList write SetPageList;
|
||||
protected
|
||||
property Left stored False;
|
||||
property Top stored False;
|
||||
property Width stored False;
|
||||
property Height stored False;
|
||||
property OnHide: TNotifyEvent read FOnHide write FOnHide;
|
||||
property OnShow: TNotifyEvent read FOnShow write FOnShow;
|
||||
property OnBeforePaint: TJvPageCanPaintEvent read FOnBeforePaint write FOnBeforePaint;
|
||||
property OnPaint: TJvPagePaintEvent read FOnPaint write FOnPaint;
|
||||
property OnAfterPaint: TJvPagePaintEvent read FOnAfterPaint write FOnAfterPaint;
|
||||
public
|
||||
property Data: TObject read FData write FData;
|
||||
property PageIndex: Integer read GetPageIndex write SetPageIndex stored False;
|
||||
end;
|
||||
|
||||
TJvCustomPageClass = class of TJvCustomPage;
|
||||
TJvPageChangingEvent = procedure(Sender: TObject; PageIndex: Integer; var AllowChange: Boolean) of object;
|
||||
|
||||
{
|
||||
TJvCustomPageList is a base class for components that implements the IPageList interface.
|
||||
It works like TPageControl but does not have any tabs
|
||||
}
|
||||
TJvShowDesignCaption = (sdcNone, sdcTopLeft, sdcTopCenter, sdcTopRight, sdcLeftCenter, sdcCenter, sdcRightCenter, sdcBottomLeft, sdcBottomCenter, sdcBottomRight, sdcRunTime);
|
||||
|
||||
//TODO: 25.09.2007 - SESS - Find a better place...
|
||||
TCMDesignHitTest = TLMMouse;
|
||||
|
||||
// TJvCustomPageList = class(TJvCustomControl, IUnknown, IPageList)
|
||||
TJvCustomPageList = class(TJvCustomControl)
|
||||
private
|
||||
FPages: TList;
|
||||
FActivePage: TJvCustomPage;
|
||||
FPropagateEnable: Boolean;
|
||||
FOnChange: TNotifyEvent;
|
||||
FOnChanging: TJvPageChangingEvent;
|
||||
FShowDesignCaption: TJvShowDesignCaption;
|
||||
FHiddenPages: TList;
|
||||
procedure CMDesignHitTest(var Msg: TCMDesignHitTest); message CM_DESIGNHITTEST;
|
||||
procedure UpdateEnabled;
|
||||
procedure SetPropagateEnable(const Value: Boolean);
|
||||
procedure SetShowDesignCaption(const Value: TJvShowDesignCaption);
|
||||
function GetPage(Index: Integer): TJvCustomPage;
|
||||
protected
|
||||
procedure EnabledChanged; override;
|
||||
{ IPageList }
|
||||
procedure AddPage(const ACaption: string);
|
||||
procedure DeletePage(Index: Integer);
|
||||
procedure MovePage(CurIndex, NewIndex: Integer);
|
||||
function CanChange(AIndex: Integer): Boolean; virtual;
|
||||
function GetActivePageIndex: Integer; virtual;
|
||||
procedure SetActivePageIndex(AIndex: Integer); virtual;
|
||||
function GetPageFromIndex(AIndex: Integer): TJvCustomPage; virtual;
|
||||
function GetPageCount: Integer;virtual;
|
||||
function GetPageCaption(AIndex: Integer): string; virtual;
|
||||
procedure Paint; override;
|
||||
procedure PageCaptionChanged(Index: Integer; const NewCaption: string); virtual;
|
||||
procedure Change; dynamic;
|
||||
procedure Loaded; override;
|
||||
procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
|
||||
procedure ShowControl(AControl: TControl); override;
|
||||
function InternalGetPageClass: TJvCustomPageClass; virtual;
|
||||
procedure SetActivePage(Page: TJvCustomPage); virtual;
|
||||
procedure InsertPage(APage: TJvCustomPage); virtual;
|
||||
procedure RemovePage(APage: TJvCustomPage); virtual;
|
||||
property PageList: TList read FPages;
|
||||
property HiddenPageList: TList read FHiddenPages;
|
||||
property PropagateEnable: Boolean read FPropagateEnable write SetPropagateEnable;
|
||||
property ShowDesignCaption: TJvShowDesignCaption read FShowDesignCaption write SetShowDesignCaption default sdcCenter;
|
||||
property OnChange: TNotifyEvent read FOnChange write FOnChange;
|
||||
property OnChanging: TJvPageChangingEvent read FOnChanging write FOnChanging;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
function FindNextPage(CurPage: TJvCustomPage; GoForward: Boolean; IncludeDisabled: Boolean): TJvCustomPage;
|
||||
procedure PrevPage;
|
||||
procedure NextPage;
|
||||
function HidePage(Page: TJvCustomPage): TJvCustomPage; virtual;
|
||||
function ShowPage(Page: TJvCustomPage; PageIndex: Integer = -1): TJvCustomPage; virtual;
|
||||
function GetPageClass: TJvCustomPageClass;
|
||||
function GetVisiblePageCount: Integer;
|
||||
property Height default 200;
|
||||
property Width default 300;
|
||||
property ActivePageIndex: Integer read GetActivePageIndex write SetActivePageIndex;
|
||||
property ActivePage: TJvCustomPage read FActivePage write SetActivePage;
|
||||
property Pages[Index: Integer]: TJvCustomPage read GetPage; default;
|
||||
property PageCount: Integer read GetPageCount;
|
||||
end;
|
||||
|
||||
(******************** NOT CONVERTED
|
||||
TJvStandardPage = class(TJvCustomPage)
|
||||
published
|
||||
property BorderWidth;
|
||||
property Caption;
|
||||
property Color;
|
||||
property DragMode;
|
||||
property Enabled;
|
||||
property Font;
|
||||
property Constraints;
|
||||
property ParentFont;
|
||||
property ParentShowHint;
|
||||
property PopupMenu;
|
||||
property ShowHint;
|
||||
property PageIndex;
|
||||
property OnContextPopup;
|
||||
property OnDragDrop;
|
||||
property OnDragOver;
|
||||
property OnEndDrag;
|
||||
property OnEnter;
|
||||
property OnExit;
|
||||
property OnHide;
|
||||
property OnMouseDown;
|
||||
property OnMouseMove;
|
||||
property OnMouseUp;
|
||||
property OnResize;
|
||||
property OnShow;
|
||||
property OnStartDrag;
|
||||
property OnBeforePaint;
|
||||
property OnPaint;
|
||||
property OnAfterPaint;
|
||||
property OnMouseEnter;
|
||||
property OnMouseLeave;
|
||||
property OnParentColorChange;
|
||||
{$IFDEF JVCLThemesEnabled}
|
||||
property ParentBackground default False;
|
||||
{$ENDIF JVCLThemesEnabled}
|
||||
end;
|
||||
|
||||
TJvPageList = class(TJvCustomPageList)
|
||||
protected
|
||||
function InternalGetPageClass: TJvCustomPageClass; override;
|
||||
public
|
||||
property PageCount;
|
||||
published
|
||||
property ActivePage;
|
||||
property PropagateEnable;
|
||||
property ShowDesignCaption;
|
||||
property Action;
|
||||
property Align;
|
||||
property Anchors;
|
||||
property BiDiMode;
|
||||
property BorderWidth;
|
||||
property DragCursor;
|
||||
property DragKind;
|
||||
property OnStartDock;
|
||||
property OnUnDock;
|
||||
property OnEndDock;
|
||||
property OnCanResize;
|
||||
property OnDockDrop;
|
||||
property OnDockOver;
|
||||
property OnGetSiteInfo;
|
||||
property Constraints;
|
||||
property DragMode;
|
||||
property Enabled;
|
||||
property PopupMenu;
|
||||
property ShowHint;
|
||||
property Visible;
|
||||
property OnMouseEnter;
|
||||
property OnMouseLeave;
|
||||
property OnParentColorChange;
|
||||
property OnChange;
|
||||
property OnChanging;
|
||||
property OnConstrainedResize;
|
||||
property OnContextPopup;
|
||||
property OnDblClick;
|
||||
property OnDragDrop;
|
||||
property OnDragOver;
|
||||
property OnEndDrag;
|
||||
property OnEnter;
|
||||
property OnExit;
|
||||
property OnMouseDown;
|
||||
property OnMouseMove;
|
||||
property OnMouseUp;
|
||||
property OnMouseWheel;
|
||||
property OnMouseWheelDown;
|
||||
property OnMouseWheelUp;
|
||||
property OnResize;
|
||||
property OnStartDrag;
|
||||
{$IFDEF JVCLThemesEnabled}
|
||||
property ParentBackground default False;
|
||||
{$ENDIF JVCLThemesEnabled}
|
||||
end;
|
||||
******************** NOT CONVERTED *)
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Forms;
|
||||
|
||||
function GetUniqueName(AOwner: TComponent; const AClassName: string): string;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
i := 0;
|
||||
if AOwner = nil then
|
||||
begin
|
||||
repeat
|
||||
Inc(i);
|
||||
Result := AClassName + IntToStr(i);
|
||||
until FindGlobalComponent(Result) = nil;
|
||||
end
|
||||
else
|
||||
repeat
|
||||
Inc(i);
|
||||
Result := AClassName + IntToStr(i);
|
||||
until AOwner.FindComponent(Result) = nil;
|
||||
end;
|
||||
|
||||
//=== { TJvCustomPage } ======================================================
|
||||
|
||||
constructor TJvCustomPage.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
FPageIndex := -1;
|
||||
Align := alClient;
|
||||
ControlStyle := ControlStyle + [csOpaque, csAcceptsControls, csNoDesignVisible];
|
||||
// IncludeThemeStyle(Self, [csParentBackground]);
|
||||
Visible := False;
|
||||
DoubleBuffered := True;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPage.CreateParams(var Params: TCreateParams);
|
||||
begin
|
||||
inherited CreateParams(Params);
|
||||
with Params.WindowClass do
|
||||
Style := Style and not (CS_HREDRAW or CS_VREDRAW);
|
||||
end;
|
||||
|
||||
destructor TJvCustomPage.Destroy;
|
||||
begin
|
||||
PageList := nil;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPage.DoAfterPaint(ACanvas: TCanvas; ARect: TRect);
|
||||
begin
|
||||
if Assigned(FOnAfterPaint) then
|
||||
FOnAfterPaint(Self, ACanvas, ARect);
|
||||
end;
|
||||
|
||||
function TJvCustomPage.DoBeforePaint(ACanvas: TCanvas; ARect: TRect): Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
if Assigned(FOnBeforePaint) then
|
||||
FOnBeforePaint(Self, ACanvas, ARect, Result);
|
||||
end;
|
||||
|
||||
function GetDesignCaptionFlags(Value: TJvShowDesignCaption): Cardinal;
|
||||
begin
|
||||
case Value of
|
||||
sdcTopLeft:
|
||||
Result := DT_TOP or DT_LEFT;
|
||||
sdcTopCenter:
|
||||
Result := DT_TOP or DT_CENTER;
|
||||
sdcTopRight:
|
||||
Result := DT_TOP or DT_RIGHT;
|
||||
sdcLeftCenter:
|
||||
Result := DT_VCENTER or DT_LEFT;
|
||||
sdcCenter:
|
||||
Result := DT_VCENTER or DT_CENTER;
|
||||
sdcRightCenter:
|
||||
Result := DT_VCENTER or DT_RIGHT;
|
||||
sdcBottomLeft:
|
||||
Result := DT_BOTTOM or DT_LEFT;
|
||||
sdcBottomCenter:
|
||||
Result := DT_BOTTOM or DT_CENTER;
|
||||
sdcBottomRight:
|
||||
Result := DT_BOTTOM or DT_RIGHT;
|
||||
else
|
||||
Result := 0;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPage.DoPaint(ACanvas: TCanvas; ARect: TRect);
|
||||
var
|
||||
S: string;
|
||||
begin
|
||||
with ACanvas do
|
||||
begin
|
||||
Font := Self.Font;
|
||||
Brush.Style := bsSolid;
|
||||
Brush.Color := Self.Color;
|
||||
//SESS
|
||||
//DrawThemedBackground(Self, Canvas, ARect);
|
||||
DoEraseBackground(Canvas, 0);
|
||||
if (csDesigning in ComponentState) then
|
||||
begin
|
||||
Pen.Style := psDot;
|
||||
Pen.Color := clBlack;
|
||||
Brush.Style := bsClear;
|
||||
Rectangle(ARect);
|
||||
Brush.Style := bsSolid;
|
||||
Brush.Color := Color;
|
||||
if (PageList <> nil) and (PageList.ShowDesignCaption <> sdcNone) then
|
||||
begin
|
||||
S := Caption;
|
||||
if S = '' then
|
||||
S := Name;
|
||||
// make some space around the edges
|
||||
InflateRect(ARect, -4, -4);
|
||||
if not Enabled then
|
||||
begin
|
||||
SetBkMode(Handle, TRANSPARENT);
|
||||
Canvas.Font.Color := clHighlightText;
|
||||
//TODO: Use JCLUtils one?
|
||||
DrawText(Handle, PChar(S), Length(S), ARect, GetDesignCaptionFlags(PageList.ShowDesignCaption) or DT_SINGLELINE);
|
||||
OffsetRect(ARect, -1, -1);
|
||||
Canvas.Font.Color := clGrayText;
|
||||
end;
|
||||
DrawText(Handle, PChar(S), Length(S), ARect, GetDesignCaptionFlags(PageList.ShowDesignCaption) or DT_SINGLELINE);
|
||||
InflateRect(ARect, 4, 4);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
if Assigned(FOnPaint) then
|
||||
FOnPaint(Self, ACanvas, ARect);
|
||||
end;
|
||||
|
||||
function TJvCustomPage.GetPageIndex: Integer;
|
||||
begin
|
||||
if Assigned(FPageList) then
|
||||
Result := FPageList.PageList.IndexOf(Self)
|
||||
else
|
||||
Result := FPageIndex;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPage.Paint;
|
||||
var
|
||||
R: TRect;
|
||||
begin
|
||||
R := ClientRect;
|
||||
if DoBeforePaint(Canvas, R) then
|
||||
DoPaint(Canvas, R);
|
||||
DoAfterPaint(Canvas, R);
|
||||
end;
|
||||
|
||||
procedure TJvCustomPage.ReadState(Reader: TReader);
|
||||
begin
|
||||
if Reader.Parent is TJvCustomPageList then
|
||||
PageList := TJvCustomPageList(Reader.Parent);
|
||||
inherited ReadState(Reader);
|
||||
end;
|
||||
|
||||
procedure TJvCustomPage.SetPageList(Value: TJvCustomPageList);
|
||||
begin
|
||||
if FPageList <> Value then
|
||||
begin
|
||||
if Assigned(FPageList) then
|
||||
FPageList.RemovePage(Self);
|
||||
FPageList := Value;
|
||||
Parent := FPageList;
|
||||
if FPageList <> nil then
|
||||
FPageList.InsertPage(Self);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPage.SetPageIndex(Value: Integer);
|
||||
var
|
||||
OldIndex: Integer;
|
||||
begin
|
||||
if (Value <> PageIndex) then
|
||||
begin
|
||||
OldIndex := PageIndex;
|
||||
if Assigned(FPageList) and (Value >= 0) and (Value < FPageList.PageCount) then
|
||||
FPageList.PageList.Move(OldIndex, Value);
|
||||
FPageIndex := Value;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TJvCustomPage.DoEraseBackground(ACanvas: TCanvas; Param: Integer): Boolean;
|
||||
begin
|
||||
ACanvas.Brush.Color := Self.Color;
|
||||
ACanvas.Brush.Style := bsSolid;
|
||||
ACanvas.FillRect(Rect(0, 0, Width, Height));
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPage.TextChanged;
|
||||
begin
|
||||
inherited TextChanged;
|
||||
if csDesigning in ComponentState then
|
||||
Invalidate;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPage.DoHide;
|
||||
begin
|
||||
if Assigned(FOnHide) then
|
||||
FOnHide(Self);
|
||||
end;
|
||||
|
||||
procedure TJvCustomPage.DoShow;
|
||||
begin
|
||||
if Assigned(FOnShow) then
|
||||
FOnShow(Self);
|
||||
end;
|
||||
|
||||
procedure TJvCustomPage.ShowingChanged;
|
||||
begin
|
||||
inherited ShowingChanged;
|
||||
if Showing then
|
||||
try
|
||||
DoShow
|
||||
except
|
||||
Application.HandleException(Self);
|
||||
end
|
||||
else
|
||||
if not Showing then
|
||||
try
|
||||
DoHide;
|
||||
except
|
||||
Application.HandleException(Self);
|
||||
end;
|
||||
end;
|
||||
|
||||
//=== { TJvCustomPageList } ==================================================
|
||||
|
||||
constructor TJvCustomPageList.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
ControlStyle := ControlStyle + [csAcceptsControls];
|
||||
// IncludeThemeStyle(Self, [csParentBackground]);
|
||||
FPages := TList.Create;
|
||||
FHiddenPages := TList.Create;
|
||||
Height := 200;
|
||||
Width := 300;
|
||||
FShowDesignCaption := sdcCenter;
|
||||
ActivePageIndex := -1;
|
||||
end;
|
||||
|
||||
destructor TJvCustomPageList.Destroy;
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
for I := FPages.Count - 1 downto 0 do
|
||||
TJvCustomPage(FPages[I]).FPageList := nil;
|
||||
FPages.Free;
|
||||
FHiddenPages.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
function TJvCustomPageList.CanChange(AIndex: Integer): Boolean;
|
||||
begin
|
||||
Result := (AIndex >= 0) and (AIndex < GetPageCount);
|
||||
if Result and Assigned(FOnChanging) then
|
||||
FOnChanging(Self, AIndex, Result);
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.Change;
|
||||
begin
|
||||
if Assigned(FOnChange) then
|
||||
FOnChange(Self);
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.CMDesignHitTest(var Msg: TCMDesignHitTest);
|
||||
var
|
||||
Pt: TPoint;
|
||||
begin
|
||||
inherited;
|
||||
Pt := SmallPointToPoint(Msg.Pos);
|
||||
if Assigned(ActivePage) and PtInRect(ActivePage.BoundsRect, Pt) then
|
||||
Msg.Result := 1;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.GetChildren(Proc: TGetChildProc;
|
||||
Root: TComponent);
|
||||
var
|
||||
I: Integer;
|
||||
Control: TControl;
|
||||
begin
|
||||
for I := 0 to FPages.Count - 1 do
|
||||
Proc(TComponent(FPages[I]));
|
||||
for I := 0 to ControlCount - 1 do
|
||||
begin
|
||||
Control := Controls[I];
|
||||
if not (Control is TJvCustomPage) and (Control.Owner = Root) then
|
||||
Proc(Control);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TJvCustomPageList.GetPageCaption(AIndex: Integer): string;
|
||||
begin
|
||||
if (AIndex >= 0) and (AIndex < GetPageCount) then
|
||||
Result := TJvCustomPage(FPages[AIndex]).Caption
|
||||
else
|
||||
Result := '';
|
||||
end;
|
||||
|
||||
function TJvCustomPageList.InternalGetPageClass: TJvCustomPageClass;
|
||||
begin
|
||||
Result := TJvCustomPage;
|
||||
end;
|
||||
|
||||
function TJvCustomPageList.GetPageCount: Integer;
|
||||
begin
|
||||
if FPages = nil then
|
||||
Result := 0
|
||||
else
|
||||
Result := FPages.Count;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.InsertPage(APage: TJvCustomPage);
|
||||
begin
|
||||
if (APage <> nil) and (FPages.IndexOf(APage) = -1) then
|
||||
FPages.Add(APage);
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.Loaded;
|
||||
begin
|
||||
inherited Loaded;
|
||||
if (GetPageCount > 0) and (ActivePage = nil) then
|
||||
ActivePage := Pages[0];
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.Paint;
|
||||
begin
|
||||
if (csDesigning in ComponentState) and (GetPageCount = 0) then
|
||||
with Canvas do
|
||||
begin
|
||||
Pen.Color := clBlack;
|
||||
Pen.Style := psDot;
|
||||
Brush.Style := bsClear;
|
||||
Rectangle(ClientRect);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.RemovePage(APage: TJvCustomPage);
|
||||
var
|
||||
I: Integer;
|
||||
WNextPage: TJvCustomPage;
|
||||
begin
|
||||
WNextPage := FindNextPage(APage, True, not (csDesigning in ComponentState));
|
||||
if WNextPage = APage then
|
||||
WNextPage := nil;
|
||||
APage.Visible := False;
|
||||
APage.FPageList := nil;
|
||||
FPages.Remove(APage);
|
||||
SetActivePage(WNextPage);
|
||||
// (ahuser) In some cases SetActivePage does not change FActivePage
|
||||
// so we force FActivePage not to be "APage"
|
||||
if (FActivePage = APage) or (FActivePage = nil) then
|
||||
begin
|
||||
FActivePage := nil;
|
||||
for I := 0 to PageCount - 1 do
|
||||
if Pages[I] <> APage then
|
||||
begin
|
||||
FActivePage := Pages[I];
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TJvCustomPageList.GetPageFromIndex(AIndex: Integer): TJvCustomPage;
|
||||
begin
|
||||
if (AIndex >= 0) and (AIndex < GetPageCount) then
|
||||
Result := TJvCustomPage(Pages[AIndex])
|
||||
else
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
function TJvCustomPageList.GetVisiblePageCount: Integer;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
Result := 0;
|
||||
for i := 0 to PageCount - 1 do
|
||||
if Pages[i].Visible then
|
||||
Inc(Result);
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.SetActivePageIndex(AIndex: Integer);
|
||||
begin
|
||||
if (AIndex > -1) and (AIndex < PageCount) then
|
||||
ActivePage := Pages[AIndex]
|
||||
else
|
||||
ActivePage := nil;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.ShowControl(AControl: TControl);
|
||||
begin
|
||||
if AControl is TJvCustomPage then
|
||||
ActivePage := TJvCustomPage(AControl);
|
||||
inherited ShowControl(AControl);
|
||||
end;
|
||||
|
||||
function TJvCustomPageList.GetPageClass: TJvCustomPageClass;
|
||||
begin
|
||||
Result := InternalGetPageClass;
|
||||
end;
|
||||
|
||||
function TJvCustomPageList.HidePage(Page: TJvCustomPage): TJvCustomPage;
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
if (Page <> nil) and (Page.PageList = Self) then
|
||||
begin
|
||||
if ActivePage = Page then
|
||||
NextPage;
|
||||
if ActivePage = Page then
|
||||
ActivePage := nil;
|
||||
I := Page.PageIndex;
|
||||
Page.PageList := nil;
|
||||
Page.PageIndex := I;
|
||||
Result := Page;
|
||||
FHiddenPages.Add(Result);
|
||||
end
|
||||
else
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
function TJvCustomPageList.ShowPage(Page: TJvCustomPage; PageIndex: Integer): TJvCustomPage;
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
if (Page <> nil) and (Page.PageList = nil) then
|
||||
begin
|
||||
I := Page.PageIndex;
|
||||
Page.PageList := Self;
|
||||
Page.Parent := Self;
|
||||
if PageIndex > -1 then
|
||||
Page.PageIndex := PageIndex
|
||||
else
|
||||
if I > -1 then
|
||||
Page.PageIndex := I;
|
||||
Result := Page;
|
||||
FHiddenPages.Remove(Result);
|
||||
end
|
||||
else
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.SetActivePage(Page: TJvCustomPage);
|
||||
var
|
||||
ParentForm: TCustomForm;
|
||||
//TODO: why?
|
||||
//{$IFDEF COMPILER9_UP}
|
||||
I: Integer;
|
||||
//{$ENDIF COMPILER9_UP}
|
||||
begin
|
||||
// Mantis 3227: Checking if the page can be changed has to be done at the
|
||||
// beginning or the page would change but not the index...
|
||||
if not (csLoading in ComponentState) and not CanChange(FPages.IndexOf(Page)) then
|
||||
Exit;
|
||||
|
||||
if GetPageCount = 0 then
|
||||
FActivePage := nil;
|
||||
if (Page = nil) or (Page.PageList <> Self) then
|
||||
Exit
|
||||
else
|
||||
begin
|
||||
ParentForm := GetParentForm(Self);
|
||||
if (ParentForm <> nil) and (FActivePage <> nil) and
|
||||
FActivePage.ContainsControl(ParentForm.ActiveControl) then
|
||||
begin
|
||||
ParentForm.ActiveControl := FActivePage;
|
||||
if ParentForm.ActiveControl <> FActivePage then
|
||||
begin
|
||||
ActivePage := GetPageFromIndex(FActivePage.PageIndex);
|
||||
Exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
//TODO: why?
|
||||
//{$IFDEF COMPILER9_UP}
|
||||
for I := 0 to GetPageCount - 1 do
|
||||
if Pages[i] <> Page then
|
||||
Pages[i].Hide;
|
||||
//{$ELSE}
|
||||
//Page.BringToFront;
|
||||
//{$ENDIF COMPILER9_UP}
|
||||
Page.Visible := True;
|
||||
if (ParentForm <> nil) and (FActivePage <> nil) and (ParentForm.ActiveControl = FActivePage) then
|
||||
begin
|
||||
if Page.CanFocus then
|
||||
ParentForm.ActiveControl := Page
|
||||
else
|
||||
ParentForm.ActiveControl := Self;
|
||||
end;
|
||||
Page.Refresh;
|
||||
|
||||
if (FActivePage <> nil) and (FActivePage <> Page) then
|
||||
FActivePage.Visible := False;
|
||||
if (FActivePage <> Page) then
|
||||
begin
|
||||
FActivePage := Page;
|
||||
if not (csLoading in ComponentState) then
|
||||
Change;
|
||||
end;
|
||||
if (ParentForm <> nil) and (FActivePage <> nil) and
|
||||
(ParentForm.ActiveControl = FActivePage) then
|
||||
begin
|
||||
FActivePage.SelectFirst;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TJvCustomPageList.GetActivePageIndex: Integer;
|
||||
begin
|
||||
if ActivePage <> nil then
|
||||
Result := ActivePage.PageIndex
|
||||
else
|
||||
Result := -1;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.NextPage;
|
||||
begin
|
||||
if (ActivePageIndex < PageCount - 1) and (PageCount > 1) then
|
||||
ActivePageIndex := ActivePageIndex + 1
|
||||
else
|
||||
if PageCount > 0 then
|
||||
ActivePageIndex := 0
|
||||
else
|
||||
ActivePageIndex := -1;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.PrevPage;
|
||||
begin
|
||||
if ActivePageIndex > 0 then
|
||||
ActivePageIndex := ActivePageIndex - 1
|
||||
else
|
||||
ActivePageIndex := PageCount - 1;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.SetPropagateEnable(const Value: Boolean);
|
||||
begin
|
||||
if FPropagateEnable <> Value then
|
||||
begin
|
||||
FPropagateEnable := Value;
|
||||
UpdateEnabled;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.EnabledChanged;
|
||||
begin
|
||||
inherited EnabledChanged;
|
||||
UpdateEnabled;
|
||||
end;
|
||||
|
||||
function TJvCustomPageList.FindNextPage(CurPage: TJvCustomPage;
|
||||
GoForward, IncludeDisabled: Boolean): TJvCustomPage;
|
||||
var
|
||||
I, StartIndex: Integer;
|
||||
begin
|
||||
if PageCount <> 0 then
|
||||
begin
|
||||
StartIndex := FPages.IndexOf(CurPage);
|
||||
if StartIndex < 0 then
|
||||
if GoForward then
|
||||
StartIndex := FPages.Count - 1
|
||||
else
|
||||
StartIndex := 0;
|
||||
I := StartIndex;
|
||||
repeat
|
||||
if GoForward then
|
||||
begin
|
||||
Inc(I);
|
||||
if I >= FPages.Count - 1 then
|
||||
I := 0;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if I <= 0 then
|
||||
I := FPages.Count - 1;
|
||||
Dec(I);
|
||||
end;
|
||||
Result := Pages[I];
|
||||
if IncludeDisabled or Result.Enabled then
|
||||
Exit;
|
||||
until I = StartIndex;
|
||||
end;
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.SetShowDesignCaption(const Value: TJvShowDesignCaption);
|
||||
begin
|
||||
if FShowDesignCaption <> Value then
|
||||
begin
|
||||
FShowDesignCaption := Value;
|
||||
//TODO:
|
||||
(*
|
||||
if HandleAllocated and (csDesigning in ComponentState) then
|
||||
RedrawWindow(Handle, nil, 0, RDW_UPDATENOW or RDW_INVALIDATE or RDW_ALLCHILDREN);
|
||||
*)
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.UpdateEnabled;
|
||||
|
||||
procedure InternalSetEnabled(AControl: TWinControl);
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
for I := 0 to AControl.ControlCount - 1 do
|
||||
begin
|
||||
AControl.Controls[I].Enabled := Self.Enabled;
|
||||
if AControl.Controls[I] is TWinControl then
|
||||
InternalSetEnabled(TWinControl(AControl.Controls[I]));
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
if PropagateEnable then
|
||||
InternalSetEnabled(Self);
|
||||
end;
|
||||
|
||||
function TJvCustomPageList.GetPage(Index: Integer): TJvCustomPage;
|
||||
begin
|
||||
if (Index >= 0) and (Index < FPages.Count) then
|
||||
Result := TJvCustomPage(FPages[Index])
|
||||
else
|
||||
Result := nil;
|
||||
end;
|
||||
procedure TJvCustomPageList.DeletePage(Index: Integer);
|
||||
begin
|
||||
if (Index >= 0) and (Index < PageCount) then
|
||||
Pages[Index].Free;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.AddPage(const ACaption: string);
|
||||
var
|
||||
Page: TJvCustomPage;
|
||||
begin
|
||||
Page := GetPageClass.Create(Owner);
|
||||
Page.Caption := ACaption;
|
||||
Page.Name := GetUniqueName(Owner, Copy(Page.ClassName, 2, MaxInt));
|
||||
Page.PageList := Self;
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.MovePage(CurIndex, NewIndex: Integer);
|
||||
begin
|
||||
FPages.Move(CurIndex, NewIndex);
|
||||
end;
|
||||
|
||||
procedure TJvCustomPageList.PageCaptionChanged(Index: Integer;
|
||||
const NewCaption: string);
|
||||
begin
|
||||
if (Index >= 0) and (Index < PageCount) then
|
||||
Pages[Index].Caption := NewCaption;
|
||||
end;
|
||||
|
||||
(**************
|
||||
//===TJvPageList =============================================================
|
||||
|
||||
function TJvPageList.InternalGetPageClass: TJvCustomPageClass;
|
||||
begin
|
||||
Result := TJvStandardPage;
|
||||
end;
|
||||
*******************)
|
||||
|
||||
end.
|
739
components/jvcllaz/run/JvTypes.pas
Normal file
739
components/jvcllaz/run/JvTypes.pas
Normal file
@ -0,0 +1,739 @@
|
||||
{-----------------------------------------------------------------------------
|
||||
The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
|
||||
the specific language governing rights and limitations under the License.
|
||||
|
||||
The Original Code is: JvTypes.PAS, released on 2001-02-28.
|
||||
|
||||
The Initial Developer of the Original Code is S�bastien Buysse [sbuysse att buypin dott com]
|
||||
Portions created by S�bastien Buysse are Copyright (C) 2001 S�bastien Buysse.
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s): Michael Beck [mbeck att bigfoot dott com].
|
||||
Peter Thornqvist
|
||||
Oliver Giesen
|
||||
Gustavo Bianconi
|
||||
dejoy
|
||||
|
||||
You may retrieve the latest version of this file at the Project JEDI's JVCL home page,
|
||||
located at http://jvcl.sourceforge.net
|
||||
|
||||
Known Issues:
|
||||
-----------------------------------------------------------------------------}
|
||||
// $Id: JvTypes.pas 11400 2007-06-28 21:24:06Z ahuser $
|
||||
|
||||
// Initial port to Lazarus by Sergio Samayoa - september 2007.
|
||||
// Conversion is done in incremental way: as types / classes / routines
|
||||
// are needed they are converted.
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
unit JvTypes;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Controls, Forms, Graphics, LMessages, SysUtils;
|
||||
|
||||
const
|
||||
MaxPixelCount = 32767;
|
||||
|
||||
(********************
|
||||
type
|
||||
TJvBytes = Pointer;
|
||||
IntPtr = Pointer;
|
||||
********************)
|
||||
|
||||
type
|
||||
PCaptionChar = PChar;
|
||||
|
||||
// used in JvSpeedButton, JvArrowButton, JvButton CM_JVBUTTONPRESSED
|
||||
// asn: can also be used with CM_BUTTONPRESSED
|
||||
TCMButtonPressed = packed record
|
||||
Msg: Cardinal;
|
||||
Index: Integer; { clx has Index and Control switched }
|
||||
Control: TControl;
|
||||
Result: Longint;
|
||||
end;
|
||||
|
||||
(********************
|
||||
THintString = string;
|
||||
THintStringList = TStringList;
|
||||
|
||||
{ JvExVCL classes }
|
||||
TInputKey = (ikAll, ikArrows, ikChars, ikButton, ikTabs, ikEdit, ikNative{, ikNav, ikEsc});
|
||||
TInputKeys = set of TInputKey;
|
||||
|
||||
{$IFDEF CLR}
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
{$ENDIF CLR}
|
||||
TJvRGBTriple = packed record
|
||||
rgbBlue: Byte;
|
||||
rgbGreen: Byte;
|
||||
rgbRed: Byte;
|
||||
end;
|
||||
|
||||
const
|
||||
NullHandle = 0;
|
||||
// (rom) deleted fbs constants. They are already in JvConsts.pas.
|
||||
|
||||
|
||||
type
|
||||
TTimerProc = procedure(hwnd: THandle; Msg: Cardinal; idEvent: Cardinal; dwTime: Cardinal);
|
||||
|
||||
type
|
||||
{$IFDEF COMPILER5}
|
||||
EOSError = class(EWin32Error);
|
||||
IInterface = IUnknown;
|
||||
{$M+}
|
||||
IInvokable = interface(IInterface)
|
||||
end;
|
||||
{$M-}
|
||||
{$ENDIF COMPILER5}
|
||||
{$IFDEF CLR}
|
||||
IUnknown = IInterface;
|
||||
{$ENDIF CLR}
|
||||
|
||||
// Base class for persistent properties that can show events.
|
||||
// By default, Delphi and BCB don't show the events of a class
|
||||
// derived from TPersistent unless it also derives from
|
||||
// TComponent. However, up until version 5, you couldn't have
|
||||
// a Component as a Sub Component of another one, thus preventing
|
||||
// from having events for a sub property.
|
||||
// The design time editor associated with TJvPersistent will display
|
||||
// the events, thus mimicking a Sub Component.
|
||||
{$IFDEF COMPILER6_UP}
|
||||
TJvPersistent = class(TComponent)
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
end;
|
||||
{$ELSE}
|
||||
TJvPersistent = class(TPersistent);
|
||||
{$ENDIF COMPILER6_UP}
|
||||
|
||||
// Added by dejoy (2005-04-20)
|
||||
// A lot of TJVxxx control persistent properties used TPersistent,
|
||||
// So and a TJvPersistentProperty to do this job. make to support batch-update mode
|
||||
// and property change notify.
|
||||
TJvPropertyChangeEvent = procedure(Sender: TObject; const PropName: string) of object;
|
||||
|
||||
TJvPersistentProperty = class(TPersistent)//?? TJvPersistent
|
||||
private
|
||||
FUpdateCount: Integer;
|
||||
FOnChanging: TNotifyEvent;
|
||||
FOnChange: TNotifyEvent;
|
||||
FOnChangingProperty: TJvPropertyChangeEvent;
|
||||
FOnChangeProperty: TJvPropertyChangeEvent;
|
||||
protected
|
||||
procedure Changed; virtual;
|
||||
procedure Changing; virtual;
|
||||
procedure ChangedProperty(const PropName: string); virtual;
|
||||
procedure ChangingProperty(const PropName: string); virtual;
|
||||
procedure SetUpdateState(Updating: Boolean); virtual;
|
||||
property UpdateCount: Integer read FUpdateCount;
|
||||
public
|
||||
procedure BeginUpdate; virtual;
|
||||
procedure EndUpdate; virtual;
|
||||
property OnChange: TNotifyEvent read FOnChange write FOnChange;
|
||||
property OnChanging: TNotifyEvent read FOnChanging write FOnChanging;
|
||||
property OnChangeProperty: TJvPropertyChangeEvent read FOnChangeProperty write FOnChangeProperty;
|
||||
property OnChangingProperty: TJvPropertyChangeEvent read FOnChangingProperty write FOnChangingProperty;
|
||||
end;
|
||||
|
||||
TJvRegKey = (hkClassesRoot, hkCurrentUser, hkLocalMachine, hkUsers,
|
||||
hkPerformanceData, hkCurrentConfig, hkDynData);
|
||||
TJvRegKeys = set of TJvRegKey;
|
||||
|
||||
// base JVCL Exception class to derive from
|
||||
EJVCLException = class(Exception);
|
||||
|
||||
TJvLinkClickEvent = procedure(Sender: TObject; Link: string) of object;
|
||||
// TOnRegistryChangeKey = procedure(Sender: TObject; RootKey: HKEY; Path: string) of object;
|
||||
// TAngle = 0..360;
|
||||
TJvOutputMode = (omFile, omStream);
|
||||
// TLabelDirection = (sdLeftToRight, sdRightToLeft); // JvScrollingLabel
|
||||
|
||||
TJvDoneFileEvent = procedure(Sender: TObject; FileName: string; FileSize: Integer; Url: string) of object;
|
||||
TJvDoneStreamEvent = procedure(Sender: TObject; Stream: TStream; StreamSize: Integer; Url: string) of object;
|
||||
TJvHTTPProgressEvent = procedure(Sender: TObject; UserData, Position: Integer; TotalSize: Integer; Url: string; var Continue: Boolean) of object;
|
||||
TJvFTPProgressEvent = procedure(Sender: TObject; Position: Integer; Url: string) of object;
|
||||
|
||||
// from JvComponent.pas
|
||||
TJvClipboardCommand = (caCopy, caCut, caPaste, caClear, caUndo);
|
||||
TJvClipboardCommands = set of TJvClipboardCommand;
|
||||
********************)
|
||||
|
||||
// used in JvButton
|
||||
TCMForceSize = record
|
||||
Msg: Cardinal;
|
||||
NewSize: TSmallPoint;
|
||||
Sender: TControl;
|
||||
Result: Longint;
|
||||
end;
|
||||
|
||||
(********************
|
||||
PJvRGBArray = ^TJvRGBArray;
|
||||
TJvRGBArray = array [0..MaxPixelCount] of TJvRGBTriple;
|
||||
PRGBQuadArray = ^TRGBQuadArray;
|
||||
TRGBQuadArray = array [0..MaxPixelCount] of TRGBQuad;
|
||||
PRGBPalette = ^TRGBPalette;
|
||||
TRGBPalette = array [Byte] of TRGBQuad;
|
||||
|
||||
{ (rom) unused
|
||||
TJvPoint = class(TPersistent)
|
||||
protected
|
||||
FX: Integer;
|
||||
FY: Integer;
|
||||
published
|
||||
property X: Integer read FX write FX;
|
||||
property Y: Integer read FY write FY;
|
||||
end;
|
||||
}
|
||||
|
||||
TJvErrorEvent = procedure(Sender: TObject; ErrorMsg: string) of object;
|
||||
TJvWaveLocation = (frFile, frResource, frRAM);
|
||||
|
||||
TJvPopupPosition = (ppNone, ppForm, ppApplication);
|
||||
// TJvDirMask = (dmFileNameChange, dmDirnameChange, dmAttributesChange, dmSizeChange, dmLastWriteChange, dmSecurityChange); //JvDirectorySpy
|
||||
// TJvDirMasks = set of TJvDirMask;
|
||||
// EJvDirectoryError = class(EJVCLException); // JvDirectorySpy
|
||||
// TListEvent = procedure(Sender: TObject; Title: string; Handle: THandle) of object; // JvWindowsTitle
|
||||
|
||||
TJvProgressEvent = procedure(Sender: TObject; Current, Total: Integer) of object;
|
||||
TJvNextPageEvent = procedure(Sender: TObject; PageNumber: Integer) of object;
|
||||
TJvBitmapStyle = (bsNormal, bsCentered, bsStretched);
|
||||
|
||||
// TOnOpened = procedure(Sender: TObject; Value: string) of object; // archive
|
||||
// TOnOpenCanceled = procedure(Sender: TObject) of object; // archive
|
||||
|
||||
{$IFDEF COMPILER5}
|
||||
|
||||
{ TStream seek origins }
|
||||
// TSeekOrigin = (soFromBeginning, soFromCurrent, soFromEnd);
|
||||
// (outchy)
|
||||
// TStream.Seek can not be used with TSeekOrigin
|
||||
// soFromBeginning, soFromCurrent and soFromEnd are defined in Classes.pas
|
||||
|
||||
TWMNCPaint = packed record
|
||||
Msg: Cardinal;
|
||||
RGN: HRGN;
|
||||
Unused: Longint;
|
||||
Result: Longint;
|
||||
end;
|
||||
|
||||
// (outchy) defined in Windows.pas
|
||||
// PInteger = ^Integer;
|
||||
// PDouble = ^Double;
|
||||
PBoolean = ^Boolean;
|
||||
PWordBool = ^WordBool;
|
||||
PCardinal = ^Cardinal;
|
||||
// PByte = ^Byte;
|
||||
|
||||
TVarType = Word;
|
||||
|
||||
{$ENDIF COMPILER5}
|
||||
|
||||
TJvGradientStyle = (grFilled, grEllipse, grHorizontal, grVertical, grPyramid, grMount);
|
||||
// TOnDelete = procedure(Sender: TObject; Path: string) of object;
|
||||
TJvParentEvent = procedure(Sender: TObject; ParentWindow: THandle) of object;
|
||||
// TOnImage = procedure(Sender: TObject; Image: TBitmap) of object; // JvClipboardViewer
|
||||
// TOnText = procedure(Sender: TObject; Text: string) of object;
|
||||
// TJvRestart = (rsLogoff, rsShutdown, rsReboot, rsRestart, rsRebootSystem, rsExitAndExecApp);
|
||||
// TJvRunOption = (roNoBrowse, roNoDefault, roCalcDirectory, roNoLabel, roNoSeparateMem); // JvRunDlg
|
||||
// TJvRunOptions = set of TJvRunOption; // JvRunDlg
|
||||
// TJvFileKind = (ftFile, ftPrinter); // JvObjectPropertiesDlg
|
||||
|
||||
// TSHFormatDrive = function(Handle: THandle; Drive, ID, Options: Word): LongInt; stdcall; // JvFormatDrive
|
||||
// TFormatOption = (shQuickFormat, shFull, shSystemFilesOnly); // JvFormatDrive
|
||||
// TButtonStyle = (bsAbortRetryIgnore, bsOk, bsOkCancel, bsRetryCancel, bsYesNo, bsYesNoCancel); // JvMessageBox
|
||||
// TButtonDisplay = (bdIconExclamation, bdIconWarning, bdIconInformation, bdIconAsterisk, bdIconQuestion, bdIconStop, bdIconError, bdIconHand); // JvMessageBox
|
||||
|
||||
// TDefault = (dbButton1, dbButton2, dbButton3, dbButton4); // JvMessageBox
|
||||
// TModality = (bmApplModal, bmSystemModal, bmTaskModal); // JvMessageBox
|
||||
// TButtonOption = (boDefaultDesktopOnly, boHelp, boRight, boRtlReading, boSetForeground, boTopMost); // JvMessageBox
|
||||
// TButtonOptions = set of TButtonOption; // JvMessageBox
|
||||
// TButtonResult = (brAbort, brCancel, brIgnore, brNo, brOk, brRetry, brYes); // JvMessageBox
|
||||
// TMsgStyle = (msBeep, msIconAsterisk, msIconExclamation, msIconHand, msIconQuestion, msOk); // JvMessageBeep
|
||||
TJvDiskRes = (dsSuccess, dsCancel, dsSkipfile, dsError);
|
||||
TJvDiskStyle = (idfCheckFirst, idfNoBeep, idfNoBrowse, idfNoCompressed, idfNoDetails,
|
||||
idfNoForeground, idfNoSkip, idfOemDisk, idfWarnIfSkip);
|
||||
TJvDiskStyles = set of TJvDiskStyle;
|
||||
TJvDeleteStyle = (idNoBeep, idNoForeground);
|
||||
TJvDeleteStyles = set of TJvDeleteStyle;
|
||||
// TOnOk = procedure(Sender: TObject; Password: string; var Accept: Boolean) of object; // JvPasswordForm
|
||||
|
||||
// TCoordChanged = procedure(Sender: TObject; Coord: string) of object;
|
||||
TJvNotifyParamsEvent = procedure(Sender: TObject; Params: Pointer) of object;
|
||||
|
||||
TJvFileInfoRec = record
|
||||
Attributes: DWORD;
|
||||
DisplayName: string;
|
||||
ExeType: Integer;
|
||||
Icon: HICON;
|
||||
Location: string;
|
||||
TypeName: string;
|
||||
SysIconIndex: Integer;
|
||||
end;
|
||||
|
||||
TJvAnimation = (anLeftRight, anRightLeft, anRightAndLeft, anLeftVumeter, anRightVumeter);
|
||||
TJvAnimations = set of TJvAnimation;
|
||||
// TOnFound = procedure(Sender: TObject; Path: string) of object; // JvSearchFile
|
||||
// TOnChangedDir = procedure(Sender: TObject; Directory: string) of object; // JvSearchFile
|
||||
// TOnAlarm = procedure(Sender: TObject; Keyword: string) of object; // JvAlarm
|
||||
{ TAlarm = record
|
||||
Keyword: string;
|
||||
DateTime: TDateTime;
|
||||
end;
|
||||
} // JvAlarm
|
||||
|
||||
// Bianconi - Moved from JvAlarms.pas
|
||||
TJvTriggerKind =
|
||||
(tkOneShot, tkEachSecond, tkEachMinute, tkEachHour, tkEachDay, tkEachMonth, tkEachYear);
|
||||
// End of Bianconi
|
||||
|
||||
TJvFourCC = array [0..3] of Char;
|
||||
PJvAniTag = ^TJvAniTag;
|
||||
TJvAniTag = packed record
|
||||
ckID: TJvFourCC;
|
||||
ckSize: Longint;
|
||||
end;
|
||||
|
||||
TJvAniHeader = packed record
|
||||
dwSizeof: Longint;
|
||||
dwFrames: Longint;
|
||||
dwSteps: Longint;
|
||||
dwCX: Longint;
|
||||
dwCY: Longint;
|
||||
dwBitCount: Longint;
|
||||
dwPlanes: Longint;
|
||||
dwJIFRate: Longint;
|
||||
dwFlags: Longint;
|
||||
end;
|
||||
|
||||
TJvChangeColorEvent = procedure(Sender: TObject; Foreground, Background: TColor) of object;
|
||||
|
||||
TJvLayout = (lTop, lCenter, lBottom);
|
||||
TJvBevelStyle = (bsShape, bsLowered, bsRaised);
|
||||
|
||||
{for OnLoseFocus the AFocusControl argument will point at the control that
|
||||
receives focus while for OnGetFocus it is the control that lost the focus}
|
||||
TJvFocusChangeEvent = procedure(const ASender: TObject;
|
||||
const AFocusControl: TWinControl) of object;
|
||||
|
||||
// JvJCLUtils
|
||||
TTickCount = Cardinal;
|
||||
|
||||
{**** string handling routines}
|
||||
TSetOfChar = TSysCharSet;
|
||||
TCharSet = TSysCharSet;
|
||||
|
||||
TDateOrder = (doMDY, doDMY, doYMD);
|
||||
TDayOfWeekName = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);
|
||||
TDaysOfWeek = set of TDayOfWeekName;
|
||||
|
||||
const
|
||||
DefaultDateOrder = doDMY;
|
||||
|
||||
CenturyOffset: Byte = 60;
|
||||
NullDate: TDateTime = 0; {-693594}
|
||||
|
||||
type
|
||||
// JvDriveCtrls / JvLookOut
|
||||
TJvImageSize = (isSmall, isLarge);
|
||||
TJvImageAlign = (iaLeft, iaCentered);
|
||||
|
||||
TJvDriveType = (dtUnknown, dtRemovable, dtFixed, dtRemote, dtCDROM, dtRamDisk);
|
||||
TJvDriveTypes = set of TJvDriveType;
|
||||
********************)
|
||||
|
||||
type
|
||||
// Defines how a property (like a HotTrackFont) follows changes in the component's normal Font
|
||||
TJvTrackFontOption = (
|
||||
hoFollowFont, // makes HotTrackFont follow changes to the normal Font
|
||||
hoPreserveCharSet, // don't change HotTrackFont.Charset
|
||||
hoPreserveColor, // don't change HotTrackFont.Color
|
||||
hoPreserveHeight, // don't change HotTrackFont.Height (affects Size as well)
|
||||
hoPreserveName, // don't change HotTrackFont.Name
|
||||
hoPreservePitch, // don't change HotTrackFont.Pitch
|
||||
hoPreserveStyle); // don't change HotTrackFont.Style
|
||||
TJvTrackFontOptions = set of TJvTrackFontOption;
|
||||
|
||||
const
|
||||
DefaultTrackFontOptions = [hoFollowFont, hoPreserveColor, hoPreserveStyle];
|
||||
|
||||
(********************
|
||||
type
|
||||
// from JvListView.pas
|
||||
TJvSortMethod = (smAutomatic, smAlphabetic, smNonCaseSensitive, smNumeric, smDate, smTime, smDateTime, smCurrency);
|
||||
TJvListViewColumnSortEvent = procedure(Sender: TObject; Column: Integer; var AMethod: TJvSortMethod) of object;
|
||||
|
||||
// from JvOfficeColorPanel.pas
|
||||
TJvAddInControlSiteInfo = record
|
||||
AddInControl: TControl;
|
||||
BoundsRect: TRect;
|
||||
SiteInfoData: TObject;
|
||||
end;
|
||||
|
||||
TJvClickColorType =
|
||||
(cctColors, cctNoneColor, cctDefaultColor, cctCustomColor, cctAddInControl, cctNone);
|
||||
TJvHoldCustomColorEvent = procedure(Sender: TObject; AColor: TColor) of object;
|
||||
TJvColorQuadLayOut = (cqlNone, cqlLeft, cqlRight, cqlClient);
|
||||
TJvGetAddInControlSiteInfoEvent = procedure(Sender: TControl; var ASiteInfo: TJvAddInControlSiteInfo) of object;
|
||||
|
||||
// from JvColorProvider.pas
|
||||
TColorType = (ctStandard, ctSystem, ctCustom);
|
||||
|
||||
TDefColorItem = record
|
||||
Value: TColor;
|
||||
Constant: string;
|
||||
Description: string;
|
||||
end;
|
||||
|
||||
const
|
||||
ColCount = 20;
|
||||
StandardColCount = 40;
|
||||
SysColCount = 30;
|
||||
{$IFDEF COMPILER5}
|
||||
clSystemColor = TColor($80000000);
|
||||
clHotLight = TColor(clSystemColor or COLOR_HOTLIGHT);
|
||||
clGradientActiveCaption = TColor(clSystemColor or COLOR_GRADIENTACTIVECAPTION);
|
||||
clGradientInactiveCaption = TColor(clSystemColor or COLOR_GRADIENTINACTIVECAPTION);
|
||||
clMenuHighlight = TColor(clSystemColor or COLOR_MENUHILIGHT);
|
||||
clMenuBar = TColor(clSystemColor or COLOR_MENUBAR);
|
||||
{$ENDIF COMPILER5}
|
||||
{$IFDEF COMPILER6}
|
||||
{$IF not declared(clHotLight)}
|
||||
{$MESSAGE ERROR 'You do not have installed Delphi 6 Update 2. Please install this before installing the JVCL. http://www.borland.com/downloads/registered/del6_reg_updates_prompt.html'}
|
||||
{$IFEND}
|
||||
{$ENDIF COMPILER6}
|
||||
|
||||
ColorValues: array [0 .. ColCount - 1] of TDefColorItem = (
|
||||
(Value: clBlack; Constant: 'clBlack'; Description: RsClBlack),
|
||||
(Value: clMaroon; Constant: 'clMaroon'; Description: RsClMaroon),
|
||||
(Value: clGreen; Constant: 'clGreen'; Description: RsClGreen),
|
||||
(Value: clOlive; Constant: 'clOlive'; Description: RsClOlive),
|
||||
(Value: clNavy; Constant: 'clNavy'; Description: RsClNavy),
|
||||
(Value: clPurple; Constant: 'clPurple'; Description: RsClPurple),
|
||||
(Value: clTeal; Constant: 'clTeal'; Description: RsClTeal),
|
||||
(Value: clGray; Constant: 'clGray'; Description: RsClGray),
|
||||
(Value: clSilver; Constant: 'clSilver'; Description: RsClSilver),
|
||||
(Value: clRed; Constant: 'clRed'; Description: RsClRed),
|
||||
(Value: clLime; Constant: 'clLime'; Description: RsClLime),
|
||||
(Value: clYellow; Constant: 'clYellow'; Description: RsClYellow),
|
||||
(Value: clBlue; Constant: 'clBlue'; Description: RsClBlue),
|
||||
(Value: clFuchsia; Constant: 'clFuchsia'; Description: RsClFuchsia),
|
||||
(Value: clAqua; Constant: 'clAqua'; Description: RsClAqua),
|
||||
(Value: clWhite; Constant: 'clWhite'; Description: RsClWhite),
|
||||
(Value: clMoneyGreen; Constant: 'clMoneyGreen'; Description: RsClMoneyGreen),
|
||||
(Value: clSkyBlue; Constant: 'clSkyBlue'; Description: RsClSkyBlue),
|
||||
(Value: clCream; Constant: 'clCream'; Description: RsClCream),
|
||||
(Value: clMedGray; Constant: 'clMedGray'; Description: RsClMedGray)
|
||||
);
|
||||
|
||||
//added by dejoy (2005-04-20)
|
||||
StandardColorValues: array [0 .. StandardColCount - 1] of TDefColorItem = (
|
||||
(Value: $00000000; Constant: 'clBlack'; Description: RsClBlack),
|
||||
(Value: $00003399; Constant: 'clBrown'; Description: RsClBrown),
|
||||
(Value: $00003333; Constant: 'clOliveGreen'; Description: RsClOliveGreen),
|
||||
(Value: $00003300; Constant: 'clDarkGreen'; Description: RsClDarkGreen),
|
||||
(Value: $00663300; Constant: 'clDarkTeal'; Description: RsClDarkTeal),
|
||||
(Value: $00800000; Constant: 'clDarkBlue'; Description: RsClDarkBlue),
|
||||
(Value: $00993333; Constant: 'clIndigo'; Description: RsClIndigo),
|
||||
(Value: $00333333; Constant: 'clGray80'; Description: RsClGray80),
|
||||
|
||||
(Value: $00000080; Constant: 'clDarkRed'; Description: RsClDarkRed),
|
||||
(Value: $000066FF; Constant: 'clOrange'; Description: RsClOrange),
|
||||
(Value: $00008080; Constant: 'clDarkYellow'; Description: RsClDarkYellow),
|
||||
(Value: $00008000; Constant: 'clGreen'; Description: RsClGreen),
|
||||
(Value: $00808000; Constant: 'clTeal'; Description: RsClTeal),
|
||||
(Value: $00FF0000; Constant: 'clBlue'; Description: RsClBlue),
|
||||
(Value: $00996666; Constant: 'clBlueGray'; Description: RsClBlueGray),
|
||||
(Value: $00808080; Constant: 'clGray50'; Description: RsClGray50),
|
||||
|
||||
(Value: $000000FF; Constant: 'clRed'; Description: RsClRed),
|
||||
(Value: $000099FF; Constant: 'clLightOrange'; Description: RsClLightOrange),
|
||||
(Value: $0000CC99; Constant: 'clLime'; Description: RsClLime),
|
||||
(Value: $00669933; Constant: 'clSeaGreen'; Description: RsClSeaGreen),
|
||||
(Value: $00999933; Constant: 'clAqua'; Description: RsClAqua),
|
||||
(Value: $00FF6633; Constant: 'clLightBlue'; Description: RsClLightBlue),
|
||||
(Value: $00800080; Constant: 'clViolet'; Description: RsClViolet),
|
||||
(Value: $00999999; Constant: 'clGray40'; Description: RsClGray40),
|
||||
|
||||
(Value: $00FF00FF; Constant: 'clPink'; Description: RsClPink),
|
||||
(Value: $0000CCFF; Constant: 'clGold'; Description: RsClGold),
|
||||
(Value: $0000FFFF; Constant: 'clYellow'; Description: RsClYellow),
|
||||
(Value: $0000FF00; Constant: 'clBrightGreen'; Description: RsClBrightGreen),
|
||||
(Value: $00FFFF00; Constant: 'clTurquoise'; Description: RsClTurquoise),
|
||||
(Value: $00F0CAA6; Constant: 'clSkyBlue'; Description: RsClSkyBlue),
|
||||
(Value: $00663399; Constant: 'clPlum'; Description: RsClPlum),
|
||||
(Value: $00C0C0C0; Constant: 'clGray25'; Description: RsClGray25),
|
||||
|
||||
(Value: $00CC99FF; Constant: 'clRose'; Description: RsClRose),
|
||||
(Value: $0099CCFF; Constant: 'clTan'; Description: RsClTan),
|
||||
(Value: $0099FFFF; Constant: 'clLightYellow'; Description: RsClLightYellow),
|
||||
(Value: $00CCFFCC; Constant: 'clLightGreen'; Description: RsClLightGreen),
|
||||
(Value: $00FFFFCC; Constant: 'clLightTurquoise'; Description: RsClLightTurquoise),
|
||||
(Value: $00FFCC99; Constant: 'clPaleBlue'; Description: RsClPaleBlue),
|
||||
(Value: $00FF99CC; Constant: 'clLavender'; Description: RsClLavender),
|
||||
(Value: $00FFFFFF; Constant: 'clWhite'; Description: RsClWhite)
|
||||
);
|
||||
|
||||
SysColorValues: array [0 .. SysColCount - 1] of TDefColorItem = (
|
||||
(Value: clScrollBar; Constant: 'clScrollBar'; Description: RsClScrollBar),
|
||||
(Value: clBackground; Constant: 'clBackground'; Description: RsClBackground),
|
||||
(Value: clActiveCaption; Constant: 'clActiveCaption'; Description: RsClActiveCaption),
|
||||
(Value: clInactiveCaption; Constant: 'clInactiveCaption'; Description: RsClInactiveCaption),
|
||||
(Value: clMenu; Constant: 'clMenu'; Description: RsClMenu),
|
||||
(Value: clWindow; Constant: 'clWindow'; Description: RsClWindow),
|
||||
(Value: clWindowFrame; Constant: 'clWindowFrame'; Description: RsClWindowFrame),
|
||||
(Value: clMenuText; Constant: 'clMenuText'; Description: RsClMenuText),
|
||||
(Value: clWindowText; Constant: 'clWindowText'; Description: RsClWindowText),
|
||||
(Value: clCaptionText; Constant: 'clCaptionText'; Description: RsClCaptionText),
|
||||
(Value: clActiveBorder; Constant: 'clActiveBorder'; Description: RsClActiveBorder),
|
||||
(Value: clInactiveBorder; Constant: 'clInactiveBorder'; Description: RsClInactiveBorder),
|
||||
(Value: clAppWorkSpace; Constant: 'clAppWorkSpace'; Description: RsClAppWorkSpace),
|
||||
(Value: clHighlight; Constant: 'clHighlight'; Description: RsClHighlight),
|
||||
(Value: clHighlightText; Constant: 'clHighlightText'; Description: RsClHighlightText),
|
||||
(Value: clBtnFace; Constant: 'clBtnFace'; Description: RsClBtnFace),
|
||||
(Value: clBtnShadow; Constant: 'clBtnShadow'; Description: RsClBtnShadow),
|
||||
(Value: clGrayText; Constant: 'clGrayText'; Description: RsClGrayText),
|
||||
(Value: clBtnText; Constant: 'clBtnText'; Description: RsClBtnText),
|
||||
(Value: clInactiveCaptionText; Constant: 'clInactiveCaptionText'; Description: RsClInactiveCaptionText),
|
||||
(Value: clBtnHighlight; Constant: 'clBtnHighlight'; Description: RsClBtnHighlight),
|
||||
(Value: cl3DDkShadow; Constant: 'cl3DDkShadow'; Description: RsCl3DDkShadow),
|
||||
(Value: cl3DLight; Constant: 'cl3DLight'; Description: RsCl3DLight),
|
||||
(Value: clInfoText; Constant: 'clInfoText'; Description: RsClInfoText),
|
||||
(Value: clInfoBk; Constant: 'clInfoBk'; Description: RsClInfoBk),
|
||||
|
||||
(Value: clGradientActiveCaption; Constant: 'clGradientActiveCaption'; Description: RsGradientActiveCaption),
|
||||
(Value: clGradientInactiveCaption; Constant: 'clGradientInactiveCaption';Description: RsGradientInactiveCaption),
|
||||
(Value: clHotLight; Constant: 'clHotLight'; Description: RsHotLight),
|
||||
(Value: clMenuBar; Constant: 'clMenuBar'; Description: RsMenuBar),
|
||||
(Value: clMenuHighlight; Constant: 'clMenuHighlight'; Description: RsMenuHighlight)
|
||||
);
|
||||
|
||||
|
||||
type
|
||||
TJvSizeRect = packed record
|
||||
Top: Integer;
|
||||
Left: Integer;
|
||||
Width: Integer;
|
||||
Height: Integer;
|
||||
end;
|
||||
|
||||
{$IFNDEF CLR}
|
||||
TJvMessage = packed record
|
||||
Msg: Integer;
|
||||
case Integer of
|
||||
0:
|
||||
(
|
||||
WParam: Integer;
|
||||
LParam: Integer;
|
||||
Result: Integer;
|
||||
);
|
||||
1:
|
||||
(
|
||||
WParamLo: Word;
|
||||
WParamHi: Word;
|
||||
LParamLo: Word;
|
||||
LParamHi: Word;
|
||||
ResultLo: Word;
|
||||
ResultHi: Word;
|
||||
);
|
||||
2:
|
||||
( // WM_NOPARAMS
|
||||
Unused: array[0..3] of Word;
|
||||
Handled: LongBool; // "Result"
|
||||
);
|
||||
3:
|
||||
( // WM_SCROLL
|
||||
Pos: Integer; // WParam
|
||||
ScrollCode: Integer; // LParam
|
||||
);
|
||||
4:
|
||||
( // WM_TIMER
|
||||
TimerID: Integer; // WParam
|
||||
TimerProc: TTimerProc;// LParam
|
||||
);
|
||||
5:
|
||||
( // WM_MOUSEACTIVATE
|
||||
TopLevel: HWND; // WParam
|
||||
HitTestCode: Word; // LParamLo
|
||||
MouseMsg: Word; // LParamHi
|
||||
);
|
||||
6:
|
||||
( // WM_MOUSE(WHEEL) | WM_MOVE
|
||||
case Integer of
|
||||
0:
|
||||
( // WM_MOUSE
|
||||
Keys: Integer; // WParam
|
||||
// LParam: Pos | (XPos, YPos)
|
||||
case Integer of
|
||||
0:
|
||||
(
|
||||
Position: TSmallPoint;
|
||||
);
|
||||
1:
|
||||
(
|
||||
XPos: Smallint;
|
||||
YPos: Smallint;
|
||||
)
|
||||
);
|
||||
1:
|
||||
( // WM_MOUSEWHEEL
|
||||
WheelDelta: Integer; // WParam
|
||||
);
|
||||
);
|
||||
7:
|
||||
( // WM_ACTIVATE
|
||||
Active: Word; { WA_INACTIVE, WA_ACTIVE, WA_CLICKACTIVE } // WParamLo
|
||||
Minimized: WordBool; // WParamHi
|
||||
ActiveWindow: HWND; // LParam
|
||||
);
|
||||
|
||||
8:
|
||||
( // WM_COMMAND
|
||||
ItemID: Word; // WParamLo
|
||||
NotifyCode: Word; // WParamHi
|
||||
Ctl: HWND; // LParam
|
||||
);
|
||||
9:
|
||||
( // WM_GETICON
|
||||
BigIcon: LongBool;
|
||||
);
|
||||
10:
|
||||
( // CM_(FOCUS|CONTROL)CHANGED | CM_HINTSHOW
|
||||
Reserved: Integer; // WParam
|
||||
case Integer of
|
||||
0:
|
||||
( // CM_(CONTROL)CHANGED
|
||||
Child: TControl; // LParam
|
||||
);
|
||||
1:
|
||||
( // CM_FOCUSCHANGED | CM_FORCESIZE }
|
||||
Sender: TControl; // LParam
|
||||
);
|
||||
2:
|
||||
( //CM_HINTSHOW
|
||||
HintInfo: PHintInfo;
|
||||
)
|
||||
);
|
||||
11:
|
||||
( // CM_CONTROLLISTCHANGE | CM_(CONTROL)CHANGED (| CM_BUTTONPRESSED for clx)
|
||||
Control: TControl; // WParam
|
||||
case Integer of
|
||||
0:
|
||||
( // CM_(CONTROL)CHANGED
|
||||
Inserting: LongBool; // LParam
|
||||
);
|
||||
1: // CM_BUTTONPRESSED (clx)
|
||||
(
|
||||
Index: Integer;
|
||||
)
|
||||
);
|
||||
12:
|
||||
( // CM_HINTSHOWPAUSE
|
||||
WasActive: LongBool;
|
||||
Pause: PInteger;
|
||||
);
|
||||
13:
|
||||
( // WM_KEY
|
||||
CharCode: Word;
|
||||
NotUsed: Word;
|
||||
KeyData: Integer;
|
||||
);
|
||||
14:
|
||||
( // WM_GETTEXT
|
||||
TextMax: Integer;
|
||||
Text: PChar
|
||||
);
|
||||
15:
|
||||
( // WM_ERASEBKGND | WM_PAINT
|
||||
DC: HDC;
|
||||
);
|
||||
16:
|
||||
( // WM_KILLFOCUS
|
||||
FocusedWnd: HWND;
|
||||
);
|
||||
17:
|
||||
(
|
||||
NewSize: TSmallPoint; //CM_FORCESIZE wParam
|
||||
);
|
||||
18:
|
||||
( { alternative naming for VCL CM_BUTTONPRESSED }
|
||||
GroupIndex: Integer;
|
||||
Button: TControl;
|
||||
);
|
||||
end;
|
||||
{$ENDIF !CLR}
|
||||
***************)
|
||||
|
||||
implementation
|
||||
|
||||
(***************
|
||||
{$IFDEF COMPILER6_UP}
|
||||
constructor TJvPersistent.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
|
||||
SetSubComponent(True);
|
||||
Name := 'SubComponent';
|
||||
end;
|
||||
{$ENDIF COMPILER6_UP}
|
||||
|
||||
{ TJvPersistentProperty }
|
||||
|
||||
procedure TJvPersistentProperty.BeginUpdate;
|
||||
begin
|
||||
if FUpdateCount = 0 then
|
||||
SetUpdateState(True);
|
||||
Inc(FUpdateCount);
|
||||
end;
|
||||
|
||||
procedure TJvPersistentProperty.Changed;
|
||||
begin
|
||||
if (FUpdateCount = 0) and Assigned(FOnChange) then
|
||||
FOnChange(Self);
|
||||
end;
|
||||
|
||||
procedure TJvPersistentProperty.ChangedProperty(const PropName: string);
|
||||
begin
|
||||
if Assigned(FOnChangeProperty) then
|
||||
FOnChangeProperty(Self, PropName);
|
||||
end;
|
||||
|
||||
procedure TJvPersistentProperty.Changing;
|
||||
begin
|
||||
if (FUpdateCount = 0) and Assigned(FOnChanging) then
|
||||
FOnChanging(Self);
|
||||
end;
|
||||
|
||||
procedure TJvPersistentProperty.ChangingProperty(const PropName: string);
|
||||
begin
|
||||
if Assigned(FOnChangingProperty) then
|
||||
FOnChangingProperty(Self, PropName);
|
||||
end;
|
||||
|
||||
procedure TJvPersistentProperty.EndUpdate;
|
||||
begin
|
||||
Dec(FUpdateCount);
|
||||
if FUpdateCount = 0 then
|
||||
SetUpdateState(False);
|
||||
end;
|
||||
|
||||
procedure TJvPersistentProperty.SetUpdateState(Updating: Boolean);
|
||||
begin
|
||||
if Updating then
|
||||
Changing
|
||||
else
|
||||
Changed;
|
||||
end;
|
||||
***************)
|
||||
|
||||
end.
|
||||
|
2336
components/jvcllaz/run/JvXPBar.pas
Normal file
2336
components/jvcllaz/run/JvXPBar.pas
Normal file
File diff suppressed because it is too large
Load Diff
913
components/jvcllaz/run/JvXPCore.pas
Normal file
913
components/jvcllaz/run/JvXPCore.pas
Normal file
@ -0,0 +1,913 @@
|
||||
{-----------------------------------------------------------------------------
|
||||
The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
|
||||
the specific language governing rights and limitations under the License.
|
||||
|
||||
The Original Code is: JvXPCore.PAS, released on 2004-01-01.
|
||||
|
||||
The Initial Developer of the Original Code is Marc Hoffman.
|
||||
Portions created by Marc Hoffman are Copyright (C) 2002 APRIORI business solutions AG.
|
||||
Portions created by APRIORI business solutions AG are Copyright (C) 2002 APRIORI business solutions AG
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
|
||||
You may retrieve the latest version of this file at the Project JEDI's JVCL home page,
|
||||
located at http://jvcl.sourceforge.net
|
||||
|
||||
Known Issues:
|
||||
-----------------------------------------------------------------------------}
|
||||
// $Id: JvXPCore.pas 11400 2007-06-28 21:24:06Z ahuser $
|
||||
|
||||
// Ported to Lazarus (no too hard after all) by Sergio Samayoa - september 2007.
|
||||
// Still dont tested on linux.
|
||||
|
||||
unit JvXPCore;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Controls, Forms, Graphics, LCLIntf, LCLType, LMessages;
|
||||
|
||||
(* 23.09.2007 - SESS - unused
|
||||
const
|
||||
{ color constants.
|
||||
|
||||
these constants are used as default colors for descendant controls
|
||||
and may be replaced with other (common) values.
|
||||
|
||||
syntax: JvXPColor_[Control]_[Enabled: Enb, Dis]_[Type]_[Theme: WXP, OXP] }
|
||||
|
||||
{ button colors - WindowsXP }
|
||||
dxColor_Btn_Enb_Border_WXP = TColor($00733800); // border line
|
||||
dxColor_Btn_Dis_Border_WXP = TColor($00BDC7CE); // border line (disabled)
|
||||
dxColor_Btn_Enb_Edges_WXP = TColor($00AD9E7B); // border edges
|
||||
dxColor_Btn_Dis_Edges_WXP = TColor($00BDC7CE); // border edges (disabled)
|
||||
dxColor_Btn_Enb_BgFrom_WXP = TColor($00FFFFFF); // background from
|
||||
dxColor_Btn_Enb_BgTo_WXP = TColor($00E7EBEF); // background to
|
||||
dxColor_Btn_Enb_CkFrom_WXP = TColor($00C6CFD6); // clicked from
|
||||
dxColor_Btn_Enb_CkTo_WXP = TColor($00EBF3F7); // clicked to
|
||||
dxColor_Btn_Enb_FcFrom_WXP = TColor($00FFE7CE); // focused from
|
||||
dxColor_Btn_Enb_FcTo_WXP = TColor($00EF846D); // focused to
|
||||
dxColor_Btn_Enb_HlFrom_WXP = TColor($00CEF3FF); // highlight from
|
||||
dxColor_Btn_Enb_HlTo_WXP = TColor($000096E7); // highlight to
|
||||
|
||||
{ checkbox colors - WindowsXP }
|
||||
dxColor_Chk_Enb_Border_WXP = TColor($00845118); // border line
|
||||
dxColor_Chk_Enb_NmSymb_WXP = TColor($0021A621); // symbol normal
|
||||
dxColor_Chk_Enb_GraSymb_WXP = TColor($0071C671); // symbol grayed
|
||||
|
||||
{ misc colors - WindowsXP }
|
||||
dxColor_Msc_Dis_Caption_WXP = TColor($0094A6A5); // caption color (disabled)
|
||||
|
||||
dxColor_DotNetFrame = TColor($00F7FBFF); // $00E7EBEF;
|
||||
dxColor_BorderLineOXP = TColor($00663300);
|
||||
dxColor_BgOXP = TColor($00D6BEB5);
|
||||
dxColor_BgCkOXP = TColor($00CC9999);
|
||||
|
||||
type
|
||||
TJvXPCustomStyleControl = class;
|
||||
|
||||
TJvXPBoundLines = set of
|
||||
(
|
||||
blLeft, // left line
|
||||
blTop, // top line
|
||||
blRight, // right line
|
||||
blBottom // bottom line
|
||||
);
|
||||
23.09.2007 - SESS - unused *)
|
||||
|
||||
type
|
||||
TJvXPControlStyle = set of
|
||||
(
|
||||
csRedrawCaptionChanged, // (default)
|
||||
csRedrawBorderChanged, //
|
||||
csRedrawEnabledChanged, // (default)
|
||||
csRedrawFocusedChanged, // (default)
|
||||
csRedrawMouseDown, // (default)
|
||||
csRedrawMouseEnter, // (default)
|
||||
csRedrawMouseLeave, // (default)
|
||||
csRedrawMouseMove, //
|
||||
csRedrawMouseUp, // (default)
|
||||
csRedrawParentColorChanged, // (default)
|
||||
csRedrawParentFontChanged, //
|
||||
csRedrawPosChanged, //
|
||||
csRedrawResized //
|
||||
);
|
||||
|
||||
type
|
||||
TJvXPDrawState = set of
|
||||
(
|
||||
dsDefault, // default
|
||||
dsHighlight, // highlighted
|
||||
dsClicked, // clicked
|
||||
dsFocused // focused
|
||||
);
|
||||
|
||||
(* 23.09.2007 - SESS - unused
|
||||
TJvXPGlyphLayout =
|
||||
(
|
||||
glBottom, // bottom glyph
|
||||
glCenter, // centered glyph
|
||||
glTop // top glyph
|
||||
);
|
||||
|
||||
TJvXPTheme =
|
||||
(
|
||||
WindowsXP, // WindowsXP theme
|
||||
OfficeXP // OfficeXP theme
|
||||
);
|
||||
|
||||
{ baseclass for non-focusable component descendants. }
|
||||
TJvXPCustomComponent = class(TComponent)
|
||||
private
|
||||
FVersion: string;
|
||||
procedure SetVersion(const Value: string);
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
published
|
||||
property Version: string read FVersion write SetVersion stored False;
|
||||
end;
|
||||
23.09.2007 - SESS - unused *)
|
||||
|
||||
type
|
||||
TJvXPWinControl = class(TWinControl)
|
||||
published
|
||||
property Color;
|
||||
end;
|
||||
|
||||
{ baseclass for focusable control descendants. }
|
||||
|
||||
TJvXPCustomControl = class(TCustomControl)
|
||||
private
|
||||
FClicking: Boolean;
|
||||
FDrawState: TJvXPDrawState;
|
||||
FIsLocked: Boolean;
|
||||
FIsSibling: Boolean;
|
||||
FModalResult: TModalResult;
|
||||
FOnMouseLeave: TNotifyEvent;
|
||||
FOnMouseEnter: TNotifyEvent;
|
||||
FVersion: string;
|
||||
procedure SetVersion(const Value: string);
|
||||
procedure CMFocusChanged(var Msg: TLMessage); message CM_FOCUSCHANGED;
|
||||
procedure CMDialogChar(var Msg: TCMDialogChar); message CM_DIALOGCHAR;
|
||||
procedure CMBorderChanged(var Msg: TLMessage); message CM_BORDERCHANGED;
|
||||
procedure CMEnabledChanged(var Msg: TLMessage); message CM_ENABLEDCHANGED;
|
||||
procedure CMMouseEnter(var Msg: TLMessage); message CM_MOUSEENTER;
|
||||
procedure CMMouseLeave(var Msg: TLMessage); message CM_MOUSELEAVE;
|
||||
procedure CMParentColorChanged(var Msg: TLMessage); message CM_PARENTCOLORCHANGED;
|
||||
|
||||
//21.09.07 - SESS
|
||||
//procedure CMParentFontChanged(var Msg: TLMessage); message CM_PARENTFONTCHANGED;
|
||||
|
||||
procedure CMTextChanged(var Msg: TLMessage); message CM_TEXTCHANGED;
|
||||
procedure WMMouseMove(var Msg: TLMMouse); message LM_MOUSEMOVE;
|
||||
procedure WMSize(var Msg: TLMSize); message LM_SIZE;
|
||||
procedure WMWindowPosChanged(var Msg: TLMWindowPosChanged); message LM_WINDOWPOSCHANGED;
|
||||
protected
|
||||
ExControlStyle: TJvXPControlStyle;
|
||||
procedure InternalRedraw; dynamic;
|
||||
procedure HookBorderChanged; dynamic;
|
||||
procedure HookEnabledChanged; dynamic;
|
||||
procedure HookFocusedChanged; dynamic;
|
||||
procedure HookMouseDown; dynamic;
|
||||
procedure HookMouseEnter; dynamic;
|
||||
procedure HookMouseLeave; dynamic;
|
||||
procedure HookMouseMove(X: Integer = 0; Y: Integer = 0); dynamic;
|
||||
procedure HookMouseUp; dynamic;
|
||||
procedure HookParentColorChanged; dynamic;
|
||||
procedure HookParentFontChanged; dynamic;
|
||||
procedure HookPosChanged; dynamic;
|
||||
procedure HookResized; dynamic;
|
||||
procedure HookTextChanged; dynamic;
|
||||
procedure BeginUpdate; dynamic;
|
||||
procedure EndUpdate; dynamic;
|
||||
procedure LockedInvalidate; dynamic;
|
||||
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
|
||||
procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
|
||||
procedure Click; override;
|
||||
property ModalResult: TModalResult read FModalResult write FModalResult default 0;
|
||||
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
|
||||
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
property Canvas;
|
||||
property DrawState: TJvXPDrawState read FDrawState write FDrawState;
|
||||
property IsLocked: Boolean read FIsLocked write FIsLocked;
|
||||
property IsSibling: Boolean read FIsSibling write FIsSibling;
|
||||
published
|
||||
property Version: string read FVersion write SetVersion stored False;
|
||||
end;
|
||||
|
||||
(* 23.09.2007 - SESS - unused
|
||||
TJvXPUnlimitedControl = class(TJvXPCustomControl)
|
||||
published
|
||||
//property BevelInner;
|
||||
//property BevelOuter;
|
||||
//property BevelWidth;
|
||||
//property BiDiMode;
|
||||
//property Ctl3D;
|
||||
//property DockSite;
|
||||
//property ParentBiDiMode;
|
||||
//property ParentCtl3D;
|
||||
//property TabOrder;
|
||||
//property TabStop;
|
||||
//property UseDockManager default True;
|
||||
property Align;
|
||||
property Anchors;
|
||||
//property AutoSize;
|
||||
property Constraints;
|
||||
property DragCursor;
|
||||
property DragKind;
|
||||
|
||||
//21.09.07 - SESS resolver
|
||||
//property OnCanResize;
|
||||
|
||||
property DragMode;
|
||||
//property Enabled;
|
||||
property Font;
|
||||
property ParentFont;
|
||||
property ParentShowHint;
|
||||
property PopupMenu;
|
||||
property ShowHint;
|
||||
property Visible;
|
||||
//property OnDockDrop;
|
||||
//property OnDockOver;
|
||||
//property OnEndDock;
|
||||
//property OnGetSiteInfo;
|
||||
//property OnStartDock;
|
||||
//property OnUnDock;
|
||||
property OnClick;
|
||||
property OnConstrainedResize;
|
||||
property OnContextPopup;
|
||||
property OnDragDrop;
|
||||
property OnDragOver;
|
||||
property OnEndDrag;
|
||||
property OnEnter;
|
||||
property OnExit;
|
||||
property OnKeyDown;
|
||||
property OnKeyPress;
|
||||
property OnKeyUp;
|
||||
property OnMouseDown;
|
||||
property OnMouseEnter;
|
||||
property OnMouseLeave;
|
||||
property OnMouseMove;
|
||||
property OnMouseUp;
|
||||
property OnStartDrag;
|
||||
end;
|
||||
|
||||
TJvXPStyle = class(TPersistent)
|
||||
private
|
||||
FTheme: TJvXPTheme;
|
||||
FUseStyleManager: Boolean;
|
||||
protected
|
||||
Parent: TJvXPCustomStyleControl;
|
||||
procedure SetTheme(Value: TJvXPTheme); virtual;
|
||||
procedure SetUseStyleManager(Value: Boolean); virtual;
|
||||
public
|
||||
constructor Create(AOwner: TComponent);
|
||||
function GetTheme: TJvXPTheme;
|
||||
published
|
||||
property Theme: TJvXPTheme read FTheme write SetTheme default WindowsXP;
|
||||
property UseStyleManager: Boolean read FUseStyleManager write SetUseStyleManager default True;
|
||||
end;
|
||||
|
||||
TJvXPStyleManager = class(TJvXPCustomComponent)
|
||||
private
|
||||
FControls: TList;
|
||||
FTheme: TJvXPTheme;
|
||||
FOnThemeChanged: TNotifyEvent;
|
||||
procedure InvalidateControls;
|
||||
protected
|
||||
procedure SetTheme(Value: TJvXPTheme); virtual;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
procedure RegisterControls(const AControls: array of TJvXPCustomControl);
|
||||
procedure UnregisterControls(const AControls: array of TJvXPCustomControl);
|
||||
published
|
||||
property Theme: TJvXPTheme read FTheme write SetTheme default WindowsXP;
|
||||
property OnThemeChanged: TNotifyEvent read FOnThemeChanged write FOnThemeChanged;
|
||||
end;
|
||||
|
||||
TJvXPCustomStyleControl = class(TJvXPCustomControl)
|
||||
private
|
||||
FStyle: TJvXPStyle;
|
||||
FStyleManager: TJvXPStyleManager;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
protected
|
||||
procedure SetStyleManager(Value: TJvXPStyleManager); virtual;
|
||||
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
||||
property Style: TJvXPStyle read FStyle write FStyle;
|
||||
property StyleManager: TJvXPStyleManager read FStyleManager write SetStyleManager;
|
||||
end;
|
||||
23.09.2007 - SESS - unused *)
|
||||
|
||||
TJvXPGradientColors = 2..255;
|
||||
|
||||
TJvXPGradientStyle = (gsLeft, gsTop, gsRight, gsBottom);
|
||||
|
||||
(* 23.09.2007 - SESS - unused
|
||||
TJvXPGradient = class(TPersistent)
|
||||
private
|
||||
FColors: TJvXPGradientColors;
|
||||
FDithered: Boolean;
|
||||
FEnabled: Boolean;
|
||||
FEndColor: TColor;
|
||||
FStartColor: TColor;
|
||||
FGradientStyle: TJvXPGradientStyle;
|
||||
protected
|
||||
Parent: TJvXPCustomControl;
|
||||
procedure SetDithered(Value: Boolean); virtual;
|
||||
procedure SetColors(Value: TJvXPGradientColors); virtual;
|
||||
procedure SetEnabled(Value: Boolean); virtual;
|
||||
procedure SetEndColor(Value: TColor); virtual;
|
||||
procedure SetGradientStyle(Value: TJvXPGradientStyle); virtual;
|
||||
procedure SetStartColor(Value: TColor); virtual;
|
||||
public
|
||||
Bitmap: TBitmap;
|
||||
constructor Create(AOwner: TControl);
|
||||
destructor Destroy; override;
|
||||
procedure RecreateBands; virtual;
|
||||
published
|
||||
property Dithered: Boolean read FDithered write SetDithered default True;
|
||||
property Colors: TJvXPGradientColors read FColors write SetColors default 16;
|
||||
property Enabled: Boolean read FEnabled write SetEnabled default False;
|
||||
property EndColor: TColor read FEndColor write SetEndColor default clSilver;
|
||||
property StartColor: TColor read FStartColor write SetStartColor default clGray;
|
||||
property Style: TJvXPGradientStyle read FGradientStyle write SetGradientStyle default gsLeft;
|
||||
end;
|
||||
23.09.2007 - SESS - unused *)
|
||||
|
||||
implementation
|
||||
|
||||
(* 23.09.2007 - SESS - Original strings
|
||||
uses
|
||||
JvXPCoreUtils;
|
||||
|
||||
resourcestring
|
||||
RsCopyright = 'Design eXperience. (c) 2002 M. Hoffmann Version ';
|
||||
RsCopyright2 = 'Design eXperience II - (c) 2002 M. Hoffmann Version ';
|
||||
RsVersion = '2.0.1'; // always increase version number on new releases!
|
||||
*)
|
||||
|
||||
(* 23.09.2007 - SESS - unused
|
||||
//=== { TJvXPCustomComponent } ===============================================
|
||||
|
||||
constructor TJvXPCustomComponent.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
FVersion := RsCopyright + RsVersion;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomComponent.SetVersion(const Value: string);
|
||||
begin
|
||||
// do not enable overwriting this constant.
|
||||
end;
|
||||
23.09.2007 - SESS - unused *)
|
||||
|
||||
//=== { TJvXPCustomControl } =================================================
|
||||
|
||||
constructor TJvXPCustomControl.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
ControlStyle := ControlStyle + [csOpaque, csReplicatable];
|
||||
DoubleBuffered := True;
|
||||
ExControlStyle := [csRedrawEnabledChanged, csRedrawFocusedChanged,
|
||||
csRedrawMouseDown, csRedrawMouseEnter, csRedrawMouseLeave, csRedrawMouseUp,
|
||||
csRedrawParentColorChanged, csRedrawCaptionChanged];
|
||||
FClicking := False;
|
||||
FDrawState := [dsDefault];
|
||||
FIsLocked := False;
|
||||
FIsSibling := False;
|
||||
FModalResult := 0;
|
||||
// 23.09.2007 - SESS
|
||||
// FVersion := RsCopyright2 + RsVersion;
|
||||
FVersion := 'JvXP (JVCL) for Lazarus 1.0';
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.SetVersion(const Value: string);
|
||||
begin
|
||||
// disallow changing this property.
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.BeginUpdate;
|
||||
begin
|
||||
FIsLocked := True;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.EndUpdate;
|
||||
begin
|
||||
FIsLocked := False;
|
||||
InternalRedraw;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.LockedInvalidate;
|
||||
begin
|
||||
if not IsLocked then
|
||||
Invalidate;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.InternalRedraw;
|
||||
begin
|
||||
if not FIsLocked then
|
||||
Invalidate;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TJvXPCustomControl.CMDialogChar(var Msg: TCMDialogChar);
|
||||
begin
|
||||
with Msg do
|
||||
if IsAccel(CharCode, Caption) and CanFocus and
|
||||
(Focused or ((GetKeyState(VK_MENU) and $8000) <> 0)) then
|
||||
begin
|
||||
Click;
|
||||
Result := 1;
|
||||
end
|
||||
else
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.CMBorderChanged(var Msg: TLMessage);
|
||||
begin
|
||||
// delegate message "BorderChanged" to hook.
|
||||
inherited;
|
||||
HookBorderChanged;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.CMEnabledChanged(var Msg: TLMessage);
|
||||
begin
|
||||
// delegate message "EnabledChanged" to hook.
|
||||
inherited;
|
||||
HookEnabledChanged;
|
||||
end;
|
||||
|
||||
|
||||
procedure TJvXPCustomControl.CMFocusChanged(var Msg: TLMessage);
|
||||
begin
|
||||
// delegate message "FocusChanged" to hook.
|
||||
inherited;
|
||||
HookFocusedChanged;
|
||||
end;
|
||||
|
||||
|
||||
procedure TJvXPCustomControl.CMMouseEnter(var Msg: TLMessage);
|
||||
begin
|
||||
// delegate message "MouseEnter" to hook.
|
||||
inherited;
|
||||
HookMouseEnter;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.CMMouseLeave(var Msg: TLMessage);
|
||||
begin
|
||||
// delegate message "MouseLeave" to hook.
|
||||
inherited;
|
||||
HookMouseLeave;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.CMParentColorChanged(var Msg: TLMessage);
|
||||
begin
|
||||
// delegate message "ParentColorChanged" to hook.
|
||||
inherited;
|
||||
HookParentColorChanged;
|
||||
end;
|
||||
|
||||
//21.09.07 - SESS resolver
|
||||
(*
|
||||
procedure TJvXPCustomControl.CMParentFontChanged(var Msg: TLMessage);
|
||||
begin
|
||||
// delegate message "ParentFontChanged" to hook.
|
||||
inherited;
|
||||
HookParentFontChanged;
|
||||
end;
|
||||
*)
|
||||
procedure TJvXPCustomControl.CMTextChanged(var Msg: TLMessage);
|
||||
begin
|
||||
// delegate message "TextChanged" to hook.
|
||||
inherited;
|
||||
HookTextChanged;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.WMMouseMove(var Msg: TLMMouse);
|
||||
begin
|
||||
// delegate message "MouseMove" to hook.
|
||||
inherited;
|
||||
HookMouseMove(Msg.XPos, Msg.YPos);
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.WMSize(var Msg: TLMSize);
|
||||
begin
|
||||
// delegate message "Size" to hook.
|
||||
inherited;
|
||||
HookResized;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.WMWindowPosChanged(var Msg: TLMWindowPosChanged);
|
||||
begin
|
||||
// delegate message "WindowPosChanged" to hook.
|
||||
inherited;
|
||||
HookPosChanged;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.MouseDown(Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
begin
|
||||
// delegate message "MouseDown" to hook.
|
||||
inherited MouseDown(Button, Shift, X, Y);
|
||||
if Button = mbLeft then
|
||||
begin
|
||||
FClicking := True;
|
||||
HookMouseDown;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.MouseUp(Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
begin
|
||||
// delegate message "MouseUp" to hook.
|
||||
inherited MouseUp(Button, Shift, X, Y);
|
||||
if FClicking then
|
||||
begin
|
||||
FClicking := False;
|
||||
HookMouseUp;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.Click;
|
||||
var
|
||||
Form: TCustomForm;
|
||||
begin
|
||||
Form := GetParentForm(Self);
|
||||
if Form <> nil then
|
||||
Form.ModalResult := ModalResult;
|
||||
inherited Click;
|
||||
end;
|
||||
|
||||
//
|
||||
// hooks are used to interrupt default windows messages in an easier
|
||||
// way - it's possible to override them in descendant classes.
|
||||
// Beware of multiple redraw calls - if you know that the calling
|
||||
// hooks always redraws the component, use the lock i.e. unlock methods
|
||||
// (rom) or LockedInvalidate.
|
||||
|
||||
procedure TJvXPCustomControl.HookBorderChanged;
|
||||
begin
|
||||
// this hook is called, if the border property was changed.
|
||||
// in that case we normaly have to redraw the control.
|
||||
if csRedrawBorderChanged in ExControlStyle then
|
||||
InternalRedraw;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.HookEnabledChanged;
|
||||
begin
|
||||
// this hook is called, if the enabled property was switched.
|
||||
// in that case we normaly have to redraw the control.
|
||||
if csRedrawEnabledChanged in ExControlStyle then
|
||||
InternalRedraw;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.HookFocusedChanged;
|
||||
begin
|
||||
// this hook is called, if the currently focused control was changed.
|
||||
if Focused then
|
||||
Include(FDrawState, dsFocused)
|
||||
else
|
||||
begin
|
||||
Exclude(FDrawState, dsFocused);
|
||||
Exclude(FDrawState, dsClicked);
|
||||
end;
|
||||
FIsSibling := GetParentForm(Self).ActiveControl is TJvXPCustomControl;
|
||||
if csRedrawFocusedChanged in ExControlStyle then
|
||||
InternalRedraw;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.HookMouseEnter;
|
||||
begin
|
||||
// this hook is called, if the user moves (hover) the mouse over the control.
|
||||
if not (csDesigning in ComponentState) then
|
||||
begin
|
||||
Include(FDrawState, dsHighlight);
|
||||
if csRedrawMouseEnter in ExControlStyle then
|
||||
InternalRedraw;
|
||||
end;
|
||||
if Assigned(FOnMouseEnter) then
|
||||
FOnMouseEnter(Self);
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.HookMouseLeave;
|
||||
begin
|
||||
// this hook is called, if the user moves the mouse away (unhover) from
|
||||
// the control.
|
||||
if not (csDesigning in ComponentState) then
|
||||
begin
|
||||
Exclude(FDrawState, dsHighlight);
|
||||
if csRedrawMouseLeave in ExControlStyle then
|
||||
InternalRedraw;
|
||||
end;
|
||||
if Assigned(FOnMouseLeave) then
|
||||
FOnMouseLeave(Self);
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.HookMouseMove(X: Integer = 0; Y: Integer = 0);
|
||||
begin
|
||||
// this hook is called if the user moves the mouse inside the control.
|
||||
if not (csDesigning in ComponentState) then
|
||||
if csRedrawMouseMove in ExControlStyle then
|
||||
InternalRedraw;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.HookMouseDown;
|
||||
begin
|
||||
// this hook is called, if the user presses the left mouse button over the
|
||||
// controls.
|
||||
if not Focused and CanFocus then
|
||||
SetFocus;
|
||||
Include(FDrawState, dsClicked);
|
||||
if csRedrawMouseDown in ExControlStyle then
|
||||
InternalRedraw;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.HookMouseUp;
|
||||
var
|
||||
CurrentPos: TPoint;
|
||||
NewControl: TWinControl;
|
||||
begin
|
||||
// this hook is called, if the user releases the left mouse button.
|
||||
begin
|
||||
Exclude(FDrawState, dsClicked);
|
||||
if csRedrawMouseUp in ExControlStyle then
|
||||
InternalRedraw;
|
||||
|
||||
// does the cursor is over another supported control?
|
||||
GetCursorPos(CurrentPos);
|
||||
//21.09.2007 - SESS resolver
|
||||
//NewControl := FindVCLWindow(CurrentPos);
|
||||
NewControl := nil;
|
||||
if (NewControl <> nil) and (NewControl <> Self) and
|
||||
(NewControl.InheritsFrom(TJvXPCustomControl)) then
|
||||
TJvXPCustomControl(NewControl).HookMouseEnter;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.HookParentColorChanged;
|
||||
begin
|
||||
// this hook is called if, the parent color was changed.
|
||||
if csRedrawParentColorChanged in ExControlStyle then
|
||||
InternalRedraw;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.HookParentFontChanged;
|
||||
begin
|
||||
// this hook is called if, the parent font was changed.
|
||||
if csRedrawParentFontChanged in ExControlStyle then
|
||||
InternalRedraw;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.HookPosChanged;
|
||||
begin
|
||||
// this hook is called, if the window position was changed.
|
||||
if csRedrawPosChanged in ExControlStyle then
|
||||
InternalRedraw;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.HookResized;
|
||||
begin
|
||||
// this hook is called, if the control was resized.
|
||||
if csRedrawResized in ExControlStyle then
|
||||
InternalRedraw;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomControl.HookTextChanged;
|
||||
begin
|
||||
// this hook is called, if the caption was changed.
|
||||
if csRedrawCaptionChanged in ExControlStyle then
|
||||
InternalRedraw;
|
||||
end;
|
||||
|
||||
(* 23.09.2007 - SESS - unused
|
||||
//=== { TJvXPStyle } =========================================================
|
||||
|
||||
constructor TJvXPStyle.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create;
|
||||
Parent := TJvXPCustomStyleControl(AOwner);
|
||||
FTheme := WindowsXP;
|
||||
FUseStyleManager := True;
|
||||
end;
|
||||
|
||||
procedure TJvXPStyle.SetTheme(Value: TJvXPTheme);
|
||||
begin
|
||||
if Value <> FTheme then
|
||||
begin
|
||||
FTheme := Value;
|
||||
Parent.InternalRedraw;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TJvXPStyle.GetTheme: TJvXPTheme;
|
||||
begin
|
||||
Result := FTheme;
|
||||
if FUseStyleManager and Assigned(Parent.StyleManager) then
|
||||
Result := Parent.StyleManager.Theme;
|
||||
end;
|
||||
|
||||
procedure TJvXPStyle.SetUseStyleManager(Value: Boolean);
|
||||
begin
|
||||
if Value <> FUseStyleManager then
|
||||
begin
|
||||
FUseStyleManager := Value;
|
||||
Parent.InternalRedraw;
|
||||
end;
|
||||
end;
|
||||
|
||||
//=== { TJvXPStyleManager } ==================================================
|
||||
|
||||
constructor TJvXPStyleManager.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
FControls := TList.Create;
|
||||
FTheme := WindowsXP;
|
||||
end;
|
||||
|
||||
destructor TJvXPStyleManager.Destroy;
|
||||
begin
|
||||
InvalidateControls;
|
||||
FControls.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TJvXPStyleManager.InvalidateControls;
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
for I := 0 to FControls.Count - 1 do
|
||||
with TJvXPCustomControl(FControls[I]) do
|
||||
InternalRedraw;
|
||||
end;
|
||||
|
||||
procedure TJvXPStyleManager.SetTheme(Value: TJvXPTheme);
|
||||
begin
|
||||
if Value <> FTheme then
|
||||
begin
|
||||
FTheme := Value;
|
||||
if Assigned(FOnThemeChanged) then
|
||||
FOnThemeChanged(Self);
|
||||
InvalidateControls;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvXPStyleManager.RegisterControls(const AControls: array of TJvXPCustomControl);
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
for I := Low(AControls) to High(AControls) do
|
||||
if FControls.IndexOf(AControls[I]) = -1 then
|
||||
FControls.Add(AControls[I]);
|
||||
end;
|
||||
|
||||
procedure TJvXPStyleManager.UnregisterControls(const AControls: array of TJvXPCustomControl);
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
for I := Low(AControls) to High(AControls) do
|
||||
if FControls.IndexOf(AControls[I]) <> -1 then
|
||||
FControls.Delete(FControls.IndexOf(AControls[I]));
|
||||
end;
|
||||
|
||||
//=== { TJvXPCustomStyleControl } ============================================
|
||||
|
||||
constructor TJvXPCustomStyleControl.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
FStyle := TJvXPStyle.Create(Self);
|
||||
FStyleManager := nil;
|
||||
end;
|
||||
|
||||
destructor TJvXPCustomStyleControl.Destroy;
|
||||
begin
|
||||
if FStyleManager <> nil then
|
||||
FStyleManager.UnregisterControls([Self]);
|
||||
FStyle.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomStyleControl.Notification(AComponent: TComponent;
|
||||
Operation: TOperation);
|
||||
begin
|
||||
if (AComponent is TJvXPStyleManager) and (Operation = opRemove) then
|
||||
FStyleManager := nil;
|
||||
inherited Notification(AComponent, Operation);
|
||||
end;
|
||||
|
||||
procedure TJvXPCustomStyleControl.SetStyleManager(Value: TJvXPStyleManager);
|
||||
begin
|
||||
if Value <> FStyleManager then
|
||||
begin
|
||||
if Value <> nil then
|
||||
Value.RegisterControls([Self])
|
||||
else
|
||||
FStyleManager.UnregisterControls([Self]);
|
||||
FStyleManager := Value;
|
||||
InternalRedraw;
|
||||
end;
|
||||
end;
|
||||
|
||||
//=== { TJvXPGradient } ======================================================
|
||||
|
||||
constructor TJvXPGradient.Create(AOwner: TControl);
|
||||
begin
|
||||
inherited Create;
|
||||
Parent := TJvXPCustomControl(AOwner);
|
||||
Bitmap := TBitmap.Create;
|
||||
FColors := 16;
|
||||
FDithered := True;
|
||||
FEnabled := False;
|
||||
FEndColor := clSilver;
|
||||
FGradientStyle := gsLeft;
|
||||
FStartColor := clGray;
|
||||
end;
|
||||
|
||||
destructor TJvXPGradient.Destroy;
|
||||
begin
|
||||
Bitmap.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TJvXPGradient.RecreateBands;
|
||||
begin
|
||||
if Assigned(Bitmap) then
|
||||
JvXPCreateGradientRect(Parent.Width, Parent.Height, FStartColor, FEndColor,
|
||||
FColors, FGradientStyle, FDithered, Bitmap);
|
||||
end;
|
||||
|
||||
procedure TJvXPGradient.SetDithered(Value: Boolean);
|
||||
begin
|
||||
if FDithered <> Value then
|
||||
begin
|
||||
FDithered := Value;
|
||||
RecreateBands;
|
||||
Parent.InternalRedraw;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvXPGradient.SetColors(Value: TJvXPGradientColors);
|
||||
begin
|
||||
if FColors <> Value then
|
||||
begin
|
||||
FColors := Value;
|
||||
RecreateBands;
|
||||
Parent.InternalRedraw;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvXPGradient.SetEnabled(Value: Boolean);
|
||||
begin
|
||||
if FEnabled <> Value then
|
||||
begin
|
||||
FEnabled := Value;
|
||||
Parent.InternalRedraw;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvXPGradient.SetEndColor(Value: TColor);
|
||||
begin
|
||||
if FEndColor <> Value then
|
||||
begin
|
||||
FEndColor := Value;
|
||||
RecreateBands;
|
||||
Parent.InternalRedraw;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvXPGradient.SetGradientStyle(Value: TJvXPGradientStyle);
|
||||
begin
|
||||
if FGradientStyle <> Value then
|
||||
begin
|
||||
FGradientStyle := Value;
|
||||
RecreateBands;
|
||||
Parent.InternalRedraw;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TJvXPGradient.SetStartColor(Value: TColor);
|
||||
begin
|
||||
if FStartColor <> Value then
|
||||
begin
|
||||
FStartColor := Value;
|
||||
RecreateBands;
|
||||
Parent.InternalRedraw;
|
||||
end;
|
||||
end;
|
||||
*)
|
||||
end.
|
||||
|
419
components/jvcllaz/run/JvXPCoreUtils.pas
Normal file
419
components/jvcllaz/run/JvXPCoreUtils.pas
Normal file
@ -0,0 +1,419 @@
|
||||
{-----------------------------------------------------------------------------
|
||||
The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/MPL-1.1.html
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
|
||||
the specific language governing rights and limitations under the License.
|
||||
|
||||
The Original Code is: JvXPCoreUtils.PAS, released on 2004-01-01.
|
||||
|
||||
The Initial Developer of the Original Code is Marc Hoffman.
|
||||
Portions created by Marc Hoffman are Copyright (C) 2002 APRIORI business solutions AG.
|
||||
Portions created by APRIORI business solutions AG are Copyright (C) 2002 APRIORI business solutions AG
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
|
||||
You may retrieve the latest version of this file at the Project JEDI's JVCL home page,
|
||||
located at http://jvcl.sourceforge.net
|
||||
|
||||
Known Issues:
|
||||
-----------------------------------------------------------------------------}
|
||||
// $Id: JvXPCoreUtils.pas 11400 2007-06-28 21:24:06Z ahuser $
|
||||
|
||||
// Ported to Lazarus (no too hard after all) by Sergio Samayoa - september 2007.
|
||||
// Still dont tested on linux.
|
||||
|
||||
unit JvXPCoreUtils;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Controls, Graphics, LCLIntf, LCLType, SysUtils,
|
||||
TypInfo, JvXPCore;
|
||||
|
||||
function JvXPMethodsEqual(const Method1, Method2: TMethod): Boolean;
|
||||
procedure JvXPDrawLine(const ACanvas: TCanvas; const X1, Y1, X2, Y2: Integer);
|
||||
|
||||
(* 23.09.2007 - SESS - unused
|
||||
procedure JvXPCreateGradientRect(const AWidth, AHeight: Integer; const StartColor,
|
||||
EndColor: TColor; const AColors: TJvXPGradientColors; const Style: TJvXPGradientStyle;
|
||||
const Dithered: Boolean; var Bitmap: TBitmap);
|
||||
procedure JvXPAdjustBoundRect(const BorderWidth: Byte;
|
||||
const ShowBoundLines: Boolean; const BoundLines: TJvXPBoundLines; var Rect: TRect);
|
||||
procedure JvXPDrawBoundLines(const ACanvas: TCanvas; const BoundLines: TJvXPBoundLines;
|
||||
const AColor: TColor; const Rect: TRect);
|
||||
|
||||
//
|
||||
// attic!
|
||||
//
|
||||
|
||||
procedure JvXPConvertToGray2(Bitmap: TBitmap);
|
||||
procedure JvXPRenderText(const AParent: TControl; const ACanvas: TCanvas;
|
||||
ACaption: TCaption; const AFont: TFont; const AEnabled, AShowAccelChar: Boolean;
|
||||
var ARect: TRect; AFlags: Integer);
|
||||
23.09.2007 - SESS - unused *)
|
||||
procedure JvXPFrame3D(const ACanvas: TCanvas; const ARect: TRect;
|
||||
const TopColor, BottomColor: TColor; const Swapped: Boolean = False);
|
||||
(* 23.09.2007 - SESS - unused
|
||||
procedure JvXPColorizeBitmap(Bitmap: TBitmap; const AColor: TColor);
|
||||
procedure JvXPSetDrawFlags(const AAlignment: TAlignment; const AWordWrap: Boolean;
|
||||
var Flags: Integer);
|
||||
procedure JvXPPlaceText(const AParent: TControl; const ACanvas: TCanvas;
|
||||
const AText: TCaption; const AFont: TFont; const AEnabled, AShowAccelChar: Boolean;
|
||||
const AAlignment: TAlignment; const AWordWrap: Boolean; var Rect: TRect);
|
||||
23.09.2007 - SESS - unused *)
|
||||
|
||||
implementation
|
||||
|
||||
function JvXPMethodsEqual(const Method1, Method2: TMethod): Boolean;
|
||||
begin
|
||||
Result := (Method1.Code = Method2.Code) and (Method1.Data = Method2.Data);
|
||||
end;
|
||||
|
||||
(* 23.09.2007 - SESS - unused
|
||||
procedure JvXPCreateGradientRect(const AWidth, AHeight: Integer; const StartColor,
|
||||
EndColor: TColor; const AColors: TJvXPGradientColors; const Style: TJvXPGradientStyle;
|
||||
const Dithered: Boolean; var Bitmap: TBitmap);
|
||||
{ // Short version...
|
||||
var
|
||||
gd: TGradientDirection;
|
||||
begin
|
||||
if (AHeight <= 0) or (AWidth <= 0) then
|
||||
Exit;
|
||||
Bitmap.Height := AHeight;
|
||||
Bitmap.Width := AWidth;
|
||||
Bitmap.PixelFormat := pf24bit;
|
||||
if Style in [gsLeft, gsRight] then
|
||||
gd := gdHorizontal
|
||||
else
|
||||
gd := gdVertical;
|
||||
Bitmap.Canvas.GradientFill(Rect(0, 0, AWidth, AHeight), StartColor, EndColor, gd);
|
||||
end;
|
||||
}
|
||||
const
|
||||
PixelCountMax = 32768;
|
||||
DitherDepth = 16;
|
||||
type
|
||||
TGradientBand = array [0..255] of TColor;
|
||||
TRGBMap = packed record
|
||||
case Boolean of
|
||||
True:
|
||||
(RGBVal: DWord);
|
||||
False:
|
||||
(R, G, B, D: Byte);
|
||||
end;
|
||||
PRGBTripleArray = ^TRGBTripleArray;
|
||||
TRGBTripleArray = array [0..PixelCountMax-1] of TRGBTriple;
|
||||
var
|
||||
iLoop, xLoop, yLoop, XX, YY: Integer;
|
||||
iBndS, iBndE: Integer;
|
||||
GBand: TGradientBand;
|
||||
Row: PRGBTripleArray;
|
||||
|
||||
procedure CalculateGradientBand;
|
||||
var
|
||||
rR, rG, rB: Real;
|
||||
lCol, hCol: TRGBMap;
|
||||
iStp: Integer;
|
||||
begin
|
||||
if Style in [gsLeft, gsTop] then
|
||||
begin
|
||||
lCol.RGBVal := ColorToRGB(StartColor);
|
||||
hCol.RGBVal := ColorToRGB(EndColor);
|
||||
end
|
||||
else
|
||||
begin
|
||||
lCol.RGBVal := ColorToRGB(EndColor);
|
||||
hCol.RGBVal := ColorToRGB(StartColor);
|
||||
end;
|
||||
rR := (hCol.R - lCol.R) / (AColors - 1);
|
||||
rG := (hCol.G - lCol.G) / (AColors - 1);
|
||||
rB := (hCol.B - lCol.B) / (AColors - 1);
|
||||
for iStp := 0 to (AColors - 1) do
|
||||
GBand[iStp] := RGB(
|
||||
lCol.R + Round(rR * iStp),
|
||||
lCol.G + Round(rG * iStp),
|
||||
lCol.B + Round(rB * iStp));
|
||||
end;
|
||||
|
||||
begin
|
||||
// Exit if Height or Width are not positive. If not, the calls would lead to
|
||||
// GDI errors about "Invalid parameter" and/or "Out Of Resources".
|
||||
if (AHeight <= 0) or (AWidth <= 0) then
|
||||
Exit;
|
||||
|
||||
Bitmap.Height := AHeight;
|
||||
Bitmap.Width := AWidth;
|
||||
Bitmap.PixelFormat := pf24bit;
|
||||
|
||||
CalculateGradientBand;
|
||||
|
||||
with Bitmap.Canvas do
|
||||
begin
|
||||
Brush.Color := StartColor;
|
||||
FillRect(Bounds(0, 0, AWidth, AHeight));
|
||||
if Style in [gsLeft, gsRight] then
|
||||
begin
|
||||
for iLoop := 0 to AColors - 1 do
|
||||
begin
|
||||
iBndS := MulDiv(iLoop, AWidth, AColors);
|
||||
iBndE := MulDiv(iLoop + 1, AWidth, AColors);
|
||||
Brush.Color := GBand[iLoop];
|
||||
PatBlt(Handle, iBndS, 0, iBndE, AHeigth, PATCOPY);
|
||||
if (iLoop > 0) and Dithered then
|
||||
for yLoop := 0 to DitherDepth - 1 do
|
||||
if yLoop < AHeight then
|
||||
begin
|
||||
Row := Bitmap.ScanLine[yLoop];
|
||||
for xLoop := 0 to AWidth div (AColors - 1) do
|
||||
begin
|
||||
XX := iBndS + Random(xLoop);
|
||||
if (XX < AWidth) and (XX > -1) then
|
||||
with Row[XX] do
|
||||
begin
|
||||
rgbtRed := GetRValue(GBand[iLoop - 1]);
|
||||
rgbtGreen := GetGValue(GBand[iLoop - 1]);
|
||||
rgbtBlue := GetBValue(GBand[iLoop - 1]);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
for yLoop := 1 to AHeight div DitherDepth do
|
||||
CopyRect(Bounds(0, yLoop * DitherDepth, AWidth, DitherDepth),
|
||||
Bitmap.Canvas, Bounds(0, 0, AWidth, DitherDepth));
|
||||
end
|
||||
else
|
||||
begin
|
||||
for iLoop := 0 to AColors - 1 do
|
||||
begin
|
||||
iBndS := MulDiv(iLoop, AHeight, AColors);
|
||||
iBndE := MulDiv(iLoop + 1, AHeight, AColors);
|
||||
Brush.Color := GBand[iLoop];
|
||||
PatBlt(Handle, 0, iBndS, AWidth, iBndE, PATCOPY);
|
||||
if (iLoop > 0) and Dithered then
|
||||
for yLoop := 0 to AHeight div (AColors - 1) do
|
||||
begin
|
||||
YY := iBndS + Random(yLoop);
|
||||
if (YY < AHeight) and (YY > -1) then
|
||||
begin
|
||||
Row := Bitmap.ScanLine[YY];
|
||||
for xLoop := 0 to DitherDepth - 1 do
|
||||
if xLoop < AWidth then
|
||||
with Row[xLoop] do
|
||||
begin
|
||||
rgbtRed := GetRValue(GBand[iLoop - 1]);
|
||||
rgbtGreen := GetGValue(GBand[iLoop - 1]);
|
||||
rgbtBlue := GetBValue(GBand[iLoop - 1]);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
for xLoop := 0 to AWidth div DitherDepth do
|
||||
CopyRect(Bounds(xLoop * DitherDepth, 0, DitherDepth, AHeight),
|
||||
Bitmap.Canvas, Bounds(0, 0, DitherDepth, AHeight));
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
*)
|
||||
|
||||
procedure JvXPDrawLine(const ACanvas: TCanvas; const X1, Y1, X2, Y2: Integer);
|
||||
begin
|
||||
with ACanvas do
|
||||
begin
|
||||
MoveTo(X1, Y1);
|
||||
LineTo(X2, Y2);
|
||||
end;
|
||||
end;
|
||||
|
||||
(* 23.09.2007 - SESS - unused
|
||||
procedure JvXPAdjustBoundRect(const BorderWidth: Byte;
|
||||
const ShowBoundLines: Boolean; const BoundLines: TJvXPBoundLines;
|
||||
var Rect: TRect);
|
||||
begin
|
||||
InflateRect(Rect, -BorderWidth, -BorderWidth);
|
||||
if not ShowBoundLines then
|
||||
Exit;
|
||||
if blLeft in BoundLines then
|
||||
Inc(Rect.Left);
|
||||
if blRight in BoundLines then
|
||||
Dec(Rect.Right);
|
||||
if blTop in BoundLines then
|
||||
Inc(Rect.Top);
|
||||
if blBottom in BoundLines then
|
||||
Dec(Rect.Bottom);
|
||||
end;
|
||||
|
||||
procedure JvXPDrawBoundLines(const ACanvas: TCanvas; const BoundLines: TJvXPBoundLines;
|
||||
const AColor: TColor; const Rect: TRect);
|
||||
begin
|
||||
with ACanvas do
|
||||
begin
|
||||
Pen.Color := AColor;
|
||||
Pen.Style := psSolid;
|
||||
if blLeft in BoundLines then
|
||||
JvXPDrawLine(ACanvas, Rect.Left, Rect.Top, Rect.Left, Rect.Bottom - 1);
|
||||
if blTop in BoundLines then
|
||||
JvXPDrawLine(ACanvas, Rect.Left, Rect.Top, Rect.Right, Rect.Top);
|
||||
if blRight in BoundLines then
|
||||
JvXPDrawLine(ACanvas, Rect.Right - 1, Rect.Top, Rect.Right - 1, Rect.Bottom - 1);
|
||||
if blBottom in BoundLines then
|
||||
JvXPDrawLine(ACanvas, Rect.Top, Rect.Bottom - 1, Rect.Right, Rect.Bottom - 1);
|
||||
end;
|
||||
end;
|
||||
|
||||
//
|
||||
// attic
|
||||
//
|
||||
|
||||
procedure JvXPConvertToGray2(Bitmap: TBitmap);
|
||||
var
|
||||
x, y, c: Integer;
|
||||
PxlColor: TColor;
|
||||
begin
|
||||
for x := 0 to Bitmap.Width - 1 do
|
||||
for y := 0 to Bitmap.Height - 1 do
|
||||
begin
|
||||
PxlColor := ColorToRGB(Bitmap.Canvas.Pixels[x, y]);
|
||||
c := (PxlColor shr 16 + ((PxlColor shr 8) and $00FF) + PxlColor and $0000FF) div 3 + 100;
|
||||
if c > 255 then
|
||||
c := 255;
|
||||
Bitmap.Canvas.Pixels[x, y] := RGB(c, c, c);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure JvXPRenderText(const AParent: TControl; const ACanvas: TCanvas;
|
||||
ACaption: TCaption; const AFont: TFont; const AEnabled, AShowAccelChar: Boolean;
|
||||
var ARect: TRect; AFlags: Integer);
|
||||
|
||||
procedure DoDrawText;
|
||||
begin
|
||||
// (rom) Kludge! This will probably not work for CLX
|
||||
DrawText(ACanvas.Handle, PChar(ACaption), -1, ARect, AFlags);
|
||||
end;
|
||||
|
||||
begin
|
||||
if (AFlags and DT_CALCRECT <> 0) and ((ACaption = '') or AShowAccelChar and
|
||||
(ACaption[1] = '&') and (ACaption[2] = #0)) then
|
||||
ACaption := ACaption + ' ';
|
||||
if not AShowAccelChar then
|
||||
AFlags := AFlags or DT_NOPREFIX;
|
||||
AFlags := AParent.DrawTextBiDiModeFlags(AFlags);
|
||||
with ACanvas do
|
||||
begin
|
||||
Font.Assign(AFont);
|
||||
if not AEnabled then
|
||||
Font.Color := dxColor_Msc_Dis_Caption_WXP;
|
||||
if not AEnabled then
|
||||
begin
|
||||
OffsetRect(ARect, 1, 1);
|
||||
Font.Color := clBtnHighlight;
|
||||
DoDrawText;
|
||||
OffsetRect(ARect, -1, -1);
|
||||
Font.Color := clBtnShadow;
|
||||
DoDrawText;
|
||||
end
|
||||
else
|
||||
DoDrawText;
|
||||
end;
|
||||
end;
|
||||
23.09.2007 - SESS - unused *)
|
||||
|
||||
procedure JvXPFrame3D(const ACanvas: TCanvas; const ARect: TRect;
|
||||
const TopColor, BottomColor: TColor; const Swapped: Boolean = False);
|
||||
var
|
||||
ATopColor, ABottomColor: TColor;
|
||||
begin
|
||||
ATopColor := TopColor;
|
||||
ABottomColor := BottomColor;
|
||||
if Swapped then
|
||||
begin
|
||||
ATopColor := BottomColor;
|
||||
ABottomColor := TopColor;
|
||||
end;
|
||||
with ACanvas do
|
||||
begin
|
||||
Pen.Color := ATopColor;
|
||||
// 21.09.07 - SESS
|
||||
Polyline([
|
||||
Classes.Point(ARect.Left, ARect.Bottom - 1),
|
||||
Classes.Point(ARect.Left, ARect.Top),
|
||||
Classes.Point(ARect.Right - 1, ARect.Top)]);
|
||||
Pen.Color := ABottomColor;
|
||||
Polyline([
|
||||
Classes.Point(ARect.Right - 1, ARect.Top + 1),
|
||||
Classes.Point(ARect.Right - 1 , ARect.Bottom - 1),
|
||||
Classes.Point(ARect.Left, ARect.Bottom - 1)]);
|
||||
end;
|
||||
end;
|
||||
|
||||
(* 23.09.2007 - SESS - unused
|
||||
procedure JvXPColorizeBitmap(Bitmap: TBitmap; const AColor: TColor);
|
||||
var
|
||||
ColorMap: TBitmap;
|
||||
Rect: TRect;
|
||||
begin
|
||||
Rect := Bounds(0, 0, Bitmap.Width, Bitmap.Height);
|
||||
ColorMap := TBitmap.Create;
|
||||
try
|
||||
ColorMap.Assign(Bitmap);
|
||||
Bitmap.FreeImage;
|
||||
with ColorMap.Canvas do
|
||||
begin
|
||||
Brush.Color := AColor;
|
||||
BrushCopy( Rect, Bitmap, Rect, clBlack);
|
||||
end;
|
||||
Bitmap.Assign(ColorMap);
|
||||
finally
|
||||
ColorMap.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure JvXPSetDrawFlags(const AAlignment: TAlignment; const AWordWrap: Boolean;
|
||||
var Flags: Integer);
|
||||
begin
|
||||
Flags := DT_END_ELLIPSIS;
|
||||
case AAlignment of
|
||||
taLeftJustify:
|
||||
Flags := Flags or DT_LEFT;
|
||||
taCenter:
|
||||
Flags := Flags or DT_CENTER;
|
||||
taRightJustify:
|
||||
Flags := Flags or DT_RIGHT;
|
||||
end;
|
||||
if not AWordWrap then
|
||||
Flags := Flags or DT_SINGLELINE
|
||||
else
|
||||
Flags := Flags or DT_WORDBREAK;
|
||||
end;
|
||||
|
||||
procedure JvXPPlaceText(const AParent: TControl; const ACanvas: TCanvas; const AText: TCaption;
|
||||
const AFont: TFont; const AEnabled, AShowAccelChar: Boolean; const AAlignment: TAlignment;
|
||||
const AWordWrap: Boolean; var Rect: TRect);
|
||||
var
|
||||
Flags, DX, OH, OW: Integer;
|
||||
begin
|
||||
OH := Rect.Bottom - Rect.Top;
|
||||
OW := Rect.Right - Rect.Left;
|
||||
JvXPSetDrawFlags(AAlignment, AWordWrap, Flags);
|
||||
JvXPRenderText(AParent, ACanvas, AText, AFont, AEnabled, AShowAccelChar, Rect,
|
||||
Flags or DT_CALCRECT);
|
||||
if AAlignment = taRightJustify then
|
||||
DX := OW - (Rect.Right + Rect.Left)
|
||||
else
|
||||
if AAlignment = taCenter then
|
||||
DX := (OW - Rect.Right) div 2
|
||||
else
|
||||
DX := 0;
|
||||
OffsetRect(Rect, DX, (OH - Rect.Bottom) div 2);
|
||||
JvXPRenderText(AParent, ACanvas, AText, AFont, AEnabled, AShowAccelChar, Rect, Flags);
|
||||
end;
|
||||
23.09.2007 - SESS - unused *)
|
||||
|
||||
end.
|
||||
|
Reference in New Issue
Block a user