# some global variables
-our $parser = XML::LibXML->new();
+
our $specFile = "";
our $configFile = "";
our $specFileName = "";
our $configTree;
our $configMapsType;
-our %fileLevelHash;
-our $ancestryTree;
-our @ancestryList;
our $confDir = '../config';
our $specDir = '../specs';
$readOnlyFlag = 1;
}
- print "<tr class='fileLevel" . $fileLevelHash{$isHeritageFrom} . "'>";
+ print "<tr class='fileLevel" . getFileLevel($isHeritageFrom) . "'>";
print "<td width=120 title=\"$fieldDescr\"";
print ">$fieldName</td>";
print "<td> = </td>";
print "<table class='fileLevel'><tr><td>";
#print "<table class='fileLevel1' padding=0 spacing=0><tr><td>";
- if (@ancestryList)
+ if (getAncestryList())
{ # if ancestry is not empty, print current ancestry as a nested table
# and also a button that can unlink the heritage
- my $tableNestingDepth = @ancestryList;
- for my $ancestor ( reverse(@ancestryList) ) {
- print "<table class=fileLevel" . $fileLevelHash{$ancestor} . ">";
+ my $tableNestingDepth = getAncestryList();
+ for my $ancestor ( reverse(getAncestryList()) ) {
+ print "<table class=fileLevel" . getFileLevel($ancestor) . ">";
print "<tr><td colspan=2>";
}
- for my $ancestor (@ancestryList) {
+ for my $ancestor (getAncestryList()) {
print "</td></tr><tr><td>$ancestor </td><td valign='bottom'>";
print "<img src='../share/eye16.png' onclick=''></img>";
print
"<input type='checkbox' checked=true onchange='hideThisFileLevel(\"fileLevel"
- . $fileLevelHash{$ancestor} . "\",this.checked)'></td>";
- if ( $fileLevelHash{$ancestor} eq "1" ) {
+ . getFileLevel($ancestor) . "\",this.checked)'></td>";
+ if ( getFileLevel($ancestor) eq "1" ) {
print <<EOF;
<td class='button_move' title='unlink includes' onclick='changeAncestor("")'> X </td>
EOF
}
-###############################
-## general xml tools
-###############################
-
-
-sub mergeTrees { # give me two trees, tree1 overwrites everything in tree0 and will consequently be integrated in tree0
- my $tree0 = $_[0];
- my $tree1 = $_[1];
-
- my $maps0 = $tree0->findnodes("/MAPS")->shift();
- my $maps1 = $tree1->findnodes("/MAPS")->shift();
-
- my @registers0 = $tree0->findnodes("/MAPS/register");
- my @registers1 = $tree1->findnodes("/MAPS/register");
-
- for my $register1 (@registers1) {
- my $registerName = $register1->findvalue("./\@name");
- if ( $registerName eq "" ) {
- die "registerName in tree1 undefined!";
- }
-
- # if current register does not exist in tree0, create it
- my $register0 =
- $maps0->findnodes( "./register[\@name='" . $registerName . "']" )
- ->shift();
- if ( $register0 eq "" ) {
- $register0 = $maps0->addNewChild( "", "register" );
- $register0->setAttribute( "name", $registerName );
- }
-
- my @fields1 = $register1->findnodes("./field");
- for my $field1 (@fields1) {
- my $fieldName = $field1->findvalue("./\@name");
- # if field with same name exists in tree0/register0 delete it!
- my $field0 =
- $register0->findnodes( "./field[\@name='" . $fieldName . "']" )
- ->shift();
- unless ( $field0 eq "" ) {
- $register0->removeChild($field0);
- }
-
- # copy current field from tree1/register1 to tree0/register0
-
- $register0->addChild($field1);
- }
-
- }
-}
-
-
-
-sub getAncestor {
- my $xmltree = $configTree;
- return ( $xmltree->findvalue("/MAPS/\@inheritSettingsFrom") || "" );
-}
#!/usr/bin/perl -w
+my $parser = XML::LibXML->new();
+my %fileLevelHash;
+
+my $ancestryTree;
+my @ancestryList;
+
+sub getFileLevel{
+ return $fileLevelHash{$_[0]};
+}
+
+sub getAncestryList{
+ return @ancestryList;
+}
###############################
## xml file operations
# description: writes the current $configTree to $configFile
+###############################
+## general xml tools
+###############################
+
+
+sub mergeTrees { # give me two trees, tree1 overwrites everything in tree0 and will consequently be integrated in tree0
+ my $tree0 = $_[0];
+ my $tree1 = $_[1];
+
+ my $maps0 = $tree0->findnodes("/MAPS")->shift();
+ my $maps1 = $tree1->findnodes("/MAPS")->shift();
+
+ my @registers0 = $tree0->findnodes("/MAPS/register");
+ my @registers1 = $tree1->findnodes("/MAPS/register");
+
+ for my $register1 (@registers1) {
+ my $registerName = $register1->findvalue("./\@name");
+ if ( $registerName eq "" ) {
+ die "registerName in tree1 undefined!";
+ }
+
+ # if current register does not exist in tree0, create it
+ my $register0 =
+ $maps0->findnodes( "./register[\@name='" . $registerName . "']" )
+ ->shift();
+ if ( $register0 eq "" ) {
+ $register0 = $maps0->addNewChild( "", "register" );
+ $register0->setAttribute( "name", $registerName );
+ }
+
+ my @fields1 = $register1->findnodes("./field");
+ for my $field1 (@fields1) {
+ my $fieldName = $field1->findvalue("./\@name");
+
+ # if field with same name exists in tree0/register0 delete it!
+ my $field0 =
+ $register0->findnodes( "./field[\@name='" . $fieldName . "']" )
+ ->shift();
+ unless ( $field0 eq "" ) {
+ $register0->removeChild($field0);
+ }
+
+ # copy current field from tree1/register1 to tree0/register0
+
+ $register0->addChild($field1);
+ }
+
+ }
+}
+
+
+
+# sub getAncestor {
+# my $xmltree = $configTree;
+# return ( $xmltree->findvalue("/MAPS/\@inheritSettingsFrom") || "" );
+# }
+
+
1;
__END__