Merge lp:~a11patfr/lenasys/thebranch into lp:~lenasysimpl1/lenasys/GammaBear

Proposed by Patrik Fransson
Status: Merged
Merged at revision: 20
Proposed branch: lp:~a11patfr/lenasys/thebranch
Merge into: lp:~lenasysimpl1/lenasys/GammaBear
Diff against target: 1098 lines (+388/-341)
20 files modified
.bzrignore (+4/-0)
Code Tokenizer and Parser/Parser_Test.css (+11/-0)
Code Tokenizer and Parser/Parser_Test.html (+3/-10)
Code Tokenizer and Parser/Parser_Test.js (+4/-3)
Code Viewer Alt/Codeviewer/showcode.php (+23/-23)
CodeViewer/Lindex.html (+1/-177)
DuggaSys/duggor/Dugga 3 Datorgrafik - Transformationer/dugga_datorgrafik_1_transforms.php (+2/-2)
DuggaSys/duggor/index.html (+1/-1)
DuggaSys/index.php (+1/-1)
DuggaSys/quizAjax/index.html (+2/-1)
DuggaSys/quizSystem/frontpage.html.php (+0/-5)
Widget Library/sliderdemo.css (+0/-36)
Widget Library/sliderdemo.html (+15/-11)
Widget Library/sliderdemo.js (+0/-43)
Widget Library/sliders.css (+82/-0)
Widget Library/sliders.js (+202/-0)
svg Converter/svgconverter.css (+10/-0)
svg Converter/svgconverter.js (+9/-9)
svg Converter/svgconverter.php (+8/-6)
svg Converter/svgtocanvas.php (+10/-13)
To merge this branch: bzr merge lp:~a11patfr/lenasys/thebranch
Reviewer Review Type Date Requested Status
Victor Nagy Approve
Review via email: mp+157053@code.launchpad.net

Description of the change

Fixed bug #1163729. The bug was already fixed, wrongly filed bug report or was the bug never marked as fixed?

To post a comment you must log in.
Revision history for this message
Victor Nagy (galaxyabstractor) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file '.bzrignore'
2--- .bzrignore 1970-01-01 00:00:00 +0000
3+++ .bzrignore 2013-04-04 09:06:24 +0000
4@@ -0,0 +1,4 @@
5+.DS_Store
6+*/.DS_Store
7+*/*/.DS_Store
8+**/.DS_Store
9
10=== added file 'Code Tokenizer and Parser/Parser_Test.css'
11--- Code Tokenizer and Parser/Parser_Test.css 1970-01-01 00:00:00 +0000
12+++ Code Tokenizer and Parser/Parser_Test.css 2013-04-04 09:06:24 +0000
13@@ -0,0 +1,11 @@
14+@charset "utf-8";
15+
16+#infobox{
17+ border:2px solid black;
18+ background-color:#fed;
19+ width:500;
20+ height:1200;
21+ padding:4px;
22+ vertical-align:top;
23+ float:left;
24+}
25\ No newline at end of file
26
27=== modified file 'Code Tokenizer and Parser/Parser_Test.html'
28--- Code Tokenizer and Parser/Parser_Test.html 2013-03-28 14:41:09 +0000
29+++ Code Tokenizer and Parser/Parser_Test.html 2013-04-04 09:06:24 +0000
30@@ -2,19 +2,12 @@
31 <html>
32 <head>
33 <title>Parser test</title>
34+ <link rel="stylesheet" href="Parser_Test.css" type="text/css" media="screen" />
35 <script type="text/javascript" src="Parser_Test.js"></script>
36 </head>
37 <body onload="newbutton();">
38- <table>
39- <tr>
40- <td valign="top">
41- <div style="border:2px solid black;background-color:#fed;width:500;height:1200;">
42- <div id="infobox" style="padding:4px;">
43- </div>
44- </div>
45- </td>
46- </tr>
47- </table>
48+ <div id="infobox">
49+ </div>
50 </body>
51 </html>
52
53
54=== modified file 'Code Tokenizer and Parser/Parser_Test.js'
55--- Code Tokenizer and Parser/Parser_Test.js 2013-04-02 07:16:07 +0000
56+++ Code Tokenizer and Parser/Parser_Test.js 2013-04-04 09:06:24 +0000
57@@ -17,7 +17,7 @@
58 * Creates a new token object using the constructor
59 */
60
61-function maketoken(kind, val, from, to, rowno) {
62+function makeToken(kind, val, from, to, rowno) {
63 newtoken = new token(kind, val, from, to, rowno);
64 tokens.push(newtoken);
65 }
66@@ -131,7 +131,8 @@
67 } else {
68 error('Bad Number: ', str, row);
69 }
70- } else if (c == '\'' || c == '"') { // String .. handles c style breaking codes
71+ // String .. handles c style breaking codes
72+ } else if (c == '\'' || c == '"') {
73 str = '';
74 q = c;
75 i++;
76@@ -240,7 +241,7 @@
77 }
78 }
79 }
80- function newbutton()
81+ function newButton()
82 {
83 var funclist;
84 var oplist;
85
86=== modified file 'Code Viewer Alt/Codeviewer/showcode.php'
87--- Code Viewer Alt/Codeviewer/showcode.php 2013-03-28 15:33:33 +0000
88+++ Code Viewer Alt/Codeviewer/showcode.php 2013-04-04 09:06:24 +0000
89@@ -1,6 +1,6 @@
90 <?php
91
92- function menulayout($forward,$backward,$downloadlink,$heading,$headinglink,$filecontent) {
93+ function menulayout($forward, $backward, $downloadlink, $heading, $headinglink, $filecontent) {
94 echo "<body onload='resize();' onresize='resize();'>";
95 echo "<script language=\"javascript\" src=\"../jquery/jquery-1.8.2.min.js\"></script>";
96
97@@ -17,7 +17,7 @@
98 echo "</td>";
99 }
100
101- if($forward!="") {
102+ if($forward != "") {
103 echo "<td class='buttonstyle'>";
104 echo "<a href='".$forward."'><img src='../img/next.png'></a>";
105 echo "</td>";
106@@ -57,53 +57,53 @@
107 echo "</body>";
108 }
109
110- function showfile($interestingrows,$keywords,$highlight,$filename) {
111+ function showfile($interestingrows, $keywords, $highlight, $filename) {
112 echo "<pre>";
113 $handle = @fopen($filename, "r");
114 if ($handle) {
115- $lineno=1;
116+ $lineno = 1;
117 while (($buffer = fgets($handle, 4096)) !== false) {
118- $buffer = str_replace("\n","", $buffer);
119- $buffer = str_replace("\r","", $buffer);
120- $buffer=str_pad($buffer,150," ", STR_PAD_RIGHT);
121- $buffer=str_replace("<","&lt;",$buffer);
122- $buffer=str_replace(">","&gt;",$buffer);
123- $buffer=str_replace("\t","&nbsp;",$buffer);
124+ $buffer = str_replace("\n", "", $buffer);
125+ $buffer = str_replace("\r", "", $buffer);
126+ $buffer = str_pad($buffer, 150, " ", STR_PAD_RIGHT);
127+ $buffer = str_replace("<", "&lt;", $buffer);
128+ $buffer = str_replace(">", "&gt;", $buffer);
129+ $buffer = str_replace("\t", "&nbsp;" , $buffer);
130
131- $interesting=0;
132- $startspan=0;
133+ $interesting = 0;
134+ $startspan = 0;
135 foreach($interestingrows as $row) {
136- if($lineno>=$row[0]&&$lineno <= $row[1]){
137+ if($lineno >= $row[0] && $lineno <= $row[1]){
138 $interesting = true;
139 }
140 }
141
142 foreach($keywords as $keyword) {
143- if($interesting){
144- $buffer=str_replace($keyword,"<span class='keywordinteresting'>".$keyword."</span>",$buffer);
145+ if($interesting) {
146+ $buffer = str_replace($keyword, "<span class='keywordinteresting'>".$keyword."</span>", $buffer);
147 } else {
148- $buffer=str_replace($keyword,"<span class='keyword'>".$keyword."</span>",$buffer);
149+ $buffer = str_replace($keyword, "<span class='keyword'>".$keyword."</span>", $buffer);
150 }
151 }
152
153- $commentpos=strpos($buffer,"//");
154+ $commentpos = strpos($buffer, "//");
155 if(!$commentpos) {
156- $commentpos=5000;
157+ $commentpos = 5000;
158 }
159 foreach($highlight as $highlightkeyword) {
160- $foundpos = strpos($buffer,$highlightkeyword[0]);
161+ $foundpos = strpos($buffer, $highlightkeyword[0]);
162 if($foundpos <= $commentpos) {
163- $buffer = str_replace($highlightkeyword[0],"<span class='".$highlightkeyword[1]."'>".$highlightkeyword[0]."</span>",$buffer);
164+ $buffer = str_replace($highlightkeyword[0], "<span class='".$highlightkeyword[1]."'>".$highlightkeyword[0]."</span>", $buffer);
165 }
166 }
167
168 if($commentpos < 5000) {
169- $buffer = str_replace("//","<span class='commented'>//",$buffer);
170- $buffer.="</span>";
171+ $buffer = str_replace("//","<span class='commented'>//", $buffer);
172+ $buffer .= "</span>";
173 }
174
175 $linenostr = $lineno;
176- $linenostr = str_pad($linenostr,3," ",STR_PAD_RIGHT);
177+ $linenostr = str_pad($linenostr, 3, " ", STR_PAD_RIGHT);
178
179 if($interesting) {
180 echo "<span class='interesting'>";
181
182=== modified file 'CodeViewer/Lindex.html'
183--- CodeViewer/Lindex.html 2013-03-26 23:22:55 +0000
184+++ CodeViewer/Lindex.html 2013-04-04 09:06:24 +0000
185@@ -2,183 +2,7 @@
186 <html>
187 <head>
188 <title>Webbprogrammering DA330G</title>
189- <style>
190-
191- .group
192- {
193- display: block;
194- padding: 1em;
195- width: 100%;
196- margin: auto auto;
197- font-family: "Franklin Gothic Medium", "Franklin Gothic", "ITC Franklin Gothic", Arial, sans-serif;
198- }
199-
200- .group h1
201- {
202- font-weight: normal;
203- font-size: 1.8em;
204- margin-bottom: 1em;
205-
206- font-family: Cambria, Georgia, serif;
207- }
208-
209- .group .info
210- {
211- padding: 0.4em;
212- margin: 0.5em;
213- font-size: 1em;
214- color: #000;
215- }
216-
217- .group .info:first-letter
218- {
219- font-size:1.3em;
220- }
221-
222- .group h2
223- {
224- font-family: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
225- border-bottom: 2px solid #000;
226- color: #fff;
227- background: #c0d0e0;
228- background-color: #c0d0e0;
229-
230- text-shadow: 1px 1px 2px #000;
231- font-weight:normal;
232-
233- background: linear-gradient(to top, #abc 10%, #89a 90%, #678 99% );
234- background: -webkit-linear-gradient(bottom, #abc 10%, #89a 90%, #678 99%);
235- background: -moz-linear-gradient(bottom, #abc 10%, #89a 90%, #678 99%);
236-
237- font-size: 1.4em;
238- margin-top: 1em;
239- margin-bottom: 0;
240- padding:3px;
241-
242- padding-left:20px;
243- }
244-
245- a
246- {
247- line-height: 2em;
248- margin-left: 1.3em;
249- color: black;
250- text-decoration: underline;
251- font-size: 1em;
252- }
253-
254- li
255- {
256- color: #555;
257- }
258-
259- a:hover
260- {
261- text-decoration: none;
262- }
263-
264- .container
265- {
266- border-left: 2px dotted #ddd;
267- margin-left: 8px;
268- }
269-
270- .container .demo
271- {
272- float:right;
273- }
274-
275- body{
276- margin:0;
277- }
278-
279- #menu
280- {
281- position:fixed;
282- top:40px;
283- width:10.5%;
284- padding: 10px 0 1% 0.3%;
285- background: #c0d0e0;
286- background-color: #c0d0e0;
287- border-bottom-right-radius: 1.3em;
288- border-top-right-radius: 1.3em;
289- border-bottom: 2px solid #000;
290- border-right: 1px solid #000;
291- color: #fff;
292-
293- text-shadow: 1px 1px 2px #000;
294- font-weight:bolder;
295-
296- background:#678;
297- background-color:#678;
298-
299- background: linear-gradient(to top, #abc 10%, #89a 90%, #678 99% );
300- background: -webkit-linear-gradient(bottom, #abc 10%, #89a 90%, #678 99%);
301- background: -moz-linear-gradient(bottom, #abc 10%, #89a 90%, #678 99%);
302-
303- }
304-
305- #menu #menuHeader{
306- margin:0 0 1.5% 0;
307- background:#333333;
308- width:97%;
309- height:31px;
310- padding-left:10px;
311- margin-left:-10px;
312- border-radius: 0 10px 10px 0
313- }
314-
315- #menuHeader h3{
316- float:left;
317- font-family: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
318- font-size:1.2em;
319- background-color:#333;
320- color:#fff;
321- width:80%;
322- margin-top:4px;
323- padding:0;
324- }
325-
326- #menuArrow{
327- float:left;
328- padding:0;
329- margin-top:8px;
330- width:15%;
331- }
332-
333- #menu a{
334- display:block;color:#fff;
335- font-family: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
336- text-decoration: none;
337- margin-left:1%;
338- font-size:100%
339- }
340-
341- #menu a:hover{
342- font-weight:bolder;
343- text-decoration:underline;
344- }
345-
346- #menuItems{
347- float:left;
348- width:80%;
349- }
350-
351- #sidebar{
352- float:left;
353- min-width:11%;
354- min-height:100px;
355- overflow:auto;
356- }
357-
358- #content{
359- float:left;
360- width:75%;
361- }
362-
363- </style>
364-
365- </script>
366+ <link rel="stylesheet" href="Lindex.css" type="text/css" media="screen" />
367 </head>
368 <body>
369 <div id="sidebar">
370
371=== modified file 'DuggaSys/duggor/Dugga 3 Datorgrafik - Transformationer/dugga_datorgrafik_1_transforms.php'
372--- DuggaSys/duggor/Dugga 3 Datorgrafik - Transformationer/dugga_datorgrafik_1_transforms.php 2013-04-03 12:44:23 +0000
373+++ DuggaSys/duggor/Dugga 3 Datorgrafik - Transformationer/dugga_datorgrafik_1_transforms.php 2013-04-04 09:06:24 +0000
374@@ -1,10 +1,10 @@
375 <?php
376
377- //include "dugga_checklogin.php";
378+include "dugga_checklogin.php";
379
380 $accountname="EgonKleveen";
381
382-if (true): ?>
383+if($accountname=checkLogin($errorMsg): ?>
384
385 <html>
386 <head>
387
388=== modified file 'DuggaSys/duggor/index.html'
389--- DuggaSys/duggor/index.html 2013-04-03 12:44:23 +0000
390+++ DuggaSys/duggor/index.html 2013-04-04 09:06:24 +0000
391@@ -37,4 +37,4 @@
392 <p>Glöm inte att spara svarskoden!</p>
393 </fieldset>
394 </body>
395-</html>
396\ No newline at end of file
397+</html>
398
399=== modified file 'DuggaSys/index.php'
400--- DuggaSys/index.php 2013-04-03 12:44:23 +0000
401+++ DuggaSys/index.php 2013-04-04 09:06:24 +0000
402@@ -9,4 +9,4 @@
403 <body>
404 <h1>Quiz server</h1>
405 </body>
406-</html>
407\ No newline at end of file
408+</html>
409
410=== modified file 'DuggaSys/quizAjax/index.html'
411--- DuggaSys/quizAjax/index.html 2013-04-03 12:44:23 +0000
412+++ DuggaSys/quizAjax/index.html 2013-04-04 09:06:24 +0000
413@@ -1,4 +1,5 @@
414-<html>
415+<!DOCTYPE HTML>
416+<html>
417 <head>
418 <meta charset="utf-8" />
419 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
420
421=== removed file 'DuggaSys/quizSystem/frontpage.html.php'
422--- DuggaSys/quizSystem/frontpage.html.php 2013-03-26 23:22:55 +0000
423+++ DuggaSys/quizSystem/frontpage.html.php 1970-01-01 00:00:00 +0000
424@@ -1,5 +0,0 @@
425-<h2>Quiz system - Beta</h2>
426-<img scr="" alt="Fancy logotype" />
427-<p>Descriptive text</p>
428-<p>Licensing text</p>
429-
430
431=== removed file 'Widget Library/sliderdemo.css'
432--- Widget Library/sliderdemo.css 2013-04-02 13:51:45 +0000
433+++ Widget Library/sliderdemo.css 1970-01-01 00:00:00 +0000
434@@ -1,36 +0,0 @@
435-#container {
436- background-color: #d0d0d4;
437- border-radius: 10px;
438- width: 220px;
439- height: 300px;
440- padding: 6px;
441-}
442-
443-#sliderbox {
444- float:left;
445- width:40px;
446- height:32px;
447- font-family:Trebuchet,sans-serif;
448- font-size:18px;
449-}
450-
451-#slider1 {
452- margin-left:42px;
453- width:160px;
454- height:32px;
455- border-style:none;
456- border-width:1px;
457- background-position:center;
458- background-image:url('sliderline.png');
459- background-repeat:repeat-x;
460-}
461-
462-#slider1marker {
463- position:relative;
464- left:60px;
465- width:14px;
466- height:32px;
467- background-image:url('sliderring14.png');
468- background-repeat:no-repeat;
469- background-position:center;
470-}
471\ No newline at end of file
472
473=== modified file 'Widget Library/sliderdemo.html'
474--- Widget Library/sliderdemo.html 2013-04-02 13:51:45 +0000
475+++ Widget Library/sliderdemo.html 2013-04-04 09:06:24 +0000
476@@ -2,19 +2,23 @@
477 <html>
478 <head>
479 <title>Slider Demo</title>
480- <link rel="stylesheet" type="text/css" href="sliderdemo.css">
481- <script type="text/javascript" src="sliderdemo.js"></script>
482+ <link rel="stylesheet" type="text/css" media="screen" href="sliders.css">
483+ <script type="text/javascript" src="sliders.js"></script>
484+ <script>
485+ function createDemoSliders() {
486+ str = "";
487+ str += makePanel(250, 200);
488+ str += makeLabel("Slider");
489+ str += makeSlider("slider", 1, 2, 7, 4.5, 160, 5);
490+ str += makeLabel("Binary");
491+ str += makeBinary("binary", 0);
492+ str += makePanelEnd();
493+ document.getElementById("container").innerHTML = str;
494+ }
495+ </script>
496 </head>
497- <body onmousedown="mbpress(event);" onmouseup="mbrelease(event);">
498+ <body onload="createDemoSliders();" onmousedown="mbPress(event);" onmouseup="mbRelease(event);">
499 <div id="container">
500- <br>
501- <input id="slider1box" type="text">
502- <div id="slider1" onmousemove="updateslider(event, 1, 2, 7, 160, 'slider1marker', 'slider1box');" onmouseup="updateslider(event, 1, 2, 7, 160, 'slider1marker', 'slider1box');">
503- <div id="slider1marker"></div>
504- </div>
505- </div>
506- <div id="demo">
507- Poo
508 </div>
509 </body>
510 </html>
511\ No newline at end of file
512
513=== removed file 'Widget Library/sliderdemo.js'
514--- Widget Library/sliderdemo.js 2013-04-02 13:51:45 +0000
515+++ Widget Library/sliderdemo.js 1970-01-01 00:00:00 +0000
516@@ -1,43 +0,0 @@
517-// Recursive Pos of div in document - should work in most browsers
518-function findPos(obj) {
519- var curleft = curtop = 0;
520- if (obj.offsetParent) {
521- curleft = obj.offsetLeft;
522- curtop = obj.offsetTop;
523- while (obj = obj.offsetParent) {
524- curleft += obj.offsetLeft;
525- curtop += obj.offsetTop;
526- }
527- }
528- return {
529- x:curleft,
530- y:curtop
531- }
532-}
533-
534-// The idea is to have a few functions like this one and minimum javascript intervention
535-function updateslider(e, kind, smin, smax, slen, sliderid, boxid) {
536- if(mb) {
537- coords = findPos(e.currentTarget);
538- coords.x = e.clientX - coords.x;
539- coords.y = e.clientY - coords.y;
540- cx = coords.x / slen;
541- sd = smax - smin;
542- val = smin + (sd * cx);
543- if(kind == 1) {
544- val = Math.round(val);
545- }
546- document.getElementById(boxid).value = val;
547- document.getElementById(sliderid).style.left = Math.ceil((slen) * ((val - smin) / sd))+"px";
548- }
549-}
550-
551-var mb = 0;
552-
553-function mbpress(e) {
554- mb = 1;
555-}
556-
557-function mbrelease(e) {
558- mb = 0;
559-}
560\ No newline at end of file
561
562=== added file 'Widget Library/sliders.css'
563--- Widget Library/sliders.css 1970-01-01 00:00:00 +0000
564+++ Widget Library/sliders.css 2013-04-04 09:06:24 +0000
565@@ -0,0 +1,82 @@
566+.label {
567+ font-family: Calibri, Arial, sans-serif;
568+ color: #fff;
569+ text-shadow: 1px 1px 1px #222;
570+}
571+
572+.panel {
573+ box-shadow: 2px 2px 6px #444;
574+ font-family: Arial;
575+ background-color: #d0d0d4;
576+ background: linear-gradient(to bottom, #f0f0e8 0%, #e8e8e8 1%, #b8b8b0 17%);
577+ border-radius: 10px;
578+ padding:6px;
579+}
580+
581+.sliderBox {
582+ float: left;
583+ width: 40px;
584+ height: 32px;
585+ font-family: Calibri, Arial, sans-serif;
586+ font-size: 18px;
587+}
588+
589+.sliderLine {
590+ margin-left: 60px;
591+ height: 32px;
592+ border-style: none;
593+ border-width: 1px;
594+ background-position: center;
595+ background-image: url("../media/Widget Library/sliderline.png");
596+ background-repeat: repeat-x;
597+}
598+
599+.sliderMarker {
600+ position: relative;
601+ width: 14px;
602+ height: 32px;
603+ background-image: url("../media/Widget Library/sliderring14.png");
604+ background-repeat: no-repeat;
605+ background-position: center;
606+}
607+
608+.sliderminValue {
609+ float: left;
610+}
611+
612+.slidermidValue {
613+ text-shadow: 1px 1px 1px #222;
614+ font-family: Calibri, Arial, sans-serif;
615+ font-size: 12px;
616+ color: #fff;
617+ margin-left: 60px;
618+ text-align: center;
619+}
620+
621+.slidermaxValue {
622+ float: right;
623+}
624+
625+.binaryLine {
626+ width: 36px;
627+ height: 18px;
628+ border-radius: 10px;
629+ border-color: #555;
630+ border-width: 1px;
631+ border-style: solid;
632+ box-shadow: 2px 2px 2px #444 inset;
633+}
634+
635+.binaryMarker {
636+ position: relative;
637+ top: 2px;
638+ width: 11px;
639+ height: 11px;
640+ border-color: #777;
641+ border-style: solid;
642+ border-radius: 6px;
643+ background-color: #fff;
644+ border-width: 1px;
645+ box-shadow: 2px 2px 2px #444;
646+ background: linear-gradient(to bottom, #fff 0%,#e0e0d8 60%);
647+}
648\ No newline at end of file
649
650=== added file 'Widget Library/sliders.js'
651--- Widget Library/sliders.js 1970-01-01 00:00:00 +0000
652+++ Widget Library/sliders.js 2013-04-04 09:06:24 +0000
653@@ -0,0 +1,202 @@
654+/*
655+
656+Widget Code!
657+
658+*/
659+
660+// Recursive Pos of div in document - should work in most browsers
661+function findPos(obj) {
662+ var curLeft = curTop = 0;
663+ if(obj.offsetParent) {
664+ curLeft = obj.offsetLeft
665+ curTop = obj.offsetTop
666+ while(obj = obj.offsetParent) {
667+ curLeft += obj.offsetLeft
668+ curTop += obj.offsetTop
669+ }
670+ }
671+ return {
672+ x:curLeft,
673+ y:curTop
674+ }
675+}
676+
677+/*
678+
679+ui read widget functions
680+
681+*/
682+
683+function readSlider(sliderId) {
684+ var value = parseFloat(document.getElementById(sliderId + "box").value);
685+ if(isNaN(value)) {
686+ value = 0.0;
687+ }
688+ return value;
689+}
690+
691+function readBinary(binaryId) {
692+ lf = document.getElementById(binaryId + "marker").style.left;
693+ if(lf == "2px") {
694+ return 0;
695+ } else {
696+ return 1;
697+ }
698+}
699+
700+/*
701+
702+ui change widget functions
703+
704+*/
705+
706+// The idea is to have a few functions like this one and minimum javascript intervention
707+function updateBinary(event, binaryId) {
708+ if(mb) {
709+ coords = findPos(event.currentTarget);
710+ coords.x = event.clientX - coords.x;
711+ coords.y = event.clientY - coords.y;
712+ if(coords.x > 24) {
713+ document.getElementById(binaryId + "marker").style.left = 20 + "px";
714+ document.getElementById(binaryId).style.backgroundColor = "#ddd";
715+ }else if(coords.x < 16) {
716+ document.getElementById(binaryId + "marker").style.left = 2 + "px";
717+ document.getElementById(binaryId).style.backgroundColor = "#777";
718+ }
719+ }
720+}
721+
722+// The idea is to have a few functions like this one and minimum javascript intervention
723+function updateSlider(event, kind, min, max, length, sliderId, boxId) {
724+ if(mb) {
725+ coords = findPos(event.currentTarget);
726+ coords.x = event.clientX - coords.x;
727+ coords.y = event.clientY - coords.y;
728+ cx = coords.x / length;
729+ sd = max - min;
730+ value = min + (sd * cx);
731+ if(value > max) value = max;
732+ if(kind == 0) {
733+ value = Math.round(value);
734+ }
735+ if(kind == 1) {
736+ value = Math.round(value * 10.0) / 10.0;
737+ }
738+ if(kind == 2) {
739+ value = Math.round(value * 100.0) / 100.0;
740+ }
741+ if(kind == 3) {
742+ value = Math.round(value * 1000.0) / 1000.0;
743+ }
744+ document.getElementById(boxId).value = value;
745+ document.getElementById(sliderId).style.left = Math.ceil((length) * ((value - min) / sd)) + "px";
746+ }
747+}
748+
749+function sliderPosition(value, min, max, length) {
750+ if(value < min) {
751+ value = min;
752+ }
753+ if(value > max) {
754+ value = max;
755+ }
756+ pos = Math.round(((value - min) / (max - min)) * length);
757+ return pos;
758+}
759+
760+function changeSlider(value, sliderId, kind, min, max, length) {
761+ value = parseFloat(value);
762+ if(isNaN(value)) {
763+ value = 0.0;
764+ }
765+ if(value < min) {
766+ value = min;
767+ }
768+ if(value > max) {
769+ value = max;
770+ }
771+ if(kind == 0) {
772+ value = Math.round(value);
773+ }
774+ if(kind == 1) {
775+ value = Math.round(value * 10.0) / 10.0;
776+ }
777+ if(kind == 2) {
778+ value = Math.round(value * 100.0) / 100.0;
779+ }
780+ if(kind == 3) {
781+ value = Math.round(value * 1000.0) / 1000.0;
782+ }
783+ pos = sliderPosition(value, min, max, length);
784+ document.getElementById(sliderId + "box").value = value;
785+ document.getElementById(sliderId + "marker").style.left = pos + "px";
786+}
787+
788+/*
789+
790+ui make widget functions
791+
792+*/
793+
794+function makeLabel(name) {
795+ s = "";
796+ s += "<div class='label'>" + name + "</div>";
797+ return s;
798+}
799+
800+function makePanel(width, height) {
801+ s = "";
802+ s += "<div class='panel' style='height: " + height + "px; width: " + width + "px;'>";
803+ return s;
804+}
805+
806+function makePanelEnd() {
807+ s = "</div>";
808+ return s;
809+}
810+
811+function makeSlider(sliderId, kind, minValue, maxValue, midValue, sliderWidth, defaultValue) {
812+ s = "";
813+ defaultPosition = sliderPosition(defaultValue, minValue, maxValue, sliderWidth);
814+ if(defaultValue < minValue) {
815+ defaultValue = minValue;
816+ }
817+ if(defaultValue > maxValue) {
818+ defaultValue = maxValue;
819+ }
820+ s += "<input id='" + sliderId + "box' value='" + defaultValue + "' type='text' class='sliderBox' onBlur='changeSlider(this.value,\"" + sliderId + "\"," + kind + "," + minValue + "," + maxValue + "," + sliderWidth + ");'>";
821+ s += "<div id='" + sliderId + "' class='sliderLine' style='width:" + sliderWidth + "px;'";
822+ s += " onmousemove='updateSlider(event," + kind + "," + minValue + "," + maxValue + "," + sliderWidth + ",\"" + sliderId + "marker\",\"" + sliderId + "box\");'";
823+ s += " onmouseup='updateSlider(event," + kind + "," + minValue + "," + maxValue + "," + sliderWidth + ",\"" + sliderId + "marker\",\"" + sliderId + "box\");'>";
824+ s += " <div id='" + sliderId + "marker' class='sliderMarker' style='left:" + defaultPosition + "px;'></div>";
825+ s += "</div>";
826+ s += "<div class='slidermidValue' style='width:" + sliderWidth + "px;'>" + midValue;
827+ s += "<div class='sliderminValue'>" + minValue + "</div>";
828+ s += "<div class='slidermaxValue'>" + maxValue + "</div></div>";
829+ return s;
830+}
831+
832+function makeBinary(binaryId, defaultValue) {
833+ s = "";
834+ if(defaultValue == 1) {
835+ defaultPosition = 20;
836+ defaultColor = "#ddd";
837+ } else {
838+ defaultPosition = 2;
839+ defaultColor = "#777";
840+ }
841+ s += "<div id='" + binaryId + "' class='binaryLine' style='background-color:" + defaultColor + ";' onmousemove='updateBinary(event,\"" + binaryId + "\");' onmouseup='updateBinary(event,\"" + binaryId + "\");'>";
842+ s += "<div id='" + binaryId + "marker' class='binaryMarker' style='left:" + defaultPosition + "px;'></div>";
843+ s += "</div>";
844+ return s;
845+}
846+
847+var mb = 0;
848+
849+function mbPress(event) {
850+ mb = 1;
851+}
852+
853+function mbRelease(event) {
854+ mb = 0;
855+}
856\ No newline at end of file
857
858=== added directory 'media/Widget Library'
859=== renamed file 'Widget Library/sliderline.png' => 'media/Widget Library/sliderline.png'
860=== renamed file 'Widget Library/sliderring14.png' => 'media/Widget Library/sliderring14.png'
861=== added directory 'media/svgconverter'
862=== renamed file 'svg Converter/AmoebaBody.svg' => 'media/svgconverter/AmoebaBody.svg'
863=== renamed file 'svg Converter/Amoebaface.svg' => 'media/svgconverter/Amoebaface.svg'
864=== renamed file 'svg Converter/Amoebaface_Eyes.svg' => 'media/svgconverter/Amoebaface_Eyes.svg'
865=== renamed file 'svg Converter/CubeIsometric.svg' => 'media/svgconverter/CubeIsometric.svg'
866=== renamed file 'svg Converter/CubeTwoDee.svg' => 'media/svgconverter/CubeTwoDee.svg'
867=== renamed file 'svg Converter/Map_Cloud.svg' => 'media/svgconverter/Map_Cloud.svg'
868=== renamed file 'svg Converter/Map_Sun.svg' => 'media/svgconverter/Map_Sun.svg'
869=== renamed file 'svg Converter/Map_Sweden.svg' => 'media/svgconverter/Map_Sweden.svg'
870=== renamed file 'svg Converter/Seat_With_Armrest.svg' => 'media/svgconverter/Seat_With_Armrest.svg'
871=== renamed file 'svg Converter/TestHole.svg' => 'media/svgconverter/TestHole.svg'
872=== renamed file 'svg Converter/TestHoleII.svg' => 'media/svgconverter/TestHoleII.svg'
873=== renamed file 'svg Converter/Washer_Dryer.svg' => 'media/svgconverter/Washer_Dryer.svg'
874=== renamed file 'svg Converter/Washer_Dryer_Isometric.svg' => 'media/svgconverter/Washer_Dryer_Isometric.svg'
875=== renamed file 'svg Converter/Washer_Washer.svg' => 'media/svgconverter/Washer_Washer.svg'
876=== renamed file 'svg Converter/Washer_Washer_Isometric.svg' => 'media/svgconverter/Washer_Washer_Isometric.svg'
877=== added file 'svg Converter/svgconverter.css'
878--- svg Converter/svgconverter.css 1970-01-01 00:00:00 +0000
879+++ svg Converter/svgconverter.css 2013-04-04 09:06:24 +0000
880@@ -0,0 +1,10 @@
881+#content {
882+ font-family: Calibri,Georgia,Serif;
883+}
884+
885+#preview {
886+ border: outset 3px #ffeedd;
887+ background-color: #fff8f8;
888+ font-family: Calibri,Georgia,Serif;
889+ vertical-align: text-top;
890+}
891\ No newline at end of file
892
893=== renamed file 'svg Converter/SVG_httpAjax.js' => 'svg Converter/svgconverter.js'
894--- svg Converter/SVG_httpAjax.js 2013-04-02 13:00:31 +0000
895+++ svg Converter/svgconverter.js 2013-04-04 09:06:24 +0000
896@@ -6,9 +6,9 @@
897 var AJAXServiceRunning=false;
898 var AJAXReturnfunction;
899 var httpAjax = false;
900- function getSVG(fileName){
901- paramstr="svgname="+escape(fileName);
902- AjaxService("SVG_TO_CANVAS_III.php",paramstr,"returnedSVG");
903+ function getSVG(fileName) {
904+ paramstr="svgname="+escape(fileName);
905+ AjaxService("svgtocanvas.php",paramstr,"returnedSVG");
906 }
907
908 /*--------------------------------------------------------------------------------
909@@ -42,7 +42,7 @@
910 Each service uses a different url and a different parameter layout.
911
912 ----------------------------------------------------------------------------------*/
913- function AjaxServiceExec( servicename, serviceparam ) {
914+ function AjaxServiceExec(servicename, serviceparam) {
915 // Parameters are set, initiate AJAX engine
916 if( window.XMLHttpRequest ) {
917 httpAjax = new XMLHttpRequest();
918@@ -65,7 +65,7 @@
919 try{
920 httpAjax.onreadystatechange = getPage;
921 }
922- catch(e){
923+ catch(e) {
924 alert( "onreadystatechange didn´t go well!" );
925 return false;
926 }
927@@ -73,14 +73,14 @@
928 httpAjax.open( 'POST', servicename, true );
929 httpAjax.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded;" );
930 }
931- catch(e){
932+ catch(e) {
933 alert( "Couldn´t open url." );
934 return false;
935 }
936 try{
937 httpAjax.send( serviceparam );
938 }
939- catch(e){
940+ catch(e) {
941 alert( "Couldn´t send request." );
942 return false;
943 }
944@@ -96,9 +96,9 @@
945 ----------------------------------------------------------------------------------*/
946
947 function getPage() {
948- if(httpAjax.readyState == 4){
949+ if(httpAjax.readyState == 4) {
950 tr = httpAjax.responseText;
951- eval( AJAXReturnfunction + '(str);' );
952+ eval( AJAXReturnfunction + '(tr);' );
953 if( AJAXQueue.length > 0 ) {
954 AJAXReturnfunction = AJAXQueue.pop();
955 var Aparam = AJAXQueue.pop();
956
957=== renamed file 'svg Converter/index.php' => 'svg Converter/svgconverter.php'
958--- svg Converter/index.php 2013-04-02 07:16:49 +0000
959+++ svg Converter/svgconverter.php 2013-04-04 09:06:24 +0000
960@@ -1,13 +1,15 @@
961+<!DOCTYPE html>
962 <html>
963
964 <head>
965- <script language="javascript" src="SVG_httpAjax.js">
966+ <script language="javascript" src="svgconverter.js">
967 </script>
968+ <link rel="stylesheet" type="text/css" href="svgconverter.css">
969 </head>
970
971 <body>
972 <table><tr>
973- <td style="border:outset 3px #ffeedd; background-color: #fff8f8;font-family:Calibri,Georgia,Serif;" valign="top">
974+ <td id='preview'>
975 <?php
976 function endsWith($haystack, $needle, $case=true) {
977 if($case){
978@@ -15,7 +17,7 @@
979 }
980 return( strcasecmp( substr( $haystack, strlen( $haystack) - strlen( $needle )), $needle ) === 0 );
981 }
982- $dir = opendir( '.' );
983+ $dir = opendir( '../media/svgconverter' );
984 while(( $file = readdir( $dir )) !== false ) {
985 if( endsWith( $file, ".svg" )) {
986 echo "<span onmouseover='this.style.backgroundColor=\"#000\";this.style.color=\"#fff\"' onmouseout='this.style.backgroundColor=\"#fff8f8\";this.style.color=\"#000\"' style='cursor:pointer;' onclick='getSVG(\"".$file."\");'>".$file."</span><br>";
987@@ -23,13 +25,13 @@
988 }
989 ?>
990 </td>
991- <td id='preview' style="border:outset 3px #ffeedd; background-color: #fff8f8;font-family:Calibri,Georgia,Serif;" valign="top">
992+ <td id='preview'>
993 Preview:<br>
994 <canvas width="700" height="700" id="previewCanvas">
995 </canvas>
996 </td>
997- <td style="border:outset 3px #ffeedd; background-color: #fff8f8;" valign="top">
998- <pre id='content' style='font-family:Calibri,Georgia,Serif;'>
999+ <td id='preview'>
1000+ <pre id='content'>
1001 </pre>
1002 </td>
1003 </tr></table>
1004
1005=== renamed file 'svg Converter/SVG_TO_CANVAS_III.php' => 'svg Converter/svgtocanvas.php'
1006--- svg Converter/SVG_TO_CANVAS_III.php 2013-03-28 15:46:11 +0000
1007+++ svg Converter/svgtocanvas.php 2013-04-04 09:06:24 +0000
1008@@ -44,10 +44,6 @@
1009 // Fix for SVG Style attribute errors if no ; is found i.e. attribute is last attribute of style string the code now works (untested)
1010 // Fix for SVG Font Size Bug - px was replaced with 0 instead of "" meaning that some times 2px would turn to 20
1011 // Fix: fontstyle or line style etc missing if style="" is used instead of font attributes. Error produced: fontstyle fontline fontfamily missing line 707-709 / Translate Rotate Scale missing 710-712 among others svg ARC 02 Should work now.
1012-// Bug: Empty text in SVG text in proporcion
1013-// Bug: If fill is after line, the change of fill is performed after line is drawn. (SVI_CFG from wikipedia and proporcion from wikipedia)
1014-// Bug: translate support for groups or individual objects such as proporcion transform="translate(642.5,-1381.291)" or transform="matrix(0.999962,-8.674822e-3,8.674822e-3,0.999962,1115.829,2072.128)"
1015-//
1016 //-------------------------------------------------------------------------- Next Version Blueprint
1017 // Version 3.7
1018 // Curve Closing (html5)
1019@@ -65,7 +61,8 @@
1020 $gradientname = "foo";
1021 $isinkscape = false;
1022 $stopcounter = 0;
1023-
1024+ $svgfilepath = "../media/svgconverter/";
1025+
1026 function recurseelement( $element ) {
1027 global $elementcounter;
1028 global $graphnodes;
1029@@ -106,7 +103,7 @@
1030 }
1031
1032 if( isset( $_POST ['svgname'])) {
1033- $svg = simplexml_load_file( $_POST ['svgname'] );
1034+ $svg = simplexml_load_file( $svgfilepath . $_POST ['svgname'] );
1035 // Recurse into elements and add to element stack
1036 // It is important to only process hierarchies of g elements and layers
1037 foreach( $svg as $element ) {
1038@@ -325,7 +322,7 @@
1039 $dostr = "";
1040 }
1041 } else {
1042- $dostr. = $dochr;
1043+ $dostr .= $dochr;
1044 }
1045 $j++;
1046 }while( $j <= strlen( $workstr ));
1047@@ -415,7 +412,7 @@
1048 echo "\n" . 'c.lineWidth = "' . $val . '";' . "\n";
1049 } else if( $key == "points" &&( $graphelement -> getName() == "polygon" || $graphelement -> getName() == "polyline" || $graphelement -> getName() == "line" )) {
1050 if( $defsmode ) {
1051- $defsstring. = "c.beginPath();\n";
1052+ $defsstring .= "c.beginPath();\n";
1053 } else {
1054 echo "c.beginPath();\n";
1055 }
1056@@ -440,7 +437,7 @@
1057 $dostr = "";
1058 }
1059 } else {
1060- $dostr. = $dochr;
1061+ $dostr .= $dochr;
1062 }
1063 $j++;
1064 } while( $j <= strlen( $workstr ));
1065@@ -450,13 +447,13 @@
1066 for( $j = 0; $j < $noparams; $j += 2) {
1067 if( $j == 0 ) {
1068 if( $defsmode ) {
1069- $defsstring. = "c.moveTo( ".$params [$j].",".$params [$j+1].");\n";
1070+ $defsstring .= "c.moveTo( ".$params [$j].",".$params [$j+1].");\n";
1071 } else {
1072 echo "c.moveTo( ".$params[$j].",".$params[$j+1].");\n";
1073 }
1074 } else {
1075 if( $defsmode ) {
1076- $defsstring. = "c.lineTo( ".$params[$j].",".$params[$j+1].");\n";
1077+ $defsstring .= "c.lineTo( ".$params[$j].",".$params[$j+1].");\n";
1078 } else {
1079 echo "c.lineTo( ".$params[$j].",".$params[$j+1].");\n";
1080 }
1081@@ -465,7 +462,7 @@
1082 // If a polygon close path if not i.e. polyline keep it open
1083 if( $noparams >= 2 && $graphelement -> getName() == "polygon" ) {
1084 if( $defsmode ) {
1085- $defsstring. = "c.lineTo( ".$params[0].",".$params[1]." );\n";
1086+ $defsstring .= "c.lineTo( ".$params[0].",".$params[1]." );\n";
1087 } else {
1088 echo "c.lineTo( ".$params[0].",".$params[1]." );\n";
1089 }
1090@@ -494,7 +491,7 @@
1091 }
1092 }
1093 if( $defsmode ) {
1094- $defsstring. = "c.clip();\n\n";
1095+ $defsstring .= "c.clip();\n\n";
1096 }
1097 } else if ( $key == "d" ) {
1098 $dval=$val;

Subscribers

People subscribed via source and target branches

to all changes: