summaryrefslogtreecommitdiff
path: root/demos/composer/protected
diff options
context:
space:
mode:
authorctrlaltca <>2012-07-12 11:21:01 +0000
committerctrlaltca <>2012-07-12 11:21:01 +0000
commit903ae8a581fac1e6917fc3e31d2ad8fb91df80c3 (patch)
treee08bf04f0823650a231227ac3499121270172a23 /demos/composer/protected
parent3e4e6e66aeb3f8fea4e1eb4237498ef9d2358f63 (diff)
standardize the use of unix eol; use svn properties to enforce native eol
Diffstat (limited to 'demos/composer/protected')
-rw-r--r--demos/composer/protected/pages/ClassDefinition.php740
-rw-r--r--demos/composer/protected/pages/Home.php234
-rw-r--r--demos/composer/protected/pages/Layout.php28
3 files changed, 501 insertions, 501 deletions
diff --git a/demos/composer/protected/pages/ClassDefinition.php b/demos/composer/protected/pages/ClassDefinition.php
index cb657e85..aee5fe6f 100644
--- a/demos/composer/protected/pages/ClassDefinition.php
+++ b/demos/composer/protected/pages/ClassDefinition.php
@@ -1,371 +1,371 @@
-<?php
-
-class ClassDefinition extends TComponent
-{
- private $_className='ClassName';
- private $_parentClass='TWebControl';
- private $_interfaces='';
- private $_properties=null;
- private $_events=null;
- private $_email='';
- private $_author='';
- private $_comments='';
-
- public function reset()
- {
- $this->_className='ClassName';
- $this->_parentClass='TWebControl';
- $this->_interfaces='';
- $this->_properties=new TList;
- $this->_events=new TList;
- $this->_email='';
- $this->_author='';
- $this->_comments='';
- }
-
- public function render($writer)
- {
- $this->renderComments($writer);
- $this->renderClass($writer);
- }
-
- protected function renderComments($writer)
- {
- $str ="/**\n";
- $str.=" * Class {$this->ClassName}.\n";
- if($this->Comments!=='')
- {
- $str.=" *\n";
- $str.=" * ".implode("\n * ",explode("\n",wordwrap($this->Comments)));
- $str.="\n *\n";
- }
- if($this->Author!=='')
- {
- $str.=" * @author {$this->Author}";
- if($this->Email!=='')
- $str.=" <{$this->Email}>";
- $str.="\n";
- }
- $str.=" * @version \$Revision: \$ \$Date: \$\n";
- $str.=" */\n";
- $writer->write($str);
- }
-
- protected function renderClass($writer)
- {
- $writer->write("class {$this->ClassName}");
- if($this->ParentClass!=='')
- $writer->write(" extends {$this->ParentClass}");
- if($this->Interfaces!=='')
- $writer->write(" implements {$this->Interfaces}");
- $writer->write("\n{\n");
- $this->renderVariables($writer);
- $this->renderProperties($writer);
- $this->renderEvents($writer);
- $writer->write("}\n");
- }
-
- private function getVariableName($propertyName)
- {
- return '_'.strtolower($propertyName[0]).substr($propertyName,1);
- }
-
- protected function renderVariables($writer)
- {
- foreach($this->Properties as $property)
- {
- if($property->Storage==='Memory')
- {
- $name=$this->getVariableName($property->Name);
- $value=$this->getValueAsString($property->DefaultValue,$property->Type);
- $writer->write("\t/**\n\t * @var {$property->Type} {$property->Comments}\n\t */\n");
- $writer->write("\tprivate \$$name=$value;\n");
- }
- }
- }
-
- private function getValueAsString($value,$type)
- {
- switch($type)
- {
- case 'integer':
- $value=TPropertyValue::ensureInteger($value);
- break;
- case 'float':
- $value=TPropertyValue::ensureFloat($value);
- break;
- case 'boolean':
- if(TPropertyValue::ensureBoolean($value))
- $value='true';
- else
- $value='false';
- break;
- case 'enumerable':
- $value="'$value'";
- break;
- case 'mixed':
- $value='null';
- break;
- case 'string':
- $value="'$value'";
- break;
- }
- return "$value";
- }
-
- private function getValueConversionString($type)
- {
- switch($type)
- {
- case 'integer': return 'TPropertyValue::ensureInteger($value)';
- case 'float': return 'TPropertyValue::ensureFloat($value)';
- case 'boolean': return 'TPropertyValue::ensureBoolean($value)';
- case 'enumerable': return 'TPropertyValue::ensureEnum($value)';
- case 'mixed': return '$value';
- case 'string': return 'TPropertyValue::ensureString($value)';
- }
- }
-
- protected function renderProperties($writer)
- {
- foreach($this->Properties as $property)
- {
- $name=$property->Name;
- if($name==='')
- continue;
- $comments=implode("\n\t * ",explode("\n",wordwrap($property->Comments)));
- $access=$property->IsProtected?'protected':'public';
- $setter='set'.$property->Name.'($value)';
- $getter='get'.$property->Name.'()';
- $value=$this->getValueAsString($property->DefaultValue,$property->Type);
- if($property->Storage==='ViewState')
- {
- $readStatement="return \$this->getViewState('$name',$value);";
- $writeStatement="\$this->setViewState('$name',".$this->getValueConversionString($property->Type).",$value);";
- }
- else if($property->Storage==='ControlState')
- {
- $readStatement="return \$this->getControlState('$name',$value);";
- $writeStatement="\$this->setControlState('$name',".$this->getValueConversionString($property->Type).",$value);";
- }
- else
- {
- $varname=$this->getVariableName($property->Name);
- $readStatement="return \$this->$varname;";
- $writeStatement="\$this->$varname=".$this->getValueConversionString($property->Type).";";
- }
- $writer->write("\n\t/**\n\t * @return {$property->Type} $comments Defaults to $value.\n\t */\n");
- $writer->write("\t$access function $getter\n\t{\n\t\t$readStatement\n\t}\n");
- if(!$property->ReadOnly)
- {
- $writer->write("\n\t/**\n\t * @param {$property->Type} $comments\n\t */\n");
- $writer->write("\t$access function $setter\n\t{\n\t\t$writeStatement\n\t}\n");
- }
- }
- }
-
- protected function renderEvents($writer)
- {
- foreach($this->Events as $event)
- {
- $name=$event->Name;
- if($name==='')
- continue;
- if(strncasecmp($name,'on',2)!==0)
- $name='On'.$name;
- else
- {
- $name[0]='O';
- $name[1]='n';
- }
- $methodName=$name;
- $methodName[0]='o';
- $comments=implode("\n\t * ",explode("\n",wordwrap($event->Comments)));
- $writer->write("\n\t/**\n\t * Raises <b>$name</b> event.\n\t * $comments\n\t * @param TEventParameter event parameter\n\t */\n");
- $writer->write("\tpublic function $methodName(\$param)\n\t{\n\t\t\$this->raiseEvent('$name',\$this,\$param);\n\t}\n");
- }
- }
-
- public function getClassName()
- {
- return $this->_className;
- }
-
- public function setClassName($value)
- {
- $this->_className=trim($value);
- }
-
- public function getParentClass()
- {
- return $this->_parentClass;
- }
-
- public function setParentClass($value)
- {
- $this->_parentClass=trim($value);
- }
-
- public function getInterfaces()
- {
- return $this->_interfaces;
- }
-
- public function setInterfaces($value)
- {
- $this->_interfaces=$value;
- }
-
- public function getProperties()
- {
- if(!$this->_properties)
- $this->_properties=new TList;
- return $this->_properties;
- }
-
- public function getEvents()
- {
- if(!$this->_events)
- $this->_events=new TList;
- return $this->_events;
- }
-
- public function getComments()
- {
- return $this->_comments;
- }
-
- public function setComments($value)
- {
- $this->_comments=$value;
- }
-
- public function getAuthor()
- {
- return $this->_author;
- }
-
- public function setAuthor($value)
- {
- $this->_author=trim($value);
- }
-
- public function getEmail()
- {
- return $this->_email;
- }
-
- public function setEmail($value)
- {
- $this->_email=trim($value);
- }
-}
-
-class EventDefinition extends TComponent
-{
- private $_name='';
- private $_comments='';
-
- public function getName()
- {
- return $this->_name;
- }
-
- public function setName($value)
- {
- $this->_name=ucfirst(trim($value));
- }
-
- public function getComments()
- {
- return $this->_comments;
- }
-
- public function setComments($value)
- {
- $this->_comments=$value;
- }
-}
-
-class PropertyDefinition extends TComponent
-{
- private $_name='';
- private $_type='string';
- private $_default='';
- private $_readOnly=false;
- private $_protected=false;
- private $_storage='ViewState';
- private $_comments='';
-
- public function getName()
- {
- return $this->_name;
- }
-
- public function setName($value)
- {
- $this->_name=ucfirst(trim($value));
- }
-
- public function getType()
- {
- return $this->_type;
- }
-
- public function setType($value)
- {
- $this->_type=trim($value);
- }
-
- public function getDefaultValue()
- {
- return $this->_default;
- }
-
- public function setDefaultValue($value)
- {
- $this->_default=trim($value);
- }
-
- public function getReadOnly()
- {
- return $this->_readOnly;
- }
-
- public function setReadOnly($value)
- {
- $this->_readOnly=TPropertyValue::ensureBoolean($value);
- }
-
- public function getIsProtected()
- {
- return $this->_protected;
- }
-
- public function setIsProtected($value)
- {
- $this->_protected=TPropertyValue::ensureBoolean($value);
- }
-
- public function getStorage()
- {
- return $this->_storage;
- }
-
- public function setStorage($value)
- {
- $this->_storage=trim($value);
- }
-
- public function getComments()
- {
- return $this->_comments;
- }
-
- public function setComments($value)
- {
- $this->_comments=$value;
- }
-}
-
+<?php
+
+class ClassDefinition extends TComponent
+{
+ private $_className='ClassName';
+ private $_parentClass='TWebControl';
+ private $_interfaces='';
+ private $_properties=null;
+ private $_events=null;
+ private $_email='';
+ private $_author='';
+ private $_comments='';
+
+ public function reset()
+ {
+ $this->_className='ClassName';
+ $this->_parentClass='TWebControl';
+ $this->_interfaces='';
+ $this->_properties=new TList;
+ $this->_events=new TList;
+ $this->_email='';
+ $this->_author='';
+ $this->_comments='';
+ }
+
+ public function render($writer)
+ {
+ $this->renderComments($writer);
+ $this->renderClass($writer);
+ }
+
+ protected function renderComments($writer)
+ {
+ $str ="/**\n";
+ $str.=" * Class {$this->ClassName}.\n";
+ if($this->Comments!=='')
+ {
+ $str.=" *\n";
+ $str.=" * ".implode("\n * ",explode("\n",wordwrap($this->Comments)));
+ $str.="\n *\n";
+ }
+ if($this->Author!=='')
+ {
+ $str.=" * @author {$this->Author}";
+ if($this->Email!=='')
+ $str.=" <{$this->Email}>";
+ $str.="\n";
+ }
+ $str.=" * @version \$Revision: \$ \$Date: \$\n";
+ $str.=" */\n";
+ $writer->write($str);
+ }
+
+ protected function renderClass($writer)
+ {
+ $writer->write("class {$this->ClassName}");
+ if($this->ParentClass!=='')
+ $writer->write(" extends {$this->ParentClass}");
+ if($this->Interfaces!=='')
+ $writer->write(" implements {$this->Interfaces}");
+ $writer->write("\n{\n");
+ $this->renderVariables($writer);
+ $this->renderProperties($writer);
+ $this->renderEvents($writer);
+ $writer->write("}\n");
+ }
+
+ private function getVariableName($propertyName)
+ {
+ return '_'.strtolower($propertyName[0]).substr($propertyName,1);
+ }
+
+ protected function renderVariables($writer)
+ {
+ foreach($this->Properties as $property)
+ {
+ if($property->Storage==='Memory')
+ {
+ $name=$this->getVariableName($property->Name);
+ $value=$this->getValueAsString($property->DefaultValue,$property->Type);
+ $writer->write("\t/**\n\t * @var {$property->Type} {$property->Comments}\n\t */\n");
+ $writer->write("\tprivate \$$name=$value;\n");
+ }
+ }
+ }
+
+ private function getValueAsString($value,$type)
+ {
+ switch($type)
+ {
+ case 'integer':
+ $value=TPropertyValue::ensureInteger($value);
+ break;
+ case 'float':
+ $value=TPropertyValue::ensureFloat($value);
+ break;
+ case 'boolean':
+ if(TPropertyValue::ensureBoolean($value))
+ $value='true';
+ else
+ $value='false';
+ break;
+ case 'enumerable':
+ $value="'$value'";
+ break;
+ case 'mixed':
+ $value='null';
+ break;
+ case 'string':
+ $value="'$value'";
+ break;
+ }
+ return "$value";
+ }
+
+ private function getValueConversionString($type)
+ {
+ switch($type)
+ {
+ case 'integer': return 'TPropertyValue::ensureInteger($value)';
+ case 'float': return 'TPropertyValue::ensureFloat($value)';
+ case 'boolean': return 'TPropertyValue::ensureBoolean($value)';
+ case 'enumerable': return 'TPropertyValue::ensureEnum($value)';
+ case 'mixed': return '$value';
+ case 'string': return 'TPropertyValue::ensureString($value)';
+ }
+ }
+
+ protected function renderProperties($writer)
+ {
+ foreach($this->Properties as $property)
+ {
+ $name=$property->Name;
+ if($name==='')
+ continue;
+ $comments=implode("\n\t * ",explode("\n",wordwrap($property->Comments)));
+ $access=$property->IsProtected?'protected':'public';
+ $setter='set'.$property->Name.'($value)';
+ $getter='get'.$property->Name.'()';
+ $value=$this->getValueAsString($property->DefaultValue,$property->Type);
+ if($property->Storage==='ViewState')
+ {
+ $readStatement="return \$this->getViewState('$name',$value);";
+ $writeStatement="\$this->setViewState('$name',".$this->getValueConversionString($property->Type).",$value);";
+ }
+ else if($property->Storage==='ControlState')
+ {
+ $readStatement="return \$this->getControlState('$name',$value);";
+ $writeStatement="\$this->setControlState('$name',".$this->getValueConversionString($property->Type).",$value);";
+ }
+ else
+ {
+ $varname=$this->getVariableName($property->Name);
+ $readStatement="return \$this->$varname;";
+ $writeStatement="\$this->$varname=".$this->getValueConversionString($property->Type).";";
+ }
+ $writer->write("\n\t/**\n\t * @return {$property->Type} $comments Defaults to $value.\n\t */\n");
+ $writer->write("\t$access function $getter\n\t{\n\t\t$readStatement\n\t}\n");
+ if(!$property->ReadOnly)
+ {
+ $writer->write("\n\t/**\n\t * @param {$property->Type} $comments\n\t */\n");
+ $writer->write("\t$access function $setter\n\t{\n\t\t$writeStatement\n\t}\n");
+ }
+ }
+ }
+
+ protected function renderEvents($writer)
+ {
+ foreach($this->Events as $event)
+ {
+ $name=$event->Name;
+ if($name==='')
+ continue;
+ if(strncasecmp($name,'on',2)!==0)
+ $name='On'.$name;
+ else
+ {
+ $name[0]='O';
+ $name[1]='n';
+ }
+ $methodName=$name;
+ $methodName[0]='o';
+ $comments=implode("\n\t * ",explode("\n",wordwrap($event->Comments)));
+ $writer->write("\n\t/**\n\t * Raises <b>$name</b> event.\n\t * $comments\n\t * @param TEventParameter event parameter\n\t */\n");
+ $writer->write("\tpublic function $methodName(\$param)\n\t{\n\t\t\$this->raiseEvent('$name',\$this,\$param);\n\t}\n");
+ }
+ }
+
+ public function getClassName()
+ {
+ return $this->_className;
+ }
+
+ public function setClassName($value)
+ {
+ $this->_className=trim($value);
+ }
+
+ public function getParentClass()
+ {
+ return $this->_parentClass;
+ }
+
+ public function setParentClass($value)
+ {
+ $this->_parentClass=trim($value);
+ }
+
+ public function getInterfaces()
+ {
+ return $this->_interfaces;
+ }
+
+ public function setInterfaces($value)
+ {
+ $this->_interfaces=$value;
+ }
+
+ public function getProperties()
+ {
+ if(!$this->_properties)
+ $this->_properties=new TList;
+ return $this->_properties;
+ }
+
+ public function getEvents()
+ {
+ if(!$this->_events)
+ $this->_events=new TList;
+ return $this->_events;
+ }
+
+ public function getComments()
+ {
+ return $this->_comments;
+ }
+
+ public function setComments($value)
+ {
+ $this->_comments=$value;
+ }
+
+ public function getAuthor()
+ {
+ return $this->_author;
+ }
+
+ public function setAuthor($value)
+ {
+ $this->_author=trim($value);
+ }
+
+ public function getEmail()
+ {
+ return $this->_email;
+ }
+
+ public function setEmail($value)
+ {
+ $this->_email=trim($value);
+ }
+}
+
+class EventDefinition extends TComponent
+{
+ private $_name='';
+ private $_comments='';
+
+ public function getName()
+ {
+ return $this->_name;
+ }
+
+ public function setName($value)
+ {
+ $this->_name=ucfirst(trim($value));
+ }
+
+ public function getComments()
+ {
+ return $this->_comments;
+ }
+
+ public function setComments($value)
+ {
+ $this->_comments=$value;
+ }
+}
+
+class PropertyDefinition extends TComponent
+{
+ private $_name='';
+ private $_type='string';
+ private $_default='';
+ private $_readOnly=false;
+ private $_protected=false;
+ private $_storage='ViewState';
+ private $_comments='';
+
+ public function getName()
+ {
+ return $this->_name;
+ }
+
+ public function setName($value)
+ {
+ $this->_name=ucfirst(trim($value));
+ }
+
+ public function getType()
+ {
+ return $this->_type;
+ }
+
+ public function setType($value)
+ {
+ $this->_type=trim($value);
+ }
+
+ public function getDefaultValue()
+ {
+ return $this->_default;
+ }
+
+ public function setDefaultValue($value)
+ {
+ $this->_default=trim($value);
+ }
+
+ public function getReadOnly()
+ {
+ return $this->_readOnly;
+ }
+
+ public function setReadOnly($value)
+ {
+ $this->_readOnly=TPropertyValue::ensureBoolean($value);
+ }
+
+ public function getIsProtected()
+ {
+ return $this->_protected;
+ }
+
+ public function setIsProtected($value)
+ {
+ $this->_protected=TPropertyValue::ensureBoolean($value);
+ }
+
+ public function getStorage()
+ {
+ return $this->_storage;
+ }
+
+ public function setStorage($value)
+ {
+ $this->_storage=trim($value);
+ }
+
+ public function getComments()
+ {
+ return $this->_comments;
+ }
+
+ public function setComments($value)
+ {
+ $this->_comments=$value;
+ }
+}
+
?> \ No newline at end of file
diff --git a/demos/composer/protected/pages/Home.php b/demos/composer/protected/pages/Home.php
index d3d02b66..07f02e7e 100644
--- a/demos/composer/protected/pages/Home.php
+++ b/demos/composer/protected/pages/Home.php
@@ -1,118 +1,118 @@
-<?php
-
-Prado::using('Application.pages.ClassDefinition');
-
-class Home extends TPage
-{
- private $_classDefinition=null;
-
- public function getClassDefinition()
- {
- if(!$this->_classDefinition)
- $this->_classDefinition=new ClassDefinition;
- return $this->_classDefinition;
- }
-
- public function onInit($param)
- {
- parent::onInit($param);
- if(!$this->IsPostBack)
- {
- $properties=$this->ClassDefinition->Properties;
- $properties[]=new PropertyDefinition;
- $properties[]=new PropertyDefinition;
- $properties[]=new PropertyDefinition;
- $this->PropertyList->DataSource=$properties;
- $this->dataBind();
- }
- }
-
- public function propertyAction($sender,$param)
- {
- if($param->CommandName==='add')
- $this->ClassDefinition->Properties->add(new PropertyDefinition);
- if($param->CommandName==='remove')
- $this->ClassDefinition->Properties->removeAt($param->CommandParameter);
- else if($param->CommandName==='up')
- {
- $property=$this->ClassDefinition->Properties->itemAt($param->CommandParameter);
- $this->ClassDefinition->Properties->removeAt($param->CommandParameter);
- $this->ClassDefinition->Properties->insertAt($param->CommandParameter-1,$property);
- }
- else if($param->CommandName==='down')
- {
- $property=$this->ClassDefinition->Properties->itemAt($param->CommandParameter);
- $this->ClassDefinition->Properties->removeAt($param->CommandParameter);
- $this->ClassDefinition->Properties->insertAt($param->CommandParameter+1,$property);
- }
- $this->PropertyList->DataSource=$this->ClassDefinition->Properties;
- $this->PropertyList->dataBind();
- }
-
- public function eventAction($sender,$param)
- {
- if($param->CommandName==='add')
- $this->ClassDefinition->Events->add(new EventDefinition);
- else if($param->CommandName==='remove')
- $this->ClassDefinition->Events->removeAt($param->CommandParameter);
- else if($param->CommandName==='up')
- {
- $property=$this->ClassDefinition->Events->itemAt($param->CommandParameter);
- $this->ClassDefinition->Events->removeAt($param->CommandParameter);
- $this->ClassDefinition->Events->insertAt($param->CommandParameter-1,$property);
- }
- else if($param->CommandName==='down')
- {
- $property=$this->ClassDefinition->Events->itemAt($param->CommandParameter);
- $this->ClassDefinition->Events->removeAt($param->CommandParameter);
- $this->ClassDefinition->Events->insertAt($param->CommandParameter+1,$property);
- }
- $this->EventList->DataSource=$this->ClassDefinition->Events;
- $this->EventList->dataBind();
- }
-
- public function onLoad($param)
- {
- parent::onLoad($param);
- //if($this->IsPostBack && $this->IsValid)
- if($this->IsPostBack)
- {
- $def=$this->ClassDefinition;
- $def->reset();
- $def->ClassName=$this->ClassName->Text;
- $def->ParentClass=$this->ParentClass->Text;
- $def->Interfaces=$this->Interfaces->Text;
- $def->Comments=$this->Comments->Text;
- $def->Author=$this->AuthorName->Text;
- $def->Email=$this->AuthorEmail->Text;
- foreach($this->PropertyList->Items as $item)
- {
- $property=new PropertyDefinition;
- $property->Name=$item->PropertyName->Text;
- $property->Type=$item->PropertyType->Text;
- $property->DefaultValue=$item->DefaultValue->Text;
- $property->ReadOnly=$item->ReadOnly->Checked;
- $property->IsProtected=$item->IsProtected->Checked;
- $property->Comments=$item->Comments->Text;
- $property->Storage=$item->Storage->Text;
- $def->Properties[]=$property;
- }
- foreach($this->EventList->Items as $item)
- {
- $event=new EventDefinition;
- $event->Name=$item->EventName->Text;
- $event->Comments=$item->Comments->Text;
- $def->Events[]=$event;
- }
- }
- }
-
- public function generateCode($sender,$param)
- {
- $writer=Prado::createComponent('TTextWriter');
- $this->ClassDefinition->render($writer);
- $this->SourceCode->Text=$writer->flush();
- }
-}
-
+<?php
+
+Prado::using('Application.pages.ClassDefinition');
+
+class Home extends TPage
+{
+ private $_classDefinition=null;
+
+ public function getClassDefinition()
+ {
+ if(!$this->_classDefinition)
+ $this->_classDefinition=new ClassDefinition;
+ return $this->_classDefinition;
+ }
+
+ public function onInit($param)
+ {
+ parent::onInit($param);
+ if(!$this->IsPostBack)
+ {
+ $properties=$this->ClassDefinition->Properties;
+ $properties[]=new PropertyDefinition;
+ $properties[]=new PropertyDefinition;
+ $properties[]=new PropertyDefinition;
+ $this->PropertyList->DataSource=$properties;
+ $this->dataBind();
+ }
+ }
+
+ public function propertyAction($sender,$param)
+ {
+ if($param->CommandName==='add')
+ $this->ClassDefinition->Properties->add(new PropertyDefinition);
+ if($param->CommandName==='remove')
+ $this->ClassDefinition->Properties->removeAt($param->CommandParameter);
+ else if($param->CommandName==='up')
+ {
+ $property=$this->ClassDefinition->Properties->itemAt($param->CommandParameter);
+ $this->ClassDefinition->Properties->removeAt($param->CommandParameter);
+ $this->ClassDefinition->Properties->insertAt($param->CommandParameter-1,$property);
+ }
+ else if($param->CommandName==='down')
+ {
+ $property=$this->ClassDefinition->Properties->itemAt($param->CommandParameter);
+ $this->ClassDefinition->Properties->removeAt($param->CommandParameter);
+ $this->ClassDefinition->Properties->insertAt($param->CommandParameter+1,$property);
+ }
+ $this->PropertyList->DataSource=$this->ClassDefinition->Properties;
+ $this->PropertyList->dataBind();
+ }
+
+ public function eventAction($sender,$param)
+ {
+ if($param->CommandName==='add')
+ $this->ClassDefinition->Events->add(new EventDefinition);
+ else if($param->CommandName==='remove')
+ $this->ClassDefinition->Events->removeAt($param->CommandParameter);
+ else if($param->CommandName==='up')
+ {
+ $property=$this->ClassDefinition->Events->itemAt($param->CommandParameter);
+ $this->ClassDefinition->Events->removeAt($param->CommandParameter);
+ $this->ClassDefinition->Events->insertAt($param->CommandParameter-1,$property);
+ }
+ else if($param->CommandName==='down')
+ {
+ $property=$this->ClassDefinition->Events->itemAt($param->CommandParameter);
+ $this->ClassDefinition->Events->removeAt($param->CommandParameter);
+ $this->ClassDefinition->Events->insertAt($param->CommandParameter+1,$property);
+ }
+ $this->EventList->DataSource=$this->ClassDefinition->Events;
+ $this->EventList->dataBind();
+ }
+
+ public function onLoad($param)
+ {
+ parent::onLoad($param);
+ //if($this->IsPostBack && $this->IsValid)
+ if($this->IsPostBack)
+ {
+ $def=$this->ClassDefinition;
+ $def->reset();
+ $def->ClassName=$this->ClassName->Text;
+ $def->ParentClass=$this->ParentClass->Text;
+ $def->Interfaces=$this->Interfaces->Text;
+ $def->Comments=$this->Comments->Text;
+ $def->Author=$this->AuthorName->Text;
+ $def->Email=$this->AuthorEmail->Text;
+ foreach($this->PropertyList->Items as $item)
+ {
+ $property=new PropertyDefinition;
+ $property->Name=$item->PropertyName->Text;
+ $property->Type=$item->PropertyType->Text;
+ $property->DefaultValue=$item->DefaultValue->Text;
+ $property->ReadOnly=$item->ReadOnly->Checked;
+ $property->IsProtected=$item->IsProtected->Checked;
+ $property->Comments=$item->Comments->Text;
+ $property->Storage=$item->Storage->Text;
+ $def->Properties[]=$property;
+ }
+ foreach($this->EventList->Items as $item)
+ {
+ $event=new EventDefinition;
+ $event->Name=$item->EventName->Text;
+ $event->Comments=$item->Comments->Text;
+ $def->Events[]=$event;
+ }
+ }
+ }
+
+ public function generateCode($sender,$param)
+ {
+ $writer=Prado::createComponent('TTextWriter');
+ $this->ClassDefinition->render($writer);
+ $this->SourceCode->Text=$writer->flush();
+ }
+}
+
?> \ No newline at end of file
diff --git a/demos/composer/protected/pages/Layout.php b/demos/composer/protected/pages/Layout.php
index a82d2fff..3d9b5714 100644
--- a/demos/composer/protected/pages/Layout.php
+++ b/demos/composer/protected/pages/Layout.php
@@ -1,15 +1,15 @@
-<?php
-
-class Layout extends TTemplateControl
-{
- public function toggleTopicPanel($sender,$param)
- {
- $this->TopicPanel->Visible=!$this->TopicPanel->Visible;
- if($this->TopicPanel->Visible)
- $sender->Text="Hide TOC";
- else
- $sender->Text="Show TOC";
- }
-}
-
+<?php
+
+class Layout extends TTemplateControl
+{
+ public function toggleTopicPanel($sender,$param)
+ {
+ $this->TopicPanel->Visible=!$this->TopicPanel->Visible;
+ if($this->TopicPanel->Visible)
+ $sender->Text="Hide TOC";
+ else
+ $sender->Text="Show TOC";
+ }
+}
+
?> \ No newline at end of file