NAME
Devel::ebug::Wx - GUI interface for your (d)ebugging needs
SYNOPSIS
# it's easier to use the 'ebug_wx' script
my $app = Wx::SimpleApp->new;
my $wx = Devel::ebug::Wx->new( { argv => \@ARGV } );
$wx->Show;
$app->MainLoop;
DESCRIPTION
Devel::ebug::Wx is a GUI front end to Devel::ebug.
The core is a publisher/subscriber wrapper around Devel::ebug (Devel::ebug::Wx::Publisher) plus a plugin system for defining menu commands and keyboard bindings (Devel::ebug::Wx::Command::*) and views (Devel::ebug::Wx::View::*).
The wxWidgets Advanced User Interface (AUI) is used, so it is possible to dock/undock and arrange views.
TODO
make a saner interface for plugins
what do commands do; better registration interface allow generic plugins to offer views/commands/services at the same time
define a service interface
for example for code-viewing, gui management, view management allow enabling/disabling services, commands, views auto-disable commands/views/services with clashing identifiers
add more views (package browser)
configuration interface
ConfigurationManager service; lists all configuration views attribute to define configuration views (different from normal views) automatically tie configurator to configurable object interface to notify of configuration changes allow a configuration view to configure multiple objects (by explicit registration)
notebooks
better editing interface better debugging; edge cases still present, esp. at load time rethink container view interface and the whole concept of multiviews
allow saving debugger state between sessions
views have gui state that needs saving, global state of the debugger gui gui state might be in a different place from configuration state separate "debugged program" state (bp, expressions, view state) from ebug_wx state (configuration and view layout); push temporary overlay on configuration manager
better handling for program termination
visual feedback in the main window disable commands/etc when they do not make sense
the command manager must allow dynamic menus
command returns a (subscribable) handle that can be used to poll/listen to changes explict use of update_ui is an hack!
break on subroutine, undo, watchpoints
show pad, show package variables, show packages
see the FIXMEs
SEE ALSO
Devel::ebug, ebug_wx, Wx, ebug
AUTHOR
Mattia Barbon, <mbarbon@cpan.org>
COPYRIGHT
Copyright (C) 2007, Mattia Barbon
This program is free software; you can redistribute it or modify it under the same terms as Perl itself.