************************************************** *-- Class: formstructure *-- ParentClass: commandbutton *-- BaseClass: commandbutton *-- Time Stamp: 05/21/05 08:06:03 PM * DEFINE CLASS formstructure AS commandbutton structuretype = 1 autoSize = .T. Caption = "Structure" Name = "formstructure" PROCEDURE structure LPARAMETERS objectRoot,structureType CREATE CURSOR FormStructure (ObjectPath C(254) NOT NULL,baseClass C(40) NOT NULL) && replace C(254) with memo field for a big form INSERT INTO FormStructure VALUES (SYS(1272,m.objectRoot),m.objectRoot.Baseclass) DO CASE CASE m.structureType=1 PRIVATE oMember,objectNode USE DBF() AGAIN IN 0 ALIAS FormStructureAdd SCAN STORE EVALUATE(ObjectPath) TO objectNode IF PEMSTATUS(m.objectNode,"Objects",5) FOR EACH oMember IN objectNode.Objects INSERT INTO FormStructureAdd VALUES (SYS(1272,m.oMember),m.oMember.BaseClass) ENDFOR ENDIF ENDSCAN USE IN FormStructureAdd CASE m.structureType=2 RETURN this.AddMembers(m.objectRoot) ENDCASE ENDPROC PROCEDURE addmembers LPARAMETERS objectNode PRIVATE oMember FOR EACH oMember IN objectNode.Objects INSERT INTO FormStructure VALUES (SYS(1272,m.oMember),m.oMember.BaseClass) IF PEMSTATUS(m.oMember,"Objects",5) =this.AddMembers(m.oMember) ENDIF ENDFOR ENDPROC PROCEDURE Click this.structure(m.thisform,m.This.structureType) BROWSE NOWAIT ENDPROC ENDDEFINE * *-- EndDefine: formstructure **************************************************