ListCtrl per Button sortieren

Plattformunabhängige GUIs mit wxWidgets.
Antworten
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

Hallo,

ich habe eine Liste von Dateien, die ich über einen wx.FileDialog erhalte

Code: Alles auswählen

 def OnOpenClick(self, event):
        
        dlg = wx.FileDialog(
            self, message="gespeicherte Datei öffnen",
            defaultDir=os.getcwd(), 
            defaultFile="",
            wildcard=wildcard,
            style=wx.OPEN | wx.MULTIPLE | wx.CHANGE_DIR
            )
        if dlg.ShowModal() == wx.ID_OK:
            # This returns a Python list of files that were selected.
            paths = dlg.GetPaths()
            nr=1
            self.filelist=[]
            for path in paths:
                i = PdfFileReader(file(path, "rb"))
                self.filelist.append(i)
                Titel=os.path.basename(path)
                Seiten=i.numPages
                defaultDir=os.path.dirname(path)
                self.left_panel.pdflist.Append((nr,Titel,Seiten,defaultDir))
                nr+=1

        dlg.Destroy()
diese lasse ich in einem wx.ListCtrl in wx.LC_REPORT anzeigen:

Code: Alles auswählen

        self.filelist=wx.ListCtrl(self,-1, size=size,style = wx.LC_REPORT | wx.LC_HRULES | wx.LC_VRULES) 
        self.filelist.InsertColumn(0, "#") 
        self.filelist.InsertColumn(1, "Dateiname") 
        self.filelist.InsertColumn(2, "Seiten") 
        self.filelist.InsertColumn(3, "Dateipfad") 
Jetzt möchte ich per Button die Liste neu ordnen. Wie kann ich das schaffen?? Ich weiß, dass ich mit

Code: Alles auswählen

event.m_itemIndex
den Index der selektierten Zeile erhalte.

Jetzt möchte ich zum Einen per Button das Element im ListCtrl verschieben (gibt es etwas in der Art "Set.itemIndex"?) und dadurch zum Zweiten die Dateiliste neu ordnen (Listenelement "verschieben" oder entfernen und an neuer Stelle einfügen)...

nur.... wie fange ich das an??

Gruß Mathi
Antworten