def __init__(self, inidir, inifile): """Initiate the application Arguments inidir -- the working directory inifile -- the inifile """ settings = Settings3(inidir, inifile) self._settings = settings dsdblog = InifileDataSourceDescription(sBlog, inidir, inifile) dsdnew = InifileDataSourceDescription(sNew, inidir, inifile) #Initiate main GUI gui = publicdisplay.PublicDisplay(inifile) self.gui = gui self.gui.root.protocol("WM_DELETE_WINDOW", self._ehQuit) self._views = dict() self._datamanagers = dict() self._sched = scheduler.Scheduler() #Configure blog data manager dm = DataManager3Blog(inidir, dsdblog, settings) self._datamanagers[_blogid] = dm self._sched.addUpdatable(dm) gui.setupSoftbutton(self._ehBlog, lang[lng.txtBlog], 0) frame = gui.createMainAreaShape(publicdisplay.shpSmallRoundRect, _blogid) blogview = BooklistView(settings.previewx, settings.previewy, frame) self._views[_blogid] = blogview dm.addSubjectObserver(blogview) rect = gui.createMainAreaShape(publicdisplay.shpBottomRect, _bottomblogid) ib = Infobar(rect) dm.addSubjectObserver(ib) #Configure new book data manager dm = DataManager3New(inidir, dsdnew, settings) self._datamanagers[_newbookid] = dm self._sched.addUpdatable(dm) gui.setupSoftbutton(self._ehNew, lang[lng.txtRecentlyBought], 1) frame = gui.createMainAreaShape(publicdisplay.shpSmallRoundRect, _newbookid) blogview = BooklistView(settings.previewx, settings.previewy, frame) self._views[_newbookid] = blogview dm.addSubjectObserver(blogview) rect = gui.createMainAreaShape(publicdisplay.shpBottomRect, _bottomnewbookid) ib = Infobar(rect) dm.addSubjectObserver(ib) self._itemviews = dict() #Create blog view frame = gui.createMainAreaShape(publicdisplay.shpSmallRoundRect, _blogviewid) viewer = BlogView(frame, gui.bgcolor, settings) self._views[_blogviewid] = viewer self._itemviews[_blogid] = _blogviewid #Create book view frame = gui.createMainAreaShape(publicdisplay.shpSmallRoundRect, _bookviewid) viewer = BookView(frame, gui.bgcolor, settings) self._views[_bookviewid] = viewer self._itemviews[_newbookid] = _bookviewid #Create carousel views self._imagecarouselframe = gui.createBottomFrame() self._imagecarouselview = ImageCarouselView(self._imagecarouselframe, settings.smallpreviewx, settings.smallpreviewy) self._imagecarouselframe.grid_remove() self._subjectcarouselframe = gui.createBottomFrame() self._subjectcarouselview = ImageCarouselView(self._subjectcarouselframe, settings.smallpreviewx, settings.smallpreviewy) self._subjectcarouselframe.grid_remove() self._setupPublicDisplay(_blogid, _bottomblogid, [_newbookid, _bottomnewbookid, _blogviewid, _bookviewid], 0) self._sched.start()