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
|
#------------------------------------------------------------------------------
# Copyright (c) 2013-2025, Nucleic Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file LICENSE, distributed with this software.
#------------------------------------------------------------------------------
""" An example of the `Splitter` widget.
A `Splitter` is a widget which can hold an arbitrary number of children
which must be instances of `Container`. The `Splitter` will separate
each `Container` with a bar which can be dragged by the user to change
the space allocated to the containers. This example shows how complex
arrangements can be acheived by nesting `Splitter` widgets inside
child `Container` widgets.
Implementation notes:
The splitter support on Wx is poor. Certain behaviors, like initial
splitter sizing does not work well (if at all). If a production
application requires splitter support, prefer the Qt backend over
Wx (this is generally a good life-rule).
<< autodoc-me >>
"""
from enaml.widgets.api import (
Splitter, SplitItem, Form, Container, Window, Label, Field, Html,
)
enamldef MyForm(Form):
Label:
text = "First name:"
Field:
pass
Label:
text = "Last name:"
Field:
pass
Label:
text = "Address:"
Field:
pass
Label:
text = ""
Field:
pass
Label:
text = "City:"
Field:
pass
Label:
text = "State:"
Field:
pass
Label:
text = "Postal Code:"
Field:
pass
Label:
text = "Country:"
Field:
pass
enamldef MyHtmlWidgets(Container):
padding = 0
Splitter:
orientation = 'vertical'
SplitItem:
Container:
Html:
resist_height = 'weak'
source = '<center><h1>Hello World!</h1></center>'
SplitItem:
Container:
Html:
resist_height = 'weak'
source = '<center><h1>Hello Enaml!</h1></center>'
enamldef Main(Window):
Container:
padding = 0
Splitter:
SplitItem:
stretch = 0
collapsible = False
MyForm:
pass
SplitItem:
MyForm:
pass
SplitItem:
stretch = 2
MyHtmlWidgets:
pass
SplitItem:
MyForm:
pass
|