You've already forked lazarus-ccr
* 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:
@ -94,9 +94,9 @@ type
|
||||
|
||||
end;
|
||||
|
||||
{ TForm1 }
|
||||
{ TMainForm }
|
||||
|
||||
TForm1 = class(TForm)
|
||||
TMainForm = class(TForm)
|
||||
Button1: TButton;
|
||||
btnDelete: TButton;
|
||||
Edit1: TEdit;
|
||||
@ -115,7 +115,12 @@ type
|
||||
procedure Button1Click(Sender: TObject);
|
||||
procedure MyTreeCompareNodes(Sender: TBaseVirtualTree; Node1,
|
||||
Node2: PVirtualNode; Column: TColumnIndex; var Result: Integer);
|
||||
{$if VTMajorVersion < 5}
|
||||
procedure MyTreeHeaderClick(Sender: TVTHeader; Column: TColumnIndex;
|
||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
{$else}
|
||||
procedure MyTreeHeaderClick(Sender: TVTHeader; HitInfo: TVTHeaderHitInfo);
|
||||
{$endif}
|
||||
procedure btnDeleteClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure MyTreePaintText(Sender: TBaseVirtualTree;
|
||||
@ -134,16 +139,18 @@ type
|
||||
end;
|
||||
|
||||
var
|
||||
Form1: TForm1;
|
||||
MainForm: TMainForm;
|
||||
|
||||
MyArrayData: array of TMyRecord;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
uses
|
||||
Math;
|
||||
|
||||
procedure TForm1.MyTreeGetText(Sender: TBaseVirtualTree;
|
||||
procedure TMainForm.MyTreeGetText(Sender: TBaseVirtualTree;
|
||||
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
|
||||
var CellText: String);
|
||||
var
|
||||
@ -167,7 +174,7 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TForm1.Button1Click(Sender: TObject);
|
||||
procedure TMainForm.Button1Click(Sender: TObject);
|
||||
var
|
||||
Node: PVirtualNode;
|
||||
Data: ^rTreeData;
|
||||
@ -213,7 +220,7 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TForm1.MyTreeCompareNodes(Sender: TBaseVirtualTree; Node1,
|
||||
procedure TMainForm.MyTreeCompareNodes(Sender: TBaseVirtualTree; Node1,
|
||||
Node2: PVirtualNode; Column: TColumnIndex; var Result: Integer);
|
||||
var
|
||||
n1,n2: ^rTreeData;
|
||||
@ -239,41 +246,50 @@ begin
|
||||
end
|
||||
end;
|
||||
|
||||
procedure TForm1.MyTreeHeaderClick(Sender: TVTHeader; HitInfo: TVTHeaderHitInfo);
|
||||
{$if VTMajorVersion < 5}
|
||||
procedure TMainForm.MyTreeHeaderClick(Sender: TVTHeader; Column: TColumnIndex;
|
||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
{$else}
|
||||
procedure TMainForm.MyTreeHeaderClick(Sender: TVTHeader; HitInfo: TVTHeaderHitInfo);
|
||||
{$endif}
|
||||
var
|
||||
Direction : TSortDirection;
|
||||
{$if VTMajorVersion >= 5}
|
||||
Column: TColumnIndex;
|
||||
Shift: TShiftState;
|
||||
{$endif}
|
||||
begin
|
||||
|
||||
{$if VTMajorVersion >= 5}
|
||||
Column := HitInfo.Column;
|
||||
Shift := HitInfo.Shift;
|
||||
{$endif}
|
||||
// Descending order with pressed Shift, otherwise Ascending
|
||||
// Or you can save Direction or use
|
||||
// MyTree.Header.SortDirection and MyTree.Header.SortColumn
|
||||
// to get automatically Descending/Ascending sorting
|
||||
// by only clicking on header
|
||||
with HitInfo do
|
||||
|
||||
if ssShift in Shift
|
||||
then
|
||||
Direction := sdDescending
|
||||
else
|
||||
Direction := sdAscending;
|
||||
|
||||
// Sort all columns except the second
|
||||
if Column<>1 then
|
||||
begin
|
||||
if ssShift in Shift
|
||||
then
|
||||
Direction := sdDescending
|
||||
else
|
||||
Direction := sdAscending;
|
||||
// Set direction image on the sorted column
|
||||
MyTree.Header.SortColumn := Column;
|
||||
|
||||
// Sort all columns except the second
|
||||
if Column<>1 then
|
||||
begin
|
||||
// Set direction image on the sorted column
|
||||
MyTree.Header.SortColumn := Column;
|
||||
// Set the right direction image
|
||||
MyTree.Header.SortDirection := Direction;
|
||||
|
||||
// Set the right direction image
|
||||
MyTree.Header.SortDirection := Direction;
|
||||
|
||||
// Sorting process
|
||||
MyTree.SortTree(Column, Direction);
|
||||
end;
|
||||
end;
|
||||
// Sorting process
|
||||
MyTree.SortTree(Column, Direction);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
procedure TForm1.btnDeleteClick(Sender: TObject);
|
||||
procedure TMainForm.btnDeleteClick(Sender: TObject);
|
||||
var
|
||||
Timer: cardinal;
|
||||
begin
|
||||
@ -291,7 +307,7 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TForm1.FormCreate(Sender: TObject);
|
||||
procedure TMainForm.FormCreate(Sender: TObject);
|
||||
const
|
||||
|
||||
ColumnParams: array[0..2] of
|
||||
@ -404,7 +420,7 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TForm1.MyTreeBeforeCellPaint(Sender: TBaseVirtualTree;
|
||||
procedure TMainForm.MyTreeBeforeCellPaint(Sender: TBaseVirtualTree;
|
||||
TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
|
||||
CellPaintMode: TVTCellPaintMode; CellRect: TRect; var ContentRect: TRect);
|
||||
begin
|
||||
@ -422,7 +438,7 @@ begin
|
||||
end
|
||||
end;
|
||||
|
||||
procedure TForm1.MyTreePaintText(Sender: TBaseVirtualTree;
|
||||
procedure TMainForm.MyTreePaintText(Sender: TBaseVirtualTree;
|
||||
const TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
|
||||
TextType: TVSTTextType);
|
||||
var
|
||||
@ -452,7 +468,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TForm1.MyTreeFreeNode(Sender: TBaseVirtualTree;
|
||||
procedure TMainForm.MyTreeFreeNode(Sender: TBaseVirtualTree;
|
||||
Node: PVirtualNode);
|
||||
var
|
||||
n1: ^rTreeData;
|
||||
@ -475,7 +491,7 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TForm1.MyTreeFocusChanged(Sender: TBaseVirtualTree;
|
||||
procedure TMainForm.MyTreeFocusChanged(Sender: TBaseVirtualTree;
|
||||
Node: PVirtualNode; Column: TColumnIndex);
|
||||
var
|
||||
n1: ^rTreeData;
|
||||
@ -498,12 +514,12 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
begin
|
||||
btnCleanAll.Click
|
||||
end;
|
||||
|
||||
procedure TForm1.btnCleanAllClick(Sender: TObject);
|
||||
procedure TMainForm.btnCleanAllClick(Sender: TObject);
|
||||
begin
|
||||
// Fast deletion of all your data and VST nodes
|
||||
|
||||
@ -516,7 +532,7 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TForm1.Edit2Change(Sender: TObject);
|
||||
procedure TMainForm.Edit2Change(Sender: TObject);
|
||||
var
|
||||
Node: PVirtualNode;
|
||||
ind: integer;
|
||||
@ -541,7 +557,5 @@ begin
|
||||
end
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$i Main.lrs}
|
||||
|
||||
end.
|
||||
|
Reference in New Issue
Block a user