Пример #1
0
    def AutomobilCU(self):
        '''
        Metoda koja se okida po kliku na potvrdiBTN dugme, koja odreduje koji tip operacije je forma radila i prema tome
        poziva metode kontrolera za perzistiranje i metode root view-a za osvezavanje pogleda.
        '''
        if self.operacija == Operacija.DODAVANJE:

            self.automobil.oznaka = a()
            self.automobil.opis = self.opisEntry.get()
            self.automobil.duzina = int(self.duzinaEntry.get())
            self.automobil.sirina = int(self.sirinaEntry.get())
            self.automobil.visina = int(self.visinaEntry.get())
            self.automobil.maksimalna_brzina = int(self.brzinaEntry.get())
            self.automobil.godina_proizvodnje = int(self.godinaEntry.get())
            self.automobil.izlozbeni_prostor = prostorIzOznake(
                self.izabraniProstor)
            self.automobil.broj_vrata = int(self.vrataEntry.get())
            self.automobil.broj_sedista = int(self.sedistaEntry.get())
            self.automobil.tip_menjaca = TipMenjaca[self.izabraniMenjac]

            #print(self.automobil)

            DodajAutomobil(self.automobil)

            self.glavni.OsveziAutomobile()

            #vidi ovo sta se desava, mozda destruktor eksplicitno
            self.withdraw()

        elif self.operacija == Operacija.IZMENA:
            #print(self.student)

            self.automobil.opis = self.opisEntry.get()
            self.automobil.duzina = int(self.duzinaEntry.get())
            self.automobil.sirina = int(self.sirinaEntry.get())
            self.automobil.visina = int(self.visinaEntry.get())
            self.automobil.maksimalna_brzina = int(self.brzinaEntry.get())
            self.automobil.godina_proizvodnje = int(self.godinaEntry.get())
            self.automobil.izlozbeni_prostor = prostorIzOznake(
                self.izabraniProstor)
            self.automobil.broj_vrata = int(self.vrataEntry.get())
            self.automobil.broj_sedista = int(self.sedistaEntry.get())
            self.automobil.tip_menjaca = TipMenjaca[self.izabraniMenjac]

            print(self.automobil)

            IzmeniAutomobil(self.automobil)

            self.glavni.OsveziAutomobile()

            self.withdraw()
Пример #2
0
    def KvadCU(self):
        '''
        Metoda koja se okida po kliku na potvrdiBTN dugme, koja odreduje koji tip operacije je forma radila i prema tome
        poziva metode kontrolera za perzistiranje i metode root view-a za osvezavanje pogleda.
        '''
        if self.operacija == Operacija.DODAVANJE:

            self.kvad.oznaka = kv()
            self.kvad.opis = self.opisEntry.get()
            self.kvad.duzina = int(self.duzinaEntry.get())
            self.kvad.sirina = int(self.sirinaEntry.get())
            self.kvad.visina = int(self.visinaEntry.get())
            self.kvad.maksimalna_brzina = int(self.brzinaEntry.get())
            self.kvad.godina_proizvodnje = int(self.godinaEntry.get())
            self.kvad.izlozbeni_prostor = prostorIzOznake(self.izabraniProstor)
            self.kvad.pogon_na_sva_cetiri_tocka = True if self.izborPogona.get(
            ) == 1 else False
            self.kvad.prostor_za_stvari = True if self.izborStvari.get(
            ) == 1 else False

            DodajKvad(self.kvad)

            self.glavni.OsveziKvadove()

            #vidi ovo sta se desava, mozda destruktor eksplicitno
            self.withdraw()

        elif self.operacija == Operacija.IZMENA:
            #print(self.student)

            self.kvad.oznaka = kv()
            self.kvad.opis = self.opisEntry.get()
            self.kvad.duzina = int(self.duzinaEntry.get())
            self.kvad.sirina = int(self.sirinaEntry.get())
            self.kvad.visina = int(self.visinaEntry.get())
            self.kvad.maksimalna_brzina = int(self.brzinaEntry.get())
            self.kvad.godina_proizvodnje = int(self.godinaEntry.get())
            self.kvad.izlozbeni_prostor = prostorIzOznake(self.izabraniProstor)
            self.kvad.pogon_na_sva_cetiri_tocka = True if self.izborPogona.get(
            ) == 1 else False
            self.kvad.prostor_za_stvari = True if self.izborStvari.get(
            ) == 1 else False

            IzmeniKvad(self.kvad)

            self.glavni.OsveziKvadove()

            self.withdraw()
Пример #3
0
 def IzmeniProstor(self):
     '''
     Metoda koja formi za obradu entiteta izlozbenog prostora prosledi selektovani objekat nad kojim ona vrsi update funkcionalnost.
     '''
     try:
         selektovani = self.treeProstori.selection()[0]
         oznakaProstora = self.treeProstori.item(selektovani)['values'][0]
         prostor = prostorIzOznake(oznakaProstora)
         ProstorCU(prostor, Operacija.IZMENA, self)
     except IndexError:
         messagebox.showerror("Greska", "Nista nije selektovano")
Пример #4
0
    def __init__(self, glavni, oznakaProstora):
        '''
        Constructor
        
        :param glavni: referenca na root view koji ga poziva
        :param oznakaProstora: string vrednost atributa oznake prosledjenog izlozbenog prostora
        
        '''
        self.prostor = prostorIzOznake(oznakaProstora)
        self.glavni = glavni

        #povuci glavni da ne moze da se petlja:
        self.glavni.withdraw()

        tk.Tk.__init__(self)

        tk.Tk.wm_title(self, "Prostor")
        tk.Tk.geometry(self, '200x150')

        self.resizable(False, False)
        Centriraj(self)

        #self.korisnik = korisnik

        #definisi grid prozora, dosta korisno
        #50*50
        rows = 0
        while rows < 10:
            self.rowconfigure(rows, weight=1)
            self.columnconfigure(rows, weight=1)
            rows += 1

        self.l1 = Label(self, text="Oznaka: " + self.prostor.oznaka)
        self.l2 = Label(self, text="Opis: " + self.prostor.opis)
        self.l3 = Label(self, text="Lokacija: " + self.prostor.lokacija)

        self.l1.grid(row=1, columnspan=10, sticky='NESW')
        self.l2.grid(row=2, columnspan=10, sticky='NESW')
        self.l3.grid(row=4, columnspan=10, sticky='NESW')

        self.protocol("WM_DELETE_WINDOW", self.quit)
Пример #5
0
    def DzipCU(self):
        '''
        Metoda koja se okida po kliku na potvrdiBTN dugme, koja odreduje koji tip operacije je forma radila i prema tome
        poziva metode kontrolera za perzistiranje i metode root view-a za osvezavanje pogleda.
        '''
        if self.operacija == Operacija.DODAVANJE:

            self.dzip.oznaka = dz()
            self.dzip.opis = self.opisEntry.get()
            self.dzip.duzina = int(self.duzinaEntry.get())
            self.dzip.sirina = int(self.sirinaEntry.get())
            self.dzip.visina = int(self.visinaEntry.get())
            self.dzip.maksimalna_brzina = int(self.brzinaEntry.get())
            self.dzip.godina_proizvodnje = int(self.godinaEntry.get())
            self.dzip.izlozbeni_prostor = prostorIzOznake(self.izabraniProstor)
            self.dzip.broj_vrata = int(self.vrataEntry.get())
            self.dzip.pogon_na_sva_cetiri_tocka = True if self.izborPogonaDzip.get(
            ) == 1 else False
            self.dzip.konjskih_snaga = int(self.konjskihEntry.get())
            self.dzip.spustajuca_zadnja_klupa = True if self.izborKlupe.get(
            ) == 1 else False

            print(self.izborPogonaDzip.get())
            print(self.izborPogonaDzip.get())

            DodajDzip(self.dzip)

            self.glavni.OsveziDzipove()

            #vidi ovo sta se desava, mozda destruktor eksplicitno
            self.withdraw()

        elif self.operacija == Operacija.IZMENA:
            #print(self.student)

            self.dzip.opis = self.opisEntry.get()
            self.dzip.duzina = int(self.duzinaEntry.get())
            self.dzip.sirina = int(self.sirinaEntry.get())
            self.dzip.visina = int(self.visinaEntry.get())
            self.dzip.maksimalna_brzina = int(self.brzinaEntry.get())
            self.dzip.godina_proizvodnje = int(self.godinaEntry.get())
            self.dzip.izlozbeni_prostor = prostorIzOznake(self.izabraniProstor)
            self.dzip.broj_vrata = int(self.vrataEntry.get())
            self.dzip.pogon_na_sva_cetiri_tocka = True if self.izborPogonaDzip.get(
            ) == 1 else False
            self.dzip.konjskih_snaga = int(self.konjskihEntry.get())
            self.dzip.spustajuca_zadnja_klupa = True if self.izborKlupe.get(
            ) == 1 else False
            '''
            
            print("Pri izmeni:")
            print("Vrednost pogona i klupe posle")
            
            print("izbor pogona " + str(self.izborPogona.get()))
            print("izbor pogona " + str(self.izborKlupe.get()))
            
            print('Vrednost propertija')
            print(self.dzip.pogon_na_sva_cetiri_tocka)
            print(self.dzip.spustajuca_zadnja_klupa)
            
            '''

            IzmeniDzip(self.dzip)

            self.glavni.OsveziDzipove()

            self.withdraw()
Пример #6
0
    def __init__(self, glavni, oznakaProstora):
        '''
        Constructor
        
        :param glavni: referenca na root view koji ga je pozvao
        :param oznakaProstora: string vrednost oznake prosledjenog prostora
        
        '''

        self.prostor = prostorIzOznake(oznakaProstora)
        self.glavni = glavni

        #povuci glavni da ne moze da se petlja:
        self.glavni.withdraw()

        tk.Tk.__init__(self)

        tk.Tk.wm_title(self, "Detalji")
        tk.Tk.geometry(self, '800x600')

        self.resizable(False, False)
        Centriraj(self)

        #self.korisnik = korisnik

        #definisi grid prozora, dosta korisno
        #50*50
        rows = 0
        while rows < 50:
            self.rowconfigure(rows, weight=1)
            self.columnconfigure(rows, weight=1)
            rows += 1

        #KOMPONENTE:

        #Notebook:
        self.nb = ttk.Notebook(self)
        self.nb.grid(row=1, column=0, columnspan=50, rowspan=49, sticky='NESW')

        #PAGE Vozila:
        pageVozila = ttk.Frame(self.nb)

        #definisi grid za svaku od kartica
        rowsp1 = 0

        while rowsp1 < 50:
            pageVozila.rowconfigure(rowsp1, weight=1)
            pageVozila.columnconfigure(rowsp1, weight=1)
            rowsp1 += 1

        # ------------------------------------------------------------
        #Page izlozbeni prostori komponente

        #Tree Prostori
        self.treeVozila = ttk.Treeview(pageVozila,
                                       columns=("size", "modified"))
        self.treeVozila["columns"] = ("Oznaka", "Opis", "Izlozbeni prostor")

        self.treeVozila.column("Oznaka")
        self.treeVozila.column("Opis")
        self.treeVozila.column("Izlozbeni prostor")

        self.treeVozila.heading("Oznaka", text="Oznaka")
        self.treeVozila.heading("Opis", text="Opis")
        self.treeVozila.heading("Izlozbeni prostor", text="Izlozbeni prostor")

        self.treeVozila.grid(row=3,
                             column=0,
                             columnspan=50,
                             rowspan=15,
                             sticky='NESW')

        ButtonBarVozila = Frame(pageVozila)

        detaljiVozilaBTN = Button(ButtonBarVozila,
                                  text="Detalji",
                                  command=self.Detalji)
        detaljiVozilaBTN.pack(side=LEFT, padx=1, pady=1)

        ButtonBarVozila.grid(row=19,
                             column=0,
                             columnspan=50,
                             rowspan=3,
                             sticky='NESW')

        #**********************************************************************************
        #Dodavanje izlozbeni prostori page u notebook
        self.nb.add(pageVozila, text="Vozila")

        #PAGE Putnicka:
        pagePutnicka = ttk.Frame(self.nb)

        #definisi grid za svaku od kartica
        rowsp2 = 0

        while rowsp2 < 50:
            pagePutnicka.rowconfigure(rowsp2, weight=1)
            pagePutnicka.columnconfigure(rowsp2, weight=1)
            rowsp2 += 1

        # ------------------------------------------------------------
        #Page izlozbeni prostori komponente

        #Tree Prostori
        self.treePutnicka = ttk.Treeview(pagePutnicka,
                                         columns=("size", "modified"))
        self.treePutnicka["columns"] = ("Oznaka", "Opis", "Izlozbeni prostor")

        self.treePutnicka.column("Oznaka")
        self.treePutnicka.column("Opis")
        self.treePutnicka.column("Izlozbeni prostor")

        self.treePutnicka.heading("Oznaka", text="Oznaka")
        self.treePutnicka.heading("Opis", text="Opis")
        self.treePutnicka.heading("Izlozbeni prostor",
                                  text="Izlozbeni prostor")

        self.treePutnicka.grid(row=3,
                               column=0,
                               columnspan=50,
                               rowspan=15,
                               sticky='NESW')

        ButtonBarPutnicka = Frame(pagePutnicka)

        detaljiPutnickaBTN = Button(ButtonBarPutnicka,
                                    text="Detalji",
                                    command=self.Detalji)
        detaljiPutnickaBTN.pack(side=LEFT, padx=1, pady=1)

        ButtonBarPutnicka.grid(row=19,
                               column=0,
                               columnspan=50,
                               rowspan=3,
                               sticky='NESW')

        #**********************************************************************************
        #Dodavanje izlozbeni prostori page u notebook
        self.nb.add(pagePutnicka, text="Putnicka")

        #PAGE Terenska:
        pageTerenska = ttk.Frame(self.nb)

        #definisi grid za svaku od kartica
        rowsp3 = 0

        while rowsp3 < 50:
            pageTerenska.rowconfigure(rowsp3, weight=1)
            pageTerenska.columnconfigure(rowsp3, weight=1)
            rowsp3 += 1

        # ------------------------------------------------------------
        #Page izlozbeni prostori komponente

        #Tree Prostori
        self.treeTerenska = ttk.Treeview(pageTerenska,
                                         columns=("size", "modified"))
        self.treeTerenska["columns"] = ("Oznaka", "Opis", "Izlozbeni prostor")

        self.treeTerenska.column("Oznaka")
        self.treeTerenska.column("Opis")
        self.treeTerenska.column("Izlozbeni prostor")

        self.treeTerenska.heading("Oznaka", text="Oznaka")
        self.treeTerenska.heading("Opis", text="Opis")
        self.treeTerenska.heading("Izlozbeni prostor",
                                  text="Izlozbeni prostor")

        self.treeTerenska.grid(row=3,
                               column=0,
                               columnspan=50,
                               rowspan=15,
                               sticky='NESW')

        ButtonBarTerenska = Frame(pageTerenska)

        detaljiTerenskaBTN = Button(ButtonBarTerenska,
                                    text="Detalji",
                                    command=self.Detalji)
        detaljiTerenskaBTN.pack(side=LEFT, padx=1, pady=1)

        ButtonBarTerenska.grid(row=19,
                               column=0,
                               columnspan=50,
                               rowspan=3,
                               sticky='NESW')

        #**********************************************************************************
        #Dodavanje izlozbeni prostori page u notebook
        self.nb.add(pageTerenska, text="Terenska")

        #PAGE Najbrza:
        pageNajbrza = ttk.Frame(self.nb)

        #definisi grid za svaku od kartica
        rowsp4 = 0

        while rowsp4 < 50:
            pageNajbrza.rowconfigure(rowsp4, weight=1)
            pageNajbrza.columnconfigure(rowsp4, weight=1)
            rowsp4 += 1

        # ------------------------------------------------------------
        #Page izlozbeni prostori komponente

        #Tree Prostori
        self.treeNajbrza = ttk.Treeview(pageNajbrza,
                                        columns=("size", "modified"))
        self.treeNajbrza["columns"] = ("Oznaka", "Opis", "Izlozbeni prostor")

        self.treeNajbrza.column("Oznaka")
        self.treeNajbrza.column("Opis")
        self.treeNajbrza.column("Izlozbeni prostor")

        self.treeNajbrza.heading("Oznaka", text="Oznaka")
        self.treeNajbrza.heading("Opis", text="Opis")
        self.treeNajbrza.heading("Izlozbeni prostor", text="Izlozbeni prostor")

        self.treeNajbrza.grid(row=3,
                              column=0,
                              columnspan=50,
                              rowspan=15,
                              sticky='NESW')

        ButtonBarNajbrza = Frame(pageNajbrza)

        detaljiNajbrzaBTN = Button(ButtonBarNajbrza,
                                   text="Detalji",
                                   command=self.Detalji)
        detaljiNajbrzaBTN.pack(side=LEFT, padx=1, pady=1)

        ButtonBarNajbrza.grid(row=19,
                              column=0,
                              columnspan=50,
                              rowspan=3,
                              sticky='NESW')

        #**********************************************************************************
        #Dodavanje izlozbeni prostori page u notebook
        self.nb.add(pageNajbrza, text="Najbrza")

        self.NapuniVozila()
        self.NapuniPutnicka()
        self.NapuniTerenska()
        self.NapuniNajbrza()

        #---------------------------------------------
        self.protocol("WM_DELETE_WINDOW", self.quit)