Chart X grid, standard timeframes

This commit is contained in:
Michael Schimmel
2025-07-13 21:49:42 +02:00
parent 840904e42d
commit 4d67d9acbe
8 changed files with 619 additions and 165 deletions
+48 -2
View File
@@ -130,11 +130,56 @@ end;
procedure TMycNotifyList<T>.Notify(const Func: TNotifyProc);
var
Item: PItem;
Last: PItem;
tmp: PItem;
begin
Assert(IsLocked);
var rev: PItem := nil;
var tmp: PItem := nil;
while (FList <> nil) and Assigned(FList.Receiver) do
begin
Item := FList;
FList := Item.Next;
if Func(Item.Receiver) then
begin
Item.Next := rev;
rev := Item;
end
else
begin
// release the receiver
Item.Receiver := nil;
Item.Next := tmp;
tmp := Item;
end;
end;
while tmp <> nil do
begin
Item := tmp;
tmp := Item.Next;
Item.Prev := nil;
Item.Next := FList;
FList := Item;
if Item.Next <> nil then
Item.Next.Prev := Item;
end;
while rev <> nil do
begin
Item := rev;
rev := Item.Next;
Item.Prev := nil;
Item.Next := FList;
FList := Item;
if Item.Next <> nil then
Item.Next.Prev := Item;
end;
{
tmp := nil;
Last := nil;
Item := FList;
@@ -189,6 +234,7 @@ begin
if Item.Next <> nil then
Item.Next.Prev := Item;
end;
}
end;
procedure TMycNotifyList<T>.Release;