---
name: "Padre::Wx::Role::Dialog"
section: "3pm"
platform: "linux"
package: "padre"
version: "1.00+dfsg-3"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/Padre::Wx::Role::Dialog"
---

# Padre::Wx::Role::Dialog(3pm)

Allow dialogs or frames to host simple common dialogs

## NAME

Padre::Wx::Role::Dialog - 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.
