kivy/examples/demo/showcase/showcase.kv

407 lines
9.2 KiB
Plaintext
Raw Normal View History

#:kivy 1.0
#:import kivy kivy
<Showcase>:
content: content
canvas:
Color:
rgb: 1, 1, 1
Rectangle:
source: 'data/images/background.jpg'
size: self.size
BoxLayout:
orientation: 'vertical'
BoxLayout:
padding: 10
spacing: 10
size_hint: 1, None
pos_hint: {'top': 1}
height: 44
Image:
size_hint: None, None
size: 24, 24
source: 'data/logo/kivy-icon-24.png'
Label:
height: 24
text_size: self.width, None
color: (1, 1, 1, .8)
text: 'Kivy %s - Showcase' % kivy.__version__
FloatLayout:
id: content
2011-04-21 22:52:55 +00:00
<KivyImageScatter>:
scale_min: 1
2011-04-21 22:52:55 +00:00
Image:
source: 'data/logo/kivy-icon-512.png'
<ButtonsScatter>:
scale_min: 1
2011-04-21 22:52:55 +00:00
canvas:
Color:
rgba: .5, .5, .5, .2
2011-04-21 22:52:55 +00:00
Rectangle:
size: self.size
BoxLayout:
size: root.size
padding: 40
Button:
text: 'Hello'
Button:
text: 'World'
2012-04-02 19:51:27 +00:00
[Title@Label]
pos_hint: {'center_x': .5, 'y': .3}
text: ctx.text
font_size: 22
<AnchorLayoutShowcase>
Title:
text: 'Anchor Layout'
AnchorLayout:
size_hint: .5, .5
pos_hint: {'center_x':.5, 'center_y':.5}
anchor_x: root.anchor_x
anchor_y: root.anchor_y
# highlight the Layout area
canvas:
Color:
rgba: .1, .3, .1, .51
Rectangle:
size: self.size
pos: self.pos
Button:
text: 'anchor_x = %s\nanchor_y = %s' %(root.anchor_x, root.anchor_y)
2012-04-02 19:51:27 +00:00
size_hint: None, None
size: 150, 50
<BoxLayoutShowcase>
blayout: blayout
Title:
text: "Box Layout"
BoxLayout:
id:blayout
# highlight the Layout area
size_hint: .5, .5
pos_hint: {'center_x':.5, 'center_y':.5}
canvas:
Color:
rgba: .1, .3, .1, .51
Rectangle:
size: self.size
pos: self.pos
<FloatLayoutShowcase>
flayout: flayout
Title:
text: "Float Layout"
FloatLayout:
id: flayout
# highlight the Layout area
size_hint: .5, .5
pos_hint: {'center_x':.5, 'center_y':.5}
canvas:
Color:
rgba: .1, .3, .1, .51
Rectangle:
size: self.size
pos: self.pos
<GridLayoutShowcase>
glayout: glayout
Title:
text: "Grid Layout"
GridLayout:
id: glayout
# highlight the Layout area
size_hint: .5, .5
pos_hint: {'center_x':.5, 'center_y':.5}
canvas:
Color:
rgba: .1, .3, .1, .51
Rectangle:
size: self.size
pos: self.pos
<StackLayoutShowcase>
slayout: slayout
Title:
text: "Stack Layout"
StackLayout:
id: slayout
# highlight the Layout area
size_hint: .5, .5
pos_hint: {'center_x':.5, 'center_y':.5}
canvas:
Color:
rgba: .1, .3, .1, .51
Rectangle:
size: self.size
pos: self.pos
[VSeparator@Widget]:
size_hint_x: None
width: 10
canvas:
Color:
rgba: .8, .8, .8, .3
Rectangle:
size: 1, self.height
pos: self.center_x, self.y
[HSeparator@Label]:
size_hint_y: None
height: 45
text: ctx.text if 'text' in ctx else ''
text_size: self.size
valign: 'middle'
halign: 'center'
canvas.before:
Color:
rgba: .2, .2, .2, .8
Rectangle:
size: self.size
pos: self.pos
<StandardWidgets>:
BoxLayout:
pos_hint: {'x': 0, 'y': 0}
BoxLayout:
orientation: 'vertical'
padding: 10
spacing: 10
HSeparator:
text: 'Buttons'
Button:
text: 'Button ' + self.state
Button:
text: 'Button ' + self.state
state: 'down'
ToggleButton:
text: 'Toggle ' + self.state
HSeparator:
text: 'Toggle buttons with group'
ToggleButton:
text: 'Toggle 1'
group: 'tgroup'
ToggleButton:
text: 'Toggle 2'
group: 'tgroup'
BoxLayout:
orientation: 'vertical'
padding: 10
spacing: 10
HSeparator:
text: 'Sliders'
Slider:
2012-09-02 11:08:19 +00:00
value: 25
size_hint_y: None
height: 50
Slider:
2012-09-02 11:08:19 +00:00
value: 75
size_hint_y: None
height: 50
2012-09-02 11:08:19 +00:00
step: 25
BoxLayout:
Slider:
orientation: 'vertical'
2012-09-02 11:08:19 +00:00
value: 25
Slider:
orientation: 'vertical'
2012-09-02 11:08:19 +00:00
value: 75
step: 25
HSeparator:
text: 'Progress Bar'
ProgressBar:
value: (20 * root.value) % (1 + self.max)
size_hint_y: None
height: 50
HSeparator:
text: 'Switch'
Switch:
size_hint_y: None
height: 50
BoxLayout:
orientation: 'vertical'
padding: 10
spacing: 10
HSeparator:
text: 'Text inputs'
TextInput:
text: 'Monoline textinput'
size_hint_y: None
height: 30
TextInput:
text: 'This is a password'
size_hint_y: None
height: 30
password: True
TextInput:
text: 'Readonly textinput'
size_hint_y: None
height: 30
readonly: True
TextInput:
text: 'Multiline textinput\nSecond line'
HSeparator:
text: 'Checkbox'
GridLayout:
rows: 1
CheckBox
CheckBox
GridLayout:
cols: 2
CheckBox:
group: 'group1'
CheckBox:
group: 'group1'
CheckBox:
group: 'group2'
CheckBox:
group: 'group2'
<ComplexWidgets>:
BoxLayout:
pos_hint: {'x': 0, 'y': 0}
BoxLayout:
orientation: 'vertical'
padding: 10
spacing: 10
HSeparator:
text: 'Accordions'
Accordion:
AccordionItem:
title: 'Panel 1'
Label:
text: 'This is a label fit to the content view'
AccordionItem:
title: 'Panel 2'
Button:
text: 'A button, what else?'
AccordionItem:
title: 'Panel 3'
Label:
text: 'This is a label fit to the content view'
Accordion:
orientation: 'vertical'
AccordionItem:
title: 'Panel 1'
Label:
text: 'This is a label fit to the content view'
AccordionItem:
title: 'Panel 2'
Button:
text: 'A button, what else?'
AccordionItem:
title: 'Panel 3'
Label:
text: 'This is a label fit to the content view'
VSeparator
BoxLayout:
orientation: 'vertical'
padding: 10
spacing: 10
HSeparator:
text: 'File choosers'
FileChooserListView
FileChooserIconView
<TreeViewWidgets>:
treeview1: treeview1
treeview2: treeview2
BoxLayout:
pos_hint: {'x': 0, 'y': 0}
BoxLayout:
orientation: 'vertical'
padding: 10
spacing: 10
HSeparator:
text: 'Treeview with root'
TreeView:
id: treeview1
Button:
text: 'Remove first node'
size_hint_y: None
height: 50
on_release: treeview1.remove_node(treeview1.root.nodes[0]) if not treeview1.root.is_leaf else None
BoxLayout:
orientation: 'vertical'
padding: 10
spacing: 10
HSeparator:
text: 'Treeview without root'
TreeView:
id: treeview2
hide_root: True
Button:
text: 'Remove first node'
size_hint_y: None
height: 50
on_release: treeview2.remove_node(treeview2.root.nodes[0]) if not treeview2.root.is_leaf else None
<ScatterWidgets>: