Exemplo n.º 1
0
    def __init__(self, parent, data, expert_pwd, executionMode=False):
        qt.QMenuBar.__init__(self, parent.centralWidget)

        parent.centralWidget.layout().addWidget(self)
        self.setSizePolicy(qt.QSizePolicy.MinimumExpanding,
                           qt.QSizePolicy.Fixed)

        self.data = data
        self.expertPwd = expert_pwd
        # the emitter is the top parent (the window itself, not the centralWidget)
        self.topParent = parent
        self.executionMode = executionMode

        self.file = qt.QPopupMenu(self)
        self.file.insertItem("Quit", self.quit)
        self.help = qt.QPopupMenu(self)
        self.help.insertItem("What's this ?", self.whatsthis)

        self.insertItem("File", self.file)
        self.insertItem("Help", self.help)
        self.insertSeparator()
        self.expertMode = qt.QCheckBox("Expert mode", self)
        self.expertModeStdColor = None
        qt.QObject.connect(self.expertMode, qt.SIGNAL('clicked()'),
                           self.expertModeClicked)
        self.insertItem(self.expertMode)
    def __init__(self,parent,name,uifile = 'LookupScan.ui',cmd_name = 'ltscan',**kwargs) :
        BaseGraphicScan.__init__(self, parent, name, uifile=uifile, cmd_name=cmd_name, **kwargs)
        self._graphicSelection = None
        self.__polyNb = 0
        self.__gridPoints = None
        self._matchPoints = None
        self.__offsetMeasure = 1e3
        self._ltinit = None
        
        self.addProperty('offsetmeasure','float',1e3)
        
        table = self._widgetTree.child('__gridTable')
        qt.QObject.connect(table,qt.SIGNAL('valueChanged(int,int)'),self._valueChangedScanParam)

        timeWidget = self._widgetTree.child('__time')
        timeWidget.setValidator(qt.QDoubleValidator(timeWidget))
        # PopUp Menu
        self.__polygonListWidget = self._widgetTree.child('__polygonList')
        self.__polygonListWidget.setSelectionMode(qt.QListView.Extended)

        self.__polygonPopUpMenu = qt.QPopupMenu(self.__polygonListWidget)
        for itemName,cbk in [('Create new',self.__createPolygon),
                             ('Remove',self.__removeSelectedPolygon),
                             ('Revert selection',self.__revertSelectedPolygon)] :
            self.__polygonPopUpMenu.insertItem(itemName,cbk)

        self.connect(self.__polygonListWidget,qt.SIGNAL('rightButtonPressed(QListViewItem*,const QPoint &,int)'),
                     self.__polygonPopUpDisplay)

        timeWidget = self._widgetTree.child('__time')
        self.connect(timeWidget,qt.SIGNAL('returnPressed()'),self.__refreshInfoText)
        self.connect(timeWidget,qt.SIGNAL('lostFocus()'),self.__refreshInfoText)
Exemplo n.º 3
0
    def show_context_menu(self, item, point, col):
        menu = qt.QPopupMenu(self.sample_list_view, "popup_menu")

        if item:
            if isinstance(item, queue_item.DataCollectionGroupQueueItem):
                menu.insertItem(qt.QString("Rename"),
                                self.rename_list_view_item)
                menu.insertSeparator(1)
                menu.insertItem(qt.QString("Remove"), self.delete_click)
                menu.popup(point)
            elif isinstance(item, queue_item.SampleQueueItem):
                if not item.get_model().free_pin_mode:
                    if self.beamline_setup_hwobj.diffractometer_hwobj.in_plate_mode(
                    ):
                        self.plate_sample_to_mount = item
                        menu.insertItem(qt.QString("Move"), self.mount_sample)
                    else:
                        if self.is_mounted_sample_item(item):
                            menu.insertItem(qt.QString("Unmount"),
                                            self.unmount_sample)
                        else:
                            menu.insertItem(qt.QString("Mount"),
                                            self.mount_sample)

                menu.insertSeparator(3)
                menu.insertItem(qt.QString("Details"), self.show_details)
                menu.popup(point)
            else:
                menu.popup(point)
                menu.insertSeparator(2)
                menu.insertItem(qt.QString("Remove"), self.delete_click)
                menu.insertSeparator(4)
                menu.insertItem(qt.QString("Details"), self.show_details)
Exemplo n.º 4
0
    def __init__(self, parent):
        qt.QListView.__init__(self, parent)
        self.setRootIsDecorated(1)
        self.setSorting(-1)
        self.addColumn(kdecore.i18n('Name'))
        self.addColumn(kdecore.i18n('Value'))
        self.setColumnAlignment(1, qt.Qt.AlignRight)
        self.setColumnWidth(0, 100)
        self.setAllColumnsShowFocus(True)
        self.actions = actions = kdeui.KActionCollection(self)

        self.viewItemAction = \
            util.buildAction('view_item', 'View', 'viewmag', '',
                            'View this item', actions)
        self.viewSourceAction = \
            util.buildAction('view_source', 'View Source', 'source_py', '',
                            'View item source code', actions)
        self.separateAction = kdeui.KActionSeparator()
        self.saveAction = \
            util.buildAction('save_item', 'Save', 'filesave', '',
                            'Save item', actions)

        self.popMenu = pop = qt.QPopupMenu(self)
        self.viewItemAction.plug(pop)
        self.viewSourceAction.plug(pop)
        self.separateAction.plug(pop)
        self.saveAction.plug(pop)

        sigAct = util.sigActivated
        self.connect(self, util.sigListContext, self.contextMenu)
        self.connect(self.viewItemAction, sigAct, self.viewItem)
        self.connect(self.viewSourceAction, sigAct, self.viewItemNodeSource)
        self.connect(self.saveAction, sigAct, self.saveItemNode)
Exemplo n.º 5
0
    def _showContextMenu(self, item, pos, val):
        """Pop up a context menu when an item is right-clicked on the list view."""

        popup = qt.QPopupMenu(self)

        selected_items = self._getSelectedItems()

        if not selected_items:

            popup.insertItem('No action available', 100)
        else:
            if len(selected_items) == 1:
                if item.is_active:
                    popup.insertItem('No action available', 100)
                else:
                    popup.insertItem('Open', lambda: self._openWorkspace(item))
                    popup.insertItem('Delete',
                                     lambda: self._deleteWorkspace(item))

                # popup.insertItem('Properties', lambda: self._showWorkspaceProperties(item))

            elif len(selected_items) > 1:
                popup.insertItem(
                    'Delete', lambda: self._deleteWorkspaces(selected_items))
            else:
                api.devlog(
                    "ERROR: right click on an valid item (%r) which has a null object"
                    % item)

        ret = popup.exec_loop(pos)

        api.devlog("contextMenuEvent WorkspaceItem - item: %s - ret %s" %
                   (self.name, ret))
Exemplo n.º 6
0
 def __init__(self, parent):
     qt.QTabBar.__init__(self,parent)
     self._actions = {}
     self._setupActions()
     self.connect(self, qt.PYSIGNAL('contextMenu'), self._showContextMenu )
     self.contextPopupMenu = qt.QPopupMenu(self)
     self._setupContextPopupMenu()
Exemplo n.º 7
0
    def buildMenu(self, label):
        """ buildMenu(label) -> create and configure a popup menu on the menubar

        """
        menu = qt.QPopupMenu(self)
        menu.insertTearOffHandle()
        self.menuBar().insertItem(i18n(label), menu)
        return menu
Exemplo n.º 8
0
    def _setupMenues(self):
        """
        Configures all the main windows menues
        """

        self._menues["file"] = qt.QPopupMenu(self)
        self.menuBar().insertItem('&File', self._menues["file"])

        self._actions["exit-faraday"].addTo(self._menues["file"])
        self.menuBar().insertSeparator()

        self._menues["shell"] = qt.QPopupMenu(self)
        self.menuBar().insertItem('&Shell', self._menues["shell"])
        self._actions["new_shell"].addTo(self._menues["shell"])
        self._actions["close_shell"].addTo(self._menues["shell"])
        self._actions["maximize-shell"].addTo(self._menues["shell"])

        self.menuBar().insertSeparator()

        self._menues["edit"] = qt.QPopupMenu(self)
        self.menuBar().insertItem('&Edit', self._menues["edit"])
        self._menues["edit"].insertItem('&Copy', self._copy)
        self._menues["edit"].insertItem('&Paste', self._paste)

        self._actions["repo-config"].addTo(self._menues["edit"])

        self.menuBar().insertSeparator()

        self._menues["workspace"] = qt.QPopupMenu(self)
        self.menuBar().insertItem('&Workspace', self._menues["workspace"])
        # self._actions["open-workspace"].addTo(self._menues["workspace"])
        self._actions["create-workspace"].addTo(self._menues["workspace"])

        self.menuBar().insertSeparator()

        self._menues["tools"] = qt.QPopupMenu(self)
        self.menuBar().insertItem('&Tools', self._menues["tools"])
        self._actions["visualization"].addTo(self._menues["tools"])

        self._actions["plugin"].addTo(self._menues["tools"])
        self._actions["screenshot"].addTo(self._menues["tools"])

        self.menuBar().insertSeparator()

        self._menues["view"] = qt.QPopupMenu(self)
        self.menuBar().insertItem('&View', self._menues["view"])
        self._actions["toggle-hosttree"].addTo(self._menues["view"])
        self._actions["toggle-logconsole"].addTo(self._menues["view"])
        self._actions["maximize-shell"].addTo(self._menues["view"])

        self.menuBar().insertSeparator()

        self._menues["help"] = qt.QPopupMenu(self)
        self.menuBar().insertItem('&Help', self._menues["help"])
        self._menues["help"].insertItem('&About', self._showAboutDialog)
        self._actions["documentation"].addTo(self._menues["help"])
Exemplo n.º 9
0
 def onListPopupMenu(self, item, point, col):
     component = self._getSelectedComponent()
     ready = (self.device.getState() == SampleChanger.SampleChangerState.Ready)
     if col==0 and (component is not None):
         menu = qt.QPopupMenu(self.list,"Popup Menu")
         font = menu.font()
         font.setPointSize(11)
         menu.setFont(font)            
         if component == self.device:
             menu.setItemEnabled(menu.insertItem( "Set ID",  self.onMenuSetID),component.isTransient())
         menu.setItemEnabled(menu.insertItem( "Scan",  self.onMenuScan),component.isScannable())            
         menu.popup(point) 
Exemplo n.º 10
0
 def __init__(self, master, code, *args, **kw):
     for i in kw.keys():
         setattr(self, i, kw[i])
     self.master = master
     self.menu = qt.QPopupMenu(master.win)
     self.istack = []
     self.mstack = [self.menu]
     self.cnt = 0
     self.codes = {}
     self.implant('code', code)
     self.vexec(self.code)
     del self.mstack
     self.menu.exec_loop(qt.QCursor.pos())
Exemplo n.º 11
0
    def __init__(self, parent=None, name="CTB"):
        """
        """
        qt.QToolButton.__init__(self, parent, name)

        self.setAutoRaise(True)
        
        self.simpleColor = [qt.Qt.black,
                            qt.Qt.white,
                            qt.Qt.red,
                            qt.Qt.green,
                            qt.Qt.blue,
                            qt.Qt.yellow]
        
        self.selectedColor = qt.QColor(qt.Qt.black)
        
        self.setIconColor(self.selectedColor)
        
        self.popupMenu = qt.QPopupMenu(self)

        self.setPopup(self.popupMenu)
        self.setPopupDelay(0)
        
        colorBar = qt.QHButtonGroup(self.popupMenu)
        colorBar.setFlat(True)
        colorBar.setInsideMargin(5)
        colorButton = []
        
        for color in self.simpleColor:
            w = qt.QPushButton(colorBar)
            w.setPaletteBackgroundColor(color)
            w.setFixedSize(15, 15)
            colorBar.insert(w)
            colorButton.append(w)
        
        self.connect(colorBar, qt.SIGNAL("clicked(int )"),
                     self.selectSimpleColor)
                    
        otherBar = qt.QHButtonGroup(self.popupMenu)
        otherBar.setFlat(True)
        otherBar.setInsideMargin(5)
        moreButton = qt.QToolButton(otherBar)
        moreButton.setTextLabel("More color ...")
        moreButton.setUsesTextLabel(True)
        moreButton.setAutoRaise(True)
        self.connect(moreButton, qt.SIGNAL("clicked()"), self.selectColor)
                        
        self.popupMenu.insertItem(colorBar)
        self.popupMenu.insertItem(otherBar)
Exemplo n.º 12
0
 def insertmenu(menubar, menu):
    item = menu[0]
    action = self._actions[item]
    m = qt.QPopupMenu(menubar)
    text = action.menuText()
    menubar.insertItem(text, m)
    for item in menu[1]:
        if isinstance(item, tuple):
            insertmenu(m, item)
        elif item:
            action = self._actions[item]
            #i = qt.QPopupMenu(m)
            #text = action.menuText()
            #m.insertItem(text, i)
            action.addTo(m)
        else:
            m.insertSeparator()
Exemplo n.º 13
0
    def itemRightClicked(self, item):
        #print 'right clicked on', item.text(0)
        item_name = str(item.text(0))

        item_cfg = self.configuration.findItem(item_name)

        if self.configuration.isBrick(item_cfg):
            popup_menu = qt.QPopupMenu()

            def _itemRightClicked(id, item_name=item_name):
                item_cfg=self.configuration.reload_brick(item_name)
                item = self.treeLayout.findItem(item_name, 0)
                #print 'emitting newItem'
                self.emit(qt.PYSIGNAL("newItem"), (item_cfg["brick"].propertyBag, item_cfg["brick"]._propertyChanged))
                #print 'itemSelected'
                self.itemSelected(item)
                
            qt.QObject.connect(popup_menu, qt.SIGNAL("activated(int)"), _itemRightClicked)
                
            popup_menu.insertItem("reload brick", 0)
            popup_menu.exec_loop(qt.QCursor.pos())
Exemplo n.º 14
0
    def __init__(self, *args, **kwargs):
        qt.QMainWindow.__init__(self, *args)

        self.filename = None
        
        self.setCaption("GUI Builder")

        toolbar = qt.QToolBar(self)
        self.cmdNew = ToolButton(toolbar, "new", self.newClicked, "create a new GUI")
        self.cmdOpen = ToolButton(toolbar, "open", self.openClicked, "open an existing GUI file")
        self.cmdSave = ToolButton(toolbar, "save", self.saveClicked, "save current GUI")
        HorizontalSpacer(toolbar, size=20)
        self.cmdLaunchGUI = ToolButton(toolbar, "launch", self.launchGUIClicked, "launch GUI (as a separate process)")
        HorizontalSpacer(toolbar, size=20)
        self.cmdViewPropertyEditor = ToolButton(toolbar, "Draw", self.showProperties, "show properties window")
        self.cmdViewGuiPreview = ToolButton(toolbar, "window_preview", self.showGuiPreview, "show GUI preview")
        self.cmdViewLog = ToolButton(toolbar, "Inform", self.showLog, "show log messages window")
        self.cmdViewHWR = ToolButton(toolbar, "view_tree", self.showHWR, "show Hardware Repository")
        HorizontalSpacer(toolbar)
        
        vbox = qt.QVBox(self)
        self.setCentralWidget(vbox) #vsplitter)
         
        hbox = qt.QSplitter(qt.Qt.Horizontal, vbox)
        self.statusbar = self.statusBar()
        self.guiEditorWindow = GUIEditorWindow(hbox)
        self.toolboxWindow = ToolboxWindow(hbox)
        
        self.logWindow = LogViewBrick.LogViewBrick(None)
        self.logWindow.setCaption("Log window")
        sw = qt.QApplication.desktop().screen().width()
        sh = qt.QApplication.desktop().screen().height()
        self.logWindow.resize(qt.QSize(sw*0.8, sh*0.2))
        self.propertyEditorWindow = PropertyEditorWindow(None)
        self.guiPreviewWindow = GUIPreviewWindow(None)
        self.hwrWindow = HWRWindow(None)

        self.configuration = self.guiEditorWindow.configuration
        
        #
        # build File menu
        #
        fileMenu = qt.QPopupMenu(self)
        fileMenu.insertItem('New', self.newClicked)
        fileMenu.insertSeparator()
        fileMenu.insertItem('Open', self.openClicked)
        fileMenu.insertSeparator()
        fileMenu.insertItem('Save', self.saveClicked)
        fileMenu.insertItem('Save as', self.saveAsClicked)
        fileMenu.insertSeparator()
        fileMenu.insertItem('Quit', self.quitClicked)
        viewMenu = qt.QPopupMenu(self)
        viewMenu.insertItem('Property Editor', self.showProperties)
        viewMenu.insertItem('GUI Preview', self.showGuiPreview)
        viewMenu.insertItem('Log window', self.showLog)
        
        #
        # build menu bar
        #
        mainMenu = self.menuBar()
        mainMenu.insertItem('File', fileMenu)
        mainMenu.insertItem('View', viewMenu)

        #
        # connections
        #
        qt.QObject.connect(self.toolboxWindow, qt.PYSIGNAL("addBrick"), self.guiEditorWindow.addBrick)
        qt.QObject.connect(self.guiEditorWindow, qt.PYSIGNAL("editProperties"), self.propertyEditorWindow.editProperties)
        qt.QObject.connect(self.guiEditorWindow, qt.PYSIGNAL("newItem"), self.propertyEditorWindow.addProperties)
        qt.QObject.connect(self.guiEditorWindow, qt.PYSIGNAL("updatePreview"), self.guiPreviewWindow.drawWindow)
        qt.QObject.connect(self.guiPreviewWindow, qt.PYSIGNAL("previewItemClicked"), self.guiEditorWindow.selectItem)
        qt.QObject.connect(self.guiEditorWindow, qt.PYSIGNAL("showProperties"), self.showProperties)
        qt.QObject.connect(self.guiEditorWindow, qt.PYSIGNAL("hideProperties"), self.hideProperties)
        qt.QObject.connect(self.guiEditorWindow, qt.PYSIGNAL("showPreview"), self.showGuiPreview)

        #
        # finish GUI
        #
        self.toolboxWindow.refresh()

        self.guiPreviewWindow.show()
Exemplo n.º 15
0
    def __init__(self, parent, name, **keys):
        BlissWidget.__init__(self, parent, name)
        self.__hMotor = None
        self.__vMotor = None
        self.__motor_pos_save = []
        self.__master_motor = None
        self.__masterPosition2Item = weakref.WeakValueDictionary()
        self.__currentCalib = None
        self.__currentBeamPos = None
        self.__camDecompNPlug = None
        self.mosaicView = None
        self.drawing = None
        self.__saveImageTreeDirName = '.'
        self.__imageMosaicPosition = None
        ####### Property #######
        self.addProperty('horizontal', 'string', '')
        self.addProperty('vertical', 'string', '')
        self.addProperty('save_motors', 'string', '')
        self.addProperty('master_motor', 'string', '')
        self.addProperty('focus_motor', 'string', '')
        self.addProperty('live_camera', 'string', '')
        self.addProperty("formatString", "formatString", "###.##")
        ####### SIGNAL #######
        self.defineSignal("getImage", ())
        self.defineSignal('getView', ())
        self.defineSignal('getMosaicView', ())
        ####### SLOT #######
        self.defineSlot("ChangePixelCalibration", ())
        self.defineSlot("ChangeBeamPosition", ())
        self.defineSlot('setMosaicImageSelected', ())

        self.__widgetTree = self.loadUIFile('CameraOffLineImageManager.ui')
        self.__frame = self.__widgetTree.child('__frame')
        self.__frame.reparent(self, qt.QPoint(0, 0))
        layout = qt.QHBoxLayout(self)
        layout.addWidget(self.__frame)

        snapButton = self.child('__snapShoot')
        iconSet = qt.QIconSet(loadIcon("snapshot.png"))
        snapButton.setIconSet(iconSet)
        qt.QObject.connect(snapButton, qt.SIGNAL('clicked()'), self.__snapCBK)

        liveCheckBox = self.child('__liveCheckBox')
        liveCheckBox.hide()
        qt.QObject.connect(liveCheckBox, qt.SIGNAL('toggled(bool)'),
                           self.__liveOnOff)

        self.__imageList = self.child('__imageList')
        self.__imageList.setSelectionMode(qt.QListView.Extended)
        self.__imageList.setSortColumn(-1)
        self.__popUpMenu = qt.QPopupMenu(self)
        self.__popUpMenu.insertItem('layer up', self.__layerUp)
        self.__popUpMenu.insertItem('layer down', self.__layerDown)
        self.__popUpMenu.insertItem('remove', self.__removeImage)

        self.__popUpMenu.insertSeparator()
        self.__popUpMenu.insertItem('load', self.__loadImageTree)
        self.__popUpMenu.insertItem('save', self.__saveImageTree)

        qt.QObject.connect(
            self.__imageList,
            qt.SIGNAL('rightButtonPressed(QListViewItem*,const QPoint &,int)'),
            self.__popUpDisplay)
Exemplo n.º 16
0
 def sub(self, name):
     self.mstack.append(qt.QPopupMenu(self.master.win))
     self.istack.append(name)
Exemplo n.º 17
0
 def setupMenu(self):
     self.menu = qt.QPopupMenu(self)
     self.menu.insertItem('Copy', self.copy)
     self.menu.insertItem('Paste', self.paste)
     self.menu.insertSeparator()
     self.menu.insertItem('Clear', self.clear)
Exemplo n.º 18
0
    def _setupContextPopups(self):
        """
        Configures a context popup menu for each kind of item shown in the tree.
        This is done because different options may be needed for each item
        """
                         
        popup = qt.QPopupMenu(self)
                                      
                                             
                                            
        popup.insertSeparator()
        popup.insertItem('Resolve Conflicts', 303)
        popup.insertItem('Save Vulns CSV', 402)
        popup.insertItem('Import Vulns CSV', 403)
                                
                                              
        popup.insertSeparator()
        popup.insertItem('Add Host', 800)

        self.contextpopups["Workspace"] = popup

        self.contextpopups["Category_General"] = self.contextpopups["Workspace"]

                                
        popup = qt.QPopupMenu(self)
                                                  
                                
                                       

        self.contextpopups["Category_Applications"] = popup

                              
        popup = qt.QPopupMenu(self)
        popup.insertItem('Add Interfaces', 600)
                                
                                       

        self.contextpopups["Category_Interfaces"] = popup

                        
                                     
                                                     
                                 
                                              
                                 
                                                   
                                                      
                                 
                                           
                                             
                                 
                                        

                                                   

               
        popup = qt.QPopupMenu(self)
        popup.insertItem('Delete Host', 802)
        popup.insertSeparator()
        popup.insertItem('Add Interface', 600)
        popup.insertSeparator()
        popup.insertItem('New Vulnerability',400)
        popup.insertItem('List Vulnerabilities',401)
        popup.insertSeparator()
        popup.insertItem('New note', 500)
        popup.insertItem('Show notes', 501)
        popup.insertSeparator()
        popup.insertItem('New Credential', 550)
        popup.insertItem('Show Credentials', 551)
        popup.insertItem('Import Creds', 561)
                                
                                       

        self.contextpopups["Host"] = popup

                    
        popup = qt.QPopupMenu(self)
        popup.insertItem('Delete Interface', 602)
        popup.insertSeparator()
        popup.insertItem('Add Service', 200)
        popup.insertSeparator()
        popup.insertItem('New Vulnerability',400)
        popup.insertItem('List Vulnerabilities',401)
        popup.insertSeparator()
        popup.insertItem('New note', 500)
        popup.insertItem('Show notes', 501)
                                
                                       

        self.contextpopups["Interface"] = popup

                  
        popup = qt.QPopupMenu(self)
        popup.insertItem('Delete Service', 202)
        popup.insertSeparator()
        popup.insertItem('New Vulnerability',400)
        popup.insertItem('List Vulnerabilities',401)
        popup.insertSeparator()
        popup.insertItem('New note', 500)
        popup.insertItem('Show notes', 501)
        popup.insertSeparator()
        popup.insertItem('New Credential', 550)
        popup.insertItem('Show Credentials', 551)
        popup.insertItem('Import Creds', 561)
                                
                                       

        self.contextpopups["Service"] = popup

                       
                       
                       

                                


                     
        popup = qt.QPopupMenu(self)
        popup.insertItem('Delete Items', 202)
        popup.insertSeparator()
        popup.insertItem('New Vulnerability Items',400)
        popup.insertSeparator()
        popup.insertItem('New note Items', 500)
        popup.insertSeparator()
        popup.insertItem('New Credential', 550)
        popup.insertItem('Import Creds', 561)

        self.contextpopups["Service_Host"] = popup

                              
                        
        popup = qt.QPopupMenu(self)
        popup.insertItem('Add Service', 200)
        popup.insertSeparator()
        popup.insertItem('Delete Items', 202)
        popup.insertSeparator()
        popup.insertItem('New Vulnerability Items',400)
        popup.insertSeparator()
        popup.insertItem('New note Items', 500)
        popup.insertSeparator()
        popup.insertItem('New Credential', 550)
        popup.insertItem('Import Creds', 561)
                                
                                       

        self.contextpopups["ServiceHost_Interface"] = popup

                                    
        popup = qt.QPopupMenu(self)
                                      
                                             
        popup.insertItem('Properties', 302)
        popup.insertSeparator()
        popup.insertItem('Add Host', 800)
        popup.insertSeparator()
        popup.insertItem('Add Service', 200)
        popup.insertSeparator()
        popup.insertItem('Delete Items', 202)
        popup.insertSeparator()
        popup.insertItem('New Vulnerability Items',400)
        popup.insertSeparator()
        popup.insertItem('New note Items', 500)
        popup.insertSeparator()
        popup.insertItem('Add Service', 200)
        popup.insertSeparator()
        popup.insertItem('New Credential', 550)
        popup.insertItem('Import Creds', 561)
                                
                                       
        self.contextpopups["CategoryWorkspace_Interface"] = popup

                                      
        popup = qt.QPopupMenu(self)
                                      
                                             
        popup.insertItem('Properties', 302)
        popup.insertSeparator()
        popup.insertItem('Add Host', 800)
        popup.insertSeparator()
        popup.insertItem('Delete Items', 202)
        popup.insertSeparator()
        popup.insertItem('New Vulnerability Items',400)
        popup.insertSeparator()
        popup.insertItem('New note Items', 500)
        popup.insertSeparator()
        popup.insertItem('New Credential', 550)
        popup.insertItem('Import Creds', 561)
                                
                                       
        self.contextpopups["CategoryWorkspace_ServiceHost"] = popup
Exemplo n.º 19
0
    def packagePopup(self, packageview, pkgs, pnt):
        
        menu = qt.QPopupMenu(packageview)
        menu.move(pnt)
        
        hasinstalled = bool([pkg for pkg in pkgs if pkg.installed
                             and self._changeset.get(pkg) is not REMOVE])
        hasnoninstalled = bool([pkg for pkg in pkgs if not pkg.installed
                                and self._changeset.get(pkg) is not INSTALL])

        class PackagesAction(object):
        
            def __init__(self, pkgs):
                self._pkgs = pkgs
                self._callback = {}
                self._userdata = {}
            
            def connect(self, item, callback, userdata=None):
                self._callback[item] = callback
                self._userdata[item] = userdata
            
            def slot(self, index):
                self._callback[index](self._pkgs, self._userdata[index])

        action = PackagesAction(pkgs)

        iconset = qt.QIconSet(getPixmap("package-install"))
        item = menu.insertItem(iconset, _("Install"), action.slot)
        action.connect(item, self.actOnPackages, INSTALL)
        if not hasnoninstalled:
            menu.setItemEnabled(item, False)

        iconset = qt.QIconSet(getPixmap("package-reinstall"))
        item = menu.insertItem(iconset, _("Reinstall"), action.slot)
        action.connect(item, self.actOnPackages, REINSTALL)
        if not hasinstalled:
            menu.setItemEnabled(item, False)

        iconset = qt.QIconSet(getPixmap("package-remove"))
        item = menu.insertItem(iconset, _("Remove"), action.slot)
        action.connect(item, self.actOnPackages, REMOVE)
        if not hasinstalled:
            menu.setItemEnabled(item, False)

        if not hasinstalled:
            iconset = qt.QIconSet(getPixmap("package-available"))
        else:
            iconset = qt.QIconSet(getPixmap("package-installed"))
        item = menu.insertItem(iconset, _("Keep"), action.slot)
        action.connect(item, self.actOnPackages, KEEP)
        if not [pkg for pkg in pkgs if pkg in self._changeset]:
            menu.setItemEnabled(item, False)

        iconset = qt.QIconSet(getPixmap("package-broken"))
        item = menu.insertItem(iconset, _("Fix problems"), action.slot)
        action.connect(item, self.actOnPackages, FIX)
        if not hasinstalled:
            menu.setItemEnabled(item, False)

        inconsistent = False
        thislocked = None
        alllocked = None
        names = pkgconf.getFlagTargets("lock")
        if [pkg for pkg in pkgs if pkg in self._changeset]:
            inconsistent = True
        else:
            for pkg in pkgs:
                if (names and pkg.name in names and 
                    ("=", pkg.version) in names[pkg.name]):
                    newthislocked = True
                    newalllocked = len(names[pkg.name]) > 1
                else:
                    newthislocked = False
                    newalllocked = pkgconf.testFlag("lock", pkg)
                if (thislocked is not None and thislocked != newthislocked or
                    alllocked is not None and alllocked != newalllocked):
                    inconsistent = True
                    break
                thislocked = newthislocked
                alllocked = newalllocked

        lockaction = PackagesAction(pkgs)

        if thislocked:
            if not hasnoninstalled:
                iconset = qt.QIconSet(getPixmap("package-installed"))
            else:
                iconset = qt.QIconSet(getPixmap("package-available"))
            item = menu.insertItem(iconset, _("Unlock this version"), lockaction.slot)
            lockaction.connect(item, self.lockPackages, False)
        else:
            if not hasnoninstalled:
                iconset = qt.QIconSet(getPixmap("package-installed-locked"))
            else:
                iconset = qt.QIconSet(getPixmap("package-available-locked"))
            item = menu.insertItem(iconset, _("Lock this version"), lockaction.slot)
            lockaction.connect(item, self.lockPackages, True)
        if inconsistent:
            menu.setItemEnabled(item, False)

        lockallaction = PackagesAction(pkgs)

        if alllocked:
            if not hasnoninstalled:
                iconset = qt.QIconSet(getPixmap("package-installed"))
            else:
                iconset = qt.QIconSet(getPixmap("package-available"))
            item = menu.insertItem(iconset, _("Unlock all versions"), lockallaction.slot)
            lockallaction.connect(item, self.lockAllPackages, False)
        else:
            if not hasnoninstalled:
                iconset = qt.QIconSet(getPixmap("package-installed-locked"))
            else:
                iconset = qt.QIconSet(getPixmap("package-available-locked"))
            item = menu.insertItem(iconset, _("Lock all versions"), lockallaction.slot)
            lockallaction.connect(item, self.lockAllPackages, True)
        if inconsistent:
            menu.setItemEnabled(item, False)

        priorityaction = PackagesAction(pkgs)
        
        item = menu.insertItem(_("Priority"), priorityaction.slot)
        priorityaction.connect(item, self.priorityPackages)
        if len(pkgs) != 1:
            menu.setItemEnabled(item, False)

        menu.show()
        menu.exec_loop(packageview.mapToGlobal(pnt))
Exemplo n.º 20
0
    def buildInterface(self):
        self.layout = qt.QHBoxLayout(self)

        self.titleLabel = QubLabel("<B>Title<B>", self)
        self.titleLabel.setAlignment(qt.Qt.AlignCenter)
        self.titleLabel.setSizePolicy(
            qt.QSizePolicy(qt.QSizePolicy.Expanding, qt.QSizePolicy.Fixed))
        self.layout.addWidget(self.titleLabel)
        """
        move and configure appearence
        """
        self.radioGroup = QubRadioGroup(QubRadioGroup.Horizontal, self)
        self.radioGroup.hide()
        self.connect(self.radioGroup, qt.PYSIGNAL("PositionClicked"),
                     self.positionClicked)
        self.layout.addWidget(self.radioGroup)

        self.setButton = qt.QPushButton("Set", self)
        self.setButton.hide()
        self.connect(self.setButton, qt.SIGNAL("clicked()"), self.setPosition)
        self.setButton.setEnabled(False)
        self.layout.addWidget(self.setButton)
        """
        display appearence
        """
        self.valueLabel = qt.QLabel("no value", self)
        self.valueLabel.hide()
        self.valueLabel.setAlignment(qt.Qt.AlignCenter)
        self.layout.addWidget(self.valueLabel)
        """
        incremental appearence
        """
        self.frame = qt.QFrame(self)
        self.frame.hide()
        self.frame.setFrameShape(qt.QFrame.NoFrame)
        self.frame.setFrameShadow(qt.QFrame.Plain)
        self.layout.addWidget(self.frame)

        vlayout = qt.QVBoxLayout(self.frame)
        vlayout.setMargin(10)

        self.valueWidget = QubValue(self.frame,
                                    titleType=QubValue.Label,
                                    valueType=QubValue.Label,
                                    orientation=QubValue.Horizontal)
        self.valueWidget.setTitle("Current Position")
        vlayout.addWidget(self.valueWidget)

        vlayout.addSpacing(5)

        hlayout = qt.QHBoxLayout(vlayout)

        self.positionList = qt.QListBox(self.frame)
        hlayout.addWidget(self.positionList)

        hlayout.addSpacing(5)

        vlayout1 = qt.QVBoxLayout(hlayout)

        self.gotoButton = qt.QPushButton("Go", self.frame)
        self.connect(self.gotoButton, qt.SIGNAL("clicked()"),
                     self.gotoPosition)
        vlayout1.addWidget(self.gotoButton)

        vlayout1.addStretch(1)

        self.addButton = qt.QPushButton("Add", self.frame)
        self.connect(self.addButton, qt.SIGNAL("clicked()"), self.addPosition)
        vlayout1.addWidget(self.addButton)

        vlayout1.addSpacing(5)

        self.remButton = qt.QPushButton("Delete", self.frame)
        self.connect(self.remButton, qt.SIGNAL("clicked()"), self.remPosition)
        vlayout1.addWidget(self.remButton)
        """
        popup config
        """
        self.configWindow = MultiplePositionConfigurator(self)
        self.popupMenu = qt.QPopupMenu(self.titleLabel)
        self.popupMenu.insertItem("Configure", self.configWindow.show)