Ejemplo n.º 1
0
def build_menubar(fig, actions):
    root = fig.canvas.manager.window

    # File menu items
    saveact = QtGui.QAction('Save', root)
    saveact.triggered.connect(actions['save'])
    exitact = QtGui.QAction('Exit', root)
    exitact.triggered.connect(actions['exit'])

    # Help menu items
    helpact = QtGui.QAction('Help', root)
    helpact.triggered.connect(actions['help'])
    aboutact = QtGui.QAction('About', root)
    aboutact.triggered.connect(actions['about'])

    # Menubar creation
    mb = root.menuBar()
    # The File menubar item
    filemenu = mb.addMenu('File')
    filemenu.addAction(saveact)
    filemenu.addAction(exitact)
    # The Help menubar item
    helpmenu = mb.addMenu('Help')
    helpmenu.addAction(helpact)
    helpmenu.addAction(aboutact)

    return mb
Ejemplo n.º 2
0
 def generateLegendMenu(self):
     self.menuLegend = QtGui.QMenu(self.menubar)
     self.menuLegend.setTitle('Legend')
     self.actionGenerateLegend = QtGui.QAction(self)
     self.actionGenerateLegend.setText('Generate Draggable Legend')
     self.menuLegend.addAction(self.actionGenerateLegend)
     self.menubar.addAction(self.menuLegend.menuAction())
     self.connect(self.actionGenerateLegend, QtCore.SIGNAL('triggered()'),
                  self.generateLegend)
Ejemplo n.º 3
0
    def __init__(self,
                 windowTitle='Window',
                 x=0,
                 y=0,
                 legend=True,
                 parent=None):
        super(Window, self).__init__(parent)

        # set UI style -- options: u'Windows', u'Motif', u'CDE', u'Plastique', u'Cleanlooks', u'Macintosh (aqua)'
        # QtGui.QApplication.setStyle(QtGui.QStyleFactory.create(u'Plastique'))

        # layout
        self.setAutoFillBackground(True)
        self.centralwidget = QtGui.QWidget(self)
        self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setMargin(0)
        self.setCentralWidget(self.centralwidget)
        self.setBackgroundColor(QtCore.Qt.white)

        # create menu bar
        self.menubar = QtGui.QMenuBar(self)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 340, 22))

        # create menus
        self.menuFile = QtGui.QMenu(self.menubar)
        self.menuFile.setTitle("File")
        self.menuConfigurePlot = QtGui.QMenu(self.menubar)
        self.menuConfigurePlot.setTitle("Configure Plot")

        # create actions
        self.actionSaveAs = QtGui.QAction(self)
        self.actionSaveAs.setText("Save As...")
        self.actionConfigureSubplots = QtGui.QAction(self)
        self.actionConfigureSubplots.setText('Configure Subplots')
        self.actionConfigureAxis = QtGui.QAction(self)
        self.actionConfigureAxis.setText('Configure Axis and Curve')

        # add actions to menu
        self.menuFile.addAction(self.actionSaveAs)
        self.menubar.addAction(self.menuFile.menuAction())
        self.menuConfigurePlot.addAction(self.actionConfigureSubplots)
        self.menuConfigurePlot.addAction(self.actionConfigureAxis)
        self.menubar.addAction(self.menuConfigurePlot.menuAction())

        # enable menu bar
        self.setMenuBar(self.menubar)

        QtCore.QMetaObject.connectSlotsByName(self)

        # get arguments
        self.windowTitle = windowTitle

        # moves menu bar into application -- mac only windows sux
        self.menubar.setNativeMenuBar(False)

        # set window title
        self.setWindowTitle(self.windowTitle)

        self.initCanvas()

        self.toolbar = CustomToolbar(self.canvas, self)
        self.verticalLayout.addWidget(self.toolbar)

        self.setWindowPosition(x, y)

        # bind file menu actions
        self.connect(self.actionSaveAs, QtCore.SIGNAL('triggered()'),
                     self.toolbar.save_figure)

        # bind configure menu actions
        self.connect(self.actionConfigureSubplots,
                     QtCore.SIGNAL('triggered()'),
                     self.toolbar.configure_subplots)
        self.connect(self.actionConfigureAxis, QtCore.SIGNAL('triggered()'),
                     self.toolbar.edit_parameters)

        if legend:
            self.generateLegendMenu()

        # create instance of Plotter class
        self.plotter = plotter.Plotter()