[QGHG-it-dev-list] Zadatak 6 - konstruisanje GUI-ja
Jaroslav Blagojevic
jaroslav.blagojevic at gmail.com
Mon Apr 25 17:36:15 CEST 2022
Takođe, polje za prikaz kompleksa se resize-uje sa formom.
Pozdrav,
Jaroslav
On Thu, Apr 21, 2022 at 9:35 PM Marko Vojinovic <vmarko at ipb.ac.rs> wrote:
>
> Pozdrav Jaroslave,
>
> Hvala za formu, lepo izgleda. Samo jedna sugestija --- mozda bi bilo bolje
> da umesto pojedinacnih dugmica za seed f-je stavis onaj "Combo Box", tako
> da korisnik otvori spisak i izabere jednu seed f-ju sa tog spiska. U
> buducnosti cemo dodavati jos seed f-ja, pa je zgodnije da ih prosto
> dodajemo na taj spisak u Combo Box, nego da dodajemo nove dugmice svaki put.
>
> Btw, mozes za pocetak da namestis da se u prozoru za stampanje odstampa
> razlicit tekst za razlicite izbore seed f-ja iz forme, cisto da imamo
> osecaj da taj izbor nesto radi --- bar dok ne budes dodao pozive na prave
> seed f-je i f-je za stampanje.
>
> :-)
> Marko
>
>
> Dr. Marko Vojinovic
> Group for Gravitation, Particles and Fields
> Institute of Physics
> University of Belgrade
> ======================
> home page: www.markovojinovic.com
> e-mail: vmarko at ipb.ac.rs
>
>
>
> On Wed, 20 Apr 2022, Jaroslav Blagojevic wrote:
>
> > Forma za seed-ovanje kompleksa. Nije još povezana sa kodom.
> > Pozdrav,
> >
> > Jaroslav
> >
> >
> > On Tue, Apr 5, 2022 at 9:06 PM Marko Vojinovic <vmarko at ipb.ac.rs> wrote:
> >
> > Ok, evo jedan update vezano za gui --- pre svega da Jaroslav ima
> bolji osecaj sta treba da napravi, a i za vas ostale ako imate neku ideju
> ili sugestiju da se nesto izmeni
> > ili doda.
> >
> > Vodio sam se onim "jedna slika 1000 reci", pa sam nacrtao mock-up
> cele ideje kako gui treba da izgleda i koje elemente da sadrzi. Slika je u
> attachment-u.
> >
> > Nisam mnogo spretan sa crtanjem, ali na slici treba da bude
> ilustracija svih glavnih elemenata gui-ja. Osnovna aplikacija je
> "Triangulator GUI" prozor --- on ima menije na
> > vrhu, status bar na dnu, i unutra u prozoru tabelu sa spiskom
> instanciranih kompleksa. Svaki kompleks se instancira bilo ispocetka
> (pomocu "File -> New" menija), ili se
> > ucita neki postojeci iz fajla (pomocu "File -> Open" menija).
> Elementi tabele su self-explanatory, s tim da se u "Actions" koloni nalaze
> "dugmici" kojima se pozivaju
> > odgovarajuce akcije.
> >
> > Dugme "Listing" treba da otvori odgovarajuci "Triangulator
> listing" prozor za dati kompleks. Dva takva su nacrtana levo, i u njima se
> nalaze ispisane tablice sa simpleksima
> > datog kompleksa. Dugme "Visualiser" otvara "Triangulator
> visualiser" prozor (levo dole), u kome se nalazi wireframe-slika celog
> kompleksa, kao i slajderi kojima se
> > kontrolisu raznorazni parametri za embedding i crtanje (tu temu
> cemo detaljnije naknadno o tom potom).
> >
> > U Listing prozorima, pojedinacni simpleksi na spisku (brojevi u
> zagradama) treba da budu klikabilni. Klikom na neki simpleks treba da se
> otvori njegov "Triangulator
> > Inspector" prozor. Dva takva prozora su nacrtana desno, za dva
> razlicita simpleksa. Inspector treba da prikaze sve podatke koji se znaju o
> datom simpleksu, na slici sam
> > pokusao da to ilustrujem. Simpleksi u "Neighbors" tablici treba
> takodje da budu klikabilni, i treba da otvore nov Inspector prozor, isto
> kao i iz Listing prozora. Osim
> > ovoga, Inspector prozor sadrzi nekoliko dugmica za akcije koje su
> moguce nad datim simpleksom --- editovanje vrednosti boja,
> dodavanje/brisanje novih boja, Pahnerove poteze,
> > i sve ostale operacije nad simpleksima koje cemo kasnije jos
> praviti.
> >
> > Konacno, dole u sredini se nalazi i "Triangulator log" prozor,
> koji treba da prikazuje log-fajl za celu datu sesiju. To sluzi jedino za
> ispisivanje i pregled log-a, i treba
> > samo da se azurira redovno kad se nesto novo doda u log. Prozor za
> log je najzgodnije otvarati po potrebi pomocu "View -> View log" menija
> glavnog prozora.
> >
> > To je okvirno to. Naravno, tu treba da bude i gomila kojekakvih
> dialog-box-eva za otvaranje fajla, snimanje, dodavanje boja, provere "are
> you sure", itdisl. Ali osnovni
> > dizajn gui-ja se sastoji od ovih pet tipova prozora koje sam
> nacrtao. Kasnije, kako budemo dodavali raznorazne funkcionalnosti, kacicemo
> na ove prozore jos dodatne
> > raznorazne dugmice, slajdere, ikonice, ovo, ono., ali generalna
> struktura treba da izgleda ovako.
> >
> > Javite utiske, i ako imate bilo kakva pitanja ili sl.
> >
> > :-)
> > Marko
> >
> >
> > Dr. Marko Vojinovic
> > Group for Gravitation, Particles and Fields
> > Institute of Physics
> > University of Belgrade
> > ======================
> > home page: www.markovojinovic.com
> > e-mail: vmarko at ipb.ac.rs
> >
> >
> >
> > On Sun, 3 Apr 2022, Marko Vojinovic wrote:
> >
> > >
> > > Odlicno, super! Uspeo sam da import-ujem fajlove u qtcreator
> projekt, i rade
> > > mi build i run bez problema. Upload-ovacu ove fajlove na GitHb,
> sve sto se
> > > tice gui-ja ce da bude u direktorijumu "gui" na GitHub-u.
> > >
> > > Posto ovaj proof-of-concept kod radi lepo, moj predlog je da sad
> pocnes da
> > > implementiras onu funkcionalnost (1)-(3) iz prethodnog e-mail-a.
> > >
> > > Za pocetak, kad korisnik klikne na File -> New, treba da se
> otvori
> > > dialog-box, gde bi iz drop-down liste izabrao koji pocetni
> kompleks zeli da
> > > instancira, koja mu je dimenzija i kako ce da se zove (integer D
> i string
> > > "name" u klasi SimpComp). Dialog-box treba da ima standardne
> tastere "Ok" i
> > > "Cancel" na koje korisnik klikne kad popuni podatke. Onda na
> osnovu tih
> > > podataka treba pozvati odgovarajucu seed f-ju, obojiti ceo
> rezultujuci
> > > kompleks UniqueID bojama, i ispisati ga pomocu print_compact u
> ovaj prozor sa
> > > tekstualnim poljem. Taj prozor treba da nosi ime kompleksa
> (string name) koje
> > > je korisnik zadao, da bi se razlikovao od ostalih prozora za
> druge komplekse
> > > (korisnik moze da ih instancira vise ako zeli).
> > >
> > > Takodje, bilo bi dobro da tekstualno polje u tom prozoru menja
> svoje
> > > dimenzije kada se prozor resize-uje, tako da "prati" velicinu
> samog prozora.
> > > Ako sadrzaj polja ne moze da stane u polje, treba da se pojave
> horizontalni i
> > > vertikalni scroll-bar-ovi, da sadrzaj u polju moze da se pomera
> tamo-amo.
> > >
> > > Posle cemo da razradjujemo dalje ceo gui interfejs, imam jos
> neke ideje za
> > > taj bazican izgled.
> > >
> > > Sve relevantne klase i f-je iz biblioteke koje se pozivaju iz
> gui-ja su
> > > deklarisane u triangulator.h fajlu, pa prosto njega treba da
> include-ujes u
> > > gui, i tokom kompajliranja da link-ujes biblioteku
> triangulator-library.a
> > > (sto je zamisao trajnog resenja), ili da kompajliras i
> biblioteku i gui u
> > > jednom mahu, ako ti je lakse (zasad). Samo obrati paznju da
> konfigurises ceo
> > > direktorijum u kome je triangulator.h kao putanju za include
> fajlove, jer ce
> > > triangulator.h interno da include-uje gomilu drugih .h fajlova,
> pa da
> > > kompajler ume da nadje sve njih.
> > >
> > > Kasnije cemo da napravimo Makefile, kako za gui tako i za
> biblioteku, da
> > > automatizujemo ceo build postupak itd. Moj qtcreator vec pravi
> neki Makefile,
> > > ali je taj veoma podesen za Linux platformu i moju lokalnu
> strukturu
> > > direktorijuma, pa nije zgodan, nego cemo da napravimo jedan novi
> "kako
> > > treba", kad dodje vreme...
> > >
> > > :-)
> > > Marko
> > >
> > >
> > > Dr. Marko Vojinovic
> > > Group for Gravitation, Particles and Fields
> > > Institute of Physics
> > > University of Belgrade
> > > ======================
> > > home page: www.markovojinovic.com
> > > e-mail: vmarko at ipb.ac.rs
> > >
> > >
> > >
> > > On Thu, 31 Mar 2022, Jaroslav Blagojevic wrote:
> > >
> > >> Evo, gui za početak.Qt downloadujete sa
> https://www.qt.io/download -> go
> > >> open source -> download the qt online installer
> > >> Treba vam qtcreator, qtdesigner, ja sam instalirao qt 6.2.3
> biblioteke.
> > >> Može sve (~30 gb), a dovoljno je i qtcore, qtwidgets, qtgui, a
> trebaće nam
> > >> i qt opengl ili qt 3d.
> > >> Takođe vam treba nalog https://login.qt.io/login -> Create
> Account. Ja im
> > >> nisam ostavio telefon.
> > >> Avast prijavljuje virus za qtdesignstudio, na webu kažu da je
> to uglavnom
> > >> lažno obaveštenje. U svakom slučaju vam ne treba.
> > >>
> > >> Posle toga napravite novi projekat. U Visual Studio-u 2019,
> instalirate na
> > >> extensions -> manage extensions -> qt visual studio tools
> (izaberite
> > >> putanju do msvc2019_64\6.2.3\bin qmake).
> > >> Posle toga možete New Project -> kucate qt u search bar-u -> qt
> widgets
> > >> application. Za Linux pretpostavljam da može qtcreator,
> napravite novi qt
> > >> widgets/qmake projekat. Kod u prilogu
> > >> (pazite da ne prekopirate preko triangulator-ovog main.cpp),
> kopirajte
> > >> preko toga što ste napravili.
> > >>
> > >> Pozdrav,
> > >>
> > >> Jaroslav
> > >>
> > >>
> > >>
> > >> On Fri, Feb 11, 2022 at 11:01 PM Marko Vojinovic <
> vmarko at ipb.ac.rs> wrote:
> > >>
> > >> Poceti sa konstrukcijom GUI-ja. Za pocetak, umesto crteza
> na ekranu,
> > >> GUI treba da realizuje sledece mogucnosti:
> > >>
> > >> (1) Da meni opcija File -> New pita korisnika da izabere
> > >> instanciranje: duzi, trougla, tetraedra, D-simpleksa, D-sfere
> (uz dopunsko
> > >> pitanje za vrednost D), i na osnovu
> > >> korisnikovog izbora da pozove odgovarajucu seed f-ju.
> > >>
> > >> (2) Kada se seed f-ja izvrsi, obojiti kompleks bojom
> UniqueID (f-ja
> > >> UniqueIDColor::colorize_entire_complex() iz zadatka 2), pa
> zatim otvoriti
> > >> manji prozor (za novo-kreirani
> > >> kompleks), i u tom prozoru ispisati redom sve k-simplekse
> metodom
> > >> slicno kao u zadatku 4 (ali bez ispisivanja podsuseda). Tablicu
> > >> organizovati rastuce po nivoima k, slicno
> > >> kao drvo direktorijuma i fajlova u file-manageru (da
> spisak simpleksa
> > >> nivoa k bude moguce "kolapsirati" i "ekspandirati" kliktanjem).
> > >>
> > >> (3) Svaki simpleks ispisan na spisku u prozoru iz (2),
> npr.
> > >> "(1-2-4)", treba da bude klikabilan --- kliktanje na njega
> treba da otvori
> > >> tzv. "inspector" prozor za taj
> > >> konkretni k-simpleks, u kome ce da budu pobrojane sve
> boje i njihove
> > >> vrednosti koje taj k-simpleks nosi. Za sada su UniqueID i
> Boundary jedine
> > >> boje koje ce se pojaviti na
> > >> tom spisku, ali kasnije cemo dodavati i druge boje, pa
> algoritam
> > >> treba prosto da prodje kroz spisak svih boja i sve ih pobroji
> jednu ispod
> > >> druge.
> > >>
> > >> Za inspektor-prozor planiramo dodatne funkcionalnosti za
> kasnije
> > >> (menjanje vrednosti boja, ispis tablice suseda datog
> k-simpleksa, dugmad za
> > >> primenjivanje raznih f-ja nad
> > >> simpleksom, itd). Sa druge strane, prozor u kome
> ispisujemo tablicu
> > >> svih simpleksa u kompleksu nece imati neku narocitu dodatnu
> funkcionalnost
> > >> (koristicemo ga dok ne
> > >> implementiramo prozor koji ce da crta ceo kompleks na
> ekranu, umesto
> > >> ispisivanja tablice simpleksa).
> > >>
> > >>
> > >> :-)
> > >> Marko
> > >>
> > >>
> > >> Dr. Marko Vojinovic
> > >> Group for Gravitation, Particles and Fields
> > >> Institute of Physics
> > >> University of Belgrade
> > >> ======================
> > >> home page: www.markovojinovic.com
> > >> e-mail: vmarko at ipb.ac.rs
> > >>
> > >>
> > >> --
> > >> QGHG-it-dev-list mailing list
> > >> QGHG-it-dev-list at ipb.ac.rs
> > >> http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
> > >>
> > >>
> > >--
> > QGHG-it-dev-list mailing list
> > QGHG-it-dev-list at ipb.ac.rs
> > http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
> >
> >
> >--
> QGHG-it-dev-list mailing list
> QGHG-it-dev-list at ipb.ac.rs
> http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/attachments/20220425/266edc79/attachment-0001.htm>
More information about the QGHG-it-dev-list
mailing list