From 0ec63d4713927b25cce2719b3fe601e883f8b566 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Sun, 26 Feb 2012 07:23:21 +0000 Subject: [PATCH] FHEMWEB icons (by Joerg) git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@1294 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- CHANGED | 1 + docs/commandref.html | 8 +++ webfrontend/pgm2/01_FHEMWEB.pm | 90 ++++++++++++-------------- webfrontend/pgm2/darkstyle.css | 4 +- webfrontend/pgm2/icoAUSSEN.png | Bin 0 -> 296 bytes webfrontend/pgm2/icoAUSSENBEREICH.png | Bin 0 -> 284 bytes webfrontend/pgm2/icoBELEUCHTUNG.png | Bin 0 -> 272 bytes webfrontend/pgm2/icoBaum.png | Bin 0 -> 296 bytes webfrontend/pgm2/icoBlitz.png | Bin 0 -> 314 bytes webfrontend/pgm2/icoEverything.png | Bin 0 -> 343 bytes webfrontend/pgm2/icoGraph.png | Bin 0 -> 358 bytes webfrontend/pgm2/icoHEIZUNG.png | Bin 0 -> 353 bytes webfrontend/pgm2/icoHISTORIE.png | Bin 0 -> 358 bytes webfrontend/pgm2/icoHaus.png | Bin 0 -> 280 bytes webfrontend/pgm2/icoHeizungAn.png | Bin 0 -> 473 bytes webfrontend/pgm2/icoHeizungReg.png | Bin 0 -> 355 bytes webfrontend/pgm2/icoHouse.png | Bin 0 -> 284 bytes webfrontend/pgm2/icoKLIMA.png | Bin 0 -> 324 bytes webfrontend/pgm2/icoLicht.png | Bin 0 -> 272 bytes webfrontend/pgm2/icoLichtBaum.png | Bin 0 -> 351 bytes webfrontend/pgm2/icoLichtHaus.png | Bin 0 -> 338 bytes webfrontend/pgm2/icoLog.png | Bin 0 -> 306 bytes webfrontend/pgm2/icoMail.png | Bin 0 -> 294 bytes webfrontend/pgm2/icoPfeil.png | Bin 0 -> 467 bytes webfrontend/pgm2/icoPirBaum.png | Bin 0 -> 331 bytes webfrontend/pgm2/icoSYSTEM.png | Bin 0 -> 336 bytes webfrontend/pgm2/icoTemp.png | Bin 0 -> 324 bytes webfrontend/pgm2/icoTempBaum.png | Bin 0 -> 450 bytes webfrontend/pgm2/icoTempHausEG.png | Bin 0 -> 404 bytes webfrontend/pgm2/icoTempHausOG.png | Bin 0 -> 404 bytes webfrontend/pgm2/icoTempHausReg.png | Bin 0 -> 396 bytes webfrontend/pgm2/icoTempHausRegEG.png | Bin 0 -> 437 bytes webfrontend/pgm2/icoTempHausRegOG.png | Bin 0 -> 429 bytes webfrontend/pgm2/icoTempHeizung.png | Bin 0 -> 440 bytes webfrontend/pgm2/icoTempWasser.png | Bin 0 -> 505 bytes webfrontend/pgm2/icoTermHaus.png | Bin 0 -> 384 bytes webfrontend/pgm2/icoTool.png | Bin 0 -> 336 bytes webfrontend/pgm2/icoUhr.png | Bin 0 -> 335 bytes webfrontend/pgm2/icoWelt.png | Bin 0 -> 343 bytes webfrontend/pgm2/style.css | 1 + 40 files changed, 55 insertions(+), 49 deletions(-) create mode 100644 webfrontend/pgm2/icoAUSSEN.png create mode 100644 webfrontend/pgm2/icoAUSSENBEREICH.png create mode 100644 webfrontend/pgm2/icoBELEUCHTUNG.png create mode 100644 webfrontend/pgm2/icoBaum.png create mode 100644 webfrontend/pgm2/icoBlitz.png create mode 100644 webfrontend/pgm2/icoEverything.png create mode 100644 webfrontend/pgm2/icoGraph.png create mode 100644 webfrontend/pgm2/icoHEIZUNG.png create mode 100644 webfrontend/pgm2/icoHISTORIE.png create mode 100644 webfrontend/pgm2/icoHaus.png create mode 100644 webfrontend/pgm2/icoHeizungAn.png create mode 100644 webfrontend/pgm2/icoHeizungReg.png create mode 100644 webfrontend/pgm2/icoHouse.png create mode 100644 webfrontend/pgm2/icoKLIMA.png create mode 100644 webfrontend/pgm2/icoLicht.png create mode 100644 webfrontend/pgm2/icoLichtBaum.png create mode 100644 webfrontend/pgm2/icoLichtHaus.png create mode 100644 webfrontend/pgm2/icoLog.png create mode 100644 webfrontend/pgm2/icoMail.png create mode 100644 webfrontend/pgm2/icoPfeil.png create mode 100644 webfrontend/pgm2/icoPirBaum.png create mode 100644 webfrontend/pgm2/icoSYSTEM.png create mode 100644 webfrontend/pgm2/icoTemp.png create mode 100644 webfrontend/pgm2/icoTempBaum.png create mode 100644 webfrontend/pgm2/icoTempHausEG.png create mode 100644 webfrontend/pgm2/icoTempHausOG.png create mode 100644 webfrontend/pgm2/icoTempHausReg.png create mode 100644 webfrontend/pgm2/icoTempHausRegEG.png create mode 100644 webfrontend/pgm2/icoTempHausRegOG.png create mode 100644 webfrontend/pgm2/icoTempHeizung.png create mode 100644 webfrontend/pgm2/icoTempWasser.png create mode 100644 webfrontend/pgm2/icoTermHaus.png create mode 100644 webfrontend/pgm2/icoTool.png create mode 100644 webfrontend/pgm2/icoUhr.png create mode 100644 webfrontend/pgm2/icoWelt.png diff --git a/CHANGED b/CHANGED index 29badb9c8..dc037af8b 100644 --- a/CHANGED +++ b/CHANGED @@ -15,6 +15,7 @@ - feature: CUL_TX minsecs attribute (by Arno) - feature: webCmd in smallScreen added - feature: TRX modules by Willi + - feature: FHEMWEB icons (by Joerg) - 2011-12-31 (5.2) - bugfix: applying smallscreen attributes to firefox/opera diff --git a/docs/commandref.html b/docs/commandref.html index f7acd4134..987897f57 100644 --- a/docs/commandref.html +++ b/docs/commandref.html @@ -7665,6 +7665,14 @@ AB600, Duewi, DomiaLite, COCO) and others.

+ +
  • icon
    + Set the icon for a device in the room overview. There is an + icon-chooser in FHEMWEB to ease this task. Setting icons for the room + itself is indirect: there must exist an icon with the name + ico.png in the modpath/fwmodpath directory. +
  • +
    diff --git a/webfrontend/pgm2/01_FHEMWEB.pm b/webfrontend/pgm2/01_FHEMWEB.pm index 978bc032c..15636ee28 100755 --- a/webfrontend/pgm2/01_FHEMWEB.pm +++ b/webfrontend/pgm2/01_FHEMWEB.pm @@ -100,6 +100,7 @@ FHEMWEB_Initialize($) %FW_zoom = map { $_, $n++ } @FW_zoom; addToAttrList("webCmd"); + addToAttrList("icon"); } ##################################### @@ -660,7 +661,7 @@ FW_makeSelect($$$$) { my ($d, $cmd, $list,$class) = @_; return if(!$list || $FW_hiddenroom{input}); - my @al = map { s/[:;].*//;$_ } split(" ", $list); + my @al = sort map { s/[:;].*//;$_ } split(" ", $list); FW_pO "
    "; FW_pO FW_hidden("detail", $d); @@ -712,9 +713,12 @@ FW_doDetail($) FW_pO ""; - FW_showWeblink($d, $defs{$d}{LINK}, $defs{$d}{WLTYPE}, 1) if($t eq "weblink"); + if($t eq "weblink") { + FW_showWeblink($d, $defs{$d}{LINK}, $defs{$d}{WLTYPE}, 1); + FW_pO "

    "; + } - FW_pO "

    "; + FW_pH "cmd=style iconFor $d", "Select icon"; FW_pH "$FW_reldoc#${t}", "Device specific help"; FW_pO "

    "; FW_pO ""; @@ -832,6 +836,7 @@ FW_roomOverview($) } else { + FW_ReadIcons(); foreach(my $idx = 0; $idx < @list1; $idx++) { my ($l1, $l2) = ($list1[$idx], $list2[$idx]); if(!$l1) { @@ -840,10 +845,14 @@ FW_roomOverview($) if($idx", $l1 eq $FW_room ? " class=\"sel\"" : ""; + my $icon = ""; + $icon = " " + if($FW_icons{"ico$l1"}); + if($l2 =~ m/.html$/ || $l2 =~ m/^http/) { - FW_pO "$l1"; + FW_pO "$icon$l1"; } else { - FW_pH $l2, $l1, 1; + FW_pH $l2, "$icon$l1", 1; } FW_pO ""; } @@ -857,12 +866,19 @@ FW_roomOverview($) ######################## # Show the overview of devices in one room - -# API v1.0 sub -FW_showRoom1($) { - my $rf= shift; +FW_showRoom() +{ + return if(!$FW_room); + # (re-) list the icons + FW_ReadIcons(); + + FW_pO ""; + FW_pO "
    "; + FW_pO ""; # Need for equal width of subtables + + my $rf = ($FW_room ? "&room=$FW_room" : ""); # stay in the room my $row=1; foreach my $type (sort keys %FW_types) { @@ -884,14 +900,14 @@ FW_showRoom1($) { pF "\n", ($row&1)?"odd":"even"; my $devName = AttrVal($d, "alias", $d); + my $icon = AttrVal($d, "icon", ""); + $icon = " " if($icon); + if($FW_hiddenroom{detail}) { - FW_pO ""; - + FW_pO ""; } else { - FW_pH "detail=$d", $devName, 1, "col1"; - + FW_pH "detail=$d", "$icon$devName", 1, "col1"; } - $row++; my ($allSets, $cmdlist, $txt) = FW_devState($d, $rf); @@ -930,39 +946,6 @@ FW_showRoom1($) { } FW_pO "
    $devName
    $icon$devName

    "; -} - -# API v1.0 -sub -FW_showRoom2($) { - my $rf= shift; - FW_pO "API v2

    "; -} - - - -sub -FW_showRoom() -{ - return if(!$FW_room); - - # (re-) list the icons - FW_ReadIcons(); - - FW_pO ""; - FW_pO "

    "; - FW_pO ""; # Need for equal width of subtables - - my $rf = ($FW_room ? "&room=$FW_room" : ""); # stay in the room - - my $apiversion= AttrVal("global", "apiversion", 1); - if($apiversion==1) { - FW_showRoom1($rf); - } else { - FW_showRoom2($rf); - }; - - # Now the weblinks my $buttons = 1; my @list = ($FW_room eq "all" ? keys %defs : keys %{$FW_rooms{$FW_room}}); @@ -1580,6 +1563,19 @@ FW_style($$) $ret = ($ret ? "

    ERROR:

    $ret" : "Saved the file $fName"); FW_style("style list", $ret); $ret = ""; + + } elsif($a[1] eq "iconFor") { + FW_ReadIcons(); + FW_pO "
    "; + foreach my $i (sort grep {/^ico/} keys %FW_icons) { + FW_pO ""; + } + FW_pO "
    "; + FW_pO "$i"; + FW_pO ""; + FW_pO ""; + FW_pO "
    "; + } } diff --git a/webfrontend/pgm2/darkstyle.css b/webfrontend/pgm2/darkstyle.css index 630a1624d..0d7766257 100644 --- a/webfrontend/pgm2/darkstyle.css +++ b/webfrontend/pgm2/darkstyle.css @@ -32,7 +32,7 @@ right:10px; } body>div#left { position:fixed; } div#block { border:1px solid gray; background: #F8F8E0; padding:0.7em; } div#dist { padding-top:0.3em; } -h2,h3,h4 { color:#EEE; line-height:1.3; margin-top:1.5em; -font-family:Verdana; } +h2,h3,h4 { color:#EEE; line-height:1.3; margin-top:1.5em; font-family:Verdana; } select.attr,input.attr,select.set,input.set { margin-bottom:10px; } +a img { border-style:none; } diff --git a/webfrontend/pgm2/icoAUSSEN.png b/webfrontend/pgm2/icoAUSSEN.png new file mode 100644 index 0000000000000000000000000000000000000000..4abfd2e42eff6f812604cbe2402f995abb378ba6 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7Fxo^#hT}S`` literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoAUSSENBEREICH.png b/webfrontend/pgm2/icoAUSSENBEREICH.png new file mode 100644 index 0000000000000000000000000000000000000000..21ca82ce80a7d8b1b810a7d80ba3e1f80b82df63 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6K!3-qZEw?HHDeV&1h!W?b)Wnj^{5*w_%-mFl z;6w#O3kA2-Bn2Y_Ln8$vV=EJ5D`R5?Z39CCgO+D1jX-VeC7!;n?01-i#EdmQ^seXt z3UL;AL>4nJa0`Jj5jgR3=A9lx&I`x0{KD#J|V6@_N$yZbLRj5|1)RK zOiN2MHa32=;&3idma!zrFPOpM*^M+H$J5irF{I+w)^m=042m4iff=v=uGi^2+0k_R zW!Ikl2jAS@Q0Bth!)R)8?bzY>4qFmG3mPpi_{29wT{ZN6=gR8MrPGfblbl{xt~V>S Xk@2|msu$ORhBA1%`njxgN@xNAGWB4F literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoBELEUCHTUNG.png b/webfrontend/pgm2/icoBELEUCHTUNG.png new file mode 100644 index 0000000000000000000000000000000000000000..7490c9df7752d5014bb4639dc9fd8e718c39c3c9 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7Fxo``C$S;_|;n|HeAji$q#WAGf*3$lid<+U4PObm{zu59@)%H9~{w5y7N9$F(ue=d9 zTN=%jxMXT#YU;#~`y#z{r;1mtw8}6&%>D7_g>!c%%X=?iG^=BXdw%-JJD`aSp00i_ I>zopr03{b#!vFvP literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoBaum.png b/webfrontend/pgm2/icoBaum.png new file mode 100644 index 0000000000000000000000000000000000000000..4abfd2e42eff6f812604cbe2402f995abb378ba6 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7Fxo^#hT}S`` literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoBlitz.png b/webfrontend/pgm2/icoBlitz.png new file mode 100644 index 0000000000000000000000000000000000000000..8ee4cc2a6e18fb847585ffa511099f95e5d3f115 GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7FxogrPhVH|J4~Wt{NgLlANdRv z;wfKQ0)kNqmf#>Q!BX)|Ze zJags@kof-}i2lz^1GCQj2g*z_J=6$P&sY-V7tG-B>_!@p6YA;W7*cU7x8G5y!GMR! z^FY|!|Npb+zC0LU`HqF@Kv17c=n7uv%IyX&Cpnhbu3}#l5zM2d<2CJDQ@5$t<#I8T u`x~nb-yE$IaMiCid8_=F!&7~JBmZ$fMpnk|Y1%*w7(8A5T-G@yGywpB=xO!< literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoEverything.png b/webfrontend/pgm2/icoEverything.png new file mode 100644 index 0000000000000000000000000000000000000000..1c079ff59dd70b3896022af683cfda2b2b814d64 GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7Fxo%6;BDlbTJIzuoQRryreGcE92K{Z|25=ku+? cRNwEAtDn!L#GrTFALtkcPgg&ebxsLQ02WMgCIA2c literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoGraph.png b/webfrontend/pgm2/icoGraph.png new file mode 100644 index 0000000000000000000000000000000000000000..7e14d864ec5bbd0f6d3196530436506be6d093b9 GIT binary patch literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7FxoWxv#$Mv->&kwINmNu^@Zd-HV?ZI! z0*}aI1_o}R72HCMm+sd60SdCDJNh~@Fl_AS{*%ZGQ_hBGOGM|V XIWlGc68IGew3@-w)z4*}Q$iB}U}k!x literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoHEIZUNG.png b/webfrontend/pgm2/icoHEIZUNG.png new file mode 100644 index 0000000000000000000000000000000000000000..f1533dd1d20bfa518c72d1768565563776079e38 GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7FxofxX1j*OmPalc=z@;c?{xkg=Qv z9+AZi4BS9Aw-Do{yLEqnf-LEdzK#qG8~eHcB(eheW&u7Su0Qsx{0D)wGiTENpJDia z#`yo4ng9PYoB=Za&pa~|$W8kXBxeFe7|zU0J2R8v|ID;cnTHnvO<*hu@(X5gcy=QV z$jS0_aSW-rm3lrbptv$|lZUXVVkD5@!xw(PHB<{poR4`W_em(fxLgyPdo_8YZ#rdSko(Y0;KFHLTZv izA??)x8%>!w~U%Qn8p3i=k5a9%HZkh=d#Wzp$PzTM1_t3 literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoHISTORIE.png b/webfrontend/pgm2/icoHISTORIE.png new file mode 100644 index 0000000000000000000000000000000000000000..7e14d864ec5bbd0f6d3196530436506be6d093b9 GIT binary patch literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7FxoWxv#$Mv->&kwINmNu^@Zd-HV?ZI! z0*}aI1_o}R72HCMm+sd60SdCDJNh~@Fl_AS{*%ZGQ_hBGOGM|V XIWlGc68IGew3@-w)z4*}Q$iB}U}k!x literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoHaus.png b/webfrontend/pgm2/icoHaus.png new file mode 100644 index 0000000000000000000000000000000000000000..30036358cafacc1429cce48a0e405c7cd6fb431c GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3-qj4(3b&Qrac15hcz=sfi_-`FRQ4nJa0`Jj5jgR3=A9lx&I`x0{Q#_J|V9E|NlR8<_wUWIdf)O zTH4v3KXpJU#*!evUFVdQ&MBb@0O40ztN;K2 literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoHeizungAn.png b/webfrontend/pgm2/icoHeizungAn.png new file mode 100644 index 0000000000000000000000000000000000000000..033cedaed955145575eb8ccfb09b54404b67464e GIT binary patch literal 473 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3-qj4(3b&Qrac15hcz=sfi_-`FRQ4nJa0`Jj5jgR3=A9lx&I`x0{PwnJ|V6@_N)B=|NqR)wEr{H zj2VoLt zr`YRlJ4wElQH!0~S;*y2uI(*O_hbCOA5{u1vXrw=iQP3}&eZ+q)|XbC+!NW%D?9HO z>-H%IPi5_HWCh0jRXe$++0Dy&Gwi`F)lZ^KZTQubJ__d+o$#atP@1m^=Y`jKR~@&t;ucLK6U>^0b`* literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoHeizungReg.png b/webfrontend/pgm2/icoHeizungReg.png new file mode 100644 index 0000000000000000000000000000000000000000..562e4f30f16e45db0a8d1c06d76b9bc3d64eca83 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3-qj4(3b&Qrac15hcz=sfi_-`FRQ4nJa0`Jj5jgR3=A9lx&I`x0{Q9zJ|V6@_N)B=|NqR)wEr{H zj2Vpo|7S2ZHa?S<_CGD{43II?_zV#IKNB9@dkd(Au_VYZn8D%MjWi&q+SA1`q~g}p zi{5+<3Op4?9;>cec4#MM|A*`NHW9K$NVl;imoKE*AuuN1l)lG$G} zI?bq=arUjzo60r;(-nF;M>p%PpS9KOa4XZ+g{6(`-s_+4D3ovw3^;%F`L^|*Yb*X( q)ySvvWLoKeIko)7tb()Mw;4J)nF`F-I_CnN!QkoY=d#Wzp$PyUvVC^| literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoHouse.png b/webfrontend/pgm2/icoHouse.png new file mode 100644 index 0000000000000000000000000000000000000000..21ca82ce80a7d8b1b810a7d80ba3e1f80b82df63 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6K!3-qZEw?HHDeV&1h!W?b)Wnj^{5*w_%-mFl z;6w#O3kA2-Bn2Y_Ln8$vV=EJ5D`R5?Z39CCgO+D1jX-VeC7!;n?01-i#EdmQ^seXt z3UL;AL>4nJa0`Jj5jgR3=A9lx&I`x0{KD#J|V6@_N$yZbLRj5|1)RK zOiN2MHa32=;&3idma!zrFPOpM*^M+H$J5irF{I+w)^m=042m4iff=v=uGi^2+0k_R zW!Ikl2jAS@Q0Bth!)R)8?bzY>4qFmG3mPpi_{29wT{ZN6=gR8MrPGfblbl{xt~V>S Xk@2|msu$ORhBA1%`njxgN@xNAGWB4F literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoKLIMA.png b/webfrontend/pgm2/icoKLIMA.png new file mode 100644 index 0000000000000000000000000000000000000000..f89a1ebfdf40826e85dcb2d1a995766baa36830a GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7FxogrPhVH|J4~XYysX)5nF&B4 z&H|6fVg?3opcULgjF;}#{Q(NHq&xaLGB9lH=l+w(3gp`a_=LFr*sqdiY;4S6Jk!{C zCIiD61_mJSOj_C*kRZeVnQ3Q$D9!lHOye}5nwe?;|Nox}q<{*}oH0zE<^VK@u_VYZ zn8D%MjWi&~-P6S}q~ca`!U5JBEiE@L9A#-WY++$(F=%DUT-h~uzMyl5Y;ec)evZ&P zHfJ)FdSdR#WH_C9^G0S)hLg^jH7^_wo;bmh%*3#llgUrn?A>ahkqn-$elF{r5}E)u CH)Wsz literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoLicht.png b/webfrontend/pgm2/icoLicht.png new file mode 100644 index 0000000000000000000000000000000000000000..7490c9df7752d5014bb4639dc9fd8e718c39c3c9 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7Fxo``C$S;_|;n|HeAji$q#WAGf*3$lid<+U4PObm{zu59@)%H9~{w5y7N9$F(ue=d9 zTN=%jxMXT#YU;#~`y#z{r;1mtw8}6&%>D7_g>!c%%X=?iG^=BXdw%-JJD`aSp00i_ I>zopr03{b#!vFvP literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoLichtBaum.png b/webfrontend/pgm2/icoLichtBaum.png new file mode 100644 index 0000000000000000000000000000000000000000..4e39706b0cff797d769f189492adecf88f9c5e22 GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3-qj4(3b&Qrac15hcz=sfi_-`FRQ4nJa0`JjE)e-c@Ne4zlJ5ZC`;U~FuB=FFM2w6vKs zXU2(c4F}3HmIV0)GdMiEkp|@Sc)B=-RNQKv$jHZ{$icj_^?&_Okw==3-kG^5OHS-M zv3XY3Fw_p ztlRdu_}KcRn$0yUHELLzV|=A75+^%7+n3yy+L79F*!rqT@a~POpLU!&Jyknm=C%7K ktY^QQZ>awEAvL8={V(I5&DBBIf$n1PboFyt=akR{04rC2Pyhe` literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoLichtHaus.png b/webfrontend/pgm2/icoLichtHaus.png new file mode 100644 index 0000000000000000000000000000000000000000..788e478efc3e655a12a90117185656a681fe7d70 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3-qj4(3b&Qrac15hcz=sfi_-`FRQc|Nk>*&di)S zGc7F*NX+OqGzZEumIV0)GdMiEkp|?{d%8G=RNPv7F_5ptfP*C0LRsoTZ2J1w0x zL$z+p6HAu6+w7+VlrkRM7sWW$rQS_2PW(&r424xYB($z<5^O5u*HQVk#{c1_JF>^` z-Q?XV|Df~B?4Cx?ZC*Uy+c%lqdTMNw=6`>7+A>bR{TCMAIw^GIWWJ*Q`ZYquZ=zS+ a`^j{@ma#G5Qce=kDGZ*jelF{r5}E)#I(R1l literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoLog.png b/webfrontend/pgm2/icoLog.png new file mode 100644 index 0000000000000000000000000000000000000000..d230daf0c7ae785403ce3b87178ceb0db371de5a GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7FxoD(gt-3LuVQR$4CI|Tb0#e< zZRX6GmxY>=fqcf2AirP+hi5m^fShQaG}c8P05iE~kEVo7FxoD(gt-3LuX5(hng9R)&zw0k zEiKL1*!amdKI;Vst0C`1Z3;+NC literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoPfeil.png b/webfrontend/pgm2/icoPfeil.png new file mode 100644 index 0000000000000000000000000000000000000000..0296c018da1be527ddef00d58504d0c93060afa3 GIT binary patch literal 467 zcmV;^0WAKBP)Px$jY&j7R5;7k)S++VFcin}ZzcnSf`9=-gX$De5OARI;9%k4VB!4<2L}fW2L}xU z`v(jJ3|OZEg8_p9gMtSv^+2kwTeHp8p*@sH?|uCAvl94jRUN-<{yzN|HvKU>JYSRy zEc|M>@T=W9hg_64+S+gx%JE`&IsHYW4W*kG!J_w(m=;@?;p%;sV@>nRW;h@VZEX&{ zu31(^uxPlOU5_^2Z`SnN07|2eGVkm-{sz_pNd&(Q4C9b;!o7GjptGjl$C7e9WInd} zNyaHBBny%gNg~~|$0)E0+6goYEKtK?^RWok2`oaA1VAr|dNLqZ4UksDlm>hZbba7{ zcEgu&*al*b#H`T>R)N`rH6VbU2;Bx;A6U(9Xxp~>{POz1n((F}0`sY+wFUv2OTj(8 zqVo~-1io#qk$rZ@<+8&}1g!-3C^(-!MNi=NgGTr0c9Ml|qj5fdiH>GGR{l8wHO@yK z=D%sCwmR#}`>6UT_-*3h=duVbhS!Tf02pJc(w|lld=B`1>mQvCr!ny!+1mgB002ov JPDHLkV1i@-&|3fi literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoPirBaum.png b/webfrontend/pgm2/icoPirBaum.png new file mode 100644 index 0000000000000000000000000000000000000000..37d64a9dc61233ca0bb6ff11fbd08ac77021c16f GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3-qj4(3b&Qrac15hcz=sfi_-`FRQ4nJa0`Jj5jgR3=A9lx&I`x0{KD#J|V6@_Ny2h8=pCI=Kufy zX=!OQXU;tJGe8F@%UBZR7tG-B>_!@pQ{n027*cVocVeRugCK`X_V$1Or}ICb;~3!< zJa3w!i`1qmvtG_O@Q?1O23iXHmz}^Z-T9yB>w`Q1!XeK zX(noK#aeP&q66msNSNMy&;E^_p&Dngb<)peI~Klk@ST^}GJQuaM?_j=(No5KolMz$ T!XNJg-N4}K>gTe~DWM4fUTJNn literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoSYSTEM.png b/webfrontend/pgm2/icoSYSTEM.png new file mode 100644 index 0000000000000000000000000000000000000000..02f2b43deb590c4fa7bf18dfdc63c46e8a00a9dd GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7Fxo5Rhwm4>=N$nR$Z4Ic)vEZ*y`(CY3!bCtYo=k zNBFdprmagR_H8@r7H#rx>4O_)<*k2ZijNBg?n&lbtr?Yb*sIm$Pw}+6?~J)?7=JyM S+;aeECxfS}pUXO@geCyV3V1UB literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoTemp.png b/webfrontend/pgm2/icoTemp.png new file mode 100644 index 0000000000000000000000000000000000000000..f89a1ebfdf40826e85dcb2d1a995766baa36830a GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7FxogrPhVH|J4~XYysX)5nF&B4 z&H|6fVg?3opcULgjF;}#{Q(NHq&xaLGB9lH=l+w(3gp`a_=LFr*sqdiY;4S6Jk!{C zCIiD61_mJSOj_C*kRZeVnQ3Q$D9!lHOye}5nwe?;|Nox}q<{*}oH0zE<^VK@u_VYZ zn8D%MjWi&~-P6S}q~ca`!U5JBEiE@L9A#-WY++$(F=%DUT-h~uzMyl5Y;ec)evZ&P zHfJ)FdSdR#WH_C9^G0S)hLg^jH7^_wo;bmh%*3#llgUrn?A>ahkqn-$elF{r5}E)u CH)Wsz literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoTempBaum.png b/webfrontend/pgm2/icoTempBaum.png new file mode 100644 index 0000000000000000000000000000000000000000..5c904b4be50099114c411fca61e5aecfee622295 GIT binary patch literal 450 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3-qj4(3b&Qrac15hcz=sfi_-`FRQ4nJaD4z_MyE95jgR3=A9lx&I`x0{Kw^J|V6kT2V1uQPD|4QBza% z+_`iAe}AafR9vd4s41Zc1l85m4Gj&|)h$a6HLqnyT`P_{r>S}1z=2{z!+Sl&dx2Vt zqp~$MlarJG|Np;W!IG`j*-?guQ>M&e_}t(NG@Y>|$S;_|;n|HeAZNL!i(^Q|t=@|l z`3@=Yum+TD@pG7Ku{HJG|N3AVp@^`~?~PNQsuZ*b&CXafT`0N3=VnD8qwcAlHRcDr z1E!oY>u=ou(WoT#jG?aw>npK2AMICgC+AGvD4HVlz+|bt&()JjZ;yZQVGa?9y1>%X zO>JK>I|9(8=*e(f{@}k09r|#}M i?V6PB!@cJIGhS~ILHqBM*<^rDX7F_Nb6Mw<&;$Su{G?C- literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoTempHausEG.png b/webfrontend/pgm2/icoTempHausEG.png new file mode 100644 index 0000000000000000000000000000000000000000..4bd744d3e392fccd510bc35e97ca420624b9ea56 GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3-qj4(3b&Qrac15hcz=sfi_-`FRQ4nJaD4z_MyE95jgR3=A9lx&I`x0{MXfJ|V6^I!aM7TT#(TLh;^{5+*+L-WoY>S z|NrXh>V}4fDO2WXYHBJfDz->GegHI-u_VYZn8D%MjWi&q$wP?0ut+nT-9ob9Y6*nFVwWgQu&X%Q~loCICfVi`xJI literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoTempHausOG.png b/webfrontend/pgm2/icoTempHausOG.png new file mode 100644 index 0000000000000000000000000000000000000000..ce8efbacf7969feae791a438f3d12bbd609824a8 GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3-qj4(3b&Qrac15hcz=sfi_-`FRQM(()YMc|RGju;X%f&-#*!evU=@ zs2FYEz9_&_<9q!=A<07vnh*Y7?K^MD${_Yv4SCyy*q=t%yInahGv$~`-X$B6mbXlw z??TZ@^aqCxhkty{d1fk9ya0g^y*tajuy3ISqvh~E9Wa5Ob?tA_@V5) qd?wGHsO-%WD<*mGvh&^dld0e?ms~|^+$NxF7(8A5T-G@yGywp=P>fap literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoTempHausReg.png b/webfrontend/pgm2/icoTempHausReg.png new file mode 100644 index 0000000000000000000000000000000000000000..4299570f669302ad76565b587621e1961aab5cf2 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3-qj4(3b&Qrac15hcz=sfi_-`FRQ{m%MHa2E3K6B>G z|NsAI&YYQ+mNwJacqRkG83qQR%$c;bGav;F|7WJ10irbHGc%3T7>t1mqxoKV0?lD8 z3GxeOaCmkj4an*Dba4!+xHa|sO`*dI9IOE=V{%M$cm4Ulzsz&Sf|i+I>|PeIc)sip znV7ZiL4cC>5%n_*Q>J~LQt27KC7ox2@(S65e(%ce+=-H#m+Ag`+M?zUeyht$sxR_; znehnlOY?ev-WJa;e_rAikL>1-1o3m!3-qj4(3b&Qrac15hcz=sfi_-`FRQkj!3-qj4(3b&Qrac15hcz=sfi_-`FRQus-+< z6yhxKh%9Dc;1&X5#!GkW{s0A8(j9#r85lP9bN@+X1@c`3d_r7*>{m%MHa2E3K6B>G z|NsAI&YYQ+mNwJacqRkG83qQR%$c;bGav;F|7WJ10irbHGc%3T7>t1m|EHz>pK1I* z&3J9;gZn@O8B2ovf*Bm1-ADs+mV3H5hE&{|dj7W1Aq5_m00E&b(b55L{@1VCBIc`a zvCH3J&P{>je;&v0tkhnpc{0>Pb;7bQ^QKQ`PH{Q%DscWwUU>$#1+3Z1qSFjszVB^O z^wL|LI_2rpslLfKm6P7hF5+1EO;KFi@@dHO*B5u(mfWN)d(ZhsYUY2=+0DmFvYqGp zE>2FfY7uH~yPWpsHUHI1WfT6XOEmnu)v&syct^>8hvc`J_Oq@%!3-qj4(3b&Qrac15hcz=sfi_-`FRQy`Ex4Ma89tn%AZJ!LSvon}?D?(Prmv*HOi WI96+KnP~=eD1)b~pUXO@geCwwIiP<4 literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoTempWasser.png b/webfrontend/pgm2/icoTempWasser.png new file mode 100644 index 0000000000000000000000000000000000000000..0b4faa87c2ef0d490f4c596a4d4e331c7129179c GIT binary patch literal 505 zcmVHvs0000hbVXQnLvm$d zbZKvHAXI5>WdKBJATlu^MrC3kGB7bRATc>QG%`9hG$1Q5F)%PJ1i4xO000McNliru z+yWI793$>uvp)a;010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E003H0 zOjJbx003GcA!{KaLKq=?DIujHA!B1>r7QM)q^~I%_L}f~9$TW!E#A)hvoIxpADXj`iomBI^vKr&grW4kMttP3F zQnALkZwUq9C<=%w*Wku55DSA6tYNcQ7=Db~t+XYXs^yu?X2DMQb^LD0A*4zb3rF1$ zI*37zF%DrG;p@UuqmW}R2YBOF>*TIs&D|n`UF*-w<(lTPV4#P%j5iE=ke`*m!8EB?0^u-X4${A00000NkvXXu0mjfs)Wqs literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoTermHaus.png b/webfrontend/pgm2/icoTermHaus.png new file mode 100644 index 0000000000000000000000000000000000000000..b5a0a3713f8b3f983c5ae5b1b8257c7cd8cb5812 GIT binary patch literal 384 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3-qj4(3b&Qrac15hcz=sfi_-`FRQt_#ls z3UL;AL>4nJa0`Jj5jgR3=A9lx&I`x0{J!pJ|V6@_N$~B8yhnipE+~p z|Ns9pXUQaG}c8P05iE~kEVo7Fxo5Rhwm4>=N$nR$Z4Ic)vEZ*y`(CY3!bCtYo=k zNBFdprmagR_H8@r7H#rx>4O_)<*k2ZijNBg?n&lbtr?Yb*sIm$Pw}+6?~J)?7=JyM S+;aeECxfS}pUXO@geCyV3V1UB literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/icoUhr.png b/webfrontend/pgm2/icoUhr.png new file mode 100644 index 0000000000000000000000000000000000000000..f7bab2bfdb768ce1b4da059b981644f7298e22c1 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}c8P05iE~kEVo7Fxo%k%5A?fuVsxo5_XuKyBG|NsAujnn@BKQnVCkT(-3<7Vw;3RKKk666=m;PC858jzFg>EaktaVxgpQ|y2O zhqJ1~^5611PNd|D+5KtBQaG}c8P05iE~kEVo7Fxo%6;BDlbTJIzuoQRryreGcE92K{Z|25=ku+? cRNwEAtDn!L#GrTFALtkcPgg&ebxsLQ02WMgCIA2c literal 0 HcmV?d00001 diff --git a/webfrontend/pgm2/style.css b/webfrontend/pgm2/style.css index d73804d41..56ca3e45b 100644 --- a/webfrontend/pgm2/style.css +++ b/webfrontend/pgm2/style.css @@ -30,3 +30,4 @@ div#block { border:1px solid gray; background: #F8F8E0; padding:0.7em; } div#dist { padding-top:0.3em; } select.attr,input.attr,select.set,input.set { margin-bottom:5px; } +a img { border-style:none; }