Ejemplo n.º 1
0
    def Refresh(self):
        stateMask = commctrl.LVIS_SELECTED | commctrl.LVIS_DROPHILITED
        state = 0
        self.children = []
        # Enumerate and store the child PIDLs
        for cid in self.folder.EnumObjects(self.hwnd, 0):
            self.children.append(cid)

        for row_index, data in enumerate(self.children):
            assert len(data) == 1, "expecting just a child PIDL"
            typ, path = data[0].split('\0')
            desc = os.path.exists(path) and "Yes" or "No"
            prop_vals = (path, desc)
            # first col
            data, extras = win32gui_struct.PackLVITEM(item=row_index,
                                                      subItem=0,
                                                      text=prop_vals[0],
                                                      state=state,
                                                      stateMask=stateMask)
            win32gui.SendMessage(self.hwnd_child, commctrl.LVM_INSERTITEM,
                                 row_index, data)
            # rest of the cols.
            col_index = 1
            for prop_val in prop_vals[1:]:
                data, extras = win32gui_struct.PackLVITEM(item=row_index,
                                                          subItem=col_index,
                                                          text=prop_val)

                win32gui.SendMessage(self.hwnd_child, commctrl.LVM_SETITEM, 0,
                                     data)
                col_index += 1
Ejemplo n.º 2
0
    def _testPackUnpack(self, text):
        vals = dict(item=None,
                    subItem=None,
                    state=1,
                    stateMask=2,
                    text=text,
                    image=3,
                    param=4,
                    indent=5)

        ti, extra = win32gui_struct.PackLVITEM(**vals)
        item, subItem, state, stateMask, text, image, param, indent = \
            win32gui_struct.UnpackLVITEM(ti)

        # patch expected values.
        vals['item'] = 0
        vals['subItem'] = 0
        self.assertDictEquals(vals,
                              item=item,
                              subItem=subItem,
                              state=state,
                              stateMask=stateMask,
                              text=text,
                              image=image,
                              param=param,
                              indent=indent)