You've already forked lazarus-ccr
Revert changes done in trunk after creation of 4.8 branch
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2787 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -27,23 +27,6 @@ unit VirtualTrees;
|
|||||||
// (C) 1999-2001 digital publishing AG. All Rights Reserved.
|
// (C) 1999-2001 digital publishing AG. All Rights Reserved.
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// January 2010 (j.wielicki@sotecware.net)
|
|
||||||
// - Improvement: Introduced 64-bit compatibility.
|
|
||||||
// January 2010
|
|
||||||
// - Bug fix: TBaseVirtualTree.AdjustTotalHeight now longer calculates wrong total heights if nodes have been
|
|
||||||
// made invisible
|
|
||||||
// - Bug fix: TCustomVirtualStringTree.OnMeasureTextWidth now works as intended
|
|
||||||
// - Bug fix: Added missing $IFDEFs concerning theming support
|
|
||||||
// - Bug fix: Removed default from properties TVirtualTreeColumn.Color and TVirtualTreeColumn.BiDiMode
|
|
||||||
// July 2009
|
|
||||||
// - Bug fix: TWorkerThread will no longer reference the tree after it has been destroyed (Mantis issue #384)
|
|
||||||
// - Bug fix: TBaseVirtualTree.InternalConnectNode checked the expanded state of the wrong node if Mode was
|
|
||||||
// amAddChildFirst or amAddChildLast
|
|
||||||
// June 2009
|
|
||||||
// - Bug fix: fixed some issues concerning the vista theme handling
|
|
||||||
// - Improvement: removed hidden node handling in this branch
|
|
||||||
// - Improvement: reverted header click handling to old version to keep compatibility in this branch
|
|
||||||
// - Improvement: removed TVTPaintOption toHideTreeLinesIfThemed
|
|
||||||
// May 2009
|
// May 2009
|
||||||
// - Improvement: new TVTMiscOption toEditOnClick, toEditOnDblClick to control if editing can be started with a single
|
// - Improvement: new TVTMiscOption toEditOnClick, toEditOnDblClick to control if editing can be started with a single
|
||||||
// click or a double click
|
// click or a double click
|
||||||
@ -322,10 +305,6 @@ interface
|
|||||||
{$define ManualClipNeeded}
|
{$define ManualClipNeeded}
|
||||||
{$endif}
|
{$endif}
|
||||||
|
|
||||||
{$ifdef CPU64}
|
|
||||||
{$asmmode ATT}
|
|
||||||
{$endif}
|
|
||||||
|
|
||||||
uses
|
uses
|
||||||
{$ifdef Windows}
|
{$ifdef Windows}
|
||||||
Windows,
|
Windows,
|
||||||
@ -506,6 +485,8 @@ type
|
|||||||
Result: Integer;
|
Result: Integer;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
TLMContextMenu = TLMMouse;
|
||||||
|
|
||||||
// Be careful when adding new states as this might change the size of the type which in turn
|
// Be careful when adding new states as this might change the size of the type which in turn
|
||||||
// changes the alignment in the node record as well as the stream chunks.
|
// changes the alignment in the node record as well as the stream chunks.
|
||||||
// Do not reorder the states and always add new states at the end of this enumeration in order to avoid
|
// Do not reorder the states and always add new states at the end of this enumeration in order to avoid
|
||||||
@ -2016,9 +1997,9 @@ type
|
|||||||
TVTDragAllowedEvent = procedure(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex;
|
TVTDragAllowedEvent = procedure(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex;
|
||||||
var Allowed: Boolean) of object;
|
var Allowed: Boolean) of object;
|
||||||
TVTDragOverEvent = procedure(Sender: TBaseVirtualTree; Source: TObject; Shift: TShiftState; State: TDragState;
|
TVTDragOverEvent = procedure(Sender: TBaseVirtualTree; Source: TObject; Shift: TShiftState; State: TDragState;
|
||||||
const Pt: TPoint; Mode: TDropMode; var Effect: PtrUInt; var Accept: Boolean) of object;
|
const Pt: TPoint; Mode: TDropMode; var Effect: Integer; var Accept: Boolean) of object;
|
||||||
TVTDragDropEvent = procedure(Sender: TBaseVirtualTree; Source: TObject; DataObject: IDataObject;
|
TVTDragDropEvent = procedure(Sender: TBaseVirtualTree; Source: TObject; DataObject: IDataObject;
|
||||||
Formats: TFormatArray; Shift: TShiftState; const Pt: TPoint; var Effect: PtrUInt; Mode: TDropMode) of object;
|
Formats: TFormatArray; Shift: TShiftState; const Pt: TPoint; var Effect: Integer; Mode: TDropMode) of object;
|
||||||
TVTRenderOLEDataEvent = procedure(Sender: TBaseVirtualTree; const FormatEtcIn: TFormatEtc; out Medium: TStgMedium;
|
TVTRenderOLEDataEvent = procedure(Sender: TBaseVirtualTree; const FormatEtcIn: TFormatEtc; out Medium: TStgMedium;
|
||||||
ForClipboard: Boolean; var Result: HRESULT) of object;
|
ForClipboard: Boolean; var Result: HRESULT) of object;
|
||||||
TVTGetUserClipboardFormatsEvent = procedure(Sender: TBaseVirtualTree; var Formats: TFormatEtcArray) of object;
|
TVTGetUserClipboardFormatsEvent = procedure(Sender: TBaseVirtualTree; var Formats: TFormatEtcArray) of object;
|
||||||
@ -2175,7 +2156,7 @@ type
|
|||||||
FDragHeight: Integer; // size of the drag image, the larger the more CPU power is needed
|
FDragHeight: Integer; // size of the drag image, the larger the more CPU power is needed
|
||||||
FClipboardFormats: TClipboardFormats; // a list of clipboard format descriptions enabled for this tree
|
FClipboardFormats: TClipboardFormats; // a list of clipboard format descriptions enabled for this tree
|
||||||
FLastVCLDragTarget: PVirtualNode; // A node cache for VCL drag'n drop (keywords: DragLeave on DragDrop).
|
FLastVCLDragTarget: PVirtualNode; // A node cache for VCL drag'n drop (keywords: DragLeave on DragDrop).
|
||||||
FVCLDragEffect: PtrUInt; // A cache for VCL drag'n drop to keep the current drop effect.
|
FVCLDragEffect: LongWord; // A cache for VCL drag'n drop to keep the current drop effect.
|
||||||
|
|
||||||
// scroll support
|
// scroll support
|
||||||
FScrollBarOptions: TScrollBarOptions; // common properties of horizontal and vertical scrollbar
|
FScrollBarOptions: TScrollBarOptions; // common properties of horizontal and vertical scrollbar
|
||||||
@ -2595,9 +2576,9 @@ type
|
|||||||
function DoDragMsg(ADragMessage: TDragMessage; APosition: TPoint;
|
function DoDragMsg(ADragMessage: TDragMessage; APosition: TPoint;
|
||||||
ADragObject: TDragObject; ATarget: TControl; ADocking: Boolean): LRESULT; override;
|
ADragObject: TDragObject; ATarget: TControl; ADocking: Boolean): LRESULT; override;
|
||||||
function DoDragOver(Source: TObject; Shift: TShiftState; State: TDragState; const Pt: TPoint; Mode: TDropMode;
|
function DoDragOver(Source: TObject; Shift: TShiftState; State: TDragState; const Pt: TPoint; Mode: TDropMode;
|
||||||
var Effect: PtrUInt): Boolean; virtual;
|
var Effect: LongWord): Boolean; virtual;
|
||||||
procedure DoDragDrop(Source: TObject; DataObject: IDataObject; Formats: TFormatArray; Shift: TShiftState; const Pt: TPoint;
|
procedure DoDragDrop(Source: TObject; DataObject: IDataObject; Formats: TFormatArray; Shift: TShiftState; const Pt: TPoint;
|
||||||
var Effect: PtrUInt; Mode: TDropMode); virtual;
|
var Effect: LongWord; Mode: TDropMode); virtual;
|
||||||
procedure DoEdit; virtual;
|
procedure DoEdit; virtual;
|
||||||
procedure DoEndDrag(Target: TObject; X, Y: Integer); override;
|
procedure DoEndDrag(Target: TObject; X, Y: Integer); override;
|
||||||
function DoEndEdit: Boolean; virtual;
|
function DoEndEdit: Boolean; virtual;
|
||||||
@ -2668,12 +2649,12 @@ type
|
|||||||
DragEffect: Integer); virtual;
|
DragEffect: Integer); virtual;
|
||||||
procedure DragCanceled; override;
|
procedure DragCanceled; override;
|
||||||
function DragDrop(const DataObject: IDataObject; KeyState: Integer; Pt: TPoint;
|
function DragDrop(const DataObject: IDataObject; KeyState: Integer; Pt: TPoint;
|
||||||
var Effect: PtrUInt): HResult; reintroduce; virtual;
|
var Effect: LongWord): HResult; reintroduce; virtual;
|
||||||
function DragEnter(KeyState: Integer; Pt: TPoint; var Effect: PtrUInt): HResult; virtual;
|
function DragEnter(KeyState: Integer; Pt: TPoint; var Effect: LongWord): HResult; virtual;
|
||||||
procedure DragFinished; virtual;
|
procedure DragFinished; virtual;
|
||||||
procedure DragLeave; virtual;
|
procedure DragLeave; virtual;
|
||||||
function DragOver(Source: TObject; KeyState: Integer; DragState: TDragState; Pt: TPoint;
|
function DragOver(Source: TObject; KeyState: Integer; DragState: TDragState; Pt: TPoint;
|
||||||
var Effect: PtrUInt): HResult; reintroduce; virtual;
|
var Effect: LongWord): HResult; reintroduce; virtual;
|
||||||
procedure DrawDottedHLine(const PaintInfo: TVTPaintInfo; Left, Right, Top: Integer); virtual;
|
procedure DrawDottedHLine(const PaintInfo: TVTPaintInfo; Left, Right, Top: Integer); virtual;
|
||||||
procedure DrawDottedVLine(const PaintInfo: TVTPaintInfo; Top, Bottom, Left: Integer); virtual;
|
procedure DrawDottedVLine(const PaintInfo: TVTPaintInfo; Top, Bottom, Left: Integer); virtual;
|
||||||
procedure EndOperation;
|
procedure EndOperation;
|
||||||
@ -4846,7 +4827,7 @@ end;
|
|||||||
function HasMMX: Boolean;
|
function HasMMX: Boolean;
|
||||||
|
|
||||||
// Helper method to determine whether the current processor supports MMX.
|
// Helper method to determine whether the current processor supports MMX.
|
||||||
{$IFDEF CPU32}
|
|
||||||
asm
|
asm
|
||||||
PUSH EBX
|
PUSH EBX
|
||||||
XOR EAX, EAX // Result := False
|
XOR EAX, EAX // Result := False
|
||||||
@ -4875,12 +4856,6 @@ asm
|
|||||||
@1:
|
@1:
|
||||||
POP EBX
|
POP EBX
|
||||||
end;
|
end;
|
||||||
{$ELSE}
|
|
||||||
begin
|
|
||||||
//todo: should not all cpu64 have mmx?
|
|
||||||
Result := False;
|
|
||||||
end;
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
{$ifdef EnablePrint}
|
{$ifdef EnablePrint}
|
||||||
@ -13156,51 +13131,6 @@ function TBaseVirtualTree.PackArrayAsm(TheArray: TNodeArray; Count: Integer): In
|
|||||||
// The returned value is the number of remaining entries in the array, so the caller can reallocate (shorten)
|
// The returned value is the number of remaining entries in the array, so the caller can reallocate (shorten)
|
||||||
// the selection array if needed or -1 if nothing needs to be changed.
|
// the selection array if needed or -1 if nothing needs to be changed.
|
||||||
|
|
||||||
{$IFDEF CPU64}
|
|
||||||
label
|
|
||||||
PreScan, DoMainLoop, MainLoop, Skip, Finish;
|
|
||||||
asm
|
|
||||||
push %rbx
|
|
||||||
push %rdi
|
|
||||||
push %rsi
|
|
||||||
mov %rdx, %rsi
|
|
||||||
mov $-1, %rdx
|
|
||||||
cmpq $0, %rcx
|
|
||||||
jz Finish
|
|
||||||
inc %rdx
|
|
||||||
mov %rsi, %rdi
|
|
||||||
movq $1, %rbx
|
|
||||||
PreScan:
|
|
||||||
testq (%rsi), %rbx
|
|
||||||
|
|
||||||
jnz DoMainLoop
|
|
||||||
inc %rdx
|
|
||||||
add $8, %rsi
|
|
||||||
dec %rcx
|
|
||||||
jnz PreScan
|
|
||||||
jmp Finish
|
|
||||||
DoMainLoop:
|
|
||||||
mov %rsi, %rdi
|
|
||||||
MainLoop:
|
|
||||||
test (%rsi), %rbx
|
|
||||||
jne Skip
|
|
||||||
movq (%rsi), %r10
|
|
||||||
movq %r10, (%rdi)
|
|
||||||
inc %rdx
|
|
||||||
dec %rcx
|
|
||||||
jnz MainLoop
|
|
||||||
jmp Finish
|
|
||||||
Skip:
|
|
||||||
add $8, %rsi
|
|
||||||
dec %rcx
|
|
||||||
jnz MainLoop
|
|
||||||
Finish:
|
|
||||||
mov %rdx, %rax
|
|
||||||
pop %rsi
|
|
||||||
pop %rdi
|
|
||||||
pop %rbx
|
|
||||||
end;
|
|
||||||
{$ELSE}
|
|
||||||
asm
|
asm
|
||||||
PUSH EBX
|
PUSH EBX
|
||||||
PUSH EDI
|
PUSH EDI
|
||||||
@ -13242,7 +13172,6 @@ asm
|
|||||||
POP EDI
|
POP EDI
|
||||||
POP EBX
|
POP EBX
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -14757,7 +14686,7 @@ begin
|
|||||||
|
|
||||||
// Allowed drop effects are simulated for VCL dd.
|
// Allowed drop effects are simulated for VCL dd.
|
||||||
Result := DROPEFFECT_MOVE or DROPEFFECT_COPY;
|
Result := DROPEFFECT_MOVE or DROPEFFECT_COPY;
|
||||||
DragOver(S, ShiftState, TDragState(ADragMessage), APosition, PtrUInt(Result));
|
DragOver(S, ShiftState, TDragState(ADragMessage), APosition, LongWord(Result));
|
||||||
FLastVCLDragTarget := FDropTargetNode;
|
FLastVCLDragTarget := FDropTargetNode;
|
||||||
FVCLDragEffect := Result;
|
FVCLDragEffect := Result;
|
||||||
if (ADragMessage = dmDragLeave) and Assigned(FDropTargetNode) then
|
if (ADragMessage = dmDragLeave) and Assigned(FDropTargetNode) then
|
||||||
@ -15120,6 +15049,7 @@ var
|
|||||||
ScrollLines: DWORD;
|
ScrollLines: DWORD;
|
||||||
RTLFactor: Integer;
|
RTLFactor: Integer;
|
||||||
WheelFactor: Double;
|
WheelFactor: Double;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
//todo: rename to WM*
|
//todo: rename to WM*
|
||||||
{$ifdef DEBUG_VTV}Logger.EnterMethod([lcScroll],'CMMouseWheel');{$endif}
|
{$ifdef DEBUG_VTV}Logger.EnterMethod([lcScroll],'CMMouseWheel');{$endif}
|
||||||
@ -18476,7 +18406,7 @@ end;
|
|||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
function TBaseVirtualTree.DoDragOver(Source: TObject; Shift: TShiftState; State: TDragState; const Pt: TPoint; Mode: TDropMode;
|
function TBaseVirtualTree.DoDragOver(Source: TObject; Shift: TShiftState; State: TDragState; const Pt: TPoint; Mode: TDropMode;
|
||||||
var Effect: PtrUInt): Boolean;
|
var Effect: LongWord): Boolean;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
@ -18487,7 +18417,7 @@ end;
|
|||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
procedure TBaseVirtualTree.DoDragDrop(Source: TObject; DataObject: IDataObject; Formats: TFormatArray;
|
procedure TBaseVirtualTree.DoDragDrop(Source: TObject; DataObject: IDataObject; Formats: TFormatArray;
|
||||||
Shift: TShiftState; const Pt: TPoint; var Effect: PtrUInt; Mode: TDropMode);
|
Shift: TShiftState; const Pt: TPoint; var Effect: LongWord; Mode: TDropMode);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if Assigned(FOnDragDrop) then
|
if Assigned(FOnDragDrop) then
|
||||||
@ -19669,7 +19599,7 @@ end;
|
|||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
function TBaseVirtualTree.DragDrop(const DataObject: IDataObject; KeyState: Integer; Pt: TPoint;
|
function TBaseVirtualTree.DragDrop(const DataObject: IDataObject; KeyState: Integer; Pt: TPoint;
|
||||||
var Effect: PtrUInt): HResult;
|
var Effect: LongWord): HResult;
|
||||||
|
|
||||||
var
|
var
|
||||||
Shift: TShiftState;
|
Shift: TShiftState;
|
||||||
@ -19735,7 +19665,7 @@ end;
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
function TBaseVirtualTree.DragEnter(KeyState: Integer; Pt: TPoint; var Effect: PtrUInt): HResult;
|
function TBaseVirtualTree.DragEnter(KeyState: Integer; Pt: TPoint; var Effect: LongWord): HResult;
|
||||||
|
|
||||||
// callback routine for the drop target interface
|
// callback routine for the drop target interface
|
||||||
|
|
||||||
@ -19826,7 +19756,7 @@ end;
|
|||||||
procedure TBaseVirtualTree.DragLeave;
|
procedure TBaseVirtualTree.DragLeave;
|
||||||
|
|
||||||
var
|
var
|
||||||
Effect: PtrUInt;
|
Effect: LongWord;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
KillTimer(Handle, ExpandTimer);
|
KillTimer(Handle, ExpandTimer);
|
||||||
@ -19848,7 +19778,7 @@ end;
|
|||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
function TBaseVirtualTree.DragOver(Source: TObject; KeyState: Integer; DragState: TDragState; Pt: TPoint;
|
function TBaseVirtualTree.DragOver(Source: TObject; KeyState: Integer; DragState: TDragState; Pt: TPoint;
|
||||||
var Effect: PtrUInt): HResult;
|
var Effect: LongWord): HResult;
|
||||||
|
|
||||||
// callback routine for the drop target interface
|
// callback routine for the drop target interface
|
||||||
|
|
||||||
@ -22328,8 +22258,8 @@ procedure TBaseVirtualTree.PaintCheckImage(const PaintInfo: TVTPaintInfo);
|
|||||||
ButtonState := ButtonState or DFCS_CHECKED;
|
ButtonState := ButtonState or DFCS_CHECKED;
|
||||||
if Flat then
|
if Flat then
|
||||||
ButtonState := ButtonState or DFCS_FLAT;
|
ButtonState := ButtonState or DFCS_FLAT;
|
||||||
|
//lcl DrawFrameControl is different from windows
|
||||||
DrawFrameControl(Canvas.Handle, R, DFC_BUTTON, ButtonType or ButtonState);
|
DelphiCompat.DrawFrameControl(Canvas.Handle, R, DFC_BUTTON, ButtonType or ButtonState);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -28369,7 +28299,8 @@ begin
|
|||||||
{$ifndef Gtk}
|
{$ifndef Gtk}
|
||||||
SetMapMode(Canvas.Handle, GetMapMode(TargetCanvas.Handle));
|
SetMapMode(Canvas.Handle, GetMapMode(TargetCanvas.Handle));
|
||||||
{$endif}
|
{$endif}
|
||||||
SetWindowOrgEx(Canvas.Handle, Window.Left, 0, nil);
|
//Workaround to LCL bug 8626
|
||||||
|
SetWindowOrgEx(Canvas.Handle, {$ifdef Gtk}-{$endif}Window.Left, 0, nil);
|
||||||
R.Bottom := PaintInfo.Node.NodeHeight;
|
R.Bottom := PaintInfo.Node.NodeHeight;
|
||||||
end;
|
end;
|
||||||
// Set the origin of the canvas' brush. This depends on the node heights.
|
// Set the origin of the canvas' brush. This depends on the node heights.
|
||||||
@ -28682,7 +28613,7 @@ begin
|
|||||||
{$ifdef DEBUG_VTV}Logger.Send([lcPaintDetails],'TargetRect',TargetRect);{$endif}
|
{$ifdef DEBUG_VTV}Logger.Send([lcPaintDetails],'TargetRect',TargetRect);{$endif}
|
||||||
{$ifdef DEBUG_VTV}Logger.Send([lcPaintDetails],'NodeBitmap Width: %d Height: %d',[NodeBitmap.Width,NodeBitmap.Height]);{$endif}
|
{$ifdef DEBUG_VTV}Logger.Send([lcPaintDetails],'NodeBitmap Width: %d Height: %d',[NodeBitmap.Width,NodeBitmap.Height]);{$endif}
|
||||||
// Call back application/descendants whether they want to erase this area.
|
// Call back application/descendants whether they want to erase this area.
|
||||||
SetWindowOrgEx(NodeBitmap.Canvas.Handle, Target.X, 0, nil);
|
SetWindowOrgEx(NodeBitmap.Canvas.Handle,{$ifndef Windows}-{$endif}Target.X, 0, nil);
|
||||||
if not DoPaintBackground(NodeBitmap.Canvas, TargetRect) then
|
if not DoPaintBackground(NodeBitmap.Canvas, TargetRect) then
|
||||||
begin
|
begin
|
||||||
if UseBackground then
|
if UseBackground then
|
||||||
@ -30645,13 +30576,9 @@ begin
|
|||||||
// This does not harm formatting as single line control, if we don't use word wrapping.
|
// This does not harm formatting as single line control, if we don't use word wrapping.
|
||||||
with Params do
|
with Params do
|
||||||
begin
|
begin
|
||||||
//todo: delphi uses Multiline for all
|
Style := Style or ES_MULTILINE;
|
||||||
//Style := Style or ES_MULTILINE;
|
|
||||||
if vsMultiline in FLink.FNode.States then
|
if vsMultiline in FLink.FNode.States then
|
||||||
begin
|
|
||||||
Style := Style and not (ES_AUTOHSCROLL or WS_HSCROLL) or WS_VSCROLL or ES_AUTOVSCROLL;
|
Style := Style and not (ES_AUTOHSCROLL or WS_HSCROLL) or WS_VSCROLL or ES_AUTOVSCROLL;
|
||||||
Style := Style or ES_MULTILINE;
|
|
||||||
end;
|
|
||||||
if tsUseThemes in FLink.FTree.FStates then
|
if tsUseThemes in FLink.FTree.FStates then
|
||||||
begin
|
begin
|
||||||
Style := Style and not WS_BORDER;
|
Style := Style and not WS_BORDER;
|
||||||
@ -30867,8 +30794,8 @@ constructor TCustomVirtualStringTree.Create(AOwner: TComponent);
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
if (Owner = nil) or (([csReading, csDesigning] * Owner.ComponentState) = [csDesigning]) then
|
|
||||||
FDefaultText := 'Node';
|
FDefaultText := 'Node';
|
||||||
FInternalDataOffset := AllocateInternalDataArea(SizeOf(Cardinal));
|
FInternalDataOffset := AllocateInternalDataArea(SizeOf(Cardinal));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -32178,7 +32105,7 @@ var
|
|||||||
I: Integer;
|
I: Integer;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
I := Colors.IndexOf(Pointer(ptruint(Color)));
|
I := Colors.IndexOf(Pointer(Color));
|
||||||
if I > -1 then
|
if I > -1 then
|
||||||
begin
|
begin
|
||||||
// Color has already been used
|
// Color has already been used
|
||||||
@ -32191,7 +32118,7 @@ var
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
I := Colors.Add(Pointer(ptruint(Color)));
|
I := Colors.Add(Pointer(Color));
|
||||||
Buffer.Add('\cf');
|
Buffer.Add('\cf');
|
||||||
Buffer.Add(IntToStr(I + 1));
|
Buffer.Add(IntToStr(I + 1));
|
||||||
CurrentFontColor := I;
|
CurrentFontColor := I;
|
||||||
@ -32445,7 +32372,7 @@ begin
|
|||||||
S := S + '{\colortbl;';
|
S := S + '{\colortbl;';
|
||||||
for I := 0 to Colors.Count - 1 do
|
for I := 0 to Colors.Count - 1 do
|
||||||
begin
|
begin
|
||||||
J := ColorToRGB(TColor(ptruint(Colors[I])));
|
J := ColorToRGB(TColor(Colors[I]));
|
||||||
S := S + Format('\red%d\green%d\blue%d;', [J and $FF, (J shr 8) and $FF, (J shr 16) and $FF]);
|
S := S + Format('\red%d\green%d\blue%d;', [J and $FF, (J shr 8) and $FF, (J shr 16) and $FF]);
|
||||||
end;
|
end;
|
||||||
S := S + '}';
|
S := S + '}';
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<StringTable Comments="" CompanyName="" FileDescription="" FileVersion="0.0.0.0" InternalName="" LegalCopyright="" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion=""/>
|
<ProjectVersion Value=""/>
|
||||||
</VersionInfo>
|
</VersionInfo>
|
||||||
<PublishOptions>
|
<PublishOptions>
|
||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
@ -150,13 +150,8 @@
|
|||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="9"/>
|
<Version Value="8"/>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Parsing>
|
|
||||||
<SyntaxOptions>
|
|
||||||
<UseAnsiStrings Value="False"/>
|
|
||||||
</SyntaxOptions>
|
|
||||||
</Parsing>
|
|
||||||
<Other>
|
<Other>
|
||||||
<CompilerPath Value="$(CompPath)"/>
|
<CompilerPath Value="$(CompPath)"/>
|
||||||
</Other>
|
</Other>
|
||||||
|
@ -1,41 +1,40 @@
|
|||||||
object Form1: TForm1
|
object Form1: TForm1
|
||||||
Left = 188
|
Left = 188
|
||||||
Height = 434
|
Height = 437
|
||||||
Top = 104
|
Top = 104
|
||||||
Width = 648
|
Width = 612
|
||||||
ActiveControl = MyTree
|
ActiveControl = Button1
|
||||||
Caption = 'Form1'
|
Caption = 'Form1'
|
||||||
ClientHeight = 434
|
ClientHeight = 437
|
||||||
ClientWidth = 648
|
ClientWidth = 612
|
||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
Font.Name = 'MS Sans Serif'
|
Font.Name = 'MS Sans Serif'
|
||||||
OnClose = FormClose
|
OnClose = FormClose
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
Position = poScreenCenter
|
LCLVersion = '0.9.27'
|
||||||
LCLVersion = '0.9.29'
|
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 224
|
Left = 207
|
||||||
Height = 14
|
Height = 14
|
||||||
Top = 348
|
Top = 351
|
||||||
Width = 174
|
Width = 149
|
||||||
Anchors = [akRight, akBottom]
|
Anchors = [akRight, akBottom]
|
||||||
Caption = 'Array data of the clicked node:'
|
Caption = 'Array data of the clicked node'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
object Label2: TLabel
|
object Label2: TLabel
|
||||||
Left = 224
|
Left = 367
|
||||||
Height = 14
|
Height = 14
|
||||||
Top = 382
|
Top = 335
|
||||||
Width = 256
|
Width = 222
|
||||||
Anchors = [akRight, akBottom]
|
Anchors = [akRight, akBottom]
|
||||||
Caption = 'Find and show the node by specific array index'
|
Caption = 'Find and show the node by specific array index'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
object Label3: TLabel
|
object Label3: TLabel
|
||||||
Left = 224
|
Left = 367
|
||||||
Height = 14
|
Height = 14
|
||||||
Top = 398
|
Top = 351
|
||||||
Width = 274
|
Width = 237
|
||||||
Anchors = [akRight, akBottom]
|
Anchors = [akRight, akBottom]
|
||||||
Caption = 'Type index to get related tree node on the screen:'
|
Caption = 'Type index to get related tree node on the screen:'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
@ -43,7 +42,7 @@ object Form1: TForm1
|
|||||||
object Button1: TButton
|
object Button1: TButton
|
||||||
Left = 8
|
Left = 8
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 344
|
Top = 342
|
||||||
Width = 83
|
Width = 83
|
||||||
Anchors = [akLeft, akBottom]
|
Anchors = [akLeft, akBottom]
|
||||||
BorderSpacing.InnerBorder = 4
|
BorderSpacing.InnerBorder = 4
|
||||||
@ -54,7 +53,7 @@ object Form1: TForm1
|
|||||||
object btnDelete: TButton
|
object btnDelete: TButton
|
||||||
Left = 96
|
Left = 96
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 344
|
Top = 342
|
||||||
Width = 97
|
Width = 97
|
||||||
Anchors = [akLeft, akBottom]
|
Anchors = [akLeft, akBottom]
|
||||||
BorderSpacing.InnerBorder = 4
|
BorderSpacing.InnerBorder = 4
|
||||||
@ -63,21 +62,18 @@ object Form1: TForm1
|
|||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object Edit1: TEdit
|
object Edit1: TEdit
|
||||||
AnchorSideLeft.Control = Label1
|
Left = 208
|
||||||
AnchorSideLeft.Side = asrBottom
|
Height = 21
|
||||||
Left = 402
|
Top = 376
|
||||||
Height = 23
|
Width = 153
|
||||||
Top = 344
|
Anchors = [akRight, akBottom]
|
||||||
Width = 170
|
|
||||||
Anchors = [akLeft, akBottom]
|
|
||||||
BorderSpacing.Left = 4
|
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
end
|
end
|
||||||
object btnCleanAll: TButton
|
object btnCleanAll: TButton
|
||||||
Left = 56
|
Left = 56
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 376
|
Top = 374
|
||||||
Width = 75
|
Width = 75
|
||||||
Anchors = [akLeft, akBottom]
|
Anchors = [akLeft, akBottom]
|
||||||
BorderSpacing.InnerBorder = 4
|
BorderSpacing.InnerBorder = 4
|
||||||
@ -86,29 +82,25 @@ object Form1: TForm1
|
|||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
end
|
end
|
||||||
object Edit2: TEdit
|
object Edit2: TEdit
|
||||||
AnchorSideLeft.Control = Label3
|
Left = 368
|
||||||
AnchorSideLeft.Side = asrBottom
|
Height = 21
|
||||||
Left = 502
|
Top = 378
|
||||||
Height = 23
|
|
||||||
Top = 394
|
|
||||||
Width = 97
|
Width = 97
|
||||||
Anchors = [akLeft, akBottom]
|
Anchors = [akRight, akBottom]
|
||||||
BorderSpacing.Left = 4
|
|
||||||
OnChange = Edit2Change
|
OnChange = Edit2Change
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
end
|
end
|
||||||
object MyTree: TVirtualStringTree
|
object MyTree: TVirtualStringTree
|
||||||
Left = 3
|
Left = 3
|
||||||
Height = 326
|
Height = 321
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 641
|
Width = 605
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
AutoScrollDelay = 1
|
AutoScrollDelay = 1
|
||||||
|
BorderStyle = bsSingle
|
||||||
DefaultText = 'Node'
|
DefaultText = 'Node'
|
||||||
Header.AutoSizeIndex = 0
|
|
||||||
Header.Columns = <
|
Header.Columns = <
|
||||||
item
|
item
|
||||||
Position = 0
|
|
||||||
Text = 'Text'
|
Text = 'Text'
|
||||||
Width = 150
|
Width = 150
|
||||||
end
|
end
|
||||||
@ -123,7 +115,6 @@ object Form1: TForm1
|
|||||||
Text = 'Random'
|
Text = 'Random'
|
||||||
Width = 100
|
Width = 100
|
||||||
end>
|
end>
|
||||||
Header.DefaultHeight = 17
|
|
||||||
Header.Font.Height = -11
|
Header.Font.Height = -11
|
||||||
Header.Font.Name = 'MS Sans Serif'
|
Header.Font.Name = 'MS Sans Serif'
|
||||||
Header.Options = [hoColumnResize, hoDblClickResize, hoDrag, hoShowSortGlyphs, hoVisible]
|
Header.Options = [hoColumnResize, hoDblClickResize, hoDrag, hoShowSortGlyphs, hoVisible]
|
||||||
|
@ -13,10 +13,11 @@
|
|||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<StringTable Comments="" CompanyName="" FileDescription="" FileVersion="0.0.0.0" InternalName="" LegalCopyright="" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion=""/>
|
<ProjectVersion Value=""/>
|
||||||
</VersionInfo>
|
</VersionInfo>
|
||||||
<PublishOptions>
|
<PublishOptions>
|
||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
|
<DestinationDirectory Value="$(TestDir)\publishedproject\"/>
|
||||||
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||||
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
||||||
</PublishOptions>
|
</PublishOptions>
|
||||||
@ -51,13 +52,8 @@
|
|||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="9"/>
|
<Version Value="8"/>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Parsing>
|
|
||||||
<SyntaxOptions>
|
|
||||||
<UseAnsiStrings Value="False"/>
|
|
||||||
</SyntaxOptions>
|
|
||||||
</Parsing>
|
|
||||||
<Linking>
|
<Linking>
|
||||||
<Options>
|
<Options>
|
||||||
<Win32>
|
<Win32>
|
||||||
|
@ -10,12 +10,10 @@ object Form1: TForm1
|
|||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
Font.Name = 'MS Sans Serif'
|
Font.Name = 'MS Sans Serif'
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
LCLVersion = '0.9.29'
|
LCLVersion = '0.9.27'
|
||||||
object VST1: TVirtualStringTree
|
object VST1: TVirtualStringTree
|
||||||
Cursor = 63
|
Cursor = 63
|
||||||
Left = 0
|
|
||||||
Height = 440
|
Height = 440
|
||||||
Top = 0
|
|
||||||
Width = 500
|
Width = 500
|
||||||
Align = alClient
|
Align = alClient
|
||||||
CheckImageKind = ckXP
|
CheckImageKind = ckXP
|
||||||
@ -24,12 +22,10 @@ object Form1: TForm1
|
|||||||
DragMode = dmAutomatic
|
DragMode = dmAutomatic
|
||||||
DragOperations = [doCopy, doMove, doLink]
|
DragOperations = [doCopy, doMove, doLink]
|
||||||
DrawSelectionMode = smBlendedRectangle
|
DrawSelectionMode = smBlendedRectangle
|
||||||
Header.AutoSizeIndex = 0
|
|
||||||
Header.Columns = <
|
Header.Columns = <
|
||||||
item
|
item
|
||||||
Hint = 'Glavna kolona'
|
Hint = 'Glavna kolona'
|
||||||
ImageIndex = 0
|
ImageIndex = 0
|
||||||
Position = 0
|
|
||||||
Text = 'Main'
|
Text = 'Main'
|
||||||
Width = 200
|
Width = 200
|
||||||
end
|
end
|
||||||
@ -50,7 +46,6 @@ object Form1: TForm1
|
|||||||
Text = 'Percent'
|
Text = 'Percent'
|
||||||
Width = 150
|
Width = 150
|
||||||
end>
|
end>
|
||||||
Header.DefaultHeight = 17
|
|
||||||
Header.Font.Height = -11
|
Header.Font.Height = -11
|
||||||
Header.Font.Name = 'MS Sans Serif'
|
Header.Font.Name = 'MS Sans Serif'
|
||||||
Header.Height = 24
|
Header.Height = 24
|
||||||
|
@ -13,10 +13,11 @@
|
|||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<StringTable Comments="" CompanyName="" FileDescription="" FileVersion="0.0.0.0" InternalName="" LegalCopyright="" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion=""/>
|
<ProjectVersion Value=""/>
|
||||||
</VersionInfo>
|
</VersionInfo>
|
||||||
<PublishOptions>
|
<PublishOptions>
|
||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
|
<DestinationDirectory Value="$(TestDir)\publishedproject\"/>
|
||||||
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||||
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
||||||
</PublishOptions>
|
</PublishOptions>
|
||||||
@ -42,22 +43,17 @@
|
|||||||
</Unit0>
|
</Unit0>
|
||||||
<Unit1>
|
<Unit1>
|
||||||
<Filename Value="Unit1.pas"/>
|
<Filename Value="Unit1.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
|
||||||
<ComponentName Value="Form1"/>
|
<ComponentName Value="Form1"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="Unit1"/>
|
<UnitName Value="Unit1"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="9"/>
|
<Version Value="8"/>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Parsing>
|
|
||||||
<SyntaxOptions>
|
|
||||||
<UseAnsiStrings Value="False"/>
|
|
||||||
</SyntaxOptions>
|
|
||||||
</Parsing>
|
|
||||||
<Linking>
|
<Linking>
|
||||||
<Options>
|
<Options>
|
||||||
<Win32>
|
<Win32>
|
||||||
|
@ -2,7 +2,7 @@ program images;
|
|||||||
|
|
||||||
{$mode objfpc}{$H+}
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
{.$define DEBUG_VTV}
|
{$define DEBUG_VTV}
|
||||||
|
|
||||||
uses
|
uses
|
||||||
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
</VersionInfo>
|
</VersionInfo>
|
||||||
<PublishOptions>
|
<PublishOptions>
|
||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
|
<DestinationDirectory Value="$(TestDir)\publishedproject\"/>
|
||||||
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||||
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
||||||
</PublishOptions>
|
</PublishOptions>
|
||||||
|
@ -2,11 +2,10 @@
|
|||||||
<CONFIG>
|
<CONFIG>
|
||||||
<ProjectOptions>
|
<ProjectOptions>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Version Value="7"/>
|
<Version Value="6"/>
|
||||||
<General>
|
<General>
|
||||||
<Flags>
|
<Flags>
|
||||||
<AlwaysBuild Value="False"/>
|
<AlwaysBuild Value="False"/>
|
||||||
<LRSInOutputDirectory Value="False"/>
|
|
||||||
</Flags>
|
</Flags>
|
||||||
<SessionStorage Value="InProjectDir"/>
|
<SessionStorage Value="InProjectDir"/>
|
||||||
<MainUnit Value="0"/>
|
<MainUnit Value="0"/>
|
||||||
@ -17,6 +16,7 @@
|
|||||||
</VersionInfo>
|
</VersionInfo>
|
||||||
<PublishOptions>
|
<PublishOptions>
|
||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
|
<DestinationDirectory Value="$(TestDir)\publishedproject\"/>
|
||||||
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||||
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
||||||
</PublishOptions>
|
</PublishOptions>
|
||||||
@ -45,10 +45,11 @@
|
|||||||
</Unit0>
|
</Unit0>
|
||||||
<Unit1>
|
<Unit1>
|
||||||
<Filename Value="MVCDemoMain.pas"/>
|
<Filename Value="MVCDemoMain.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
|
||||||
<ComponentName Value="fmMVCDemo"/>
|
<ComponentName Value="fmMVCDemo"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
|
<ResourceFilename Value="MVCDemoMain.lrs"/>
|
||||||
<UnitName Value="MVCDemoMain"/>
|
<UnitName Value="MVCDemoMain"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
<Unit2>
|
<Unit2>
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
<SessionStorage Value="InProjectDir"/>
|
<SessionStorage Value="InProjectDir"/>
|
||||||
<MainUnit Value="0"/>
|
<MainUnit Value="0"/>
|
||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
|
<Icon Value="0"/>
|
||||||
<UseXPManifest Value="True"/>
|
<UseXPManifest Value="True"/>
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
@ -25,7 +26,7 @@
|
|||||||
<RunParams>
|
<RunParams>
|
||||||
<local>
|
<local>
|
||||||
<FormatVersion Value="1"/>
|
<FormatVersion Value="1"/>
|
||||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||||
</local>
|
</local>
|
||||||
</RunParams>
|
</RunParams>
|
||||||
<RequiredPackages Count="2">
|
<RequiredPackages Count="2">
|
||||||
@ -45,8 +46,8 @@
|
|||||||
</Unit0>
|
</Unit0>
|
||||||
<Unit1>
|
<Unit1>
|
||||||
<Filename Value="fmain.pas"/>
|
<Filename Value="fmain.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
|
||||||
<ComponentName Value="MainForm"/>
|
<ComponentName Value="MainForm"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="fMain"/>
|
<UnitName Value="fMain"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
|
@ -3,7 +3,7 @@ object frmVTNoData: TfrmVTNoData
|
|||||||
Height = 346
|
Height = 346
|
||||||
Top = 154
|
Top = 154
|
||||||
Width = 401
|
Width = 401
|
||||||
ActiveControl = Panel1
|
ActiveControl = VT
|
||||||
Caption = 'Basic VT as a Tree (no node data used)'
|
Caption = 'Basic VT as a Tree (no node data used)'
|
||||||
ClientHeight = 346
|
ClientHeight = 346
|
||||||
ClientWidth = 401
|
ClientWidth = 401
|
||||||
@ -14,11 +14,9 @@ object frmVTNoData: TfrmVTNoData
|
|||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnDestroy = FormDestroy
|
OnDestroy = FormDestroy
|
||||||
Position = poDefaultPosOnly
|
Position = poDefaultPosOnly
|
||||||
LCLVersion = '0.9.29'
|
LCLVersion = '0.9.27'
|
||||||
object Panel1: TPanel
|
object Panel1: TPanel
|
||||||
Left = 0
|
|
||||||
Height = 346
|
Height = 346
|
||||||
Top = 0
|
|
||||||
Width = 401
|
Width = 401
|
||||||
Align = alClient
|
Align = alClient
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
@ -33,10 +31,9 @@ object frmVTNoData: TfrmVTNoData
|
|||||||
Top = 7
|
Top = 7
|
||||||
Width = 387
|
Width = 387
|
||||||
Align = alClient
|
Align = alClient
|
||||||
|
BorderStyle = bsSingle
|
||||||
DefaultText = 'Node'
|
DefaultText = 'Node'
|
||||||
Header.AutoSizeIndex = 0
|
|
||||||
Header.Columns = <>
|
Header.Columns = <>
|
||||||
Header.DefaultHeight = 17
|
|
||||||
Header.Font.Height = -11
|
Header.Font.Height = -11
|
||||||
Header.Font.Name = 'MS Shell Dlg 2'
|
Header.Font.Name = 'MS Shell Dlg 2'
|
||||||
Header.MainColumn = -1
|
Header.MainColumn = -1
|
||||||
@ -67,7 +64,7 @@ object frmVTNoData: TfrmVTNoData
|
|||||||
Left = 9
|
Left = 9
|
||||||
Height = 14
|
Height = 14
|
||||||
Top = 9
|
Top = 9
|
||||||
Width = 82
|
Width = 76
|
||||||
Alignment = taCenter
|
Alignment = taCenter
|
||||||
Caption = 'VT.TreeOptions'
|
Caption = 'VT.TreeOptions'
|
||||||
Font.Color = clRed
|
Font.Color = clRed
|
||||||
@ -78,27 +75,27 @@ object frmVTNoData: TfrmVTNoData
|
|||||||
end
|
end
|
||||||
object chkCheckBoxes: TCheckBox
|
object chkCheckBoxes: TCheckBox
|
||||||
Left = 180
|
Left = 180
|
||||||
Height = 22
|
Height = 17
|
||||||
Top = 7
|
Top = 7
|
||||||
Width = 93
|
Width = 81
|
||||||
Caption = 'Check Boxes'
|
Caption = 'Check Boxes'
|
||||||
OnClick = chkCheckBoxesClick
|
OnClick = chkCheckBoxesClick
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
object chkFullExpand: TCheckBox
|
object chkFullExpand: TCheckBox
|
||||||
Left = 100
|
Left = 100
|
||||||
Height = 22
|
Height = 17
|
||||||
Top = 7
|
Top = 7
|
||||||
Width = 86
|
Width = 75
|
||||||
Caption = 'Full Expand'
|
Caption = 'Full Expand'
|
||||||
OnClick = chkFullExpandClick
|
OnClick = chkFullExpandClick
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object chkShowLevel: TCheckBox
|
object chkShowLevel: TCheckBox
|
||||||
Left = 271
|
Left = 271
|
||||||
Height = 22
|
Height = 17
|
||||||
Top = 7
|
Top = 7
|
||||||
Width = 86
|
Width = 74
|
||||||
Caption = 'Show Level'
|
Caption = 'Show Level'
|
||||||
OnClick = chkShowLevelClick
|
OnClick = chkShowLevelClick
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
|
@ -167,9 +167,7 @@ implementation
|
|||||||
'VariableNodeHeight',
|
'VariableNodeHeight',
|
||||||
'FullRowDrag',
|
'FullRowDrag',
|
||||||
'NodeHeightResize',
|
'NodeHeightResize',
|
||||||
'NodeHeightDblClickResize',
|
'NodeHeightDblClickResize'
|
||||||
'EditOnClick',
|
|
||||||
'EditOnDblClick'
|
|
||||||
);
|
);
|
||||||
|
|
||||||
aPaintOpts : array[0..Ord(High(TVTPaintOption ))] of string[25] =
|
aPaintOpts : array[0..Ord(High(TVTPaintOption ))] of string[25] =
|
||||||
@ -193,8 +191,7 @@ implementation
|
|||||||
'UseBlendedSelection', // Enable alpha blending for node selections.
|
'UseBlendedSelection', // Enable alpha blending for node selections.
|
||||||
'StaticBackground',
|
'StaticBackground',
|
||||||
'ChildrenAbove',
|
'ChildrenAbove',
|
||||||
'FixedIndent',
|
'FixedIndent'
|
||||||
'UseExplorerTheme'
|
|
||||||
);
|
);
|
||||||
|
|
||||||
aSelOpts : array[0..Ord(High(TVTSelectionOption))] of string[25] =
|
aSelOpts : array[0..Ord(High(TVTSelectionOption))] of string[25] =
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
</VersionInfo>
|
</VersionInfo>
|
||||||
<PublishOptions>
|
<PublishOptions>
|
||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
|
<DestinationDirectory Value="$(TestDir)\publishedproject\"/>
|
||||||
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||||
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
||||||
</PublishOptions>
|
</PublishOptions>
|
||||||
@ -49,9 +50,9 @@
|
|||||||
</Unit0>
|
</Unit0>
|
||||||
<Unit1>
|
<Unit1>
|
||||||
<Filename Value="Main.pas"/>
|
<Filename Value="Main.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
|
||||||
<ComponentName Value="frmMain"/>
|
<ComponentName Value="frmMain"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="Main"/>
|
<UnitName Value="Main"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
@ -62,17 +63,17 @@
|
|||||||
</Unit2>
|
</Unit2>
|
||||||
<Unit3>
|
<Unit3>
|
||||||
<Filename Value="VTNoData.pas"/>
|
<Filename Value="VTNoData.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
|
||||||
<ComponentName Value="frmVTNoData"/>
|
<ComponentName Value="frmVTNoData"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="VTNoData"/>
|
<UnitName Value="VTNoData"/>
|
||||||
</Unit3>
|
</Unit3>
|
||||||
<Unit4>
|
<Unit4>
|
||||||
<Filename Value="VTPropEdit.pas"/>
|
<Filename Value="VTPropEdit.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
|
||||||
<ComponentName Value="frmVTPropEdit"/>
|
<ComponentName Value="frmVTPropEdit"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="VTPropEdit"/>
|
<UnitName Value="VTPropEdit"/>
|
||||||
</Unit4>
|
</Unit4>
|
||||||
@ -83,24 +84,24 @@
|
|||||||
</Unit5>
|
</Unit5>
|
||||||
<Unit6>
|
<Unit6>
|
||||||
<Filename Value="ViewCode.pas"/>
|
<Filename Value="ViewCode.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
|
||||||
<ComponentName Value="frmViewCode"/>
|
<ComponentName Value="frmViewCode"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="ViewCode"/>
|
<UnitName Value="ViewCode"/>
|
||||||
</Unit6>
|
</Unit6>
|
||||||
<Unit7>
|
<Unit7>
|
||||||
<Filename Value="VTCheckList.pas"/>
|
<Filename Value="VTCheckList.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
|
||||||
<ComponentName Value="frmVTCheckList"/>
|
<ComponentName Value="frmVTCheckList"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="VTCheckList"/>
|
<UnitName Value="VTCheckList"/>
|
||||||
</Unit7>
|
</Unit7>
|
||||||
<Unit8>
|
<Unit8>
|
||||||
<Filename Value="VTDBExample.pas"/>
|
<Filename Value="VTDBExample.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
|
||||||
<ComponentName Value="frmVTDBExample"/>
|
<ComponentName Value="frmVTDBExample"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="VTDBExample"/>
|
<UnitName Value="VTDBExample"/>
|
||||||
</Unit8>
|
</Unit8>
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
uses
|
uses
|
||||||
gtk2def, gdk2, GTK2Proc, Cairo;
|
gtkdef, gdk2, GTKProc, Cairo;
|
||||||
|
|
||||||
|
|
||||||
function gdk_cairo_create(drawable: PGdkDrawable): Pcairo_t cdecl external gdklib;
|
function gdk_cairo_create(drawable: PGdkDrawable): Pcairo_t cdecl external gdklib;
|
||||||
|
|
||||||
procedure AlphaBlend(Source, Destination: HDC; const R: TRect; const Target: TPoint; Mode: TBlendMode; ConstantAlpha, Bias: Integer);
|
procedure AlphaBlend(Source, Destination: HDC; const R: TRect; const Target: TPoint; Mode: TBlendMode; ConstantAlpha, Bias: Integer);
|
||||||
|
|
||||||
function GetContext(GtkDC: TGtk2DeviceContext): Pcairo_t;
|
function GetContext(GtkDC: TGtkDeviceContext): Pcairo_t;
|
||||||
begin
|
begin
|
||||||
Result := nil;
|
Result := nil;
|
||||||
if (GtkDC <> nil) and (GtkDC.Drawable <> nil) then
|
if (GtkDC <> nil) and (GtkDC.Drawable <> nil) then
|
||||||
@ -14,8 +14,8 @@ procedure AlphaBlend(Source, Destination: HDC; const R: TRect; const Target: TPo
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
SrcDC: TGtk2DeviceContext absolute Source;
|
SrcDC: TGtkDeviceContext absolute Source;
|
||||||
DestDC: TGtk2DeviceContext absolute Destination;
|
DestDC: TGtkDeviceContext absolute Destination;
|
||||||
SrcContext, DestContext: Pcairo_t;
|
SrcContext, DestContext: Pcairo_t;
|
||||||
begin
|
begin
|
||||||
case Mode of
|
case Mode of
|
||||||
|
@ -613,7 +613,7 @@ end;
|
|||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
function TVTDragManager.DragEnter(const DataObject: IDataObject; KeyState: LongWord; Pt: TPoint;
|
function TVTDragManager.DragEnter(const DataObject: IDataObject; KeyState: LongWord; Pt: TPoint;
|
||||||
var Effect: PtrUInt): HResult;
|
var Effect: LongWord): HResult;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
FDataObject := DataObject;
|
FDataObject := DataObject;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<CONFIG>
|
<CONFIG>
|
||||||
<Package Version="3">
|
<Package Version="3">
|
||||||
<Name Value="virtualtreeview_package"/>
|
<Name Value="virtualtreeview_package"/>
|
||||||
<Author Value="Mike Lischke (LCL Port: Luiz Américo)"/>
|
<Author Value="Mike Lischke (LCL Port: Luiz Americo)"/>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="8"/>
|
<Version Value="8"/>
|
||||||
<SearchPaths>
|
<SearchPaths>
|
||||||
@ -16,9 +16,9 @@
|
|||||||
</CompilerOptions>
|
</CompilerOptions>
|
||||||
<Description Value="Virtual Treeview is an advanced component originally created for Delphi
|
<Description Value="Virtual Treeview is an advanced component originally created for Delphi
|
||||||
"/>
|
"/>
|
||||||
<License Value=" Mozilla Public License 1.1 (MPL 1.1) or GNU Lesser General Public License
|
<License Value=" Moziall Public License 1.1 (MPL 1.1) or GNU Lesser General Public License
|
||||||
"/>
|
"/>
|
||||||
<Version Major="4" Minor="8" Release="6"/>
|
<Version Major="4" Minor="5" Release="1"/>
|
||||||
<Files Count="7">
|
<Files Count="7">
|
||||||
<Item1>
|
<Item1>
|
||||||
<Filename Value="virtualtrees.lrs"/>
|
<Filename Value="virtualtrees.lrs"/>
|
||||||
@ -51,13 +51,16 @@
|
|||||||
</Item7>
|
</Item7>
|
||||||
</Files>
|
</Files>
|
||||||
<Type Value="RunAndDesignTime"/>
|
<Type Value="RunAndDesignTime"/>
|
||||||
<RequiredPkgs Count="2">
|
<RequiredPkgs Count="3">
|
||||||
<Item1>
|
<Item1>
|
||||||
<PackageName Value="lclextensions_package"/>
|
<PackageName Value="multiloglaz"/>
|
||||||
</Item1>
|
</Item1>
|
||||||
<Item2>
|
<Item2>
|
||||||
<PackageName Value="LCL"/>
|
<PackageName Value="lclextensions_package"/>
|
||||||
</Item2>
|
</Item2>
|
||||||
|
<Item3>
|
||||||
|
<PackageName Value="LCL"/>
|
||||||
|
</Item3>
|
||||||
</RequiredPkgs>
|
</RequiredPkgs>
|
||||||
<UsageOptions>
|
<UsageOptions>
|
||||||
<UnitPath Value="$(PkgOutDir)/"/>
|
<UnitPath Value="$(PkgOutDir)/"/>
|
||||||
|
Reference in New Issue
Block a user