* Change from lazarus resources to native resources / fix checkimage painting / use pascal packarray in carbon / update demos

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4671 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
blikblum
2016-05-28 17:45:09 +00:00
parent 40e70b8c3e
commit 734a8fd99c
61 changed files with 869 additions and 672 deletions

View File

@ -21,12 +21,9 @@ uses
Windows,
{$endif}
LCLIntf, delphicompat, LCLType, SysUtils, Classes, ComCtrls, Graphics, Controls, Forms, Dialogs,
VirtualTrees, StdCtrls, shlobjext, LResources, FileUtil;
VirtualTrees, StdCtrls, shlobjext, LResources;
type
{ TDrawTreeForm }
TDrawTreeForm = class(TForm)
VDT1: TVirtualDrawTree;
Label7: TLabel;
@ -45,7 +42,8 @@ type
var Ghosted: Boolean; var Index: Integer);
procedure VDT1GetNodeWidth(Sender: TBaseVirtualTree; Canvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
var NodeWidth: Integer);
procedure VDT1HeaderClick(Sender: TVTHeader; HitInfo: TVTHeaderHitInfo);
procedure VDT1HeaderClick(Sender: TVTHeader; Column: TColumnIndex; Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
procedure VDT1InitChildren(Sender: TBaseVirtualTree; Node: PVirtualNode; var ChildCount: Cardinal);
procedure VDT1InitNode(Sender: TBaseVirtualTree; ParentNode, Node: PVirtualNode;
var InitialStates: TVirtualNodeInitStates);
@ -69,8 +67,10 @@ var
implementation
{$R *.lfm}
uses
States;
LazFileUtils, States;
//----------------------------------------------------------------------------------------------------------------------
@ -516,34 +516,6 @@ begin
end;
end;
procedure TDrawTreeForm.VDT1HeaderClick(Sender: TVTHeader;
HitInfo: TVTHeaderHitInfo);
begin
with HitInfo do
if Button = mbLeft then
begin
with Sender do
begin
if Column <> MainColumn then
SortColumn := NoColumn
else
begin
if SortColumn = NoColumn then
begin
SortColumn := Column;
SortDirection := sdAscending;
end
else
if SortDirection = sdAscending then
SortDirection := sdDescending
else
SortDirection := sdAscending;
Treeview.SortTree(SortColumn, SortDirection, False);
end;
end;
end;
end;
//----------------------------------------------------------------------------------------------------------------------
procedure TDrawTreeForm.VDT1InitChildren(Sender: TBaseVirtualTree; Node: PVirtualNode; var ChildCount: Cardinal);
@ -704,6 +676,37 @@ end;
//----------------------------------------------------------------------------------------------------------------------
procedure TDrawTreeForm.VDT1HeaderClick(Sender: TVTHeader; Column: TColumnIndex; Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);
// Click handler to switch the column on which will be sorted. Since we cannot sort image data sorting is actually
// limited to the main column.
begin
if Button = mbLeft then
begin
with Sender do
begin
if Column <> MainColumn then
SortColumn := NoColumn
else
begin
if SortColumn = NoColumn then
begin
SortColumn := Column;
SortDirection := sdAscending;
end
else
if SortDirection = sdAscending then
SortDirection := sdDescending
else
SortDirection := sdAscending;
Treeview.SortTree(SortColumn, SortDirection, False);
end;
end;
end;
end;
//----------------------------------------------------------------------------------------------------------------------
procedure TDrawTreeForm.TrackBar1Change(Sender: TObject);
@ -743,9 +746,6 @@ begin
end;
//----------------------------------------------------------------------------------------------------------------------
initialization
{$I DrawTreeDemo.lrs}
end.