Gnumed.timelinelib.plugin.plugins.exporters.exporttosvg

Package Gnumed :: Package timelinelib :: Package plugin :: Package plugins :: Package exporters :: Module exporttosvg |
[frames] | no frames]

# Source Code for Module Gnumed.timelinelib.plugin.plugins.exporters.exporttosvg

     1  # Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018  Rickard Lindberg, Roger Lindberg
     2  #
     3  # This file is part of Timeline.
     4  #
     5  # Timeline is free software: you can redistribute it and/or modify
     6  # it under the terms of the GNU General Public License as published by
     7  # the Free Software Foundation, either version 3 of the License, or
     8  # (at your option) any later version.
     9  #
    10  # Timeline is distributed in the hope that it will be useful,
    11  # but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13  # GNU General Public License for more details.
    14  #
    15  # You should have received a copy of the GNU General Public License
    16  # along with Timeline.  If not, see <http://www.gnu.org/licenses/>.
    17
    18
    19  import os
    20
    21  import wx
    22
    23  from timelinelib.plugin.factory import EXPORTER
    24  from timelinelib.plugin.pluginbase import PluginBase
    25  from timelinelib.wxgui.utils import _ask_question
    26  from timelinelib.wxgui.utils import display_error_message
    27  from timelinelib.wxgui.utils import WildcardHelper
    28
    29
    30 -class SvgExporter(PluginBase):
    31
    32 -    def service(self):
    33          return EXPORTER
    34
    35 -    def display_name(self):
    36          return _("Export to SVG...")
    37
    38 -    def wxid(self):
    39          from timelinelib.wxgui.frames.mainframe.guicreator import ID_EXPORT_SVG
    40          return ID_EXPORT_SVG
    41
    42 -    def run(self, main_frame):
    43          if not has_pysvg_module():
    44              display_error_message(_("Could not find pysvg Python package. It is needed to export to SVG."), self)
    45              return
    46          helper = WildcardHelper(_("SVG files"), ["svg"])
    47          wildcard = helper.wildcard_string()
    48          dialog = wx.FileDialog(main_frame, message=_("Export to SVG"), wildcard=wildcard, style=wx.FD_SAVE)
    49          if dialog.ShowModal() == wx.ID_OK:
    50              path = helper.get_path(dialog)
    51              overwrite_question = _("File '%s' exists. Overwrite?") % path
    52              if (not os.path.exists(path) or _ask_question(overwrite_question, main_frame) == wx.YES):
    53                  main_frame.main_panel.timeline_panel.timeline_canvas.SaveAsSvg(path)
    54          dialog.Destroy()
    55
    56
    57 -def has_pysvg_module():
    58      try:
    59          import pysvg
    60          return True
    61      except ImportError:
    62          return False
    63