File: dual_slider.enaml

package info (click to toggle)
python-enaml 0.19.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,284 kB
  • sloc: python: 31,443; cpp: 4,499; makefile: 140; javascript: 68; lisp: 53; sh: 20
file content (56 lines) | stat: -rw-r--r-- 1,803 bytes parent folder | download
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
#------------------------------------------------------------------------------
#  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.
#------------------------------------------------------------------------------
"""
Example demonstrating a dual slider.

<< autodoc-me >>
"""
from enaml.layout.api import align, vbox, hbox
from enaml.stdlib.fields import IntField
from enaml.widgets.api import (
    Window, Container, Label, Field, DualSlider, Slider, Form
)


enamldef Main(Window):
    title = 'Dual Slider Example'
    Container:
        constraints = [
            vbox(
                hbox(label, low, high),
                hbox(min_lbl, dual_slider, max_lbl),
                hbox(sel_lbl, sel_field, sel_slider),
            ),
            align('v_center', label, low, high),
            align('v_center', min_lbl, dual_slider, max_lbl),
            align('v_center', sel_lbl, sel_field, sel_slider),
        ]
        Label: label:
            text = 'Range:'
        IntField: low:
            value := dual_slider.low_value
        IntField: high:
            value := dual_slider.high_value
        Label: min_lbl:
            text << str(dual_slider.minimum)
        Label: max_lbl:
            text << str(dual_slider.maximum)
        DualSlider: dual_slider:
            tick_interval = 10
            minimum = 1
            maximum = 100
        Label: sel_lbl:
            text = 'Set Minimum:'
        Field: sel_field:
            text << str(sel_slider.value)
            read_only = True
        Slider: sel_slider:
            tick_interval = 100
            minimum = 1
            maximum = 1000
            value >> dual_slider.minimum