Example #1
0
    def __init__(self, app, doc_file='', silent=False, template=False):
        self.app = app

        self.eventloop = EventLoop(self)
        self.selection = Selection(self)

        loader = None
        if doc_file:
            loader = get_loader(doc_file)
            if not loader:
                raise IOError(_('Loader is not found for <%s>') % doc_file)

        if loader and silent:
            self.doc_presenter = loader(app.appdata, doc_file)
        elif doc_file and not silent:
            pd = ProgressDialog(_('Opening file...'), self.app.mw)
            try:
                self.doc_presenter = pd.run(loader, [app.appdata, doc_file])
                if not self.doc_presenter:
                    LOG.error('Cannot load <%s>', doc_file)
                    raise IOError(_('Cannot load <%s>') % doc_file)
            except Exception:
                raise
            finally:
                pd.destroy()

            if not template:
                self.doc_file = self.doc_presenter.doc_file
                self.doc_name = os.path.basename(self.doc_file)
                ext = uc2const.FORMAT_EXTENSION[uc2const.SK2][0]
                self.doc_name = change_file_extension(self.doc_name, ext)
            else:
                self.doc_name = self.app.get_new_docname()
                self.doc_presenter.doc_file = ''
        else:
            self.doc_presenter = SK2_Presenter(app.appdata)
            self.doc_name = self.app.get_new_docname()

        self.methods = self.doc_presenter.methods
        self.model = self.doc_presenter.model
        self.set_active_page()

        self.cms = self.doc_presenter.cms
        # self.app.default_cms.registry_cm(self.cms)

        self.api = PresenterAPI(self)
        self.corner = RulerCorner(self)
        self.hruler = Ruler(self, vertical=False)
        self.vruler = Ruler(self)
        self.canvas = AppCanvas(self)
        self.canvas.set_mode()
        self.eventloop.connect(self.eventloop.DOC_MODIFIED, self.modified)
        self.snap = SnapManager(self)
Example #2
0
    def __init__(self, presenter, parent):
        self.presenter = presenter
        VPanel.__init__(self, parent)
        self.SetBackgroundColour(wx.Colour(255, 255, 255))

        #----- First row
        row_hbox = wx.BoxSizer(HORIZONTAL)
        self.corner = RulerCorner(presenter, self)
        row_hbox.Add(self.corner)
        self.hruler = Ruler(presenter, self, HORIZONTAL)
        row_hbox.Add(self.hruler, 1, EXPAND)
        self.box.Add(row_hbox, 0, EXPAND)

        #----- Second row
        row_hbox = wx.BoxSizer(HORIZONTAL)
        self.vruler = Ruler(presenter, self, VERTICAL)
        row_hbox.Add(self.vruler, 0, EXPAND)

        vbox = wx.BoxSizer(VERTICAL)
        hbox = wx.BoxSizer(HORIZONTAL)
        vbox.Add(hbox, 1, EXPAND)
        self.canvas = AppCanvas(presenter, self)
        hbox.Add(self.canvas, 1, EXPAND)
        self.vscroll = wx.ScrollBar(self, wx.ID_ANY, style=wx.SB_VERTICAL)
        hbox.Add(self.vscroll, 0, EXPAND)

        #----- Bottom row
        bottom_hbox = wx.BoxSizer(HORIZONTAL)
        bottom_vbox = wx.BoxSizer(VERTICAL)
        self.hscroll = wx.ScrollBar(self, wx.ID_ANY, style=wx.SB_HORIZONTAL)
        bottom_hbox.Add(self.hscroll, 1, EXPAND)
        self.bottom_corner = VPanel(self)

        size = self.vscroll.GetSize()[0]
        self.viewer = DocViewer(presenter, self, (size, size))
        self.bottom_corner.add(self.viewer)
        bottom_hbox.Add(self.bottom_corner)

        vbox.Add(bottom_hbox, 0, EXPAND)
        row_hbox.Add(vbox, 1, EXPAND)
        self.box.Add(row_hbox, 1, EXPAND)

        self.canvas._set_scrolls(self.hscroll, self.vscroll)