Mercurial > code > home > repos > light9
diff bin/curvecalc @ 706:16042667ab51
ui for making a new subterm
Ignore-this: 88632c01c5e8ffb6bca4159160b7b40
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Sun, 10 Jun 2012 08:47:19 +0000 |
parents | ed50631cf333 |
children | c4a38a247b26 |
line wrap: on
line diff
--- a/bin/curvecalc Sun Jun 10 08:06:54 2012 +0000 +++ b/bin/curvecalc Sun Jun 10 08:47:19 2012 +0000 @@ -18,9 +18,7 @@ import time, textwrap, os, optparse, urllib2, gtk, gobject, linecache, signal import louie as dispatcher from twisted.python.util import sibpath -from rdflib import URIRef -from rdflib import Graph -import rdflib +from rdflib import URIRef, Graph, Literal, RDF, RDFS import logging log = logging.getLogger() @@ -68,9 +66,7 @@ # but it's a minimum size, which i don't really want mainwin.set_size_request(1000, 1000) - self.add_subterms_for_song(song, curveset, subterms, - wtree.get_object("subterms") - ) + self.add_subterms_for_song(song, curveset, subterms) self.refreshCurveView() self.makeStatusLines(wtree.get_object("status")) @@ -85,6 +81,28 @@ self.curveset.new_curve(entry.get_text()) nc.hide() + def onNewSubterm(self, *args): + ns = self.wtree.get_object("newSubterm") + # the plan is to autocomplete this on existing subterm names + # (but let you make one up, too) + entry = self.wtree.get_object("newSubtermName").get_children()[0] + entry.set_text("") + if ns.run() == 1: + newname = entry.get_text() + makeCurve = self.wtree.get_object("newSubtermMakeCurve").get_active() + + uri = L9['sub/%s' % newname] + self.graph.add((uri, RDF.type, L9.Subterm)) + self.graph.add((uri, RDFS.label, Literal(newname))) + add_one_subterm(self.graph, uri, + self.curveset, self.subterms, + self.wtree.get_object("subterms"), + None, show=True) + if makeCurve: + self.curveset.new_curve(newname) + + ns.hide() + def refreshTheme(self): gtk.rc_reparse_all() reactor.callLater(1, self.refreshTheme) @@ -114,7 +132,8 @@ def onSave(self, *args): savekey(self.song, self.subterms, self.curveset) - def add_subterms_for_song(self, song, curveset, subterms, master): + def add_subterms_for_song(self, song, curveset, subterms): + master = self.wtree.get_object("subterms") for st in self.graph.objects(song, L9['subterm']): log.info("song %s has subterm %s", song, st) add_one_subterm(self.graph, @@ -186,16 +205,6 @@ def onReloadSubs(self, *args): # wants to be ctrl-r too dispatcher.send('reload all subs') - def onAddSubterm(self): - uri = L9['sub/%s' % newname.get()] - graph.add((uri, RDF.type, L9.Subterm)) - graph.add((uri, RDFS.label, Literal(newname.get()))) - add_one_subterm(graph, uri, - curveset, subterms, ssv, None) - if evt.state & 4: # control key modifier - curveset.new_curve(newname.get()) - newname.set('') - def main(): startTime = time.time()