NAME

CGI::Panel::MainPanel - Main panel superclass for CGI::Panel-based applications

SYNOPSIS

See synopsis of CGI::Panel for example of use

DESCRIPTION

CGI::Panel::MainPanel inherits from CGI::Panel and provides extra functionality useful for the main panel of an application. It uses Apache::Session to handle session information. An application built using the CGI::Panel framework should typically have one main panel, which inherits from CGI::Panel::MainPanel, and a hierarchy of other panels which inherit from CGI::Panel.

USAGE

BUGS

SUPPORT

AUTHOR

Robert J. Symes
CPAN ID: RSYMES
rob@robsymes.com

COPYRIGHT

Copyright (c) 2002 Robert J. Symes. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.

SEE ALSO

perl(1).

PUBLIC METHODS

Each public function/method is described here. These are how you should interact with this module.

obtain

Obtains the master panel object

This will either restore the current master panel session or create a new one

Use: my $shop = obtain Shop;

cycle

Performs a complete cycle of the application

Takes all the actions that are required for a complete cycle of the application, including processing events and form data and displaying the updated screen. Also manages persistence for the panel hierarchy.

Use: $shop->cycle();

get_persistent_id

Gets a special 'id' value that is specific to this particular session

save

Saves an object to persistent storage indexed by session id

get_panel

Look up the panel in our list and return it

register_panel

Accept a panel object and 'register' it - ie store a reference to it in a special list. Return the id to the caller.

screen_main

Display main screen for the master panel

handle_button_event

Handle a button event by passing the event information to the appropriate event routine of the correct panel. Currently this is always the panel that generates the event.

interpret_messages

Read the request information using the CGI module and present this data in a more structured way. In particular this detects events and decodes the information associated with them.