mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 01:09:25 +02:00
* Further development.
git-svn-id: trunk@3678 -
This commit is contained in:
parent
ea5aad0abb
commit
67e7f2cb1f
@ -28,9 +28,11 @@ type Pnode=^Tnode;
|
|||||||
function firstthat(test:pointer):pointer;
|
function firstthat(test:pointer):pointer;
|
||||||
procedure focused(i:sw_integer);virtual;
|
procedure focused(i:sw_integer);virtual;
|
||||||
procedure foreach(node:pointer);
|
procedure foreach(node:pointer);
|
||||||
function getgraph(level:integer;lines:longint;flags:word):string;
|
|
||||||
function getnumchildren(node:pointer):sw_integer;virtual;
|
|
||||||
function getchild(node:pointer;i:sw_integer):pointer;virtual;
|
function getchild(node:pointer;i:sw_integer):pointer;virtual;
|
||||||
|
function getgraph(level:integer;lines:longint;flags:word):string;
|
||||||
|
function getnode(i:sw_integer):pointer;virtual;
|
||||||
|
function getnumchildren(node:pointer):sw_integer;virtual;
|
||||||
|
function getroot:pointer;virtual;
|
||||||
function gettext(node:pointer):string;virtual;
|
function gettext(node:pointer):string;virtual;
|
||||||
function haschildren(node:pointer):boolean;virtual;
|
function haschildren(node:pointer):boolean;virtual;
|
||||||
function isexpanded(node:pointer):boolean;virtual;
|
function isexpanded(node:pointer):boolean;virtual;
|
||||||
@ -43,12 +45,15 @@ type Pnode=^Tnode;
|
|||||||
AHscrollbar,AVscrollbar:Pscrollbar;
|
AHscrollbar,AVscrollbar:Pscrollbar;
|
||||||
Aroot:Pnode);
|
Aroot:Pnode);
|
||||||
procedure adjust(node:pointer;expand:boolean);virtual;
|
procedure adjust(node:pointer;expand:boolean);virtual;
|
||||||
function getnumchildren(node:pointer):sw_integer;virtual;
|
|
||||||
function getchild(node:pointer;i:sw_integer):pointer;virtual;
|
function getchild(node:pointer;i:sw_integer):pointer;virtual;
|
||||||
|
function getnumchildren(node:pointer):sw_integer;virtual;
|
||||||
|
function getroot:pointer;virtual;
|
||||||
function gettext(node:pointer):string;virtual;
|
function gettext(node:pointer):string;virtual;
|
||||||
function haschildren(node:pointer):boolean;virtual;
|
function haschildren(node:pointer):boolean;virtual;
|
||||||
function isexpanded(node:pointer):boolean;virtual;
|
function isexpanded(node:pointer):boolean;virtual;
|
||||||
destructor done;virtual;
|
function isselected(node:pointer):boolean;virtual;
|
||||||
|
procedure selected(i:sw_integer);virtual;
|
||||||
|
procedure setstate(Astate:word;enable:boolean);virtual;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function newnode(const Atext:string;Achildren,Anext:Pnode):Pnode;
|
function newnode(const Atext:string;Achildren,Anext:Pnode):Pnode;
|
||||||
@ -59,6 +64,11 @@ procedure disposenode(node:Pnode);
|
|||||||
implementation
|
implementation
|
||||||
{***************************************************************************}
|
{***************************************************************************}
|
||||||
|
|
||||||
|
type TMyFunc = function(_EBP: Pointer; Cur: Pointer;
|
||||||
|
Level, Position: sw_integer; Lines: LongInt;
|
||||||
|
Flags: Word): Boolean;
|
||||||
|
|
||||||
|
|
||||||
function newnode(const Atext:string;Achildren,Anext:Pnode):Pnode;
|
function newnode(const Atext:string;Achildren,Anext:Pnode):Pnode;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
@ -81,6 +91,7 @@ begin
|
|||||||
disposenode(childlist);
|
disposenode(childlist);
|
||||||
if next<>nil then
|
if next<>nil then
|
||||||
disposenode(next)
|
disposenode(next)
|
||||||
|
disposestr(text);
|
||||||
end;
|
end;
|
||||||
dispose(node);
|
dispose(node);
|
||||||
end;
|
end;
|
||||||
@ -219,19 +230,30 @@ procedure Toutlineviewer.foreach(action:pointer);
|
|||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function Toutlineviewer.getchild(node:pointer;i:sw_integer):pointer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
abstract;
|
||||||
|
end;
|
||||||
|
|
||||||
function Toutlineviewer.getgraph(level:integer;lines:longint;
|
function Toutlineviewer.getgraph(level:integer;lines:longint;
|
||||||
flags:word):string;
|
flags:word):string;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function Toutlineviewer.getnode(i:sw_integer):pointer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
end;
|
||||||
|
|
||||||
function Toutlineviewer.getnumchildren(node:pointer):sw_integer;
|
function Toutlineviewer.getnumchildren(node:pointer):sw_integer;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
abstract;
|
abstract;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function Toutlineviewer.getchild(node:pointer;i:sw_integer):pointer;
|
function Toutlineviewer.getroot:pointer;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
abstract;
|
abstract;
|
||||||
@ -252,13 +274,30 @@ end;
|
|||||||
function Toutlineviewer.isexpanded(node:pointer):boolean;
|
function Toutlineviewer.isexpanded(node:pointer):boolean;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
abstract;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor Toutlineviewer.done;virtual;
|
function Toutlineviewer.isexpanded(i:sw_integer):boolean;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
isexpanded:=foc=i;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure Toutlineviewer.selected(i:sw_integer);
|
||||||
|
|
||||||
|
begin
|
||||||
|
{Does nothing by default.}
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Toutlineviewer.setstate(Astate:word;enable:boolean);
|
||||||
|
|
||||||
|
begin
|
||||||
|
if Astate and sffocused<>0 then
|
||||||
|
drawview;
|
||||||
|
inherited setstate(Astate);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
|
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
|
||||||
{ Toutline object methods }
|
{ Toutline object methods }
|
||||||
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
|
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
|
||||||
@ -310,6 +349,12 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function Toutlineviewer.getroot:pointer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
getroot:=root;
|
||||||
|
end;
|
||||||
|
|
||||||
function Toutline.gettext(node:pointer):string;
|
function Toutline.gettext(node:pointer):string;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user