Beispiel #1
0
    elif host.startswith("parent"):
        frame.go_to_parent(int(host[6:]))

    else:
        key = TK(frame.book.mod.getKey(), frame.book.mod)
        path = to_unicode(url.getPath(), frame.reference.module)
        ref = u"/%s" % host
        if path:
            ref += "/%s" % path
        key.text = ref

        frame.go_to_key(key)


protocol_handler.register_handler("genbook", on_genbook_click)
protocol_handler.register_hover("genbook", noop)


class GenBookFrame(BookFrame):
    id = N_("Other Books")
    use_quickselector = False

    def __init__(self, parent, book):
        self.genbookpanel = wx.Panel(parent)
        self.do_not_reload_page = False
        super(GenBookFrame, self).__init__(self.genbookpanel)
        self.SetBook(book)

        sizer = wx.BoxSizer(wx.VERTICAL)
        self.add_navigation_controls(sizer)
        sizer.Add(self, 3, flag=wx.GROW)
Beispiel #2
0
	passage_entry = find_passage_entry(url)

	# hide all tooltips - particularly the user comments one
	guiconfig.mainfrm.hide_tooltips()

	# now we do a calllater rather than callafter - launching modal dialogs
	# from here needs a bit of care, otherwise we can end up in a nasty state
	wx.CallLater(150, edit_comment, frame, passage_entry)

def on_usercomment_hover(frame, href, url, element, x, y):
	passage_entry = find_passage_entry(url)
	tooltip_config = UserCommentTooltipConfig(passage_entry)
	frame.show_tooltip(tooltip_config)

protocol_handler.register_handler("usercomment", on_usercomment_opened)
protocol_handler.register_hover("usercomment", on_usercomment_hover)

def find_passage_entry(url):
	comment_id = int(url.getHostName())
	return lookup_passage_entry(comment_id)

class UserCommentTooltipConfig(TooltipConfig):
	def __init__(self, passage_entry):
		super(UserCommentTooltipConfig, self).__init__(book=biblemgr.bible)
		self.passage_entry = passage_entry

	def add_to_toolbar(self, toolbar, permanent):
		toolbar.gui_edit = toolbar.AddLabelTool(
			wx.ID_ANY, 
			_("Edit"),
			guiutil.bmp("page_edit.png"),
Beispiel #3
0
                comment = u"<p>%s<p>" % comment
        else:
            passage_text = ""

        current_anchor = u""
        if passage_entry is self.selected_passage_entry:
            comment = u'<span style="color: #008000">%s</span>' % comment
            passage_text = u'<span style="color: #008000">%s</span>' % passage_text
            current_anchor = u'<a name="current" />'
        return (
            u'<div class="topic_passage">%(current_anchor)s<b><a href=\"bible:%(reference)s\">%(localised_reference)s</a></b> '
            u'%(passage_text)s%(comment)s</div>' % locals())


protocol_handler.register_handler("passagetag", on_passage_tag_clicked)
protocol_handler.register_hover("passagetag", on_passage_tag_hover)


class PassageTagLook(wx.PyWindow):
    def __init__(self, parent, tag_text, look=0, colour=0, *args, **kwargs):
        self.tag_text = tag_text
        super(PassageTagLook, self).__init__(parent, *args, **kwargs)
        self.set_scheme(look, colour)
        self.Bind(wx.EVT_PAINT, self.on_paint)
        self.SetCursor(wx.StockCursor(wx.CURSOR_HAND))

    def set_scheme(self, look, colour):
        self.look, self.colour = look, colour
        self.look_scheme, self.white_text, self.border = looks[look]
        self.colour_id, white_text, default_look = colours[colour]
        self.white_text = self.white_text and white_text
Beispiel #4
0
            vk.verseCount(ord(vk.Testament()), ord(vk.Book()), vk.Chapter())),
                                                               userOutput=True)
                               )

        html += u"<ul>"
        for vk, text in chapter_headings.get_chapter_headings(self.ref):
            html += u'<li><a href="nbible:%s">%s</a>' % (vk, text)
        html += u"</ul>"

        return html

    def get_title(self):
        return self.ref


protocol_handler.register_hover("headings", on_headings_hover)
protocol_handler.register_handler("headings",
                                  DisplayFrame.on_link_clicked_bible)


def get_line_colour():
    return wx.SystemSettings.GetColour(wx.SYS_COLOUR_3DSHADOW)


class ChapterItem(wx.Panel):
    """
	A chapter item in the header bar. 
	Handles mouse over and drawing itself
	"""

    # how much border around the text do we want?
Beispiel #5
0
					ord(vk.Book()), 
					vk.Chapter())
				), userOutput=True))
	
		html += u"<ul>"
		for vk, text in chapter_headings.get_chapter_headings(self.ref):
			html += u'<li><a href="nbible:%s">%s</a>' % (vk, text)
		html += u"</ul>"

		return html

	def get_title(self):
		return self.ref
	

protocol_handler.register_hover("headings", on_headings_hover)
protocol_handler.register_handler("headings", DisplayFrame.on_link_clicked_bible)

def get_line_colour():
	return wx.SystemSettings.GetColour(wx.SYS_COLOUR_3DSHADOW)

	
class ChapterItem(wx.Panel):
	"""
	A chapter item in the header bar. 
	Handles mouse over and drawing itself
	"""

	# how much border around the text do we want?
	border = 3
Beispiel #6
0
				biblemgr.bible.GetReference(reference, exclude_topic_tag=self.topic))
			if comment:
				comment = u"<p>%s<p>" % comment
		else:
			passage_text = ""

		current_anchor = u""
		if passage_entry is self.selected_passage_entry:
			comment = u'<span style="color: #008000">%s</span>' % comment
			passage_text = u'<span style="color: #008000">%s</span>' % passage_text
			current_anchor = u'<a name="current" />'
		return (u'<div class="topic_passage">%(current_anchor)s<b><a href=\"bible:%(reference)s\">%(localised_reference)s</a></b> '
			u'%(passage_text)s%(comment)s</div>' % locals())

protocol_handler.register_handler("passagetag", on_passage_tag_clicked)
protocol_handler.register_hover("passagetag", on_passage_tag_hover)

class PassageTagLook(wx.PyWindow):
	def __init__(self, parent, tag_text, look=0, colour=0, *args, **kwargs):
		self.tag_text = tag_text
		super(PassageTagLook, self).__init__(parent, *args, **kwargs)
		self.set_scheme(look, colour)
		self.Bind(wx.EVT_PAINT, self.on_paint)
		self.SetCursor(wx.StockCursor(wx.CURSOR_HAND))

	def set_scheme(self, look, colour):
		self.look, self.colour = look, colour
		self.look_scheme, self.white_text, self.border = looks[look]
		self.colour_id, white_text, default_look = colours[colour]
		self.white_text = self.white_text and white_text
		use_colours(self.colour_id, self.look_scheme)
Beispiel #7
0
                                   biblemgr.bible.GetModuleList,
                                   is_initial_lazy=True,
                                   item_type="pickle")

verse_comparison_settings.add_item("parallel", False, item_type=bool)

verse_comparison_settings.add_item("reference", "", item_type=str)


def on_bible_version(frame, href, url):
    module_name = SW.URL.decode(url.getPath()).c_str()
    biblemgr.bible.SetModule(module_name)


protocol_handler.register_handler(BIBLE_VERSION_PROTOCOL, on_bible_version)
protocol_handler.register_hover(BIBLE_VERSION_PROTOCOL, noop)


class VerseCompareFrame(LinkedFrame):
    id = N_("Version Comparison")
    has_menu = False
    shows_info = False

    def __init__(self, parent, book):
        self.mod = None
        super(VerseCompareFrame, self).__init__(parent)
        self.SetBook(book)

    def SetReference(self, ref, reload=False, settings_changed=False):
        if not ref:
            return
Beispiel #8
0
	else:
		key = TK(frame.book.mod.getKey(), frame.book.mod)
		path = to_unicode(
			url.getPath(),
			frame.reference.module
		)
		ref = u"/%s" % host
		if path:
			ref += "/%s" % path
		key.text = ref
		
		frame.go_to_key(key)


protocol_handler.register_handler("genbook", on_genbook_click)
protocol_handler.register_hover("genbook", noop)	 

class GenBookFrame(BookFrame):
	id=N_("Other Books")
	use_quickselector = False
	def __init__(self, parent, book):
		self.genbookpanel = wx.Panel(parent)
		self.do_not_reload_page = False
		super(GenBookFrame, self).__init__(self.genbookpanel)
		self.SetBook(book)

		sizer = wx.BoxSizer(wx.VERTICAL)
		self.add_navigation_controls(sizer)
		sizer.Add(self, 3, flag = wx.GROW)
		self.genbookpanel.SetSizer(sizer)
		self.genbookpanel.Fit()
Beispiel #9
0
	False,
	item_type=bool
)

verse_comparison_settings.add_item(
	"reference",
	"",
	item_type=str
)

def on_bible_version(frame, href, url):
	module_name = SW.URL.decode(url.getPath()).c_str()
	biblemgr.bible.SetModule(module_name)

protocol_handler.register_handler(BIBLE_VERSION_PROTOCOL, on_bible_version)
protocol_handler.register_hover(BIBLE_VERSION_PROTOCOL, noop)


class VerseCompareFrame(LinkedFrame):
	id = N_("Version Comparison")
	has_menu = False
	shows_info = False

	def __init__(self, parent, book):
		self.mod = None
		super(VerseCompareFrame, self).__init__(parent)
		self.SetBook(book)
	
	def SetReference(self, ref, reload=False, settings_changed=False):
		if not ref:
			return