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()
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()
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")
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)
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()
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)