示例#1
0
    def buildForm(self, titleStr):
        # ??FIX THIS:
        self.stop = 1
        if hasattr(self, "form"):
            self.form.deiconify()
            return
        maxval = self.endFrame
        ifd = InputFormDescr(title=titleStr)
        if self.hasCounter:
            ifd.append(
                {
                    "widgetType": Pmw.Counter,
                    "name": "statesCounter",
                    "required": 1,
                    "tooltip": "used to show frames via random access",
                    "wcfg": {  #'labelpos': 'n,
                        #'label_text':'conformation:  ',
                        "autorepeat": 0,
                        "entryfield_value": self.startFrame,
                        #'entryfield_value':self.idList[0],
                        "datatype": self.custom_counter,
                        "entry_width": 9,
                        "entryfield_validate": self.custom_validate,
                    },
                    "gridcfg": {"sticky": "nesw", "columnspan": 2},
                }
            )
        ifd.append(
            {
                "name": "playB",
                "widgetType": Tkinter.Button,
                "text": "Play",
                "tooltip": "play sequence according to current play mode",
                "wcfg": {"bd": 4},
                "gridcfg": {"sticky": "nesw", "columnspan": 1},
                "command": self.Play_cb,
            }
        )
        ifd.append(
            {
                "name": "playRevB",
                "widgetType": Tkinter.Button,
                "text": "Play Reverse",
                "wcfg": {"bd": 4},
                "gridcfg": {"sticky": "nesw", "row": -1, "column": 1},
                "command": self.PlayRev_cb,
            }
        )
        ifd.append(
            {
                "name": "playTB",
                "widgetType": Tkinter.Button,
                "text": "Play+Return",
                "wcfg": {"bd": 4},
                "gridcfg": {"sticky": "nesw", "columnspan": 1},
                "command": self.PlayReturn_cb,
            }
        )
        ifd.append(
            {
                "name": "loopB",
                "widgetType": Tkinter.Button,
                "text": "Loop",
                "wcfg": {"bd": 4},
                "gridcfg": {"sticky": "nesw", "row": -1, "column": 1},
                "command": self.Loop_cb,
            }
        )
        ifd.append(
            {
                "name": "stopB",
                "widgetType": Tkinter.Button,
                "text": "Stop",
                "tooltip": "stop play",
                "wcfg": {"bd": 4},
                "gridcfg": {"sticky": "nesw"},
                "command": self.Stop_cb,
            }
        )
        # add fastforward, fastrewind, thumbwheel for speed
        ifd.append(
            {
                "name": "pauseB",
                "widgetType": Tkinter.Button,
                "text": "Pause",
                "wcfg": {"bd": 4},
                "gridcfg": {"sticky": "nesw", "row": -1, "column": 1},
                "command": self.Pause_cb,
            }
        )

        ifd.append(
            {
                "name": "closeB",
                "widgetType": Tkinter.Button,
                "text": "Close",
                "wcfg": {"bd": 4},
                #'gridcfg':{'sticky':'nesw','row':-1, 'column':1},
                "gridcfg": {"sticky": "nesw", "columnspan": 2},
                "command": self.Close_cb,
            }
        )
        form = InputForm(self.master, self.root, descr=ifd, modal=0, blocking=0, closeWithWindow=1)
        form.ifd = ifd
        if self.hasCounter:
            ctr = ifd.entryByName["statesCounter"]["widget"]
            entF = ctr.component("entryfield")
            form.ent2 = entF._entryFieldEntry
            da = ctr.component("downarrow")
            ua = ctr.component("uparrow")
            for item in [da, ua]:
                item.bind("<ButtonPress-1>", self.SetState_cb, "+")
            form.ent2.bind("<Return>", self.SetState_cb, "+")
            form.counter = form.ifd.entryByName["statesCounter"]["widget"]
        form.stopB = form.ifd.entryByName["stopB"]["widget"]
        form.playB = form.ifd.entryByName["playB"]["widget"]
        form.playRevB = form.ifd.entryByName["playRevB"]["widget"]
        # print 'returning form1'
        self.form = form
        return form
示例#2
0
    def buildForm2(self, titleStr):
        self.stop = 1
        if hasattr(self, "form"):
            if hasattr(self.form, "deiconify"):
                self.form.deiconify()
                return
        maxval = self.endFrame
        ifd = InputFormDescr(title=titleStr)

        if self.buttonMask.get("gotoStartB", None) is not False:
            ifd.append(
                {
                    "name": "gotoStartB",
                    "widgetType": Tkinter.Button,
                    #'text':'gotoStart',
                    "tooltip": "sets frame to current startFrame",
                    "wcfg": {
                        "bd": 4,
                        "image": self.gotoStartIcon,
                        "width": self.gotoStartIcon.width(),
                        "height": self.gotoStartIcon.height(),
                    },
                    "gridcfg": {"sticky": "nesw"},
                    "command": self.GoToStart_cb,
                }
            )

        if self.buttonMask.get("fastReverseB", None) is not False:
            ifd.append(
                {
                    "name": "fastReverseB",
                    "widgetType": Tkinter.Button,
                    #'text':'fastReverse',
                    "tooltip": "play reverse as fast as possible",
                    "wcfg": {
                        "bd": 4,
                        "image": self.ff_revIcon,
                        "width": self.ff_revIcon.width(),
                        "height": self.ff_revIcon.height(),
                    },
                    "gridcfg": {"sticky": "nesw", "row": -1, "column": 1},
                    "command": self.FastReverse_cb,
                }
            )

        if self.buttonMask.get("playRevB", None) is not False:
            ifd.append(
                {
                    "name": "playRevB",
                    "widgetType": Tkinter.Button,
                    #'text':'Play Reverse',
                    "tooltip": "play reverse according to current play mode",
                    "wcfg": {
                        "bd": 4,
                        "image": self.playRevIcon,
                        "width": self.playRevIcon.width(),
                        "height": self.playRevIcon.height(),
                    },
                    "gridcfg": {"sticky": "nesw", "row": -1, "column": 2},
                    "command": self.PlayRev_cb,
                }
            )

            if self.hasCounter:
                ifd.append(
                    {
                        "widgetType": Pmw.Counter,
                        "name": "statesCounter",
                        "required": 1,
                        "tooltip": "used to show frames via random access",
                        "wcfg": {  #'labelpos': 'n,
                            #'label_text':'conformation:  ',
                            "autorepeat": 0,
                            "entryfield_value": self.startFrame,
                            #'entryfield_value':self.idList[0],
                            "datatype": self.custom_counter,
                            "entry_width": 3,
                            "entryfield_validate": self.custom_validate,
                        },
                        "gridcfg": {"sticky": "nesw", "row": -1, "column": 3, "columnspan": 2},
                    }
                )

        if self.buttonMask.get("playB", None) is not False:
            ifd.append(
                {
                    "name": "playB",
                    "widgetType": Tkinter.Button,
                    #'text':'Play',
                    "tooltip": "play forward according to current play mode",
                    "wcfg": {
                        "bd": 4,
                        "image": self.playIcon,
                        "width": self.playIcon.width(),
                        "height": self.playIcon.height(),
                    },
                    "gridcfg": {"sticky": "nesw", "row": -1, "column": 5},
                    "command": self.Play_cb,
                }
            )

        if self.buttonMask.get("fastForwardB", None) is not False:
            ifd.append(
                {
                    "name": "fastForwardB",
                    "widgetType": Tkinter.Button,
                    #'text':'fastForward',
                    "tooltip": "play as fast as possible",
                    "wcfg": {
                        "bd": 4,
                        "image": self.ff_fwdIcon,
                        "width": self.ff_fwdIcon.width(),
                        "height": self.ff_fwdIcon.height(),
                    },
                    "gridcfg": {"sticky": "nesw", "row": -1, "column": 6},
                    "command": self.FastForward_cb,
                }
            )

        if self.buttonMask.get("gotoEndB", None) is not False:
            ifd.append(
                {
                    "name": "gotoEndB",
                    "widgetType": Tkinter.Button,
                    #'text':'gotoEnd',
                    "tooltip": "sets frame to current endFrame",
                    "wcfg": {
                        "bd": 4,
                        "image": self.gotoEndIcon,
                        "width": self.gotoEndIcon.width(),
                        "height": self.gotoEndIcon.height(),
                    },
                    "gridcfg": {"sticky": "nesw", "row": -1, "column": 7},
                    "command": self.GoToEnd_cb,
                }
            )

        if self.buttonMask.get("modeB", None) is not False:
            ifd.append(
                {
                    "name": "modeB",
                    "widgetType": Tkinter.Button,
                    "text": "Change Mode",
                    "tooltip": "opens panel to change play options",
                    "wcfg": {
                        "bd": 4,
                        "image": self.chmodIcon,
                        "width": self.chmodIcon.width(),
                        "height": self.chmodIcon.height(),
                    },
                    "gridcfg": {"sticky": "nesw", "row": -1, "column": 8},
                    "command": self.SetMode_cb,
                }
            )

        if pymediaFound and self.buttonMask.get("recordB", None) is not False:
            ifd.append(
                {
                    "name": "recordB",
                    "widgetType": Tkinter.Checkbutton,
                    "text": "Record",
                    "tooltip": "record an mpeg movie into movie_####.mpg",
                    "defaultValue": 0,
                    "wcfg": {
                        "bd": 4,
                        "variable": Tkinter.IntVar(),
                        "image": self.recIcon,
                        "width": self.recIcon.width(),
                        "height": self.recIcon.height(),
                        "indicatoron": 0,
                    },
                    "gridcfg": {"sticky": "nesw", "row": -1, "column": 9},
                    "command": self.startRecording_cb,
                }
            )

        if self.buttonMask.get("setanimB", None) is not False:
            ifd.append(
                {
                    "name": "setanimB",
                    "widgetType": Tkinter.Button,
                    "text": "SetAnim",
                    "tooltip": "Set Animation",
                    "wcfg": {"bd": 4},
                    "gridcfg": {"sticky": "nesw", "row": -1, "column": 10},
                    "command": self.SetAnim_cb,
                }
            )

        if self.buttonMask.get("closeB", None) is not False:
            ifd.append(
                {
                    "name": "closeB",
                    "widgetType": Tkinter.Button,
                    "text": "Close",
                    "tooltip": "closes player",
                    "wcfg": {
                        "bd": 4,
                        "image": self.closeIcon,
                        "width": self.closeIcon.width(),
                        "height": self.closeIcon.height(),
                    },
                    "gridcfg": {"sticky": "nesw", "row": -1, "column": 11},
                    #'gridcfg':{'sticky':'nesw', 'columnspan':2},
                    "command": self.Close_cb,
                }
            )

        if self.hasSlider:
            ifd.append(
                {
                    "name": "slider",
                    "widgetType": Tkinter.Scale,
                    "wcfg": {"orient": "horizontal", "from_": self.startFrame, "to": self.maxFrame, "showvalue": False},
                    "gridcfg": {"sticky": "nesw", "row": 1, "column": 0, "columnspan": 12},
                    "command": self.nextFrame,
                }
            )
        # form = self.vf.getUserInput(ifd, modal=0,blocking=0)
        form = InputForm(self.master, self.root, descr=ifd, modal=0, blocking=0, closeWithWindow=1)
        form.ifd = ifd
        form.playB = form.ifd.entryByName["playB"]["widget"]
        form.playRevB = form.ifd.entryByName["playRevB"]["widget"]
        # set up link to balloon help which needs to change, also
        form.playTT = form.ifd.entryByName["playB"]["balloon"]
        form.playRevTT = form.ifd.entryByName["playRevB"]["balloon"]
        if self.hasCounter:
            ctr = ifd.entryByName["statesCounter"]["widget"]
            entF = ctr.component("entryfield")
            form.ent2 = entF._entryFieldEntry
            da = ctr.component("downarrow")
            ua = ctr.component("uparrow")
            for item in [da, ua]:
                item.bind("<ButtonPress-1>", self.SetState_cb, "+")
            form.ent2.bind("<Return>", self.SetState_cb, "+")
            form.counter = form.ifd.entryByName["statesCounter"]["widget"]
        if self.hasSlider:
            slider = form.ifd.entryByName["slider"]["widget"]
            slider.set(self.currentFrameIndex)
        # print 'returning form'
        return form
    def buildForm(self, titleStr):
        #??FIX THIS:
        self.stop = 1
        if hasattr(self, 'form'):
            self.form.deiconify()
            return
        maxval = self.endFrame
        ifd = InputFormDescr(title=titleStr)
        if self.hasCounter:
            ifd.append({'widgetType':Pmw.Counter,
                    'name':'statesCounter',
                    'required':1,
                    'tooltip':'used to show frames via random access',
                    'wcfg':{#'labelpos': 'n,
                         #'label_text':'conformation:  ',
                        'autorepeat':0,
                        'entryfield_value':self.startFrame,
                        #'entryfield_value':self.idList[0],
                        'datatype': self.custom_counter,
                        'entry_width':9,
                        'entryfield_validate': self.custom_validate },
                     'gridcfg':{'sticky':'nesw', 'columnspan':2}})
        ifd.append({'name': 'playB',
            'widgetType': Tkinter.Button,
            'text':'Play',
            'tooltip':'play sequence according to current play mode',
            'wcfg':{'bd':4},
            'gridcfg':{'sticky':'nesw','columnspan':1},
            'command':self.Play_cb})
        ifd.append({'name': 'playRevB',
            'widgetType': Tkinter.Button,
            'text':'Play Reverse',
            'wcfg':{'bd':4},
            'gridcfg':{'sticky':'nesw','row':-1, 'column':1},
            'command':self.PlayRev_cb})
        ifd.append({'name': 'playTB',
            'widgetType': Tkinter.Button,
            'text':'Play+Return',
            'wcfg':{'bd':4},
            'gridcfg':{'sticky':'nesw','columnspan':1},
            'command':self.PlayReturn_cb})
        ifd.append({'name': 'loopB',
            'widgetType': Tkinter.Button,
            'text':'Loop',
            'wcfg':{'bd':4},
            'gridcfg':{'sticky':'nesw','row':-1, 'column':1},
            'command':self.Loop_cb})
        ifd.append({'name': 'stopB',
            'widgetType': Tkinter.Button,
            'text':'Stop',
            'tooltip':'stop play',
            'wcfg':{'bd':4,
                    },
            'gridcfg':{'sticky':'nesw'},
            'command':self.Stop_cb})
        #add fastforward, fastrewind, thumbwheel for speed
        ifd.append({'name': 'pauseB',
            'widgetType': Tkinter.Button,
            'text':'Pause',
            'wcfg':{'bd':4},
            'gridcfg':{'sticky':'nesw','row':-1, 'column':1},
            'command':self.Pause_cb})

        ifd.append({'name': 'closeB',
            'widgetType': Tkinter.Button,
            'text':'Close',
            'wcfg':{'bd':4},
            #'gridcfg':{'sticky':'nesw','row':-1, 'column':1},
            'gridcfg':{'sticky':'nesw', 'columnspan':2},
            'command':self.Close_cb})
        form = InputForm(self.master, self.root,
                         descr = ifd, modal = 0,
                         blocking = 0,closeWithWindow=1)
        form.ifd = ifd
        if self.hasCounter:
            ctr = ifd.entryByName['statesCounter']['widget']
            entF = ctr.component('entryfield')
            form.ent2 = entF._entryFieldEntry
            da = ctr.component('downarrow')
            ua = ctr.component('uparrow')
            for item in [da,ua]:
                item.bind('<ButtonPress-1>', self.SetState_cb, '+')
            form.ent2.bind('<Return>', self.SetState_cb, '+')
            form.counter = form.ifd.entryByName['statesCounter']['widget']
        form.stopB = form.ifd.entryByName['stopB']['widget']
        form.playB = form.ifd.entryByName['playB']['widget']
        form.playRevB = form.ifd.entryByName['playRevB']['widget']
        #print 'returning form1'
        self.form = form
        return form
    def buildForm2(self, titleStr):
        self.stop = 1
        if hasattr(self, 'form'):
            if hasattr(self.form, 'deiconify'):
                self.form.deiconify()
                return
        maxval = self.endFrame
        ifd = InputFormDescr(title=titleStr)
        ifd.append({'name': 'gotoStartB',
            'widgetType': Tkinter.Button,
            #'text':'gotoStart',
            'tooltip':'sets frame to current startFrame',
            'wcfg':{'bd':4,
                    'image':self.gotoStartIcon,
                    'width':self.gotoStartIcon.width(),
                    'height':self.gotoStartIcon.height()
            },
            'gridcfg':{'sticky':'nesw'},
            'command':self.GoToStart_cb})
        ifd.append({'name': 'fastReverseB',
            'widgetType': Tkinter.Button,
            #'text':'fastReverse',
            'tooltip':'play reverse as fast as possible',
            'wcfg':{'bd':4,
                    'image':self.ff_revIcon,
                    'width':self.ff_revIcon.width(),
                    'height':self.ff_revIcon.height()
            },
            'gridcfg':{'sticky':'nesw', 'row':-1, 'column':1},
            'command':self.FastReverse_cb})
        ifd.append({'name': 'playRevB',
            'widgetType': Tkinter.Button,
            #'text':'Play Reverse',
            'tooltip':'play reverse according to current play mode',
            'wcfg':{'bd':4,
                    'image':self.playRevIcon,
                    'width':self.playRevIcon.width(),
                    'height':self.playRevIcon.height()},
            'gridcfg':{'sticky':'nesw','row':-1, 'column':2},
            'command':self.PlayRev_cb})
        if self.hasCounter:
            ifd.append({'widgetType':Pmw.Counter,
                    'name':'statesCounter',
                    'required':1,
                    'tooltip':'used to show frames via random access',
                    'wcfg':{#'labelpos': 'n,
                         #'label_text':'conformation:  ',
                        'autorepeat':0,
                        'entryfield_value':self.startFrame,
                        #'entryfield_value':self.idList[0],
                        'datatype': self.custom_counter,
                        'entry_width':3,
                        'entryfield_validate': self.custom_validate },
                     'gridcfg':{'sticky':'nesw', 'row':-1, 'column':3,'columnspan':2}})
        ifd.append({'name': 'playB',
            'widgetType': Tkinter.Button,
            #'text':'Play',
            'tooltip':'play forward according to current play mode',
            'wcfg':{'bd':4,
                    'image':self.playIcon,
                    'width':self.playIcon.width(),
                    'height':self.playIcon.height()
            },
            'gridcfg':{'sticky':'nesw', 'row':-1, 'column':5},
            'command':self.Play_cb})
        ifd.append({'name': 'fastForwardB',
            'widgetType': Tkinter.Button,
            #'text':'fastForward',
            'tooltip':'play as fast as possible',
            'wcfg':{'bd':4,
                    'image': self.ff_fwdIcon,
                    'width':self.ff_fwdIcon.width(),
                    'height':self.ff_fwdIcon.height()
                    },
            'gridcfg':{'sticky':'nesw','row':-1, 'column':6},
            'command':self.FastForward_cb})
        ifd.append({'name': 'gotoEndB',
            'widgetType': Tkinter.Button,
            #'text':'gotoEnd',
            'tooltip':'sets frame to current endFrame',
            'wcfg':{'bd':4,
                    'image':self.gotoEndIcon,
                    'width':self.gotoEndIcon.width(),
                    'height':self.gotoEndIcon.height()
            },
            'gridcfg':{'sticky':'nesw','row':-1, 'column':7},
            'command':self.GoToEnd_cb})
        ifd.append({'name': 'modeB',
            'widgetType': Tkinter.Button,
            'text':'Change Mode',
            'tooltip':'opens panel to change play options',
            'wcfg':{'bd':4,
                    'image':self.chmodIcon,
                    'width':self.chmodIcon.width(),
                    'height':self.chmodIcon.height()
                    },
            'gridcfg':{'sticky':'nesw','row':-1, 'column':8},
            'command':self.SetMode_cb})

        ifd.append({'name': 'setanimB',
            'widgetType': Tkinter.Button,
            'text':'SetAnim',
            'tooltip':'Set Animation',
            'wcfg':{'bd':4},
            'gridcfg':{'sticky':'nesw','row':-1, 'column':9},
            'command':self.SetAnim_cb})
        
        ifd.append({'name': 'closeB',
            'widgetType': Tkinter.Button,
            'text':'Close',
            'tooltip':'closes player',
            'wcfg':{'bd':4,
                    'image':self.closeIcon,
                    'width':self.closeIcon.width(),
                    'height':self.closeIcon.height(),
                    },
            'gridcfg':{'sticky':'nesw','row':-1, 'column':10},
            #'gridcfg':{'sticky':'nesw', 'columnspan':2},
            'command':self.Close_cb})
        if self.hasSlider:
            ifd.append({'name': 'slider',
                'widgetType': Tkinter.Scale,
                'wcfg':{'orient':'horizontal',
                        'from_':self.startFrame,
                        'to':self.maxFrame,
                        'showvalue':False},
                'gridcfg':{'sticky':'nesw','row':1, 'column':0, 'columnspan':11},
                'command':self.nextFrame
                })        
        #form = self.vf.getUserInput(ifd, modal=0,blocking=0)
        form = InputForm(self.master, self.root,
                         descr = ifd,
                         modal = 0, blocking = 0,
                         closeWithWindow=1)
        form.ifd = ifd
        form.playB = form.ifd.entryByName['playB']['widget']
        form.playRevB = form.ifd.entryByName['playRevB']['widget']
        #set up link to balloon help which needs to change, also
        form.playTT = form.ifd.entryByName['playB']['balloon']
        form.playRevTT = form.ifd.entryByName['playRevB']['balloon']
        if self.hasCounter:
            ctr = ifd.entryByName['statesCounter']['widget']
            entF = ctr.component('entryfield')
            form.ent2 = entF._entryFieldEntry
            da = ctr.component('downarrow')
            ua = ctr.component('uparrow')
            for item in [da,ua]:
                item.bind('<ButtonPress-1>', self.SetState_cb, '+')
            form.ent2.bind('<Return>', self.SetState_cb, '+')
            form.counter = form.ifd.entryByName['statesCounter']['widget']
        #print 'returning form'
        return form
示例#5
0
    def buildForm(self, titleStr):
        #??FIX THIS:
        self.stop = 1
        if hasattr(self, 'form'):
            self.form.deiconify()
            return
        maxval = self.endFrame
        ifd = InputFormDescr(title=titleStr)
        if self.hasCounter:
            ifd.append({
                'widgetType': Pmw.Counter,
                'name': 'statesCounter',
                'required': 1,
                'tooltip': 'used to show frames via random access',
                'wcfg': {  #'labelpos': 'n,
                    #'label_text':'conformation:  ',
                    'autorepeat': 0,
                    'entryfield_value': self.startFrame,
                    #'entryfield_value':self.idList[0],
                    'datatype': self.custom_counter,
                    'entry_width': 9,
                    'entryfield_validate': self.custom_validate
                },
                'gridcfg': {
                    'sticky': 'nesw',
                    'columnspan': 2
                }
            })
        ifd.append({
            'name': 'playB',
            'widgetType': Tkinter.Button,
            'text': 'Play',
            'tooltip': 'play sequence according to current play mode',
            'wcfg': {
                'bd': 4
            },
            'gridcfg': {
                'sticky': 'nesw',
                'columnspan': 1
            },
            'command': self.Play_cb
        })
        ifd.append({
            'name': 'playRevB',
            'widgetType': Tkinter.Button,
            'text': 'Play Reverse',
            'wcfg': {
                'bd': 4
            },
            'gridcfg': {
                'sticky': 'nesw',
                'row': -1,
                'column': 1
            },
            'command': self.PlayRev_cb
        })
        ifd.append({
            'name': 'playTB',
            'widgetType': Tkinter.Button,
            'text': 'Play+Return',
            'wcfg': {
                'bd': 4
            },
            'gridcfg': {
                'sticky': 'nesw',
                'columnspan': 1
            },
            'command': self.PlayReturn_cb
        })
        ifd.append({
            'name': 'loopB',
            'widgetType': Tkinter.Button,
            'text': 'Loop',
            'wcfg': {
                'bd': 4
            },
            'gridcfg': {
                'sticky': 'nesw',
                'row': -1,
                'column': 1
            },
            'command': self.Loop_cb
        })
        ifd.append({
            'name': 'stopB',
            'widgetType': Tkinter.Button,
            'text': 'Stop',
            'tooltip': 'stop play',
            'wcfg': {
                'bd': 4,
            },
            'gridcfg': {
                'sticky': 'nesw'
            },
            'command': self.Stop_cb
        })
        #add fastforward, fastrewind, thumbwheel for speed
        ifd.append({
            'name': 'pauseB',
            'widgetType': Tkinter.Button,
            'text': 'Pause',
            'wcfg': {
                'bd': 4
            },
            'gridcfg': {
                'sticky': 'nesw',
                'row': -1,
                'column': 1
            },
            'command': self.Pause_cb
        })

        ifd.append({
            'name': 'closeB',
            'widgetType': Tkinter.Button,
            'text': 'Close',
            'wcfg': {
                'bd': 4
            },
            #'gridcfg':{'sticky':'nesw','row':-1, 'column':1},
            'gridcfg': {
                'sticky': 'nesw',
                'columnspan': 2
            },
            'command': self.Close_cb
        })
        form = InputForm(self.master,
                         self.root,
                         descr=ifd,
                         modal=0,
                         blocking=0,
                         closeWithWindow=1)
        form.ifd = ifd
        if self.hasCounter:
            ctr = ifd.entryByName['statesCounter']['widget']
            entF = ctr.component('entryfield')
            form.ent2 = entF._entryFieldEntry
            da = ctr.component('downarrow')
            ua = ctr.component('uparrow')
            for item in [da, ua]:
                item.bind('<ButtonPress-1>', self.SetState_cb, '+')
            form.ent2.bind('<Return>', self.SetState_cb, '+')
            form.counter = form.ifd.entryByName['statesCounter']['widget']
        form.stopB = form.ifd.entryByName['stopB']['widget']
        form.playB = form.ifd.entryByName['playB']['widget']
        form.playRevB = form.ifd.entryByName['playRevB']['widget']
        #print 'returning form1'
        self.form = form
        return form
示例#6
0
    def buildForm2(self, titleStr):
        self.stop = 1
        if hasattr(self, 'form'):
            if hasattr(self.form, 'deiconify'):
                self.form.deiconify()
                return
        maxval = self.endFrame
        ifd = InputFormDescr(title=titleStr)

        if self.buttonMask.get('gotoStartB', None) is not False:
            ifd.append({
                'name': 'gotoStartB',
                'widgetType': Tkinter.Button,
                #'text':'gotoStart',
                'tooltip': 'sets frame to current startFrame',
                'wcfg': {
                    'bd': 4,
                    'image': self.gotoStartIcon,
                    'width': self.gotoStartIcon.width(),
                    'height': self.gotoStartIcon.height()
                },
                'gridcfg': {
                    'sticky': 'nesw'
                },
                'command': self.GoToStart_cb
            })

        if self.buttonMask.get('fastReverseB', None) is not False:
            ifd.append({
                'name': 'fastReverseB',
                'widgetType': Tkinter.Button,
                #'text':'fastReverse',
                'tooltip': 'play reverse as fast as possible',
                'wcfg': {
                    'bd': 4,
                    'image': self.ff_revIcon,
                    'width': self.ff_revIcon.width(),
                    'height': self.ff_revIcon.height()
                },
                'gridcfg': {
                    'sticky': 'nesw',
                    'row': -1,
                    'column': 1
                },
                'command': self.FastReverse_cb
            })

        if self.buttonMask.get('playRevB', None) is not False:
            ifd.append({
                'name': 'playRevB',
                'widgetType': Tkinter.Button,
                #'text':'Play Reverse',
                'tooltip': 'play reverse according to current play mode',
                'wcfg': {
                    'bd': 4,
                    'image': self.playRevIcon,
                    'width': self.playRevIcon.width(),
                    'height': self.playRevIcon.height()
                },
                'gridcfg': {
                    'sticky': 'nesw',
                    'row': -1,
                    'column': 2
                },
                'command': self.PlayRev_cb
            })

            if self.hasCounter:
                ifd.append({
                    'widgetType': Pmw.Counter,
                    'name': 'statesCounter',
                    'required': 1,
                    'tooltip': 'used to show frames via random access',
                    'wcfg': {  #'labelpos': 'n,
                        #'label_text':'conformation:  ',
                        'autorepeat': 0,
                        'entryfield_value': self.startFrame,
                        #'entryfield_value':self.idList[0],
                        'datatype': self.custom_counter,
                        'entry_width': 3,
                        'entryfield_validate': self.custom_validate
                    },
                    'gridcfg': {
                        'sticky': 'nesw',
                        'row': -1,
                        'column': 3,
                        'columnspan': 2
                    }
                })

        if self.buttonMask.get('playB', None) is not False:
            ifd.append({
                'name': 'playB',
                'widgetType': Tkinter.Button,
                #'text':'Play',
                'tooltip': 'play forward according to current play mode',
                'wcfg': {
                    'bd': 4,
                    'image': self.playIcon,
                    'width': self.playIcon.width(),
                    'height': self.playIcon.height()
                },
                'gridcfg': {
                    'sticky': 'nesw',
                    'row': -1,
                    'column': 5
                },
                'command': self.Play_cb
            })

        if self.buttonMask.get('fastForwardB', None) is not False:
            ifd.append({
                'name': 'fastForwardB',
                'widgetType': Tkinter.Button,
                #'text':'fastForward',
                'tooltip': 'play as fast as possible',
                'wcfg': {
                    'bd': 4,
                    'image': self.ff_fwdIcon,
                    'width': self.ff_fwdIcon.width(),
                    'height': self.ff_fwdIcon.height()
                },
                'gridcfg': {
                    'sticky': 'nesw',
                    'row': -1,
                    'column': 6
                },
                'command': self.FastForward_cb
            })

        if self.buttonMask.get('gotoEndB', None) is not False:
            ifd.append({
                'name': 'gotoEndB',
                'widgetType': Tkinter.Button,
                #'text':'gotoEnd',
                'tooltip': 'sets frame to current endFrame',
                'wcfg': {
                    'bd': 4,
                    'image': self.gotoEndIcon,
                    'width': self.gotoEndIcon.width(),
                    'height': self.gotoEndIcon.height()
                },
                'gridcfg': {
                    'sticky': 'nesw',
                    'row': -1,
                    'column': 7
                },
                'command': self.GoToEnd_cb
            })

        if self.buttonMask.get('modeB', None) is not False:
            ifd.append({
                'name': 'modeB',
                'widgetType': Tkinter.Button,
                'text': 'Change Mode',
                'tooltip': 'opens panel to change play options',
                'wcfg': {
                    'bd': 4,
                    'image': self.chmodIcon,
                    'width': self.chmodIcon.width(),
                    'height': self.chmodIcon.height()
                },
                'gridcfg': {
                    'sticky': 'nesw',
                    'row': -1,
                    'column': 8
                },
                'command': self.SetMode_cb
            })

        if pymediaFound and self.buttonMask.get('recordB', None) is not False:
            ifd.append({
                'name': 'recordB',
                'widgetType': Tkinter.Checkbutton,
                'text': 'Record',
                'tooltip': 'record an mpeg movie into movie.mpeg',
                'defaultValue': 0,
                'wcfg': {
                    'bd': 4,
                    'variable': Tkinter.IntVar(),
                    'image': self.recIcon,
                    'width': self.recIcon.width(),
                    'height': self.recIcon.height(),
                    'indicatoron': 0,
                },
                'gridcfg': {
                    'sticky': 'nesw',
                    'row': -1,
                    'column': 9
                },
                'command': self.startRecording_cb
            })

        if self.buttonMask.get('setanimB', None) is not False:
            ifd.append({
                'name': 'setanimB',
                'widgetType': Tkinter.Button,
                'text': 'SetAnim',
                'tooltip': 'Set Animation',
                'wcfg': {
                    'bd': 4
                },
                'gridcfg': {
                    'sticky': 'nesw',
                    'row': -1,
                    'column': 10
                },
                'command': self.SetAnim_cb
            })

        if self.buttonMask.get('closeB', None) is not False:
            ifd.append({
                'name': 'closeB',
                'widgetType': Tkinter.Button,
                'text': 'Close',
                'tooltip': 'closes player',
                'wcfg': {
                    'bd': 4,
                    'image': self.closeIcon,
                    'width': self.closeIcon.width(),
                    'height': self.closeIcon.height(),
                },
                'gridcfg': {
                    'sticky': 'nesw',
                    'row': -1,
                    'column': 11
                },
                #'gridcfg':{'sticky':'nesw', 'columnspan':2},
                'command': self.Close_cb
            })

        if self.hasSlider:
            ifd.append({
                'name': 'slider',
                'widgetType': Tkinter.Scale,
                'wcfg': {
                    'orient': 'horizontal',
                    'from_': self.startFrame,
                    'to': self.maxFrame,
                    'showvalue': False
                },
                'gridcfg': {
                    'sticky': 'nesw',
                    'row': 1,
                    'column': 0,
                    'columnspan': 12
                },
                'command': self.nextFrame
            })
        #form = self.vf.getUserInput(ifd, modal=0,blocking=0)
        form = InputForm(self.master,
                         self.root,
                         descr=ifd,
                         modal=0,
                         blocking=0,
                         closeWithWindow=1)
        form.ifd = ifd
        form.playB = form.ifd.entryByName['playB']['widget']
        form.playRevB = form.ifd.entryByName['playRevB']['widget']
        #set up link to balloon help which needs to change, also
        form.playTT = form.ifd.entryByName['playB']['balloon']
        form.playRevTT = form.ifd.entryByName['playRevB']['balloon']
        if self.hasCounter:
            ctr = ifd.entryByName['statesCounter']['widget']
            entF = ctr.component('entryfield')
            form.ent2 = entF._entryFieldEntry
            da = ctr.component('downarrow')
            ua = ctr.component('uparrow')
            for item in [da, ua]:
                item.bind('<ButtonPress-1>', self.SetState_cb, '+')
            form.ent2.bind('<Return>', self.SetState_cb, '+')
            form.counter = form.ifd.entryByName['statesCounter']['widget']
        if self.hasSlider:
            slider = form.ifd.entryByName['slider']['widget']
            slider.set(self.currentFrameIndex)
        #print 'returning form'
        return form