def listRel(self,ar,plalts,r,fileid,relid,scroll,target = None): if not r.get("related"): return name = r['related'][0] if not r.get("cat"): return cat = r['cat'][0] if not target: target = self.get_parent().get_parent().get_parent().get_parent() #Which is better? namebutton = gtk.Button(relid) namebutton.connect("clicked",displayPlace,relid,target) # passing the target or figuring it from parentage? row1 = gtk.HBox() self.pack_start(row1,0,0,2) row1.pack_start(namebutton,1,1,2) row1.show() namebutton.show() namebutton.set_alignment(0.75,0.05) namebutton.set_size_request(int(self.size_request()[0] * 0.20),10) namelabel = gtk.Label("Name: ") namelabel.show() row1.pack_start(namelabel,0,0,2) namelabel.set_width_chars(6) nameentry = gtk.Entry() nameentry.show() nameentry.set_text(name) activateRelEntry(nameentry,ar,plalts,scroll,places.get(fileid),fileid,relid,"related") row1.pack_start(nameentry,1,1) relation = gtk.Label(r['relation'][0]) relation.show() relation.set_width_chars(8) row1.pack_start(relation,1,1) relset = gtk.Button("Set") relset.show() relset.set_alignment(0.5,0.5) relset.set_size_request(36,24) data = places.get(relid,None) relset.connect("clicked",selectConnectionL,relation,fileid,relid,name,cat) row1.pack_start(relset,0,0,5) row2 = gtk.HBox() self.pack_start(row2,0,0,2) row2.show() mileadd = gtk.Button("New Milestone") mileadd.show() mileadd.set_alignment(0.75,0.05) # mileadd.set_size_request(int(self.size_request()[0] * 0.30),24) row2.pack_start(mileadd,0,0,5) dhead = gtk.Label("Date") dhead.show() dhead.set_width_chars(8) row2.pack_start(dhead,1,1,2) ehead = gtk.Label("Event") ehead.show() ehead.set_width_chars(18) row2.pack_start(ehead,1,1,2) row2.show_all() row3 = gtk.VBox() row3.show() self.pack_start(row3,0,0,2) boxwidth = self.size_request()[0] mileadd.connect("clicked",addMilestone,scroll,row3,places.get(fileid),fileid,"relat",relid,boxwidth) if r.get("events"): for i in r['events']: # showMile(row3,r,i,fileid,relid) #def showMile(row3,r,i,fileid,relid): events = r['events'][i] # print str(events) if events.get("date") and events.get("event"): rowmile = gtk.HBox() rowmile.show() blank = gtk.Label() blank.show() blank.set_width_chars(12) rowmile.pack_start(blank,0,0,2) d = gtk.Entry() d.show() d.set_width_chars(12) d.set_text(events['date'][0]) data = places.get(fileid) activateRelEntry(d,ar,plalts,scroll,data,fileid,relid,"date",i) rowmile.pack_start(d,1,1,2) datebut = gtk.Button() datebut.show() image = gtk.Image() image.set_from_file("img/date.png") datebut.set_image(image) datebut.unset_flags(gtk.CAN_FOCUS) datebut.connect("clicked",dateChoose,d,data,[fileid,'relat',relid,'events',i,'date']) rowmile.pack_start(datebut,0,0,2) e = gtk.Entry() e.show() e.set_width_chars(18) e.set_text(events['event'][0]) activateRelEntry(e,ar,plalts,scroll,data,fileid,relid,"event",i) rowmile.pack_start(e,1,1,2) row3.add(rowmile)
def listRel(self,r,fileid,relid,scroll,psalts,target = None): if not r.get("related"): return name = r['related'][0] if not r.get("cat"): print "empty category! Attempting to find...", x = getCat(relid) if x is not None: r['cat'] = x print r else: print "Not found!\nTo repair, open %s manually, and then reload %s." % (relid,fileid) return print '\n', cat = r['cat'][0] displayFunc = None if cat == "person": displayFunc = displayPerson elif cat == "place": displayFunc = place.displayPlace else: print "Invalid category '%s' at listRel:%d!" % (cat,lineno()) return if not target: target = self.get_parent().get_parent().get_parent().get_parent() #Which is better? namebutton = gtk.Button(relid) namebutton.connect("clicked",displayFunc,relid,target) # passing the target or figuring it from parentage? ### TODO: displayPerson? what about places/orgs? row1 = gtk.HBox() self.pack_start(row1,0,0,2) row1.pack_start(namebutton,1,1,2) row1.show() namebutton.show() namebutton.set_alignment(0.75,0.05) namebutton.set_size_request(int(self.size_request()[0] * 0.20),10) namelabel = gtk.Label("Name: ") namelabel.show() row1.pack_start(namelabel,0,0,2) namelabel.set_width_chars(6) nameentry = gtk.Entry() nameentry.show() nameentry.set_text(name) activateRelEntry(nameentry,psalts,scroll,people.get(fileid),fileid,relid,"related") row1.pack_start(nameentry,1,1) txt = r.get("relation") if txt is None: r['relation'] = ["",False] txt = ["",False] relation = gtk.Label(txt[0]) relation.show() relation.set_width_chars(8) row1.pack_start(relation,1,1) relset = gtk.Button("Set") relset.show() relset.set_alignment(0.5,0.5) relset.set_size_request(36,24) data = people.get(relid,None) genderR = "" if data: genderR = getInf(data,["info","gender"]) if not genderR or genderR == "": p = loadPerson(relid) genderR = p[0].get("gender",['N',False]) genderR = genderR[0] genderP = getInf(people.get(fileid),["info","gender"]) relset.connect("clicked",selectConnectionP,relation,fileid,relid,name,cat,genderR,genderP) row1.pack_start(relset,0,0,5) row2 = gtk.HBox() self.pack_start(row2,0,0,2) row2.show() mileadd = gtk.Button("New Milestone") mileadd.show() mileadd.set_alignment(0.75,0.05) # mileadd.set_size_request(int(self.size_request()[0] * 0.30),24) row2.pack_start(mileadd,0,0,5) dhead = gtk.Label("Date") dhead.show() dhead.set_width_chars(8) row2.pack_start(dhead,1,1,2) ehead = gtk.Label("Event") ehead.show() ehead.set_width_chars(18) row2.pack_start(ehead,1,1,2) row2.show_all() row3 = gtk.VBox() row3.show() self.pack_start(row3,0,0,2) boxwidth = self.size_request()[0] mileadd.connect("clicked",addMilestone,scroll,row3,people.get(fileid),fileid,"relat",relid,boxwidth) if r.get("events"): for i in r['events']: # showMile(row3,r,i,fileid,relid) #def showMile(row3,r,i,fileid,relid): events = r['events'][i] # print str(events) if events.get("date") and events.get("event"): rowmile = gtk.HBox() rowmile.show() blank = gtk.Label() blank.show() blank.set_width_chars(12) rowmile.pack_start(blank,0,0,2) d = gtk.Entry() d.show() d.set_width_chars(12) d.set_text(events['date'][0]) data = people.get(fileid) activateRelEntry(d,psalts,scroll,data,fileid,relid,"date",i) rowmile.pack_start(d,1,1,2) placeCalendarButton(data,rowmile,d,[fileid,"relat",relid,"events",i,"date"],psalts,counter=ar) e = gtk.Entry() e.show() e.set_width_chars(18) e.set_text(events['event'][0]) activateRelEntry(e,psalts,scroll,data,fileid,relid,"event",i) rowmile.pack_start(e,1,1,2) row3.add(rowmile)