Example #1
0
    def __init__(self, app, doc_file=''):
        UCDocPresenter.__init__(self, config, app.appdata)
        self.app = app
        self.eventloop = EventLoop(self)
        self.selection = Selection(self)

        if doc_file:
            self.load(doc_file)
            self.doc_name = os.path.basename(self.doc_file)
        else:
            self.new()
            self.doc_name = self.app.get_new_docname()

        self.cms = self.app.default_cms

        self.api = PresenterAPI(self)
        self.docarea = DocArea(self.app, self)
        self.canvas = self.docarea.canvas
        self.api.view = self.canvas
        self.app.mw.add_tab(self.docarea)
        self.eventloop.connect(self.eventloop.DOC_MODIFIED, self.modified)
        self.traced_objects = [
            self.eventloop, self.api, self.docarea.hruler, self.docarea.vruler,
            self.docarea.corner, self.docarea, self.canvas.renderer,
            self.canvas, self.selection, self
        ]
Example #2
0
	def __init__(self, app, doc_file=''):
		UCDocPresenter.__init__(self, config, app.appdata)
		self.app = app
		self.eventloop = EventLoop(self)
		self.selection = Selection(self)


		if doc_file:
			self.load(doc_file)
			self.doc_name = os.path.basename(self.doc_file)
		else:
			self.new()
			self.doc_name = self.app.get_new_docname()

		self.cms = self.app.default_cms

		self.api = PresenterAPI(self)
		self.docarea = DocArea(self.app, self)
		self.canvas = self.docarea.canvas
		self.api.view = self.canvas
		self.app.mw.add_tab(self.docarea)
		self.eventloop.connect(self.eventloop.DOC_MODIFIED, self.modified)
		self.traced_objects = [
							self.eventloop,
							self.api,
							self.docarea.hruler,
							self.docarea.vruler,
							self.docarea.corner,
							self.docarea,
							self.canvas.renderer,
							self.canvas,
							self.selection,
							self
							]
Example #3
0
class DocPresenter(UCDocPresenter):

	saved = True

	eventloop = None
	docarea = None
	canvas = None
	selection = None
	traced_objects = None

	def __init__(self, app, doc_file=''):
		UCDocPresenter.__init__(self, config, app.appdata)
		self.app = app
		self.eventloop = EventLoop(self)
		self.selection = Selection(self)


		if doc_file:
			self.load(doc_file)
			self.doc_name = os.path.basename(self.doc_file)
		else:
			self.new()
			self.doc_name = self.app.get_new_docname()

		self.cms = self.app.default_cms

		self.api = PresenterAPI(self)
		self.docarea = DocArea(self.app, self)
		self.canvas = self.docarea.canvas
		self.api.view = self.canvas
		self.app.mw.add_tab(self.docarea)
		self.eventloop.connect(self.eventloop.DOC_MODIFIED, self.modified)
		self.traced_objects = [
							self.eventloop,
							self.api,
							self.docarea.hruler,
							self.docarea.vruler,
							self.docarea.corner,
							self.docarea,
							self.canvas.renderer,
							self.canvas,
							self.selection,
							self
							]

	def close(self):
		if not self.docarea is None:
			self.app.mw.remove_tab(self.docarea)
		UCDocPresenter.close(self)
		for obj in self.traced_objects:
			fields = obj.__dict__
			items = fields.keys()
			for item in items:
				fields[item] = None

	def modified(self, *args):
		self.saved = False
		self.set_title()
		events.emit(events.DOC_MODIFIED, self)

	def reflect_saving(self):
		self.saved = True
		self.set_title()
		self.api.save_mark()
		events.emit(events.DOC_SAVED, self)

	def set_title(self):
		if self.saved:
			title = self.doc_name
		else:
			title = self.doc_name + '*'
		self.app.mw.set_tab_title(self.docarea, title)

	def set_doc_file(self, doc_file, doc_name=''):
		self.doc_file = doc_file
		if doc_name:
			self.doc_name = doc_name
		else:
			self.doc_name = os.path.basename(self.doc_file)
		self.set_title()

	def save(self):
		try:
			if config.make_backup:
				if os.path.lexists(self.doc_file):
					if os.path.lexists(self.doc_file + '~'):
						os.remove(self.doc_file + '~')
					os.rename(self.doc_file, self.doc_file + '~')
			UCDocPresenter.save(self, self.doc_file)
		except IOError:
			errtype, value, traceback = sys.exc_info()
			raise IOError(errtype, value, traceback)
		self.reflect_saving()
Example #4
0
class DocPresenter(UCDocPresenter):

    saved = True

    eventloop = None
    docarea = None
    canvas = None
    selection = None
    traced_objects = None

    def __init__(self, app, doc_file=''):
        UCDocPresenter.__init__(self, config, app.appdata)
        self.app = app
        self.eventloop = EventLoop(self)
        self.selection = Selection(self)

        if doc_file:
            self.load(doc_file)
            self.doc_name = os.path.basename(self.doc_file)
        else:
            self.new()
            self.doc_name = self.app.get_new_docname()

        self.cms = self.app.default_cms

        self.api = PresenterAPI(self)
        self.docarea = DocArea(self.app, self)
        self.canvas = self.docarea.canvas
        self.api.view = self.canvas
        self.app.mw.add_tab(self.docarea)
        self.eventloop.connect(self.eventloop.DOC_MODIFIED, self.modified)
        self.traced_objects = [
            self.eventloop, self.api, self.docarea.hruler, self.docarea.vruler,
            self.docarea.corner, self.docarea, self.canvas.renderer,
            self.canvas, self.selection, self
        ]

    def close(self):
        if not self.docarea is None:
            self.app.mw.remove_tab(self.docarea)
        UCDocPresenter.close(self)
        for obj in self.traced_objects:
            fields = obj.__dict__
            items = fields.keys()
            for item in items:
                fields[item] = None

    def modified(self, *args):
        self.saved = False
        self.set_title()
        events.emit(events.DOC_MODIFIED, self)

    def reflect_saving(self):
        self.saved = True
        self.set_title()
        self.api.save_mark()
        events.emit(events.DOC_SAVED, self)

    def set_title(self):
        if self.saved:
            title = self.doc_name
        else:
            title = self.doc_name + '*'
        self.app.mw.set_tab_title(self.docarea, title)

    def set_doc_file(self, doc_file, doc_name=''):
        self.doc_file = doc_file
        if doc_name:
            self.doc_name = doc_name
        else:
            self.doc_name = os.path.basename(self.doc_file)
        self.set_title()

    def save(self):
        try:
            if config.make_backup:
                if os.path.lexists(self.doc_file):
                    if os.path.lexists(self.doc_file + '~'):
                        os.remove(self.doc_file + '~')
                    os.rename(self.doc_file, self.doc_file + '~')
            UCDocPresenter.save(self, self.doc_file)
        except IOError:
            errtype, value, traceback = sys.exc_info()
            raise IOError(errtype, value, traceback)
        self.reflect_saving()