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:
blikblum
2013-09-07 18:51:06 +00:00
parent 9327df59c7
commit d40caa283a
16 changed files with 113 additions and 212 deletions

View File

@ -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 + '}';

View File

@ -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>

View File

@ -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]

View File

@ -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>

View File

@ -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

View File

@ -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>

View File

@ -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}

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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] =

View File

@ -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>

View File

@ -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

View File

@ -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;

View File

@ -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)/"/>