def open(self, slideshow, prepared = False): """Open a slideshow for editing Arguments slideshow -- the slideshow prepared -- if true, all media data is already copied to the working folder (i.e. the slideshow has been created automatically) """ EditTab.open(self, slideshow, prepared = prepared) if(not prepared): if(slideshow.bgsound != ''): shutil.copyfile(slideshow.getPath(slideshow.bgsound), os.path.join(self._wdir, slideshow.bgsound)) self._svBgSound.set(slideshow.bgsound) if(slideshow.bgsound != ''): self._btnListen.setSound(os.path.join(self._wdir, slideshow.bgsound)) self._btnRemove.config(state = NORMAL) for frame in slideshow.frames: ea = self.scrollbox.getWidget(EditArea, self._wdir, self._tooltipwidth, self._ehPlayThisFrame, self._ehPlayFromHere) ea.setFrame(frame, not prepared) self.setDirty(prepared) self.editing = True
def __init__(self, filename, parentnotebook): EditTab.__init__(self, filename, parentnotebook) et = eis.EditInputTheme(self._mainframe, self) self._inputs.append(et) et.grid(row=0, column=0, rowspan=4, padx=5, pady=5, sticky=NSEW) et = eis.EditInputDataSource(self._mainframe, self, 'Blog') self._inputs.append(et) et.grid(row=0, column=1, padx=5, pady=5, sticky=NSEW) et = eis.EditInputTopLeftText(self._mainframe, self) self._inputs.append(et) et.grid(row=1, column=1, padx=5, pady=5, sticky=NSEW) et = eis.EditInputCommon2(self._mainframe, self) self._inputs.append(et) et.grid(row=2, column=1, padx=5, pady=5, sticky=NSEW) et = eis.EditInputHorizontalPanel(self._mainframe, self) self._inputs.append(et) et.grid(row=3, column=1, padx=5, pady=5, sticky=NSEW) et = eis.EditInputItemView(self._mainframe, self) self._inputs.append(et) et.grid(row=0, column=2, rowspan=2, padx=5, pady=5, sticky=NSEW) et = eis.EditInputDimensions(self._mainframe, self) self._inputs.append(et) et.grid(row=2, column=2, rowspan=2, padx=5, pady=5, sticky=NSEW)
def __init__(self, filename, parentnotebook): EditTab.__init__(self, filename, parentnotebook) et = eis.EditInputTheme(self._mainframe, self) self._inputs.append(et) et.grid(row = 0, column = 0, rowspan = 4, padx = 5, pady = 5, sticky = NSEW) et = eis.EditInputDataSource(self._mainframe, self, 'Blog') self._inputs.append(et) et.grid(row = 0, column = 1, padx = 5, pady = 5, sticky = NSEW) et = eis.EditInputTopLeftText(self._mainframe, self) self._inputs.append(et) et.grid(row = 1, column = 1, padx = 5, pady = 5, sticky = NSEW) et = eis.EditInputCommon2(self._mainframe, self) self._inputs.append(et) et.grid(row = 2, column = 1, padx = 5, pady = 5, sticky = NSEW) et = eis.EditInputHorizontalPanel(self._mainframe, self) self._inputs.append(et) et.grid(row = 3, column = 1, padx = 5, pady = 5, sticky = NSEW) et = eis.EditInputItemView(self._mainframe, self) self._inputs.append(et) et.grid(row = 0, column = 2, rowspan = 2, padx = 5, pady = 5, sticky = NSEW) et = eis.EditInputDimensions(self._mainframe, self) self._inputs.append(et) et.grid(row = 2, column = 2, rowspan = 2, padx = 5, pady = 5, sticky = NSEW)
def __init__(self, parent, wdir, datamodel, psize): """Initiate Arguments parent -- parent tkinter item wdir -- working directory datamodel -- the database that is edited by the program psize -- tuple defining preview size of images """ EditTab.__init__(self, parent, wdir, datamodel, psize) self._mediatype = tpSlideshow #Create variables for common data self._svBgSound = StringVar() #Make the first row expandable self.rowconfigure(0, weight = 1) #Add frame from super class self._superFrame.grid(row = 0, column = 0, sticky = W + N) #Create the right column rightFrame = Frame(self) rightFrame.grid(row = 0, column = 1, pady = 10, sticky = N + S) rightFrame.rowconfigure(2, weight = 1) commonFrame = Frame(rightFrame) commonFrame.grid(padx = 5, pady = 5, sticky = W) commonFrame.columnconfigure(0, weight = 1) commonFrame.columnconfigure(1, weight = 1) commonFrame.columnconfigure(2, weight = 1) l = Label(commonFrame, text = lang[lng.txtBgSound]) l.grid(row = 0, column = 0, padx = 10, sticky = W) e = Entry(commonFrame, w = 32, textvariable = self._svBgSound, state = "readonly") e.grid(row = 1, column = 0, padx = 10, sticky = W); tt = ToolTip(e, '', textvariable = self._svBgSound, wraplength = self._tooltipwidth) b = SoundButton(commonFrame, lang[lng.txtListen], lang[lng.txtStop], self._clbPlaying) self._btnListen = b b.grid(row = 1, column = 1, padx = 10, sticky = W + E) b = Button(commonFrame, text = lang[lng.txtSelect] + '...', command = self._ehGetBgSound) b.grid(row = 1, column = 2, padx = 10) self._btnSelect = b b = Button(commonFrame, text = lang[lng.txtDelete], state = DISABLED, command = self._ehRemoveSound) b.grid(row = 1, column = 3, padx = 10) self._btnRemove = b b = Button(rightFrame, text = lang[lng.txtNewFrame], command = self._ehNewFrame) b.grid(row = 1, column = 0, padx = 10, pady = 5, sticky = W) sb = Scrollbox(self, rightFrame) self.scrollbox = sb sb.grid(row=2, column = 0, sticky = N + S + W, padx = 10, pady = 10)
def open(self, slideshow, prepared=False): """Open a slideshow for editing Arguments slideshow -- the slideshow prepared -- if true, all media data is already copied to the working folder (i.e. the slideshow has been created automatically) """ EditTab.open(self, slideshow, prepared=False) if not prepared: if slideshow.video != "": shutil.copyfile(slideshow.getPath(slideshow.video), os.path.join(self._wdir, slideshow.video)) self._svVideo.set(slideshow.video)
def _getCurrentSlideshow(self, fromindex = None, oneindex = None): """Create and return a slideshow representing a subset of the currently edited slideshow. If no parameters are given, the entire slideshow will be returned. Arguments fromindex -- if not None, the slideshow will contain all frames starting with fromindex oneindex -- if not None and fromindex is None, the slideshow will contain the frame at oneindex """ slideshow = EditTab._getCurrentSlideshow(self) slideshow.bgsound = self._svBgSound.get() if(fromindex is not None): r = range(fromindex, len(self.scrollbox.widgets)) for i in r: ea = self.scrollbox.widgets[i] frame = SFrame(slideshow, ea.getImage(), ea.getSound()) slideshow.addFrame(frame) elif(oneindex is not None): ea = self.scrollbox.widgets[oneindex] frame = SFrame(slideshow, ea.getImage(), ea.getSound()) slideshow.addFrame(frame) else: for ea in self.scrollbox.widgets: frame = SFrame(slideshow, ea.getImage(), ea.getSound()) slideshow.addFrame(frame) return slideshow
def __init__(self, filename, parentnotebook): EditTab.__init__(self, filename, parentnotebook) et = eis.EditInputTheme(self._mainframe, self) self._inputs.append(et) et.grid(row=0, column=0, rowspan=4, padx=5, pady=5, sticky=NSEW) et = eis.EditInputDataSource(self._mainframe, self, "Blog") self._inputs.append(et) et.grid(row=0, column=1, padx=5, pady=5, sticky=NSEW) et = eis.EditInputDataSource(self._mainframe, self, "New") self._inputs.append(et) et.grid(row=1, column=1, padx=5, pady=5, sticky=NSEW) et = eis.EditInputCommon3(self._mainframe, self) self._inputs.append(et) et.grid(row=2, column=1, padx=5, pady=5, sticky=NSEW) et = eis.EditInputBottomArea(self._mainframe, self) self._inputs.append(et) et.grid(row=3, column=1, padx=5, pady=5, sticky=NSEW) et = eis.EditInputItemView(self._mainframe, self, True) self._inputs.append(et) et.grid(row=0, column=2, rowspan=3, padx=5, pady=5, sticky=NSEW) et = eis.EditInputScrollbuttons(self._mainframe, self) self._inputs.append(et) et.grid(row=3, column=2, padx=5, pady=5, sticky=NSEW) right = Frame(self._mainframe) right.grid(row=0, column=3, rowspan=4, padx=5, pady=5, sticky=NSEW) right.rowconfigure(1, weight=1) et = eis.EditInputDimensions(right, self) self._inputs.append(et) et.grid(row=0, column=0, padx=5, pady=5, sticky=NSEW) sm = eis.SubjectManager(right, self) self._inputs.append(sm) sm.grid(row=1, column=0, padx=5, pady=5, sticky=NSEW)
def __init__(self, filename, parentnotebook): EditTab.__init__(self, filename, parentnotebook) et = eis.EditInputTheme(self._mainframe, self) self._inputs.append(et) et.grid(row = 0, column = 0, rowspan = 4, padx = 5, pady = 5, sticky = NSEW) et = eis.EditInputDataSource(self._mainframe, self, 'Blog') self._inputs.append(et) et.grid(row = 0, column = 1, padx = 5, pady = 5, sticky = NSEW) et = eis.EditInputDataSource(self._mainframe, self, 'New') self._inputs.append(et) et.grid(row = 1, column = 1, padx = 5, pady = 5, sticky = NSEW) et = eis.EditInputCommon3(self._mainframe, self) self._inputs.append(et) et.grid(row = 2, column = 1, padx = 5, pady = 5, sticky = NSEW) et = eis.EditInputBottomArea(self._mainframe, self) self._inputs.append(et) et.grid(row = 3, column = 1, padx = 5, pady = 5, sticky = NSEW) et = eis.EditInputItemView(self._mainframe, self, True) self._inputs.append(et) et.grid(row = 0, column = 2, rowspan = 3, padx = 5, pady = 5, sticky = NSEW) et = eis.EditInputScrollbuttons(self._mainframe, self) self._inputs.append(et) et.grid(row = 3, column = 2, padx = 5, pady = 5, sticky = NSEW) right = Frame(self._mainframe) right.grid(row = 0, column = 3, rowspan = 4, padx = 5, pady = 5, sticky = NSEW) right.rowconfigure(1, weight = 1) et = eis.EditInputDimensions(right, self) self._inputs.append(et) et.grid(row = 0, column = 0, padx = 5, pady = 5, sticky = NSEW) sm = eis.SubjectManager(right, self) self._inputs.append(sm) sm.grid(row = 1, column = 0, padx = 5, pady = 5, sticky = NSEW)
def __init__(self, parent, wdir, datamodel, psize): """Initiate Arguments parent -- parent tkinter item wdir -- working directory datamodel -- the database that is edited by the program psize -- tuple defining preview size of videos """ EditTab.__init__(self, parent, wdir, datamodel, psize) self._mediatype = tpVideo # Create variables for common data self._svVideo = StringVar() # Make the first row expandable self.rowconfigure(0, weight=1) # Add frame from super class self._superFrame.grid(row=0, column=0, sticky=W + N) # Create the right column rightLf = ttk.LabelFrame(self, text=" " + lang[lng.txtVideo] + " ") rightLf.grid(row=0, column=1, pady=10, sticky=W + N) rightFrame = Frame(rightLf) rightFrame.grid() e = Entry(rightFrame, w=32, textvariable=self._svVideo, state="readonly") e.grid(row=0, column=0, padx=10, pady=5, sticky=W) tt = ToolTip(e, "", textvariable=self._svVideo, wraplength=parent.winfo_screenwidth() * 4 / 5) b = Button(rightFrame, text=lang[lng.txtSelect] + "...", command=self._ehGetVideo) b.grid(row=0, column=1, padx=10, pady=5) b = Button(rightFrame, text=lang[lng.txtWatch], command=self._ehWatch) b.grid(row=0, column=2, padx=10, pady=5)
def __init__(self, filename, parentnotebook): EditTab.__init__(self, filename, parentnotebook) et = eis.EditInputTheme(self._mainframe, self) self._inputs.append(et) et.grid(row=0, column=0, rowspan=2, padx=5, pady=5, sticky=NSEW) et = eis.EditInputDimensions(self._mainframe, self) self._inputs.append(et) et.grid(row=0, column=1, padx=5, pady=5, sticky=NSEW) et = eis.EditInputScrollbuttons(self._mainframe, self) self._inputs.append(et) et.grid(row=0, column=2, padx=5, pady=5, sticky=NSEW) et = eis.EditInputItemView(self._mainframe, self, True) self._inputs.append(et) et.grid(row=0, column=3, rowspan=2, padx=5, pady=5, sticky=NSEW) et = eis.EditInputCommon1(self._mainframe, self) self._inputs.append(et) et.grid(row=1, column=1, columnspan=2, padx=5, pady=5, sticky=NSEW)
def clear(self): """Clear the edit tab""" EditTab.clear(self) self._svVideo.set("")
def _getCurrentSlideshow(self): """Create and return a slideshow representing the currently edited slideshow.""" slideshow = EditTab._getCurrentSlideshow(self) slideshow.video = self._svVideo.get() return slideshow
def clear(self): """Clear the edit tab""" EditTab.clear(self) self.scrollbox.clear() self._svBgSound.set('')