Example #1
0
    def __init__(self, parent):
        self.mySystem = parent
        QtWidgets.QWidget.__init__(self)
        self.setupUi(self)

        self.latex_installed = self.mySystem.myPyplane.latex_installed
        self.Layout = QtWidgets.QVBoxLayout(self.frame)
        self.Canvas = Canvas(self, self.latex_installed)
        self.Layout.addWidget(self.Canvas)

        # Axis labels
        self.xlabel_str = "x"
        self.ylabel_str = "y"

        # set forward and backward integration true
        if myConfig.get_boolean("Trajectories", "traj_checkForwardByDefault"):
            self.forwardCheckbox.setChecked(True)
        if myConfig.get_boolean("Trajectories", "traj_checkBackwardByDefault"):
            self.backwardCheckbox.setChecked(True)

        self.xminLineEdit.setText(str(myConfig.read("Phaseplane", "pp_xmin")))
        self.xmaxLineEdit.setText(str(myConfig.read("Phaseplane", "pp_xmax")))
        self.yminLineEdit.setText(str(myConfig.read("Phaseplane", "pp_ymin")))
        self.ymaxLineEdit.setText(str(myConfig.read("Phaseplane", "pp_ymax")))

        self.Plot = PhasePlot(self, self.Canvas)
        self.Plot.set_window_range()

        self.VF = Vectorfield(self)
        self.SL = StreamlineHandler(self)
        self.Nullclines = NullclineHandler(self)
        self.Equilibria = EquilibriumHandler(self)

        # menu checkers
        self.mySystem.myPyplane.toggle_vectorfield_action.setChecked(
            self.VF.tgl)

        # connect buttons
        self.SetButton.clicked.connect(self.Plot.set_window_range)
        self.ZoomButton.clicked.connect(self.Canvas.toggle_zoom_mode)
        self.ZoomButton.setCheckable(True)
        self.RefreshButton.clicked.connect(self.Plot.refresh)
        self.CreateTrajectoryButton.clicked.connect(
            self.mySystem.Trajectories.create_trajectory)
        # linearize button and combo box
        # TODO: Fix next line!
        # self.connect(self.linBox, QtCore.SIGNAL('activated(QString)'), self.eq_chosen)
        self.linButton.clicked.connect(self.linearize_system)

        self.hide_linearization_objects()