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
|
#------------------------------------------------------------------------------
# Copyright (c) 2014-2024,, 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 controlling Form spacing.
The Form widget allows the developer to control the spacing between the
rows and columns in the form. Changes to the row and column spacing at
runtime are automatically reflected in the layout.
<< autodoc-me >>
"""
from enaml.layout.api import vbox
from enaml.widgets.api import (
Window, Container, Form, CheckBox, Label, Field, Separator, SpinBox
)
enamldef Main(Window):
title = 'Form Spacing'
Container:
padding = 0
constraints = [vbox(f1, 0, sep, 0, f2)]
Form: f1:
Label:
text = 'Two Visible'
CheckBox: cbox:
checked = True
Label:
text = 'Row Spacing'
SpinBox: rspin:
value = 10
Label:
text = 'Column Spacing'
SpinBox: cspin:
value = 10
Separator: sep:
pass
Form: f2:
row_spacing << rspin.value
column_spacing << cspin.value
Label:
text = 'One'
Field:
pass
Label:
text = 'Two'
visible << cbox.checked
Field:
visible << cbox.checked
Label:
text = 'A Long Label'
Field:
pass
|