mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-31 03:57:45 +08:00
*** empty log message ***
This commit is contained in:
+2
-3
@@ -328,13 +328,12 @@
|
||||
</message>
|
||||
|
||||
<message name="CAM_STATUS" ID="14">
|
||||
<field name="east" type="float" unit="m"/>
|
||||
<field name="north" type="float" unit="m"/>
|
||||
<field name="cam_east" type="float" unit="m"/>
|
||||
<field name="cam_north" type="float" unit="m"/>
|
||||
<field name="targe_east" type="float" unit="m"/>
|
||||
<field name="target_north" type="float" unit="m"/>
|
||||
</message>
|
||||
|
||||
|
||||
<message name="ENGINE_STATUS" ID="15">
|
||||
<field name="ac_id" type="string"/>
|
||||
<field name="throttle" type="float" unit="%"/>
|
||||
|
||||
@@ -34,27 +34,6 @@ sub get_stage_id {
|
||||
return "stage_".$no_block."_".$no_stage;
|
||||
}
|
||||
|
||||
sub set_block_and_stage {
|
||||
my ($self, $new_block, $new_stage) = @_;
|
||||
my $text = $self->Subwidget('text');
|
||||
if ($self->{cur_block} != $new_block) {
|
||||
$text->tagConfigure(get_block_id($self->{cur_block}), -background => undef);
|
||||
$text->tagConfigure(get_block_id($new_block), -background => 'green3');
|
||||
$text->tagConfigure(get_stage_id($self->{cur_block}, $self->{cur_stage}), -background => undef);
|
||||
$text->tagConfigure(get_stage_id($new_block, $new_stage), -background => 'green1');
|
||||
$self->{cur_block} = $new_block;
|
||||
$self->{cur_stage} = $new_stage;
|
||||
}
|
||||
else {
|
||||
if ($self->{cur_stage} != $new_stage) {
|
||||
$text->tagConfigure(get_stage_id($self->{cur_block}, $self->{cur_stage}), -background => undef);
|
||||
$text->tagConfigure(get_stage_id($self->{cur_block}, $new_stage), -background => 'green1');
|
||||
$self->{cur_stage} = $new_stage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub add_aircraft {
|
||||
my ($self, $aircraft ) = @_;
|
||||
my $notebook = $self->Subwidget('notebook');
|
||||
@@ -66,16 +45,33 @@ sub add_aircraft {
|
||||
$text->insert('end', "coucou");
|
||||
|
||||
$self->{'text'.$aircraft->get('-ac_id')} = $text;
|
||||
$aircraft->attach($self, 'flight_plan', [\&on_flight_plan]);
|
||||
$aircraft->attach($self, 'flight_plan', [\&on_ac_changed]);
|
||||
$aircraft->attach($self, 'cur_block', [\&on_ac_changed]);
|
||||
$aircraft->attach($self, 'cur_stage', [\&on_ac_changed]);
|
||||
}
|
||||
|
||||
sub on_flight_plan {
|
||||
sub on_ac_changed {
|
||||
my ($self, $aircraft, $event, $new_value) = @_;
|
||||
print "in MissionD : on_flight_plan @_\n";
|
||||
|
||||
if (defined $new_value) {
|
||||
my $compiled_xml = $new_value->get('-compiled_xml') ;
|
||||
$self->load_flight_plan(scalar $aircraft->get('-ac_id'), $compiled_xml);
|
||||
my $ac_id = $aircraft->get('-ac_id');
|
||||
if ($event eq 'flight_plan') {
|
||||
if (defined $new_value) {
|
||||
my $compiled_xml = $new_value->get('-compiled_xml') ;
|
||||
$self->load_flight_plan($ac_id , $compiled_xml);
|
||||
}
|
||||
}
|
||||
elsif ($event eq 'cur_block') {
|
||||
my $text = $self->{'text'.$ac_id};
|
||||
$text->tagConfigure(get_block_id($self->{cur_block}), -background => undef);
|
||||
$text->tagConfigure(get_block_id($new_value), -background => 'green3');
|
||||
$text->tagConfigure(get_stage_id($self->{cur_block}, $self->{cur_stage}), -background => undef);
|
||||
$self->{cur_block} = $new_value;
|
||||
}
|
||||
elsif ($event eq 'cur_stage') {
|
||||
my $text = $self->{'text'.$ac_id};
|
||||
$text->tagConfigure(get_stage_id($self->{cur_block}, $self->{cur_stage}), -background => undef);
|
||||
$text->tagConfigure(get_stage_id($self->{cur_block}, $new_value), -background => 'green1');
|
||||
$self->{cur_stage} = $new_value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -134,6 +134,9 @@ sub draw {
|
||||
my $ident = $self->get(-aircraft)->get('-ac_id');
|
||||
my ($x, $y) = @{$self->get('-origin')};
|
||||
# my $fp = $self->get(-flight_plan);
|
||||
|
||||
my $width = 300;
|
||||
|
||||
|
||||
## main group of the strip
|
||||
$self->{'topgroup'} = $zinc->add('group', scalar $self->get('-parent_grp'), -sensitive => 1,
|
||||
@@ -141,9 +144,9 @@ sub draw {
|
||||
$self->{'contentgroup'} = $zinc->add('group', $self->{'topgroup'}, -composealpha=>0, -sensitive=>1);
|
||||
|
||||
## the strip
|
||||
$self->{'frame'} = $zinc->add('rectangle', $self->{'topgroup'}, [5,5,795, 95], -fillcolor => $self->{options}->{background_color}, -filled=>1, -linecolor => $self->{options}->{border_color}, -sensitive => 1, -tags => ["strip_".$ident]);
|
||||
$self->{'frame'} = $zinc->add('rectangle', $self->{'topgroup'}, [5,5,$width, 95], -fillcolor => $self->{options}->{background_color}, -filled=>1, -linecolor => $self->{options}->{border_color}, -sensitive => 1, -tags => ["strip_".$ident]);
|
||||
# cliping contour of the strip
|
||||
$self->{'frame_clip'} = $zinc->add('rectangle', $self->{'contentgroup'}, [5,5,795, 95], -visible=>0);
|
||||
$self->{'frame_clip'} = $zinc->add('rectangle', $self->{'contentgroup'}, [5,5,$width, 95], -visible=>0);
|
||||
$zinc->itemconfigure($self->{'contentgroup'}, -clip=> $self->{'frame_clip'});
|
||||
|
||||
## bindings to highlight the strip when the mouse is over
|
||||
@@ -305,17 +308,17 @@ sub border_block {
|
||||
my $clip = $zinc->add('rectangle', $groups[$i], [$x[$i], 10, $x[$i]+46, 90], -visible => 0);
|
||||
$zinc->itemconfigure($groups[$i], -clip => $clip);
|
||||
$zinc->add('text', $groups[$i], -text => $block_name,
|
||||
-position => [ $x[$i]+3, 20], -font => $self->{options}->{normal_font},
|
||||
-tags => [ $self->{prefix}."block_".$block_name, "block_label", $self->{prefix}."block_num_".$i ]
|
||||
);
|
||||
$zinc->add('text', $groups[$i], -text => $blocks[$i]->{rc1},
|
||||
-position => [ $x[$i]+3, 50], -font => $self->{options}->{small_font},
|
||||
-color => $self->{options}->{value_color}
|
||||
);
|
||||
$zinc->add('text', $groups[$i], -text => $blocks[$i]->{rc2},
|
||||
-position => [ $x[$i]+3, 60], -font => $self->{options}->{small_font},
|
||||
-color => $self->{options}->{value_color}
|
||||
);
|
||||
-position => [ $x[$i]+3, 20], -font => $self->{options}->{normal_font},
|
||||
-tags => [ $self->{prefix}."block_".$block_name, "block_label", $self->{prefix}."block_num_".$i ]
|
||||
);
|
||||
$zinc->add('text', $groups[$i], -text => $blocks[$i]->{rc1},
|
||||
-position => [ $x[$i]+3, 50], -font => $self->{options}->{small_font},
|
||||
-color => $self->{options}->{value_color}
|
||||
);
|
||||
$zinc->add('text', $groups[$i], -text => $blocks[$i]->{rc2},
|
||||
-position => [ $x[$i]+3, 60], -font => $self->{options}->{small_font},
|
||||
-color => $self->{options}->{value_color}
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ sub build_gui {
|
||||
# $self->{mw}->geometry("1280x1024");
|
||||
my $top_frame = $self->{mw}->Frame()->pack(-side => 'top', -fill => 'both');
|
||||
my $bot_frame = $self->{mw}->Frame()->pack(-side => 'bottom', -fill => 'both', -expand => 1);
|
||||
my ($stp_p, $stp_w, $stp_h) = ([0, 0], 800, 300);
|
||||
my ($stp_p, $stp_w, $stp_h) = ([0, 0], 315, 300);
|
||||
my ($pfd_p, $pfd_w, $pfd_h) = ([$stp_w, 0] , 300, $stp_h);
|
||||
my ($nd_p, $nd_w, $nd_h) = ([$pfd_p->[0]+ $pfd_w, 0], 300, 300);
|
||||
my $zinc = $top_frame->Zinc(-width => $stp_w + $pfd_w + $nd_w ,
|
||||
|
||||
@@ -48,6 +48,14 @@ sub populate {
|
||||
alt => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
climb => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
|
||||
ap_mode => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
h_mode => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
v_mode => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
target_climb => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
target_alt => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
target_heading=> [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
gps_mode => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
|
||||
cur_block => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
cur_stage => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
flight_time => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
@@ -56,14 +64,6 @@ sub populate {
|
||||
target_east => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
target_north => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
|
||||
mode => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
h_mode => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
v_mode => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
target_climb => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
target_alt => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
target_heading=> [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
gps_mode => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
|
||||
throttle => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
rpm => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
temp => [S_NOINIT, S_PASSIVE, S_RDWR, S_OVRWRT, S_NOPRPG, 0.],
|
||||
|
||||
Reference in New Issue
Block a user