* 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

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