def __init__(self):
        #WINDOW INIT------------------------------------------------------
        QMainWindow.__init__(self)
        loadUi("resources/testv2.ui", self)

        self.setWindowTitle("Kalkulator Entalpii")

        #BACK------------------------------------
        self.loadFile()
        self.rangeList, i = Range.InsertNewRange(self.rangeList,Range.Range(self.min,self.max,self.dataList[0][0],\
            self.dataList[0][1], "x", 20, "{} - Przemiana".format(self.rangeComboBox.count()+1)))
        print(len(self.rangeList))

        #FRONT-----------------------------------
        self.rangeParametersEnabled(True)

        self.nextButton.clicked.connect(self.nextButtonClicked)
        self.previousButton.clicked.connect(self.previousButtonClicked)
        self.firstButton.clicked.connect(self.firstButtonClicked)
        self.lastButton.clicked.connect(self.lastButtonClicked)

        self.newButton.clicked.connect(self.newButtonClicked)
        self.removeButton.clicked.connect(self.removeButtonClicked)

        self.rangeComboBox.currentIndexChanged.connect(
            self.onRangeComboboxChanged)

        self.methodComboBox.currentIndexChanged.connect(
            self.onMethodComboboxChanged)

        self.saveButton.clicked.connect(self.saveButtonClicked)
        self.drawButton.clicked.connect(self.drawButtonClicked)

        self.savePlotButton.clicked.connect(self.savePlot)

        self.actionLoad.triggered.connect(self.loadFileDialogBox)
        self.actionSaveResult.triggered.connect(self.saveFileDialogBox)
        self.actionSaveResultAndData.triggered.connect(
            self.saveBigFileDialogBox)
        self.addToolBar(NavigationToolbar(self.MplWidget.canvas, self))

        self.addRangeToComboBox(0)
    def saveButtonClicked(self):
        if (self.newRange):
            try:
                newRange = Range.Range(self.min,self.max,float(self.minLineEdit.value()),float(self.maxLineEdit.value()),\
                    self.functionLineEdit.text(), self.valueLineEdit.value(),self.nameLineEdit.text(),self.methodComboBox.currentIndex())
            except ValueError as e:
                print(e.message)
                self.showWarning("Niepoprawne wartości!",\
                    "Przedział zawiera niepoprawne wartości!",\
                    "Uwaga",\
                    "Początek i koniec przedziału są równe.")
                self.printRangeData()
                return
            except AssertionError as e:
                print(e.message)
                self.showWarning("Niepoprawne wartości!",\
                    "Przedział zawiera niepoprawne wartości!",\
                    "Uwaga",\
                    "Wartości nowego przedziału wykraczają poza wartości wczytanych temperatur.")
                self.printRangeData()
                return

            try:
                self.rangeList, index = Range.InsertNewRange(
                    self.rangeList, newRange)
            except AssertionError:
                self.showWarning("Niepoprawne wartości!",\
                    "Przedział zawiera niepoprawne wartości!",\
                    "Uwaga",\
                    "Porzedziały nakładają się na siebie.")
                self.printRangeData()
                return

            self.addRangeToComboBox(index, self.nameLineEdit.text())
            self.newRange = False
        else:
            try:
                newRange = Range.Range(self.min,self.max,float(self.minLineEdit.value()),float(self.maxLineEdit.value()),\
                    self.functionLineEdit.text(), self.valueLineEdit.value(),self.nameLineEdit.text(), self.methodComboBox.currentIndex())
            except ValueError as e:
                self.showWarning("Niepoprawne wartości!",\
                    "Przedział zawiera niepoprawne wartości!",\
                    "Uwaga",\
                    "Początek i koniec przedziału są równe.")
                self.printRangeData()
                return
            except AssertionError as e:
                print(e.message)
                self.showWarning("Niepoprawne wartości!",\
                    "Przedział zawiera niepoprawne wartości!",\
                    "Uwaga",\
                    "Wartości nowego przedziału wykraczają poza wartości wczytanych temperatur.")
                self.printRangeData()
                return

            buffList = self.rangeList.copy()
            for r in buffList:
                print("{}\n{}".format(r.start, r.end))
            buffList.pop(self.rangeComboBox.currentIndex())
            for r in buffList:
                print("{}\n{}".format(r.start, r.end))
            try:
                buffList, index = Range.InsertNewRange(buffList, newRange)
            except AssertionError as e:
                print(e.message)
                self.showWarning("Niepoprawne wartości!",\
                    "Przedział zawiera niepoprawne wartości!",\
                    "Uwaga",\
                    "Porzedziały nakładają się na siebie.")
                self.printRangeData()
                return

            self.rangeList = buffList.copy()
            self.loadRangeComboBoxFromList()
        for r in self.rangeList:
            print("{}\n{}".format(r.start, r.end))