App-Devel-MAT-Explorer-GTK
view release on metacpan or search on metacpan
Revision history for App-Devel-MAT-Explorer-GTK
0.06 2018-07-03 15:00:54
[CHANGES]
* Updates for Devel::MAT 0.35:
+ Use of 'Commandable::Invocation'
+ Show 'pmat>' or 'pmat [more]>' prompt
[BUGFIXES]
* Fix for ->symname method
0.05 2017-10-10 01:00:55
[CHANGES]
* Implement the new Devel::MAT::Cmd integration methods for
Devel::MAT version 0.28
* Quiet the warning about large numbers being nonportable for hex()
lib/App/Devel/MAT/Explorer/GTK/Shell.pm view on Meta::CPAN
use Glib qw( TRUE FALSE );
use String::Tagged 0.15; # sprintf
use Commandable::Invocation;
Devel::MAT->VERSION( '0.35' ); # Commandable::Invocation
# The perl bindings don't make this very easy
use constant PANGO_WEIGHT_BOLD => 700;
my ( $pmat, $buffer, $textview, $endmark, $scrolledwindow, $prompt );
my ( @styletags, $errortag, $svtag, $valuetag, $symboltag );
sub build_widget
{
my $class = shift;
( $pmat ) = @_;
my $vbox = Gtk2::VBox->new;
$vbox->pack_start( $scrolledwindow = Gtk2::ScrolledWindow->new, TRUE, TRUE, 0 );
lib/App/Devel/MAT/Explorer/GTK/Shell.pm view on Meta::CPAN
);
$symboltag = $buffer->create_tag( undef,
foreground => "#00B000",
);
$endmark = $buffer->create_mark( 'end', $buffer->get_end_iter, FALSE );
$vbox->pack_start( my $hbox = Gtk2::HBox->new, FALSE, FALSE, 0 );
$prompt = Gtk2::Label->new( "pmat>" );
$hbox->pack_start( $prompt, FALSE, FALSE, 0 );
my $entry = Gtk2::Entry->new;
$hbox->pack_start( $entry, TRUE, TRUE, 0 );
$entry->modify_font( Gtk2::Pango::FontDescription->from_string( 'monospace' ) );
$entry->signal_connect( activate => sub {
my $cmd = $entry->get_text;
$entry->set_text( "" );
lib/App/Devel/MAT/Explorer/GTK/Shell.pm view on Meta::CPAN
$pmat->load_tool_for_command( $cmd,
progress => \&::progress,
)->run_cmd( $inv );
1;
} or do {
my $err = $@;
chomp $err;
append_output( "ERR: $err\n", $errortag );
};
$prompt->set_text( sprintf "pmat%s>", Devel::MAT::Tool::more->can_more ? " [more]" : "" );
}
my $linefeed_pending;
sub append_output
{
my ( $str, @tags ) = @_;
my $adj = $scrolledwindow->get_vadjustment;
my $at_end = $adj->get_value == ( $adj->upper - $adj->page_size );
( run in 0.536 second using v1.01-cache-2.11-cpan-6aa56a78535 )