def show_warning(self):
     image = Image()
     image.set_from_stock(STOCK_STOP, ICON_SIZE_BUTTON)
     warning_label = Label(' Invalid Password! ')        
     self.hbox.pack_start(image, False, False, 10)
     self.hbox.pack_start(warning_label, False, False, 0)
     self.show_all()
Exemple #2
0
def __create_pixbuf(editor):
    from os.path import join
    current_folder = editor.get_current_folder(globals())
    image_file = join(current_folder, "bookmarks.png")
    from gtk import Image
    image = Image()
    image.set_from_file(image_file)
    pixbuf = image.get_pixbuf()
    return pixbuf
Exemple #3
0
def __create_pixbuf(editor):
	from os.path import join
	current_folder = editor.get_current_folder(globals())
	image_file = join(current_folder, "bookmarks.png")
	from gtk import Image
	image = Image()
	image.set_from_file(image_file)
	pixbuf = image.get_pixbuf()
	return pixbuf
Exemple #4
0
 def __init_attributes(self, editor):
     self.__editor = editor
     from gtk import STOCK_INDENT, STOCK_UNINDENT, Image, Menu
     self.__image = Image()
     self.__menu = Menu()
     self.__textview = editor.textview
     self.__menuitem1 = editor.create_menuitem(_("Shift _Right (ctrl + t)"),
                                               STOCK_INDENT)
     self.__menuitem2 = editor.create_menuitem(
         _("Shift _Left (ctrl + shift + t)"), STOCK_UNINDENT)
     return
Exemple #5
0
 def __init_attributes(self, editor):
     from gtk import Menu, Image, STOCK_SORT_DESCENDING
     self.__image = Image()
     self.__image.set_property("stock", STOCK_SORT_DESCENDING)
     self.__editor = editor
     self.__menu = Menu()
     self.__menuitem1 = editor.create_menuitem(_("_Togglecase (alt + u)"))
     self.__menuitem2 = editor.create_menuitem(
         _("_Titlecase (alt + shift + u)"))
     self.__menuitem3 = editor.create_menuitem(
         _("_Swapcase  (alt + shift + l)"))
     return
Exemple #6
0
def create_menuitem(string, stock_id=None):
	from gtk import MenuItem, Image, HBox, Label
	hbox = HBox(spacing=7)
	hbox.set_property("border-width", 2)
	if stock_id:
		image = Image()
		image.set_property("stock", stock_id)
		hbox.pack_start(image, False, False, 0)
	label = Label(string)
	label.set_property("use-underline", True)
	hbox.pack_start(label, False, False, 0)
	menuitem = MenuItem()
	menuitem.add(hbox)
	return menuitem
Exemple #7
0
 def __creates_widgets(self):
     from gtk import Image, STOCK_BOLD, Menu
     self.image = Image()
     self.image.set_property("stock", STOCK_BOLD)
     self.menu = Menu()
     self.select_word_menuitem = self.editor.create_menuitem(
         _("Select word (alt + w)"))
     self.select_line_menuitem = self.editor.create_menuitem(
         _("Select line (alt + l)"))
     self.select_sentence_menuitem = self.editor.create_menuitem(
         _("Select sentence (alt + s)"))
     self.paragraph_item = self.editor.create_menuitem(
         _("Select paragraph (alt + p)"))
     return
Exemple #8
0
	def __init_attributes(self, editor):
		self.__editor = editor
		self.__view = editor.textview
		from gtk import Menu, Image
		self.__menu = Menu()
		self.__image = Image()
		self.__menuitem1 = self.__editor.create_menuitem(_("_Join Line (alt + j)"))
		self.__menuitem2 = self.__editor.create_menuitem(_("D_uplicate Line (ctrl + u)"))
		self.__menuitem3 = self.__editor.create_menuitem(_("_Delete Line (alt + d)"))
		self.__menuitem4 = self.__editor.create_menuitem(_("Free Line _Below (alt + o)"))
		self.__menuitem5 = self.__editor.create_menuitem(_("Free Line _Above (alt + shift + o)"))
		self.__menuitem6 = self.__editor.create_menuitem(_("Delete Cursor to Line _End (alt + End)"))
		self.__menuitem7 = self.__editor.create_menuitem(_("Delete _Cursor to Line Begin (alt + Home)"))
		return
Exemple #9
0
 def __init_attributes(self, editor):
     from gtk import Menu, Image
     self.__editor = editor
     self.__menu = Menu()
     self.__image = Image()
     self.__previous_item = editor.create_menuitem(
         _("Previous Paragraph (alt + Right)"))
     self.__next_item = editor.create_menuitem(
         _("Next Paragraph (alt + Left)"))
     self.__reflow_item = editor.create_menuitem(
         _("Reflow Paragraph (alt + q)"))
     self.__select_item = editor.create_menuitem(
         _("Select Paragraph (alt + p)"))
     return
Exemple #10
0
class PopupMenuItem(ImageMenuItem):
    def __init__(self, editor):
        ImageMenuItem.__init__(self, _("In_dentation"))
        self.__init_attributes(editor)
        self.__set_properties()
        self.__sigid1 = self.__menuitem1.connect("activate",
                                                 self.__activate_cb)
        self.__sigid2 = self.__menuitem2.connect("activate",
                                                 self.__activate_cb)
        self.__sigid3 = self.__textview.connect("focus-in-event",
                                                self.__focus_cb)

    def __init_attributes(self, editor):
        self.__editor = editor
        from gtk import STOCK_INDENT, STOCK_UNINDENT, Image, Menu
        self.__image = Image()
        self.__menu = Menu()
        self.__textview = editor.textview
        self.__menuitem1 = editor.create_menuitem(_("Shift _Right (ctrl + t)"),
                                                  STOCK_INDENT)
        self.__menuitem2 = editor.create_menuitem(
            _("Shift _Left (ctrl + shift + t)"), STOCK_UNINDENT)
        return

    def __set_properties(self):
        self.set_property("name", "Indentation Popup MenuItem")
        from gtk import STOCK_JUSTIFY_CENTER
        self.__image.set_property("stock", STOCK_JUSTIFY_CENTER)
        self.set_image(self.__image)
        self.set_submenu(self.__menu)
        self.__menu.append(self.__menuitem1)
        self.__menu.append(self.__menuitem2)
        if self.__editor.readonly: self.set_property("sensitive", False)
        return

    def __activate_cb(self, menuitem):
        if menuitem == self.__menuitem1:
            self.__editor.trigger("indent")
        else:
            self.__editor.trigger("unindent")
        return True

    def __focus_cb(self, *args):
        self.__editor.disconnect_signal(self.__sigid1, self.__menuitem1)
        self.__editor.disconnect_signal(self.__sigid2, self.__menuitem1)
        self.__editor.disconnect_signal(self.__sigid3, self.__textview)
        self.destroy()
        del self
        self = None
        return False
Exemple #11
0
def create_button(stock_id, string):
	from gtk import HBox, Image, Label, ICON_SIZE_BUTTON, Alignment
	alignment = Alignment()
	alignment.set_property("xalign", 0.5)
	alignment.set_property("yalign", 0.5)
	hbox = HBox(False, 3)
	if stock_id:
		image = Image()
		image.set_from_stock(stock_id, ICON_SIZE_BUTTON)
		hbox.pack_start(image, False, False, 0)
	label = Label(string)
	label.set_property("use-underline", True)
	hbox.pack_start(label, False, False, 0)
	alignment.add(hbox)
	return alignment
Exemple #12
0
	def __init_attributes(self, editor):
		from gtk import Menu, Image
		self.__editor = editor
		self.__menu = Menu()
		self.__image = Image()
		self.__previous_item = editor.create_menuitem(_("Previous Paragraph (alt + Right)"))
		self.__next_item = editor.create_menuitem(_("Next Paragraph (alt + Left)"))
		self.__reflow_item = editor.create_menuitem(_("Reflow Paragraph (alt + q)"))
		self.__select_item = editor.create_menuitem(_("Select Paragraph (alt + p)"))
		return
Exemple #13
0
	def __init_attributes(self, editor):
		from gtk import Menu, Image, STOCK_SORT_DESCENDING
		self.__image = Image()
		self.__image.set_property("stock", STOCK_SORT_DESCENDING)
		self.__editor = editor
		self.__menu = Menu()
		self.__menuitem1 = editor.create_menuitem(_("_Togglecase (alt + u)"))
		self.__menuitem2 = editor.create_menuitem(_("_Titlecase (alt + shift + u)"))
		self.__menuitem3 = editor.create_menuitem(_("_Swapcase  (alt + shift + l)"))
		return
Exemple #14
0
	def __creates_widgets(self):
		from gtk import Image, STOCK_BOLD, Menu
		self.image = Image()
		self.image.set_property("stock", STOCK_BOLD)
		self.menu = Menu()
		self.select_word_menuitem = self.editor.create_menuitem(_("Select word (alt + w)"))
		self.select_line_menuitem = self.editor.create_menuitem(_("Select line (alt + l)"))
		self.select_sentence_menuitem = self.editor.create_menuitem(_("Select sentence (alt + s)"))
		self.paragraph_item = self.editor.create_menuitem(_("Select paragraph (alt + p)"))
		return
Exemple #15
0
    def __init__(self, dir=None):
        HBox.__init__(self, False, 2)

        buttonImage = Image()
        buttonImage.set_from_stock(STOCK_REFRESH, ICON_SIZE_MENU)

        self.combo = ComboBox()
        self.refreshButton = Button()
        self.refreshButton.set_image(buttonImage)
        self.refreshButton.connect('clicked', self.refreshButton_clicked, None)
        self.model = ListStore(str)
        self.combo.set_model(self.model)
        self.dir = dir

        self.pack_start(self.combo, False, False, 0)
        self.pack_start(self.refreshButton, False, False, 0)

        if self.dir != None and exists(self.dir):
            self.refresh()
Exemple #16
0
	def __init_attributes(self, editor):
		self.__view = editor.textview
		self.__editor = editor
		from gtk import Menu, Image
		self.__menu = Menu()
		self.__image = Image()
		self.__menuitem1 = self.__editor.create_menuitem(_("_Tabs to Spaces (alt+shift+t)"))
		self.__menuitem2 = self.__editor.create_menuitem(_("_Spaces to Tabs (alt+t)"))
		self.__menuitem3 = self.__editor.create_menuitem(_("_Remove Trailing Spaces (alt+r)"))
		return
Exemple #17
0
 def __init_attributes(self, manager, editor):
     self.__manager = manager
     self.__editor = editor
     self.__label = self.__get_label()
     self.__button = self.__get_button()
     self.__bar = self.__get_bar()
     from gtk import HBox, Image
     self.__box = HBox(False, 5)
     self.__image = Image()
     self.__view = editor.textview
     return
    def __init__(self, objectives, new):
        Expander.__init__(self)

        self.connect("enter-notify-event", self.onEnterNotifyEvent)
        self.connect("leave-notify-event", self.onLeaveNotifyEvent)

        vBox = VBox()
        self.add(vBox)

        # Data model
        self.model = ListStore(str, float)

        # Title bar
        hBox = HBox()
        self.set_property("label-widget", hBox)

        self.title = Label()
        hBox.pack_start(self.title)

        # Alternatives
        treeView = TreeView(self.model)
        #		treeView.set_headers_visible(False)
        vBox.pack_start(treeView)

        listStore_objectives = ListStore(str)
        for name in objectives:
            listStore_objectives.append((name, ))

        def combo_changed(_, path, text, model):
            model[path][0] = text

        cellRenderer = CellRendererCombo()
        cellRenderer.connect("edited", combo_changed, self.model)
        cellRenderer.set_property("text-column", 0)
        cellRenderer.set_property("editable", True)
        cellRenderer.set_property("has-entry", True)
        cellRenderer.set_property("model", listStore_objectives)

        treeViewColumn = TreeViewColumn("Alternative", cellRenderer, text=0)
        #		treeViewColumn = TreeViewColumn(None,cellRenderer,text=0)
        treeView.append_column(treeViewColumn)

        def spin_changed(_, path, value, model):
            model[path][1] = float(value.replace(",", "."))

        cellRenderer = CellRendererSpin()
        cellRenderer.connect("edited", spin_changed, self.model)
        cellRenderer.set_property("adjustment",
                                  Adjustment(1, 0, 100, 1, 10, 0))
        cellRenderer.set_property("editable", True)
        cellRenderer.set_property("digits", 2)

        treeViewColumn = TreeViewColumn(None, cellRenderer, text=1)
        treeView.append_column(treeViewColumn)

        # Add/remove alternative button box
        #		hButtonBox = HButtonBox()
        #		vBox.pack_start(hButtonBox, False)

        # Add alternative
        button = Button("gtk-add")
        button.connect("clicked", self.on_btnAdd_Alternative_clicked)
        button.set_use_stock(True)
        #		hButtonBox.pack_start(button)
        vBox.pack_start(button, False)

        #		# Remove alternative
        #		button = Button("gtk-remove")
        #		button.connect("clicked",self.on_btnDel_Alternative_clicked)
        #		button.set_use_stock(True)
        #		hButtonBox.pack_start(button)

        # Expand the requeriment and add an alternative if it's new
        if new:
            self.set_expanded(True)
            self.model.append((None, 1.0))

        # Show requeriment
        self.show_all()

        # Delete requeriment button (default is hidden)
        self.imgRemove = Image()
        self.imgRemove.connect("button-press-event", self.onDelRequeriment)
        self.imgRemove.set_from_stock("gtk-cancel", ICON_SIZE_MENU)
        hBox.pack_start(self.imgRemove)
Exemple #19
0
class PopupMenuItem(ImageMenuItem):
    def __init__(self, editor):
        ImageMenuItem.__init__(self, _("Selection"))
        self.__init_attributes(editor)
        self.__creates_widgets()
        self.__set_properties()
        self.__signal_id_1 = self.select_word_menuitem.connect(
            "activate", self.__popup_activate_cb)
        self.__signal_id_2 = self.select_line_menuitem.connect(
            "activate", self.__popup_activate_cb)
        self.__signal_id_3 = self.select_sentence_menuitem.connect(
            "activate", self.__popup_activate_cb)
        self.__signal_id_4 = self.paragraph_item.connect(
            "activate", self.__popup_activate_cb)
        self.__signal_id_5 = self.select_word_menuitem.connect(
            "map-event", self.__popup_word_map_event_cb)
        self.__signal_id_6 = self.select_line_menuitem.connect(
            "map-event", self.__popup_line_map_event_cb)
        self.__signal_id_7 = self.select_sentence_menuitem.connect(
            "map-event", self.__popup_sentence_map_event_cb)
        self.__signal_id_9 = self.scribesview.connect("focus-in-event",
                                                      self.__focus_in_event_cb)

    def __init_attributes(self, editor):
        self.scribesview = editor.textview
        self.editor = editor
        self.menu = None
        self.image = None
        self.select_word_menuitem = None
        self.select_line_menuitem = None
        self.select_sentence_menuitem = None
        return

    def __creates_widgets(self):
        from gtk import Image, STOCK_BOLD, Menu
        self.image = Image()
        self.image.set_property("stock", STOCK_BOLD)
        self.menu = Menu()
        self.select_word_menuitem = self.editor.create_menuitem(
            _("Select word (alt + w)"))
        self.select_line_menuitem = self.editor.create_menuitem(
            _("Select line (alt + l)"))
        self.select_sentence_menuitem = self.editor.create_menuitem(
            _("Select sentence (alt + s)"))
        self.paragraph_item = self.editor.create_menuitem(
            _("Select paragraph (alt + p)"))
        return

    def __set_properties(self):
        self.set_image(self.image)
        self.set_submenu(self.menu)
        self.menu.append(self.select_line_menuitem)
        self.menu.append(self.select_word_menuitem)
        self.menu.append(self.select_sentence_menuitem)
        self.menu.append(self.paragraph_item)
        if self.editor.readonly: self.set_property("sensitive", False)
        return

    def __popup_activate_cb(self, menuitem):
        if menuitem == self.select_word_menuitem:
            self.editor.trigger("select-word")
        elif menuitem == self.select_line_menuitem:
            self.editor.trigger("select-line")
        elif menuitem == self.select_sentence_menuitem:
            self.editor.trigger("select-sentence")
        elif menuitem == self.paragraph_item:
            self.editor.trigger("select-paragraph")
        return True

    def __popup_word_map_event_cb(self, menuitem, event):
        menuitem.set_property("sensitive", False)
        from word import inside_word, starts_word, ends_word
        cursor_position = self.editor.get_cursor_iterator()
        if inside_word(cursor_position) or starts_word(
                cursor_position) or ends_word(cursor_position):
            menuitem.set_property("sensitive", True)
        return True

    def __popup_line_map_event_cb(self, menuitem, event):
        menuitem.set_property("sensitive", False)
        from lines import get_line_bounds
        begin_position, end_position = get_line_bounds(self.editor.textbuffer)
        if not begin_position.get_char() in ["\n", "\x00"]:
            menuitem.set_property("sensitive", True)
        return True

    def __popup_sentence_map_event_cb(self, menuitem, event):
        menuitem.set_property("sensitive", False)
        cursor_position = self.editor.get_cursor_iterator()
        if cursor_position.starts_sentence() or cursor_position.ends_sentence(
        ) or cursor_position.inside_sentence():
            menuitem.set_property("sensitive", True)
        return True

    def __focus_in_event_cb(self, event, textview):
        self.editor.disconnect_signal(self.__signal_id_1,
                                      self.select_word_menuitem)
        self.editor.disconnect_signal(self.__signal_id_2,
                                      self.select_line_menuitem)
        self.editor.disconnect_signal(self.__signal_id_3,
                                      self.select_sentence_menuitem)
        self.editor.disconnect_signal(self.__signal_id_4,
                                      self.select_sentence_menuitem)
        self.editor.disconnect_signal(self.__signal_id_5,
                                      self.select_word_menuitem)
        self.editor.disconnect_signal(self.__signal_id_6,
                                      self.select_line_menuitem)
        self.editor.disconnect_signal(self.__signal_id_7,
                                      self.select_sentence_menuitem)
        self.editor.disconnect_signal(self.__signal_id_9, self.scribesview)
        if self.select_word_menuitem: self.select_word_menuitem.destroy()
        if self.select_sentence_menuitem:
            self.select_sentence_menuitem.destroy()
        if self.select_line_menuitem: self.select_line_menuitem.destroy()
        if self.image: self.image.destroy()
        if self.menu: self.menu.destroy()
        del self
        self = None
        return False
Exemple #20
0
class PopupMenuItem(ImageMenuItem):
    def __init__(self, editor):
        ImageMenuItem.__init__(self, _("Paragraph"))
        self.__init_attributes(editor)
        self.__set_properties()
        self.__sig_id_1 = self.__next_item.connect("activate",
                                                   self.__activate_cb)
        self.__sig_id_2 = self.__previous_item.connect("activate",
                                                       self.__activate_cb)
        self.__sig_id_3 = self.__reflow_item.connect("activate",
                                                     self.__activate_cb)
        self.__sig_id_4 = editor.textview.connect("focus-in-event",
                                                  self.__destroy_cb)
        self.__sig_id_5 = self.__select_item.connect("activate",
                                                     self.__activate_cb)

    def __init_attributes(self, editor):
        from gtk import Menu, Image
        self.__editor = editor
        self.__menu = Menu()
        self.__image = Image()
        self.__previous_item = editor.create_menuitem(
            _("Previous Paragraph (alt + Right)"))
        self.__next_item = editor.create_menuitem(
            _("Next Paragraph (alt + Left)"))
        self.__reflow_item = editor.create_menuitem(
            _("Reflow Paragraph (alt + q)"))
        self.__select_item = editor.create_menuitem(
            _("Select Paragraph (alt + p)"))
        return

    def __set_properties(self):
        from gtk import STOCK_JUMP_TO
        self.__image.set_property("stock", STOCK_JUMP_TO)
        self.set_image(self.__image)
        self.set_submenu(self.__menu)
        self.__menu.append(self.__previous_item)
        self.__menu.append(self.__next_item)
        self.__menu.append(self.__reflow_item)
        self.__menu.append(self.__select_item)
        if self.__editor.readonly:
            self.__reflow_item.set_property("sensitive", False)
        return

    def __activate_cb(self, menuitem):
        if menuitem == self.__previous_item:
            self.__editor.trigger("previous-paragraph")
        elif menuitem == self.__next_item:
            self.__editor.trigger("next-paragraph")
        elif menuitem == self.__select_item:
            self.__editor.trigger("select-paragraph")
        else:
            self.__editor.trigger("reflow-paragraph")
        return False

    def __destroy_cb(self, *args):
        self.__editor.disconnect_signal(self.__sig_id_1, self.__next_item)
        self.__editor.disconnect_signal(self.__sig_id_2, self.__previous_item)
        self.__editor.disconnect_signal(self.__sig_id_3, self.__reflow_item)
        self.__editor.disconnect_signal(self.__sig_id_4,
                                        self.__editor.textview)
        self.__editor.disconnect_signal(self.__sig_id_5, self.__select_item)
        self.__next_item.destroy()
        self.__select_item.destroy()
        self.__previous_item.destroy()
        self.__reflow_item.destroy()
        self.__menu.destroy()
        self.__image.destroy()
        self.destroy()
        del self
        self = None
        return False
Exemple #21
0
class PopupMenuItem(ImageMenuItem):

	def __init__(self, editor):
		ImageMenuItem.__init__(self, _("_Lines"))
		self.__init_attributes(editor)
		self.__set_properties()
		self.__sigid1 = self.__menuitem1.connect("activate", self.__activate_cb)
		self.__sigid2 = self.__menuitem2.connect("activate", self.__activate_cb)
		self.__sigid3 = self.__menuitem3.connect("activate", self.__activate_cb)
		self.__sigid4 = self.__menuitem4.connect("activate", self.__activate_cb)
		self.__sigid5 = self.__menuitem5.connect("activate", self.__activate_cb)
		self.__sigid6 = self.__menuitem6.connect("activate", self.__activate_cb)
		self.__sigid7 = self.__menuitem7.connect("activate", self.__activate_cb)
		self.__sigid8 = self.__view.connect("focus-in-event", self.__destroy_cb)

	def __init_attributes(self, editor):
		self.__editor = editor
		self.__view = editor.textview
		from gtk import Menu, Image
		self.__menu = Menu()
		self.__image = Image()
		self.__menuitem1 = self.__editor.create_menuitem(_("_Join Line (alt + j)"))
		self.__menuitem2 = self.__editor.create_menuitem(_("D_uplicate Line (ctrl + u)"))
		self.__menuitem3 = self.__editor.create_menuitem(_("_Delete Line (alt + d)"))
		self.__menuitem4 = self.__editor.create_menuitem(_("Free Line _Below (alt + o)"))
		self.__menuitem5 = self.__editor.create_menuitem(_("Free Line _Above (alt + shift + o)"))
		self.__menuitem6 = self.__editor.create_menuitem(_("Delete Cursor to Line _End (alt + End)"))
		self.__menuitem7 = self.__editor.create_menuitem(_("Delete _Cursor to Line Begin (alt + Home)"))
		return

	def __set_properties(self):
		self.set_property("name", "Line Operation Menuitem")
		from gtk import STOCK_JUSTIFY_CENTER
		self.__image.set_property("stock", STOCK_JUSTIFY_CENTER)
		self.set_image(self.__image)
		self.set_submenu(self.__menu)
		self.__menu.append(self.__menuitem1)
		self.__menu.append(self.__menuitem2)
		self.__menu.append(self.__menuitem3)
		self.__menu.append(self.__menuitem4)
		self.__menu.append(self.__menuitem5)
		self.__menu.append(self.__menuitem6)
		self.__menu.append(self.__menuitem7)
		if self.__editor.readonly: self.set_property("sensitive", False)
		return

	def __activate_cb(self, menuitem):
		if menuitem == self.__menuitem1:
			self.__editor.trigger("join-line")
		elif menuitem == self.__menuitem2:
			self.__editor.trigger("duplicate-line")
		elif menuitem == self.__menuitem3:
			self.__editor.trigger("delete-line")
		elif menuitem == self.__menuitem4:
			self.__editor.trigger("free-line-below")
		elif menuitem == self.__menuitem5:
			self.__editor.trigger("free-line-above")
		elif menuitem == self.__menuitem6:
			self.__editor.trigger("delete-cursor-to-end")
		elif menuitem == self.__menuitem7:
			self.__editor.trigger("delete-cursor-to-start")
		return True

	def __destroy_cb(self, *args):
		self.__editor.disconnect_signal(self.__sigid1, self.__menuitem1)
		self.__editor.disconnect_signal(self.__sigid2, self.__menuitem2)
		self.__editor.disconnect_signal(self.__sigid3, self.__menuitem3)
		self.__editor.disconnect_signal(self.__sigid4, self.__menuitem4)
		self.__editor.disconnect_signal(self.__sigid5, self.__menuitem5)
		self.__editor.disconnect_signal(self.__sigid6, self.__menuitem6)
		self.__editor.disconnect_signal(self.__sigid7, self.__menuitem7)
		self.__editor.disconnect_signal(self.__sigid8, self.__view)
		self.destroy()
		del self
		self = None
		return False
Exemple #22
0
class Requirement(Expander):
    def __init__(self, objectives, new):
        Expander.__init__(self)

        self.connect("enter-notify-event", self.onEnterNotifyEvent)
        self.connect("leave-notify-event", self.onLeaveNotifyEvent)

        vBox = VBox()
        self.add(vBox)

        # Data model
        self.model = ListStore(str, float)

        # Title bar
        hBox = HBox()
        self.set_property("label-widget", hBox)

        self.title = Label()
        hBox.pack_start(self.title)

        # Alternatives
        treeView = TreeView(self.model)
        #		treeView.set_headers_visible(False)
        vBox.pack_start(treeView)

        listStore_objectives = ListStore(str)
        for name in objectives:
            listStore_objectives.append((name, ))

        def combo_changed(_, path, text, model):
            model[path][0] = text

        cellRenderer = CellRendererCombo()
        cellRenderer.connect("edited", combo_changed, self.model)
        cellRenderer.set_property("text-column", 0)
        cellRenderer.set_property("editable", True)
        cellRenderer.set_property("has-entry", True)
        cellRenderer.set_property("model", listStore_objectives)

        treeViewColumn = TreeViewColumn("Alternative", cellRenderer, text=0)
        #		treeViewColumn = TreeViewColumn(None,cellRenderer,text=0)
        treeView.append_column(treeViewColumn)

        def spin_changed(_, path, value, model):
            model[path][1] = float(value.replace(",", "."))

        cellRenderer = CellRendererSpin()
        cellRenderer.connect("edited", spin_changed, self.model)
        cellRenderer.set_property("adjustment",
                                  Adjustment(1, 0, 100, 1, 10, 0))
        cellRenderer.set_property("editable", True)
        cellRenderer.set_property("digits", 2)

        treeViewColumn = TreeViewColumn(None, cellRenderer, text=1)
        treeView.append_column(treeViewColumn)

        # Add/remove alternative button box
        #		hButtonBox = HButtonBox()
        #		vBox.pack_start(hButtonBox, False)

        # Add alternative
        button = Button("gtk-add")
        button.connect("clicked", self.on_btnAdd_Alternative_clicked)
        button.set_use_stock(True)
        #		hButtonBox.pack_start(button)
        vBox.pack_start(button, False)

        #		# Remove alternative
        #		button = Button("gtk-remove")
        #		button.connect("clicked",self.on_btnDel_Alternative_clicked)
        #		button.set_use_stock(True)
        #		hButtonBox.pack_start(button)

        # Expand the requirement and add an alternative if it's new
        if new:
            self.set_expanded(True)
            self.model.append((None, 1.0))

        # Show requirement
        self.show_all()

        # Delete requirement button (default is hidden)
        self.imgRemove = Image()
        self.imgRemove.connect("button-press-event", self.onDelRequirement)
        self.imgRemove.set_from_stock("gtk-cancel", ICON_SIZE_MENU)
        hBox.pack_start(self.imgRemove)

    def Add(self, alternative):
        self.model.append(alternative)

        names = []
        iter = self.model.get_iter_first()
        while iter:
            alt = self.model.get_value(iter, 0)
            if alt:
                names.append(alt)

            iter = self.model.iter_next(iter)

        self.title.set_text(','.join(names))

    def GetData(self):
        result = OrderedDict()

        iter = self.model.get_iter_first()
        while iter:
            alt = self.model.get_value(iter, 0)
            if alt:
                result[alt] = self.model.get_value(iter, 1)

            iter = self.model.iter_next(iter)

        return result

    def onDelRequirement(self, widget):
        self.get_parent().remove(self)

    def onEnterNotifyEvent(self, widget, event):
        self.imgRemove.show()

    def onLeaveNotifyEvent(self, widget, event):
        self.imgRemove.hide()

    def __btnDel_Alternative_Sensitivity(self):
        pass
#		self.__btnDel.set_sensitive(len(self.__model.))

    def on_btnAdd_Alternative_clicked(self, widget):
        self.model.append((None, 1.0))

        self.__btnDel_Alternative_Sensitivity()

    def on_btnDel_Alternative_clicked(self, widget):

        self.__btnDel_Alternative_Sensitivity()
Exemple #23
0
class PopupMenuItem(ImageMenuItem):
    def __init__(self, editor):
        ImageMenuItem.__init__(self, _("_Case"))
        self.__init_attributes(editor)
        self.__set_properties()
        self.__sigid1 = self.__menuitem1.connect("activate",
                                                 self.__activate_cb)
        self.__sigid2 = self.__menuitem2.connect("activate",
                                                 self.__activate_cb)
        self.__sigid3 = self.__menuitem3.connect("activate",
                                                 self.__activate_cb)
        self.__sigid4 = self.__menuitem1.connect("map-event",
                                                 self.__map_event_cb)
        self.__sigid5 = self.__menuitem2.connect("map-event",
                                                 self.__map_event_cb)
        self.__sigid6 = self.__menuitem3.connect("map-event",
                                                 self.__map_event_cb)
        self.__sigid7 = self.__editor.textview.connect("focus-in-event",
                                                       self.__focus_cb)

    def __init_attributes(self, editor):
        from gtk import Menu, Image, STOCK_SORT_DESCENDING
        self.__image = Image()
        self.__image.set_property("stock", STOCK_SORT_DESCENDING)
        self.__editor = editor
        self.__menu = Menu()
        self.__menuitem1 = editor.create_menuitem(_("_Togglecase (alt + u)"))
        self.__menuitem2 = editor.create_menuitem(
            _("_Titlecase (alt + shift + u)"))
        self.__menuitem3 = editor.create_menuitem(
            _("_Swapcase  (alt + shift + l)"))
        return

    def __set_properties(self):
        self.set_property("name", "Case Popup MenuItem")
        self.set_image(self.__image)
        self.set_submenu(self.__menu)
        self.__menu.append(self.__menuitem1)
        self.__menu.append(self.__menuitem2)
        self.__menu.append(self.__menuitem3)
        if self.__editor.readonly: self.set_property("sensitive", False)
        return

    def __activate_cb(self, menuitem):
        if menuitem == self.__menuitem1:
            self.__editor.trigger("togglecase")
        elif menuitem == self.__menuitem2:
            self.__editor.trigger("titlecase")
        else:
            self.__editor.trigger("swapcase")
        return True

    def __map_event_cb(self, menuitem, event):
        return False

    def __focus_cb(self, textview, event):
        self.__editor.disconnect_signal(self.__sigid1, self.__menuitem1)
        self.__editor.disconnect_signal(self.__sigid2, self.__menuitem2)
        self.__editor.disconnect_signal(self.__sigid3, self.__menuitem3)
        self.__editor.disconnect_signal(self.__sigid4, self.__menuitem1)
        self.__editor.disconnect_signal(self.__sigid5, self.__menuitem2)
        self.__editor.disconnect_signal(self.__sigid6, self.__menuitem3)
        self.__editor.disconnect_signal(self.__sigid7, self.__editor.textview)
        self.__menu.destroy()
        self.__image.destroy()
        self.destroy()
        del self
        self = None
        return False
Exemple #24
0
class PopupMenuItem(ImageMenuItem):

	def __init__(self, editor):
		ImageMenuItem.__init__(self, _("_Case"))
		self.__init_attributes(editor)
		self.__set_properties()
		self.__sigid1 = self.__menuitem1.connect("activate", self.__activate_cb)
		self.__sigid2 = self.__menuitem2.connect("activate", self.__activate_cb)
		self.__sigid3 = self.__menuitem3.connect("activate", self.__activate_cb)
		self.__sigid4 = self.__menuitem1.connect("map-event", self.__map_event_cb)
		self.__sigid5 = self.__menuitem2.connect("map-event", self.__map_event_cb)
		self.__sigid6 = self.__menuitem3.connect("map-event", self.__map_event_cb)
		self.__sigid7 = self.__editor.textview.connect("focus-in-event", self.__focus_cb)

	def __init_attributes(self, editor):
		from gtk import Menu, Image, STOCK_SORT_DESCENDING
		self.__image = Image()
		self.__image.set_property("stock", STOCK_SORT_DESCENDING)
		self.__editor = editor
		self.__menu = Menu()
		self.__menuitem1 = editor.create_menuitem(_("_Togglecase (alt + u)"))
		self.__menuitem2 = editor.create_menuitem(_("_Titlecase (alt + shift + u)"))
		self.__menuitem3 = editor.create_menuitem(_("_Swapcase  (alt + shift + l)"))
		return

	def __set_properties(self):
		self.set_property("name", "Case Popup MenuItem")
		self.set_image(self.__image)
		self.set_submenu(self.__menu)
		self.__menu.append(self.__menuitem1)
		self.__menu.append(self.__menuitem2)
		self.__menu.append(self.__menuitem3)
		if self.__editor.readonly: self.set_property("sensitive", False)
		return

	def __activate_cb(self, menuitem):
		if menuitem == self.__menuitem1:
			self.__editor.trigger("togglecase")
		elif menuitem == self.__menuitem2:
			self.__editor.trigger("titlecase")
		else:
			self.__editor.trigger("swapcase")
		return True

	def __map_event_cb(self, menuitem, event):
		return False

	def __focus_cb(self, textview, event):
		self.__editor.disconnect_signal(self.__sigid1, self.__menuitem1)
		self.__editor.disconnect_signal(self.__sigid2, self.__menuitem2)
		self.__editor.disconnect_signal(self.__sigid3, self.__menuitem3)
		self.__editor.disconnect_signal(self.__sigid4, self.__menuitem1)
		self.__editor.disconnect_signal(self.__sigid5, self.__menuitem2)
		self.__editor.disconnect_signal(self.__sigid6, self.__menuitem3)
		self.__editor.disconnect_signal(self.__sigid7, self.__editor.textview)
		self.__menu.destroy()
		self.__image.destroy()
		self.destroy()
		del self
		self = None
		return False
Exemple #25
0
class PopupMenuItem(ImageMenuItem):

	def __init__(self, editor):
		ImageMenuItem.__init__(self, _("Paragraph"))
		self.__init_attributes(editor)
		self.__set_properties()
		self.__sig_id_1 = self.__next_item.connect("activate", self.__activate_cb)
		self.__sig_id_2 = self.__previous_item.connect("activate", self.__activate_cb)
		self.__sig_id_3 = self.__reflow_item.connect("activate", self.__activate_cb)
		self.__sig_id_4 = editor.textview.connect("focus-in-event", self.__destroy_cb)
		self.__sig_id_5 = self.__select_item.connect("activate", self.__activate_cb)

	def __init_attributes(self, editor):
		from gtk import Menu, Image
		self.__editor = editor
		self.__menu = Menu()
		self.__image = Image()
		self.__previous_item = editor.create_menuitem(_("Previous Paragraph (alt + Right)"))
		self.__next_item = editor.create_menuitem(_("Next Paragraph (alt + Left)"))
		self.__reflow_item = editor.create_menuitem(_("Reflow Paragraph (alt + q)"))
		self.__select_item = editor.create_menuitem(_("Select Paragraph (alt + p)"))
		return

	def __set_properties(self):
		from gtk import STOCK_JUMP_TO
		self.__image.set_property("stock", STOCK_JUMP_TO)
		self.set_image(self.__image)
		self.set_submenu(self.__menu)
		self.__menu.append(self.__previous_item)
		self.__menu.append(self.__next_item)
		self.__menu.append(self.__reflow_item)
		self.__menu.append(self.__select_item)
		if self.__editor.readonly: self.__reflow_item.set_property("sensitive", False)
		return

	def __activate_cb(self, menuitem):
		if menuitem == self.__previous_item:
			self.__editor.trigger("previous-paragraph")
		elif menuitem == self.__next_item:
			self.__editor.trigger("next-paragraph")
		elif menuitem == self.__select_item:
			self.__editor.trigger("select-paragraph")
		else:
			self.__editor.trigger("reflow-paragraph")
		return False

	def __destroy_cb(self, *args):
		self.__editor.disconnect_signal(self.__sig_id_1, self.__next_item)
		self.__editor.disconnect_signal(self.__sig_id_2, self.__previous_item)
		self.__editor.disconnect_signal(self.__sig_id_3, self.__reflow_item)
		self.__editor.disconnect_signal(self.__sig_id_4, self.__editor.textview)
		self.__editor.disconnect_signal(self.__sig_id_5, self.__select_item)
		self.__next_item.destroy()
		self.__select_item.destroy()
		self.__previous_item.destroy()
		self.__reflow_item.destroy()
		self.__menu.destroy()
		self.__image.destroy()
		self.destroy()
		del self
		self = None
		return False
Exemple #26
0
class PopupMenuItem(ImageMenuItem):

	def __init__(self, editor):
		ImageMenuItem.__init__(self, _("Selection"))
		self.__init_attributes(editor)
		self.__creates_widgets()
		self.__set_properties()
		self.__signal_id_1 = self.select_word_menuitem.connect("activate", self.__popup_activate_cb)
		self.__signal_id_2 = self.select_line_menuitem.connect("activate", self.__popup_activate_cb)
		self.__signal_id_3 = self.select_sentence_menuitem.connect("activate", self.__popup_activate_cb)
		self.__signal_id_4 = self.paragraph_item.connect("activate", self.__popup_activate_cb)
		self.__signal_id_5 = self.select_word_menuitem.connect("map-event", self.__popup_word_map_event_cb)
		self.__signal_id_6 = self.select_line_menuitem.connect("map-event", self.__popup_line_map_event_cb)
		self.__signal_id_7 = self.select_sentence_menuitem.connect("map-event", self.__popup_sentence_map_event_cb)
		self.__signal_id_9 = self.scribesview.connect("focus-in-event", self.__focus_in_event_cb)

	def __init_attributes(self, editor):
		self.scribesview = editor.textview
		self.editor = editor
		self.menu = None
		self.image = None
		self.select_word_menuitem = None
		self.select_line_menuitem = None
		self.select_sentence_menuitem = None
		return

	def __creates_widgets(self):
		from gtk import Image, STOCK_BOLD, Menu
		self.image = Image()
		self.image.set_property("stock", STOCK_BOLD)
		self.menu = Menu()
		self.select_word_menuitem = self.editor.create_menuitem(_("Select word (alt + w)"))
		self.select_line_menuitem = self.editor.create_menuitem(_("Select line (alt + l)"))
		self.select_sentence_menuitem = self.editor.create_menuitem(_("Select sentence (alt + s)"))
		self.paragraph_item = self.editor.create_menuitem(_("Select paragraph (alt + p)"))
		return

	def __set_properties(self):
		self.set_image(self.image)
		self.set_submenu(self.menu)
		self.menu.append(self.select_line_menuitem)
		self.menu.append(self.select_word_menuitem)
		self.menu.append(self.select_sentence_menuitem)
		self.menu.append(self.paragraph_item)
		if self.editor.readonly: self.set_property("sensitive", False)
		return

	def __popup_activate_cb(self, menuitem):
		if menuitem == self.select_word_menuitem:
			self.editor.trigger("select-word")
		elif menuitem == self.select_line_menuitem:
			self.editor.trigger("select-line")
		elif menuitem == self.select_sentence_menuitem:
			self.editor.trigger("select-sentence")
		elif menuitem == self.paragraph_item:
			self.editor.trigger("select-paragraph")
		return True

	def __popup_word_map_event_cb(self, menuitem, event):
		menuitem.set_property("sensitive", False)
		from word import inside_word, starts_word, ends_word
		cursor_position = self.editor.get_cursor_iterator()
		if inside_word(cursor_position) or starts_word(cursor_position) or ends_word(cursor_position):
			menuitem.set_property("sensitive", True)
		return True

	def __popup_line_map_event_cb(self, menuitem, event):
		menuitem.set_property("sensitive", False)
		from lines import get_line_bounds
		begin_position, end_position = get_line_bounds(self.editor.textbuffer)
		if not begin_position.get_char() in ["\n", "\x00"]:
			menuitem.set_property("sensitive", True)
		return True

	def __popup_sentence_map_event_cb(self, menuitem, event):
		menuitem.set_property("sensitive", False)
		cursor_position = self.editor.get_cursor_iterator()
		if cursor_position.starts_sentence() or cursor_position.ends_sentence() or cursor_position.inside_sentence():
			menuitem.set_property("sensitive", True)
		return True

	def __focus_in_event_cb(self, event, textview):
		self.editor.disconnect_signal(self.__signal_id_1, self.select_word_menuitem)
		self.editor.disconnect_signal(self.__signal_id_2, self.select_line_menuitem)
		self.editor.disconnect_signal(self.__signal_id_3, self.select_sentence_menuitem)
		self.editor.disconnect_signal(self.__signal_id_4, self.select_sentence_menuitem)
		self.editor.disconnect_signal(self.__signal_id_5, self.select_word_menuitem)
		self.editor.disconnect_signal(self.__signal_id_6, self.select_line_menuitem)
		self.editor.disconnect_signal(self.__signal_id_7, self.select_sentence_menuitem)
		self.editor.disconnect_signal(self.__signal_id_9, self.scribesview)
		if self.select_word_menuitem: self.select_word_menuitem.destroy()
		if self.select_sentence_menuitem: self.select_sentence_menuitem.destroy()
		if self.select_line_menuitem: self.select_line_menuitem.destroy()
		if self.image: self.image.destroy()
		if self.menu: self.menu.destroy()
		del self
		self = None
		return False
Exemple #27
0
def create_image(file_path):
	image_file = find_file(file_path)
	from gtk import Image
	image = Image()
	image.set_from_file(image_file)
	return image