make about dialog boxes use standard wx about dialogs
authorAndrey Skvortsov <andrej.skvortzov@gmail.com>
Thu, 17 Nov 2016 13:48:04 +0300
changeset 1565 894f31f8ca64
parent 1564 8ffd0b52c2c7
child 1566 2ce8d970fc69
make about dialog boxes use standard wx about dialogs

Any information in dialog can be easily changed without much effort
and the dialog can be easy translated.

Unfortunately on Windows there is no good standard about dialog,
therefore own implementation is used there.
Beremiz.py
PLCOpenEditor.py
dialogs/AboutDialog.py
doc/about.html
doc/about.ru.html
doc/plcopen_about.html
doc/plcopen_about.ru.html
images/about_brz_logo.png
images/icons.svg
version.py
--- a/Beremiz.py	Tue Nov 08 18:14:30 2016 +0300
+++ b/Beremiz.py	Thu Nov 17 13:48:04 2016 +0300
@@ -159,6 +159,7 @@
 from util.ProcessLogger import ProcessLogger
 from controls.LogViewer import LogViewer
 from controls.CustomStyledTextCtrl import CustomStyledTextCtrl
+from dialogs.AboutDialog import ShowAboutDialog
 
 from PLCControler import LOCATION_CONFNODE, LOCATION_MODULE, LOCATION_GROUP, LOCATION_VAR_INPUT, LOCATION_VAR_OUTPUT, LOCATION_VAR_MEMORY, ITEM_PROJECT, ITEM_RESOURCE
 from ProjectController import ProjectController, GetAddMenuItems, MATIEC_ERROR_MODEL, ITEM_CONFNODE
@@ -1015,8 +1016,8 @@
         self.Close()
 
     def OnAboutMenu(self, event):
-        title=_("About Beremiz") + " " + version.app_version
-        OpenHtmlFrame(self, title, Bpath("doc", _("about.html")), wx.Size(550, 550))
+        info = version.GetAboutDialogInfo()        
+        ShowAboutDialog(self, info)
 
     def OnProjectTreeItemBeginEdit(self, event):
         selected = event.GetItem()
--- a/PLCOpenEditor.py	Tue Nov 08 18:14:30 2016 +0300
+++ b/PLCOpenEditor.py	Thu Nov 17 13:48:04 2016 +0300
@@ -77,6 +77,7 @@
 from editors.Viewer import Viewer
 from PLCControler import PLCControler
 from dialogs import ProjectDialog
+from dialogs.AboutDialog import ShowAboutDialog
 
 #-------------------------------------------------------------------------------
 #                            PLCOpenEditor Main Class
@@ -349,8 +350,12 @@
         open_pdf(os.path.join(beremiz_dir, "plcopen", "TC6_XML_V101.pdf"))
 
     def OnAboutMenu(self, event):
-        title= _("About PLCOpenEditor") + " " + version.app_version        
-        OpenHtmlFrame(self, title, os.path.join(beremiz_dir, "doc", _("plcopen_about.html")), wx.Size(350, 350))
+        info = version.GetAboutDialogInfo()
+        info.Name = "PLCOpenEditor"
+        info.Description = _("PLCOpenEditor is part of Beremiz project.\n\n"
+                             "Beremiz is an ") + info.Description
+        info.Icon = wx.Icon(os.path.join(beremiz_dir, "images", "aboutlogo.png"), wx.BITMAP_TYPE_PNG)
+        ShowAboutDialog(self, info)
 
     def SaveProject(self):
         result = self.Controler.SaveXMLFile()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dialogs/AboutDialog.py	Thu Nov 17 13:48:04 2016 +0300
@@ -0,0 +1,173 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2009, 2010 by Steven Sproat
+#
+# GNU General Public Licence (GPL)
+#
+# Whyteboard is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
+# Whyteboard is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
+# You should have received a copy of the GNU General Public License along with
+# Whyteboard; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+"""
+This module contains classes extended from wx.Dialog used by the GUI.
+"""
+
+import os
+import sys
+import time
+import wx
+from wx.lib.agw.hyperlink import HyperLinkCtrl
+
+
+#----------------------------------------------------------------------
+
+class AboutDialog(wx.Dialog):
+    """
+    A replacement About Dialog for Windows, as it uses a generic frame that
+    well...sucks.
+    """
+    def __init__(self, parent, info):
+        title = _("About") + " " + info.Name
+        wx.Dialog.__init__(self, parent, title=title)
+        self.info = info
+
+        if parent and parent.GetIcon():
+            self.SetIcon(parent.GetIcon())
+
+        image = None
+        if self.info.Icon:
+            bitmap = wx.BitmapFromIcon(self.info.Icon)
+            image = wx.StaticBitmap(self, bitmap=bitmap)
+
+        name = wx.StaticText(self, label="%s %s" % (info.Name, info.Version))
+        description = wx.StaticText(self, label=info.Description)
+        copyright = wx.StaticText(self, label=info.Copyright)
+        url = HyperLinkCtrl(self, label=info.WebSite[0], URL=info.WebSite[1])
+
+        font = name.GetClassDefaultAttributes().font
+        font.SetWeight(wx.FONTWEIGHT_BOLD)
+        font.SetPointSize(18)
+        name.SetFont(font)
+
+        credits = wx.Button(self, id=wx.ID_ABOUT, label=_("C&redits"))
+        license = wx.Button(self, label=_("&License"))
+        close = wx.Button(self, id=wx.ID_CLOSE, label=_("&Close"))
+
+        btnSizer = wx.BoxSizer(wx.HORIZONTAL)
+        btnSizer.Add(credits, flag=wx.CENTER | wx.LEFT | wx.RIGHT, border=5)
+        btnSizer.Add(license, flag=wx.CENTER | wx.RIGHT, border=5)
+        btnSizer.Add(close, flag=wx.CENTER | wx.RIGHT, border=5)
+
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        if image:
+            sizer.Add(image, flag=wx.CENTER | wx.TOP | wx.BOTTOM, border=5)
+        sizer.Add(name, flag=wx.CENTER | wx.BOTTOM, border=10)
+        sizer.Add(description, flag=wx.CENTER | wx.BOTTOM, border=10)
+        sizer.Add(copyright, flag=wx.CENTER | wx.BOTTOM, border=10)
+        sizer.Add(url, flag=wx.CENTER | wx.BOTTOM, border=15)
+        sizer.Add(btnSizer, flag=wx.CENTER | wx.BOTTOM, border=5)
+
+        container = wx.BoxSizer(wx.VERTICAL)
+        container.Add(sizer, flag=wx.ALL, border=10)
+        self.SetSizer(container)
+        self.Layout()
+        self.Fit()
+        self.Centre()
+        self.Show(True)
+        self.SetEscapeId(close.GetId())
+
+        credits.Bind(wx.EVT_BUTTON, self.on_credits)
+        license.Bind(wx.EVT_BUTTON, self.on_license)
+        close.Bind(wx.EVT_BUTTON, lambda evt: self.Destroy())
+
+    def on_license(self, event):
+        LicenseDialog(self, self.info)
+
+    def on_credits(self, event):
+        CreditsDialog(self, self.info)
+
+
+#----------------------------------------------------------------------
+
+class CreditsDialog(wx.Dialog):
+    def __init__(self, parent, info):
+        wx.Dialog.__init__(self, parent, title=_("Credits"), size=(475, 320),
+                           style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER)
+
+        if parent and parent.GetIcon():
+            self.SetIcon(parent.GetIcon())
+
+        self.SetMinSize((300, 200))
+        notebook = wx.Notebook(self)
+        close = wx.Button(self, id=wx.ID_CLOSE, label=_("&Close"))
+        close.SetDefault()
+
+        developer = wx.TextCtrl(notebook, style=wx.TE_READONLY | wx.TE_MULTILINE)
+        translators = wx.TextCtrl(notebook, style=wx.TE_READONLY | wx.TE_MULTILINE)
+
+        developer.SetValue(u'\n'.join(info.Developers))
+        translators.SetValue(u'\n'.join(info.Translators))
+
+        notebook.AddPage(developer, text=_("Written by"))
+        notebook.AddPage(translators, text=_("Translated by"))
+
+        btnSizer = wx.BoxSizer(wx.HORIZONTAL)
+        btnSizer.Add(close)
+
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        sizer.Add(notebook, 1, wx.EXPAND | wx.ALL, 10)
+        sizer.Add(btnSizer, flag=wx.ALIGN_RIGHT | wx.RIGHT | wx.BOTTOM, border=10)
+        self.SetSizer(sizer)
+        self.Layout()
+        self.Show()
+        self.SetEscapeId(close.GetId())
+
+        close.Bind(wx.EVT_BUTTON, lambda evt: self.Destroy())
+
+
+#----------------------------------------------------------------------
+
+class LicenseDialog(wx.Dialog):
+    def __init__(self, parent, info):
+        wx.Dialog.__init__(self, parent, title=_("License"), size=(500, 400),
+                           style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER)
+
+        if parent and parent.GetIcon():
+            self.SetIcon(parent.GetIcon())
+
+        self.SetMinSize((400, 300))
+        close = wx.Button(self, id=wx.ID_CLOSE, label=_("&Close"))
+
+        ctrl = wx.TextCtrl(self, style=wx.TE_READONLY | wx.TE_MULTILINE)
+        ctrl.SetValue(info.License)
+
+        btnSizer = wx.BoxSizer(wx.HORIZONTAL)
+        btnSizer.Add(close)
+
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        sizer.Add(ctrl, 1, wx.EXPAND | wx.ALL, 10)
+        sizer.Add(btnSizer, flag=wx.ALIGN_RIGHT | wx.RIGHT | wx.BOTTOM, border=10)
+        self.SetSizer(sizer)
+        self.Layout()
+        self.Show()
+        self.SetEscapeId(close.GetId())
+
+        close.Bind(wx.EVT_BUTTON, lambda evt: self.Destroy())
+
+#----------------------------------------------------------------------
+
+def ShowAboutDialog(parent, info):
+    if os.name == "nt":
+        AboutDialog(parent, info)
+    else:
+        wx.AboutBox(info)
--- a/doc/about.html	Tue Nov 08 18:14:30 2016 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<HTML>
-<BODY>
-<CENTER>
-<IMG SRC="../images/splash.png">
-<BR><BR>
-<font size="3">Beremiz is an Open Source framework for automation.</font>
-<BR><BR>
-<a href="http://www.beremiz.org/">http://www.beremiz.org/</a>
-<BR><BR>
-<TABLE border="0" width="480">
-  <TR>
-    <TD align="right" valign="top">
-      Contributor :
-    </TD>
-    <TD align="left" valign="top">
-      University of Porto<BR>
-      <a href="http://www.fe.up.pt/si/web_page.inicial">http://www.fe.up.pt/si/web_page.inicial</a>
-    </TD>
-  </TR>
-  <TR>
-    <TD  colspan="2" align="center">
-      <BR><BR><BR>
-      Beremiz is distrubuted under the term <BR>of the
-      <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC1">GNU
-        General Public License (GPL) version 2</a> or
-      <BR>(at your option) any later version.
-    </TD>
-  </TR>
-</TABLE>
-</CENTER>
-</BODY>
-</HTML>
--- a/doc/about.ru.html	Tue Nov 08 18:14:30 2016 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<HTML lang="ru">
-  <HEAD><meta charset="utf-8" http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <TITLE>О Beremiz</TITLE>
-  </HEAD>
-  <BODY>
-    <CENTER>
-      <IMG SRC="../images/splash.png">
-      <BR><BR>
-      <font size="3">Beremiz - это свободное программное обеспечение для автоматизации.</font>
-      <BR><BR>
-      <a href="http://www.beremiz.org/">http://www.beremiz.org/</a>
-      <BR><BR>
-      <TABLE border="0" width="480">
-        <TR>
-          <TD align="right" valign="top">
-            Спонсор разработки:
-          </TD>
-          <TD align="left" valign="top">
-            Университет Порту<BR>
-            <a href="http://www.fe.up.pt/si/web_page.inicial">http://www.fe.up.pt/si/web_page.inicial</a>
-          </TD>
-        </TR>
-        <TR>
-          <TD  colspan="2" align="center">
-            <BR><BR><BR>
-            Beremiz распространяется на условиях <BR>
-            <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC1">Стандартной
-              общественной лицензии GNU (GPL) версии 2</a>
-            <BR>или (на ваше усмотрение) более поздней версии.
-          </TD>
-        </TR>
-      </TABLE>
-    </CENTER>
-  </BODY>
-</HTML>
--- a/doc/plcopen_about.html	Tue Nov 08 18:14:30 2016 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<HTML>
-<BODY>
-<CENTER>
-<IMG SRC="../images/aboutlogo.png">
-<BR><BR>
-<font size="3">The PLCopen Editor saves and loads XML projects,<BR>accordingly to PLCopen TC6-XML Schemes.</font>
-<BR><BR>
-More informations on :
-<a href="http://www.beremiz.org/">http://www.beremiz.org/</a>
-<BR><BR>
-</CENTER>
-</BODY>
-</HTML>
\ No newline at end of file
--- a/doc/plcopen_about.ru.html	Tue Nov 08 18:14:30 2016 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<HTML>
-  <HEAD><meta charset="utf-8" http-equiv="Content-Type" content="text/html; charset=utf-8">  
-    <TITLE>О PLCOpen Editor</TITLE>
-  </HEAD>
-  <BODY>
-<CENTER>
-<IMG SRC="../images/aboutlogo.png">
-<BR><BR>
-<font size="3">PLCopen Editor сохраняет и загружает XML
-  проекты,<BR>созданные согласно PLCopen TC6-XML схемам.</font>
-<BR><BR>
-За подробной информацией обращаться:
-<a href="http://www.beremiz.org/">http://www.beremiz.org/</a>
-<BR><BR>
-</CENTER>
-</BODY>
-</HTML>
Binary file images/about_brz_logo.png has changed
--- a/images/icons.svg	Tue Nov 08 18:14:30 2016 +0300
+++ b/images/icons.svg	Thu Nov 17 13:48:04 2016 +0300
@@ -15,7 +15,7 @@
    height="1052.3622"
    id="svg2"
    sodipodi:version="0.32"
-   inkscape:version="0.48.3.1 r9886"
+   inkscape:version="0.91 r13725"
    sodipodi:docname="icons.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <metadata
@@ -31,7 +31,7 @@
     </rdf:RDF>
   </metadata>
   <sodipodi:namedview
-     inkscape:window-height="1056"
+     inkscape:window-height="1043"
      inkscape:window-width="1920"
      inkscape:pageshadow="2"
      inkscape:pageopacity="0"
@@ -43,11 +43,11 @@
      pagecolor="#ffffff"
      id="base"
      showgrid="false"
-     inkscape:zoom="4.0000001"
-     inkscape:cx="590.44587"
-     inkscape:cy="681.55725"
+     inkscape:zoom="1"
+     inkscape:cx="618.65047"
+     inkscape:cy="-188.15697"
      inkscape:window-x="0"
-     inkscape:window-y="24"
+     inkscape:window-y="0"
      inkscape:current-layer="svg2"
      showguides="true"
      inkscape:guide-bbox="true"
@@ -87959,6 +87959,148 @@
          width="1"
          height="1" />
     </clipPath>
+    <mask
+       id="mask6467-7">
+      <rect
+         width="462.6499"
+         height="418.20319"
+         x="145.46196"
+         y="-576.94458"
+         id="use6469-5"
+         style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient6885);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:49.86504364;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" />
+    </mask>
+    <filter
+       x="-0.021624813"
+       width="1.0432496"
+       y="-0.10738391"
+       height="1.2147678"
+       id="filter17760-6">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="10.250707"
+         id="feGaussianBlur17762-2" />
+    </filter>
+    <mask
+       id="mask18563">
+      <rect
+         width="462.6499"
+         height="418.20319"
+         x="145.46196"
+         y="-576.94458"
+         id="rect18565"
+         style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient6885);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:49.86504364;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" />
+    </mask>
+    <linearGradient
+       x1="361.4903"
+       y1="-285.12421"
+       x2="454.45035"
+       y2="-474.94891"
+       id="linearGradient18567"
+       xlink:href="#linearGradient59108"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter6447-9">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="10.172821"
+         id="feGaussianBlur6449-1" />
+    </filter>
+    <mask
+       id="mask18577">
+      <rect
+         width="462.6499"
+         height="418.20319"
+         x="145.46196"
+         y="-576.94458"
+         id="rect18579"
+         style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient6885);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:49.86504364;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" />
+    </mask>
+    <linearGradient
+       x1="361.4903"
+       y1="-285.12421"
+       x2="454.45035"
+       y2="-474.94891"
+       id="linearGradient18581"
+       xlink:href="#linearGradient59108"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter18589">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="10.172821"
+         id="feGaussianBlur18591" />
+    </filter>
+    <mask
+       id="mask6467-7-2">
+      <rect
+         width="462.6499"
+         height="418.20319"
+         x="145.46196"
+         y="-576.94458"
+         id="use6469-5-2"
+         style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient6885);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:49.86504364;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" />
+    </mask>
+    <filter
+       x="-0.021624813"
+       width="1.0432496"
+       y="-0.10738391"
+       height="1.2147678"
+       id="filter17760-6-7">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="10.250707"
+         id="feGaussianBlur17762-2-3" />
+    </filter>
+    <mask
+       id="mask23060">
+      <rect
+         width="462.6499"
+         height="418.20319"
+         x="145.46196"
+         y="-576.94458"
+         id="rect23062"
+         style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient6885);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:49.86504364;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" />
+    </mask>
+    <linearGradient
+       x1="361.4903"
+       y1="-285.12421"
+       x2="454.45035"
+       y2="-474.94891"
+       id="linearGradient23064"
+       xlink:href="#linearGradient59108"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter6447-9-6">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="10.172821"
+         id="feGaussianBlur6449-1-1" />
+    </filter>
+    <mask
+       id="mask23074">
+      <rect
+         width="462.6499"
+         height="418.20319"
+         x="145.46196"
+         y="-576.94458"
+         id="rect23076"
+         style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient6885);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:49.86504364;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" />
+    </mask>
+    <linearGradient
+       x1="361.4903"
+       y1="-285.12421"
+       x2="454.45035"
+       y2="-474.94891"
+       id="linearGradient23078"
+       xlink:href="#linearGradient59108"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter23086">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="10.172821"
+         id="feGaussianBlur23088" />
+    </filter>
   </defs>
   <g
      id="g19063"
@@ -88093,7 +88235,7 @@
          sodipodi:cy="1.7575644"
          sodipodi:rx="12.374369"
          sodipodi:ry="12.374369"
-         d="m 51.012705,1.7575644 c 0,6.8341751 -5.540194,12.3743686 -12.374369,12.3743686 -6.834175,0 -12.374368,-5.5401935 -12.374368,-12.3743686 0,-6.8341751 5.540193,-12.3743684 12.374368,-12.3743684 6.834175,0 12.374369,5.5401933 12.374369,12.3743684 z"
+         d="M 51.012705,1.7575644 A 12.374369,12.374369 0 0 1 38.638336,14.131933 12.374369,12.374369 0 0 1 26.263968,1.7575644 12.374369,12.374369 0 0 1 38.638336,-10.616804 12.374369,12.374369 0 0 1 51.012705,1.7575644 Z"
          transform="matrix(1.5916608,0,0,1.5916608,-4.534839,45.738269)" />
       <path
          sodipodi:type="arc"
@@ -88103,7 +88245,7 @@
          sodipodi:cy="1.7575644"
          sodipodi:rx="12.374369"
          sodipodi:ry="12.374369"
-         d="m 51.012705,1.7575644 c 0,6.8341751 -5.540194,12.3743686 -12.374369,12.3743686 -6.834175,0 -12.374368,-5.5401935 -12.374368,-12.3743686 0,-6.8341751 5.540193,-12.3743684 12.374368,-12.3743684 6.834175,0 12.374369,5.5401933 12.374369,12.3743684 z"
+         d="M 51.012705,1.7575644 A 12.374369,12.374369 0 0 1 38.638336,14.131933 12.374369,12.374369 0 0 1 26.263968,1.7575644 12.374369,12.374369 0 0 1 38.638336,-10.616804 12.374369,12.374369 0 0 1 51.012705,1.7575644 Z"
          transform="translate(18.32595,46.778151)" />
     </g>
     <g
@@ -88112,7 +88254,7 @@
        transform="matrix(0.2172196,0,0,0.2172196,-856.56407,380.74931)">
       <path
          transform="translate(58.32595,48.778151)"
-         d="m 51.012705,1.7575644 c 0,6.8341751 -5.540194,12.3743686 -12.374369,12.3743686 -6.834175,0 -12.374368,-5.5401935 -12.374368,-12.3743686 0,-6.8341751 5.540193,-12.3743684 12.374368,-12.3743684 6.834175,0 12.374369,5.5401933 12.374369,12.3743684 z"
+         d="M 51.012705,1.7575644 A 12.374369,12.374369 0 0 1 38.638336,14.131933 12.374369,12.374369 0 0 1 26.263968,1.7575644 12.374369,12.374369 0 0 1 38.638336,-10.616804 12.374369,12.374369 0 0 1 51.012705,1.7575644 Z"
          sodipodi:ry="12.374369"
          sodipodi:rx="12.374369"
          sodipodi:cy="1.7575644"
@@ -88122,7 +88264,7 @@
          sodipodi:type="arc" />
       <path
          transform="matrix(0.9170232,0,0,0.9170232,61.532035,48.923988)"
-         d="m 51.012705,1.7575644 c 0,6.8341751 -5.540194,12.3743686 -12.374369,12.3743686 -6.834175,0 -12.374368,-5.5401935 -12.374368,-12.3743686 0,-6.8341751 5.540193,-12.3743684 12.374368,-12.3743684 6.834175,0 12.374369,5.5401933 12.374369,12.3743684 z"
+         d="M 51.012705,1.7575644 A 12.374369,12.374369 0 0 1 38.638336,14.131933 12.374369,12.374369 0 0 1 26.263968,1.7575644 12.374369,12.374369 0 0 1 38.638336,-10.616804 12.374369,12.374369 0 0 1 51.012705,1.7575644 Z"
          sodipodi:ry="12.374369"
          sodipodi:rx="12.374369"
          sodipodi:cy="1.7575644"
@@ -88834,8 +88976,7 @@
            r="34.144001"
            transform="matrix(0.3316761,0,0,0.3316761,48.927852,9.2318583)"
            id="circle29"
-           style="fill:#84c225;fill-rule:evenodd;stroke:#5d9d35;stroke-width:2.82220006"
-           d="m 134.431,110.081 c 0,18.85721 -15.28679,34.144 -34.144,34.144 -18.857208,0 -34.143998,-15.28679 -34.143998,-34.144 0,-18.85721 15.28679,-34.144 34.143998,-34.144 18.85721,0 34.144,15.28679 34.144,34.144 z" />
+           style="fill:#84c225;fill-rule:evenodd;stroke:#5d9d35;stroke-width:2.82220006" />
         <path
            d="m 84.515333,38.943636 0,3.981494 3.981494,0 0,4.799639 -3.981494,0 0,3.981494 -4.782372,0 0,-3.981494 -3.981494,0 0,-4.799639 3.981494,0 0,-3.981494 4.782372,0"
            id="text1332"
@@ -88888,8 +89029,7 @@
              r="34.144001"
              transform="matrix(0.3316761,0,0,0.3316761,48.927852,9.2318583)"
              id="circle99164"
-             style="fill:#84c225;fill-rule:evenodd;stroke:#5d9d35;stroke-width:2.82220006"
-             d="m 134.431,110.081 c 0,18.85721 -15.28679,34.144 -34.144,34.144 -18.857208,0 -34.143998,-15.28679 -34.143998,-34.144 0,-18.85721 15.28679,-34.144 34.143998,-34.144 18.85721,0 34.144,15.28679 34.144,34.144 z" />
+             style="fill:#84c225;fill-rule:evenodd;stroke:#5d9d35;stroke-width:2.82220006" />
           <path
              d="m 84.515333,38.943636 0,3.981494 3.981494,0 0,4.799639 -3.981494,0 0,3.981494 -4.782372,0 0,-3.981494 -3.981494,0 0,-4.799639 3.981494,0 0,-3.981494 4.782372,0"
              id="path99166"
@@ -88919,7 +89059,7 @@
   <path
      sodipodi:type="inkscape:offset"
      inkscape:radius="1"
-     inkscape:original="M 70 192.375 L 70 214.375 L 87 214.375 L 87 197.375 L 82 192.375 L 70 192.375 z "
+     inkscape:original="M 70 192.36133 L 70 214.36133 L 87 214.36133 L 87 197.36133 L 82 192.36133 L 70 192.36133 z "
      xlink:href="#path18378"
      style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
      id="path18380"
@@ -89795,8 +89935,7 @@
        transform="matrix(1,0,0,-1,1028.5714,378.07647)"
        r="226"
        cy="0"
-       cx="0"
-       d="M 226,0 C 226,124.81635 124.81635,226 0,226 -124.81635,226 -226,124.81635 -226,0 c 0,-124.81635 101.18365,-226 226,-226 124.81635,0 226,101.18365 226,226 z" />
+       cx="0" />
     <circle
        sodipodi:ry="169.5"
        sodipodi:rx="169.5"
@@ -89807,8 +89946,7 @@
        transform="matrix(1,0,0,-1,1028.5714,378.07647)"
        r="169.5"
        cy="0"
-       cx="0"
-       d="M 169.5,0 C 169.5,93.612265 93.612265,169.5 0,169.5 -93.612265,169.5 -169.5,93.612265 -169.5,0 c 0,-93.612265 75.887735,-169.5 169.5,-169.5 93.612265,0 169.5,75.887735 169.5,169.5 z" />
+       cx="0" />
     <circle
        sodipodi:ry="106.5"
        sodipodi:rx="106.5"
@@ -89819,8 +89957,7 @@
        transform="matrix(1.0610323,0,0,-1.0610323,1028.5714,378.07647)"
        r="106.5"
        cy="0"
-       cx="0"
-       d="M 106.5,0 C 106.5,58.818326 58.818326,106.5 0,106.5 -58.818326,106.5 -106.5,58.818326 -106.5,0 c 0,-58.818326 47.681674,-106.5 106.5,-106.5 58.818326,0 106.5,47.681674 106.5,106.5 z" />
+       cx="0" />
     <circle
        sodipodi:ry="106.5"
        sodipodi:rx="106.5"
@@ -89831,8 +89968,7 @@
        transform="matrix(0.5305159,0,0,-0.5305159,1028.5714,378.07647)"
        r="106.5"
        cy="0"
-       cx="0"
-       d="M 106.5,0 C 106.5,58.818326 58.818326,106.5 0,106.5 -58.818326,106.5 -106.5,58.818326 -106.5,0 c 0,-58.818326 47.681674,-106.5 106.5,-106.5 58.818326,0 106.5,47.681674 106.5,106.5 z" />
+       cx="0" />
     <circle
        sodipodi:ry="106.5"
        sodipodi:rx="106.5"
@@ -89843,8 +89979,7 @@
        transform="matrix(0.1768394,0,0,-0.1768394,1028.5714,378.07647)"
        r="106.5"
        cy="0"
-       cx="0"
-       d="M 106.5,0 C 106.5,58.818326 58.818326,106.5 0,106.5 -58.818326,106.5 -106.5,58.818326 -106.5,0 c 0,-58.818326 47.681674,-106.5 106.5,-106.5 58.818326,0 106.5,47.681674 106.5,106.5 z" />
+       cx="0" />
   </g>
   <text
      style="font-size:20px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
@@ -90329,7 +90464,7 @@
          transform="matrix(0.7823622,0,0,-0.7804636,146.35389,367.13373)"
          sodipodi:end="3.1415927"
          sodipodi:start="0"
-         d="m 209.99999,218.57143 c 0,42.40757 -34.37813,76.78571 -76.78571,76.78571 -42.407579,0 -76.785714,-34.37814 -76.785714,-76.78571 0,0 0,-1e-5 0,-1e-5 l 76.785714,1e-5 z"
+         d="m 209.99999,218.57143 a 76.785713,76.785713 0 0 1 -38.39286,66.49838 76.785713,76.785713 0 0 1 -76.785709,-1e-5 76.785713,76.785713 0 0 1 -38.392855,-66.49838 l 76.785714,1e-5 z"
          sodipodi:ry="76.785713"
          sodipodi:rx="76.785713"
          sodipodi:cy="218.57143"
@@ -90421,7 +90556,7 @@
        sodipodi:cy="199.42668"
        sodipodi:rx="4.9244938"
        sodipodi:ry="4.8613591"
-       d="m 96.848375,199.42668 c 0,2.68486 -2.204771,4.86136 -4.924493,4.86136 -2.719723,0 -4.924494,-2.1765 -4.924494,-4.86136 0,-2.68485 2.204771,-4.86136 4.924494,-4.86136 2.719722,0 4.924493,2.17651 4.924493,4.86136 z"
+       d="m 96.848375,199.42668 a 4.9244938,4.8613591 0 0 1 -4.924493,4.86136 4.9244938,4.8613591 0 0 1 -4.924494,-4.86136 4.9244938,4.8613591 0 0 1 4.924494,-4.86136 4.9244938,4.8613591 0 0 1 4.924493,4.86136 z"
        transform="matrix(0.5324675,0,0,0.5324675,-889.75288,329.57107)" />
   </g>
   <text
@@ -92676,8 +92811,7 @@
            r="34.144001"
            transform="matrix(0.3316761,0,0,0.3316761,48.927852,9.2318583)"
            id="circle29-8"
-           style="fill:#84c225;fill-rule:evenodd;stroke:#5d9d35;stroke-width:2.82220006"
-           d="m 134.431,110.081 c 0,18.85721 -15.28679,34.144 -34.144,34.144 -18.857208,0 -34.143998,-15.28679 -34.143998,-34.144 0,-18.85721 15.28679,-34.144 34.143998,-34.144 18.85721,0 34.144,15.28679 34.144,34.144 z" />
+           style="fill:#84c225;fill-rule:evenodd;stroke:#5d9d35;stroke-width:2.82220006" />
         <path
            d="m 84.515333,38.943636 0,3.981494 3.981494,0 0,4.799639 -3.981494,0 0,3.981494 -4.782372,0 0,-3.981494 -3.981494,0 0,-4.799639 3.981494,0 0,-3.981494 4.782372,0"
            id="text1332-4"
@@ -93482,7 +93616,7 @@
     <path
        sodipodi:type="inkscape:offset"
        inkscape:radius="1"
-       inkscape:original="M 108 192.375 L 108 214.375 L 110 214.375 L 110 203.375 L 111 203.375 L 111 213.375 L 113 213.375 L 113 201.375 L 114 201.375 L 114 214.375 L 117 214.375 L 117 202.375 L 118 202.375 L 118 215.375 L 120 215.375 L 120 201.375 L 121 201.375 L 121 212.375 L 123 212.375 L 123 202.375 L 124 202.375 L 124 214.375 L 125 214.375 L 125 197.375 L 120 192.375 L 108 192.375 z "
+       inkscape:original="M 108 192.36133 L 108 214.36133 L 110 214.36133 L 110 203.36133 L 111 203.36133 L 111 213.36133 L 113 213.36133 L 113 201.36133 L 114 201.36133 L 114 214.36133 L 117 214.36133 L 117 202.36133 L 118 202.36133 L 118 215.36133 L 120 215.36133 L 120 201.36133 L 121 201.36133 L 121 212.36133 L 123 212.36133 L 123 202.36133 L 124 202.36133 L 124 214.36133 L 125 214.36133 L 125 197.36133 L 120 192.36133 L 108 192.36133 z "
        xlink:href="#path18406"
        style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        id="path18446"
@@ -93643,4 +93777,97 @@
      id="path19324"
      inkscape:connector-curvature="0"
      sodipodi:nodetypes="cccccc" />
+  <text
+     style="font-style:normal;font-weight:normal;font-size:51.04000092px;font-family:'Bitstream Vera Sans';fill:#000000;fill-opacity:1;stroke:none"
+     xml:space="preserve"
+     id="text18989-5"
+     y="1168.443"
+     x="94.936478"><tspan
+       id="tspan18991-9"
+       y="1168.443"
+       x="94.936478"
+       style="font-size:51.04000092px">%% about_brz_logo %%</tspan></text>
+  <g
+     transform="matrix(0.2224431,0,0,0.2224431,608.34301,805.59922)"
+     id="about_brz_logo"
+     inkscape:label="#g17803-0">
+    <g
+       transform="translate(-1840,2339.9999)"
+       mask="url(#mask6467-7-2)"
+       id="use16743-9" />
+    <g
+       transform="translate(0,89.910633)"
+       id="g7269-3">
+      <path
+         inkscape:connector-curvature="0"
+         d="m -1470.2813,1725.0291 c -56.0138,0.054 -112.0828,20.5177 -156.0937,61.5937 -85.0794,79.4058 -95.9453,209.1111 -29.5938,301.1563 l 9.7813,69.3437 0.9062,6.4375 5.125,-4 30.5938,-23.9687 c 87.5525,67.3697 213.0935,63.1007 295.9375,-14.2188 18.4642,-17.2329 33.4323,-36.8343 44.875,-57.9062 6.4003,0.736 13.3613,1.0937 20.875,1.0937 24.9087,0 44.0178,-3.5634 57.3437,-10.6875 13.3257,-7.1242 24.6943,-18.8804 34.125,-35.2812 l -61.6562,-5.6875 c -3.8953,4.9202 -7.5237,8.3649 -10.9063,10.3125 -5.5355,3.0752 -11.381,4.5937 -17.5312,4.5937 -2.2646,0 -4.435,-0.18 -6.5,-0.5625 3.5746,-10.6475 6.37,-21.5105 8.3437,-32.5 l 91.8125,0 0,-7.0625 c -10e-5,-21.5262 -3.5522,-39.0091 -10.625,-52.4375 -7.0731,-13.4281 -17.3756,-23.6769 -30.9062,-30.75 -13.3838,-6.9958 -31.5824,-10.5176 -54.5938,-10.5937 -7.0146,-25.9757 -18.6908,-50.9762 -35.0625,-73.6875 l -9.7812,-69.3438 -0.9063,-6.4375 -5.125,4 -30.5937,23.9688 c -41.0402,-31.5796 -90.4197,-47.4228 -139.8438,-47.375 z m 228.125,206.2187 c 6.3617,0.8346 11.6486,3.3459 15.875,7.5313 5.279,5.2278 8.5511,13.9044 9.7813,26 l -24.7813,0 c 0.5248,-11.1718 0.225,-22.3843 -0.875,-33.5313 z m 118.9731,-33.6623 58.582,0 0,26.754 c 5.6377,-11.583 11.4549,-19.5528 17.4516,-23.9095 5.9965,-4.3563 13.4025,-6.5346 22.2182,-6.5347 9.2253,1e-4 19.3222,2.8703 30.2904,8.6104 l -19.3736,44.5901 c -7.3805,-3.0751 -13.2233,-4.6127 -17.5285,-4.6128 -8.2005,10e-5 -14.5559,3.3828 -19.066,10.1481 -6.458,9.5331 -9.6869,27.3691 -9.6868,53.508 l 0,54.7381 -62.8873,0 0,-163.2917 z m 320.2793,97.1755 -125.46709,0 c 1.12748,10.0456 3.84388,17.5285 8.14921,22.4487 6.04775,7.073 13.94069,10.6094 23.67883,10.6094 6.15024,0 11.99306,-1.5376 17.5285,-4.6128 3.38256,-1.9476 7.02151,-5.3815 10.91686,-10.3018 l 61.65724,5.6891 c -9.43072,16.4009 -20.80885,28.1634 -34.13443,35.2876 -13.3259,7.1241 -32.44322,10.6862 -57.35199,10.6862 -21.62881,0 -38.64475,-3.0495 -51.04789,-9.1486 -12.40324,-6.0991 -22.67944,-15.7859 -30.82862,-29.0604 -8.14922,-13.2745 -12.22382,-28.881 -12.22382,-46.8195 0,-25.5239 8.17483,-46.1788 24.52452,-61.9648 16.34962,-15.7857 38.9265,-23.6787 67.7307,-23.6788 23.3712,1e-4 41.82222,3.5366 55.35313,10.6093 13.53059,7.0731 23.83241,17.3236 30.9055,30.7517 7.0727,13.4284 10.60915,30.9056 10.60935,52.4318 l 0,7.0729 z m -63.6561,-29.983 c -1.23021,-12.0956 -4.48476,-20.7573 -9.76368,-25.9852 -5.27917,-5.2277 -12.22393,-7.8416 -20.8343,-7.8417 -9.94316,10e-5 -17.88735,3.9466 -23.8326,11.8394 -3.79279,4.9204 -6.20167,12.2496 -7.22666,21.9875 l 61.65724,0 z m 93.17774,-67.1925 58.4283,0 0,23.8326 c 8.40539,-9.9429 16.88773,-17.0158 25.44706,-21.2187 8.55912,-4.2026 18.88657,-6.304 30.98238,-6.3041 13.01809,1e-4 23.31991,2.3065 30.90549,6.9191 7.58526,4.6129 13.78685,11.4808 18.6048,20.6037 9.84037,-10.6605 18.80962,-17.9128 26.90778,-21.7569 8.09773,-3.8438 18.09204,-5.7658 29.98294,-5.7659 17.52823,1e-4 31.21274,5.2023 41.05357,15.6065 9.84026,10.4044 14.76054,26.6772 14.76083,48.8184 l 0,102.557 -62.73354,0 0,-93.024 c -2.3e-4,-7.3803 -1.43531,-12.8644 -4.30524,-16.4522 -4.20297,-5.6377 -9.43076,-8.4566 -15.68339,-8.4567 -7.38062,10e-5 -13.32595,2.6652 -17.83601,7.9954 -4.51044,5.3304 -6.76557,13.8897 -6.76538,25.6777 l 0,84.2598 -62.73355,0 0,-89.9488 c -1.2e-4,-7.1753 -0.41015,-12.0444 -1.23007,-14.6071 -1.3327,-4.1001 -3.63907,-7.4059 -6.91914,-9.9174 -3.2803,-2.5113 -7.12426,-3.767 -11.5319,-3.7671 -7.1755,10e-5 -13.06958,2.7165 -17.68225,8.1492 -4.61284,5.4329 -6.91922,14.3509 -6.91914,26.754 l 0,83.3372 -62.73354,0 0,-163.2917 z m 316.74293,-62.1185 62.57978,0 0,42.5911 -62.57978,0 0,-42.5911 z m 0,62.1185 62.57978,0 0,163.2917 -62.57978,0 0,-163.2917 z m 95.79168,0 151.45231,0 0,36.5945 -82.41466,83.9523 87.48869,0 0,42.7449 -162.67669,0 0,-40.5923 78.10941,-79.9545 -71.95906,0 0,-42.7449 z"
+         id="path17845-6"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:314.89779663px;line-height:125%;font-family:'Arial Black';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;filter:url(#filter17760-6-7);enable-background:accumulate" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m -1336.1632,1788.2263 c 0,0 56.3913,141.5671 -147.8368,147.7737 -204.2612,6.2076 -147.8368,147.7737 -147.8368,147.7737 -37.8479,-37.8317 -61.2676,-90.0855 -61.2676,-147.7737 0,-57.6882 23.4197,-109.942 61.2676,-147.7737 37.8479,-37.8318 90.124,-61.2415 147.8368,-61.2415 57.7128,0 109.9889,23.4097 147.8368,61.2415 z"
+         id="use16735-0"
+         style="display:inline;overflow:visible;visibility:visible;fill:#d19f34;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:40;marker:none;enable-background:accumulate" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m -1631.8368,2083.7737 c 0,0 -56.3913,-141.5671 147.8368,-147.7737 204.2612,-6.2076 147.8368,-147.7737 147.8368,-147.7737 37.8479,37.8317 61.2676,90.0855 61.2676,147.7737 0,57.6882 -23.4197,109.942 -61.2676,147.7737 -37.8479,37.8318 -90.124,61.2415 -147.8368,61.2415 -57.7128,0 -109.9889,-23.4097 -147.8368,-61.2415 z"
+         id="use16737-6"
+         style="display:inline;overflow:visible;visibility:visible;fill:#469837;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:40;marker:none;enable-background:accumulate" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 1021.2642,207.94408 c 0,143.9361 -116.68326,260.61936 -260.61936,260.61936 -143.9361,0 -260.61936,-116.68326 -260.61936,-260.61936 0,-143.936098 116.68326,-260.61936 260.61936,-260.61936 143.9361,0 260.61936,116.683262 260.61936,260.61936 l 0,0 z"
+         transform="matrix(0.8023362,0,0,0.8019941,-2094.2929,1769.2301)"
+         id="path16739-2"
+         style="display:inline;overflow:visible;visibility:visible;fill:none;stroke:#4c4c4c;stroke-width:49.86504364;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m -1577.2331,1825.1726 127.038,0 c 21.1728,2e-4 37.4271,5.2435 48.7628,15.7299 11.3353,10.4868 17.0031,23.4703 17.0033,38.9503 -2e-4,12.9836 -4.045,24.1194 -12.1345,33.4074 -5.3933,6.1923 -13.2833,11.086 -23.6698,14.6813 15.7797,3.7953 27.3898,10.312 34.8306,19.5501 7.4402,9.2383 11.1605,20.8485 11.1607,34.8306 -2e-4,11.3855 -2.6468,21.6224 -7.9399,30.7108 -5.2934,9.0884 -12.5342,16.2792 -21.7223,21.5725 -5.6929,3.2958 -14.2819,5.6927 -25.7671,7.1908 -15.2807,1.9975 -25.4177,2.9962 -30.4112,2.9962 l -117.1506,0 0,-219.6199 z m 68.4627,86.1401 29.5124,0 c 10.5863,10e-5 17.9519,-1.8225 22.0968,-5.468 4.1445,-3.6452 6.2169,-8.9135 6.217,-15.8049 -1e-4,-6.3916 -2.0725,-11.3853 -6.217,-14.9809 -4.1449,-3.5952 -11.3607,-5.3929 -21.6474,-5.3931 l -29.9618,0 0,41.6469 z m 0,86.29 34.6059,0 c 11.6849,0 19.9244,-2.0723 24.7184,-6.2171 4.7938,-4.1447 7.1907,-9.7126 7.1909,-16.7037 -2e-4,-6.4916 -2.3722,-11.71 -7.116,-15.655 -4.7441,-3.9449 -13.0584,-5.9174 -24.9432,-5.9175 l -34.456,0 0,44.4933 z"
+         id="path16741-6"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:306.80871582px;line-height:125%;font-family:'Arial Black';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:40;marker:none;enable-background:accumulate" />
+      <g
+         transform="matrix(-1,0,0,-1,-1127.9999,1532)"
+         mask="url(#mask6467-7-2)"
+         id="use16745-1">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 507.8125,-566.84375 c -7.54052,0.31127 -14.32442,4.87714 -17.4375,11.84375 -3.32061,7.43106 -1.79456,16.12851 3.84375,22 71.38742,76.4228 67.29917,195.79932 -9.15625,267.15625 C 418.92868,-204.1201 321.00173,-198.52349 249.15625,-248 l 26.65625,-20.875 5.125,-4 -6.03125,-2.40625 -105.9375,-42.59375 -6,-2.4375 0.90625,6.4375 15.9375,113 0.90625,6.4375 5.125,-4 30.59375,-23.96875 c 87.55252,67.36975 213.09347,63.10079 295.9375,-14.21875 92.27769,-86.12407 97.25455,-231.41793 11.09375,-323.65625 -3.63563,-4.00109 -8.72059,-6.38195 -14.125,-6.5625 -0.50858,-0.0174 -1.02855,-0.0208 -1.53125,0 z"
+           id="use6863-8"
+           style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;filter:url(#filter6447-9-6);enable-background:accumulate" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 507.8125,-566.84375 c -7.54052,0.31127 -14.32442,4.87714 -17.4375,11.84375 -3.32061,7.43106 -1.79456,16.12851 3.84375,22 71.38742,76.4228 67.29917,195.79932 -9.15625,267.15625 C 418.92868,-204.1201 321.00173,-198.52349 249.15625,-248 l 26.65625,-20.875 5.125,-4 -6.03125,-2.40625 -105.9375,-42.59375 -6,-2.4375 0.90625,6.4375 15.9375,113 0.90625,6.4375 5.125,-4 30.59375,-23.96875 c 87.55252,67.36975 213.09347,63.10079 295.9375,-14.21875 92.27769,-86.12407 97.25455,-231.41793 11.09375,-323.65625 -3.63563,-4.00109 -8.72059,-6.38195 -14.125,-6.5625 -0.50858,-0.0174 -1.02855,-0.0208 -1.53125,0 z"
+           id="use6865-7"
+           style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:49.86504364;marker:none;enable-background:accumulate" />
+      </g>
+      <g
+         transform="translate(-1839.8676,2340.0508)"
+         mask="url(#mask6467-7-2)"
+         id="g7285-9">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 507.8125,-566.84375 c -7.54052,0.31127 -14.32442,4.87714 -17.4375,11.84375 -3.32061,7.43106 -1.79456,16.12851 3.84375,22 71.38742,76.4228 67.29917,195.79932 -9.15625,267.15625 C 418.92868,-204.1201 321.00173,-198.52349 249.15625,-248 l 26.65625,-20.875 5.125,-4 -6.03125,-2.40625 -105.9375,-42.59375 -6,-2.4375 0.90625,6.4375 15.9375,113 0.90625,6.4375 5.125,-4 30.59375,-23.96875 c 87.55252,67.36975 213.09347,63.10079 295.9375,-14.21875 92.27769,-86.12407 97.25455,-231.41793 11.09375,-323.65625 -3.63563,-4.00109 -8.72059,-6.38195 -14.125,-6.5625 -0.50858,-0.0174 -1.02855,-0.0208 -1.53125,0 z"
+           id="path7287-2"
+           style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;filter:url(#filter6447-9-6);enable-background:accumulate" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 507.8125,-566.84375 c -7.54052,0.31127 -14.32442,4.87714 -17.4375,11.84375 -3.32061,7.43106 -1.79456,16.12851 3.84375,22 71.38742,76.4228 67.29917,195.79932 -9.15625,267.15625 C 418.92868,-204.1201 321.00173,-198.52349 249.15625,-248 l 26.65625,-20.875 5.125,-4 -6.03125,-2.40625 -105.9375,-42.59375 -6,-2.4375 0.90625,6.4375 15.9375,113 0.90625,6.4375 5.125,-4 30.59375,-23.96875 c 87.55252,67.36975 213.09347,63.10079 295.9375,-14.21875 92.27769,-86.12407 97.25455,-231.41793 11.09375,-323.65625 -3.63563,-4.00109 -8.72059,-6.38195 -14.125,-6.5625 -0.50858,-0.0174 -1.02855,-0.0208 -1.53125,0 z"
+           id="path7289-0"
+           style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:49.86504364;marker:none;enable-background:accumulate" />
+      </g>
+      <path
+         inkscape:connector-curvature="0"
+         d="m -1166.8587,1976.761 -125.4671,0 c 1.1275,10.0456 3.8439,17.5285 8.1492,22.4487 6.0478,7.073 13.9407,10.6094 23.6789,10.6094 6.1502,0 11.993,-1.5376 17.5285,-4.6128 3.3825,-1.9476 7.0215,-5.3815 10.9168,-10.3018 l 61.6573,5.6891 c -9.4307,16.4009 -20.8089,28.1634 -34.1345,35.2876 -13.3259,7.1241 -32.4432,10.6862 -57.3519,10.6862 -21.6289,0 -38.6448,-3.0495 -51.0479,-9.1486 -12.4033,-6.0991 -22.6795,-15.7859 -30.8286,-29.0604 -8.1493,-13.2745 -12.2239,-28.881 -12.2239,-46.8195 0,-25.5239 8.1749,-46.1788 24.5245,-61.9648 16.3497,-15.7857 38.9265,-23.6787 67.7307,-23.6788 23.3712,1e-4 41.8223,3.5366 55.3532,10.6093 13.5306,7.0731 23.8324,17.3236 30.9055,30.7517 7.0727,13.4284 10.6091,30.9056 10.6093,52.4318 l 0,7.0729 z m -63.6561,-29.983 c -1.2302,-12.0956 -4.4847,-20.7573 -9.7637,-25.9852 -5.2791,-5.2277 -12.2239,-7.8416 -20.8343,-7.8417 -9.9431,10e-5 -17.8873,3.9466 -23.8325,11.8394 -3.7928,4.9204 -6.2017,12.2496 -7.2267,21.9875 l 61.6572,0 z m 93.3316,-67.1925 58.582,0 0,26.754 c 5.6377,-11.583 11.4549,-19.5528 17.4516,-23.9095 5.9965,-4.3563 13.4025,-6.5346 22.2182,-6.5347 9.2253,1e-4 19.3222,2.8703 30.2904,8.6104 l -19.3736,44.5901 c -7.3805,-3.0751 -13.2233,-4.6127 -17.5285,-4.6128 -8.2005,10e-5 -14.5559,3.3828 -19.066,10.1481 -6.458,9.5331 -9.6869,27.3691 -9.6868,53.508 l 0,54.7381 -62.8873,0 0,-163.2917 z m 320.2793,97.1755 -125.46709,0 c 1.12748,10.0456 3.84388,17.5285 8.14921,22.4487 6.04775,7.073 13.94069,10.6094 23.67883,10.6094 6.15024,0 11.99306,-1.5376 17.5285,-4.6128 3.38256,-1.9476 7.02151,-5.3815 10.91686,-10.3018 l 61.65724,5.6891 c -9.43072,16.4009 -20.80885,28.1634 -34.13443,35.2876 -13.3259,7.1241 -32.44322,10.6862 -57.35199,10.6862 -21.62881,0 -38.64475,-3.0495 -51.04789,-9.1486 -12.40324,-6.0991 -22.67944,-15.7859 -30.82862,-29.0604 -8.14922,-13.2745 -12.22382,-28.881 -12.22382,-46.8195 0,-25.5239 8.17483,-46.1788 24.52452,-61.9648 16.34962,-15.7857 38.9265,-23.6787 67.7307,-23.6788 23.3712,1e-4 41.82222,3.5366 55.35313,10.6093 13.53059,7.0731 23.83241,17.3236 30.9055,30.7517 7.0727,13.4284 10.60915,30.9056 10.60935,52.4318 l 0,7.0729 z m -63.6561,-29.983 c -1.23021,-12.0956 -4.48476,-20.7573 -9.76368,-25.9852 -5.27917,-5.2277 -12.22393,-7.8416 -20.8343,-7.8417 -9.94316,10e-5 -17.88735,3.9466 -23.8326,11.8394 -3.79279,4.9204 -6.20167,12.2496 -7.22666,21.9875 l 61.65724,0 z m 93.17774,-67.1925 58.4283,0 0,23.8326 c 8.40539,-9.9429 16.88773,-17.0158 25.44706,-21.2187 8.55912,-4.2026 18.88657,-6.304 30.98238,-6.3041 13.01809,1e-4 23.31991,2.3065 30.90549,6.9191 7.58526,4.6129 13.78685,11.4808 18.6048,20.6037 9.84037,-10.6605 18.80962,-17.9128 26.90778,-21.7569 8.09773,-3.8438 18.09204,-5.7658 29.98294,-5.7659 17.52823,1e-4 31.21274,5.2023 41.05357,15.6065 9.84026,10.4044 14.76054,26.6772 14.76083,48.8184 l 0,102.557 -62.73354,0 0,-93.024 c -2.3e-4,-7.3803 -1.43531,-12.8644 -4.30524,-16.4522 -4.20297,-5.6377 -9.43076,-8.4566 -15.68339,-8.4567 -7.38062,10e-5 -13.32595,2.6652 -17.83601,7.9954 -4.51044,5.3304 -6.76557,13.8897 -6.76538,25.6777 l 0,84.2598 -62.73355,0 0,-89.9488 c -1.2e-4,-7.1753 -0.41015,-12.0444 -1.23007,-14.6071 -1.3327,-4.1001 -3.63907,-7.4059 -6.91914,-9.9174 -3.2803,-2.5113 -7.12426,-3.767 -11.5319,-3.7671 -7.1755,10e-5 -13.06958,2.7165 -17.68225,8.1492 -4.61284,5.4329 -6.91922,14.3509 -6.91914,26.754 l 0,83.3372 -62.73354,0 0,-163.2917 z m 316.74293,-62.1185 62.57978,0 0,42.5911 -62.57978,0 0,-42.5911 z m 0,62.1185 62.57978,0 0,163.2917 -62.57978,0 0,-163.2917 z m 95.79168,0 151.45231,0 0,36.5945 -82.41466,83.9523 87.48869,0 0,42.7449 -162.67669,0 0,-40.5923 78.10941,-79.9545 -71.95906,0 0,-42.7449 z"
+         id="text16729-2"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:314.89779663px;line-height:125%;font-family:'Arial Black';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#dadada;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10.43299961;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+      <text
+         x="-1259.6362"
+         y="2147.7705"
+         id="text3172-3"
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:71.35877228px;font-family:'Bitstream Vera Sans';display:inline;fill:#000000;fill-opacity:1;stroke:none"><tspan
+           x="-1259.6362"
+           y="2147.7705"
+           id="tspan3174-7">Free Software for Automation </tspan></text>
+    </g>
+  </g>
 </svg>
--- a/version.py	Tue Nov 08 18:14:30 2016 +0300
+++ b/version.py	Thu Nov 17 13:48:04 2016 +0300
@@ -1,3 +1,28 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# This file is part of Beremiz, a Integrated Development Environment for
+# programming IEC 61131-3 automates supporting plcopen standard and CanFestival.
+#
+# Copyright (C) 2016: Andrey Skvortsov
+#
+# See COPYING file for copyrights details.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
 import subprocess, os
 
 def GetAppRevision():
@@ -25,6 +50,60 @@
             pass
     return rev
 
+def GetAboutDialogInfo():
+    import wx
+    info = wx.AboutDialogInfo()
+
+    info.Name = "Beremiz"
+    info.Version = app_version
+    
+    info.Copyright  = "(C) 2016 Andrey Skvortsov\n"
+    info.Copyright += "(C) 2008-2015 Eduard Tisserant\n"
+    info.Copyright += "(C) 2008-2015 Laurent Bessard"
+
+    info.WebSite = ("http://beremiz.org", "beremiz.org")
+    
+    info.Description = _("Open Source framework for automation, "
+                             "implemented IEC 61131 IDE with constantly growing set of extensions "
+                             "and flexible PLC runtime.")
+    
+    info.Developers = ("Andrey Skvortsov <andrej.skvortzov@gmail.com>",
+		       "Sergey Surkov <surkov.sv@summatechnology.ru>",
+		       "Edouard Tisserant <edouard.tisserant@gmail.com>",
+		       "Laurent Bessard <laurent.bessard@gmail.com>")
+
+
+    info.License = ('\n This program is free software; you can redistribute it and/or\n'
+    ' modify it under the terms of the GNU General Public License\n'
+    ' as published by the Free Software Foundation; either version 2\n'
+    ' of the License, or (at your option) any later version.\n'
+    '\n'
+    ' This program is distributed in the hope that it will be useful,\n'
+    ' but WITHOUT ANY WARRANTY; without even the implied warranty of\n'
+    ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n'
+    ' GNU General Public License below for more details.\n'
+    '\n'
+    '\n'
+    '\n'
+    '')
+
+    # read license file
+    path=os.path.join(os.path.dirname(os.path.abspath(__file__)))
+    license_path = os.path.join(path, u"COPYING")
+    license=''
+    if os.path.exists(license_path):
+        with open(license_path) as f:
+            info.License += f.read()
+
+    info.Icon = wx.Icon(os.path.join(path, "images", "__about_brz_logo.png"), wx.BITMAP_TYPE_PNG)            
+    # info.Icon = wx.Icon(os.path.join(path, "images", "about_brz_logo.png"), wx.BITMAP_TYPE_PNG)
+
+    info.Translators = ("Russian\t- Andrey Skvortsov <andrej.skvortzov@gmail.com>",
+	                "Korean\t- Reinhard Lee <lij3105@gmail.com>",
+	                "German\t- Mark Muzenhardt <mark.muzenhardt@gmail.com>",
+	                "French\t- Laurent Bessard <laurent.bessard@gmail.com>")
+    return info
+
 app_version =  "1.2"
 rev = GetAppRevision()
 if rev is not None: