Files
lazarus-ccr/components/virtualtreeview-unstable/demos/vtbasic/VTreeData.pas
blikblum 28313808a3 Started PanningWindow implementation
Fixed some resource files

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@140 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-04-04 18:09:47 +00:00

86 lines
3.7 KiB
ObjectPascal

{*********************************************************************** }
{ File: VTreeData.pas }
{ }
{ Purpose: }
{ source file to demonstrate how to get started with VT (5) }
{ <-- Basic node data class wrapped in a record allowing for --> }
{ }
{ Credits: }
{ taken + modified from example by Sven H. (h.sven@gmx.at) }
{ }
{ Module Record: }
{ }
{ Date AP Details }
{ -------- -- -------------------------------------- }
{ 05-Nov-2002 TC Created (tomc@gripsystems.com) }
{**********************************************************************}
unit VTreeData;
{$mode delphi}
{$H+}
interface
uses
LCLIntf, Messages, SysUtils, Classes, Graphics, VirtualTrees;
type
// declare common node class
TBasicNodeData =
class
protected
FCaption : shortstring;
FID : longint;
FImageIndex : longint;
FHasChanged : boolean;
public
constructor Create( const sCaption : shortstring; const iID, iIndex: longint);
property Caption : shortstring read FCaption write FCaption;
property ID : longint read FID write FID;
property ImageIndex : longint read FImageIndex write FImageIndex;
property HasChanged : boolean read FHasChanged write FHasChanged;
end;
// declare descendant node class
TBasicNodeAddData =
class(TBasicNodeData)
protected
FJobTitle : shortstring;
FAdd1 : shortstring;
FAdd2 : shortstring;
FAdd3 : shortstring;
public
property Add1 : shortstring read FAdd1 write FAdd1;
property Add2 : shortstring read FAdd2 write FAdd2;
property Add3 : shortstring read FAdd3 write FAdd3;
property JobTitle : shortstring read FJobTitle write FJobTitle;
end;
(*--------------------------------------------------------------------------------------
This is a very simple record we use to store data in the nodes.
Since the application is responsible to manage all data including the node's caption
this record can be considered as minimal requirement in all VT applications using this
method (as opposed to a pre-defined record). Note that this also means individual nodes
can store different descendants from TBasicNodeData
--------------------------------------------------------------------------------------*)
PBasicNodeRec= ^TBasicNodeRec;
TBasicNodeRec =
record
bnd : TBasicNodeData;
end;
implementation
constructor TBasicNodeData.Create( const sCaption : shortstring; const iID, iIndex: longint);
begin
inherited Create;
FCaption := sCaption;
FID := iID;
FImageIndex := iIndex;
end;
end.