示例#1
0
    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()