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