]> matita.cs.unibo.it Git - helm.git/blob - helm/graphs/tools/mk_html.pl
Menu in JavaScript substituted to multi-area links. Cool.
[helm.git] / helm / graphs / tools / mk_html.pl
1 #!/usr/bin/perl
2
3 use URI::Escape;
4
5 print <<EOT;
6 <html>
7  <head>
8   <title>Graph</title>
9 <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
10 <!--
11
12 if(window.event + "" == "undefined") event = null;
13 function HM_f_PopUp(){return false};
14 function HM_f_PopDown(){return false};
15 popUp = HM_f_PopUp;
16 popDown = HM_f_PopDown;
17
18 //-->
19 </SCRIPT>
20
21 <SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
22 <!--
23
24 HM_PG_MenuWidth = 300;
25 HM_PG_FontFamily = "Arial,sans-serif";
26 HM_PG_FontSize = 10;
27 HM_PG_FontBold = 0;
28 HM_PG_FontItalic = 0;
29 HM_PG_FontColor = "blue";
30 HM_PG_FontColorOver = "green";
31 HM_PG_BGColor = "#DDDDDD";
32 HM_PG_BGColorOver = "#FFCCCC";
33 HM_PG_ItemPadding = 3;
34
35 HM_PG_BorderWidth = 2;
36 HM_PG_BorderColor = "black";
37 HM_PG_BorderStyle = "solid";
38 HM_PG_SeparatorSize = 2;
39 HM_PG_SeparatorColor = "#d0ff00";
40
41 HM_PG_ImageSrc = "HM_More_black_right.gif";
42 HM_PG_ImageSrcLeft = "HM_More_black_left.gif";
43 HM_PG_ImageSrcOver = "HM_More_white_right.gif";
44 HM_PG_ImageSrcLeftOver = "HM_More_white_left.gif";
45
46 HM_PG_ImageSize = 5;
47 HM_PG_ImageHorizSpace = 0;
48 HM_PG_ImageVertSpace = 2;
49
50 HM_PG_KeepHilite = true; 
51 HM_PG_ClickStart = 0;
52 HM_PG_ClickKill = false;
53 HM_PG_ChildOverlap = 20;
54 HM_PG_ChildOffset = 10;
55 HM_PG_ChildPerCentOver = null;
56 HM_PG_TopSecondsVisible = .5;
57 HM_PG_StatusDisplayBuild =0;
58 HM_PG_StatusDisplayLink = 0;
59 HM_PG_UponDisplay = null;
60 HM_PG_UponHide = null;
61 HM_PG_RightToLeft = 0;
62
63 HM_PG_CreateTopOnly = 0;
64 HM_PG_ShowLinkCursor = 1;
65 HM_PG_NSFontOver = true;
66
67 //HM_a_TreesToBuild = [2];
68
69
70 //-->
71 </SCRIPT>
72
73 <script>
74 function setParam(url,name,value)
75 {
76   var urla = url.split("?");
77   var search = urla[1];
78   var args = search.split("&");
79
80   for (var i = 0 ; i < args.length ; i++) {
81      var couple = args[i].split("=");
82      if (couple[0] == name) args[i] = name + "=" + value;
83   }
84
85
86   return (urla[0] + "?" + args.join("&"));
87 }
88
89 function getParam0(search,name)
90 {
91   var args = search.split("&");
92   var value = "???";
93
94   for (var i = 0 ; i < args.length ; i++) {
95      var couple = args[i].split("=");
96      if (couple[0] == name) value = couple[1];
97   }
98
99   if (value == "???") value = getDefaultParam(name);
100
101   return value;
102 }
103
104 function getParam(name)
105 {
106   return getParam0(location.search.slice(1),name);
107 }
108
109 function getParam3(from,name)
110 {
111   //var url = unescape(getParam('xmluri'));
112   //var tmp = url.split("?");
113   var tmp = from.split("?");
114
115   if (tmp.length > 1)
116      return getParam0(tmp[1],name);
117   else
118      return getDefaultParam(name);
119 }
120 </script>
121
122 <script>
123 function mkDepURL(uri)
124 {
125    var iurl = unescape(getParam("url"));
126    var getterURL = getParam3(iurl,"param.getterURL");
127    var interfaceURL = unescape(getParam3(iurl,"param.interfaceURL"));
128    var url = setParam(iurl,"keys","MDG");
129    url = setParam(url,"xmluri", getterURL + "getxml%3Furi%3D" + uri);
130    url = setParam(url,"param.CICURI",uri);
131    url = setParam(url,"param.RDFURI","helm:rdf:www.cs.unibo.it/helm/rdf/rdfprova//" + uri);
132    var draw_graph_url =
133     location.protocol + '//' + location.host + location.pathname;
134    url = draw_graph_url + "?url=" + escape(url);
135    return url;
136 }
137
138 function mkCICURL(uri)
139 {
140    var iurl = unescape(getParam("url"));
141    var getterURL = getParam3(iurl,"param.getterURL");
142    var interfaceURL = unescape(getParam3(iurl,"param.interfaceURL"));
143    var url = setParam(iurl,"keys",getParam3(iurl,"param.keys"));
144    url = setParam(url,"xmluri", getterURL + "getxml%3Furi%3D" + uri);
145    url = setParam(url,"param.CICURI",uri);
146    url = setParam(url,"param.RDFURI","helm:rdf:www.cs.unibo.it/helm/rdf/rdfprova//" + uri);
147    url = interfaceURL + "?url=" + escape(url);
148    return url;
149 }
150
151 function mkMetaURL(uri)
152 {
153    var iurl = unescape(getParam("url"));
154    var getterURL = getParam3(iurl,"param.getterURL");
155    var interfaceURL = unescape(getParam3(iurl,"param.interfaceURL"));
156    var url = setParam(iurl,"keys","MMG");
157    url = setParam(url,"xmluri", getterURL + "getxml%3Furi%3Dhelm:rdf:www.cs.unibo.it/helm/rdf/rdfprova//" + uri);
158    url = setParam(url,"param.CICURI",uri);
159    url = setParam(url,"param.RDFURI","helm:rdf:www.cs.unibo.it/helm/rdf/rdfprova//" + uri);
160    var draw_graph_url =
161     location.protocol + '//' + location.host + location.pathname;
162    url = draw_graph_url + "?url=" + escape(url);
163    return url;
164 }
165 </script>
166
167
168  </head>
169  <body bgcolor="white" onLoad="window.focus()">
170   <script>
171    var draw_graph_url =
172     location.protocol + '//' + location.host;
173    document.write('<img border="false" src="' + draw_graph_url + '/get_gif?pid=$ARGV[0]" usemap="#graphe">');
174   </script>
175   <map name="graphe">
176 EOT
177
178 my $count = 0;
179
180 while (<STDIN>) {
181  $count++;
182  my (undef,$point1,$point2,$uri) = split;
183  my ($point1x,$point1y) = split /,/,$point1;
184  my ($point2x,$point2y) = split /,/,$point2;
185  $point1y = substr($point1y,0,-1);
186  $point2y = substr($point2y,0,-1);
187  $point1x = substr($point1x,1);
188  $point2x = substr($point2x,1);
189
190  print <<EOT;
191    <area shape="rect" href="$url" coords="$point1x,$point2y,$point2x,$point1y"
192    onMouseOver="HM_f_PopUp('elMenu$count',event)"
193    onMouseOut="HM_f_PopDown('elMenu$count')">
194 EOT
195
196  print <<EOT;
197   <script>
198 HM_Array$count = [
199 [,,,
200 ,,,,,,,,,,,,,,,,
201 1,true],
202 ["Objects this one depends on.",mkDepURL('$uri'),1,0,1],
203 ["Render this object.",mkCICURL('$uri'),1,0,0],
204 ["Objects depending on this one.",mkMetaURL('$uri'),1,0,1],
205 ];
206   </script>
207 EOT
208 }
209
210 print <<EOT;
211    </map>
212   </img>
213   <SCRIPT LANGUAGE="JavaScript1.2"
214           SRC="http://www.cs.unibo.it/~sacerdot/jsmenu/HM_Loader_prova.js"
215           TYPE='text/javascript'></SCRIPT>
216  </body>
217 </html>
218 EOT