本文整理汇总了Python中kano.gtk3.scrolled_window.ScrolledWindow.add方法的典型用法代码示例。如果您正苦于以下问题:Python ScrolledWindow.add方法的具体用法?Python ScrolledWindow.add怎么用?Python ScrolledWindow.add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kano.gtk3.scrolled_window.ScrolledWindow
的用法示例。
在下文中一共展示了ScrolledWindow.add方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from kano.gtk3.scrolled_window import ScrolledWindow [as 别名]
# 或者: from kano.gtk3.scrolled_window.ScrolledWindow import add [as 别名]
def __init__(self, parser):
# for some reason, this is not being obeyed
self.item_width = 55
self.item_height = 50
self._signal_name = 'category_item_selected'
self._parser = parser
# Initialise self._items
self._items = {}
# Save the order of the categories so we can use it outside
self.categories = self._parser.list_available_categories()
SelectMenu.__init__(self, self.categories, self._signal_name)
# Add the scrollbar for the category menu
sw = ScrolledWindow()
sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
# Set the scrollbar to the left
sw.set_placement(Gtk.CornerType.TOP_RIGHT)
sw.apply_styling_to_widget()
sw.set_size_request(-1, 364)
self.add(sw)
self._vertbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
sw.add(self._vertbox)
# The menu is one item by 7 items
self.set_size_request(self.item_width, 7 * self.item_height)
self._pack_buttons()
示例2: setup_application_widgets
# 需要导入模块: from kano.gtk3.scrolled_window import ScrolledWindow [as 别名]
# 或者: from kano.gtk3.scrolled_window.ScrolledWindow import add [as 别名]
def setup_application_widgets(self):
screen = Gdk.Screen.get_default()
width = screen.get_width()
height = screen.get_height()
self.terminal = TerminalUi()
fg_color = Gdk.Color.parse("#ffffff")[1]
bg_color = Gdk.Color.parse("#262626")[1]
self.terminal.set_colors(fg_color, bg_color, [])
self.terminal.set_margin_top(10)
self.terminal.set_margin_left(10)
self.terminal.set_margin_right(10)
self.spellbook = Spellbook()
self.story = Storybook(
width / 2 - 40,
height - self.spellbook.HEIGHT - 2 * 44 - 10
)
self.story.set_margin_top(10)
self.story.set_margin_left(10)
self.story.set_margin_right(10)
story_sw = ScrolledWindow()
story_sw.apply_styling_to_screen()
story_sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
story_sw.add(self.story)
left_background = Gtk.EventBox()
left_background.get_style_context().add_class("story_background")
right_background = Gtk.EventBox()
right_background.get_style_context().add_class("terminal_background")
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.add(vbox)
hbox = Gtk.Box()
vbox.pack_start(hbox, False, False, 0)
vbox.pack_start(self.spellbook, False, False, 0)
hbox.pack_start(left_background, False, False, 0)
hbox.pack_start(right_background, False, False, 0)
left_background.add(story_sw)
right_background.add(self.terminal)
# Allow for margin on bottom and top bar.
self.terminal.set_size_request(
width / 2 - 20, height - self.spellbook.HEIGHT - 2 * 44 - 20
)
story_sw.set_size_request(
width / 2 - 20, height - self.spellbook.HEIGHT - 2 * 44 - 10
)
self.run_server()
示例3: __init__
# 需要导入模块: from kano.gtk3.scrolled_window import ScrolledWindow [as 别名]
# 或者: from kano.gtk3.scrolled_window.ScrolledWindow import add [as 别名]
def __init__(self, border_width=2):
Gtk.EventBox.__init__(self)
# Very hacky way to get a border (gg GTK): create a grey event box
# which is a little bigger than the white event box containing the
# widget
apply_styling_to_screen(
os.path.join(common_css_dir, 'multiline_entry.css')
)
self.get_style_context().add_class('gray-box')
widget_box = Gtk.EventBox()
widget_box.get_style_context().add_class('white-box')
widget_box.set_margin_left(border_width) # gray border width (px)
widget_box.set_margin_right(border_width)
widget_box.set_margin_top(border_width)
widget_box.set_margin_bottom(border_width)
self.add(widget_box)
# putting the TextView into a ScrolledWindow so it doesn't resize
# horiz & vert
scrolled_window = ScrolledWindow()
scrolled_window.set_vexpand(True)
scrolled_window.set_hexpand(True)
scrolled_window.set_policy(
Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC
)
scrolled_window.apply_styling_to_widget()
widget_box.add(scrolled_window)
# creating the actual TextView
self.text_view = Gtk.TextView()
# break on words, then chars
self.text_view.set_wrap_mode(Gtk.WrapMode.WORD_CHAR)
# the white border inside the thin gray border
self.text_view.set_margin_left(10)
self.text_view.set_margin_right(10)
self.text_view.set_margin_top(10)
self.text_view.set_margin_bottom(10)
scrolled_window.add(self.text_view)
# placeholder text logic
self.placeholder_text = None
self.placeholder_text_set = False
self.restore_buffer_handler_id = None
self.clear_buffer_handler_id = None
self.text_view.set_buffer(KanoTextBuffer())
text_buffer = self.text_view.get_buffer()
text_buffer.connect('changed', self._on_changed)
示例4: __init__
# 需要导入模块: from kano.gtk3.scrolled_window import ScrolledWindow [as 别名]
# 或者: from kano.gtk3.scrolled_window.ScrolledWindow import add [as 别名]
def __init__(self, category, avatar_parser):
logger.debug(
"Initialising pop up menu with category {}".format(category))
self.top_bar_height = 50
# Size of the selected icon
self.button_width = 42
self.button_height = 42
self._category = category
self._parser = avatar_parser
if self._category == self._parser.char_label:
self._signal_name = 'character_selected'
else:
self._signal_name = 'pop_up_item_selected'
self._border_path = self._parser.get_selected_border(self._category)
self._hover_path = self._parser.get_hover_border(self._category)
obj_names = self._parser.list_avail_objs(self._category)
SelectMenu.__init__(self, obj_names, self._signal_name)
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.add(vbox)
# Grid which the buttons are packed into
self._grid = Gtk.Grid()
# pack the grid into a sw of a specified height
sw = ScrolledWindow()
sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
sw.apply_styling_to_widget()
sw.add(self._grid)
sw.set_size_request(152, 294)
# Labels the category
top_bar = self._create_top_bar()
vbox.pack_start(top_bar, False, False, 0)
vbox.pack_start(sw, False, False, 10)
self._pack_items()
self.show_all()
示例5: _create_main_box
# 需要导入模块: from kano.gtk3.scrolled_window import ScrolledWindow [as 别名]
# 或者: from kano.gtk3.scrolled_window.ScrolledWindow import add [as 别名]
def _create_main_box(self, network_list):
'''Show the screen with the different WiFi networks
'''
heading = Heading(
_("Connect to WiFi"),
_("Choose a network"),
self._win.is_plug(),
back_btn=False
)
# This box is to pack everything in the window
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
# For now, pack the network into a scrolled window
sw = ScrolledWindow()
sw.apply_styling_to_widget()
sw.set_size_request(-1, 215)
sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
self._network_box = self._create_network_box(network_list)
sw.add(self._network_box)
# Pack the scrolled window into an event box to give the illusion of a
# border
sw_border = self._add_border_to_widget(sw)
sw_border.set_margin_right(30)
sw_border.set_margin_left(30)
sw_border.set_margin_bottom(20)
sw_border.set_margin_top(10)
# Then pack all the elements into the vbox
vbox.pack_start(heading.container, False, False, 0)
vbox.pack_start(sw_border, False, False, 0)
# Pack in the refresh connect buttons
button_box = self._create_refresh_connect_buttons()
vbox.pack_end(button_box, False, False, 30)
return vbox
示例6: __setup_application_widgets
# 需要导入模块: from kano.gtk3.scrolled_window import ScrolledWindow [as 别名]
# 或者: from kano.gtk3.scrolled_window.ScrolledWindow import add [as 别名]
def __setup_application_widgets(self):
screen = Gdk.Screen.get_default()
self.__spellbook = Spellbook(is_caps_lock_on=self.__is_caps_lock_on)
width = screen.get_width()
height = screen.get_height()
terminal_width, terminal_height = width / 2 - 20, height - self.__spellbook.HEIGHT - 2 * 44 - 20
story_width, story_height = width / 2 - 20, height - self.__spellbook.HEIGHT - 2 * 44 - 10
self.__terminal = TerminalUi(terminal_width, terminal_height)
self.__story = Storybook(story_width, story_height)
self.hbox = Gtk.Box()
story_sw = ScrolledWindow()
story_sw.apply_styling_to_screen()
story_sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
story_sw.add(self.__story)
story_sw.set_size_request(story_width, story_height)
left_background = Gtk.EventBox()
left_background.get_style_context().add_class("story_background")
left_background.add(story_sw)
right_background = Gtk.EventBox()
right_background.get_style_context().add_class("terminal_background")
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.add(vbox)
vbox.pack_start(self.hbox, False, False, 0)
vbox.pack_start(self.__spellbook, False, False, 0)
self.hbox.pack_start(left_background, False, False, 0)
self.hbox.pack_start(right_background, False, False, 0)
right_background.add(self.__terminal)
示例7: UserListView
# 需要导入模块: from kano.gtk3.scrolled_window import ScrolledWindow [as 别名]
# 或者: from kano.gtk3.scrolled_window.ScrolledWindow import add [as 别名]
class UserListView(Gtk.Grid):
HEIGHT = 250
WIDTH = 1 # not important
def __init__(self):
Gtk.Grid.__init__(self)
self.get_style_context().add_class('password')
self.set_row_spacing(10)
title = Heading(_('Select Account'),
_('Log in to which account?'))
self.attach(title.container, 0, 0, 2, 1)
self.scrolled_window = ScrolledWindow()
self.scrolled_window.set_size_request(self.WIDTH, self.HEIGHT)
self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.box.set_spacing(10)
self.box.set_margin_left(10)
self.box.set_margin_right(10)
self.scrolled_window.add(self.box)
self.attach(self.scrolled_window, 0, 1, 2, 1)
self.last_username = get_last_user()
self._populate()
self.add_account_btn = OrangeButton(_('Add Account'))
self.add_account_btn.connect('clicked', self._btn_add_account_pressed)
self.attach(self.add_account_btn, 0, 2, 1, 1)
self.shutdown_btn = OrangeButton(_('Shutdown'))
self.shutdown_btn.connect('clicked', self._btn_shutdown_pressed)
self.attach(self.shutdown_btn, 1, 2, 1, 1)
def _populate(self):
# Populate list
user_list = KanoUserList()
for user_name in user_list.get_users():
logger.debug('adding user {}'.format(user_name))
self.add_item(user_name)
def add_item(self, username):
user = User(username)
self.box.pack_start(user, False, False, 0)
if username == self.last_username:
user.grab_focus()
def _btn_add_account_pressed(self, event=None, button=None):
logger.debug('opening new user dialog')
win = self.get_toplevel()
win.go_to_newuser()
def _btn_shutdown_pressed(self, event=None, button=None):
shutdown_dialog = KanoDialog(title_text='Shutting down..',
description_text='Are you sure you want to shutdown your Kano now?',
button_dict=[
{
'label': _('Cancel').upper(),
'color': 'green',
'return_value': False
},
{
'label': _('SHUTDOWN').upper(),
'color': 'orange',
'return_value': True
}
])
shutdown_dialog.dialog.set_position(Gtk.WindowPosition.CENTER_ALWAYS)
poweroff = shutdown_dialog.run()
if poweroff:
LightDM.shutdown()
示例8: contact_window
# 需要导入模块: from kano.gtk3.scrolled_window import ScrolledWindow [as 别名]
# 或者: from kano.gtk3.scrolled_window.ScrolledWindow import add [as 别名]
def contact_window(self):
'''
Contact Us window
Contains text view and a Send button
'''
# delete the directory containing all the info we'll send, and recreate
delete_tmp_dir()
create_tmp_dir()
ApplicationWindow.__init__(
self,
_('Contact Us'), # noqa: F821
self.WIDTH,
0.35
)
screen = Gdk.Screen.get_default()
specific_provider = Gtk.CssProvider()
specific_provider.load_from_path(Media.media_dir() + 'css/style.css')
style_context = Gtk.StyleContext()
style_context.add_provider_for_screen(screen, specific_provider,
Gtk.STYLE_PROVIDER_PRIORITY_USER)
# Make sure this window has no icon in the task bar
# so it plays nice with kdesk-blur
self.set_property('skip-taskbar-hint', True)
self._grid = Gtk.Grid()
# Create top bar
self._top_bar = TopBar(
title=_("Contact Us"), # noqa: F821
window_width=self.WIDTH,
has_buttons=False
)
self._top_bar.set_close_callback(Gtk.main_quit)
self.set_decorated(True)
self.set_titlebar(self._top_bar)
# Create Text view
self._text = Gtk.TextView()
self._text.set_editable(True)
self._text.set_wrap_mode(Gtk.WrapMode.WORD_CHAR)
self._text.set_size_request(self.WIDTH, -1)
self._textbuffer = self._text.get_buffer()
self._textbuffer.set_text(
_("Type your feedback here!") # noqa: F821
)
self._clear_buffer_handler_id = self._textbuffer.connect(
"insert-text", self.clear_buffer
)
scrolledwindow = ScrolledWindow()
scrolledwindow.set_vexpand(True)
scrolledwindow.set_policy(Gtk.PolicyType.NEVER,
Gtk.PolicyType.AUTOMATIC)
scrolledwindow.apply_styling_to_widget()
scrolledwindow.add(self._text)
scrolledwindow.set_margin_left(2)
scrolledwindow.set_margin_right(2)
scrolledwindow.set_margin_top(2)
scrolledwindow.set_margin_bottom(2)
# Very hacky way to get a border: create a grey event box
# which is a little bigger than the widget below
border = Gtk.EventBox()
border.get_style_context().add_class("grey")
border.add(scrolledwindow)
self._grid.attach(border, 0, 0, 1, 1)
border.set_margin_left(20)
border.set_margin_right(20)
border.set_margin_top(10)
border.set_margin_bottom(20)
# Create send button
self._send_button = KanoButton(
_("SEND") # noqa: F821
)
self._send_button.set_sensitive(False)
self._send_button.connect("button_press_event", self.send_feedback)
self._send_button.pack_and_align()
self._send_button.align.set_padding(10, 10, 0, 0)
bottom_background = Gtk.EventBox()
bottom_background.get_style_context().add_class("grey")
bottom_background.add(self._send_button.align)
self._grid.attach(bottom_background, 0, 1, 1, 1)
self._grid.set_row_spacing(0)
self.set_main_widget(self._grid)
# kano-profile stat collection
try:
from kano_profile.badges import \
increment_app_state_variable_with_dialog
increment_app_state_variable_with_dialog(
'kano-feedback', 'starts', 1
)
#.........这里部分代码省略.........
示例9: report_window
# 需要导入模块: from kano.gtk3.scrolled_window import ScrolledWindow [as 别名]
# 或者: from kano.gtk3.scrolled_window.ScrolledWindow import add [as 别名]
def report_window(self):
'''
Report window
Contains 2 text views and Take Screenshot, Add Image and Send buttons
'''
ApplicationWindow.__init__(
self,
_('Report a Problem'), # noqa: F821
self.WIDTH,
0.35
)
screen = Gdk.Screen.get_default()
specific_provider = Gtk.CssProvider()
specific_provider.load_from_path(Media.media_dir() + 'css/style.css')
style_context = Gtk.StyleContext()
style_context.add_provider_for_screen(screen, specific_provider,
Gtk.STYLE_PROVIDER_PRIORITY_USER)
self.set_icon_name("feedback")
self._grid = Gtk.Grid()
# Create top bar
self._top_bar = TopBar(
title=_("Report a Problem"), # noqa: F821
window_width=self.WIDTH,
has_buttons=False
)
self._top_bar.set_close_callback(Gtk.main_quit)
self.set_decorated(True)
self.set_titlebar(self._top_bar)
self.entry = Gtk.Entry()
self.entry.props.placeholder_text = \
_("Add subject (optional)") # noqa: F821
self.entry.set_margin_left(20)
self.entry.set_margin_right(20)
self.entry.set_margin_top(20)
self.entry.set_margin_bottom(10)
self._grid.attach(self.entry, 0, 0, 1, 1)
# Create Text view
self._text = Gtk.TextView()
self._text.set_editable(True)
self._text.set_wrap_mode(Gtk.WrapMode.WORD_CHAR)
self._text.set_size_request(self.WIDTH, -1)
self._textbuffer = self._text.get_buffer()
self._textbuffer.set_text(
_("Type your problem here!") # noqa: F821
)
self._clear_buffer_handler_id = self._textbuffer.connect(
"insert-text", self.clear_buffer
)
scrolledwindow = ScrolledWindow()
scrolledwindow.set_vexpand(True)
scrolledwindow.set_policy(
Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC
)
scrolledwindow.apply_styling_to_widget()
scrolledwindow.add(self._text)
scrolledwindow.set_margin_left(2)
scrolledwindow.set_margin_right(2)
scrolledwindow.set_margin_top(2)
scrolledwindow.set_margin_bottom(2)
# Very hacky way to get a border: create a grey event box
# which is a little bigger than the widget below
border = Gtk.EventBox()
border.get_style_context().add_class("grey")
border.add(scrolledwindow)
self._grid.attach(border, 0, 1, 1, 1)
border.set_margin_left(20)
border.set_margin_right(20)
border.set_margin_top(10)
border.set_margin_bottom(20)
# Create take screenshot button
self._screenshot_button = KanoButton(
_("TAKE SCREENSHOT"), # noqa: F821
"blue"
)
self._screenshot_button.set_sensitive(True)
self._screenshot_button.connect("button_press_event",
self.screenshot_clicked)
# Create attach screenshot button
self._attach_button = KanoButton(
_("ADD IMAGE"), # noqa: F821
"blue"
)
self._attach_button.set_sensitive(True)
self._attach_button.connect("button_press_event", self.attach_clicked)
# Create send button
self._send_button = KanoButton(
_("SEND") # noqa: F821
)
#.........这里部分代码省略.........