Ensure to check/uncheck uninitialized nodes on check-click. Fixes issue #1542.

This commit is contained in:
Ansgar Becker
2009-12-17 23:59:41 +00:00
parent 17e6438a70
commit dfa981232c
2 changed files with 13 additions and 0 deletions

View File

@ -92,6 +92,7 @@ object frmTableTools: TfrmTableTools
TreeOptions.PaintOptions = [toHotTrack, toShowButtons, toShowDropmark, toShowTreeLines, toThemeAware, toUseBlendedImages, toUseExplorerTheme, toHideTreeLinesIfThemed]
OnChange = TreeObjectsChange
OnChecked = TreeObjectsChecked
OnChecking = TreeObjectsChecking
OnGetText = TreeObjectsGetText
OnPaintText = TreeObjectsPaintText
OnGetImageIndex = TreeObjectsGetImageIndex

View File

@ -101,6 +101,8 @@ type
Column: TColumnIndex; TextType: TVSTTextType);
procedure chkBulkTableEditCheckComboClick(Sender: TObject);
procedure TreeObjectsChange(Sender: TBaseVirtualTree; Node: PVirtualNode);
procedure TreeObjectsChecking(Sender: TBaseVirtualTree; Node: PVirtualNode; var NewState: TCheckState;
var Allowed: Boolean);
private
{ Private declarations }
FResults: TObjectList;
@ -342,6 +344,16 @@ begin
end;
procedure TfrmTableTools.TreeObjectsChecking(Sender: TBaseVirtualTree; Node: PVirtualNode;
var NewState: TCheckState; var Allowed: Boolean);
begin
// Ensure to also toggle check state of not yet initialized nodes
if Sender.GetNodeLevel(Node) = 1 then
Sender.ReinitChildren(Node, false);
Allowed := True;
end;
procedure TfrmTableTools.TreeObjectsGetImageIndex(Sender: TBaseVirtualTree; Node: PVirtualNode;
Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: Boolean; var ImageIndex: Integer);
begin