Exemplo n.º 1
0
    def __do_events(self):
        wx.EVT_BUTTON(self.parent_window, self.tab_send.GetId(),
                      self.OnSendMessage)
        wx.EVT_BUTTON(self.parent_window, self.tab_clear.GetId(),
                      self.OnClearMessage)

        wx.EVT_TEXT_ENTER(self.tab_panel, self.tab_chatBox.GetId(),
                          self.OnSendMessage)

        wx.EVT_KEY_DOWN(self.parent_window, self.OnKeyDown)

        wx.EVT_LIST_ITEM_RIGHT_CLICK(self.tab_panel,
                                     self.tab_listPeople.GetId(),
                                     self.OnRightClick_People)

        wx.EVT_RIGHT_DOWN(self.tab_chatArea, self.OnRightClick_ChatArea)
        #wx.EVT_RIGHT_DOWN(self.tab_panel, self.tab_chatArea.GetId(), self.OnRightClick_ChatArea)

        wx.EVT_MENU(self.tab_panel, ID_POPUP_USERS_PRIVATEMSG,
                    self.OnPrivateMessage)
        wx.EVT_MENU(self.tab_panel, ID_POPUP_USERS_SETAWAY, self.OnSetAway)
        wx.EVT_MENU(self.tab_panel, ID_POPUP_USERS_GETINFO, self.OnGetUserInfo)

        wx.EVT_MENU(self.tab_panel, ID_POPUP_CHANNEL_LOGGING, self.OnLogging)
        wx.EVT_MENU(self.tab_panel, ID_POPUP_CHANNEL_TIMESTAMP,
                    self.OnTimeStamps)
        wx.EVT_MENU(self.tab_panel, ID_POPUP_CHANNEL_CLOSE, self.OnCloseTab)
Exemplo n.º 2
0
    def __init__(self, *args, **kwds):
        '''
        Constructor
        '''
        wx.ScrolledWindow.__init__(self, *args, **kwds)
        #CONSTANTES
        self.COLOR_TUITS = wx.Colour(225, 255, 255)  #(Rojo, Verde, Azul)
        #VARIABLES
        self.cronologia = None
        self.esDM = False
        self.primeraVezClickDerecho = False
        self.controla = None
        self.visuali = None

        #self.tCtrlInfoTweet = wx.TextCtrl(self, -1, "", style=wx.TE_PROCESS_ENTER|wx.TE_MULTILINE|wx.TE_READONLY|wx.TE_AUTO_URL)
        self.listCtrlListaTweets = ULC.UltimateListCtrl(
            self,
            -1,
            agwStyle=ULC.ULC_REPORT | ULC.ULC_HAS_VARIABLE_ROW_HEIGHT
            | ULC.ULC_SEND_LEFTCLICK)

        self.__set_properties()
        self.__do_layout()

        self.listCtrlListaTweets.Bind(wx.EVT_LIST_ITEM_SELECTED,
                                      self.casillaSeleccionada)
        wx.EVT_LIST_ITEM_RIGHT_CLICK(self, self.listCtrlListaTweets.GetId(),
                                     self.clicDerechoEstado)
Exemplo n.º 3
0
 def init_events(self):
     tID = self.GetId()
     wx.EVT_LIST_BEGIN_DRAG(self, tID, self.OnMouseDown)
     wx.EVT_LEFT_DCLICK(self, self.OnDoubleClick)
     wx.EVT_LIST_ITEM_SELECTED(self, tID, self.OnItemSelected)
     wx.EVT_LIST_ITEM_ACTIVATED(self, tID, self.OnItemSelected)
     wx.EVT_LIST_ITEM_RIGHT_CLICK(self, tID, self.OnRightClick)
     wx.EVT_CHAR(self, self.OnKeyPress)
Exemplo n.º 4
0
 def __events__(self):
     wx.EVT_BUTTON(self.folderNew, -1, self.onFolderNew)
     wx.EVT_BUTTON(self.folderDelete, -1, self.onFolderDelete)
     wx.EVT_LISTBOX(self.folderList, -1, self.onFolderSelect)
     wx.EVT_LIST_ITEM_SELECTED(self.fileList, -1, self.onFileSelect)
     wx.EVT_LIST_ITEM_RIGHT_CLICK(self.fileList, -1, self.onFileRightClick)
     wx.EVT_LIST_ITEM_MIDDLE_CLICK(self.fileList, -1,
                                   self.onFileMiddleClick)
     self.folderList.GetSelection()
Exemplo n.º 5
0
    def __init__(self, parent):
        """
        Class constructor
        
        @param parent: parent object
        """
        wx.Panel.__init__(self, parent, id=wx.ID_ANY)

        # Create list box
        self.log_list = wx.ListCtrl(self, -1, style=wx.LC_REPORT)
        self.log_list.ScrollList(10, 10)
        self.log_list.InsertColumn(0, "Timestamp")
        self.log_list.InsertColumn(1, "Type")
        self.log_list.InsertColumn(2, "Message")
        self.log_list.SetColumnWidth(0, 140)
        self.log_list.SetColumnWidth(1, 60)
        self.log_list.SetColumnWidth(2, 400)

        # create the image list:
        il = wx.ImageList(16, 16)
        self.icons = os.path.join(
            os.path.abspath(os.path.dirname(sys.argv[0])), "images")
        self.arrow_left_icon = il.Add(
            wx.Bitmap(os.path.join(self.icons, "arrow_left.ico"),
                      wx.BITMAP_TYPE_ICO))
        self.arrow_right_icon = il.Add(
            wx.Bitmap(os.path.join(self.icons, "arrow_right.ico"),
                      wx.BITMAP_TYPE_ICO))
        self.warning_icon = il.Add(
            wx.Bitmap(os.path.join(self.icons, "warning.ico"),
                      wx.BITMAP_TYPE_ICO))
        self.log_list.AssignImageList(il, wx.IMAGE_LIST_SMALL)

        # Right-click event
        wx.EVT_LIST_ITEM_RIGHT_CLICK(self.log_list, -1, self._cb_right_click)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.log_list, 1, wx.EXPAND)
        self.SetSizer(sizer)

        # Redirect stdout to the LogCtrl widget
        #sys.stdout = RedirectText(self)

        pub.subscribe(self.cb_packet_received, "packet_received")
        pub.subscribe(self.cb_packet_sent, "packet_sent")
Exemplo n.º 6
0
    def __init__(self, *args, **kwargs):
        """ Construct the list control. """
        kwargs['style'] = wx.LC_VIRTUAL | wx.LC_REPORT
        self.popup_menu = kwargs.pop('popup_menu')
        wx.ListCtrl.__init__(self, *args, **kwargs)

        self.InsertColumn(0, "Service name", width=150)
        self.InsertColumn(1, "Current state", width=100)
        self.InsertColumn(2, "Controls accepted", width=100)
        self.InsertColumn(3, "Start type", width=100)
        self.InsertColumn(4, "Binary path name", width=300)
        self.InsertColumn(5, "Last Error", width=200)

        wx.EVT_LIST_ITEM_RIGHT_CLICK(self, -1, self.on_context_menu)

        self.image_list = wx.ImageList(16, 16)
        self.image_list.Add(wx.Bitmap('lock.png', wx.BITMAP_TYPE_PNG))
        self.SetImageList(self.image_list, wx.IMAGE_LIST_SMALL)
        self.image_list_dict = {
            'lock': 0,
        }
Exemplo n.º 7
0
    def __init__(self, parent, id, x, y):
        wx.Panel.__init__(self, parent, id)
        self.parent = parent

        # Create the playlist control
        self.TracksId = wx.NewId()
        self.TrackList = wx.ListCtrl(self,
                                     self.TracksId,
                                     style=wx.LC_REPORT | wx.LC_SINGLE_SEL
                                     | wx.SUNKEN_BORDER | wx.LC_EDIT_LABELS)
        self.TrackList.InsertColumn(0, "Track list", width=DEFAULT_WIDTH)
        self.TrackList.Show(True)

        # Create the status bar
        self.StatusBar = wx.StatusBar(self, -1)
        self.StatusBar.SetStatusText("No rip loaded")

        # Create a sizer for the tree view and status bar
        self.VertSizer = wx.BoxSizer(wx.VERTICAL)
        self.VertSizer.Add(self.TrackList, 1, wx.EXPAND, 0)
        self.VertSizer.Add(self.StatusBar, 0, wx.EXPAND, 0)
        self.SetSizer(self.VertSizer)

        # Create IDs for popup menu
        self.menuRenameId = wx.NewId()
        self.menuEncodeId = wx.NewId()

        # Add handlers for right-click in the listbox
        wx.EVT_LIST_ITEM_RIGHT_CLICK(self.TrackList, wx.ID_ANY,
                                     self.OnRightClick)
        self.RightClickedItemIndex = -1

        # Resize column width to the same as list width (or max title width, which larger)
        wx.EVT_SIZE(self.TrackList, self.onResize)
        self.MaxTitleWidth = 0

        self.Show(True)
Exemplo n.º 8
0
    def __init__(self, parent, mainframe):
        self.initmixin()
        self.parent = parent
        self.mainframe = mainframe
        self.pref = self.mainframe.pref
        wx.Panel.__init__(self, parent, -1)

        self.box = wx.BoxSizer(wx.VERTICAL)

        self.box1 = wx.BoxSizer(wx.HORIZONTAL)

        obj = wx.StaticText(self, -1, tr('Account:'))
        self.box1.Add(obj, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2)
        self.ID_SITELIST = wx.NewId()
        self.cmbSite= wx.ComboBox(self, self.ID_SITELIST, "", choices=self.mainframe.pref.blog_sites, size=(100, 20), style=wx.CB_READONLY)
        self.box1.Add(self.cmbSite, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2)

        #manage
        self.ID_MANAGE = wx.NewId()
        self.btnManage = wx.Button(self, self.ID_MANAGE, tr('Manage'), size=(50, -1))
        self.box1.Add(self.btnManage, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2)

        #new button
        self.ID_NEW= wx.NewId()
        self.btnNew = wx.Button(self, self.ID_NEW, tr('New'), size=(40, -1))
        self.box1.Add(self.btnNew, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2)

        #delete button
        self.ID_DELETE= wx.NewId()
        self.btnDelete = wx.Button(self, self.ID_DELETE, tr('Del'), size=(40, -1))
        self.box1.Add(self.btnDelete, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2)

        #get last post
        self.ID_GETPOSTS = wx.NewId()
        self.btnGetposts = wx.Button(self, self.ID_GETPOSTS, tr('Get Post'), size=(65, -1))
        self.box1.Add(self.btnGetposts, 0, wx.ALIGN_CENTER_VERTICAL)

        #get posts more
        self.ID_GETPOSTSMORE = wx.NewId()
        self.btnGetpostsMore = wx.Button(self, self.ID_GETPOSTSMORE, tr('>'), size=(15, -1))
        self.box1.Add(self.btnGetpostsMore, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2)

        #get posts more
        self.ID_CACHE = wx.NewId()
        self.btnCache = wx.Button(self, self.ID_CACHE, tr('Cache'), size=(40, -1))
        self.box1.Add(self.btnCache, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, 2)

        self.box.Add(self.box1, 0, wx.ALL|wx.EXPAND, 2)

        self.list = wx.ListCtrl(self, -1, style=wx.LC_REPORT | wx.LC_SINGLE_SEL)
        self.box.Add(self.list, 1, wx.EXPAND)

        self.SetSizer(self.box)
        self.SetAutoLayout(True)

        self.load()
        self.data = []
        self.initlist()

        wx.EVT_UPDATE_UI(self.btnDelete, self.ID_DELETE, self.OnUpdateUI)
        wx.EVT_BUTTON(self.btnManage, self.ID_MANAGE, self.OnManage)
        wx.EVT_BUTTON(self.btnNew, self.ID_NEW, self.OnNew)
        wx.EVT_BUTTON(self.btnDelete, self.ID_DELETE, self.OnDelete)
        wx.EVT_BUTTON(self.btnGetposts, self.ID_GETPOSTS, self.OnGetPosts)
        wx.EVT_BUTTON(self.btnGetpostsMore, self.ID_GETPOSTSMORE, self.OnGetPostsMore)
        wx.EVT_BUTTON(self.btnCache, self.ID_CACHE, self.OnCache)
        wx.EVT_LIST_ITEM_ACTIVATED(self.list, self.list.GetId(), self.OnEntryEntered)
        wx.EVT_COMBOBOX(self.cmbSite, self.ID_SITELIST, self.OnSiteChanged)

        if self.popmenulist:
            self.popmenu = makemenu.makepopmenu(self, self.popmenulist, self.imagelist)
            wx.EVT_LIST_ITEM_RIGHT_CLICK(self.list, self.list.GetId(), self.OnRClick)
            wx.EVT_RIGHT_UP(self.list, self.OnRClick)

        self.callplugin('init', self)
Exemplo n.º 9
0
    def init(self, parent):
        """ Finishes initializing the editor by creating the underlying toolkit
            widget.
        """
        factory = self.factory

        # Set up the adapter to use:
        self.adapter = factory.adapter
        self.sync_value(factory.adapter_name, 'adapter', 'from')

        # Determine the style to use for the list control:
        style = wx.LC_REPORT | wx.LC_VIRTUAL

        if factory.editable:
            style |= wx.LC_EDIT_LABELS

        if factory.horizontal_lines:
            style |= wx.LC_HRULES

        if not factory.multi_select:
            style |= wx.LC_SINGLE_SEL

        if (factory.title == '') and (factory.title_name == ''):
            style |= wx.LC_NO_HEADER

        # Create the list control and link it back to us:
        self.control = control = wxListCtrl(parent, -1, style=style)
        control._editor = self

        # Create the list control column:
        control.InsertColumn(0, '')

        # Set up the list control's event handlers:
        id = control.GetId()
        wx.EVT_LIST_BEGIN_DRAG(parent, id, self._begin_drag)
        wx.EVT_LIST_BEGIN_LABEL_EDIT(parent, id, self._begin_label_edit)
        wx.EVT_LIST_END_LABEL_EDIT(parent, id, self._end_label_edit)
        wx.EVT_LIST_ITEM_SELECTED(parent, id, self._item_selected)
        wx.EVT_LIST_ITEM_DESELECTED(parent, id, self._item_selected)
        wx.EVT_LIST_ITEM_RIGHT_CLICK(parent, id, self._right_clicked)
        wx.EVT_LIST_ITEM_ACTIVATED(parent, id, self._item_activated)
        wx.EVT_SIZE(control, self._size_modified)

        # Handle key events:
        wx.EVT_CHAR(control, self._key_pressed)

        # Handle mouse events:
        if 'edit' in factory.operations:
            wx.EVT_LEFT_DOWN(control, self._left_down)

        # Set up the drag and drop target:
        if PythonDropTarget is not None:
            control.SetDropTarget(PythonDropTarget(self))

        # Initialize the editor title:
        self.title = factory.title
        self.sync_value(factory.title_name, 'title', 'from')

        # Set up the selection listener (if necessary):
        if factory.multi_select:
            self.sync_value(factory.selected,
                            'multi_selected',
                            'both',
                            is_list=True)
            self.sync_value(factory.selected_index,
                            'multi_selected_indices',
                            'both',
                            is_list=True)
        else:
            self.sync_value(factory.selected, 'selected', 'both')
            self.sync_value(factory.selected_index, 'selected_index', 'both')

        # Synchronize other interesting traits as necessary:
        self.sync_value(factory.activated, 'activated', 'to')
        self.sync_value(factory.activated_index, 'activated_index', 'to')

        self.sync_value(factory.right_clicked, 'right_clicked', 'to')
        self.sync_value(factory.right_clicked_index, 'right_clicked_index',
                        'to')

        # Make sure we listen for 'items' changes as well as complete list
        # replacements:
        self.context_object.on_trait_change(self.update_editor,
                                            self.extended_name + '_items',
                                            dispatch='ui')

        # Create the mapping from user supplied images to wx.ImageList indices:
        for image_resource in factory.images:
            self._add_image(image_resource)

        # Refresh the editor whenever the adapter changes:
        self.on_trait_change(self._refresh, 'adapter.+update', dispatch='ui')

        # Set the list control's tooltip:
        self.set_tooltip()
    def __init__(self):
        if islogin() == False:
            dlg = LoginDialog()
            if wx.ID_OK == dlg.ShowModal():
                dlg.Destroy()
            else:
                dlg.Destroy()
                wx.Exit()

        wx.Frame.__init__(self, None, -1, u'知乎收藏夹', size=(900, 500))
        self.SetIcon(images_icon.AppIcon.GetIcon())
        self.SetBackgroundColour(wx.Colour(240, 240, 240))

        self.panel = wx.Panel(self)
        self.horizontalBoxSizer = wx.BoxSizer(wx.HORIZONTAL)

        self.baseBoxSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.baseBoxSizer.Add(self.panel,
                              proportion=1,
                              flag=wx.ALL | wx.EXPAND,
                              border=0)
        self.SetSizer(self.baseBoxSizer)

        self.statusBar = ZhihuStatusBar(self)
        self.SetStatusBar(self.statusBar)
        self.statusBar.Hide()

        self.menuBar_menubar_menu_items = [{
            'id': ControlID.MENUBAR_MENU_ITEM_REFRESH,
            'title': u'刷新',
            'separator': True,
            'IsShown': lambda: True
        }, {
            'id': ControlID.MENUBAR_MENU_ITEM_CREATE,
            'title': u'新建收藏夹',
            'separator': True,
            'IsShown': lambda: True
        }, {
            'id':
            ControlID.MENUBAR_MENU_ITEM_SHOW_STATUSBAR,
            'title':
            u'隐藏状态栏',
            'separator':
            True,
            'IsShown':
            lambda: self.statusBar.IsShown()
        }, {
            'id':
            ControlID.MENUBAR_MENU_ITEM_HIDE_STATUSBAR,
            'title':
            u'显示状态栏',
            'separator':
            True,
            'IsShown':
            lambda: not self.statusBar.IsShown()
        }, {
            'id':
            ControlID.MENUBAR_MENU_ITEM_EXPORT_ALL,
            'title':
            u'导出所有',
            'separator':
            True,
            'IsShown':
            lambda: True,
            'hasSub':
            True,
            'sub': [{
                'id': ControlID.MENUBAR_MENU_ITEM_EXPORT_ALL_CHM_UTF8,
                'title': u"导出为CHM(UTF-8)"
            }, {
                'id': ControlID.MENUBAR_MENU_ITEM_EXPORT_ALL_CHM_GBK,
                'title': u"导出为CHM(GBK)",
                'IsShown': lambda: False
            }, {
                'id': ControlID.MENUBAR_MENU_ITEM_EXPORT_ALL_HTML,
                'title': u"导出为HTML"
            }]
        }, {
            'id': ControlID.MENUBAR_MENU_ITEM_QUIT,
            'title': u'退出',
            'separator': False,
            'IsShown': lambda: True
        }]

        self.menuBar_menuBar = wx.MenuBar()
        self.SetMenuBar(self.menuBar_menuBar)
        self.UpdaetMenuBarMenu()

        self.collections_menu_itemms = [{
            'id': ControlID.COLLECTION_LIST_MENU_OPEN,
            'title': u"打开"
        }, {
            'id': ControlID.COLLECTION_LIST_MENU_RENAME,
            'title': u"编辑收藏夹"
        }, {
            'id':
            ControlID.COLLECTION_LIST_MENU_EXPORT,
            'title':
            u"导出",
            'hasSub':
            True,
            'sub': [{
                'id': ControlID.COLLECTION_LIST_MENU_EXPORT_CHM_UTF8,
                'title': u"导出为CHM(UTF-8)"
            }, {
                'id': ControlID.COLLECTION_LIST_MENU_EXPORT_CHM_GBK,
                'title': u"导出为CHM(GBK)",
                'IsShown': lambda: False
            }, {
                'id': ControlID.COLLECTION_LIST_MENU_EXPORT_HTML,
                'title': u"导出为HTML"
            }]
        }, {
            'id': ControlID.COLLECTION_LIST_MENU_DELETE,
            'title': u"删除"
        }]

        # create the list control
        self.ListCtrl_CollectionList = wx.ListCtrl(self.panel,
                                                   -1,
                                                   style=wx.LC_REPORT)

        self.ListCtrl_CollectionList_imgs = wx.ImageList(16, 16, True)
        self.ListCtrl_CollectionList_imgs.Add(images_icon.LockIcon.GetBitmap())
        self.ListCtrl_CollectionList.AssignImageList(
            self.ListCtrl_CollectionList_imgs, wx.IMAGE_LIST_SMALL)

        wx.EVT_LIST_ITEM_RIGHT_CLICK(self.ListCtrl_CollectionList, -1,
                                     self.OnCollectionListRightClick)
        wx.EVT_LIST_ITEM_ACTIVATED(self.ListCtrl_CollectionList, -1,
                                   self.OnCollectionListDoubleClick)
        self.ListCtrl_CollectionList_item_clicked = None

        for col, text in enumerate(Utils.getUserCollectionListColumns()):
            self.ListCtrl_CollectionList.InsertColumn(col, text)

        self.horizontalBoxSizer.Add(self.ListCtrl_CollectionList,
                                    proportion=0,
                                    flag=wx.ALL | wx.EXPAND,
                                    border=5)

        self.favorites_list_menu_copy_to = []
        self.favorites_list_menu_move_to = []

        # init collection answers list
        self.collections_answers_menu_items = [
            {
                'id': ControlID.ANSWER_LIST_MENU_BROWSE,
                'title': u"浏览"
            },
            {
                'id': ControlID.ANSWER_LIST_MENU_BROWSE_COPY,
                'title': u"复制到",
                'hasSub': True,
                'sub': self.favorites_list_menu_copy_to
            },
            {
                'id': ControlID.ANSWER_LIST_MENU_BROWSE_MOVE,
                'title': u"移动到",
                'hasSub': True,
                'sub': self.favorites_list_menu_move_to
            },
            {
                'id': ControlID.ANSWER_LIST_MENU_BROWSE_DELETE,
                'title': u"取消收藏"
            },
        ]

        # create the list control
        self.ListCtrl_CollectionAnswersList = wx.ListCtrl(self.panel,
                                                          -1,
                                                          style=wx.LC_REPORT)
        wx.EVT_LIST_ITEM_RIGHT_CLICK(self.ListCtrl_CollectionAnswersList, -1,
                                     self.OnCollectionAnswersListRightClick)
        wx.EVT_LIST_ITEM_ACTIVATED(self.ListCtrl_CollectionAnswersList, -1,
                                   self.OnCollectionAnswersListDoubleClick)
        self.ListCtrl_CollectionAnswersList_item_clicked = None

        for col, text in enumerate(
                Utils.getUserCollectionAnswersListColumns()):
            self.ListCtrl_CollectionAnswersList.InsertColumn(col, text)

        self.horizontalBoxSizer.Add(self.ListCtrl_CollectionAnswersList,
                                    proportion=2,
                                    flag=wx.ALL | wx.EXPAND,
                                    border=5)

        self.ListCtrl_TaskList = wx.ListCtrl(self.panel,
                                             -1,
                                             style=wx.LC_REPORT)
        # wx.EVT_LIST_ITEM_RIGHT_CLICK( self.ListCtrl_TaskList, -1, self.OnCollectionListRightClick )
        # wx.EVT_LIST_ITEM_ACTIVATED( self.ListCtrl_TaskList, -1, self.OnCollectionListDoubleClick )
        self.ListCtrl_TaskList_item_clicked = None

        for col, text in enumerate(Utils.getTaskListColumns()):
            self.ListCtrl_TaskList.InsertColumn(col, text)
            self.ListCtrl_TaskList.SetColumnWidth(col, 40)
        self.tasklist_items = []

        self.horizontalBoxSizer.Add(self.ListCtrl_TaskList,
                                    proportion=1,
                                    flag=wx.ALL | wx.EXPAND,
                                    border=5)

        self.OnMenuRefresh()

        self.status_msg = {}
        self.status_msg[True] = u'成功'
        self.status_msg[False] = u'失败'

        # init task queue
        self.taskExecutor = TaskExecutor(self.OnTaskFinish,
                                         self.OnTaskProgress)
        self.taskExecutor.start()

        # create tmpfile
        self.temp_dir_path = tempfile.mkdtemp()

        self.panel.SetSizer(self.horizontalBoxSizer)
        self.horizontalBoxSizer.Fit(self.panel)
        self.Layout()
        self.Center()
Exemplo n.º 11
0
 def __do_base_bindings(self):
     wx.EVT_LIST_ITEM_RIGHT_CLICK(self.ListDisplay, -1, self._makemenu)
     self.ListDisplay.Bind(wx.EVT_LIST_BEGIN_DRAG, self.onLeftDown)
     self.ListDisplay.Bind(wx.EVT_KEY_DOWN, self._base_key_down)
Exemplo n.º 12
0
    def __init__(self, parent, mainframe):
        self.initmixin()
        self.parent = parent
        self.mainframe = mainframe
        self.pref = self.mainframe.pref
        wx.Panel.__init__(self, parent, -1)

        self.alive = False
        self.running = False

        self.box = box = ui.VBox(
            namebinding='widget').create(self).auto_layout()
        box1 = box.add(ui.HBox)
        box1.add(ui.Label(tr('Sites:')))
        box1.add(ui.ComboBox("", self.mainframe.pref.ftp_sites),
                 name='cmbSite').bind(wx.EVT_COMBOBOX, self.OnSiteChanged)
        box1.add(ui.Label(tr('Username:'******'', size=(100, -1)), name='txtUser')
        box1.add(ui.Label(tr('Password:'******'', size=(100, -1)), name='txtPassword')
        box1.add(ui.Button(tr('Connect')),
                 name='btnConnect').bind('click', self.OnConnect)
        box1.add(ui.Button(tr('Disconnect')),
                 name='btnDisconnect').bind('click', self.OnDisconnect)

        box.add(ui.List(columns=[
            (tr("Name"), 500, 'left'),
            (tr("Size"), 80, 'right'),
            (tr("Format"), 80, 'left'),
        ],
                        style=wx.LC_REPORT | wx.SUNKEN_BORDER
                        | wx.LC_SINGLE_SEL),
                name='list')

        box2 = box.add(ui.HBox)
        box2.add(ui.Label(tr('Encoding:')))
        box2.add(ui.ComboBox("Default", ['Default', 'UTF-8', 'Custom'],
                             size=(100, -1)),
                 name='txtEncoding')
        box2.add(ui.Label(tr('Remote path:')))
        box2.add(ui.ComboBox("", self.mainframe.pref.remote_paths),
                 name='txtPath')
        box2.add(ui.Button(tr('Refresh')),
                 name='btnRefresh').bind('click', self.OnRefresh)
        box2.add(ui.Button(tr('Set FTP site...')),
                 name='btnSite').bind('click', self.OnSite)

        self.load()
        self.initlist()

        box.bind('btnConnect', wx.EVT_UPDATE_UI, self.OnUpdateUI)
        box.bind('btnDisconnect', wx.EVT_UPDATE_UI, self.OnUpdateUI)
        box.bind('btnRefresh', wx.EVT_UPDATE_UI, self.OnUpdateUI)
        box.bind('btnSite', wx.EVT_UPDATE_UI, self.OnUpdateUI)
        box.bind('list', wx.EVT_LIST_ITEM_ACTIVATED, self.OnEnter)

        #@add_menu menulist
        self.callplugin_once('add_menu', Ftp.popmenulist)
        #make popup menu
        if self.popmenulist:
            self.popmenu = makemenu.makepopmenu(self, self.popmenulist,
                                                self.imagelist)
            wx.EVT_LIST_ITEM_RIGHT_CLICK(self.list, self.list.GetId(),
                                         self.OnRClick)
            wx.EVT_RIGHT_UP(self.list, self.OnRClick)
Exemplo n.º 13
0
    def InitUI(self):
        
        # improve this layout using wx.SplitterWindow instead

        sizerWholeFrame = wx.GridBagSizer(5, 5)

        hdr = wx.StaticText(self, label="Drag Stations and Series to assign them to Channel Segments")
        sizerWholeFrame.Add(hdr, pos=(0, 0), span=(1, 2), flag=wx.TOP|wx.LEFT|wx.BOTTOM, border=5)

        hLine = wx.StaticLine(self)
        sizerWholeFrame.Add(hLine, pos=(1, 0), span=(1, 3), 
            flag=wx.EXPAND|wx.BOTTOM, border=1)

        sizerSta = wx.GridBagSizer(1, 1)

        hdrStation = wx.StaticText(self, label="Stations:")
        sizerSta.Add(hdrStation, pos=(0, 0), span=(1, 1),
                     flag=wx.ALIGN_LEFT|wx.TOP|wx.LEFT, border=1)

        StbHorizSizer = wx.BoxSizer(wx.HORIZONTAL)
        
        btnAddStation = wx.Button(self, label="New", size=(32, 20))
        btnAddStation.Bind(wx.EVT_BUTTON, lambda evt, str=btnAddStation.GetLabel(): self.onClick_BtnWorkOnStation(evt, str))
        StbHorizSizer.Add(btnAddStation)

        btnEditStation = wx.Button(self, label="Edit", size=(32, 20))
        btnEditStation.Bind(wx.EVT_BUTTON, lambda evt, str=btnEditStation.GetLabel(): self.onClick_BtnWorkOnStation(evt, str))
        StbHorizSizer.Add(btnEditStation)

        sizerSta.Add(StbHorizSizer, pos=(0, 1), span=(1, 1))

        self.lstStations = DragStationList(self, style=wx.LC_REPORT|wx.LC_NO_HEADER|wx.LC_SINGLE_SEL)
        self.lstStations.InsertColumn(0, "Station")
        self.fillStationsList()
        
        sizerSta.Add(self.lstStations, pos=(1, 0), span=(2, 2), flag=wx.EXPAND)
        sizerSta.AddGrowableRow(1)
        sizerSta.AddGrowableCol(1)

        sizerWholeFrame.Add(sizerSta, pos=(2, 0), span=(1, 1), 
            flag=wx.EXPAND)

        sizerSer = wx.GridBagSizer(1, 1)

        hdrSeries = wx.StaticText(self, label="Series:")
        sizerSer.Add(hdrSeries, pos=(0, 0), span=(1, 1),
                     flag=wx.ALIGN_LEFT|wx.TOP|wx.LEFT, border=1)
        
        btnAddSeries = wx.Button(self, label="New", size=(32, 20))
        btnAddSeries.Bind(wx.EVT_BUTTON, lambda evt, str=btnAddSeries.GetLabel(): self.onClick_BtnAddSeries(evt, str))
        sizerSer.Add(btnAddSeries, pos=(0, 1), flag=wx.ALIGN_LEFT|wx.LEFT, border=10)
        
        self.lstSeries = DragSeriesList(self, style=wx.LC_REPORT|wx.LC_NO_HEADER|wx.LC_SINGLE_SEL)
        self.lstSeries.InsertColumn(0, "Series")
        self.fillSeriesList()

        sizerSer.Add(self.lstSeries, pos=(1, 0), span=(2, 2), flag=wx.EXPAND)
        sizerSer.AddGrowableRow(1)
        sizerSer.AddGrowableCol(1)

        sizerWholeFrame.Add(sizerSer, pos=(2, 1), span=(1, 1), 
            flag=wx.EXPAND)

        sizerChanSegs = wx.GridBagSizer(1, 1)

        hdrChanSegs = wx.StaticText(self, label="Channel Segments:")
        sizerChanSegs.Add(hdrChanSegs, pos=(0, 0), span=(1, 1), flag=wx.ALIGN_LEFT|wx.TOP, border=5)

        self.lstChanSegs = DragChannelSegmentList(self, style=wx.LC_REPORT|wx.LC_VRULES|wx.LC_SINGLE_SEL)
        self.lstChanSegs.InsertColumn(0, "Station")
        self.lstChanSegs.InsertColumn(1, "Series")
        self.lstChanSegs.InsertColumn(2, "Channel Segment (Col, Logger, Sensor, Type, Units, HrOffset)")
        self.lstChanSegs.InsertColumn(3, "Start")
        self.lstChanSegs.InsertColumn(4, "End")

        self.fillChannelSegmentsList()

        # 1. Register source's EVT_s to invoke pop-up menu launcher
        wx.EVT_LIST_ITEM_RIGHT_CLICK(self.lstChanSegs, -1, self.lstChanSegsRightClick)

        sizerChanSegs.Add(self.lstChanSegs, pos=(1, 0), span=(1, 2), flag=wx.EXPAND)
        sizerChanSegs.AddGrowableRow(1)
        sizerChanSegs.AddGrowableCol(1)

        sizerWholeFrame.Add(sizerChanSegs, pos=(3, 0), span=(1, 3), 
            flag=wx.EXPAND)
       
        sizerWholeFrame.AddGrowableCol(0)
        sizerWholeFrame.AddGrowableCol(1)
        sizerWholeFrame.AddGrowableRow(3)

        self.SetSizerAndFit(sizerWholeFrame)
Exemplo n.º 14
0
    def __init__(self, *args, **kwds):

        # begin wxGlade: MainLibFrame.__init__
        kwds["style"] = wx.DEFAULT_FRAME_STYLE
        wx.Frame.__init__(self, *args, **kwds)

        # tell wx about our hard coded IDs so wx.NewId() doesn't collide
        # with them
        for i in range(ID_MINNUM, ID_MAXNUM):
            wx.RegisterId(i)

        # set up list control
        self.list = wx.ListView(self,
                                -1,
                                style=wx.LC_REPORT | wx.SUNKEN_BORDER)
        self.list.InsertColumn(0, "Artist", width=150)
        self.list.InsertColumn(1, "Album", width=350)
        self.list.InsertColumn(2, "Date", width=100)
        wx.EVT_LIST_COL_CLICK(self, -1, self.OnListSort)
        wx.EVT_LIST_ITEM_RIGHT_CLICK(self, -1, self.OnListClick)
        wx.EVT_LIST_ITEM_ACTIVATED(self, -1, self.OnListDoubleClick)
        wx.EVT_LIST_ITEM_FOCUSED(self, -1, self.OnListSelect)

        # set up controls in properties panel
        self.bmpCoverArt = wx.StaticBitmap(self, -1)
        self.lblArtist = wx.StaticText(self, -1, "Welcome to Flacenstein")
        self.lblAlbum = wx.StaticText(self, -1,
                                      "Right click to select library items")
        self.ggeProgress = wx.Gauge(self, -1, 1)

        # Menu Bar
        self.library_menubar = wx.MenuBar()
        self.SetMenuBar(self.library_menubar)
        wxglade_tmp_menu = wx.Menu()
        wxglade_tmp_menu.Append(ID_OPEN, "Load Library\tCTRL-O", "",
                                wx.ITEM_NORMAL)
        wxglade_tmp_menu.Append(ID_SAVE, "Save Library\tCTRL-S", "",
                                wx.ITEM_NORMAL)
        wxglade_tmp_menu.Append(ID_EXPORT, "Export List", "", wx.ITEM_NORMAL)
        wxglade_tmp_menu.AppendSeparator()
        wxglade_tmp_menu.Append(ID_SETPATH, "Configure Paths", "",
                                wx.ITEM_NORMAL)
        wxglade_tmp_menu.Append(ID_RESCAN, "Rescan\tF5", "", wx.ITEM_NORMAL)
        wxglade_tmp_menu.AppendSeparator()
        wxglade_tmp_menu.Append(ID_RIP, "Rip...", "", wx.ITEM_NORMAL)
        wxglade_tmp_menu.AppendSeparator()
        wxglade_tmp_menu.Append(wx.ID_EXIT, "Quit\tCTRL-Q", "", wx.ITEM_NORMAL)
        self.library_menubar.Append(wxglade_tmp_menu, "Library")

        wxglade_tmp_menu = wx.Menu()
        wxglade_tmp_menu.Append(ID_LOADSELECT, "Load Selection\tCTRL-G", "",
                                wx.ITEM_NORMAL)
        wxglade_tmp_menu.Append(ID_SAVESELECT, "Save Selection\tCTRL-D", "",
                                wx.ITEM_NORMAL)
        wxglade_tmp_menu.AppendSeparator()
        wxglade_tmp_menu.Append(ID_SELECTALL, "All\tCTRL-A", "",
                                wx.ITEM_NORMAL)
        wxglade_tmp_menu.Append(ID_SELECTNONE, "None", "", wx.ITEM_NORMAL)
        self.library_menubar.Append(wxglade_tmp_menu, "Select")

        tmp_menu = wx.Menu()
        tmp_menu.Append(ID_CONFIGURE, "Configure", "", wx.ITEM_NORMAL)
        # mnuStop has to be explicitly created so that we can call .Enable()
        self.mnuStop = wx.MenuItem(tmp_menu, ID_STOP, "Stop", "",
                                   wx.ITEM_NORMAL)
        tmp_menu.AppendItem(self.mnuStop)
        tmp_menu.AppendSeparator()

        self.transforms = {}
        for xfm in flaccfg.XFM_MODS:
            global xfmmod
            xfmmod = __import__('flacenstein.xfm%s' % xfm, globals(), locals(),
                                'xfm%s' % xfm)
            i = wx.NewId()
            self.transforms[i] = xfm
            tmp_menu.Append(i, xfmmod.description, "", wx.ITEM_NORMAL)
            works = xfmmod.ready()
            tmp_menu.Enable(i, works)
            if not works:
                print '"%s" module failed self-tests and is disabled.' % \
                    xfmmod.description
            wx.EVT_MENU(self, i, self.OnTransform)
            del xfmmod

        self.library_menubar.Append(tmp_menu, "Transform")

        wx.EVT_MENU(self, ID_OPEN, self.OnOpen)
        wx.EVT_MENU(self, ID_SAVE, self.OnSave)
        wx.EVT_MENU(self, ID_EXPORT, self.OnExport)
        wx.EVT_MENU(self, ID_SETPATH, self.OnSetPath)
        wx.EVT_MENU(self, ID_RESCAN, self.OnRescan)
        wx.EVT_MENU(self, wx.ID_EXIT, self.OnQuit)
        wx.EVT_MENU(self, ID_SELECTALL, self.OnSelectAll)
        wx.EVT_MENU(self, ID_SELECTNONE, self.OnSelectNone)
        wx.EVT_MENU(self, ID_LOADSELECT, self.OnLoadSelection)
        wx.EVT_MENU(self, ID_SAVESELECT, self.OnSaveSelection)
        wx.EVT_MENU(self, ID_CONFIGURE, self.OnConfigure)
        wx.EVT_MENU(self, ID_STOP, self.OnStop)
        wx.EVT_MENU(self, ID_RIP, self.OnRip)
        # Menu Bar end

        self.library_statusbar = self.CreateStatusBar(1, 0)

        self.__set_properties()
        self.__do_layout()
        # end wxGlade

        # horrible kludge to try to work around the fact that on my home
        # machine, e.RequestMore(True) in an idle handler appears to do
        # nothing: idle events stop coming in if you don't move the mouse,
        # etc.
        self.timer = wx.Timer(self, ID_TIMER)
        wx.EVT_TIMER(self, ID_TIMER, self.OnIdle)
        #wx.EVT_IDLE(self, self.OnIdle)

        self.listdict = {}
        self.sortfields = ["artist", "date"]
        self.savefile = "flaclibrary.dat"
        self.listfile = "flacselection.lst"
        self.outpath = "/tmp/flac"
        self.parallelism = flaccfg.DEFAULT_PARALLELISM
        self.children = {}
        self.jobs = []
        self.workinprogress = False
        self.mnuStop.Enable(False)

        self.lib = flaclib.FlacLibrary("/mnt/flac")
        self.lib.statusnotify = self.statusNotify
        if os.path.isfile(flaccfg.DEFAULT_LIBRARY):
            self.loadLibrary(flaccfg.DEFAULT_LIBRARY)
        else:
            self.lib.scan()
            self.displayLibrary()

        self.setState(STATE_IDLE)
Exemplo n.º 15
0
    def __init__(self,
                 parent=None,
                 id=-1,
                 title='Player management',
                 pos=wx.DefaultPosition,
                 size=wx.DefaultSize):
        wx.Frame.__init__(self, parent, id, title, pos, size)

        wx.InitAllImageHandlers()
        self.icon = images.getMondrianIcon()
        self.SetIcon(self.icon)

        # Load XRC resource
        if not USE_RESOURCE:
            self.res = wxPython.xrc.wxXmlResource('playerdb.xrc')
            panel = self.res.LoadPanel(self, 'playerdb_panel')
            menubar = self.res.LoadMenuBar('playerdb_menu')
        else:
            resource.InitXmlResource()
            panel = wxPython.xrc.wxXmlResource_Get().LoadPanel(
                self, 'playerdb_panel')
            menubar = wxPython.xrc.wxXmlResource_Get().LoadMenuBar(
                'playerdb_menu')

        # Layout
        self.SetMenuBar(menubar)
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(panel, 1, wx.EXPAND)
        self.SetSizer(sizer)
        sizer.SetSizeHints(self)

        # Init lists
        self.friends_list = wxPython.xrc.XRCCTRL(self, 'friends_list',
                                                 wx.ListBox)
        self.bozo_list = wxPython.xrc.XRCCTRL(self, 'bozo_list', wx.ListBox)
        self.all_list = wxPython.xrc.XRCCTRL(self, 'all_list', wx.ListCtrl)
        img_list = wx.ImageList(16, 16)
        img_list.Add(images.getSmilesBitmap())
        img_list.Add(images.getBozoBitmap())
        self.all_list.AssignImageList(img_list, wx.IMAGE_LIST_SMALL)
        self.flag_filter = 0
        self.init_lists()

        # Event table
        wx.EVT_BUTTON(self, wxPython.xrc.XRCID('add_friend'), self.OnAddFriend)
        wx.EVT_BUTTON(self, wxPython.xrc.XRCID('remove_friend'),
                      self.OnRemoveFriend)
        wx.EVT_BUTTON(self, wxPython.xrc.XRCID('add_bozo'), self.OnAddBozo)
        wx.EVT_BUTTON(self, wxPython.xrc.XRCID('remove_bozo'),
                      self.OnRemoveBozo)
        wx.EVT_BUTTON(self, wxPython.xrc.XRCID('all_add'), self.OnAddToAll)
        wx.EVT_BUTTON(self, wxPython.xrc.XRCID('all_remove'),
                      self.OnRemoveFromAll)
        wx.EVT_BUTTON(self, wxPython.xrc.XRCID('all_edit'), self.OnAllEdit)
        wx.EVT_BUTTON(self, wx.ID_EXIT, self.OnClose)
        wx.EVT_MENU(self, wx.ID_EXIT, self.OnClose)
        wx.EVT_CLOSE(self, self.OnClose)
        wx.EVT_BUTTON(self, wxPython.xrc.XRCID('reload'), self.OnReload)
        wx.EVT_MENU(self, wxPython.xrc.XRCID('reload'), self.OnReload)
        wx.EVT_MENU(self, wxPython.xrc.XRCID('cleanup'), self.OnCleanupDB)
        wx.EVT_MENU(self, wxPython.xrc.XRCID('edit_flags'), self.OnEditFlags)
        wx.EVT_MENU(self, wxPython.xrc.XRCID('scan_games'), self.OnScanDir)
        wx.EVT_MENU(self, wxPython.xrc.XRCID('list_games'), self.OnListGames)
        wx.EVT_MENU(self, wxPython.xrc.XRCID('cleanup_games'),
                    self.OnCleanupGames)
        wx.EVT_MENU(self, wxPython.xrc.XRCID('show_graph_of'),
                    self.OnShowGraphOf)
        wx.EVT_MENU(self, wx.ID_ABOUT, self.OnAbout)
        wx.EVT_LISTBOX_DCLICK(self, wxPython.xrc.XRCID('friends_list'),
                              self.OnFriendsDblClick)
        wx.EVT_LISTBOX_DCLICK(self, wxPython.xrc.XRCID('bozo_list'),
                              self.OnBozosDblClick)
        wx.EVT_LIST_ITEM_ACTIVATED(self, wxPython.xrc.XRCID('all_list'),
                                   self.OnAllDblClick)
        wx.EVT_LIST_ITEM_SELECTED(self, wxPython.xrc.XRCID('all_list'),
                                  self.OnAllItemSelected)
        wx.EVT_LIST_ITEM_RIGHT_CLICK(self, wxPython.xrc.XRCID('all_list'),
                                     self.OnAllItemRightClick)
        wx.EVT_CHOICE(self, wxPython.xrc.XRCID('filter_flag'),
                      self.OnFilterFlag)

        # Init and load custom flag categories
        for i in range(0, NUMBER_CUSTOM_FLAGS):
            self.flag_categories.append((0, ''))
        self.load_edit_flags(load_config())
        self.filter_choice = wxPython.xrc.XRCCTRL(self, 'filter_flag',
                                                  wx.Choice)
        self.init_filter_choice()