Example #1
0
 def _set_name(self):
     if not self.widget: return
     if self.rows_number>0:
         # add some info, one or two cells
         if len(self.columns)>=2:
             compat.ListCtrl_SetStringItem(self.widget, 0,0, "List Control:")
             compat.ListCtrl_SetStringItem(self.widget, 0,1, self.name)
         elif self.columns:
             compat.ListCtrl_SetStringItem(self.widget, 0, 0, "List Control: %s"%self.name)
Example #2
0
 def add_separator(self, event):
     "Event handler called when the Add Separator button is clicked"
     index = self.selected_index + 1
     label = '---'
     if not self.items.GetItemCount():
         self._enable_fields()
     if index < 0:
         index = self.items.GetItemCount()
     elif index > 0:
         label = "    " * self.item_level(index - 1) + '---'
     compat.ListCtrl_SetStringItem(self.items, index, label)
     compat.ListCtrl_SetStringItem(self.items, index, 1, '---')
     compat.ListCtrl_SetStringItem(self.items, index, 2, '---')
     # fix bug 698074
     self.items.SetItemState(index, wx.LIST_STATE_SELECTED,
                             wx.LIST_STATE_SELECTED)
 def _insert_item(self, index, item):
     compat.ListCtrl_InsertStringItem(self.items, index, item[0])
     for col, value in enumerate(item):
         if col==0: continue
         compat.ListCtrl_SetStringItem(self.items, index, col, compat.unicode(value))
     # fix bug 698074
     self.items.SetItemState(index, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED)
 def on_event_handler_edited(self, event):
     value = self.handler.GetValue()
     if not value or self.handler_re.match(value):
         self.handler.SetBackgroundColour( compat.wx_SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW) )
         valid = True
     else:
         self.handler.SetBackgroundColour(wx.RED)
         valid = False
     self.handler.Refresh()
     if valid and not self._ignore_events:
         compat.ListCtrl_SetStringItem(self.items, self.selected_index, self.columns.index("handler"), value)
     event.Skip()
    def _do_move_item(self, event, index, is_down):
        """internal function used by move_item_up and move_item_down.
        Returns the new index of the moved item, or None if no change occurred"""
        self.items.SetFocus()
        #index = self.selected_index
        i = index+1 if is_down else index-1
        if i < 0 or i>=self.items.GetItemCount(): return None

        def get(i, j): return self.items.GetItem(i, j).GetText()
        item = [get(index, j) for j in range(6)]
        self.items.DeleteItem(index)
        compat.ListCtrl_InsertStringItem(self.items, i, item[0])
        for col,content in enumerate(item):
            if col==0: continue
            compat.ListCtrl_SetStringItem(self.items, i,col, content)
        self._select_item(i, force=True)
Example #6
0
 def _set_item_string(self, index, col, s):
     if not isinstance(s, compat.unicode): s = misc.wxstr(s)
     if isinstance(col, str): col = self.columns.index(col)
     compat.ListCtrl_SetStringItem(self.items, index, col, s)
Example #7
0
 def _on_edited(self, event, colname, value, valid=True):
     if valid and not self._ignore_events:
         idx = self.columns.index(colname)
         compat.ListCtrl_SetStringItem(self.items, self.selected_index, idx,
                                       value)
     event.Skip()
Example #8
0
 def _set_item_string(self, index, col, s):
     compat.ListCtrl_SetStringItem(self.items, index, col, s)
Example #9
0
 def on_label_edited(self, event):
     if not self._ignore_events:
         value = self.label.GetValue().lstrip()
         compat.ListCtrl_SetStringItem(self.items, self.selected_index,
                                       self.columns.index("label"), value)
     event.Skip()
Example #10
0
    def __init__(self, *args, **kwds):
        # begin wxGlade: SelectArtDialog.__init__
        kwds["style"] = kwds.get(
            "style", 0) | wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER
        wx.Dialog.__init__(self, *args, **kwds)
        self.SetSize((300, 600))
        self.SetTitle("ART selector")

        sizer_1 = wx.BoxSizer(wx.VERTICAL)

        label_1 = wx.StaticText(self, wx.ID_ANY,
                                "Select row and hit OK or Enter:")
        sizer_1.Add(label_1, 0, wx.ALL, 8)

        self.art_names = [
            "NEW", "FILE_OPEN", "FILE_SAVE", "FILE_SAVE_AS", "NEW_DIR",
            "FOLDER_OPEN", "CUT", "COPY", "PASTE", "UNDO", "REDO", "PLUS",
            "MINUS", "CLOSE", "QUIT", "PRINT", "DELETE", "HELP", "FIND",
            "FIND_AND_REPLACE", "ADD_BOOKMARK", "DEL_BOOKMARK", "GO_FORWARD",
            "GO_BACK", "GO_UP", "GO_DOWN", "GO_HOME", "GOTO_FIRST",
            "GOTO_LAST", "GO_TO_PARENT", "GO_DIR_UP", "LIST_VIEW",
            "REPORT_VIEW", "NORMAL_FILE", "EXECUTABLE_FILE", "FOLDER",
            "HELP_BOOK", "HELP_FOLDER", "HELP_PAGE", "HELP_SIDE_PANEL",
            "HELP_SETTINGS", "TICK_MARK", "CROSS_MARK", "MISSING_IMAGE",
            "HARDDISK", "FLOPPY", "CDROM", "ERROR", "QUESTION", "WARNING",
            "INFORMATION", "TIP"
        ]
        # not for 2.8: "GOTO_FIRST", "GOTO_LAST", "PLUS", "MINUS"

        self.art_list = wx.ImageList(16, 16)

        self.listctrl = wx.ListCtrl(self,
                                    wx.ID_ANY,
                                    style=wx.LC_HRULES | wx.LC_REPORT
                                    | wx.LC_VRULES)
        self.listctrl.InsertColumn(0,
                                   "Image",
                                   format=wx.LIST_FORMAT_LEFT,
                                   width=50)
        self.listctrl.InsertColumn(1,
                                   "Name",
                                   format=wx.LIST_FORMAT_LEFT,
                                   width=200)

        for i, name in enumerate(self.art_names):
            art_id = getattr(wx, "ART_%s" % name, wx.ART_MISSING_IMAGE)
            bmp = wx.ArtProvider.GetBitmap(art_id, wx.ART_TOOLBAR, (16, 16))
            self.art_list.Add(bmp)

        self.listctrl.SetImageList(self.art_list, wx.IMAGE_LIST_SMALL)
        for i, name in enumerate(self.art_names):
            compat.ListCtrl_InsertImageItem(self.listctrl, i,
                                            i)  # i is index into ImageList
            compat.ListCtrl_SetStringItem(self.listctrl, i, 1, name)

        #index = self.list.InsertItem(self.list.GetItemCount(), data[0], self.idx1)
        sizer_1.Add(self.listctrl, 1, wx.ALL | wx.EXPAND, 4)

        sizer_3 = wx.BoxSizer(wx.HORIZONTAL)
        sizer_1.Add(sizer_3, 0, wx.ALL | wx.EXPAND, 4)

        label_2 = wx.StaticText(self, wx.ID_ANY, "Width")
        sizer_3.Add(label_2, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 4)

        self.spin_width = wx.SpinCtrl(self, wx.ID_ANY, "24", min=1, max=100)
        sizer_3.Add(self.spin_width, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 3)

        label_3 = wx.StaticText(self, wx.ID_ANY, "Height")
        sizer_3.Add(label_3, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 6)

        self.spin_height = wx.SpinCtrl(self, wx.ID_ANY, "24", min=1, max=100)
        sizer_3.Add(self.spin_height, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 3)

        label_4 = wx.StaticText(self, wx.ID_ANY, "pixels")
        sizer_3.Add(label_4, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 6)

        static_line_1 = wx.StaticLine(self, wx.ID_ANY)
        sizer_1.Add(static_line_1, 0, wx.EXPAND, 0)

        sizer_2 = wx.StdDialogButtonSizer()
        sizer_1.Add(sizer_2, 0, wx.ALIGN_RIGHT | wx.ALL, 8)

        self.button_OK = wx.Button(self, wx.ID_OK, "")
        self.button_OK.SetDefault()
        sizer_2.AddButton(self.button_OK)

        self.button_CANCEL = wx.Button(self, wx.ID_CANCEL, "")
        sizer_2.AddButton(self.button_CANCEL)

        sizer_2.Realize()

        self.SetSizer(sizer_1)

        self.SetAffirmativeId(self.button_OK.GetId())
        self.SetEscapeId(self.button_CANCEL.GetId())

        self.Layout()
        if compat.version[0] == 2:
            sizer_3.GetItem(self.spin_width).SetMinSize((60, -1))
            sizer_3.GetItem(self.spin_height).SetMinSize((60, -1))

        self.Bind(wx.EVT_LIST_ITEM_ACTIVATED,
                  lambda evt: self.EndModal(wx.ID_OK), self.listctrl)