From: Nicolas D. <Ba...@us...> - 2011-04-13 13:10:59
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "krobot". The branch, master has been updated via 2ea0136103507eaf514c748e5f9366496ca42b28 (commit) via f4c9d45d3f8fab3f1d3fc4353d22772d57f8515d (commit) via c6c16ad06692621a2393a638352b5d840ff5df45 (commit) from c6ae35bf3d2cdae0486c1515706d70e85913070b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 2ea0136103507eaf514c748e5f9366496ca42b28 Author: Nicolas Dandrimont <Nic...@cr...> Date: Wed Apr 13 01:04:00 2011 +0200 [krobot_viewer] UI overhaul commit f4c9d45d3f8fab3f1d3fc4353d22772d57f8515d Author: Nicolas Dandrimont <Nic...@cr...> Date: Wed Apr 13 15:09:59 2011 +0200 [krobot_planner] Fix typo commit c6c16ad06692621a2393a638352b5d840ff5df45 Author: Nicolas Dandrimont <Nic...@cr...> Date: Wed Apr 13 14:16:39 2011 +0200 [krobot_simulator] Use the differential drive convention for motor status messages ----------------------------------------------------------------------- Changes: diff --git a/info/control2011/src/services/krobot_service_planner.ml b/info/control2011/src/services/krobot_service_planner.ml index 4506831..3626e0d 100644 --- a/info/control2011/src/services/krobot_service_planner.ml +++ b/info/control2011/src/services/krobot_service_planner.ml @@ -135,7 +135,7 @@ let go planner rotation_speed rotation_acceleration moving_speed moving_accelera if x >= radius && x <= world_width -. radius && y >= radius && y <= world_height -. radius then begin (* Turn the robot. *) let alpha = math_mod_float (atan2 (y -. planner.position.y) (x -. planner.position.x) -. planner.orientation) (2. *. pi) in - lwt () = Lwt_log.info_f "turning by %f radiants" alpha in + lwt () = Lwt_log.info_f "turning by %f radians" alpha in lwt () = Krobot_message.send planner.bus (Unix.gettimeofday (), Motor_turn(alpha, rotation_speed, diff --git a/info/control2011/src/tools/krobot_simulator.ml b/info/control2011/src/tools/krobot_simulator.ml index d0f31d7..cce3773 100644 --- a/info/control2011/src/tools/krobot_simulator.ml +++ b/info/control2011/src/tools/krobot_simulator.ml @@ -225,8 +225,15 @@ lwt () = sim.command <- Idle; return () | Req_motor_status -> - let moving = sim.command <> Idle in - Krobot_message.send bus (Unix.gettimeofday (), Motor_status(moving, moving, false, false)) + begin + match sim.command with + | Turn(a, b) -> + Krobot_message.send bus (Unix.gettimeofday (), Motor_status(false, true, false, false)) + | Move(a, b) -> + Krobot_message.send bus (Unix.gettimeofday (), Motor_status(true, false, false, false)) + | _ -> + Krobot_message.send bus (Unix.gettimeofday (), Motor_status(false, false, false, false)) + end | Set_odometry(x, y, theta) -> sim.state <- { x; y; theta }; return () diff --git a/info/control2011/src/tools/krobot_viewer.ml b/info/control2011/src/tools/krobot_viewer.ml index 9b30a63..f46bcce 100644 --- a/info/control2011/src/tools/krobot_viewer.ml +++ b/info/control2011/src/tools/krobot_viewer.ml @@ -199,6 +199,9 @@ module Board = struct ui : Krobot_viewer_ui.window; (* The UI of the board. *) + statusbar_context : GMisc.statusbar_context; + (* The context of the statusbar. *) + mutable state : state; (* The state of the robot. *) @@ -520,11 +523,13 @@ module Board = struct beacon = { xbeacon = 1.; ybeacon = 1.; valid = false }; vertices; events = []; + statusbar_context = ui#statusbar#new_context ""; } in board.ui#beacon_status#set_text "-"; board.ui#beacon_distance#set_text "-"; board.ui#beacon_angle#set_text "-"; board.ui#beacon_period#set_text "-"; + board.ui#scene_paned#set_position ((board.ui#window#default_width * 5) / 8); queue_draw board; (* Move the robot on the board when we receive odometry informations. *) @@ -544,6 +549,20 @@ module Board = struct queue_draw board end | Motor_status(m1, m2, m3, m4) -> + let moving = m1 || m2 in + if moving then begin + board.statusbar_context#pop (); + let _ = board.statusbar_context#push + (if m1 then + "Moving..." + else + (if m2 then + "Turning..." + else + "") + ) in (); + end else + board.statusbar_context#pop (); board.ui#entry_moving1#set_text (if m1 then "yes" else "no"); board.ui#entry_moving2#set_text (if m2 then "yes" else "no"); board.ui#entry_moving3#set_text (if m3 then "yes" else "no"); diff --git a/info/control2011/src/tools/krobot_viewer_ui.glade b/info/control2011/src/tools/krobot_viewer_ui.glade index c1cf4e5..1643fe5 100644 --- a/info/control2011/src/tools/krobot_viewer_ui.glade +++ b/info/control2011/src/tools/krobot_viewer_ui.glade @@ -178,8 +178,9 @@ </packing> </child> <child> - <widget class="GtkHBox" id="hbox1"> + <widget class="GtkHPaned" id="scene_paned"> <property name="visible">True</property> + <property name="can_focus">True</property> <child> <widget class="GtkDrawingArea" id="scene"> <property name="visible">True</property> @@ -188,17 +189,8 @@ <property name="double_buffered">False</property> </widget> <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkVSeparator" id="vseparator1"> - <property name="visible">True</property> - <property name="orientation">vertical</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">1</property> + <property name="resize">False</property> + <property name="shrink">True</property> </packing> </child> <child> @@ -303,7 +295,7 @@ </packing> </child> <child> - <widget class="GtkHBox" id="hbox13"> + <widget class="GtkHSeparator" id="hseparator1"> <property name="visible">True</property> </widget> <packing> @@ -312,332 +304,437 @@ </packing> </child> <child> - <widget class="GtkHBox" id="hbox2"> + <widget class="GtkExpander" id="position_expander"> <property name="visible">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">3</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox12"> - <property name="visible">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">4</property> - </packing> - </child> - <child> - <widget class="GtkTable" id="table1"> - <property name="visible">True</property> - <property name="n_rows">10</property> - <property name="n_columns">2</property> - <child> - <widget class="GtkSpinButton" id="moving_speed"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">●</property> - <property name="adjustment">0.5 0 2 0.10000000000000001 0 0</property> - <property name="digits">2</property> - <property name="numeric">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">6</property> - <property name="bottom_attach">7</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkSpinButton" id="moving_acceleration"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">●</property> - <property name="adjustment">1 0 10 0.10000000000000001 0 0</property> - <property name="digits">2</property> - <property name="numeric">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">7</property> - <property name="bottom_attach">8</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkSpinButton" id="rotation_speed"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">•</property> - <property name="adjustment">0.99999999999999989 0 4 0.10000000000000001 0 0</property> - <property name="digits">2</property> - <property name="numeric">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">8</property> - <property name="bottom_attach">9</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkSpinButton" id="rotation_acceleration"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">•</property> - <property name="adjustment">2.0000000000000009 0 10 0.10000000000000001 0 0</property> - <property name="digits">2</property> - <property name="numeric">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">9</property> - <property name="bottom_attach">10</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> + <property name="can_focus">True</property> + <property name="expanded">True</property> <child> - <widget class="GtkHBox" id="hbox4"> + <widget class="GtkHBox" id="position_values"> <property name="visible">True</property> + <property name="homogeneous">True</property> <child> - <widget class="GtkLabel" id="label3"> - <property name="visible">True</property> - <property name="label" translatable="yes">Moving speed: </property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkAlignment" id="alignment1"> + <widget class="GtkHBox" id="position_x"> <property name="visible">True</property> <child> - <placeholder/> + <widget class="GtkLabel" id="position_x_label"> + <property name="visible">True</property> + <property name="xpad">2</property> + <property name="label" translatable="yes">x</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkEntry" id="entry_x"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="invisible_char">•</property> + </widget> + <packing> + <property name="position">1</property> + </packing> </child> </widget> <packing> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="top_attach">6</property> - <property name="bottom_attach">7</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox5"> - <property name="visible">True</property> - <child> - <widget class="GtkLabel" id="label4"> - <property name="visible">True</property> - <property name="label" translatable="yes">Moving acceleration: </property> - </widget> - <packing> - <property name="expand">False</property> <property name="position">0</property> </packing> </child> <child> - <widget class="GtkAlignment" id="alignment2"> + <widget class="GtkHBox" id="position_y"> <property name="visible">True</property> <child> - <placeholder/> + <widget class="GtkLabel" id="position_y_label"> + <property name="visible">True</property> + <property name="xpad">2</property> + <property name="label" translatable="yes">y</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkEntry" id="entry_y"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="invisible_char">•</property> + </widget> + <packing> + <property name="position">1</property> + </packing> </child> </widget> <packing> <property name="position">1</property> </packing> </child> - </widget> - <packing> - <property name="top_attach">7</property> - <property name="bottom_attach">8</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox6"> - <property name="visible">True</property> - <child> - <widget class="GtkLabel" id="label5"> - <property name="visible">True</property> - <property name="label" translatable="yes">Rotation speed: </property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">0</property> - </packing> - </child> <child> - <widget class="GtkAlignment" id="alignment3"> + <widget class="GtkHBox" id="position_theta"> <property name="visible">True</property> <child> - <placeholder/> + <widget class="GtkLabel" id="position_theta_label"> + <property name="visible">True</property> + <property name="xpad">2</property> + <property name="label" translatable="yes">θ</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkEntry" id="entry_theta"> + <property name="width_request">1</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="invisible_char">•</property> + </widget> + <packing> + <property name="position">1</property> + </packing> </child> </widget> <packing> - <property name="position">1</property> + <property name="position">2</property> </packing> </child> </widget> - <packing> - <property name="top_attach">8</property> - <property name="bottom_attach">9</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> - </packing> </child> <child> - <widget class="GtkHBox" id="hbox7"> + <widget class="GtkLabel" id="position_label"> <property name="visible">True</property> - <child> - <widget class="GtkLabel" id="label6"> - <property name="visible">True</property> - <property name="label" translatable="yes">Rotation acceleration: </property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkAlignment" id="alignment4"> - <property name="visible">True</property> - <child> - <placeholder/> - </child> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> + <property name="label" translatable="yes"><b>Robot position</b></property> + <property name="use_markup">True</property> + <property name="justify">center</property> </widget> <packing> - <property name="top_attach">9</property> - <property name="bottom_attach">10</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> + <property name="type">label_item</property> </packing> </child> + </widget> + <packing> + <property name="position">3</property> + </packing> + </child> + <child> + <widget class="GtkHSeparator" id="hseparator2"> + <property name="visible">True</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="position">4</property> + </packing> + </child> + <child> + <widget class="GtkExpander" id="beacon_expander"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="expanded">True</property> <child> - <widget class="GtkHBox" id="hbox8"> + <widget class="GtkHBox" id="beacon_values"> <property name="visible">True</property> + <property name="homogeneous">True</property> <child> - <widget class="GtkLabel" id="label2"> + <widget class="GtkEntry" id="beacon_status"> + <property name="width_request">1</property> <property name="visible">True</property> - <property name="label" translatable="yes">Moving: </property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="invisible_char">•</property> </widget> <packing> - <property name="expand">False</property> <property name="position">0</property> </packing> </child> <child> - <widget class="GtkAlignment" id="alignment5"> + <widget class="GtkHBox" id="beacon_distance_box"> <property name="visible">True</property> <child> - <placeholder/> + <widget class="GtkLabel" id="beacon_distance_label"> + <property name="visible">True</property> + <property name="xpad">2</property> + <property name="label" translatable="yes">d</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkEntry" id="beacon_distance"> + <property name="width_request">1</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="invisible_char">•</property> + </widget> + <packing> + <property name="position">1</property> + </packing> </child> </widget> <packing> <property name="position">1</property> </packing> </child> - </widget> - <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox3"> - <property name="visible">True</property> <child> - <widget class="GtkLabel" id="label7"> + <widget class="GtkHBox" id="beacon_angle_box"> <property name="visible">True</property> - <property name="label" translatable="yes">x: </property> + <child> + <widget class="GtkLabel" id="beacon_angle_label"> + <property name="visible">True</property> + <property name="xpad">2</property> + <property name="label" translatable="yes">α</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkEntry" id="beacon_angle"> + <property name="width_request">1</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="invisible_char">•</property> + </widget> + <packing> + <property name="position">1</property> + </packing> + </child> </widget> <packing> - <property name="expand">False</property> - <property name="position">0</property> + <property name="position">2</property> </packing> </child> <child> - <widget class="GtkAlignment" id="alignment6"> + <widget class="GtkHBox" id="beacon_period_box"> <property name="visible">True</property> <child> - <placeholder/> + <widget class="GtkLabel" id="beacon_period_label"> + <property name="visible">True</property> + <property name="xpad">2</property> + <property name="label" translatable="yes">T</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkEntry" id="beacon_period"> + <property name="width_request">1</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="invisible_char">•</property> + </widget> + <packing> + <property name="position">1</property> + </packing> </child> </widget> <packing> - <property name="position">1</property> + <property name="position">3</property> </packing> </child> </widget> - <packing> - <property name="top_attach">3</property> - <property name="bottom_attach">4</property> - </packing> </child> <child> - <widget class="GtkHBox" id="hbox9"> + <widget class="GtkLabel" id="beacon_label"> <property name="visible">True</property> - <child> - <widget class="GtkLabel" id="label8"> - <property name="visible">True</property> - <property name="label" translatable="yes">y: </property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkAlignment" id="alignment7"> - <property name="visible">True</property> - <child> - <placeholder/> - </child> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> + <property name="label" translatable="yes"><b>Beacon</b></property> + <property name="use_markup">True</property> </widget> <packing> - <property name="top_attach">4</property> - <property name="bottom_attach">5</property> + <property name="type">label_item</property> </packing> </child> + </widget> + <packing> + <property name="position">5</property> + </packing> + </child> + <child> + <widget class="GtkHSeparator" id="hseparator3"> + <property name="visible">True</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="position">6</property> + </packing> + </child> + <child> + <widget class="GtkExpander" id="settings_expander"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="expanded">True</property> <child> - <widget class="GtkHBox" id="hbox10"> + <widget class="GtkHBox" id="settings_subbox"> <property name="visible">True</property> + <property name="homogeneous">True</property> <child> - <widget class="GtkLabel" id="label9"> + <widget class="GtkVBox" id="line_settings_box"> <property name="visible">True</property> - <property name="label" translatable="yes">theta: </property> + <property name="orientation">vertical</property> + <child> + <widget class="GtkLabel" id="line_settings_label"> + <property name="visible">True</property> + <property name="label" translatable="yes">Lines</property> + </widget> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkHBox" id="line_settings_label_box"> + <property name="visible">True</property> + <property name="homogeneous">True</property> + <child> + <widget class="GtkLabel" id="lines_speed_label"> + <property name="visible">True</property> + <property name="label" translatable="yes">speed</property> + </widget> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="lines_acceleration_label"> + <property name="visible">True</property> + <property name="yalign">0.47999998927116394</property> + <property name="label" translatable="yes">accel</property> + </widget> + <packing> + <property name="position">1</property> + </packing> + </child> + </widget> + <packing> + <property name="position">1</property> + </packing> + </child> + <child> + <widget class="GtkHBox" id="line_settings_value_box"> + <property name="visible">True</property> + <property name="homogeneous">True</property> + <child> + <widget class="GtkSpinButton" id="moving_speed"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">•</property> + <property name="adjustment">0.99999999999999989 0 2 0.10000000000000001 0 0</property> + <property name="digits">2</property> + <property name="numeric">True</property> + </widget> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkSpinButton" id="moving_acceleration"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">•</property> + <property name="adjustment">1 0 10 0.10000000000000001 0 0</property> + <property name="digits">2</property> + <property name="numeric">True</property> + </widget> + <packing> + <property name="position">1</property> + </packing> + </child> + </widget> + <packing> + <property name="position">2</property> + </packing> + </child> </widget> <packing> - <property name="expand">False</property> <property name="position">0</property> </packing> </child> <child> - <widget class="GtkAlignment" id="alignment8"> + <widget class="GtkVBox" id="rotation_settings_box"> <property name="visible">True</property> + <property name="orientation">vertical</property> + <child> + <widget class="GtkLabel" id="rotation_settings_label"> + <property name="visible">True</property> + <property name="label" translatable="yes">Rotation</property> + <property name="selectable">True</property> + </widget> + <packing> + <property name="position">0</property> + </packing> + </child> <child> - <placeholder/> + <widget class="GtkHBox" id="rotation_settings_label_box"> + <property name="visible">True</property> + <property name="homogeneous">True</property> + <child> + <widget class="GtkLabel" id="rotation_speed_label"> + <property name="visible">True</property> + <property name="label" translatable="yes">speed</property> + </widget> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="rotation_acceleration_label"> + <property name="visible">True</property> + <property name="label" translatable="yes">accel</property> + </widget> + <packing> + <property name="position">1</property> + </packing> + </child> + </widget> + <packing> + <property name="position">1</property> + </packing> + </child> + <child> + <widget class="GtkHBox" id="rotation_settings_value_box"> + <property name="visible">True</property> + <property name="homogeneous">True</property> + <child> + <widget class="GtkSpinButton" id="rotation_speed"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">•</property> + <property name="adjustment">2.0000000000000004 0 4 0.10000000000000001 0 0</property> + <property name="digits">2</property> + <property name="numeric">True</property> + </widget> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <widget class="GtkSpinButton" id="rotation_acceleration"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">•</property> + <property name="adjustment">2.0000000000000009 0 10 0.10000000000000001 0 0</property> + <property name="digits">2</property> + <property name="numeric">True</property> + </widget> + <packing> + <property name="position">1</property> + </packing> + </child> + </widget> + <packing> + <property name="position">2</property> + </packing> </child> </widget> <packing> @@ -645,55 +742,75 @@ </packing> </child> </widget> - <packing> - <property name="top_attach">5</property> - <property name="bottom_attach">6</property> - </packing> </child> <child> - <widget class="GtkEntry" id="entry_x"> + <widget class="GtkLabel" id="settings_label"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="invisible_char">•</property> + <property name="label" translatable="yes"><b>Settings</b></property> + <property name="use_markup">True</property> </widget> <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">3</property> - <property name="bottom_attach">4</property> + <property name="type">label_item</property> </packing> </child> + </widget> + <packing> + <property name="position">7</property> + </packing> + </child> + <child> + <widget class="GtkHSeparator" id="hseparator4"> + <property name="visible">True</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="position">8</property> + </packing> + </child> + <child> + <widget class="GtkExpander" id="simplification_expander"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="expanded">True</property> <child> - <widget class="GtkEntry" id="entry_y"> + <widget class="GtkHScale" id="tolerance"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="invisible_char">•</property> + <property name="adjustment">0.40000000000000002 0 1 0.10000000000000001 0.20000000000000001 0.5</property> + <property name="draw_value">False</property> </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">4</property> - <property name="bottom_attach">5</property> - </packing> </child> <child> - <widget class="GtkEntry" id="entry_theta"> + <widget class="GtkLabel" id="simplification_label"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="invisible_char">•</property> + <property name="label" translatable="yes"><b>Simplification tolerance</b></property> + <property name="use_markup">True</property> </widget> <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">5</property> - <property name="bottom_attach">6</property> + <property name="type">label_item</property> </packing> </child> + </widget> + <packing> + <property name="position">9</property> + </packing> + </child> + <child> + <widget class="GtkHSeparator" id="hseparator5"> + <property name="visible">True</property> + </widget> + <packing> + <property name="expand">False</property> + <property name="position">10</property> + </packing> + </child> + <child> + <widget class="GtkExpander" id="moving_expander"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="expanded">True</property> <child> - <widget class="GtkHBox" id="hbox11"> + <widget class="GtkHBox" id="entry_moving_box"> <property name="visible">True</property> <child> <widget class="GtkEntry" id="entry_moving1"> @@ -748,193 +865,98 @@ </packing> </child> </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - </packing> - </child> - <child> - <widget class="GtkHScale" id="tolerance"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="adjustment">0.10000000000000001 0 1 0.10000000000000001 0.20000000000000001 0.5</property> - <property name="draw_value">False</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox15"> - <property name="visible">True</property> - <child> - <widget class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="label" translatable="yes">Tolerance: </property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkAlignment" id="alignment9"> - <property name="visible">True</property> - <child> - <placeholder/> - </child> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> - </widget> - </child> - <child> - <widget class="GtkHBox" id="hbox16"> - <property name="visible">True</property> - <child> - <widget class="GtkLabel" id="label10"> - <property name="visible">True</property> - <property name="label" translatable="yes">Beacon status:</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkAlignment" id="alignment10"> - <property name="visible">True</property> - <child> - <placeholder/> - </child> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - </packing> </child> <child> - <widget class="GtkHBox" id="hbox17"> + <widget class="GtkLabel" id="moving_label"> <property name="visible">True</property> - <child> - <widget class="GtkEntry" id="beacon_status"> - <property name="width_request">1</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="invisible_char">•</property> - </widget> - <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkEntry" id="beacon_distance"> - <property name="width_request">1</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="invisible_char">•</property> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkEntry" id="beacon_angle"> - <property name="width_request">1</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="invisible_char">•</property> - </widget> - <packing> - <property name="position">2</property> - </packing> - </child> - <child> - <widget class="GtkEntry" id="beacon_period"> - <property name="width_request">1</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="invisible_char">•</property> - </widget> - <packing> - <property name="position">3</property> - </packing> - </child> + <property name="label" translatable="yes"><b>Moving</b></property> + <property name="use_markup">True</property> </widget> <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> + <property name="type">label_item</property> </packing> </child> </widget> <packing> - <property name="expand">False</property> - <property name="position">5</property> + <property name="position">11</property> </packing> </child> <child> - <widget class="GtkHBox" id="hbox14"> + <widget class="GtkAlignment" id="alignment1"> + <property name="height_request">0</property> <property name="visible">True</property> + <child> + <placeholder/> + </child> </widget> <packing> - <property name="expand">False</property> - <property name="position">6</property> + <property name="position">12</property> </packing> </child> <child> - <widget class="GtkHSeparator" id="hseparator1"> + <widget class="GtkHSeparator" id="hseparator6"> <property name="visible">True</property> </widget> <packing> <property name="expand">False</property> - <property name="position">7</property> + <property name="position">13</property> </packing> </child> <child> - <widget class="GtkScrolledWindow" id="scrolled_logs"> + <widget class="GtkExpander" id="logs_expander"> <property name="visible">True</property> <property name="can_focus">True</property> - <prop... [truncated message content] |