Padre::Wx::Role::Dialog(3) Allow dialogs or frames to host simple common dialogs

SYNOPSIS


package MyDialog;

use Padre::Wx ();
use Padre::Wx::Role::Dialog ();

@ISA = qw{
Padre::Wx::Role::Dialog
Wx::Dialog
};

# ...

sub foo {
my $self = shift;

# Say something
$self->message("Hello World!");

return 1;
}

DESCRIPTION

In a large Wx application with multiple dialogs or windows, many different parts of the application may want to post messages or prompt the user.

The "Padre::Wx::Role::Dialog" role allows dialog or window classes to ``host'' these messages.

Providing these as a role means that each part of your application can post messages and have the positioning of the dialogs be made appropriate for each dialog.

METHODS

message

  $parent->message( $text, $title );

Open a dialog box with $text as the main text and $title (title defaults to "Message"). There's only one OK button. No return value.

"error"

  $parent->error( $text );

Open an error dialog box with $text as main text. There's only one OK button. No return value.

"password"

  my $password = $parent->password( $message, $title );

Generate a standard Wx password dialog, using the internal Wx::PasswordEntryDialog class.

"yes_no"

  my $boolean = $parent->yes_no(
      $message,
      $title,
  );

Generates a standard Wx Yes/No dialog.

"single_choice"

  my $choice = $parent->single_choice(
      $message,
      $title,
      [
          'Option One',
          'Option Two',
          'Option Three',
      ],
  );

Generates a standard Wx single-choice dialog, using the standard internal Wx::SingleChoiceDialog class.

Returns the selected string, or "undef" if the user selects "Cancel".

"multi_choice"

  my @choices = $parent->multi_choice(
      $message,
      $title,
      [
          'Option One',
          'Option Two',
          'Option Three',
      ],
  );

Generates a standard Wx multi-choice dialog, using the internal Wx::MultiChoiceDialog class.

COPYRIGHT & LICENSE

Copyright 2008-2013 The Padre development team as listed in Padre.pm.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.

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