Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

GTK TreeStore problem

[es] :: Python :: GTK TreeStore problem

[ Pregleda: 2312 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

combuster
Ivan Bulatovic
Kraljevo

Član broj: 151351
Poruke: 4563
93.86.6.*

Sajt: www.linuxsrbija.org


+104 Profil

icon GTK TreeStore problem03.08.2009. u 16:04 - pre 179 meseci
Problem je sto mi tree izlistava u svakom redu po putanju, zelim klasican tree koji pocinje od parent direktorijuma. Kod je sledeci:

Code:

# build the treestore and fill it hierarchically with all dirs and files
        store = gtk.TreeStore (str, str, float)        
    for dir in self.edited_disk.content:
            
            # append directory name (no size)
            iterDir = store.append (None)
        store.set (iterDir, 0, dir[0])
            store.set (iterDir, 1, "")
            store.set (iterDir, 2, 1.0)
                        
            for file in dir[1]:
                # append file name
                iterFile = store.append (iterDir)
                store.set (iterFile, 0, file[0])

                # append file size (optional)
                if file[1] != None:
                    store.set (iterFile, 1, str (file[1]))
                else:
                    store.set (iterFile, 1, "")
                    store.set (iterFile, 2, 1.0)
        
        # set model and expand all directories
        self.tv_content.set_model (store)
        self.tv_content.collapse_all ()


Pretpostavljam da umesto None parametra u store.append treba da prosledim parent i row, samo sto za koju god vrednost da postavim parent on mi javi da mora da bude validan GtkTreeIter ili None... Jel ima neko ideju?
make love - !war
 
Odgovor na temu

xaotuk
Sasha Shipka
Beograd

Član broj: 204719
Poruke: 15
*.dynamic.sbb.rs.



+4 Profil

icon Re: GTK TreeStore problem03.08.2009. u 18:14 - pre 179 meseci
store.append(...) ti vraca TreeIter upravo kreiranog noda/cvora.
Kad kazes: pera = store.append(None, ["pera", "peric", 0.0]), napravljen je root element bez parenta u tvom store-u a pera je iterator na taj element. On ti je parent za one elemente koji su neposredno ispod njega. (U ovom slucaju mozes da imas vise root elemenata - dakle to nije root u uzem smislu: koren stabla).

mika = store.append(pera, ["mika", "mikic", 0.1])
, dodaje se red kome je parent pera i vraca se iterator mika koji opet moze da bude parent necemu ispod sebe:
mikin_sin = store.append(mika, ["mikica", "mikic", 0.2])
ili npr opet na peru:
perica = store.append(pera, ["perica", "peric", 1.3])
itd...

 
Odgovor na temu

combuster
Ivan Bulatovic
Kraljevo

Član broj: 151351
Poruke: 4563
93.86.111.*

Sajt: www.linuxsrbija.org


+104 Profil

icon Re: GTK TreeStore problem03.08.2009. u 19:05 - pre 179 meseci
Pa znas sta je fora, skinuo sam program za katalogizaciju pod linux-om disksearch. On mi je od svih jedini funkcionisao i priblizno kako treba. Jedino sto mi smeta je sto pri search-u i prikazu diska koji sam ubacio u katalog u treeview-u ne prikazuje klasican tree, nego mi izlista sve direktorijume jedan po jedan i koji su automatski expand-ovani pa je prikaz totalno nepregledan. Automatsko expandovanje sam sredio tako sto sam zamenio self.tv_content.expand_all () funkciju sa self.tv_content.collapse_all, ali mi je ostao problem sa prikazom.

Hvala ti na pojasnjenju, sad cu malo da probam da poradim na tome pa se javljam ako ne uspem nista da uradim. Ako te ne mrzi da pogledas source imas ga na adresi: http://sourceforge.net/projects/disksearch/
a problematican lib je u libdisksearch direktorijumu pod nazivom DlgDiskEdit.py...

Nope, ceo dan danas pokusavam da provalim sta je ovo i da pokupim ikakve informacije o recimo TreeView modelima, gledao sam i database file koji pravi, prikazuje direktorijume sve izlistane kao D/Directory1/Subdir, zasto stavlja ono D na pocetku pojma nemam, pokusao sam i u glade-u da proverim da li moze tu nesto da se ubaci ali gomila opcija mi je pokazana sa zutim uzvicnicima koje ne mogu da promenim, heh obicno mi ovo polazi za rukom kad sam uporan :(

Ok, provalio sam sta je ono D na pocetku, tako prepoznaje da je novi direktorijum u pitanju...

Nema pojma, kad bih hteo ovo da namestim morao bih da promenim i kako upisuje podatke u db file, on svaki dir smesta kao poseban string u dir niz i posle ih samo iscitava redom a treeview mu sluzi samo da pripadajuce file-ove moze da expanduje. Nista, sad imam u slobodno vreme sta da radim :)




[Ovu poruku je menjao combuster dana 04.08.2009. u 00:13 GMT+1]
make love - !war
 
Odgovor na temu

[es] :: Python :: GTK TreeStore problem

[ Pregleda: 2312 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.