def _on_button_press(self, treeview, event): """ Handle mouse clicks on the Hardware package Module View RAMSTKTreeView(). :param treeview: the Hardware Module View RAMSTKTreeView(). :type treeview: :class:`ramstk.gui.gtk.ramstk.TreeView.RAMSTKTreeView` :param event: the gtk.gdk.Event() that called this method (the important attribute is which mouse button was clicked). * 1 = left * 2 = scrollwheel * 3 = right * 4 = forward * 5 = backward * 8 = * 9 = :type event: :class:`gtk.gdk.Event` :return: False if successful or True if an error is encountered. :rtype: bool """ treeview.handler_block(self._lst_handler_id[1]) # The cursor-changed signal will call the _on_change_row. If # _on_change_row is called from here, it gets called twice. Once on # the currently selected row and once on the newly selected row. Thus, # we don't need (or want) to respond to left button clicks. if event.button == 3: _menu = gtk.Menu() _menu.popup(None, None, None, event.button, event.time) _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(self._dic_icons['insert_sibling']) _menu_item.set_label(_(u"Add Sibling Assembly")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', self._do_request_insert_sibling, True) _menu_item.show() _menu.append(_menu_item) _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(self._dic_icons['insert_child']) _menu_item.set_label(_(u"Add Child Assembly")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', self._do_request_insert_child, True) _menu_item.show() _menu.append(_menu_item) _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(self._dic_icons['insert_part']) _menu_item.set_label(_(u"Add Sibling Piece Part")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', self._do_request_insert_sibling, False) _menu_item.show() _menu.append(_menu_item) _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(self._dic_icons['insert_part']) _menu_item.set_label(_(u"Add Child Piece Part")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', self._do_request_insert_child, False) _menu_item.show() _menu.append(_menu_item) _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(self._dic_icons['calculate_all']) _menu_item.set_label(_(u"Calculate the System")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', self._do_request_calculate_all) _menu_item.show() _menu.append(_menu_item) _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(self._dic_icons['remove']) _menu_item.set_label(_(u"Remove Selected Hardware")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', self._do_request_delete) _menu_item.show() _menu.append(_menu_item) _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(self._dic_icons['save']) _menu_item.set_label(_(u"Save Selected Hardware")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', self._do_request_update) _menu_item.show() _menu.append(_menu_item) _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(self._dic_icons['save-all']) _menu_item.set_label(_(u"Save All Hardwares")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', self._do_request_update_all) _menu_item.show() _menu.append(_menu_item) treeview.handler_unblock(self._lst_handler_id[1]) return False
def _make_menu(self): """ Make the menu for the Module Book. :return _menubar: the gtk.MenuBar() for the RAMSTK ModuleBook. :type _menubar: :class:`gtk.MenuBar` """ _icon_dir = self._mdcRAMSTK.RAMSTK_CONFIGURATION.RAMSTK_ICON_DIR _menu = gtk.Menu() _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(_icon_dir + '/16x16/new.png') _menu_item.set_label(_(u"New _Program")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', CreateProject, self._mdcRAMSTK) _menu.append(_menu_item) _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(_icon_dir + '/16x16/open.png') _menu_item.set_label(_(u"_Open")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', OpenProject, self._mdcRAMSTK) _menu.append(_menu_item) _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(_icon_dir + '/16x16/import.png') _menu_item.set_label(_(u"_Import Project")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', ImportProject, self._mdcRAMSTK) _menu.append(_menu_item) _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(_icon_dir + '/16x16/save.png') _menu_item.set_label(_(u"_Save")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', self._request_save_project) _menu.append(_menu_item) _menu_item = gtk.MenuItem(label=_(u"_Close"), use_underline=True) _menu_item.connect('activate', self._do_request_close_project) _menu.append(_menu_item) _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(_icon_dir + '/16x16/exit.png') _menu_item.set_label(_(u"E_xit")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', destroy) _menu.append(_menu_item) _mnuFile = gtk.MenuItem(label=_(u"_File"), use_underline=True) _mnuFile.set_submenu(_menu) # Create the Edit menu. _menu = gtk.Menu() _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(_icon_dir + '/16x16/preferences.png') _menu_item.set_label(_(u"_Preferences")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', Preferences, self._mdcRAMSTK) _menu.append(_menu_item) _mnuEdit = gtk.MenuItem(label=_(u"_Edit"), use_underline=True) _mnuEdit.set_submenu(_menu) # Create the Tools menu. _menu = gtk.Menu() _menu_item = gtk.ImageMenuItem() _image = gtk.Image() _image.set_from_file(_icon_dir + '/16x16/options.png') _menu_item.set_label(_(u"_Options")) _menu_item.set_image(_image) _menu_item.set_property('use_underline', True) _menu_item.connect('activate', Options, self._mdcRAMSTK) _menu.append(_menu_item) _mnuTools = gtk.MenuItem(label=_(u"_Tools"), use_underline=True) _mnuTools.set_submenu(_menu) _menubar = gtk.MenuBar() _menubar.append(_mnuFile) _menubar.append(_mnuEdit) _menubar.append(_mnuTools) _menubar.show_all() return _menubar