Commit b74604ab authored by Jucelino Fonseca's avatar Jucelino Fonseca

Ajustes e testes

parent fd27e393
......@@ -119,6 +119,7 @@ type
function GetNumeroDeStringOID (piString : string) : string;
procedure CopiaTextoObjeto (piObjeto : TTreeNode);
function BuscaParcialClasse(piCLasse: string; piFiltrar: boolean): boolean;
function BuscarParcialNodeClasse(piClassTicket : acClassTicket; piFiltrar: boolean): boolean;
protected
procedure CreateParams(var Params : TCreateParams); override;
function Connect : acPersistenceSession;
......@@ -537,6 +538,36 @@ begin
end;
function TExplorerV2.BuscarParcialNodeClasse( piClassTicket : acClassTicket;
piFiltrar: boolean): boolean;
var lEnumeratorChild : acEnumerator;
lClassTicketChild : acClassTicket;
begin
result := false;
lEnumeratorChild := piClassTicket.DirectDescendants.GetEnumerator;
try
while not lEnumeratorChild.EOL do
begin
lClassTicketChild := acClassTicket(lEnumeratorChild.Current);
if BuscaParcialClasse(lClassTicketChild.PersistentObjectClassName,piFiltrar) then
begin
result := true;
break;
end
else if BuscarParcialNodeClasse(lClassTicketChild,piFiltrar) then
begin
result := true;
break;
end;
lEnumeratorChild.MoveNext;
end;
finally
lEnumeratorChild.Free;
end;
end;
procedure TExplorerV2.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
......@@ -687,8 +718,11 @@ var lClassTicketChild,
lEnumeratorChild,
lEnumerator: acEnumerator;
li: integer;
lNodeParent,
lNodePatriarc,
targetNode : TTreeNode;
lFiltroIgualFilho,
lbIncluir,
lFiltroIgualPai,
lAchei,
lFiltro : boolean;
begin
......@@ -706,6 +740,7 @@ begin
begin
lClassTicket := acClassTicket(lEnumerator.Current);
lAchei := false;
lFiltroIgualFilho := false;
if not Assigned(lClassTicket.ParentClassTicket) then
begin
if BuscaParcialClasse(lClassTicket.PersistentObjectClassName,lFiltro) then
......@@ -714,7 +749,15 @@ begin
end
else if lClassTicket.HasDescendants then
begin
lEnumeratorChild := lClassTicket.DirectDescendants.GetEnumerator;
if BuscarParcialNodeClasse(lClassTicket,lFiltro) then
begin
if not Assigned(Node.Owner.FindNodeWithData(lClassTicket)) then
begin
lAchei := true;
lFiltroIgualFilho := true;
end;
end;
{lEnumeratorChild := lClassTicket.DirectDescendants.GetEnumerator;
try
while not lEnumeratorChild.EOL do
begin
......@@ -724,13 +767,14 @@ begin
if not Assigned(Node.Owner.FindNodeWithData(lClassTicket)) then
begin
lAchei := true;
lFiltroIgualFilho := true;
end;
end;
lEnumeratorChild.MoveNext;
end;
finally
lEnumeratorChild.Free;
end;
end; }
end;
end;
if lAchei then
......@@ -738,6 +782,10 @@ begin
targetNode := Node.Owner.AddChildObject(Node, lClassTicket.PersistentObjectClassName, lClassTicket);
targetNode.ImageIndex := 6;
targetNode.HasChildren := True;
if lFiltroIgualFilho then
begin
targetNode.Expanded := true;
end;
end;
lEnumerator.MoveNext;
end;
......@@ -819,12 +867,25 @@ begin
//Carrega os filhos
lEnumerator := lClassTicket.DirectDescendants.GetEnumerator;
try
if Assigned(lClassTicket.PatriarcClassTicket) then
begin
lFiltroIgualPai := BuscaParcialClasse(lClassTicket.PatriarcClassTicket.PersistentObjectClassName,lFiltro);
end
else
begin
lFiltroIgualPai := BuscaParcialClasse(lClassTicket.PersistentObjectClassName,lFiltro);
end;
while not lEnumerator.EOL do
begin
lClassTicketChild := acClassTicket(lEnumerator.Current);
targetNode := Node.Owner.AddChildObject(Node, lClassTicketChild.PersistentObjectClassName, lClassTicketChild);
targetNode.ImageIndex := 6;
targetNode.HasChildren := True;
lFiltroIgualFilho := BuscaParcialClasse(lClassTicketChild.PersistentObjectClassName,lFiltro);
lbIncluir := lFiltroIgualPai or lFiltroIgualFilho;
if lbIncluir then
begin
targetNode := Node.Owner.AddChildObject(Node, lClassTicketChild.PersistentObjectClassName, lClassTicketChild);
targetNode.ImageIndex := 6;
targetNode.HasChildren := True;
end;
lEnumerator.MoveNext;
end;
finally
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment