Пример #1
0
    def create_ND_Controls(self,
                           array_shape,
                           labels=None,
                           parms=None,
                           num_axes=2):
        """ this function adds the extra GUI control buttons etc if we are
        displaying data for a numpy array of dimension 3 or greater 
    """
        if num_axes == 2:
            if not self.ND_Controls_3D is None:
                self.ND_Controls_3D.hide()
            if self.ND_Controls_2D is None:
                self.ND_Controls_2D = ND_Controller(array_shape, labels, parms,
                                                    num_axes,
                                                    self.layout_parent)
                self.layout.addMultiCellWidget(self.ND_Controls_2D, 2, 2, 0, 2)
                if self.ND_Controls_2D.get_num_selectors() > num_axes:
                    self.ND_Controls_2D.showDisplay(1)
                else:
                    self.ND_Controls_2D.showDisplay(0)
                print 'created self.ND_Controls_2D ', self.ND_Controls_2D
            return self.ND_Controls_2D

        if num_axes == 3:
            if not self.ND_Controls_2D is None:
                self.ND_Controls_2D.hide()
                print 'should have hidden self.ND_Controls_2D '
            if self.ND_Controls_3D is None:
                self.ND_Controls_3D = ND_Controller(array_shape, labels, parms,
                                                    num_axes,
                                                    self.layout_parent)
                self.layout.addMultiCellWidget(self.ND_Controls_3D, 3, 3, 0, 2)
                if self.ND_Controls_3D.get_num_selectors() > num_axes:
                    self.ND_Controls_3D.showDisplay(1)
                else:
                    self.ND_Controls_3D.showDisplay(0)
                if not self.ND_plotter is None:
                    self.ND_plotter.HideNDButton()
            return self.ND_Controls_3D