Class TGlNestingInfo (unit Nestinfo) |
Inherits from
TComponent
Design time component that shows the nesting of controls
of the form on which it is placed. Special support for panels, splitters and the RxLib splitter.
Facilities for runtime usage (see Refresh).
Usage : Place on form and click on 'Nesting' in the object inspector.
Output can be modified by changing various properties of the component in the object inspector.
constructor Create(AOwner: TComponent);
destructor destroy;
with
procedure refresh;
For runtime use of component.
function createDepthedString(s : string; i : integer):string;
function createString(depth : integer;siblingString,name,alignString,
typeString: string):string;
The format of the output is determined by this function
function getControlInfo(f : Tform; s : Tstringlist):Tstringlist;
function getIndent:integer;
function getPanelInfo(f : Tform; s : Tstringlist):Tstringlist;
function hasPanels(p : Twincontrol):boolean;
function isSplitter( s : Tcontrol):boolean;
procedure processControl(p : TWinControl;strlist : tstringlist;
depth : integer);
recursive function
procedure processPanel(p : twincontrol;strlist : tstringlist;
depth : integer);
recursive function
procedure processWincontrol(p : twincontrol;strlist : tstringlist;
depth : integer);
for non-TcustomPanel based controls derived from Twincontrol
function readStrings:Tstringlist;
procedure setIndent(i : integer);
procedure setOptions(o : TglNiniOptions);
For delphi3 Tsplitter
procedure setstrings(s : Tstringlist);
classname, instead of name, due to D1 bug
property Indent : integer
Sets the indent used for representation of the nesting.
property Nesting : Tstringlist
Click on this property in the object inspector to get nesting info.
property Options : TglNiniOptions
Various options that affect output:
niType, include type info
niAlignment, include alignment info
niSiblings, numbers controls in list to indicate sibling relationship.
property Splitters : TNiSplitterOptions
Include or exclude splitters.
property View : TglNiView
Allows display of panel controls only.
property Form : TForm
The default form processed is the form on which the component is placed.
FForm : TForm;
Findent : string;
Foptions : TglNiniOptions;
FsplitterOpts : TNiSplitterOptions;
FstrList : Tstringlist;
FView : TglNiView;
siblingNumber : integer;
constructor Create(AOwner: TComponent);
destructor destroy;
with
procedure refresh;
For runtime use of component. Re-indexes controls ready for output via Nesting property
function createDepthedString(s : string; i : integer):string;
function createString(depth : integer;siblingString,name,alignString,
typeString: string):string;
The format of the output is determined by this function
function getControlInfo(f : Tform; s : Tstringlist):Tstringlist;
function getIndent:integer;
function getPanelInfo(f : Tform; s : Tstringlist):Tstringlist;
function hasPanels(p : Twincontrol):boolean;
function isSplitter( s : Tcontrol):boolean;
procedure processControl(p : TWinControl;strlist : tstringlist;
depth : integer);
recursive function
procedure processPanel(p : twincontrol;strlist : tstringlist;
depth : integer);
recursive function
procedure processWincontrol(p : twincontrol;strlist : tstringlist;
depth : integer);
for non-TcustomPanel based controls derived from Twincontrol
function readStrings:Tstringlist;
procedure setIndent(i : integer);
procedure setOptions(o : TglNiniOptions);
For delphi3 Tsplitter
procedure setstrings(s : Tstringlist);
classname, instead of name, due to D1 bug
property Indent : integer
Sets the indent used for representation of the nesting.
property Nesting : Tstringlist
Click on this property in the object inspector to get nesting info.
property Options : TglNiniOptions
Various options that affect output:
niType, include type info
niAlignment, include alignment info
niSiblings, numbers controls in list to indicate sibling relationship. convenient in case of large numbers of controls
niRxInfo, includes extra RxSplitter property info (controlFirst/ControlSecond).
property Splitters : TNiSplitterOptions
Include or exclude splitters. Splitters are detected by type comparison in the
case of RxSPlitter and the Delphi3 Splitter control, or by looking for the string 'split' in the type name.
you will need to switch this property on if a control being used is not a splitter but includes the string 'split'
in its type name
property View : TglNiView
Allows display of panel controls only. Includes all controls derived from TCustomPanel
(which includes some third party splitters).
If niPanelling is chosen then non-panel controls that contain sub-panels are still displayed but
within angle brackets.
property Form : TForm
The default form processed is the form on which the component is placed.
Use this property at runtime to get nesting info about another form. Useful for
documenting projects. Use with Refresh.
FForm : TForm;
Findent : string;
Foptions : TglNiniOptions;
FsplitterOpts : TNiSplitterOptions;
FstrList : Tstringlist;
FView : TglNiView;
siblingNumber : integer;