Esempio n. 1
0
def test_bind_two_widget_arg_with_remaining_arg():
    widget = IntSlider(value=0)

    def add(value, value2):
        return value + value2

    bound_function = bind(add, widget)

    assert bound_function(1) == 1

    widget.value = 1

    assert bound_function(2) == 3
    assert bound_function(value2=3) == 4
Esempio n. 2
0
def test_bind_widget_to_kwarg():
    widget = IntSlider(value=0)

    def add1(value):
        return value + 1

    bound_function = bind(add1, value=widget)

    assert bound_function() == 1

    widget.value = 1

    assert bound_function() == 2

    with pytest.raises(TypeError):
        bound_function(1)
Esempio n. 3
0
def test_bind_bound_function_to_kwarg():
    widget = IntSlider(value=1)

    def add1(value):
        return value + 1

    def divide(divisor=2, value=0):
        return value / divisor

    bound_function = bind(divide, value=bind(add1, widget.param.value))

    assert bound_function() == 1

    widget.value = 3

    assert bound_function() == 2
Esempio n. 4
0
def test_gridspec_stretch_with_replacement_pane(document, comm):
    slider = IntSlider(start=0, end=2)

    @depends(slider)
    def div(value):
        return Div(text=str(value))

    gspec = GridSpec(sizing_mode='stretch_width')

    gspec[0, 0:2] = Div()
    gspec[1, 2] = div

    model = gspec.get_root(document, comm=comm)
    ((div1, _, _, _, _), (row, _, _, _, _)) = model.children
    div2 = row.children[0]
    assert div1.sizing_mode == 'stretch_width'
    assert div1.height == 300
    assert div2.sizing_mode == 'stretch_width'
    assert div2.height == 300

    slider.value = 1
    assert row.children[0] is not div2
    assert row.children[0].sizing_mode == 'stretch_width'
    assert row.children[0].height == 300
Esempio n. 5
0
def test_int_slider(document, comm):

    slider = IntSlider(start=0, end=3, value=1, name='Slider')

    widget = slider.get_root(document, comm=comm)

    assert isinstance(widget, slider._widget_type)
    assert widget.title == 'Slider'
    assert widget.step == 1
    assert widget.start == 0
    assert widget.end == 3
    assert widget.value == 1

    slider._comm_change({'value': 2})
    assert slider.value == 2

    slider.value = 0
    assert widget.value == 0

    # Testing that value matches start value if value not set.
    slider_2 = IntSlider(start=1, end=3, name='Slider_2')
    widget_2 = slider_2.get_root(document, comm=comm)
    assert widget_2.value == widget_2.start
Esempio n. 6
0
def test_int_slider(document, comm):

    slider = IntSlider(start=0, end=3, value=1, name='Slider')

    widget = slider.get_root(document, comm=comm)

    assert isinstance(widget, slider._widget_type)
    assert widget.title == 'Slider'
    assert widget.step == 1
    assert widget.start == 0
    assert widget.end == 3
    assert widget.value == 1

    slider._comm_change({'value': 2})
    assert slider.value == 2

    slider.value = 0
    assert widget.value == 0
Esempio n. 7
0
def test_int_slider(document, comm):

    slider = IntSlider(start=0, end=3, value=1, name='Slider')

    box = slider._get_model(document, comm=comm)

    assert isinstance(box, WidgetBox)

    widget = box.children[0]
    assert isinstance(widget, slider._widget_type)
    assert widget.title == 'Slider'
    assert widget.step == 1
    assert widget.start == 0
    assert widget.end == 3
    assert widget.value == 1

    slider._comm_change({'value': 2})
    assert slider.value == 2

    slider.value = 0
    assert widget.value == 0
Esempio n. 8
0
def test_bind_two_widgets_as_kwargs():
    widget = IntSlider(value=0)
    widget2 = IntSlider(value=1)

    def add(value, value2):
        return value + value2

    bound_function = bind(add, value=widget, value2=widget2)

    assert bound_function() == 1

    widget.value = 1

    assert bound_function() == 2

    widget2.value = 2

    assert bound_function() == 3

    with pytest.raises(TypeError):
        bound_function(1, 2)

    assert bound_function(value2=5) == 6
Esempio n. 9
0
def test_int_slider(document, comm):

    slider = IntSlider(start=0, end=3, value=1, name='Slider')

    widget = slider.get_root(document, comm=comm)

    assert isinstance(widget, slider._widget_type)
    assert widget.title == 'Slider'
    assert widget.step == 1
    assert widget.start == 0
    assert widget.end == 3
    assert widget.value == 1

    slider._process_events({'value': 2})
    assert slider.value == 2
    slider._process_events({'value_throttled': 2})
    assert slider.value_throttled == 2

    slider.value = 0
    assert widget.value == 0

    # Testing that value matches start value if value not set.
    slider_2 = IntSlider(start=1, end=3, name='Slider_2')
    widget_2 = slider_2.get_root(document, comm=comm)
    assert widget_2.value == widget_2.start

    # Testing throttled mode
    with config.set(throttled=True):
        slider._process_events({'value': 1})
        assert slider.value == 0  # no change
        slider._process_events({'value_throttled': 1})
        assert slider.value == 1

        slider.value = 2
        assert widget.value == 2
Esempio n. 10
0
def test_embed_merged_sliders(document, comm):
    s1 = IntSlider(name='A', start=1, end=10, value=1)
    t1 = StaticText()
    s1.param.watch(lambda event: setattr(t1, 'value', event.new), 'value')

    s2 = IntSlider(name='A', start=1, end=10, value=1)
    t2 = StaticText()
    s2.param.watch(lambda event: setattr(t2, 'value', event.new), 'value')

    panel = Row(s1, s2, t1, t2)
    with config.set(embed=True):
        model = panel.get_root(document, comm)
    state_model = embed_state(panel, model, document)
    assert len(document.roots) == 2
    assert model is document.roots[0]

    cbs = list(model.select({'type': CustomJS}))
    assert len(cbs) == 5

    ref1, ref2 = model.children[2].ref['id'], model.children[3].ref['id']
    state0 = json.loads(state_model.state[0]['content'])['events']
    assert state0 == [{
        "attr": "text",
        "kind": "ModelChanged",
        "model": {
            "id": ref1
        },
        "new": "1"
    }, {
        "attr": "text",
        "kind": "ModelChanged",
        "model": {
            "id": ref2
        },
        "new": "1"
    }]
    state1 = json.loads(state_model.state[1]['content'])['events']
    assert state1 == [{
        "attr": "text",
        "kind": "ModelChanged",
        "model": {
            "id": ref1
        },
        "new": "5"
    }, {
        "attr": "text",
        "kind": "ModelChanged",
        "model": {
            "id": ref2
        },
        "new": "5"
    }]
    state2 = json.loads(state_model.state[2]['content'])['events']
    assert state2 == [{
        "attr": "text",
        "kind": "ModelChanged",
        "model": {
            "id": ref1
        },
        "new": "9"
    }, {
        "attr": "text",
        "kind": "ModelChanged",
        "model": {
            "id": ref2
        },
        "new": "9"
    }]
Esempio n. 11
0
 def test_params_identical_names(self):
     a = IntSlider(name="Name")
     b = IntSlider(name="Name")
     p = Params(parameters=[a.param.value, b.param.value])
     assert len(p.hashkey) == 3  # the two widgets + _memoize_key
Esempio n. 12
0
def test_param_value_if_widget():
    widget = IntSlider()
    assert param_value_if_widget(widget) is widget.param.value
Esempio n. 13
0
import numpy as np
import panel as pn
from panel.widgets import IntSlider
from ipywidgets import AppLayout, Image, Layout, Box, widgets  # pip install ipywidgets
from IPython import display

img_path = './project/project02/data/dog2.jpg'
src = cv2.imread(img_path)
gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)

#Component 선언
IntSlider_Threshold = IntSlider(value=1,
                                min=1,
                                max=50,
                                step=1,
                                description='Threshold: ',
                                disabled=False,
                                continuous_update=False,
                                orientation='horizontal',
                                readout=True,
                                readout_format='d')


def layout(header, left, right):
    layout = AppLayout(header=header,
                       left_sidebar=left,
                       center=None,
                       right_sidebar=right)
    return layout


wImg_original = Image(layout=Layout(border="solid"), width="45%")