def __init__(self): QtGui.QWidget.__init__(self) plotLayout = QtGui.QHBoxLayout() self.plot = PlotView() parameterLayout = QtGui.QVBoxLayout() self.plotList = QtGui.QListWidget(self) self.plotList.setMaximumWidth(150) self.plotList.setMinimumWidth(150) self.plotDataPanel = PlotParameterConfigurationPanel(self, 150) parameterLayout.addWidget(self.plotList) parameterLayout.addWidget(self.plotDataPanel) self.connect(self.plotList, QtCore.SIGNAL('currentItemChanged(QListWidgetItem *, QListWidgetItem *)'), self.select) ContentModel.modelConnect('initialized()', self.updateList) #todo: listen to ensemble changes! self.plotDataFetcher = PlotDataFetcher() self.connect(self.plotDataFetcher, QtCore.SIGNAL('dataChanged()'), self.drawPlot) self.plotContextDataFetcher = PlotContextDataFetcher() plot_view_layout = QtGui.QGridLayout() plot_view_layout.addWidget(self.plot, 0, 0, 1, 1) self.h_zoom_slider = ZoomSlider() self.connect(self.h_zoom_slider, QtCore.SIGNAL('zoomValueChanged(float, float)'), self.plot.setXZoomFactors) self.v_zoom_slider = ZoomSlider(horizontal=False) self.connect(self.v_zoom_slider, QtCore.SIGNAL('zoomValueChanged(float, float)'), self.plot.setYZoomFactors) plot_view_layout.addWidget(self.h_zoom_slider, 1, 0, 1, 1) plot_view_layout.addWidget(self.v_zoom_slider, 0, 1, 1, 1) plotLayout.addLayout(parameterLayout) plotLayout.addLayout(plot_view_layout) self.plotViewSettings = PlotViewSettingsPanel(plotView=self.plot, width=250) self.connect(self.plotViewSettings, QtCore.SIGNAL('comparisonCaseSelected(String)'), self.plotDataFetcher.updateComparisonFS) plotLayout.addWidget(self.plotViewSettings) self.setLayout(plotLayout) self.connect(self.plot.plot_settings, QtCore.SIGNAL('plotSettingsChanged(PlotSettings)'), self.fetchSettings) ContentModel.modelConnect('casesUpdated()', self.updateList)