def on_button_prog_lang_clicked(button): icon_n_key_list = [] for key in self.dad.available_languages: stock_id = config.get_stock_id_for_code_type(key) icon_n_key_list.append([key, stock_id, key]) sel_key = support.dialog_choose_element_in_list(self.dad.window, _("Automatic Syntax Highlighting"), [], "", icon_n_key_list) if sel_key: button.set_label(sel_key) button.set_image(gtk.image_new_from_stock(sel_key, gtk.ICON_SIZE_MENU))
def dialog_codeboxhandle(self, title): """Opens the CodeBox Handle Dialog""" dialog = gtk.Dialog( title=title, parent=self.dad.window, flags=gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_OK, gtk.RESPONSE_ACCEPT)) dialog.set_default_size(300, -1) dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT) button_prog_lang = gtk.Button() button_label = self.dad.codebox_syn_highl if self.dad.codebox_syn_highl != cons.PLAIN_TEXT_ID else self.dad.auto_syn_highl button_stock_id = config.get_stock_id_for_code_type(button_label) button_prog_lang.set_label(button_label) button_prog_lang.set_image( gtk.image_new_from_stock(button_stock_id, gtk.ICON_SIZE_MENU)) radiobutton_plain_text = gtk.RadioButton(label=_("Plain Text")) radiobutton_auto_syntax_highl = gtk.RadioButton( label=_("Automatic Syntax Highlighting")) radiobutton_auto_syntax_highl.set_group(radiobutton_plain_text) if self.dad.codebox_syn_highl == cons.PLAIN_TEXT_ID: radiobutton_plain_text.set_active(True) button_prog_lang.set_sensitive(False) else: radiobutton_auto_syntax_highl.set_active(True) type_vbox = gtk.VBox() type_vbox.pack_start(radiobutton_plain_text) type_vbox.pack_start(radiobutton_auto_syntax_highl) type_vbox.pack_start(button_prog_lang) type_frame = gtk.Frame(label="<b>" + _("Type") + "</b>") type_frame.get_label_widget().set_use_markup(True) type_frame.set_shadow_type(gtk.SHADOW_NONE) type_frame.add(type_vbox) label_width = gtk.Label(_("Width")) adj_width = gtk.Adjustment(value=self.dad.codebox_width, lower=1, upper=10000, step_incr=1) spinbutton_width = gtk.SpinButton(adj_width) spinbutton_width.set_value(self.dad.codebox_width) label_height = gtk.Label(_("Height")) adj_height = gtk.Adjustment(value=self.dad.codebox_height, lower=1, upper=10000, step_incr=1) spinbutton_height = gtk.SpinButton(adj_height) spinbutton_height.set_value(self.dad.codebox_height) radiobutton_codebox_pixels = gtk.RadioButton(label=_("pixels")) radiobutton_codebox_percent = gtk.RadioButton(label="%") radiobutton_codebox_percent.set_group(radiobutton_codebox_pixels) radiobutton_codebox_pixels.set_active(self.dad.codebox_width_pixels) radiobutton_codebox_percent.set_active( not self.dad.codebox_width_pixels) vbox_pix_perc = gtk.VBox() vbox_pix_perc.pack_start(radiobutton_codebox_pixels) vbox_pix_perc.pack_start(radiobutton_codebox_percent) hbox_width = gtk.HBox() hbox_width.pack_start(label_width, expand=False) hbox_width.pack_start(spinbutton_width, expand=False) hbox_width.pack_start(vbox_pix_perc) hbox_width.set_spacing(5) hbox_height = gtk.HBox() hbox_height.pack_start(label_height, expand=False) hbox_height.pack_start(spinbutton_height, expand=False) hbox_height.set_spacing(5) vbox_size = gtk.VBox() vbox_size.pack_start(hbox_width) vbox_size.pack_start(hbox_height) size_align = gtk.Alignment() size_align.set_padding(0, 6, 6, 6) size_align.add(vbox_size) size_frame = gtk.Frame(label="<b>" + _("Size") + "</b>") size_frame.get_label_widget().set_use_markup(True) size_frame.set_shadow_type(gtk.SHADOW_NONE) size_frame.add(size_align) checkbutton_codebox_linenumbers = gtk.CheckButton( label=_("Show Line Numbers")) checkbutton_codebox_linenumbers.set_active(self.dad.codebox_line_num) checkbutton_codebox_matchbrackets = gtk.CheckButton( label=_("Highlight Matching Brackets")) checkbutton_codebox_matchbrackets.set_active( self.dad.codebox_match_bra) vbox_options = gtk.VBox() vbox_options.pack_start(checkbutton_codebox_linenumbers) vbox_options.pack_start(checkbutton_codebox_matchbrackets) opt_align = gtk.Alignment() opt_align.set_padding(6, 6, 6, 6) opt_align.add(vbox_options) options_frame = gtk.Frame(label="<b>" + _("Options") + "</b>") options_frame.get_label_widget().set_use_markup(True) options_frame.set_shadow_type(gtk.SHADOW_NONE) options_frame.add(opt_align) content_area = dialog.get_content_area() content_area.set_spacing(5) content_area.pack_start(type_frame) content_area.pack_start(size_frame) content_area.pack_start(options_frame) content_area.show_all() def on_button_prog_lang_clicked(button): icon_n_key_list = [] for key in self.dad.available_languages: stock_id = config.get_stock_id_for_code_type(key) icon_n_key_list.append([key, stock_id, key]) sel_key = support.dialog_choose_element_in_list( self.dad.window, _("Automatic Syntax Highlighting"), [], "", icon_n_key_list) if sel_key: button.set_label(sel_key) button.set_image( gtk.image_new_from_stock(sel_key, gtk.ICON_SIZE_MENU)) button_prog_lang.connect('clicked', on_button_prog_lang_clicked) def on_radiobutton_auto_syntax_highl_toggled(radiobutton): button_prog_lang.set_sensitive(radiobutton.get_active()) def on_key_press_codeboxhandle(widget, event): keyname = gtk.gdk.keyval_name(event.keyval) if keyname == cons.STR_KEY_RETURN: spinbutton_width.update() spinbutton_height.update() try: dialog.get_widget_for_response( gtk.RESPONSE_ACCEPT).clicked() except: print cons.STR_PYGTK_222_REQUIRED return True return False def on_radiobutton_codebox_pixels_toggled(radiobutton): if radiobutton.get_active(): spinbutton_width.set_value(700) else: if spinbutton_width.get_value() > 100: spinbutton_width.set_value(90) radiobutton_auto_syntax_highl.connect( "toggled", on_radiobutton_auto_syntax_highl_toggled) dialog.connect('key_press_event', on_key_press_codeboxhandle) radiobutton_codebox_pixels.connect( 'toggled', on_radiobutton_codebox_pixels_toggled) response = dialog.run() dialog.hide() if response == gtk.RESPONSE_ACCEPT: self.dad.codebox_width = spinbutton_width.get_value() self.dad.codebox_width_pixels = radiobutton_codebox_pixels.get_active( ) self.dad.codebox_height = spinbutton_height.get_value() self.dad.codebox_line_num = checkbutton_codebox_linenumbers.get_active( ) self.dad.codebox_match_bra = checkbutton_codebox_matchbrackets.get_active( ) if radiobutton_plain_text.get_active(): self.dad.codebox_syn_highl = cons.PLAIN_TEXT_ID else: self.dad.codebox_syn_highl = button_prog_lang.get_label() return True return False
def dialog_codeboxhandle(self, title): """Opens the CodeBox Handle Dialog""" dialog = gtk.Dialog(title=title, parent=self.dad.window, flags=gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT, buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_OK, gtk.RESPONSE_ACCEPT)) dialog.set_default_size(300, -1) dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT) button_prog_lang = gtk.Button() button_label = self.dad.codebox_syn_highl if self.dad.codebox_syn_highl != cons.PLAIN_TEXT_ID else self.dad.auto_syn_highl button_stock_id = config.get_stock_id_for_code_type(button_label) button_prog_lang.set_label(button_label) button_prog_lang.set_image(gtk.image_new_from_stock(button_stock_id, gtk.ICON_SIZE_MENU)) radiobutton_plain_text = gtk.RadioButton(label=_("Plain Text")) radiobutton_auto_syntax_highl = gtk.RadioButton(label=_("Automatic Syntax Highlighting")) radiobutton_auto_syntax_highl.set_group(radiobutton_plain_text) if self.dad.codebox_syn_highl == cons.PLAIN_TEXT_ID: radiobutton_plain_text.set_active(True) button_prog_lang.set_sensitive(False) else: radiobutton_auto_syntax_highl.set_active(True) type_vbox = gtk.VBox() type_vbox.pack_start(radiobutton_plain_text) type_vbox.pack_start(radiobutton_auto_syntax_highl) type_vbox.pack_start(button_prog_lang) type_frame = gtk.Frame(label="<b>"+_("Type")+"</b>") type_frame.get_label_widget().set_use_markup(True) type_frame.set_shadow_type(gtk.SHADOW_NONE) type_frame.add(type_vbox) label_width = gtk.Label(_("Width")) adj_width = gtk.Adjustment(value=self.dad.codebox_width, lower=1, upper=10000, step_incr=1) spinbutton_width = gtk.SpinButton(adj_width) spinbutton_width.set_value(self.dad.codebox_width) label_height = gtk.Label(_("Height")) adj_height = gtk.Adjustment(value=self.dad.codebox_height, lower=1, upper=10000, step_incr=1) spinbutton_height = gtk.SpinButton(adj_height) spinbutton_height.set_value(self.dad.codebox_height) radiobutton_codebox_pixels = gtk.RadioButton(label=_("pixels")) radiobutton_codebox_percent = gtk.RadioButton(label="%") radiobutton_codebox_percent.set_group(radiobutton_codebox_pixels) radiobutton_codebox_pixels.set_active(self.dad.codebox_width_pixels) radiobutton_codebox_percent.set_active(not self.dad.codebox_width_pixels) vbox_pix_perc = gtk.VBox() vbox_pix_perc.pack_start(radiobutton_codebox_pixels) vbox_pix_perc.pack_start(radiobutton_codebox_percent) hbox_width = gtk.HBox() hbox_width.pack_start(label_width, expand=False) hbox_width.pack_start(spinbutton_width, expand=False) hbox_width.pack_start(vbox_pix_perc) hbox_width.set_spacing(5) hbox_height = gtk.HBox() hbox_height.pack_start(label_height, expand=False) hbox_height.pack_start(spinbutton_height, expand=False) hbox_height.set_spacing(5) vbox_size = gtk.VBox() vbox_size.pack_start(hbox_width) vbox_size.pack_start(hbox_height) size_align = gtk.Alignment() size_align.set_padding(0, 6, 6, 6) size_align.add(vbox_size) size_frame = gtk.Frame(label="<b>"+_("Size")+"</b>") size_frame.get_label_widget().set_use_markup(True) size_frame.set_shadow_type(gtk.SHADOW_NONE) size_frame.add(size_align) checkbutton_codebox_linenumbers = gtk.CheckButton(label=_("Show Line Numbers")) checkbutton_codebox_linenumbers.set_active(self.dad.codebox_line_num) checkbutton_codebox_matchbrackets = gtk.CheckButton(label=_("Highlight Matching Brackets")) checkbutton_codebox_matchbrackets.set_active(self.dad.codebox_match_bra) vbox_options = gtk.VBox() vbox_options.pack_start(checkbutton_codebox_linenumbers) vbox_options.pack_start(checkbutton_codebox_matchbrackets) opt_align = gtk.Alignment() opt_align.set_padding(6, 6, 6, 6) opt_align.add(vbox_options) options_frame = gtk.Frame(label="<b>"+_("Options")+"</b>") options_frame.get_label_widget().set_use_markup(True) options_frame.set_shadow_type(gtk.SHADOW_NONE) options_frame.add(opt_align) content_area = dialog.get_content_area() content_area.set_spacing(5) content_area.pack_start(type_frame) content_area.pack_start(size_frame) content_area.pack_start(options_frame) content_area.show_all() def on_button_prog_lang_clicked(button): icon_n_key_list = [] for key in self.dad.available_languages: stock_id = config.get_stock_id_for_code_type(key) icon_n_key_list.append([key, stock_id, key]) sel_key = support.dialog_choose_element_in_list(self.dad.window, _("Automatic Syntax Highlighting"), [], "", icon_n_key_list) if sel_key: button.set_label(sel_key) button.set_image(gtk.image_new_from_stock(sel_key, gtk.ICON_SIZE_MENU)) button_prog_lang.connect('clicked', on_button_prog_lang_clicked) def on_radiobutton_auto_syntax_highl_toggled(radiobutton): button_prog_lang.set_sensitive(radiobutton.get_active()) def on_key_press_codeboxhandle(widget, event): keyname = gtk.gdk.keyval_name(event.keyval) if keyname == cons.STR_KEY_RETURN: spinbutton_width.update() spinbutton_height.update() try: dialog.get_widget_for_response(gtk.RESPONSE_ACCEPT).clicked() except: print cons.STR_PYGTK_222_REQUIRED return True return False def on_radiobutton_codebox_pixels_toggled(radiobutton): if radiobutton.get_active(): spinbutton_width.set_value(700) else: if spinbutton_width.get_value() > 100: spinbutton_width.set_value(90) radiobutton_auto_syntax_highl.connect("toggled", on_radiobutton_auto_syntax_highl_toggled) dialog.connect('key_press_event', on_key_press_codeboxhandle) radiobutton_codebox_pixels.connect('toggled', on_radiobutton_codebox_pixels_toggled) response = dialog.run() dialog.hide() if response == gtk.RESPONSE_ACCEPT: self.dad.codebox_width = spinbutton_width.get_value() self.dad.codebox_width_pixels = radiobutton_codebox_pixels.get_active() self.dad.codebox_height = spinbutton_height.get_value() self.dad.codebox_line_num = checkbutton_codebox_linenumbers.get_active() self.dad.codebox_match_bra = checkbutton_codebox_matchbrackets.get_active() if radiobutton_plain_text.get_active(): self.dad.codebox_syn_highl = cons.PLAIN_TEXT_ID else: self.dad.codebox_syn_highl = button_prog_lang.get_label() return True return False