From 5abdafeb9ded0c1c41992f7b3758f1dc02255683 Mon Sep 17 00:00:00 2001 From: wei <> Date: Thu, 12 Oct 2006 07:30:33 +0000 Subject: add unified chm build (quickstart + API + classdocs + wiki) --- .../chmbuilder/classes/pages/ClassDoc.page | 30 + buildscripts/chmbuilder/classes/pages/ClassDoc.php | 228 ++++++++ buildscripts/chmbuilder/classes/pages/Classes.page | 9 + buildscripts/chmbuilder/classes/pages/Classes.php | 19 + .../chmbuilder/classes/pages/MainLayout.php | 8 + .../chmbuilder/classes/pages/MainLayout.tpl | 33 ++ buildscripts/chmbuilder/classes/pages/style.css | 647 +++++++++++++++++++++ 7 files changed, 974 insertions(+) create mode 100644 buildscripts/chmbuilder/classes/pages/ClassDoc.page create mode 100644 buildscripts/chmbuilder/classes/pages/ClassDoc.php create mode 100644 buildscripts/chmbuilder/classes/pages/Classes.page create mode 100644 buildscripts/chmbuilder/classes/pages/Classes.php create mode 100644 buildscripts/chmbuilder/classes/pages/MainLayout.php create mode 100644 buildscripts/chmbuilder/classes/pages/MainLayout.tpl create mode 100644 buildscripts/chmbuilder/classes/pages/style.css (limited to 'buildscripts/chmbuilder/classes/pages') diff --git a/buildscripts/chmbuilder/classes/pages/ClassDoc.page b/buildscripts/chmbuilder/classes/pages/ClassDoc.page new file mode 100644 index 00000000..ef941c5b --- /dev/null +++ b/buildscripts/chmbuilder/classes/pages/ClassDoc.page @@ -0,0 +1,30 @@ +<%@ Title="PRADO - Documentation" %> + + + +
+Namespace: <%= $this->Class['Package'] %> +
+<%= $this->Ancestors %> + +
+<%= $this->Class['Name'] %> +
+ +
+Properties | Events | Methods | Derived classes | All classes +
+ +
Properties
+<%= $this->Properties %> + +
Events
+<%= $this->Events %> + +
Methods
+<%= $this->Methods %> + +
Derived classes
+<%= $this->Derived %> + +
diff --git a/buildscripts/chmbuilder/classes/pages/ClassDoc.php b/buildscripts/chmbuilder/classes/pages/ClassDoc.php new file mode 100644 index 00000000..733cfc5b --- /dev/null +++ b/buildscripts/chmbuilder/classes/pages/ClassDoc.php @@ -0,0 +1,228 @@ +_classes=unserialize(file_get_contents($dataFile)); + + if(($className=$this->Request['class'])!==null && isset($this->_classes[$className])) + { + $this->Class=$this->_classes[$className]; + $this->Class['Name']=$className; + $this->Title='PRADO - Documentation of '.$className; + } + else + $this->Response->redirect('/docs/classdoc/'); + } + + public function getAncestors() + { + $ancestors=array(); + $thisClass=$this->Class; + while(true) + { + $parentClass=$thisClass['ParentClass']; + if(isset($this->_classes[$parentClass])) + { + $ancestors[]=$parentClass; + $thisClass=$this->_classes[$parentClass]; + } + else + break; + } + $ancestors=array_reverse($ancestors); + $s=''; + foreach($ancestors as $ancestor) + $s.="$ancestor »\n"; + if($s!=='') + $s="
\nInheritance: $s
\n"; + return $s; + } + + public function getProperties() + { + $class=$this->Class; + $className=$this->Class['Name']; + $s=''; + foreach($class['Properties'] as $name=>$property) + { + $inherited=strcasecmp($property['class'],$className)!==0; + $rowclass=$inherited?'doc-inherited':'doc-native'; + $s.="\n"; + $access=''; + if($property['readonly']) + $access.='R'; + if($property['protected']) + $access.='P'; + if($access==='') + $access=' '; + $s.="$access\n"; + + if($inherited) + { + $parentClass=$property['class']; + if(isset($this->_classes[$parentClass])) + { + $url="../manual/CHMdefaultConverter/{$this->_classes[$parentClass]['Package']}/{$parentClass}.html#methodget{$name}"; + $s.="$name\n"; + } + else + $s.="$name\n"; + } + else + { + $url="../manual/CHMdefaultConverter/{$class['Package']}/{$className}.html#methodget{$name}"; + $s.="$name\n"; + } + + $type=$property['type']; + if(isset($this->_classes[$type])) + { + $url="$type.html"; + $s.="$type\n"; + } + else + $s.="$type\n"; + + $comments=rtrim($property['comments'],'.').'.'; + if($inherited) + { + $parentClass=$property['class']; + if(isset($this->_classes[$parentClass])) + { + $url="$parentClass.html"; + $comments.=" (inherited from $parentClass)"; + } + else + $comments.=" (inherited from {$parentClass})"; + } + $s.="$comments\n"; + $s.="\n"; + } + + $header="\n NameTypeDescription\n\n"; + return $s===''?'':"
\n\n$header$s
\n
\n"; + } + + public function getEvents() + { + $class=$this->Class; + $className=$this->Class['Name']; + $s=''; + foreach($class['Events'] as $name=>$event) + { + $inherited=strcasecmp($event['class'],$className)!==0; + $rowclass=$inherited?'doc-inherited':'doc-native'; + $s.="\n"; + + $methodName=$name; + $methodName[0]='o'; + if($inherited) + { + $parentClass=$event['class']; + if(isset($this->_classes[$parentClass])) + { + $url="../manual/CHMdefaultConverter/{$this->_classes[$parentClass]['Package']}/{$parentClass}.html#method{$methodName}"; + $s.="$name\n"; + } + else + $s.="$name\n"; + } + else + { + $url="../manual/CHMdefaultConverter/{$class['Package']}/{$className}.html#method{$methodName}"; + $s.="$name\n"; + } + + $comments=rtrim($event['comments'],'.').'.'; + if($inherited) + { + $parentClass=$event['class']; + if(isset($this->_classes[$parentClass])) + { + $url="$parentClass.html"; + $comments.=" (inherited from $parentClass)"; + } + else + $comments.=" (inherited from {$parentClass})"; + } + $s.="$comments\n"; + $s.="\n"; + } + $header="\nNameDescription\n\n"; + return $s===''?'':"
\n\n$header$s
\n
\n"; + } + + public function getMethods() + { + $class=$this->Class; + $className=$this->Class['Name']; + $s=''; + foreach($class['Methods'] as $name=>$method) + { + $inherited=strcasecmp($method['class'],$className)!==0; + $rowclass=$inherited?'doc-inherited':'doc-native'; + $s.="\n"; + $access=''; + if($method['static']) + $access.='S'; + if($method['protected']) + $access.='P'; + if($access==='') + $access=' '; + $s.="$access\n"; + + if($inherited) + { + $parentClass=$method['class']; + if(isset($this->_classes[$parentClass])) + { + $url="../manual/CHMdefaultConverter/{$this->_classes[$parentClass]['Package']}/{$parentClass}.html#method{$name}"; + $s.="$name\n"; + } + else + $s.="$name\n"; + } + else + { + $url="../manual/CHMdefaultConverter/{$class['Package']}/{$className}.html#method{$name}"; + $s.="$name\n"; + } + + $comments=rtrim($method['comments'],'.').'.'; + if($inherited) + { + $parentClass=$method['class']; + if(isset($this->_classes[$parentClass])) + { + $url="$parentClass.html"; + $comments.=" (inherited from $parentClass)"; + } + else + $comments.=" (inherited from {$parentClass})"; + } + $s.="$comments\n"; + $s.="\n"; + } + $header="\n NameDescription\n\n"; + return $s===''?'':"
\n\n$header$s
\n
\n"; + } + + public function getDerived() + { + $class=$this->Class; + $s=''; + foreach($class['ChildClasses'] as $childName) + $s.="
  • $childName
  • \n"; + return $s===''?'':"
    \n\n
    \n"; + } + +} + +?> diff --git a/buildscripts/chmbuilder/classes/pages/Classes.page b/buildscripts/chmbuilder/classes/pages/Classes.page new file mode 100644 index 00000000..dd8f3440 --- /dev/null +++ b/buildscripts/chmbuilder/classes/pages/Classes.page @@ -0,0 +1,9 @@ +<%@ Title="PRADO - Class Documentation" %> + + + +

    PRADO Framework Classes

    + + + +
    diff --git a/buildscripts/chmbuilder/classes/pages/Classes.php b/buildscripts/chmbuilder/classes/pages/Classes.php new file mode 100644 index 00000000..ee2672b4 --- /dev/null +++ b/buildscripts/chmbuilder/classes/pages/Classes.php @@ -0,0 +1,19 @@ +Request->ApplicationUrl; + foreach(array_keys($classes) as $className) + $data["$className.html"]=$className; + $this->ClassList->DataSource=$data; + $this->ClassList->dataBind(); + } +} + +?> diff --git a/buildscripts/chmbuilder/classes/pages/MainLayout.php b/buildscripts/chmbuilder/classes/pages/MainLayout.php new file mode 100644 index 00000000..e536e71d --- /dev/null +++ b/buildscripts/chmbuilder/classes/pages/MainLayout.php @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/buildscripts/chmbuilder/classes/pages/MainLayout.tpl b/buildscripts/chmbuilder/classes/pages/MainLayout.tpl new file mode 100644 index 00000000..47fcfc85 --- /dev/null +++ b/buildscripts/chmbuilder/classes/pages/MainLayout.tpl @@ -0,0 +1,33 @@ + + + + + + + + + + /> + + + + + +
    + +
    + +
    +
    + + + + + +
    + + + diff --git a/buildscripts/chmbuilder/classes/pages/style.css b/buildscripts/chmbuilder/classes/pages/style.css new file mode 100644 index 00000000..64f6a892 --- /dev/null +++ b/buildscripts/chmbuilder/classes/pages/style.css @@ -0,0 +1,647 @@ +/** + * PradoSoft profile by Carl G. Mathisen and Stefan A. Petrov + * http://decart.no + */ + +body +{ + text-align: center; +} + +body, div, span, p, input +{ + font-family: Verdana, sans-serif, Arial; + font-size: 10pt; + color: #333333; +} + +h1, h2, h3, h4 +{ + font-family: Verdana, Helvetica, Arial, Lucida Grande, Trebuchet MS; + padding: 0px; + margin: 0px; + margin-bottom: 10px; + color: #821B18; + font-weight: normal; +} + +h2 +{ + font-size: 18px; +} + +h3 +{ + font-size: 16px; +} + +div +{ + text-align: left; +} + +.instructions +{ + background-color: #EEEEEE; +} + +img +{ + border: none; +} + +a +{ + color: #CD2C27; + text-decoration: none; +} + +a:hover +{ + color: #821B18; + text-decoration: underline; +} + +#page +{ + margin: 0 auto; + padding: 0; +} + +#header +{ + position: relative; + height: 98px; +} + +#logo +{ + height: 99px; +} + +#mainmenu +{ + position: absolute; + top: 69px; +} + +#mainmenu ul +{ + margin-left: 0; + padding-left: 0; + display: inline; +} + +#mainmenu ul li +{ + margin-left: 0px; + list-style: none; + display: inline; +} + +#mainmenu ul li a +{ + display: block; + float: left; + font-size: 14px; + font-weight: bold; + padding-left: 7px; + padding-right: 7px; + padding-top: 5px; + color: #FFFFCC; + text-decoration: none; + height: 29px; +} + +#mainmenu ul li a:hover +{ + color: #fff; +} + +#mainmenu ul li a.active +{ + color: #91A412; +} + +/* main page */ + +div.intro +{ +} + +div.statements +{ +} + +div.statements div +{ + position: absolute; + width: 250px; + top: 20px; +} + +div.statements div p +{ + font-size: 13px; + color: #818181; +} + +div.statements div.whatis +{ + left: 20px; +} + +div.statements div.whatreq +{ + left: 290px; +} + +div.statements div.cani +{ + left: 600px; + width: 210px; +} + +/* navbar */ +#navbar +{ + border-bottom: 2px solid #E9EEEF; + height: 30px; + margin-bottom: 20px; +} + +#navbar ul +{ + margin-left: 0; + padding-left: 0; + display: inline; +} + +#navbar ul li +{ + margin-left: 0px; + list-style: none; + display: inline; +} + +#navbar ul li a +{ + display: block; + float: left; + font-size: 14px; + font-weight: bold; + padding-right: 14px; + padding-top: 5px; + color: #CD2B26; + text-decoration: none; + height: 29px; +} + +#navbar ul li a.active, #navbar ul li a.hover +{ + color: #821B18; +} + +/* infobar */ +div#infobar +{ + float: right; + width: 200px; + padding-left: 20px; + border-left: 2px solid #E9EEEF; +} + +div#infobar div +{ + margin-bottom: 20px; +} + +div#infobar div#featured img +{ + margin-top: 10px; +} + +/* articles */ + +div#articles +{ + width: 560px; + float: left; +} + +/* article */ + +div.article +{ + margin-bottom: 40px; +} + +div.article .date +{ + color: #9F9291; +} + +div.article .more +{ + margin-right: 10px; + display: block; + text-align: right; +} + +.logo +{ + position: absolute; + margin-left: 15px; + margin-top: 0px; + z-index: 1; +} + +#main +{ + padding: 20px; + padding-top: 20px; + background-color: #fff; +} + +div.mantis +{ + height: 190px; + background-color: #fff; + border-bottom: 1px solid #DCDCDC; +} + +div.releases +{ + float: left; + width: 240px; + height: 190px; +} + +div.releases div.official +{ + width: 190px; + position: relative; + left: 52px; + top: 128px; + font-size: 8pt; + color: #6D6D6D; +} + +div.releases div.official a +{ + display: block; +} + +div.whyprado +{ + display: block; + float: left; +} + +div.whyprado ul.list +{ + margin-top: 40px; + margin-left: 40px; +} + +div.whyprado ul.list li +{ + display: block; + margin: 5px; + padding: 0px; + font-size: 18px; + background-repeat: no-repeat; + background-position: bottom left; + padding-left: 30px; + list-style: none; +} + +div.whyprado ul.list li.one +{ +} + +div.whyprado ul.list li.two +{ +} + +div.whyprado ul.list li.three +{ +} + +div.whyprado ul.list li a +{ + color: #9F9291; + text-decoration: none; +} + +#footer +{ + border-top: 1px solid #e9eeef; + background-color: #fff; + clear: both; + color: #A7A7A7; + font-size: 8pt; + text-align: center; + padding-top: 10px; + padding-bottom: 30px; +} + +#features +{ + margin-left: 610px; + padding: 10px; + padding-left: 10px; + padding-right: 10px; + background-color: #BEDD75; + color: #344A1E; + font-size: 9pt; +} + +#features ul +{ + margin: 10px; + padding: 0px; +} + +#features ul li +{ + font-size: 8pt; + padding: 0px; + margin: 0px; + margin-top: 8px; +} + +#features h3 +{ + margin: 0px; + padding: 0px; + font-size: 10pt; + color: #292E1D; + text-align: center; + border-bottom: 1px solid silver; +} + +#news +{ + float: left; + width: 590px; +} + +.newstitle +{ + font-size: 12pt; + font-weight: bold; + color: #555; + margin-top: 10px; + margin-bottom: 0px; + border-bottom: 1px solid silver; +} + +.newscontentmore +{ + margin-right: 10px; + display: block; + color: #50811A; + text-align: right; +} + +.newscontentmore:hover +{ + color: red; +} + +.newstime +{ + margin: 0px; + font-size:0.8em; + color:#aaa; + padding-left:10px; + text-align: right; +} + +.newscontent +{ + margin-top: 5px; +} + +#leftpanel +{ + float: left; + width: 550px; +} + +#topics +{ + border: 1px solid #804040; + margin-left: 610px; + padding-bottom: 10px; +} + +#topicsheader +{ + text-align:center; + font-weight:bold; + background-color:#804040; + color:#FFFFBC; + padding: 3px; + margin-bottom:0px; +} + +.topicitem +{ + padding: 5px; +} + +.topicitem a:hover +{ + text-decoration: underline; +} + +.topicitem p +{ + margin: 0px; + font-size:0.8em; + color:#aaa; + padding-left:10px; + white-space:nowrap; +} + +.reference +{ +} + +.reference img +{ + margin: 10px; +} + +.reference h3 +{ +} + + +.download +{ + width: 100%; + background-color: #aaa; +} + +.download td +{ + background-color: #FFFFFF; + padding: 5px; + font-size: 9pt; +} + +.download td a +{ + font-weight: bold; +} + +.download td.type +{ + font-family: "courier new", courier; + text-align: right; + vertical-align: top; +} + +.download div.declaration +{ + font-family: "courier new", courier; +} + + +.download th +{ + background-color: #F0F0F0; + font-weight: bold; + padding: 5px; + text-align: left; +} + +.download th.small +{ + font-size: 1.0em; +} + +.download tr.reference td { + background-color: #FFEDED; +} + + +.doc-title +{ + font-size: 14pt; + font-weight: bold; + margin-top: 10px; + margin-bottom: 10px; +} + +.doc-subtitle +{ + font-size: 11pt; + font-weight: bold; + background-color: #EEE; + padding: 5px; + margin-top: 20px; +} + +.doc-namespace +{ + font-size: 8pt; +} + + +.doc-menu +{ +} + +.doc-classes +{ +} + +.doc-ancestors +{ + font-size: 8pt; +} + +.doc-properties +{ + font-size: 9pt; +} + +.doc-properties table +{ + border-collapse: collapse; + background-color: silver; + width: 100%; +} + +.doc-properties td, .doc-properties th +{ + padding: 3px; + vertical-align: top; + background-color: white; + border: 1px solid silver; +} + +.doc-events +{ + font-size: 9pt; +} + +.doc-events table +{ + border-collapse: collapse; + background-color: silver; + width: 100%; +} + +.doc-events td, .doc-events th +{ + padding: 3px; + vertical-align: top; + background-color: white; + border: 1px solid silver; +} + +.doc-methods +{ + font-size: 9pt; +} + +.doc-methods table +{ + border-collapse: collapse; + background-color: silver; + width: 100%; +} + +.doc-methods td, .doc-methods th +{ + padding: 3px; + vertical-align: top; + background-color: white; + border: 1px solid silver; +} + +.doc-derived +{ +} + +.doc-inherited +{ +} + +.doc-native td +{ + background-color: lightyellow; +} + +.forum-topic +{ + padding: 10px; + border:1px solid silver; + margin-bottom: 10px; +} + -- cgit v1.2.3