Mercurial > pub > Impl
comparison Lib/IMPL/Web/View/TTFactory.pm @ 191:78a18a2b6266
IMPL::Web::View improvements (unstable)
author | cin |
---|---|
date | Thu, 05 Apr 2012 17:51:51 +0400 |
parents | 6c0fee769b0c |
children | a9faf883cdce |
comparison
equal
deleted
inserted
replaced
190:cd1ff7029a63 | 191:78a18a2b6266 |
---|---|
29 $this->template($template); | 29 $this->template($template); |
30 $this->context($context || new Template::Context($options)); | 30 $this->context($context || new Template::Context($options)); |
31 $this->opts($options || {}); | 31 $this->opts($options || {}); |
32 $this->nodeProperties($nodeProps || {}); | 32 $this->nodeProperties($nodeProps || {}); |
33 $this->instances(0); | 33 $this->instances(0); |
34 | |
35 # init factory context | |
36 $this->context->process($this->template); | |
37 } | 34 } |
38 | 35 |
39 our %CTOR = ( | 36 our %CTOR = ( |
40 'IMPL::Object::Factory' => sub { | 37 'IMPL::Object::Factory' => sub { |
41 $_[0] | 38 $_[0] |
63 if (my $init = $this->template->blocks->{INIT}) { | 60 if (my $init = $this->template->blocks->{INIT}) { |
64 $this->context->process($init); | 61 $this->context->process($init); |
65 } | 62 } |
66 } | 63 } |
67 | 64 |
65 my $instance = $this->SUPER::CreateObject(@_); | |
66 | |
67 $instance->InitInstance(); | |
68 | |
68 $count++; | 69 $count++; |
69 $this->instances($count); | 70 $this->instances($count); |
70 | 71 |
71 return $this->SUPER::CreateObject(@_); | 72 return $instance; |
72 } | 73 } |
73 | 74 |
74 sub save { | 75 sub save { |
75 die new IMPL::NotImplementedException("This class doesn't support serialization"); | 76 die new IMPL::NotImplementedException("This class doesn't support serialization"); |
76 } | 77 } |
170 =item C<[override]CreateObject(@params)> | 171 =item C<[override]CreateObject(@params)> |
171 | 172 |
172 Создает экземпляр элемента управления стандартным образом. Учитывает количество экземпляров и если это первый, | 173 Создает экземпляр элемента управления стандартным образом. Учитывает количество экземпляров и если это первый, |
173 то производит дополнительную инициализацию контекста выполнив блок шаблона C<INIT>. | 174 то производит дополнительную инициализацию контекста выполнив блок шаблона C<INIT>. |
174 | 175 |
175 =item C<new($name,$nodeProps)> | 176 =item C<[inherited]new($name,$nodeProps)> |
176 | 177 |
177 Создает элемент управления с указанным именем и набором свойств. | 178 Создает элемент управления с указанным именем и набором свойств. |
178 | 179 |
179 =back | 180 =back |
180 | 181 |