svn: /phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/ docgen.php
[email protected] (Justin Martin) Thu, 18 Nov 2010 22:42:18 +0000
| Newsgroups | php.gtk.doc |
|---|---|
| Message-ID | <[email protected]> |
--90459ac3c9f649bde0584ba52b6ca54621a58a7c
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
frozenfire Thu, 18 Nov 2010 22:42:18 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=305535
Log:
Suppress warnings about type hinting for PHP-GTK.
Check that classes are GObject children before generating signals and fields for them.
Add verbosity checks to informational messages.
Changed paths:
U phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/docgen.php
Modified: phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/docgen.php
===================================================================
--- phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/docgen.php 2010-11-18 22:40:17 UTC (rev 305534)
+++ phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/docgen.php 2010-11-18 22:42:18 UTC (rev 305535)
@@ -220,6 +220,8 @@
/* }}} */
function create_markup_to_params(array $params, $ident) { /* {{{ */
+ global $OPTION;
+
$count = 1;
$markup = "";
foreach ($params as $param) {
@@ -232,7 +234,8 @@
if (!$param->getName()) {
add_warning(sprintf("Parameter name not found, param%d used", $count));
}
- add_warning(sprintf("Type hint for parameter `%s' not found, 'string' used", ($param->getName() ? $param->getName() : $count)));
+ /* Type hinting is completely borked in PHP-GTK, so let's ignore that fact for now. */
+ if(!$OPTION['gtk']) add_warning(sprintf("Type hint for parameter `%s' not found, 'string' used", ($param->getName() ? $param->getName() : $count)));
}
$markup .= sprintf("%s<methodparam%s><type>%s</type><parameter%s>%s</parameter></methodparam>\n",
@@ -614,7 +617,10 @@
if($OPTION["gtk"]) {
/* {FIELDS_LIST} */
- if(($class->isInstantiable() || $class->isInterface) && is_int($class->getConstant("gtype")) && $gtkfields = GObject::list_properties($class->getConstant("gtype")) && !empty($gtkfields)) {
+ if( $class->isSubclassOf("GObject") &&
+ ($class->isInstantiable() || $class->isInterface) &&
+ $gtkfields = GObject::list_properties($class->getConstant("gtype"))
+ ) {
$ident = get_ident_size('FIELDS_LIST', $content);
$markup = "<classsynopsisinfo role=\"comment\">Fields</classsynopsisinfo>\n";
@@ -932,12 +938,16 @@
break;
case DOC_SIGNAL:
- $path = $OPTION['output'] .'/'. strtolower($obj[2]->name) .'/signals';
+ $path = $OPTION['output'] .'/'. strtolower($obj[2]->name);
+
+ create_dir($path);
+
+ $path = $OPTION['output'] . '/signals';
$filename = $path .'/'. format_filename($obj[1]) .'.xml';
create_dir($path);
- echo "Generating signal {$obj[1]}: {$filename}".PHP_EOL;
+ if ($OPTION['verbose']) echo "Generating signal {$obj[1]}: {$filename}".PHP_EOL;
$INFO['actual_file'] = $filename;
@@ -969,7 +979,7 @@
$initialOutput = $OPTION["output"];
$exts = glob("{$OPTION['gtk']}{$dirsep}ext{$dirsep}*", GLOB_ONLYDIR);
foreach($exts as $ext) {
- echo "Generating ".basename($ext)." PHP-GTK sub-extension.".PHP_EOL;
+ if ($OPTION['verbose']) echo "Generating ".basename($ext)." PHP-GTK sub-extension.".PHP_EOL;
$classes = array();
$OPTION["output"] = $OPTION["output"].$dirsep.basename($ext);
create_dir($OPTION["output"]);
@@ -977,7 +987,7 @@
$defs = glob("{$ext}{$dirsep}*.defs");
if(empty($defs)) continue;
foreach($defs as &$defsfile) {
- echo "Reading objects from {$defsfile}.".PHP_EOL;
+ if ($OPTION['verbose']) echo "Reading objects from {$defsfile}.".PHP_EOL;
$defsfile = file($defsfile);
}
$data = call_user_func_array("array_merge", $defs);
@@ -987,7 +997,7 @@
}
$classes = array_unique($classes);
- echo "Classes: ".implode(", ", $classes).PHP_EOL;
+ if ($OPTION['verbose']) echo "Classes: ".implode(", ", $classes).PHP_EOL;
foreach ($classes as $classtmp) {
if(!class_exists($classtmp)) continue;
@@ -1081,6 +1091,7 @@
}
if( $OPTION['gtk'] &&
+ $class->isSubclassOf("GObject") &&
($class->isInstantiable() || $class->isInterface()) &&
$signals = GObject::signal_list_ids($class->getConstant("gtype"))
) foreach($signals as $signal) {
--90459ac3c9f649bde0584ba52b6ca54621a58a7c--