пятница, 29 января 2016 г.

#1184. ToDo. Перенести + dfm в новую генерацию

ToDo. Перенести + dfm в новую генерацию.

// перекрытие базового стереотипа Delphi интерфейсы и реализация::MDAGenerator
// Генератор файлов форм (.dfm)
+ dfm
R  
//#UC START# *49F5795900ECfor4947E2F10338*
O [{%Sa=final}[{%S{finished}!=true|%S{finished dfm}!=true}NOT_FINISHED_]%S%f_pas_UnitName().dfm]
C %S%f_pas_UnitPath()
 [{"%SO"!=""}\
 object %f_cut_prefix(%S%f_pas_TypeName(),T): %S%f_pas_TypeName()
   Left = 204
   Top = 118
   Width = 320
   Height = 240\

 %S%f_pas_BeforeDFMControls()\

 %f_clear_list(FORM_CONTROLS)\
 %S%f_ToDFM()
 end\
 ]
//#UC END# *49F5795900ECfor4947E2F10338*
...
// Выводит конролы формы в DFM
%f _ToDFM
//#UC START# *4ACB7806017Bfor4947E2F10338*
 <%C#f_ToDFM()>\
 <%G#f_ToDFM()>\
 <%R#f_ToDFM()>
//#UC END# *4ACB7806017Bfor4947E2F10338*
...
// Выводит представление контрола в DFM
%f _ToDFM
//#UC START# *4B5DC20D00F0for4B5DC1D50227*
 [{%S%f_NeedPutToDFM()=true}\
 [{%f_exists_in_list(FORM_CONTROLS,"%S%f_pas_AttrName()")=false}\
 %f_add_to_list(FORM_CONTROLS,"%S%f_pas_AttrName()")\
 \n# object %S%f_pas_AttrName(): %S%f_pas_ResultTypeName()\
 [{"%SD"!=""&%S{need Caption}!=false}\n#  Caption = '%SD']\
 <%C#f_ToDFM()>\
 [{%S%f_IsOverride()=true}\
 <{}{}{r}%g<%C#f_ToDFM()>>\
 ]
 # end\
 ]\
 ]
//#UC END# *4B5DC20D00F0for4B5DC1D50227*
...
%f _pas_BeforeDFMControls
//#UC START# *4B5DDD5A02ACfor4947E2F10338*
//#UC END# *4B5DDD5A02ACfor4947E2F10338*
...
// перекрытие базового стереотипа VCMCustomForm::Class
%f _pas_BeforeDFMControls
//#UC START# *4B5DDD5A02ACfor4B5DA84A00DD*
 %S%[inherited]\
 \n\
   Caption = '%SD'
//   Color = clBtnFace\
   Color = $00F9F8FA\
 [{"%S{ZoneType}"!="%S{!ZoneType}"}
   ZoneType = vcm_zt%S{ZoneType}]\
// [{%S%f_HasUserTypeRec()!=true}
//   UserTypes = \<
//     item
//       Name = 'ut%f_N(%S)'
//       Caption = '%SD'
//     end\>]\
 \n\
   PixelsPerInch = 96
   TextHeight = 13\

 [\n  Zones = \<<%G#f_pas_DefineZones()>\>]

   object Entities: TvcmEntities\n\
//     Entities = \<
//       item
//         Name = 'enFake'
//         Operations = \<
//           item
//             Name = 'opFake'
//           end\>
//       end\
// \>\n\
     Left = 24
     Top = 24
   end
//#UC END# *4B5DDD5A02ACfor4B5DA84A00DD*
...
// Определяет зоны
%f _pas_DefineZones
//#UC START# *4A79803A0020for4947FD1201CE*
 <%C#f_pas_DefineZones()>\
 <%G#f_pas_DefineZones()>\
 <%R#f_pas_DefineZones()>
//#UC END# *4A79803A0020for4947FD1201CE*
...
// Определяет зоны
%f _pas_DefineZones
//#UC START# *4A79821E02AAfor4A797F2E017E*
 [{%G%f_NeedPutToDFM()=true}\
 \n# item
 #   Control = %GN
 #   ZoneType = vcm_zt%S{ZoneType}
 [{%S{CanClose}!=undefined}\
 [{%S{CanClose}=true}{\
 #   CanClose = vcm_ccDisable
 }\
 #   CanClose = vcm_ccEnable
 ]\
 ]\
 # end\
 ]
//#UC END# *4A79821E02AAfor4A797F2E017E*
...
%f _NeedPutToDFM
// возвращаемый результат: boolean
//#UC START# *4B5DC1FE0191for4B5DC1D50227*
@ %SU
 [{%S{put to dfm}!=true}{\
 [{%P#f_IsControl()=true}{\
 true\
 }\
 [{%P%f_NeedPutToDFM()=true}{\
 false\
 }\
 true\
 ]\
 ]\
 }\
 false\
 ]
//#UC END# *4B5DC1FE0191for4B5DC1D50227*
....


Комментариев нет:

Отправить комментарий