本文整理汇总了Python中kiwi.ui.widgets.combo.ProxyComboBox.get_selected_data方法的典型用法代码示例。如果您正苦于以下问题:Python ProxyComboBox.get_selected_data方法的具体用法?Python ProxyComboBox.get_selected_data怎么用?Python ProxyComboBox.get_selected_data使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kiwi.ui.widgets.combo.ProxyComboBox
的用法示例。
在下文中一共展示了ProxyComboBox.get_selected_data方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ComboSearchFilter
# 需要导入模块: from kiwi.ui.widgets.combo import ProxyComboBox [as 别名]
# 或者: from kiwi.ui.widgets.combo.ProxyComboBox import get_selected_data [as 别名]
class ComboSearchFilter(SearchFilter):
"""
- a label
- a combo with a set of predefined item to select from
"""
__gtype_name__ = 'ComboSearchFilter'
def __init__(self, label='', values=None):
"""
Create a new ComboSearchFilter object.
@param name: name of the search filter
@param values: items to put in the combo, see
L{kiwi.ui.widgets.combo.ProxyComboBox.prefill}
"""
SearchFilter.__init__(self, label=label)
label = gtk.Label(label)
self.pack_start(label, False, False)
label.show()
self.title_label = label
self.combo = ProxyComboBox()
if values:
self.combo.prefill(values)
self.combo.connect('content-changed', self._on_combo__content_changed)
self.pack_start(self.combo, False, False, 6)
self.combo.show()
#
# SearchFilter
#
def get_state(self):
return NumberQueryState(filter=self,
value=self.combo.get_selected_data())
def get_title_label(self):
return self.title_label
def get_mode_combo(self):
return self.combo
#
# Public API
#
def select(self, data):
"""
selects an item in the combo
@param data: what to select
"""
self.combo.select(data)
#
# Callbacks
#
def _on_combo__content_changed(self, mode):
self.emit('changed')
示例2: NumberSearchFilter
# 需要导入模块: from kiwi.ui.widgets.combo import ProxyComboBox [as 别名]
# 或者: from kiwi.ui.widgets.combo.ProxyComboBox import get_selected_data [as 别名]
class NumberSearchFilter(SearchFilter):
"""
A filter which helps you to search by a number interval.
"""
__gtype_name__ = 'NumberSearchFilter'
def __init__(self, label=''):
"""
Create a new NumberSearchFilter object.
@param label: name of the search filter
"""
self._options = {}
SearchFilter.__init__(self, label=label)
self.title_label = gtk.Label(label)
self.title_label.set_alignment(1.0, 0.5)
self.pack_start(self.title_label, False, False)
self.title_label.show()
self.mode = ProxyComboBox()
self.mode.connect('content-changed', self._on_mode__content_changed)
self.pack_start(self.mode, False, False, 6)
self.mode.show()
self.start = gtk.SpinButton(climb_rate=1.0)
self.start.get_adjustment().step_increment = 1.0
self.start.set_range(-sys.maxint-1, sys.maxint)
self.pack_start(self.start, False, False, 6)
self.start.show()
self.start.connect_after('activate', self._on_entry__activate)
self.and_label = gtk.Label(_("And"))
self.pack_start(self.and_label, False, False)
self.and_label.show()
self.end = gtk.SpinButton(climb_rate=1.0)
self.end.get_adjustment().step_increment = 1.0
self.end.set_range(-sys.maxint-1, sys.maxint)
self.pack_start(self.end, False, False, 6)
self.end.show()
self.end.connect_after('activate', self._on_entry__activate)
for option in (LowerThan, EqualsTo, GreaterThan, Between):
self.add_option(option)
self.mode.select_item_by_position(0)
def set_digits(self, digits):
"""
Number of decimal place to be displayed
@param digits: number of decimal places
"""
self.start.set_digits(digits)
self.end.set_digits(digits)
#
# Private
#
def _update_visibility(self):
option = self.mode.get_selected_data()
numbers = option.numbers
if numbers == 0:
self.start.hide()
self.and_label.hide()
self.end.hide()
elif numbers == 1:
self.start.show()
self.and_label.hide()
self.end.hide()
elif numbers == 2:
self.start.show()
self.and_label.show()
self.end.show()
#
# Callbacks
#
def _on_entry__activate(self, entry):
self.emit('changed')
def _on_mode__content_changed(self, combo):
self._update_visibility()
self.emit('changed')
#
# SearchFilter
#
def get_state(self):
# Using Decimals for better precision.
start_value = Decimal("%.2f" % self.start.get_value())
end_value = Decimal("%.2f" % self.end.get_value())
option = self.mode.get_selected_data()
start, end = option().get_interval(start_value, end_value)
return NumberIntervalQueryState(filter=self, start=start, end=end)
#.........这里部分代码省略.........
示例3: StringSearchFilter
# 需要导入模块: from kiwi.ui.widgets.combo import ProxyComboBox [as 别名]
# 或者: from kiwi.ui.widgets.combo.ProxyComboBox import get_selected_data [as 别名]
class StringSearchFilter(SearchFilter):
"""
- a label
- an entry
@ivar entry: the entry
@ivar label: the label
"""
def __init__(self, label, chars=0):
"""
Create a new StringSearchFilter object.
@param label: label of the search filter
@param chars: maximum number of chars used by the search entry
"""
SearchFilter.__init__(self, label=label)
self.title_label = gtk.Label(label)
self.pack_start(self.title_label, False, False)
self.title_label.show()
self._options = {}
self.mode = ProxyComboBox()
self.mode.connect('content-changed', self._on_mode__content_changed)
self.pack_start(self.mode, False, False, 6)
self.entry = gtk.Entry()
self.entry.connect('activate', self._on_entry__activate)
if chars:
self.entry.set_width_chars(chars)
self.pack_start(self.entry, False, False, 6)
self.entry.show()
for option in (Contains, DoesNotContain):
self._add_option(option)
self.mode.select_item_by_position(0)
def _add_option(self, option_type, position=-2):
option = option_type()
num = len(self.mode) + position
self.mode.insert_item(num, option.name, option_type)
self._options[option_type] = option
#
# Callbacks
#
def _on_mode__content_changed(self, combo):
self.emit('changed')
def _on_entry__activate(self, entry):
self.emit('changed')
#
# SearchFilter
#
def get_state(self):
option = self.mode.get_selected_data()
return StringQueryState(filter=self,
text=self.entry.get_text(),
mode=option.mode)
def get_title_label(self):
return self.title_label
def get_mode_combo(self):
return self.mode
def get_description(self):
desc = self.entry.get_text()
if desc:
mode = self.mode.get_selected_label()
return '%s %s "%s"' % (self.title_label.get_text(), mode, desc,)
#
# Public API
#
def enable_advaced(self):
self.mode.show()
def set_label(self, label):
self.title_label.set_text(label)
示例4: DateSearchFilter
# 需要导入模块: from kiwi.ui.widgets.combo import ProxyComboBox [as 别名]
# 或者: from kiwi.ui.widgets.combo.ProxyComboBox import get_selected_data [as 别名]
#.........这里部分代码省略.........
"""
self.from_label.props.visible = use_date_entries
self.to_label.props.visible = use_date_entries
self.start_date.props.visible = use_date_entries
self.end_date.props.visible = use_date_entries
def select(self, data=None, position=None):
"""
selects an item in the combo
Data or position can be sent in. If nothing
is sent in the first item will be selected, if any
@param data: data to select
@param position: position of data to select
"""
if data is not None and position is not None:
raise TypeError("You can't send in both data and position")
if data is None and position is None:
position = 0
if position is not None:
if len(self.mode):
self.mode.select_item_by_position(position)
elif data:
self.mode.select(data)
#
# Private
#
def _update_dates(self):
# This is called when we change mode
date_type = self.mode.get_selected_data()
if date_type is None:
return
# If we switch to a user selectable day, make sure that
# both dates are set to today
if date_type == DateSearchFilter.Type.USER_DAY:
today = datetime.date.today()
self.start_date.set_date(today)
self.end_date.set_date(today)
# And for user interval, set start to today and to tomorrow
elif date_type == DateSearchFilter.Type.USER_INTERVAL:
today = datetime.date.today()
self.start_date.set_date(today)
self.end_date.set_date(today + datetime.timedelta(days=1))
# Finally for pre-defined ones let the DateSearchOption decide what the
# values are going to be, these dates are not user editable so
# we don't need to do any checking.
else:
option = self._options.get(date_type)
assert option, (date_type, self._options)
start_date, end_date = option.get_interval()
self.start_date.set_date(start_date)
self.end_date.set_date(end_date)
def _update_sensitivity(self):
date_type = self.mode.get_selected_data()
enabled = date_type == DateSearchFilter.Type.USER_INTERVAL
self.to_label.set_sensitive(enabled)
self.end_date.set_sensitive(enabled)
enabled = (date_type == DateSearchFilter.Type.USER_INTERVAL or
date_type == DateSearchFilter.Type.USER_DAY)
示例5: TestComboBox
# 需要导入模块: from kiwi.ui.widgets.combo import ProxyComboBox [as 别名]
# 或者: from kiwi.ui.widgets.combo.ProxyComboBox import get_selected_data [as 别名]
class TestComboBox(unittest.TestCase):
def setUp(self):
self.combo = ProxyComboBox()
def _prefill(self):
self.combo.prefill((('Johan', 1981),
('Lorenzo', 1979),
('Christian', 1976)))
def testPrefill(self):
self.combo.prefill(('foo', 'bar'))
model = self.combo.get_model()
self.assertEqual(tuple(model[0]), ('foo', None))
self.assertEqual(tuple(model[1]), ('bar', None))
def testPrefillWithData(self):
self.combo.prefill((('foo', 42), ('bar', 138)))
model = self.combo.get_model()
self.assertEqual(tuple(model[0]), ('foo', 42))
self.assertEqual(tuple(model[1]), ('bar', 138))
self.combo.prefill([])
self.assertEqual(len(self.combo.get_model()), 0)
self.assertEqual(len(model), 0)
self.assertEqual(len(self.combo), 0)
def testSelectItemByPosition(self):
self._prefill()
self.combo.select_item_by_position(1)
model = self.combo.get_model()
iter = self.combo.get_active_iter()
self.assertEqual(model.get_value(iter, 0), 'Lorenzo')
self.assertEqual(model.get_value(iter, 1), 1979)
self.assertRaises(KeyError, self.combo.select_item_by_label, 4)
def testSelectItemByLabel(self):
self._prefill()
self.combo.select_item_by_label('Christian')
model = self.combo.get_model()
iter = self.combo.get_active_iter()
rowNo = model.get_path(iter)[0]
self.assertEqual(rowNo, 2)
self.assertRaises(KeyError, self.combo.select_item_by_label, 'Salgado')
def testSelectByData(self):
self._prefill()
self.combo.select_item_by_data(1976)
model = self.combo.get_model()
iter = self.combo.get_active_iter()
rowNo = model.get_path(iter)[0]
self.assertEqual(rowNo, 2)
self.assertEqual(model.get_value(iter, 0), 'Christian')
self.assertEqual(model.get_value(iter, 1), 1976)
self.assertRaises(KeyError, self.combo.select_item_by_data, 1980)
def testGetSelectedData(self):
self._prefill()
self.combo.select_item_by_position(0)
self.assertEqual(self.combo.get_selected_data(), 1981)
self.assertRaises(TypeError,
self.combo.select_item_by_position, 'foobar')
def testGetSelectedLabel(self):
self._prefill()
def testClear(self):
self._prefill()
self.combo.clear()
self.assertEqual(map(list, self.combo.get_model()), [])
示例6: StringSearchFilter
# 需要导入模块: from kiwi.ui.widgets.combo import ProxyComboBox [as 别名]
# 或者: from kiwi.ui.widgets.combo.ProxyComboBox import get_selected_data [as 别名]
#.........这里部分代码省略.........
image = pixbuf_from_string(data)
self.entry.set_icon_from_pixbuf(gtk.ENTRY_ICON_PRIMARY,
image)
self.entry.set_icon_tooltip_text(gtk.ENTRY_ICON_PRIMARY,
_("Add a filter"))
self.entry.set_icon_from_stock(gtk.ENTRY_ICON_SECONDARY,
gtk.STOCK_CLEAR)
self.entry.set_icon_tooltip_text(gtk.ENTRY_ICON_SECONDARY,
_("Clear the search"))
self.entry.connect("icon-release", self._on_entry__icon_release)
self.entry.connect('activate', self._on_entry__activate)
self.entry.connect('changed', self._on_entry__changed)
if chars:
self.entry.set_width_chars(chars)
self.pack_start(self.entry, False, False, 6)
self.entry.show()
for option in (ContainsAll, ContainsExactly, DoesNotContain):
self._add_option(option)
self.mode.select_item_by_position(0)
def _add_option(self, option_type, position=-2):
option = option_type()
num = abs(position)
self.mode.insert_item(num, option.name, option_type)
self._options[option_type] = option
#
# Callbacks
#
def _on_mode__content_changed(self, combo):
self.emit('changed')
def _on_entry__activate(self, entry):
self.emit('changed')
def _on_entry__changed(self, entry):
entry.props.secondary_icon_sensitive = bool(entry.get_text())
def _position_filter_menu(self, data):
window = self.entry.get_icon_window(gtk.ENTRY_ICON_PRIMARY)
x, y = window.get_origin()
y += window.get_size()[1]
border = self.entry.style_get_property('progress-border')
if border is not None:
y += border.bottom
return (x, y, True)
def _on_entry__icon_release(self, entry, icon_pos, event):
if icon_pos == gtk.ENTRY_ICON_SECONDARY:
entry.set_text("")
entry.grab_focus()
self.emit('changed')
elif icon_pos == gtk.ENTRY_ICON_PRIMARY:
# We don't need create popup filters if haven't search columns.
if (not self._container or not hasattr(self._container, 'menu') or
not self._container.menu):
return
self._container.menu.popup(None, None,
self._position_filter_menu, 0, event.time)
#
# SearchFilter
#
def get_state(self):
option = self.mode.get_selected_data()
return StringQueryState(filter=self,
text=unicode(self.entry.get_text()),
mode=option and option.mode)
def set_state(self, text, mode=None):
self.entry.set_text(text)
if mode is not None:
self.mode.select_item_by_position(mode)
def get_title_label(self):
return self.title_label
def get_mode_combo(self):
return self.mode
def get_description(self):
desc = self.entry.get_text()
if desc:
mode = self.mode.get_selected_label()
return '%s %s "%s"' % (self.title_label.get_text(), mode, desc,)
#
# Public API
#
def enable_advanced(self):
# Do not show the funnel icon if its an advanced filter
self.entry.set_icon_from_pixbuf(gtk.ENTRY_ICON_PRIMARY, None)
self.mode.show()
def set_label(self, label):
self.title_label.set_text(label)
示例7: ComboSearchFilter
# 需要导入模块: from kiwi.ui.widgets.combo import ProxyComboBox [as 别名]
# 或者: from kiwi.ui.widgets.combo.ProxyComboBox import get_selected_data [as 别名]
class ComboSearchFilter(SearchFilter):
"""
- a label
- a combo with a set of predefined item to select from
"""
__gtype_name__ = 'ComboSearchFilter'
def __init__(self, label='', values=None):
"""
Create a new ComboSearchFilter object.
:param label: label of the search filter
:param values: items to put in the combo, see
:class:`kiwi.ui.widgets.combo.ProxyComboBox.prefill`
"""
self._block_updates = False
SearchFilter.__init__(self, label=label)
label = gtk.Label(label)
self.pack_start(label, False, False)
label.show()
self.title_label = label
# We create the mode, but it will only be added to this box when
# enable_advanced is called
self.mode = ProxyComboBox()
self.mode.connect('content-changed', self._on_mode__content_changed)
for option in (ComboEquals, ComboDifferent):
self.add_option(option)
self.mode.select_item_by_position(0)
self.combo = ProxyComboBox()
if values:
self.update_values(values)
self.combo.connect('content-changed', self._on_combo__content_changed)
self.pack_start(self.combo, False, False, 6)
self.combo.show()
#
# SearchFilter
#
def get_state(self):
value = self.combo.get_selected_data()
mode = self.mode.get_selected_data()
state = NumberQueryState(filter=self, value=value, mode=mode.mode)
if hasattr(value, 'id'):
state.value_id = value.id
return state
def set_state(self, value, value_id=None, mode=None):
if mode is None:
mode = NumberQueryState.EQUALS
if value_id is not None:
for item in self.combo.get_model_items().values():
if item is None:
continue
if item.id == value_id:
value = item
break
self.select(value)
def update_values(self, values):
self._block_updates = True
self.combo.prefill(values)
self._block_updates = False
def get_title_label(self):
return self.title_label
def get_mode_combo(self):
return self.combo
def get_description(self):
desc = ''
data = self.combo.get_selected_data()
if data is not None:
desc += self.combo.get_selected_label()
return '%s %s' % (self.title_label.get_text(), desc,)
#
# Public API
#
def add_option(self, option_type, position=0):
"""
Adds an option
:param option_type: option to add
:type option_type: a :class:`ComboSearchOption` subclass
"""
option = option_type()
num = len(self.mode) + position
self.mode.insert_item(num, option.name, option_type)
def select(self, data):
"""
selects an item in the combo
:param data: what to select
"""
self.combo.select(data)
def enable_advanced(self):
#.........这里部分代码省略.........
示例8: ComboSearchFilter
# 需要导入模块: from kiwi.ui.widgets.combo import ProxyComboBox [as 别名]
# 或者: from kiwi.ui.widgets.combo.ProxyComboBox import get_selected_data [as 别名]
class ComboSearchFilter(SearchFilter):
"""
- a label
- a combo with a set of predefined item to select from
"""
__gtype_name__ = 'ComboSearchFilter'
def __init__(self, label='', values=None):
"""
Create a new ComboSearchFilter object.
:param label: label of the search filter
:param values: items to put in the combo, see
:class:`kiwi.ui.widgets.combo.ProxyComboBox.prefill`
"""
self._block_updates = False
SearchFilter.__init__(self, label=label)
label = gtk.Label(label)
self.pack_start(label, False, False)
label.show()
self.title_label = label
self.combo = ProxyComboBox()
if values:
self.update_values(values)
self.combo.connect('content-changed', self._on_combo__content_changed)
self.pack_start(self.combo, False, False, 6)
self.combo.show()
#
# SearchFilter
#
def get_state(self):
value = self.combo.get_selected_data()
state = NumberQueryState(filter=self,
value=value)
if hasattr(value, 'id'):
state.value_id = value.id
return state
def set_state(self, value, value_id=None):
if value_id is not None:
for item in self.combo.get_model_items().values():
if item is None:
continue
if item.id == value_id:
value = item
break
self.select(value)
def update_values(self, values):
self._block_updates = True
self.combo.prefill(values)
self._block_updates = False
def get_title_label(self):
return self.title_label
def get_mode_combo(self):
return self.combo
def get_description(self):
desc = ''
data = self.combo.get_selected_data()
if data is not None:
desc += self.combo.get_selected_label()
return '%s %s' % (self.title_label.get_text(), desc,)
#
# Public API
#
def select(self, data):
"""
selects an item in the combo
:param data: what to select
"""
self.combo.select(data)
#
# Callbacks
#
def _on_combo__content_changed(self, mode):
if not self._block_updates:
self.emit('changed')
示例9: StringSearchFilter
# 需要导入模块: from kiwi.ui.widgets.combo import ProxyComboBox [as 别名]
# 或者: from kiwi.ui.widgets.combo.ProxyComboBox import get_selected_data [as 别名]
class StringSearchFilter(SearchFilter):
"""
Contains:
- a label
- an entry
:ivar entry: the entry
:ivar label: the label
"""
__gtype_name__ = 'StringSearchFilter'
def __init__(self, label, chars=0, container=None):
"""
Create a new StringSearchFilter object.
:param label: label of the search filter
:param chars: maximum number of chars used by the search entry
"""
self._container = container
SearchFilter.__init__(self, label=label)
self.title_label = Gtk.Label(label=label)
self.pack_start(self.title_label, False, False, 0)
self.title_label.show()
self._options = {}
self.mode = ProxyComboBox()
self.mode.connect('content-changed', self._on_mode__content_changed)
self.pack_start(self.mode, False, False, 6)
self.entry = Gtk.Entry()
self.entry.set_placeholder_text(_("Search"))
self.entry.props.secondary_icon_sensitive = False
self.entry.set_icon_from_icon_name(Gtk.EntryIconPosition.PRIMARY,
'fa-filter-symbolic')
self.entry.set_icon_tooltip_text(Gtk.EntryIconPosition.PRIMARY,
_("Add a filter"))
self.entry.set_icon_from_icon_name(Gtk.EntryIconPosition.SECONDARY,
'edit-clear-symbolic')
self.entry.set_icon_tooltip_text(Gtk.EntryIconPosition.SECONDARY,
_("Clear the search"))
self.entry.connect("icon-release", self._on_entry__icon_release)
self.entry.connect('activate', self._on_entry__activate)
self.entry.connect('changed', self._on_entry__changed)
if chars:
self.entry.set_width_chars(chars)
self.pack_start(self.entry, False, False, 6)
self.entry.show()
# Default filter will be only contains all. When advanced filter is enabled it will add
# other options
self._add_option(ContainsAll)
self.mode.select_item_by_position(0)
def _add_option(self, option_type):
option = option_type()
self.mode.append_item(option.name, option_type)
self._options[option_type] = option
#
# Callbacks
#
def _on_mode__content_changed(self, combo):
self.emit('changed')
def _on_entry__activate(self, entry):
self.emit('changed')
def _on_entry__changed(self, entry):
entry.props.secondary_icon_sensitive = bool(entry.get_text())
def _position_filter_menu(self, data):
window = self.entry.get_icon_window(Gtk.EntryIconPosition.PRIMARY)
x, y = window.get_origin()
y += window.get_size()[1]
border = self.entry.style_get_property('progress-border')
if border is not None:
y += border.bottom
return (x, y, True)
def _on_entry__icon_release(self, entry, icon_pos, event):
if icon_pos == Gtk.EntryIconPosition.SECONDARY:
entry.set_text("")
entry.grab_focus()
self.emit('changed')
elif icon_pos == Gtk.EntryIconPosition.PRIMARY:
# We don't need create popup filters if haven't search columns.
if (not self._container or not hasattr(self._container, 'menu') or
not self._container.menu):
return
self._container.menu.popup(None, None, None,
self._position_filter_menu, 0, event.time)
#
# SearchFilter
#
def get_state(self):
option = self.mode.get_selected_data()
#.........这里部分代码省略.........
示例10: NumberSearchFilter
# 需要导入模块: from kiwi.ui.widgets.combo import ProxyComboBox [as 别名]
# 或者: from kiwi.ui.widgets.combo.ProxyComboBox import get_selected_data [as 别名]
class NumberSearchFilter(SearchFilter):
"""
A filter which helps you to search by a number interval.
"""
__gtype_name__ = 'NumberSearchFilter'
def __init__(self, label=''):
"""
@param label: name of the search filter
"""
self._options = {}
SearchFilter.__init__(self, label=label)
self.title_label = gtk.Label(label)
self.title_label.set_alignment(1.0, 0.5)
self.pack_start(self.title_label, False, False)
self.title_label.show()
self.mode = ProxyComboBox()
self.mode.connect('content-changed', self._on_mode__content_changed)
self.pack_start(self.mode, False, False, 6)
self.mode.show()
self.start = gtk.SpinButton(climb_rate=1.0)
self.start.get_adjustment().step_increment = 1.0
self.start.set_range(-sys.maxint-1, sys.maxint)
self.pack_start(self.start, False, False, 6)
self.start.show()
self.and_label = gtk.Label(_("And"))
self.pack_start(self.and_label, False, False)
self.and_label.show()
self.end = gtk.SpinButton(climb_rate=1.0)
self.end.get_adjustment().step_increment = 1.0
self.end.set_range(-sys.maxint-1, sys.maxint)
self.pack_start(self.end, False, False, 6)
self.end.show()
for option in (LowerThan, EqualsTo, GreaterThan, Between):
self.add_option(option)
self.mode.select_item_by_position(0)
#
# Private
#
def _update_visibility(self):
option = self.mode.get_selected_data()
numbers = option.numbers
if numbers == 0:
self.start.hide()
self.and_label.hide()
self.end.hide()
elif numbers == 1:
self.start.show()
self.and_label.hide()
self.end.hide()
elif numbers == 2:
self.start.show()
self.and_label.show()
self.end.show()
#
# Callbacks
#
def _on_mode__content_changed(self, combo):
self._update_visibility()
#
# SearchFilter
#
def get_state(self):
start_value = self.start.get_value_as_int()
end_value = self.end.get_value_as_int()
option = self.mode.get_selected_data()
start, end = option().get_interval(start_value, end_value)
return NumberIntervalQueryState(filter=self, start=start, end=end)
def get_title_label(self):
return self.title_label
def get_mode_combo(self):
return self.mode
#
# Public API
#
def add_option(self, option_type, position=-2):
"""
Adds a date option
@param option_type: option to add
#.........这里部分代码省略.........