本文整理汇总了Python中ubuntui.utils.Color.string_input方法的典型用法代码示例。如果您正苦于以下问题:Python Color.string_input方法的具体用法?Python Color.string_input怎么用?Python Color.string_input使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ubuntui.utils.Color
的用法示例。
在下文中一共展示了Color.string_input方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: build_widgets
# 需要导入模块: from ubuntui.utils import Color [as 别名]
# 或者: from ubuntui.utils.Color import string_input [as 别名]
def build_widgets(self):
desc_text = Text(["\n", strip_solo_dots(self.description)])
self.reset_button = PlainButton("Reset to Default", self.do_reset)
if self.optype == OptionType.BOOLEAN:
self.control = CheckBox('', state=bool(self.current_value))
self.wrapped_control = self.control
elif self.optype == OptionType.INT:
self.control = IntEdit(default=self.current_value)
self.wrapped_control = Color.string_input(
self.control, focus_map='string_input focus')
elif self.optype == OptionType.STRING:
edit_text = self.current_value or ""
self.control = StringEditor(edit_text=edit_text)
self.wrapped_control = Color.string_input(
self.control, focus_map='string_input focus')
elif self.optype == OptionType.FLOAT:
edit_text = str(self.current_value)
self.control = StringEditor(edit_text=edit_text)
self.wrapped_control = Color.string_input(
self.control, focus_map='string_input focus')
else:
raise Exception("Unknown option type")
self.control_columns = Columns(
[
('pack', Text("{}:".format(self.name), align='right')),
(80, self.wrapped_control)
],
dividechars=1
)
if self.optype in [OptionType.STRING, OptionType.FLOAT]:
connect_signal(self.control._edit, 'change',
self.handle_value_changed)
else:
connect_signal(self.control, 'change',
self.handle_value_changed)
button_grid = GridFlow([
Color.button_secondary(self.reset_button,
focus_map='button_secondary focus')],
36, 1, 0, 'right')
return Pile([Padding.line_break(""),
Padding.left(self.control_columns, left=1),
Padding.left(desc_text, left=2),
button_grid])
示例2: generate_additional_input
# 需要导入模块: from ubuntui.utils import Color [as 别名]
# 或者: from ubuntui.utils.Color import string_input [as 别名]
def generate_additional_input(self):
""" Generates additional input fields, useful for doing it after
a previous step is run
"""
self.set_description(self.model.description, 'body')
self.icon.set_text((
'pending_icon',
self.icon.get_text()[0]
))
for i in self.additional_input:
self.app.log.debug(i)
self.step_pile.contents.append((Padding.line_break(""),
self.step_pile.options()))
column_input = [
('weight', 0.5, Padding.left(i['label'], left=5))
]
if i['input']:
column_input.append(
('weight', 1, Color.string_input(
i['input'],
focus_map='string_input focus')))
self.step_pile.contents.append(
(Columns(column_input, dividechars=3),
self.step_pile.options()))
self.button = submit_btn(label="Run", on_press=self.submit)
self.step_pile.contents.append(
(Padding.right_20(
Color.button_primary(self.button,
focus_map='button_primary focus')),
self.step_pile.options()))
self.step_pile.contents.append((HR(), self.step_pile.options()))
self.step_pile.focus_position = self.current_button_index
示例3: __init__
# 需要导入模块: from ubuntui.utils import Color [as 别名]
# 或者: from ubuntui.utils.Color import string_input [as 别名]
def __init__(self, app, steps, cb=None):
""" init
Arguments:
cb: process step callback
"""
self.app = app
self.table = Table()
self.cb = cb
self.steps_queue = steps
for step_model in self.steps_queue:
step_widget = self.add_step_widget(step_model)
self.table.addColumns(
step_model.path,
[
('fixed', 3, step_widget['icon']),
step_widget['description'],
]
)
# Need to still prompt for the user to submit
# even though no questions are asked
if len(step_widget['additional_input']) == 0:
self.table.addRow(
Padding.right_20(
Color.button_primary(
submit_btn(on_press=self.submit,
user_data=(step_model, step_widget)),
focus_map='button_primary focus')), False)
for i in step_widget['additional_input']:
self.table.addRow(Padding.line_break(""), False)
self.table.addColumns(
step_model.path,
[
('weight', 0.5, Padding.left(i['label'], left=5)),
('weight', 1, Color.string_input(
i['input'],
focus_map='string_input focus')),
], force=True
)
self.table.addRow(
Padding.right_20(
Color.button_primary(
submit_btn(
on_press=self.submit,
user_data=(step_model, step_widget)),
focus_map='button_primary focus')), False)
self.table.addRow(Padding.line_break(""), False)
self.table.addRow(Padding.center_20(
Color.button_primary(
done_btn(on_press=self.done, label="View Summary"),
focus_map='button_primary focus')))
super().__init__(Padding.center_80(self.table.render()))
示例4: build_widgets
# 需要导入模块: from ubuntui.utils import Color [as 别名]
# 或者: from ubuntui.utils.Color import string_input [as 别名]
def build_widgets(self):
self.description_w = Text("Description Loading…")
self.readme_w = Text("README Loading…")
self.scale_edit = IntegerEditor(default=self.service.num_units)
connect_signal(self.scale_edit._edit, 'change',
self.handle_scale_changed)
self.skip_rest_button = PlainButton(
"Deploy all {} Remaining Applications with Bundle Defaults".format(
self.n_remaining),
self.do_skip_rest
)
col = Columns(
[
(6, Text('Units:', align='right')),
(15,
Color.string_input(self.scale_edit,
focus_map='string_input focus'))
], dividechars=1
)
if self.n_remaining == 0:
buttons = [Padding.right_50(Color.button_primary(
PlainButton("Deploy and Continue",
self.do_deploy),
focus_map='button_primary focus'))]
else:
buttons = [
Padding.right_50(Color.button_primary(
PlainButton(
"Deploy and Configure Next Application",
self.do_deploy),
focus_map='button_primary focus')),
Padding.right_50(
Color.button_secondary(
self.skip_rest_button,
focus_map='button_secondary focus'))]
ws = [Text("{} of {}: {}".format(self.idx+1, self.n_total,
self.service.service_name.upper())),
Padding.center(HR()),
Padding.center(self.description_w, left=2),
Padding.line_break(""),
Padding.center(self.readme_w, left=2),
Padding.center(HR())]
if not self.service.subordinate:
ws.append(Padding.left(col, left=1))
ws.append(Padding.line_break(""))
ws += buttons
self.pile = Pile(ws)
return Padding.center_90(Filler(self.pile, valign="top"))
示例5: build_inputs
# 需要导入模块: from ubuntui.utils import Color [as 别名]
# 或者: from ubuntui.utils.Color import string_input [as 别名]
def build_inputs(self):
items = []
for k in self.input_items.keys():
display = k
if k.startswith('_'):
# Don't treat 'private' keys as input
continue
if k.startswith('@'):
# Strip public, not storable attribute
display = k[1:]
col = Columns(
[
('weight', 0.5, Text(display, align='right')),
Color.string_input(self.input_items[k],
focus_map='string_input focus')
], dividechars=1
)
items.append(col)
items.append(Padding.line_break(""))
return Pile(items)
示例6: build_inputs
# 需要导入模块: from ubuntui.utils import Color [as 别名]
# 或者: from ubuntui.utils.Color import string_input [as 别名]
def build_inputs(self):
# FIXME: Skip this for now as we're shelling out to
# dpkg-reconfigure lxd :\ yay and such.
items = []
for k in self.input_items.keys():
widget, help_text = self.input_items[k]
if isinstance(widget.value, bool):
widget.set_default('Yes', True)
if k.startswith('_'):
# Don't treat 'private' keys as input
continue
col = Columns(
[
('weight', 0.5, Text(help_text, align='right')),
Color.string_input(widget,
focus_map='string_input focus')
], dividechars=1
)
items.append(col)
items.append(Padding.line_break(""))
return Pile(items)
示例7: _build_widget
# 需要导入模块: from ubuntui.utils import Color [as 别名]
# 或者: from ubuntui.utils.Color import string_input [as 别名]
def _build_widget(self):
total_items = [Text(
"Enter your {} credentials:".format(self.cloud.upper()))]
total_items += [HR()]
for k in self.input_items.keys():
display = k
if k.startswith('_'):
# Don't treat 'private' keys as input
continue
if k.startswith('@'):
# Strip public, not storable attribute
display = k[1:]
col = Columns(
[
('weight', 0.5, Text(display, align='right')),
Color.string_input(self.input_items[k],
focus_map='string_input focus')
], dividechars=1
)
total_items.append(col)
total_items.append(Padding.line_break(""))
total_items.append(Text(""))
self.pile = Pile(total_items)
return Padding.center_60(Filler(self.pile, valign="top"))