From bf064f5697219866cdb312b97e53fe0c13e7cf2f Mon Sep 17 00:00:00 2001 From: Michael Wiebusch Date: Wed, 21 Aug 2013 18:14:42 +0200 Subject: [PATCH] added feature to jtageditor.pl, now possible to call it with edit=configFile.xml in the query string --- layout/jtageditor_blue.css | 4 +-- tools/hideAndShow.js | 45 +++++++++++++++++++++++ tools/jtageditor.pl | 74 ++++++++++++-------------------------- tools/testgui.js | 21 ++++++----- tools/testgui.pl | 1 + tools/xmlRendering.pm | 15 +++++--- 6 files changed, 94 insertions(+), 66 deletions(-) create mode 100644 tools/hideAndShow.js diff --git a/layout/jtageditor_blue.css b/layout/jtageditor_blue.css index 081f156..7ac5ea7 100644 --- a/layout/jtageditor_blue.css +++ b/layout/jtageditor_blue.css @@ -195,9 +195,9 @@ table.conversion { font-size:9pt; } -tr.fileLevel:hover td table.conversion { +/*tr.fileLevel:hover td table.conversion { visibility:visible; -} +}*/ table.registers tr.bitfield td:first-child{ background:transparent; diff --git a/tools/hideAndShow.js b/tools/hideAndShow.js new file mode 100644 index 0000000..f4f6481 --- /dev/null +++ b/tools/hideAndShow.js @@ -0,0 +1,45 @@ + + +var visHash= new Object(); + +function toggleVis(elementId,t) { +if(document.getElementById(elementId)){ +if( document.getElementById(elementId).style.visibility == "visible") { + document.getElementById(elementId).style.visibility = "collapse"; + visHash[elementId]=false; + t.innerHTML = " + "; +} else { + document.getElementById(elementId).style.visibility = "visible" ; + visHash[elementId]=true; + t.innerHTML = " − "; +} +} +} +function showElement(elementId) { + if(document.getElementById(elementId)){ + document.getElementById(elementId).style.visibility = "visible" ; + visHash[elementId]=true; + } +} +function hideElement(elementId) { + if(document.getElementById(elementId)){ + document.getElementById(elementId).style.visibility = "hidden" ; + visHash[elementId]=false; + } +} +function collapseElement(elementId) { + if(document.getElementById(elementId)){ + document.getElementById(elementId).style.visibility = "collapse" ; + visHash[elementId]=false; + } +} + +function showAgain() { + + for (var key in visHash) { +if(visHash[key]==true){ +showElement(key); +} +} + +} \ No newline at end of file diff --git a/tools/jtageditor.pl b/tools/jtageditor.pl index b12bd15..14cf001 100755 --- a/tools/jtageditor.pl +++ b/tools/jtageditor.pl @@ -8,18 +8,17 @@ print "Content-type: text/html\n\n"; # make jtageditor callable with config file name as CGI # argument, so editor opens specified config file -# be able to accept long hex strings + # what happens when files are not writable? -# outsource print_registers and print_fields to xmlOperations -# to be accessible by testgui as well + # --- would be nice, not critical ---- # make sure that error fields are hidden as well! -# substitute selectedConfigFile() with "$configFileName" inside print_registers and print_fieldsi -# implement a hex/bin/dec converter that is easy to use + + @@ -30,8 +29,13 @@ print "Content-type: text/html\n\n"; # DONE +# be able to accept long hex strings +# outsource print_registers and print_fields to xmlOperations +# to be accessible by testgui as well +# substitute selectedConfigFile() with "$configFileName" inside print_registers and print_fieldsi +# implement a hex/bin/dec converter that is easy to use # remove CGI processing routines that are now in xmlOperation.pl # still there but commented out @@ -66,7 +70,7 @@ use Environment; my %cgiHash = &read_input; -if ( !keys %cgiHash ) +if ( !keys %cgiHash or $cgiHash{'edit'} ) { # if script is called without arguments: initialize the html structure initPage(); exit; @@ -302,9 +306,13 @@ sub initPage { EOF printJavaScripts(); - print < - + print ""; +if ($cgiHash{'edit'}) { + print qq% %; + } else { + print qq% %; +} +print <JTAG Configuration File Editor
Debug Output
@@ -415,27 +423,19 @@ if(document.getElementById("newFileName")){ } } -var visHash= new Object(); + function reloadSpecTree(){ var file_ = encodeURIComponent(selectedConfigFile()); getdata('$me?print=spectree&configFile='+file_,'roterBereich',false); -for (var key in visHash) { -if(visHash[key]==true){ -showElement(key); -} -} +showAgain(); } function reloadSetTree(){ var file_ = encodeURIComponent(selectedConfigFile()); getdata('$me?print=settree&configFile='+file_,'blauerBereich',false); -for (var key in visHash) { -if(visHash[key]==true){ -showElement(key); -} -} +showAgain(); } @@ -523,37 +523,8 @@ var file_ = encodeURIComponent(configFile); getdata('$me?print=fileSelection&configFile='+file_,'fileSelection',false); } -function toggleVis(elementId,t) { -if(document.getElementById(elementId)){ -if( document.getElementById(elementId).style.visibility == "visible") { - document.getElementById(elementId).style.visibility = "collapse"; - visHash[elementId]=false; - t.innerHTML = " + "; -} else { - document.getElementById(elementId).style.visibility = "visible" ; - visHash[elementId]=true; - t.innerHTML = " − "; -} -} -} -function showElement(elementId) { - if(document.getElementById(elementId)){ - document.getElementById(elementId).style.visibility = "visible" ; - visHash[elementId]=true; - } -} -function hideElement(elementId) { - if(document.getElementById(elementId)){ - document.getElementById(elementId).style.visibility = "hidden" ; - visHash[elementId]=false; - } -} -function collapseElement(elementId) { - if(document.getElementById(elementId)){ - document.getElementById(elementId).style.visibility = "collapse" ; - visHash[elementId]=false; - } -} + + function hideThisFileLevel(classname,checked){ @@ -578,6 +549,7 @@ for(var i = 0; i < array.length; i++) + EOF } diff --git a/tools/testgui.js b/tools/testgui.js index 9f0e198..ea2da80 100644 --- a/tools/testgui.js +++ b/tools/testgui.js @@ -9,6 +9,7 @@ function reloadQuickEditArea(configFile,destId) { var configFile_ = encodeURIComponent(configFile); var destId_ = encodeURIComponent(destId); getdata("testgui.pl?action=print_quickEditArea&configFile="+configFile_+"&destId="+destId_,destId,false); + showAgain(); } @@ -37,12 +38,14 @@ function run(time) { -function toggleVis(elementId) { -if(document.getElementById(elementId)){ -if( document.getElementById(elementId).style.visibility == "visible") { - document.getElementById(elementId).style.visibility = "collapse"; -} else { - document.getElementById(elementId).style.visibility = "visible" ; -} -} -} \ No newline at end of file +// function toggleVis(elementId) { +// if(document.getElementById(elementId)){ +// if( document.getElementById(elementId).style.visibility == "visible") { +// document.getElementById(elementId).style.visibility = "collapse"; +// } else { +// document.getElementById(elementId).style.visibility = "visible" ; +// } +// } +// } + + diff --git a/tools/testgui.pl b/tools/testgui.pl index 4af5f1a..0da6652 100755 --- a/tools/testgui.pl +++ b/tools/testgui.pl @@ -129,6 +129,7 @@ print start_html( ], -script=>[ { -type => 'text/javascript', -src => './testgui.js'}, +{ -type => 'text/javascript', -src => './hideAndShow.js'}, { -type => 'text/javascript', -src => './getdata.js'}, { -type => 'text/javascript', -src => './xmlOperations.js'} ] diff --git a/tools/xmlRendering.pm b/tools/xmlRendering.pm index 1945906..c1c6ed6 100644 --- a/tools/xmlRendering.pm +++ b/tools/xmlRendering.pm @@ -214,13 +214,15 @@ sub print_fields { } $fieldDescr = $sizeInfo . $fieldDescr; + my $fieldId = $xmlfile . "//" . $registerName . "/" . $fieldName; + my $conversionTableId = $fieldId."_conversion"; unless ( $isHeritageFrom eq "" ) { $fieldDescr = "Field was inherited from $isHeritageFrom\n\n" . $fieldDescr; } - my $fieldId = $xmlfile . "//" . $registerName . "/" . $fieldName; + if ( $fieldValue eq "" ) { $fieldValue = $field->findvalue("./\@defaultValue"); $readOnlyFlag = 1; @@ -229,7 +231,11 @@ sub print_fields { print ""; print "$fieldName"; - print "  = "; + unless($isHeritageFrom){ + print qq%  = %; + } else { + print qq%  = %; + } # print ""; # print_conversionMenu($registerName,$fieldName); # print ""; @@ -243,7 +249,7 @@ EOF %; - print_conversionMenu($registerName,$fieldName); + print_conversionMenu($registerName,$fieldName,$conversionTableId); print ""; @@ -305,8 +311,9 @@ sub print_conversionMenu { my $configFileName= getConfigFileName(); my $registerName = shift(); my $fieldName = shift(); + my $tableId = shift(); - print "
"; + print "
"; print qq%%; print "hex "; print ""; -- 2.43.0