You've already forked lazarus-ccr
* Merge fixes from 4.8 branch
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1239 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -29,6 +29,21 @@ unit VirtualTrees;
|
|||||||
//
|
//
|
||||||
// January 2010 (j.wielicki@sotecware.net)
|
// January 2010 (j.wielicki@sotecware.net)
|
||||||
// - Improvement: Introduced 64-bit compatibility.
|
// - 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
|
||||||
@ -491,8 +506,6 @@ 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
|
||||||
@ -22316,8 +22329,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
|
|
||||||
DelphiCompat.DrawFrameControl(Canvas.Handle, R, DFC_BUTTON, ButtonType or ButtonState);
|
DrawFrameControl(Canvas.Handle, R, DFC_BUTTON, ButtonType or ButtonState);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -28357,8 +28370,7 @@ begin
|
|||||||
{$ifndef Gtk}
|
{$ifndef Gtk}
|
||||||
SetMapMode(Canvas.Handle, GetMapMode(TargetCanvas.Handle));
|
SetMapMode(Canvas.Handle, GetMapMode(TargetCanvas.Handle));
|
||||||
{$endif}
|
{$endif}
|
||||||
//Workaround to LCL bug 8626
|
SetWindowOrgEx(Canvas.Handle, Window.Left, 0, nil);
|
||||||
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.
|
||||||
@ -28671,7 +28683,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,{$ifndef Windows}-{$endif}Target.X, 0, nil);
|
SetWindowOrgEx(NodeBitmap.Canvas.Handle, 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
|
||||||
@ -30634,9 +30646,13 @@ 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
|
||||||
Style := Style or ES_MULTILINE;
|
//todo: delphi uses Multiline for all
|
||||||
|
//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;
|
||||||
@ -30852,8 +30868,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;
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<ProjectVersion Value=""/>
|
<StringTable Comments="" CompanyName="" FileDescription="" FileVersion="0.0.0.0" InternalName="" LegalCopyright="" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion=""/>
|
||||||
</VersionInfo>
|
</VersionInfo>
|
||||||
<PublishOptions>
|
<PublishOptions>
|
||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
@ -150,8 +150,13 @@
|
|||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="8"/>
|
<Version Value="9"/>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
|
<Parsing>
|
||||||
|
<SyntaxOptions>
|
||||||
|
<UseAnsiStrings Value="False"/>
|
||||||
|
</SyntaxOptions>
|
||||||
|
</Parsing>
|
||||||
<Other>
|
<Other>
|
||||||
<CompilerPath Value="$(CompPath)"/>
|
<CompilerPath Value="$(CompPath)"/>
|
||||||
</Other>
|
</Other>
|
||||||
|
@ -1,40 +1,41 @@
|
|||||||
object Form1: TForm1
|
object Form1: TForm1
|
||||||
Left = 188
|
Left = 188
|
||||||
Height = 437
|
Height = 434
|
||||||
Top = 104
|
Top = 104
|
||||||
Width = 612
|
Width = 648
|
||||||
ActiveControl = Button1
|
ActiveControl = MyTree
|
||||||
Caption = 'Form1'
|
Caption = 'Form1'
|
||||||
ClientHeight = 437
|
ClientHeight = 434
|
||||||
ClientWidth = 612
|
ClientWidth = 648
|
||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
Font.Name = 'MS Sans Serif'
|
Font.Name = 'MS Sans Serif'
|
||||||
OnClose = FormClose
|
OnClose = FormClose
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
LCLVersion = '0.9.27'
|
Position = poScreenCenter
|
||||||
|
LCLVersion = '0.9.29'
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 207
|
Left = 224
|
||||||
Height = 14
|
Height = 14
|
||||||
Top = 351
|
Top = 348
|
||||||
Width = 149
|
Width = 174
|
||||||
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 = 367
|
Left = 224
|
||||||
Height = 14
|
Height = 14
|
||||||
Top = 335
|
Top = 382
|
||||||
Width = 222
|
Width = 256
|
||||||
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 = 367
|
Left = 224
|
||||||
Height = 14
|
Height = 14
|
||||||
Top = 351
|
Top = 398
|
||||||
Width = 237
|
Width = 274
|
||||||
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
|
||||||
@ -42,7 +43,7 @@ object Form1: TForm1
|
|||||||
object Button1: TButton
|
object Button1: TButton
|
||||||
Left = 8
|
Left = 8
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 342
|
Top = 344
|
||||||
Width = 83
|
Width = 83
|
||||||
Anchors = [akLeft, akBottom]
|
Anchors = [akLeft, akBottom]
|
||||||
BorderSpacing.InnerBorder = 4
|
BorderSpacing.InnerBorder = 4
|
||||||
@ -53,7 +54,7 @@ object Form1: TForm1
|
|||||||
object btnDelete: TButton
|
object btnDelete: TButton
|
||||||
Left = 96
|
Left = 96
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 342
|
Top = 344
|
||||||
Width = 97
|
Width = 97
|
||||||
Anchors = [akLeft, akBottom]
|
Anchors = [akLeft, akBottom]
|
||||||
BorderSpacing.InnerBorder = 4
|
BorderSpacing.InnerBorder = 4
|
||||||
@ -62,18 +63,21 @@ object Form1: TForm1
|
|||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object Edit1: TEdit
|
object Edit1: TEdit
|
||||||
Left = 208
|
AnchorSideLeft.Control = Label1
|
||||||
Height = 21
|
AnchorSideLeft.Side = asrBottom
|
||||||
Top = 376
|
Left = 402
|
||||||
Width = 153
|
Height = 23
|
||||||
Anchors = [akRight, akBottom]
|
Top = 344
|
||||||
|
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 = 374
|
Top = 376
|
||||||
Width = 75
|
Width = 75
|
||||||
Anchors = [akLeft, akBottom]
|
Anchors = [akLeft, akBottom]
|
||||||
BorderSpacing.InnerBorder = 4
|
BorderSpacing.InnerBorder = 4
|
||||||
@ -82,25 +86,29 @@ object Form1: TForm1
|
|||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
end
|
end
|
||||||
object Edit2: TEdit
|
object Edit2: TEdit
|
||||||
Left = 368
|
AnchorSideLeft.Control = Label3
|
||||||
Height = 21
|
AnchorSideLeft.Side = asrBottom
|
||||||
Top = 378
|
Left = 502
|
||||||
|
Height = 23
|
||||||
|
Top = 394
|
||||||
Width = 97
|
Width = 97
|
||||||
Anchors = [akRight, akBottom]
|
Anchors = [akLeft, 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 = 321
|
Height = 326
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 605
|
Width = 641
|
||||||
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
|
||||||
@ -115,6 +123,7 @@ 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,11 +13,10 @@
|
|||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<ProjectVersion Value=""/>
|
<StringTable Comments="" CompanyName="" FileDescription="" FileVersion="0.0.0.0" InternalName="" LegalCopyright="" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion=""/>
|
||||||
</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>
|
||||||
@ -52,8 +51,13 @@
|
|||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="8"/>
|
<Version Value="9"/>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
|
<Parsing>
|
||||||
|
<SyntaxOptions>
|
||||||
|
<UseAnsiStrings Value="False"/>
|
||||||
|
</SyntaxOptions>
|
||||||
|
</Parsing>
|
||||||
<Linking>
|
<Linking>
|
||||||
<Options>
|
<Options>
|
||||||
<Win32>
|
<Win32>
|
||||||
|
@ -10,10 +10,12 @@ 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.27'
|
LCLVersion = '0.9.29'
|
||||||
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
|
||||||
@ -22,10 +24,12 @@ 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
|
||||||
@ -46,6 +50,7 @@ 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,11 +13,10 @@
|
|||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<ProjectVersion Value=""/>
|
<StringTable Comments="" CompanyName="" FileDescription="" FileVersion="0.0.0.0" InternalName="" LegalCopyright="" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion=""/>
|
||||||
</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>
|
||||||
@ -43,17 +42,22 @@
|
|||||||
</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="8"/>
|
<Version Value="9"/>
|
||||||
<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,7 +17,6 @@
|
|||||||
</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,10 +2,11 @@
|
|||||||
<CONFIG>
|
<CONFIG>
|
||||||
<ProjectOptions>
|
<ProjectOptions>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Version Value="6"/>
|
<Version Value="7"/>
|
||||||
<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"/>
|
||||||
@ -16,7 +17,6 @@
|
|||||||
</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,11 +45,10 @@
|
|||||||
</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,7 +11,6 @@
|
|||||||
<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>
|
||||||
@ -26,7 +25,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">
|
||||||
@ -46,8 +45,8 @@
|
|||||||
</Unit0>
|
</Unit0>
|
||||||
<Unit1>
|
<Unit1>
|
||||||
<Filename Value="fmain.pas"/>
|
<Filename Value="fmain.pas"/>
|
||||||
<ComponentName Value="MainForm"/>
|
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
|
<ComponentName Value="MainForm"/>
|
||||||
<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 = VT
|
ActiveControl = Panel1
|
||||||
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,9 +14,11 @@ object frmVTNoData: TfrmVTNoData
|
|||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnDestroy = FormDestroy
|
OnDestroy = FormDestroy
|
||||||
Position = poDefaultPosOnly
|
Position = poDefaultPosOnly
|
||||||
LCLVersion = '0.9.27'
|
LCLVersion = '0.9.29'
|
||||||
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
|
||||||
@ -31,9 +33,10 @@ 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
|
||||||
@ -64,7 +67,7 @@ object frmVTNoData: TfrmVTNoData
|
|||||||
Left = 9
|
Left = 9
|
||||||
Height = 14
|
Height = 14
|
||||||
Top = 9
|
Top = 9
|
||||||
Width = 76
|
Width = 82
|
||||||
Alignment = taCenter
|
Alignment = taCenter
|
||||||
Caption = 'VT.TreeOptions'
|
Caption = 'VT.TreeOptions'
|
||||||
Font.Color = clRed
|
Font.Color = clRed
|
||||||
@ -75,27 +78,27 @@ object frmVTNoData: TfrmVTNoData
|
|||||||
end
|
end
|
||||||
object chkCheckBoxes: TCheckBox
|
object chkCheckBoxes: TCheckBox
|
||||||
Left = 180
|
Left = 180
|
||||||
Height = 17
|
Height = 22
|
||||||
Top = 7
|
Top = 7
|
||||||
Width = 81
|
Width = 93
|
||||||
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 = 17
|
Height = 22
|
||||||
Top = 7
|
Top = 7
|
||||||
Width = 75
|
Width = 86
|
||||||
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 = 17
|
Height = 22
|
||||||
Top = 7
|
Top = 7
|
||||||
Width = 74
|
Width = 86
|
||||||
Caption = 'Show Level'
|
Caption = 'Show Level'
|
||||||
OnClick = chkShowLevelClick
|
OnClick = chkShowLevelClick
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
|
@ -167,7 +167,9 @@ 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] =
|
||||||
@ -191,7 +193,8 @@ 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,7 +17,6 @@
|
|||||||
</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>
|
||||||
@ -50,9 +49,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>
|
||||||
@ -63,17 +62,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>
|
||||||
@ -84,24 +83,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
|
||||||
gtkdef, gdk2, GTKProc, Cairo;
|
gtk2def, gdk2, GTK2Proc, 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: TGtkDeviceContext): Pcairo_t;
|
function GetContext(GtkDC: TGtk2DeviceContext): 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: TGtkDeviceContext absolute Source;
|
SrcDC: TGtk2DeviceContext absolute Source;
|
||||||
DestDC: TGtkDeviceContext absolute Destination;
|
DestDC: TGtk2DeviceContext absolute Destination;
|
||||||
SrcContext, DestContext: Pcairo_t;
|
SrcContext, DestContext: Pcairo_t;
|
||||||
begin
|
begin
|
||||||
case Mode of
|
case Mode of
|
||||||
|
@ -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 Americo)"/>
|
<Author Value="Mike Lischke (LCL Port: Luiz Américo)"/>
|
||||||
<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=" Moziall Public License 1.1 (MPL 1.1) or GNU Lesser General Public License
|
<License Value=" Mozilla Public License 1.1 (MPL 1.1) or GNU Lesser General Public License
|
||||||
"/>
|
"/>
|
||||||
<Version Major="4" Minor="5" Release="1"/>
|
<Version Major="4" Minor="8" Release="6"/>
|
||||||
<Files Count="7">
|
<Files Count="7">
|
||||||
<Item1>
|
<Item1>
|
||||||
<Filename Value="virtualtrees.lrs"/>
|
<Filename Value="virtualtrees.lrs"/>
|
||||||
@ -51,16 +51,13 @@
|
|||||||
</Item7>
|
</Item7>
|
||||||
</Files>
|
</Files>
|
||||||
<Type Value="RunAndDesignTime"/>
|
<Type Value="RunAndDesignTime"/>
|
||||||
<RequiredPkgs Count="3">
|
<RequiredPkgs Count="2">
|
||||||
<Item1>
|
<Item1>
|
||||||
<PackageName Value="multiloglaz"/>
|
<PackageName Value="lclextensions_package"/>
|
||||||
</Item1>
|
</Item1>
|
||||||
<Item2>
|
<Item2>
|
||||||
<PackageName Value="lclextensions_package"/>
|
|
||||||
</Item2>
|
|
||||||
<Item3>
|
|
||||||
<PackageName Value="LCL"/>
|
<PackageName Value="LCL"/>
|
||||||
</Item3>
|
</Item2>
|
||||||
</RequiredPkgs>
|
</RequiredPkgs>
|
||||||
<UsageOptions>
|
<UsageOptions>
|
||||||
<UnitPath Value="$(PkgOutDir)/"/>
|
<UnitPath Value="$(PkgOutDir)/"/>
|
||||||
|
Reference in New Issue
Block a user