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 |
