def __init__(self): self.myfile = None Gtk.VBox.__init__(self) self.editor = WebKit.WebView() self.editor.set_editable(True) scroll = Gtk.ScrolledWindow() scroll.add(self.editor) self.toolbar = Gtk.Toolbar() self.hb_tb = Gtk.Box(spacing=3,orientation=Gtk.Orientation.HORIZONTAL) self.pack_start(scroll, True, True, 0) self.hb_tb.pack_start(self.toolbar, True, True, 0) self.pack_start(self.hb_tb, False, False, 0) save = Gtk.ToolButton(stock_id=Gtk.STOCK_SAVE) save.connect('clicked', self.on_save) self.toolbar.insert(save, 0) export = asm_customs.tool_button(join(asm_path.ICON_DIR, 'html-24.png'), "", self.on_export) self.toolbar.insert(export, 1) source = Gtk.ToggleToolButton(stock_id=Gtk.STOCK_FILE) source.connect('toggled', self.on_source) self.toolbar.insert(source, 2) printi = Gtk.ToolButton(stock_id=Gtk.STOCK_PRINT) printi.connect('clicked', self.on_print) self.toolbar.insert(printi, 3) #self.toolbar.insert(Gtk.SeparatorToolItem(), 3) undo = Gtk.ToolButton(stock_id=Gtk.STOCK_UNDO) undo.connect('clicked', self.on_action, 'Undo') self.toolbar.insert(undo, 4) redo = Gtk.ToolButton(stock_id=Gtk.STOCK_REDO) redo.connect('clicked', self.on_action, 'Redo') self.toolbar.insert(redo, 5) self.toolbar.insert(Gtk.SeparatorToolItem(), 6) fontname_item = Gtk.ToolItem.new() hb, self.fontname = asm_customs.button_fontnm() fontname_item.add(hb) self.fontname.connect('changed', self.on_select_fontnm) self.toolbar.insert(fontname_item, 7) fontsize_item = Gtk.ToolItem.new() hb, self.fontsize = asm_customs.button_fontsz() fontsize_item.add(hb) self.fontsize.connect('changed', self.on_select_fontsz) self.toolbar.insert(fontsize_item, 8) bold = Gtk.ToolButton(stock_id=Gtk.STOCK_BOLD) bold.connect('clicked', self.on_action, 'Bold') self.toolbar.insert(bold, 9) italic = Gtk.ToolButton(stock_id=Gtk.STOCK_ITALIC) italic.connect('clicked', self.on_action, 'Italic') self.toolbar.insert(italic, 10) underline = Gtk.ToolButton(stock_id=Gtk.STOCK_UNDERLINE) underline.connect('clicked', self.on_action, 'Underline') self.toolbar.insert(underline, 11) strikethrough = Gtk.ToolButton(stock_id=Gtk.STOCK_STRIKETHROUGH) strikethrough.connect('clicked', self.on_action, 'Strikethrough') self.toolbar.insert(strikethrough, 12) self.toolbar.insert(Gtk.SeparatorToolItem(), 13) color = Gtk.ToolButton(stock_id=Gtk.STOCK_SELECT_COLOR) color.connect('clicked', self.on_select_color) self.toolbar.insert(color, 14) self.toolbar.insert(Gtk.SeparatorToolItem(), 15) justifyleft = Gtk.ToolButton(stock_id=Gtk.STOCK_JUSTIFY_LEFT) justifyleft.connect('clicked', self.on_action, 'Justifyleft') self.toolbar.insert(justifyleft, 16) justifyright = Gtk.ToolButton(stock_id=Gtk.STOCK_JUSTIFY_RIGHT) justifyright.connect('clicked', self.on_action, 'Justifyright') self.toolbar.insert(justifyright, 17) justifycenter = Gtk.ToolButton(stock_id=Gtk.STOCK_JUSTIFY_CENTER) justifycenter.connect('clicked', self.on_action, 'Justifycenter') self.toolbar.insert(justifycenter, 18) justifyfull = Gtk.ToolButton(stock_id=Gtk.STOCK_JUSTIFY_FILL) justifyfull.connect('clicked', self.on_action, 'Justifyfull') self.toolbar.insert(justifyfull, 19) self.toolbar.insert(Gtk.SeparatorToolItem(), 20) orderedlist = asm_customs.tool_button(join(asm_path.ICON_DIR, 'OrderedList.png'), "", self.on_orderedlist) self.toolbar.insert(orderedlist, 21) unorderedlist = asm_customs.tool_button(join(asm_path.ICON_DIR, 'UnorderedList.png'), "", self.on_unorderedlist) self.toolbar.insert(unorderedlist, 22) self.toolbar.insert(Gtk.SeparatorToolItem(), 23) removeFormat = Gtk.ToolButton(stock_id=Gtk.STOCK_REMOVE) removeFormat.set_tooltip_text('حذف جميع التنسيقات') removeFormat.connect('clicked', self.on_removeFormat) self.toolbar.insert(removeFormat, 24)
def build(self, *a): Gtk.VPaned.__init__(self) vb = Gtk.VBox(False, 0) self.view_nasse = asm_customs.ViewClass() self.view_nasse_bfr = self.view_nasse.get_buffer() self.view_nasse.connect_after("populate-popup", asm_popup.populate_popup, self.parent) self.view_title_tag = self.view_nasse_bfr.create_tag("title") self.view_quran_tag = self.view_nasse_bfr.create_tag("quran") self.view_search_tag = self.view_nasse_bfr.create_tag("search") self.view_terms_tag = self.view_nasse_bfr.create_tag("terms") self.view_title_tag.set_property('foreground', self.parent.theme.color_tit) self.view_title_tag.set_property('font', self.parent.theme.font_tit) self.view_quran_tag.set_property('foreground', self.parent.theme.color_qrn) self.view_quran_tag.set_property("paragraph-background", self.parent.theme.color_bg_qrn) self.view_quran_tag.set_property('font', self.parent.theme.font_qrn) self.view_search_tag.set_property('background', self.parent.theme.color_fnd) self.view_terms_tag.set_property('foreground', self.parent.theme.color_tit) scroll = Gtk.ScrolledWindow() scroll.set_shadow_type(Gtk.ShadowType.IN) scroll.add(self.view_nasse) self.pack1(scroll, True, False) hb = Gtk.HBox(False, 7) open_in_tab = Gtk.ToolButton(stock_id=Gtk.STOCK_FILE) open_in_tab.set_tooltip_text('افتح في لسان مستقل') open_in_tab.connect('clicked', self.open_new_tab) hb.pack_start(open_in_tab, False, False, 0) sav_result_btn = Gtk.ToolButton(stock_id=Gtk.STOCK_SAVE) sav_result_btn.set_tooltip_text('حفظ نتائج البحث الحالي باسم') hb.pack_start(sav_result_btn, False, False, 0) sav_result_btn.connect('clicked', self.sav_result_cb) self.sav_result_entry = Gtk.Entry() hb.pack_start(self.sav_result_entry, False, False, 0) self.search_result_btn = Gtk.ToolButton(stock_id=Gtk.STOCK_FIND) self.search_result_btn.set_tooltip_text('بحث في نتائج البحث') hb.pack_start(self.search_result_btn, False, False, 0) self.search_result_btn.connect('clicked', self.search_in_result) self.lab_n_result = Gtk.Label('عدد النتائج : 0') hb.pack_start(self.lab_n_result, False, False, 0) self.hb_stop = Gtk.HBox(False, 7) btn_stop = asm_customs.tool_button(join(asm_path.ICON_DIR, u'stp.png'), 'أوقف عملية البحث', self.stop_search) self.hb_stop.pack_start(btn_stop, False, False, 0) self.progress = Gtk.ProgressBar() self.hb_stop.pack_start(self.progress, True, True, 0) hb.pack_start(self.hb_stop, True, True, 0) vb.pack_start(hb, False, False, 5) self.store_results = Gtk.ListStore(int,int,str,str,int,int, int) self.tree_results = asm_customs.TreeIndex() self.tree_results.set_model(self.store_results) self.sel_result = self.tree_results.get_selection() self.tree_results.connect("cursor-changed", self.show_result) self.tree_results.set_grid_lines(Gtk.TreeViewGridLines.HORIZONTAL) raq = Gtk.TreeViewColumn('الرقم', Gtk.CellRendererText(), text=1) raq.set_max_width(80) self.tree_results.append_column(raq) books = Gtk.TreeViewColumn('الكتاب', Gtk.CellRendererText(), text=2) books.set_max_width((self.parent.get_size()[0]-300)/3) self.tree_results.append_column(books) elbab = Gtk.TreeViewColumn('الباب', Gtk.CellRendererText(), text=3) elbab.set_max_width(((self.parent.get_size()[0]-300)/3)*2) self.tree_results.append_column(elbab) elbaher = Gtk.TreeViewColumn('الجزء', Gtk.CellRendererText(), text=4) self.tree_results.append_column(elbaher) elbaher.set_max_width(80) elgharadh = Gtk.TreeViewColumn('الصفحة', Gtk.CellRendererText(), text=5) self.tree_results.append_column(elgharadh) elgharadh.set_max_width(80) elgharadh.set_expand(True) scroll = Gtk.ScrolledWindow() scroll.set_shadow_type(Gtk.ShadowType.IN) scroll.add(self.tree_results) scroll.set_size_request(-1, 200) vb.pack_start(scroll, True, True, 0) self.pack2(vb, False, True) self.show_all()