summaryrefslogtreecommitdiffstats
path: root/scripts/generate-class.pl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/generate-class.pl')
-rwxr-xr-xscripts/generate-class.pl30
1 files changed, 17 insertions, 13 deletions
diff --git a/scripts/generate-class.pl b/scripts/generate-class.pl
index 51b81627..532e1fb1 100755
--- a/scripts/generate-class.pl
+++ b/scripts/generate-class.pl
@@ -61,6 +61,7 @@ binmode STDOUT, ':utf8';
foreach my $class ($classset->get_nodelist) {
my $className = $class->findvalue('@name');
+ my $isAbstract = $class->findvalue('@isAbstract');
open STDOUT, '>', $options{o}."/".$namespace."/q".lc($namespace).lc($className).".h";
if ($tt->process('qclass.h', {
xmi => $options{i},
@@ -74,18 +75,21 @@ foreach my $class ($classset->get_nodelist) {
namespace => $namespace,
className => $className
}) ne 1) { print $tt->error(); }
- open STDOUT, '>', $options{o}."/".$namespace."/internal/".lc($namespace).lc($className)."_p.h";
- if ($tt->process('class_p.h', {
- xmi => $options{i},
- namespace => $namespace,
- className => $className
- }) ne 1) { print $tt->error(); }
- close STDOUT;
- open STDOUT, '>', $options{o}."/".$namespace."/internal/".lc($namespace).lc($className).".cpp";
- if ($tt->process('class.cpp', {
- xmi => $options{i},
- namespace => $namespace,
- className => $className
- }) ne 1) { print $tt->error(); }
close STDOUT;
+ if ($isAbstract ne 'true') {
+ open STDOUT, '>', $options{o}."/".$namespace."/qobjects/q".lc($namespace).lc($className)."object_p.h";
+ if ($tt->process('qobjectclass_p.h', {
+ xmi => $options{i},
+ namespace => $namespace,
+ className => $className
+ }) ne 1) { print $tt->error(); }
+ close STDOUT;
+ open STDOUT, '>', $options{o}."/".$namespace."/qobjects/q".lc($namespace).lc($className)."object.cpp";
+ if ($tt->process('qobjectclass.cpp', {
+ xmi => $options{i},
+ namespace => $namespace,
+ className => $className
+ }) ne 1) { print $tt->error(); }
+ close STDOUT;
+ }
}