def onModuleLoad(self):
        self.singleton = self

        topPanel = TopPanel()
        rightPanel = VerticalPanel()
        self.mailDetail = MailDetail()
        self.shortcuts = Shortcuts()

        topPanel.setWidth("100%")

        # MailList uses Mail.get() in its constructor, so initialize it after
        # 'singleton'.
        mailList = MailList(self.singleton)
        mailList.setWidth("100%")
        
        # Create the right panel, containing the email list & details.
        rightPanel.add(mailList)
        rightPanel.add(self.mailDetail)
        mailList.setWidth("100%")
        self.mailDetail.setWidth("100%")

        # Create a dock panel that will contain the menu bar at the top,
        # the shortcuts to the left, and the mail list & details taking the rest.
        outer = DockPanel()
        outer.add(topPanel, DockPanel.NORTH)
        outer.add(self.shortcuts, DockPanel.WEST)
        outer.add(rightPanel, DockPanel.CENTER)
        outer.setWidth("100%")

        outer.setSpacing(4)
        outer.setCellWidth(rightPanel, "100%")

        # Hook the window resize event, so that we can adjust the UI.
        #FIXME need implementation # Window.addWindowResizeListener(this)
        #Window.addWindowResizeListener(self)

        # Get rid of scrollbars, and clear out the window's built-in margin,
        # because we want to take advantage of the entire client area.
        Window.enableScrolling(False)
        Window.setMargin("0px")
        
        # Finally, add the outer panel to the RootPanel, so that it will be
        # displayed.
        #RootPanel.get().add(outer) # FIXME get#
        RootPanel().add(outer)
        RootPanel().add(Logger())
        
        # Call the window resized handler to get the initial sizes setup. Doing
        # this in a deferred command causes it to occur after all widgets' sizes
        # have been computed by the browser.

        # FIXME - need implementation#
        #     DeferredCommand.add(onWindowResized(Window.getClientWidth(), Window.getClientHeight()))

        self.onWindowResized(Window.getClientWidth(), Window.getClientHeight())
예제 #2
0
class ITXLogFetcher(wx.Frame):
    """ Main file that holds the main wxPython panel.
        intializes BottomPanel and TopPanel and DataModel
    """

    def __init__(self, parent, title):
        super(ITXLogFetcher, self).__init__(parent, title=title, size=(750, 900), pos = (400, 100))

        panel = wx.Panel(self)

        # initialize OptionsPanel and FilelistPanel, pass their references to each other
        # also pass it to DataModel
        self.bottom_panel = BottomPanel(panel)
        self.top_panel = TopPanel(panel)
        self.bottom_panel.top_panel = self.top_panel
        self.top_panel.bottom_panel = self.bottom_panel
        DataModel.bottom_panel = self.bottom_panel

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.top_panel, 3, wx.EXPAND | wx.TOP | wx.LEFT | wx.RIGHT, border=10)
        sizer.Add(self.bottom_panel, 1, wx.EXPAND | wx.ALL, border=10)

        # init the panel and layout, then Show() it
        panel.SetSizerAndFit(sizer)
        panel.Layout()
        self.Show()

        # for testing
        # self.testing()


    """ testing methods """
    def testing(self):
        print "Running ITXLogFetcher.testing()"
        DataModel.testing()
        # logfetcher.testing3()
        self.bottom_panel.testing1()
        self.top_panel.testing2()
        print len(self.top_panel.matchingfiles)
        print "FINISHED ITXLogFetcher.testing()"
예제 #3
0
    def __init__(self, parent, title):
        super(ITXLogFetcher, self).__init__(parent, title=title, size=(750, 900), pos = (400, 100))

        panel = wx.Panel(self)

        # initialize OptionsPanel and FilelistPanel, pass their references to each other
        # also pass it to DataModel
        self.bottom_panel = BottomPanel(panel)
        self.top_panel = TopPanel(panel)
        self.bottom_panel.top_panel = self.top_panel
        self.top_panel.bottom_panel = self.bottom_panel
        DataModel.bottom_panel = self.bottom_panel

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.top_panel, 3, wx.EXPAND | wx.TOP | wx.LEFT | wx.RIGHT, border=10)
        sizer.Add(self.bottom_panel, 1, wx.EXPAND | wx.ALL, border=10)

        # init the panel and layout, then Show() it
        panel.SetSizerAndFit(sizer)
        panel.Layout()
        self.Show()
예제 #4
0
    def __init_ui(self):
        self.setGeometry(200, 200, 1024, 700)
        self.setWindowTitle(u'QQ音乐民间(Linux)版')

        central_layout = QVBoxLayout()
        central_layout.setSpacing(0)
        central_layout.setContentsMargins(0, 0, 0, 0)

        central_widget = QWidget()
        central_widget.setLayout(central_layout)
        self.setCentralWidget(central_widget)

        self.top_panel = TopPanel()
        self.top_panel.edt_search.connect(SIGNAL('returnPressed()'),
                                          self.action_search)
        self.top_panel.btn_search.connect(SIGNAL('clicked()'),
                                          self.action_search)
        central_layout.addWidget(self.top_panel)

        wrap_layout = QHBoxLayout()
        wrap_layout.setSpacing(0)
        wrap_layout.setContentsMargins(0, 0, 0, 0)
        central_layout.addLayout(wrap_layout)

        self.left_panel = LeftPanel()
        self.left_panel.btn_search.connect(SIGNAL('clicked()'),
                                           self.action_show_search_panel)
        self.left_panel.btn_playlist.connect(SIGNAL('clicked()'),
                                             self.action_show_playlist_panel)
        self.left_panel.btn_cache.connect(SIGNAL('clicked()'),
                                          self.action_show_cache_panel)
        self.left_panel.btn_download.connect(SIGNAL('clicked()'),
                                             self.action_show_download_panel)
        wrap_layout.addWidget(self.left_panel)

        self.stacked = QStackedWidget()
        wrap_layout.addWidget(self.stacked)

        self.search_panel = SearchPanel()
        self.search_panel.connect(SIGNAL('before_search()'), self.open_waiting)
        self.search_panel.connect(SIGNAL('after_fill()'), self.close_waiting)
        self.search_panel.song_table.connect(SIGNAL('cell_double_clicked()'),
                                             self.play_search_table)
        self.search_panel.btn_add_playlist.connect(SIGNAL('clicked()'),
                                                   self.action_add_playlist)
        self.search_panel.tencent.connect(SIGNAL('after_download(PyObject)'),
                                          self.after_download)
        self.stacked.addWidget(self.search_panel)

        self.playlist_panel = PlaylistPanel()
        self.playlist_panel.song_table.connect(SIGNAL('cell_double_clicked()'),
                                               self.play_list_table)
        self.stacked.addWidget(self.playlist_panel)

        self.cache_panel = CachePanel()
        self.cache_panel.song_table.connect(SIGNAL('cell_double_clicked()'),
                                            self.play_cache_table)
        self.stacked.addWidget(self.cache_panel)

        self.download_panel = DownloadPanel()
        self.download_panel.song_table.connect(SIGNAL('cell_double_clicked()'),
                                               self.play_download_table)
        self.stacked.addWidget(self.download_panel)

        self.bottom_panel = BottomPanel()
        self.bottom_panel.connect(SIGNAL('before_load()'), self.open_waiting)
        self.bottom_panel.connect(SIGNAL('load_error()'), self.close_waiting)
        self.bottom_panel.loader.connect(SIGNAL('after_cache()'),
                                         self.after_cache)
        self.bottom_panel.player.connect(SIGNAL('before_play()'),
                                         self.close_waiting)
        self.bottom_panel.btn_stop.connect(SIGNAL('clicked()'),
                                           self.close_waiting)
        central_layout.addWidget(self.bottom_panel)