示例#1
0
    def make_timelines( self ):
        if not self._drawable:
            return
        dr = self._drawable

        params = system.get_object_params( dr )
        params.append( ('_alpha', parameters.SCALAR, 1.0) )
        Element.make_timelines( self, params )
示例#2
0
文件: objects.py 项目: markovg/slithy
    def make_timelines( self ):
        if not self._drawable:
            return
        dr = self._drawable

        params = system.get_object_params( dr )
        #params_keys = [x[0] for x in params]
        if '_alpha' in self._defaults.keys():
            params.append( ('_alpha', parameters.SCALAR, self._defaults['_alpha']) )
        else:
            params.append( ('_alpha', parameters.SCALAR, 1.0) )
        Element.make_timelines( self, params )
示例#3
0
    def make_timelines(self):
        if not self._drawable:
            return
        dr = self._drawable

        params = system.get_object_params(dr)
        #params_keys = [x[0] for x in params]
        if '_alpha' in self._defaults.keys():
            params.append(
                ('_alpha', parameters.SCALAR, self._defaults['_alpha']))
        else:
            params.append(('_alpha', parameters.SCALAR, 1.0))
        Element.make_timelines(self, params)
示例#4
0
文件: main.py 项目: markovg/slithy
    def build_diagram_controls( self, index, object, pdict ):
        params = system.get_object_params( object )
        ranges = system.get_object_param_ranges( object )

        oldpdict = self.pdict
        self.pdict = {}

        self.wcontrols = []
        self.wlabels = []
        self.tkvars = {}

        j = 0
        for name, ptype, value in params:
            if name in pdict:
                self.pdict[name] = pdict[name]
            elif name in oldpdict:
                self.pdict[name] = oldpdict[name]
            else:
                self.pdict[name] = value

            if ptype == parameters.SCALAR:
                wl = Tk.Label( self.controls, text = name, font = self.labelfont )
                wl.grid( row = j, column = 0, sticky = Tk.E )
                self.wlabels.append( wl )

                v = Tk.DoubleVar()
                w = Tk.Scale( self.controls, {'from' : ranges[name][0], 'to' : ranges[name][1]}, width = 5,
                              res = math.fabs( ranges[name][1] - ranges[name][0] ) * 0.001, orient = 'h',
                              variable = v, command = self.diagram_eval )
                v.set( self.pdict[name] )
                w.grid( row = j, column = 1, sticky = Tk.EW )
                j += 1
                self.wcontrols.append( w )
                self.tkvars[name] = v

            elif ptype == parameters.INTEGER:
                wl = Tk.Label( self.controls, text = name, font = self.labelfont )
                wl.grid( row = j, column = 0, sticky = Tk.E )
                self.wlabels.append( wl )

                v = Tk.IntVar()
                w = Tk.Scale( self.controls, {'from' : ranges[name][0], 'to' : ranges[name][1]}, width = 5,
                              res = 1, orient = 'h', variable = v, command = self.diagram_eval )
                v.set( self.pdict[name] )
                w.grid( row = j, column = 1, sticky = Tk.EW )
                j += 1
                self.wcontrols.append( w )
                self.tkvars[name] = v

            elif ptype == parameters.BOOLEAN:
                wl = Tk.Label( self.controls, text = name, font = self.labelfont )
                wl.grid( row = j, column = 0, sticky = Tk.E )
                self.wlabels.append( wl )

                v = Tk.BooleanVar()
                w = Tk.Checkbutton( self.controls, variable = v, command = self.diagram_eval )
                v.set( self.pdict[name] )
                w.grid( row = j, column = 1, sticky = Tk.W )
                j += 1
                self.wcontrols.append( w )
                self.tkvars[name] = v

            elif ptype == parameters.STRING:
                wl = Tk.Label( self.controls, text = name, font = self.labelfont )
                wl.grid( row = j, column = 0, sticky = Tk.E )
                self.wlabels.append( wl )

                v = Tk.StringVar()
                w = Tk.Entry( self.controls, width = 40, textvariable = v )
                w.bind( '<Key-Return>', self.diagram_eval )
                v.set( self.pdict[name] )
                w.grid( row = j, column = 1, sticky = Tk.W )
                j += 1
                self.wcontrols.append( w )
                self.tkvars[name] = v

            elif ptype == parameters.COLOR:
                wl = Tk.Label( self.controls, text = name, font = self.labelfont )
                wl.grid( row = j, column = 0, sticky = Tk.E )
                self.wlabels.append( wl )

                c = self.pdict[name]
                vr = Tk.DoubleVar()
                vr.set( c[0] )
                vg = Tk.DoubleVar()
                vg.set( c[1] )
                vb = Tk.DoubleVar()
                vb.set( c[2] )
                va = Tk.DoubleVar()
                va.set( c[3] )
                
                w = Tk.Frame( self.controls )
                wr = Tk.Scale( w, {'from' : 0.0, 'to' : 1.0}, width = 5,
                               res = 0.01, orient = 'h', variable = vr, command = self.diagram_eval )
                wg = Tk.Scale( w, {'from' : 0.0, 'to' : 1.0}, width = 5,
                               res = 0.01, orient = 'h', variable = vg, command = self.diagram_eval )
                wb = Tk.Scale( w, {'from' : 0.0, 'to' : 1.0}, width = 5,
                               res = 0.01, orient = 'h', variable = vb, command = self.diagram_eval )
                wa = Tk.Scale( w, {'from' : 0.0, 'to' : 1.0}, width = 5,
                               res = 0.01, orient = 'h', variable = va, command = self.diagram_eval )
                wr.pack( side = 'left', fill = 'x', expand = 1 )
                wg.pack( side = 'left', fill = 'x', expand = 1 )
                wb.pack( side = 'left', fill = 'x', expand = 1 )
                wa.pack( side = 'left', fill = 'x', expand = 1 )
                
                w.grid( row = j, column = 1, sticky = Tk.EW )
                j += 1
                self.wcontrols.append( w )
                self.tkvars[name] = (vr, vg, vb, va)
                
                
                

        self.controls.grid_columnconfigure( 1, weight = 1 )
        self.controls.grid_columnconfigure( 0, weight = 0 )

        self.object = object
        self.index = index