| Class TGlNestingInfo (unit Nestinfo) |
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.
| Constructors |
constructor Create(AOwner: TComponent);| Functions |
destructor destroy;
procedure refresh;
function createDepthedString(s : string; i : integer):string;
function createString(depth : integer;siblingString,name,alignString,
typeString: string):string;
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);
procedure processPanel(p : twincontrol;strlist : tstringlist;
depth : integer);
procedure processWincontrol(p : twincontrol;strlist : tstringlist;
depth : integer);
function readStrings:Tstringlist;
procedure setIndent(i : integer);
procedure setOptions(o : TglNiniOptions);
procedure setstrings(s : Tstringlist);| Properties |
property Indent : integer
property Nesting : Tstringlist
property Options : TglNiniOptions
property Splitters : TNiSplitterOptions
property View : TglNiView
property Form : TForm| Events |
| Variables |
FForm : TForm;
Findent : string;
Foptions : TglNiniOptions;
FsplitterOpts : TNiSplitterOptions;
FstrList : Tstringlist;
FView : TglNiView;
siblingNumber : integer;| Constructors |
constructor Create(AOwner: TComponent);| Functions |
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
| Properties |
property Indent : integerSets the indent used for representation of the nesting.
property Nesting : TstringlistClick on this property in the object inspector to get nesting info.
property Options : TglNiniOptionsVarious 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 : TNiSplitterOptionsInclude 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 : TglNiViewAllows 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 : TFormThe 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.
| Events |
| Variables |
FForm : TForm;
Findent : string;
Foptions : TglNiniOptions;
FsplitterOpts : TNiSplitterOptions;
FstrList : Tstringlist;
FView : TglNiView;
siblingNumber : integer;