diff options
author | Cristhofer Travieso <cristhofert97@gmail.com> | 2012-08-25 19:20:35 (GMT) |
---|---|---|
committer | Cristhofer Travieso <cristhofert97@gmail.com> | 2012-08-25 19:20:35 (GMT) |
commit | 8459b04437baf8c308f16acf03efdf8fe0406c44 (patch) | |
tree | 24897f068ac3e9bae062e636fd0650b945a4167e | |
parent | 15c4a3f753626549b86a17f8f6b8d830fe9ca63b (diff) |
Add toolbutton new game and a file dialogs.py
-rw-r--r-- | activity.py | 10 | ||||
-rw-r--r-- | dialogs.py | 147 | ||||
-rw-r--r-- | icons/icon.svg | 218 | ||||
-rw-r--r-- | icons/new-game.svg | 140 |
4 files changed, 515 insertions, 0 deletions
diff --git a/activity.py b/activity.py index c942fbf..57da09b 100644 --- a/activity.py +++ b/activity.py @@ -39,6 +39,16 @@ class Activity(activity.Activity): toolbarbox.toolbar.insert(separator, -1) #toolbutton + self._new_game_btn = ToolButton() + self._new_game_btn.set_tooltip('New Game') + self._new_game_btn.props.icon_name = 'new-game' + toolbarbox.toolbar.insert(self._new_game_btn, -1) + + separator = gtk.SeparatorToolItem() + separator.set_expand(False) + separator.set_draw(True) + toolbarbox.toolbar.insert(separator, -1) + self._cross_btn = RadioToolButton() self._cross_btn.set_tooltip('Cross') self._cross_btn.props.icon_name = 'cross' diff --git a/dialogs.py b/dialogs.py new file mode 100644 index 0000000..f788f18 --- /dev/null +++ b/dialogs.py @@ -0,0 +1,147 @@ +# -*- coding: utf-8 -*- + +# From Ingenium Machina by Gonzalo Odiard and Manuel QuiƱones + +# 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 St, Fifth Floor, Boston, MA 02110-1301 USA + +from gettext import gettext as _ + +import gobject +import gtk + +from sugar.graphics import style +from sugar.graphics.toolbutton import ToolButton +from sugar.graphics.icon import Icon + + +class _DialogWindow(gtk.Window): + + # A base class for a modal dialog window. + + def __init__(self, icon_name, title): + super(_DialogWindow, self).__init__() + + self.set_border_width(style.LINE_WIDTH) + width = gtk.gdk.screen_width() - style.GRID_CELL_SIZE * 2 + height = gtk.gdk.screen_height() - style.GRID_CELL_SIZE * 2 + self.set_size_request(width, height) + self.set_position(gtk.WIN_POS_CENTER_ALWAYS) + self.set_decorated(False) + self.set_resizable(False) + self.set_modal(True) + + vbox = gtk.VBox() + self.add(vbox) + + toolbar = _DialogToolbar(icon_name, title) + toolbar.connect('stop-clicked', self._stop_clicked_cb) + vbox.pack_start(toolbar, False) + + self.content_vbox = gtk.VBox() + self.content_vbox.set_border_width(style.DEFAULT_SPACING) + vbox.add(self.content_vbox) + + self.connect('realize', self._realize_cb) + + def _stop_clicked_cb(self, source): + self.destroy() + + def _realize_cb(self, source): + self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG) + self.window.set_accept_focus(True) + + +class _DialogToolbar(gtk.Toolbar): + + # Displays a dialog window's toolbar, with title, icon, and close box. + + __gsignals__ = { + 'stop-clicked': (gobject.SIGNAL_RUN_LAST, None, ()), + } + + def __init__(self, icon_name, title): + super(_DialogToolbar, self).__init__() + + if icon_name is not None: + sep = gtk.SeparatorToolItem() + sep.set_draw(False) + self._add_widget(sep) + icon = Icon() + icon.set_from_icon_name(icon_name, gtk.ICON_SIZE_LARGE_TOOLBAR) + self._add_widget(icon) + + self._add_separator() + + label = gtk.Label(title) + self._add_widget(label) + + self._add_separator(expand=True) + + stop = ToolButton(icon_name='dialog-cancel') + stop.set_tooltip(_('Done')) + stop.connect('clicked', self._stop_clicked_cb) + self.add(stop) + + def _add_separator(self, expand=False): + separator = gtk.SeparatorToolItem() + separator.set_expand(expand) + separator.set_draw(False) + self.add(separator) + + def _add_widget(self, widget): + tool_item = gtk.ToolItem() + tool_item.add(widget) + self.add(tool_item) + + def _stop_clicked_cb(self, button): + self.emit('stop-clicked') + + +class ScoreDialog(_DialogWindow): + + __gtype_name__ = 'ScoreDialog' + + def __init__(self, scores): + + super(ScoreDialog, self).__init__("score", _('Score')) + + scrollwin = gtk.ScrolledWindow() + scrollwin.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) + self.content_vbox.pack_start(scrollwin) + + liststore = gtk.ListStore(str, str) + treeview = gtk.TreeView(liststore) + + date_cell = gtk.CellRendererText() + date_column = gtk.TreeViewColumn(_("Date and Time")) + date_column.pack_start(date_cell) + date_column.set_attributes(date_cell, text=1) + treeview.append_column(date_column) + + time_cell = gtk.CellRendererText() + time_column = gtk.TreeViewColumn(_("Score")) + + time_column.pack_start(time_cell) + time_column.set_attributes(time_cell, text=0) + + treeview.append_column(time_column) + + scores.sort() + + for i in scores: + score, date = i.split(",") + liststore.append([score, date]) + + scrollwin.add_with_viewport(treeview) diff --git a/icons/icon.svg b/icons/icon.svg new file mode 100644 index 0000000..10cdaa1 --- /dev/null +++ b/icons/icon.svg @@ -0,0 +1,218 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + height="55" + id="svg2" + inkscape:version="0.48.2 r9819" + sodipodi:docname="icon.svg" + style="" + version="1.1" + width="55"> + <defs + id="defs4" + style=""> + <inkscape:perspective + id="perspective10" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + inkscape:vp_x="0 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="744.09448 : 526.18109 : 1" + sodipodi:type="inkscape:persp3d" + style="" /> + <inkscape:perspective + id="perspective3636" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" + style="" /> + <inkscape:perspective + id="perspective3658" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" + style="" /> + <inkscape:perspective + id="perspective3658-9" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" + style="" /> + <inkscape:perspective + id="perspective3697" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" + style="" /> + <inkscape:perspective + id="perspective3725" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" + style="" /> + <inkscape:perspective + id="perspective3749" + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" + inkscape:vp_x="0 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="1 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" + style="" /> + </defs> + <sodipodi:namedview + bordercolor="#666666" + borderopacity="1.0" + id="base" + inkscape:current-layer="layer1" + inkscape:cx="38.14093" + inkscape:cy="26.577885" + inkscape:document-units="px" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:window-height="804" + inkscape:window-maximized="1" + inkscape:window-width="1200" + inkscape:window-x="0" + inkscape:window-y="30" + inkscape:zoom="10" + pagecolor="#ffffff" + showgrid="false" + style="" /> + <metadata + id="metadata7" + style=""> + <rdf:RDF + style=""> + <cc:Work + rdf:about="" + style=""> + <dc:format + style="">image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" + style="" /> + <dc:title + style="" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:groupmode="layer" + inkscape:label="Capa 1" + style="" + transform="translate(0,-997.36218)"> + <path + d="m 18.860727,1000.3897 0,48.9451" + id="path2993" + inkscape:connector-curvature="0" + style="fill:none;stroke:#ffffff;stroke-width:1.05478823000000022px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + d="m 37.174524,1000.3703 0,48.984" + id="path2993-8" + inkscape:connector-curvature="0" + style="fill:none;stroke:#ffffff;stroke-width:1.01571417000000008px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + id="g3034" + style="fill:none;stroke:#ffffff;stroke-opacity:1" + transform="matrix(0,-1,1,0,-997.56221,1081.2543)"> + <path + d="m 47.75287,1001.0896 0,48.9451" + id="path2993-83" + inkscape:connector-curvature="0" + style="fill:none;stroke:#ffffff;stroke-width:1.05478823000000022px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + d="m 66.066667,1001.0702 0,48.984" + id="path2993-8-4" + inkscape:connector-curvature="0" + style="fill:none;stroke:#ffffff;stroke-width:1.01571417000000008px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + </g> + <g + id="g3060" + style="stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + transform="translate(0,17.3)"> + <path + d="m 5.2,1019.2622 10.7,10.7" + id="path3038" + inkscape:connector-curvature="0" + style="fill:none;stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <g + id="g3056" + style="stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <g + id="g3053" + style="stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <path + d="M 16.2,21.7 5.05,32.85" + id="path3040" + inkscape:connector-curvature="0" + style="fill:none;stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + transform="translate(0,997.36218)" /> + </g> + </g> + </g> + <path + d="m 34.400001,27.450001 c 0,3.396551 -2.775835,6.15 -6.2,6.15 -3.424166,0 -6.2,-2.753449 -6.2,-6.15 0,-3.396552 2.775834,-6.15 6.2,-6.15 3.424165,0 6.2,2.753448 6.2,6.15 z" + id="path3864" + sodipodi:cx="28.200001" + sodipodi:cy="27.450001" + sodipodi:rx="6.1999998" + sodipodi:ry="6.1500001" + sodipodi:type="arc" + style="fill:none;stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + transform="translate(0,996.86218)" /> + <g + id="g3060-9-4" + style="stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + transform="translate(35.675,17.625)"> + <g + id="g3056-9-6" + style="stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <g + id="g3053-8-0" + style="stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + </g> + </g> + <g + id="g3060-9-9" + style="stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + transform="translate(35.175,-17.075)"> + <path + d="m 5.2,1019.2622 10.7,10.7" + id="path3038-6-4" + inkscape:connector-curvature="0" + style="fill:none;stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <g + id="g3056-9-3" + style="stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <g + id="g3053-8-07" + style="stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <path + d="M 16.2,21.7 5.05,32.85" + id="path3040-8-71" + inkscape:connector-curvature="0" + style="fill:none;stroke:#000000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + transform="translate(0,997.36218)" /> + </g> + </g> + </g> + </g> +</svg> diff --git a/icons/new-game.svg b/icons/new-game.svg new file mode 100644 index 0000000..666f310 --- /dev/null +++ b/icons/new-game.svg @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + width="55" + height="55" + id="svg2" + inkscape:version="0.48.2 r9819" + sodipodi:docname="new-game.svg"> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1200" + inkscape:window-height="804" + id="namedview21" + showgrid="false" + inkscape:zoom="4.2909091" + inkscape:cx="71.978408" + inkscape:cy="35.928207" + inkscape:window-x="0" + inkscape:window-y="30" + inkscape:window-maximized="1" + inkscape:current-layer="svg2" /> + <metadata + id="metadata9"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs10" /> + <path + d="m 19.29299,1.82378 0,48.9451" + id="path2993" + inkscape:connector-curvature="0" + style="fill:none;stroke:#ffffff;stroke-width:1.05478823000000022px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + d="m 37.606787,1.80438 0,48.984" + id="path2993-8" + inkscape:connector-curvature="0" + style="fill:none;stroke:#ffffff;stroke-width:1.01571417000000008px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + id="g3034" + style="fill:none;stroke:#ffffff;stroke-opacity:1" + transform="matrix(0,-1,1,0,-997.12995,82.68838)"> + <path + d="m 47.75287,1001.0896 0,48.9451" + id="path2993-83" + inkscape:connector-curvature="0" + style="fill:none;stroke:#ffffff;stroke-width:1.05478823000000022px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + d="m 66.066667,1001.0702 0,48.984" + id="path2993-8-4" + inkscape:connector-curvature="0" + style="fill:none;stroke:#ffffff;stroke-width:1.01571417000000008px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + </g> + <g + id="g3060" + style="stroke:#ffffff;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + transform="translate(0.43226345,-981.26592)"> + <path + d="m 5.2,1019.2622 10.7,10.7" + id="path3038" + inkscape:connector-curvature="0" + style="fill:none;stroke:#ffffff;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <g + id="g3056" + style="stroke:#ffffff;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <g + id="g3053" + style="stroke:#ffffff;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <path + d="M 16.2,21.7 5.05,32.85" + id="path3040" + inkscape:connector-curvature="0" + style="fill:none;stroke:#ffffff;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + transform="translate(0,997.36218)" /> + </g> + </g> + </g> + <path + d="m 34.400001,27.450001 a 6.1999998,6.1500001 0 1 1 -12.4,0 6.1999998,6.1500001 0 1 1 12.4,0 z" + id="path3864" + sodipodi:cx="28.200001" + sodipodi:cy="27.450001" + sodipodi:rx="6.1999998" + sodipodi:ry="6.1500001" + sodipodi:type="arc" + style="fill:none;stroke:#ffffff;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + transform="translate(0.43226345,-1.70374)" /> + <g + id="g3060-9-9" + style="stroke:#ffffff;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + transform="translate(35.607263,-1015.6409)"> + <path + d="m 5.2,1019.2622 10.7,10.7" + id="path3038-6-4" + inkscape:connector-curvature="0" + style="fill:none;stroke:#ffffff;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <g + id="g3056-9-3" + style="stroke:#ffffff;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <g + id="g3053-8-07" + style="stroke:#ffffff;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <path + d="M 16.2,21.7 5.05,32.85" + id="path3040-8-71" + inkscape:connector-curvature="0" + style="fill:none;stroke:#ffffff;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + transform="translate(0,997.36218)" /> + </g> + </g> + </g> + <path + d="m 42.295609,30.57271 c -1.10877,0 -2.018763,0.909992 -2.018763,2.018761 l 0,4.629689 -3.283849,-3.283849 c -0.784855,-0.783184 -2.043082,-0.78485 -2.826264,0 -0.783183,0.784854 -0.784823,2.069998 0,2.85318 l 3.310766,3.28385 -4.683521,0 c -1.10877,0 -2.018762,0.909991 -2.018762,2.018762 0,1.108769 0.909992,1.991843 2.018762,1.991843 l 4.656605,0 -3.28385,3.283849 c -0.783181,0.784854 -0.784823,2.069999 0,2.85318 0.784855,0.783182 2.07,0.757938 2.85318,-0.02692 l 3.256933,-3.283849 0,4.683524 c 0,1.10877 0.909993,1.991844 2.018763,1.991844 1.108769,0 1.991843,-0.883074 1.991843,-1.991844 l 0,-4.71044 3.337683,3.310765 c 0.784853,0.783182 2.043082,0.784855 2.826262,0 0.783182,-0.784853 0.784858,-2.043082 0,-2.826262 l -3.310765,-3.28385 4.656607,0 c 1.10877,0 1.991844,-0.883074 1.991844,-1.991843 0,-1.108771 -0.883074,-2.018763 -1.991844,-2.018763 l -4.683523,0 3.310765,-3.337683 c 0.783182,-0.784854 0.784857,-2.016165 0,-2.799347 -0.784854,-0.78318 -2.043082,-0.811775 -2.826263,-0.02691 l -3.310766,3.337682 0,-4.656604 c 0,-1.10877 -0.883074,-2.018763 -1.991843,-2.018763 z" + id="rect3894" + style="fill:#ffffff;fill-opacity:1;stroke:#282828;stroke-width:1.72267997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + inkscape:connector-curvature="0" /> +</svg> |