File: listbox.txt

package info (click to toggle)
python-wpy 0.53-0.1
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 832 kB
  • ctags: 1,991
  • sloc: python: 8,624; makefile: 57; sh: 24
file content (131 lines) | stat: -rw-r--r-- 4,673 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
class CListBox
__init__(self, parent, text, items, max_sizey = None)

class CMultiListBox
__init__(self, parent, text, items, max_sizey = None, mode = "multiple")

Class CListBox represents a listbox control, a list of text lines zero or
one of which may be selected by the user.

Class CMultiListBox represents a multiple selection list box.  For mode
"multiple", clicking an item toggles its selected state.  For mode
"extended", hold down the control key and click the item.  The exact
multiple selection behavior is native to the platform used.

Listboxes may have a vertical scroll bar if all the items do not fit
into the space available.

Instance Variables

wpyParent, wpyText, wpyChildList, wpySizeX/Y, wpyLocX/Y

wpySelected, int, readonly after Create()
	The index (0, 1, 2, ...) of the listbox item which is currently
	selected, or -1 if there is no selection.  Not used for CMultiListBox.
wpyListBoxItems, list or tuple of strings, readonly after Create()
	The list of strings in the listbox; set by "items" in the
	constructor.  May be changed until Create() is called.
wpyScrollWidth, int, readonly
	The width of the vertical scroll bar were there to be one.
wpyLineHeight, int, readonly
	The height of one line in the listbox.  The total height
	of the listbox is this times the number of lines plus the
	borders.

Methods

__init__(self, parent, text, items, max_sizey = None)
	Return a listbox with self.wpySizeX/Y set according to the
	arguments given.  No items are selected (wpySelection == -1).
parent, object
	The view or dialog parent of the control.
text, string
	The name of the list box.  This is not visible, but must be a valid
	Python name because it is used to make the message handler name.
items, list
	A list of strings to appear in the listbox.
max_sizey, int or None
	A maximum height (in pixels) for the listbox.  If the
	listbox exceeds this height, then the scrollbar
	size is added to the width, and the height is limited
	to the maximum and rounded to a whole number of lines.
	Otherwise, the listbox width is equal to the largest
	item in the list, and the height just fits all the items.
	A scrollbar may or may not be shown.  This option just
	adds extra width in case it is needed.

Create(self)
	Make the list box visible by calling the underlying GUI.
	NOTE: Create() may slightly alter self.wpySizeY so that the
	listbox is an integral number of lines high.

SetCurSel(self, index, set = 1)
index, int
set, boolean
	Set/unset the current listbox selection for the index "index".
	The special index -1 unselects all items.  The special index
	-2 selects all items of a CMultiListBox.

GetSelItems(self)
	Return a list of the selected items in the list box, or an empty
	list if no items are selected.  For CListBox, this still returns
	a list, but you may wish to use self.wpySelected directly.

SetAllTabStops(self, stop)
int stop
	Set all tab stops to "stop" character widths.

SetTabStops(self, tup)
tuple of integers, tup
	Set the tab stops in the list box according to the tuple of
	integers tup.  Each unit means the width of a character.

WpySetItems(self, items, select = None)
items, list or tuple of strings
selected, int
	Set the items in the list box to the new list "items".  The old
	items will be replaced.  Select the item with index "select",
	or else no item is selected.

Messages

No messages are sent to a CMultiListBox instance.

These messages are sent to CListBox instances using the command router
mechanism.  The handler names are generated using wpyText which must be
a valid Python name.  The "WPYTEXT" below refers to this name.

OnListBoxWPYTEXT(self, control)
	Sent when an item in the list box is selected.

OnListBoxDblWPYTEXT(self, control)
	Sent when the user double clicks an item.

Examples

list = ["Red", "Green", "Blue", "Purple", "Orange"]
# Create a listbox, no scroll bar.
CListBox(parent, "colors", list).Create()

# Create a listbox in a space 136 pixels high, add scroll bar if required.
# The height will be about 136 pixels or less, and rounded to a whole number of lines.
CListBox(parent, "colors", list, 136).Create()

# Create a listbox with a scroll bar, set the height to 136 pixels.  The
# actual size may be rounded to prevent partial lines.
s = CListBox(parent, "colors", list, 0)
s.wpySizeY = 136
s.Create()

# Create a custom size listbox.  The list of items is
# long or unknown, so don't take time to create sizes using it.
s = CListBox(parent, "colors", [])
s.wpySizeX = my_size_x
s.wpySizeY = my_size_y
s.wpyListBoxItems = list
s.Create()

# Create a listbox showing three items.
s = CListBox(parent, "colors", list, 0)
s.wpySizeY = s.wpyLineHeight * 3
s.Create()