syntax = "proto3"; enum UI_type { undef = 0; ui_button = 1; ui_can = 2; ui_checkbox = 3; ui_combobox = 4; ui_dial = 5; ui_double_spinbox = 6; ui_hex_spinbox = 7; ui_label = 8; ui_led = 9; ui_plot = 10; ui_slider = 11; ui_spinbox = 12; ui_stacked_widget = 13; ui_status_bar = 14; ui_tab_widget = 15; ui_table = 16; ui_textbox = 17; ui_thermo = 18; } message CAN_Frame_m { uint32 sid = 1; int64 dlc = 2; bytes payload = 3; } message UI_color { uint32 fg_color = 1; uint32 bg_color = 2; } message UI_label_m { UI_color color = 1; string text = 2; } message UI_can_m { UI_color color = 1; repeated CAN_Frame_m send_frames = 2; repeated CAN_Frame_m recv_frames = 3; } message UI_checkbox_m { UI_color color = 1; string text = 2; bool checked = 3; } message UI_combobox_m { int64 selected = 1; repeated string options = 2; } message UI_range_m { double min = 1; double max = 2; double value = 3; string unit = 4; string text = 5; } message UI_spinbox_m { double min = 1; double max = 2; double value = 3; } message UI_plot_m { UI_color color = 1; string text = 2; string x_label = 3; string y_label = 4; repeated double x_vals = 5; repeated double y_vals = 6; } message UI_stacked_widget_m { int64 tab_count = 1; int64 current_tab = 2; } message UI_tab_widget_m { int64 selecte_tab = 1; repeated string tab_names = 2; repeated bool tab_visible = 3; } message UI_status_bar_m { uint64 timeout = 1; string message = 2; } message UI_table_m { int64 row_count = 1; int64 column_count = 2; repeated string row_labels = 3; repeated string column_labels = 4; repeated string table = 5; } message UI_textbox_m { UI_color color = 1; string text = 2; string hint = 3; } message UI_item_m { uint64 id = 1; UI_type type = 2; bool enabled = 3; bool visible = 4; oneof kind { UI_label_m label = 5; UI_can_m can = 6; UI_checkbox_m checkbox = 7; UI_combobox_m combobox = 8; UI_range_m range = 9; UI_spinbox_m spinbox = 10; UI_plot_m plot = 11; UI_stacked_widget_m stacked_widget = 12; UI_tab_widget_m tab_widget = 13; UI_status_bar_m status_bar = 14; UI_table_m table = 15; UI_textbox_m textbox = 16; } }