From: Carlo B. <car...@us...> - 2004-11-17 20:59:59
|
Update of /cvsroot/instantobjects/Source/ObjectFoundry In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22650/Source/ObjectFoundry Modified Files: OFClasses.pas OFExpert.pas OFExpt.dpr Log Message: VERSION 1.6.7 - Info into Readme.txt Index: OFExpert.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/ObjectFoundry/OFExpert.pas,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OFExpert.pas 2 Feb 2004 20:52:23 -0000 1.1 --- OFExpert.pas 17 Nov 2004 20:59:50 -0000 1.2 *************** *** 11,15 **** --- 11,18 ---- FOptions: TOFOptions; procedure AttributeEditorLoadClasses(Sender: TObject; Items: TStrings); + procedure AttributeEditorLoadClassAttrs(Sender: TObject; + const ClassName: String; Items: TStrings); function GetOptions: TOFOptions; + function IsInstantObjectClass(AClass: IMMClassBase): Boolean; protected procedure Destroyed; safecall; *************** *** 59,71 **** SObjectFoundry = 'ObjectFoundry'; ! procedure TObjectFoundryExpert.AttributeEditorLoadClasses(Sender: TObject; ! Items: TStrings); ! function IsInstantObjectClass(AClass: IMMClassBase): Boolean; ! begin ! Result := SameText(AClass.Name, TInstantObject.ClassName) or ! (Assigned(AClass.Ancestor) and IsInstantObjectClass(AClass.Ancestor)); ! end; var I: Integer; --- 62,106 ---- SObjectFoundry = 'ObjectFoundry'; ! // SRM - 01 Oct 2004: begin ! // Function externalised from AttributeEditorLoadClasses function. ! function TObjectFoundryExpert.IsInstantObjectClass(AClass: IMMClassBase): ! Boolean; ! begin ! Result := SameText(AClass.Name, TInstantObject.ClassName) or ! (Assigned(AClass.Ancestor) and IsInstantObjectClass(AClass.Ancestor)); ! end; ! procedure TObjectFoundryExpert.AttributeEditorLoadClassAttrs( ! Sender: TObject; const ClassName: String; Items: TStrings); ! var ! i, j: Integer; ! Attr: IMMIOAttribute; ! Prop: IMMProperty; ! CodeModel: IMMCodeModel; ! AClass: IMMClassBase; ! begin ! CodeModel := MMToolServices.CodeModel; ! if Assigned(CodeModel) then begin ! for i := 0 to Pred(CodeModel.ClassCount) do ! begin ! AClass := CodeModel.Classes[i]; ! if IsInstantObjectClass(AClass) and ! SameText(AClass.Name, ClassName) then begin ! for j := 0 to Pred(AClass.MemberCount) do begin ! Attr := MemberAsAttribute(AClass.Members[j]); ! if Assigned(Attr) and Attr.IsIOAttribute then begin ! Prop := AttributeAsProperty(Attr); ! if Assigned(Prop) then ! Items.Add(Prop.Name); ! end; { if } ! end; { for } ! Break; ! end; { if } ! end; ! end; { if } ! end; + procedure TObjectFoundryExpert.AttributeEditorLoadClasses(Sender: TObject; + Items: TStrings); var I: Integer; *************** *** 74,78 **** begin CodeModel := MMToolServices.CodeModel; ! if Assigned(CodeModel) then for I := 0 to Pred(CodeModel.ClassCount) do begin --- 109,113 ---- begin CodeModel := MMToolServices.CodeModel; ! if Assigned(CodeModel) then begin for I := 0 to Pred(CodeModel.ClassCount) do begin *************** *** 81,85 **** --- 116,122 ---- Items.Add(AClass.Name); end; + end; { if } end; + // SRM - 01 Oct 2004: end procedure TObjectFoundryExpert.Destroyed; *************** *** 97,101 **** --- 134,140 ---- with TInstantAttributeEditorForm.Create(nil) do try + InMM := True; // SRM - 14 Oct 2004 OnLoadClasses := AttributeEditorLoadClasses; + OnLoadClassAttributes := AttributeEditorLoadClassAttrs; // SRM - 01 Oct 2004 Subject := Attribute; Result := ShowModal = mrOK; Index: OFClasses.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/ObjectFoundry/OFClasses.pas,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** OFClasses.pas 1 Nov 2004 08:25:44 -0000 1.2 --- OFClasses.pas 17 Nov 2004 20:59:50 -0000 1.3 *************** *** 243,251 **** begin Tailor.Apply; ! for MT := Low(MT) to High(MT) do if IsContainer and (MT in MethodTypes) then AddMethod(MT, Tailor.MethodByType[MT]) else RemoveMethod(MT); end; --- 243,252 ---- begin Tailor.Apply; ! for MT := Low(MT) to High(MT) do begin if IsContainer and (MT in MethodTypes) then AddMethod(MT, Tailor.MethodByType[MT]) else RemoveMethod(MT); + end; { for } end; *************** *** 470,473 **** --- 471,475 ---- procedure TMMCodeAttribute.Save; begin + Tailor.Apply; ApplyData; ApplyAttribute; Index: OFExpt.dpr =================================================================== RCS file: /cvsroot/instantobjects/Source/ObjectFoundry/OFExpt.dpr,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OFExpt.dpr 2 Feb 2004 20:52:23 -0000 1.1 --- OFExpt.dpr 17 Nov 2004 20:59:50 -0000 1.2 *************** *** 1,5 **** library OFExpt; ! {$R *.RES} uses --- 1,7 ---- library OFExpt; ! {$R OFExpt_ver.res} // SRM - 02 Nov 2004 ! //{$R *.RES} // SRM - 02 Nov 2004 ! {$R ..\Design\iodesimages.res} // SRM - 01 Oct 2004 uses |