Replace measurement Select with DataTable
This commit is contained in:
parent
fdcaebb250
commit
15428662f7
@ -11,6 +11,7 @@ from bokeh.models import (
|
|||||||
ColumnDataSource,
|
ColumnDataSource,
|
||||||
CustomJS,
|
CustomJS,
|
||||||
DataRange1d,
|
DataRange1d,
|
||||||
|
DataTable,
|
||||||
Div,
|
Div,
|
||||||
FileInput,
|
FileInput,
|
||||||
Grid,
|
Grid,
|
||||||
@ -20,6 +21,7 @@ from bokeh.models import (
|
|||||||
Plot,
|
Plot,
|
||||||
Select,
|
Select,
|
||||||
Spacer,
|
Spacer,
|
||||||
|
TableColumn,
|
||||||
TextAreaInput,
|
TextAreaInput,
|
||||||
TextInput,
|
TextInput,
|
||||||
Toggle,
|
Toggle,
|
||||||
@ -69,9 +71,9 @@ def create():
|
|||||||
det_data = pyzebra.parse_1D(file, ext)
|
det_data = pyzebra.parse_1D(file, ext)
|
||||||
|
|
||||||
meas_list = list(det_data["Measurements"].keys())
|
meas_list = list(det_data["Measurements"].keys())
|
||||||
meas_select.options = meas_list
|
meas_table_source.data.update(measurement=meas_list)
|
||||||
meas_select.value = None
|
meas_table_source.selected.indices = []
|
||||||
meas_select.value = meas_list[0]
|
meas_table_source.selected.indices = [0]
|
||||||
|
|
||||||
ccl_file_select = Select(title="Available .ccl files")
|
ccl_file_select = Select(title="Available .ccl files")
|
||||||
ccl_file_select.on_change("value", ccl_file_select_callback)
|
ccl_file_select.on_change("value", ccl_file_select_callback)
|
||||||
@ -83,9 +85,9 @@ def create():
|
|||||||
det_data = pyzebra.parse_1D(file, ext)
|
det_data = pyzebra.parse_1D(file, ext)
|
||||||
|
|
||||||
meas_list = list(det_data["Measurements"].keys())
|
meas_list = list(det_data["Measurements"].keys())
|
||||||
meas_select.options = meas_list
|
meas_table_source.data.update(measurement=meas_list)
|
||||||
meas_select.value = None
|
meas_table_source.selected.indices = []
|
||||||
meas_select.value = meas_list[0]
|
meas_table_source.selected.indices = [0]
|
||||||
|
|
||||||
upload_button = FileInput(accept=".ccl")
|
upload_button = FileInput(accept=".ccl")
|
||||||
upload_button.on_change("value", upload_button_callback)
|
upload_button.on_change("value", upload_button_callback)
|
||||||
@ -141,12 +143,19 @@ def create():
|
|||||||
plot.add_glyph(plot_circle_source, Circle(x="x", y="y"))
|
plot.add_glyph(plot_circle_source, Circle(x="x", y="y"))
|
||||||
|
|
||||||
# Measurement select
|
# Measurement select
|
||||||
def meas_select_callback(_attr, _old, new):
|
def meas_table_callback(_attr, _old, new):
|
||||||
if new is not None:
|
if new:
|
||||||
_update_plot(new)
|
_update_plot(meas_table_source.data["measurement"][new[-1]])
|
||||||
|
|
||||||
meas_select = Select()
|
meas_table_source = ColumnDataSource(dict(measurement=[]))
|
||||||
meas_select.on_change("value", meas_select_callback)
|
meas_table = DataTable(
|
||||||
|
source=meas_table_source,
|
||||||
|
columns=[TableColumn(field="measurement", title="Measurement")],
|
||||||
|
width=100,
|
||||||
|
index_position=None,
|
||||||
|
)
|
||||||
|
|
||||||
|
meas_table_source.selected.on_change("indices", meas_table_callback)
|
||||||
|
|
||||||
smooth_toggle = Toggle(label="Smooth curve")
|
smooth_toggle = Toggle(label="Smooth curve")
|
||||||
|
|
||||||
@ -168,7 +177,8 @@ def create():
|
|||||||
constraints_max=[None, None, None, None, None],
|
constraints_max=[None, None, None, None, None],
|
||||||
)
|
)
|
||||||
|
|
||||||
_update_plot(meas_select.value)
|
sel_ind = meas_table_source.selected.indices[-1]
|
||||||
|
_update_plot(meas_table_source.data["measurement"][sel_ind])
|
||||||
|
|
||||||
process_button = Button(label="Process All", button_type="primary")
|
process_button = Button(label="Process All", button_type="primary")
|
||||||
process_button.on_click(process_button_callback)
|
process_button.on_click(process_button_callback)
|
||||||
@ -199,8 +209,8 @@ def create():
|
|||||||
upload_div = Div(text="Or upload .ccl file:")
|
upload_div = Div(text="Or upload .ccl file:")
|
||||||
tab_layout = column(
|
tab_layout = column(
|
||||||
row(proposal_textinput, ccl_file_select),
|
row(proposal_textinput, ccl_file_select),
|
||||||
row(column(Spacer(height=5), upload_div), upload_button, meas_select),
|
row(column(Spacer(height=5), upload_div), upload_button),
|
||||||
row(plot, Spacer(width=30), fit_output_textinput),
|
row(meas_table, plot, Spacer(width=30), fit_output_textinput),
|
||||||
row(column(smooth_toggle, process_button, save_button)),
|
row(column(smooth_toggle, process_button, save_button)),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user