def show_page(self, new_font=None): lst_abiat = [] if new_font == None: new_font = self.new_font text_page = u'' self.view_abiat_bfr.set_text('') self.view_abiat.override_font(Pango.FontDescription(self.new_font)) for s in self.list_abiat: lst_abiat.append(s) lst_abiat.reverse() for a in lst_abiat: id_poem, abiat = self.parent.db.get_abiat(a) try: id_poet = self.parent.db.id_poet(id_poem) except: id_poet = 0 name_poet, lakab_poet = self.parent.db.name_poet(id_poet) speaker = lakab_poet itr = self.view_abiat_bfr.get_iter_at_offset(0) anchor = self.view_abiat_bfr.create_child_anchor(itr) if (anchor and not anchor.get_deleted()): box = Gtk.HBox(False, 0) img1 = Gtk.Image() img1.set_from_file(join(daw_customs.ICON_DIR, 'clear.png')) widget1 = Gtk.Button() widget1.set_image(img1) widget1.connect('clicked', self.rm_bayt) widget1.set_tooltip_text('احذف من المفضلة') widget1.set_name(str(a)) img2 = Gtk.Image() img2.set_from_file(join(daw_customs.ICON_DIR, 'to_poem.png')) widget2 = Gtk.Button() widget2.set_image(img2) widget2.connect('clicked', self.to_poem) widget2.set_tooltip_text('اعرض القصيدة الأصلية') widget2.set_name(str(id_poem)) widget3 = daw_customs.ButtonClass(speaker) widget3.connect('clicked', self.to_poet) widget3.set_name(speaker) box.pack_start(widget1, False, False, 0) box.pack_start(widget2, False, False, 0) box.pack_start(widget3, False, False, 0) self.view_abiat.add_child_at_anchor(box, anchor) box.show_all() size = self.parent.get_size() self.width_window = size[0]-240 if self.view_abiat.get_allocated_width() > 100: self.width_window = self.view_abiat.get_allocated_width() size_font = int(new_font[-2:]) label = Gtk.Label() label.override_font(Pango.FontDescription(new_font)) length, n_abiat = daw_tools.longer_half(abiat, label, 0) r_abiat, t = daw_tools.length_Half(abiat, label, length, size_font, self.width_window, 0) text_page = u'\n'+r_abiat+'\n' itr = self.view_abiat_bfr.get_iter_at_offset(1) self.view_abiat_bfr.insert(itr, text_page, -1)
def build(self, font='Simplified Naskh 18'): size = self.parent.get_size() self.width_window = size[0]-240 if self.view_poem.get_allocated_width() > 100: self.width_window = self.view_poem.get_allocated_width() b_a = daw_config.getn('b_abiat')*2 self.font = font self.size_font = int(self.font[-2:]) label = Gtk.Label() label.override_font(Pango.FontDescription(self.font)) if self.naw3 != 5: if daw_tools.is_machtor(self.text_poem): arodh = 1 else: arodh = 0 self.new_poem, self.t = daw_tools.length_Half(self.text_poem, label, self.length, self.size_font, self.width_window, arodh) poem = self.new_poem poem = self.speaker+poem self.view_poem_bfr.set_text(poem) daw_customs.with_tag(self.view_poem_bfr, self.speaker_poem_tag, [self.speaker,]) self.view_poem.override_font(Pango.FontDescription(self.font)) self.view_poem.set_pixels_below_lines((self.size_font*b_a)/3) self.view_poem.set_pixels_above_lines((self.size_font*b_a)/3)