const
{$IFDEF PAIDVERS}
SDLVersionInfo = 'folderTree_r1210_full';
IsLightEd = false;
{$ELSE}
SDLVersionInfo = 'folderTree_r1210_lighted';
IsLightEd = true;
{$ENDIF}
Release = 1210;
type
TFolderOptTypes = (fotSymLinks, fotHidden, fotSystem);
TFolderOptions = set of TFolderOptTypes;
{$IFDEF GE_LEV29}
[ComponentPlatformsAttribute(pidWin32 or pidWin64 or pidWin64x)]
{$ENDIF}
TFolderTree = class(TCustomTreeView)
private
FDirectory : string;
FUseOldStyle : boolean;
DirNames : TStringList;
FColorBak : TColor;
FOnDirChange : TNotifyEvent;
FOptions : TFolderOptions;
function PathOfNode (node: TTreeNode): string;
function GetEnabled: boolean;
procedure SetEnabled (Value: boolean);
protected
procedure BuildMainTree;
procedure Change(Node: TTreeNode); override;
procedure CreateWnd; override;
procedure DirHasChanged;
procedure Loaded; override;
procedure SetUseOldStyle (value: boolean);
procedure SetOptions (Value: TFolderOptions);
procedure LoadDirNamesAndSort (CurrentDir: string;
DirList: TStringList);
procedure ProcessExpanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function GetColor: TColor;
procedure SetColor (Value: TColor);
function GetSubDirs (node: TTreeNode;
DirList: TStringList): boolean; overload;
function GetSubDirs (path: string;
DirList: TStringList): boolean; overload;
function MakeSubFolder (FolderName: string): boolean;
function RemoveSelectedFolder: boolean;
property Directory: string read FDirectory;
function RefreshTree: boolean;
procedure Reset;
function SelectPath (path: string): boolean;
published
property Align;
property Anchors;
property BevelInner;
property BevelOuter;
property BevelKind;
property BevelWidth;
property BorderStyle;
property BorderWidth;
property Color: TColor read GetColor write SetColor;
property Constraints;
property Cursor;
property Ctl3D;
property Enabled: boolean read GetEnabled write SetEnabled;
property Font;
property HotTrack;
property Indent;
property Options: TFolderOptions
read FOptions write SetOptions default [];
property ParentShowHint;
property ParentFont;
property PopupMenu;
property ShowButtons;
property ShowHint;
property ShowLines;
property ShowRoot;
{$IFDEF GE_LEV17}
property StyleElements;
{$ENDIF}
property TabOrder;
property TabStop;
property OldTreeStyle: boolean
read FUseOldStyle write SetUseOldStyle;
property Visible;
property OnChange;
property OnClick;
property OnDblClick;
property OnDirChanged: TNotifyEvent
read FOnDirChange write FOnDirChange;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyUp;
property OnKeyPress;
{$IFDEF GE_LEV10}
property OnMouseEnter;
property OnMouseLeave;
{$ENDIF}
property OnMouseDown;
end;
|