line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Devel::ebug::Wx::Service::CodeDisplay; |
2
|
|
|
|
|
|
|
|
3
|
1
|
|
|
1
|
|
2274
|
use strict; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
37
|
|
4
|
1
|
|
|
1
|
|
5
|
use base qw(Devel::ebug::Wx::Service::Base); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
90
|
|
5
|
1
|
|
|
1
|
|
6
|
use Devel::ebug::Wx::Plugin qw(:plugin); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
115
|
|
6
|
|
|
|
|
|
|
|
7
|
1
|
|
|
1
|
|
4
|
use Devel::ebug::Wx::ServiceManager::Holder; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
66
|
|
8
|
1
|
|
|
1
|
|
466
|
use Devel::ebug::Wx::View::Code::STC; |
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
__PACKAGE__->mk_accessors( qw(code_display) ); |
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
sub service_name : Service { 'code_display' } |
13
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
sub initialize { |
15
|
|
|
|
|
|
|
my( $self, $manager ) = @_; |
16
|
|
|
|
|
|
|
my $wxebug = $manager->get_service( 'ebug_wx' ); |
17
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
# FIXME: event related to stepping/breakpointing should be |
19
|
|
|
|
|
|
|
# handled here, to allow the view to be used in the eval window |
20
|
|
|
|
|
|
|
$self->{code_display} = Devel::ebug::Wx::View::Code::STC->new |
21
|
|
|
|
|
|
|
( $wxebug, $wxebug ); |
22
|
|
|
|
|
|
|
$self->view_manager_service->create_pane |
23
|
|
|
|
|
|
|
( $self->code_display, { name => 'source_code', |
24
|
|
|
|
|
|
|
caption => 'Code', |
25
|
|
|
|
|
|
|
} ); |
26
|
|
|
|
|
|
|
} |
27
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
# FIXME: implement here! |
29
|
|
|
|
|
|
|
sub highlight_line { shift->code_display->highlight_line( @_ ) } |
30
|
|
|
|
|
|
|
sub show_code_for_file { shift->code_display->show_code_for_file( @_ ) } |
31
|
|
|
|
|
|
|
|
32
|
|
|
|
|
|
|
1; |