org.gnome.gtk

## Class AboutDialog

- Object
- - org.freedesktop.bindings.Pointer
  - - org.freedesktop.bindings.Proxy
    - - org.gnome.glib.Object
      - - org.gnome.gtk.Widget
        - - org.gnome.gtk.Container
          - - org.gnome.gtk.Bin
            - - org.gnome.gtk.Window
              - - org.gnome.gtk.Dialog
                - - org.gnome.gtk.AboutDialog

-     public class AboutDialog
      extends Dialog

  A Dialog which presents information about a program. The AboutDialog presents simple meta information including program `name`, a short `description`, `copyright` info, and then lists of `authors`, `documenters`, `artists` responsible for the program. Those who contributed by `translating` the application can also be listed.

  As a convention, every GNOME application has a MenuItem labelled "About" in the main "Help" menu.

  Since:
    4.0.6
  Author:
    Andrew Cowie, Guillaume Mazoyer

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `AboutDialog.ActivateLink` Callback invoked when the website is clicked.

    - ### Nested classes/interfaces inherited from class org.gnome.gtk.Dialog

      `Dialog.Response`

    - ### Nested classes/interfaces inherited from class org.gnome.gtk.Window

      `Window.ConfigureEvent, Window.DeleteEvent`

    - ### Nested classes/interfaces inherited from class org.gnome.gtk.Widget

      `Widget.ButtonPressEvent, Widget.ButtonReleaseEvent, Widget.Destroy, Widget.Draw, Widget.EnterNotifyEvent, Widget.FocusInEvent, Widget.FocusOutEvent, Widget.Hide, Widget.KeyPressEvent, Widget.KeyReleaseEvent, Widget.LeaveNotifyEvent, Widget.MapEvent, Widget.MotionNotifyEvent, Widget.PopupMenu, Widget.QueryTooltip, Widget.ScrollEvent, Widget.SizeAllocate, Widget.UnmapEvent, Widget.VisibilityNotifyEvent`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AboutDialog()` Instantiate a new AboutDialog.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `connect(AboutDialog.ActivateLink handler)` Hookup the `AboutDialog.ActivateLink` callback that will be used to handle website button click actions.
    `License` | `getLicenseType()` Return the license that was set using `setLicenseType()`.
    `void` | `setArtists(String[] people)` Add a list of artists to the AboutDialog.
    `void` | `setAuthors(String[] people)` Add a list of authors to the AboutDialog.
    `void` | `setComments(String text)` Set a simple description of the program.
    `void` | `setCopyright(String text)` Specify the copyright holder of the application.
    `void` | `setDocumenters(String[] people)` Add a list of documenters to the AboutDialog.
    `void` | `setLicense(String text)` Add a "licence" Button to the AboutDialog.
    `void` | `setLicenseType(License license)` Set the license of the application from the currently known `licenses`.
    `void` | `setLogo(Pixbuf icon)` Set the image to be displayed in the AboutDialog.
    `void` | `setProgramName(String name)` Specify the name of the application.
    `void` | `setTranslatorCredits(String credits)` Add a tab to the AboutDialog's Credit popup listing the people who have contributed to translating the application into the active language.
    `void` | `setVersion(String version)` Set the version number of this release.
    `void` | `setWebsite(String website)` Set a link to your website.
    `void` | `setWebsiteLabel(String label)` Set a label to modify the website link previously set by something more friendly.
    `void` | `setWrapLicense(boolean setting)` Wrap the licence text.

    - ### Methods inherited from class org.gnome.gtk.Dialog

      `add, addButton, addButton, addButton, connect, emitResponse, run, setDefaultResponse`

    - ### Methods inherited from class org.gnome.gtk.Window

      `addAcceleratorGroup, connect, connect, getHeight, getMaximized, getPositionX, getPositionY, getScreen, getWidth, move, present, resize, setDecorated, setDefaultSize, setFullscreen, setGravity, setHasResizeGrip, setIcon, setIcon, setKeepAbove, setKeepBelow, setMaximize, setModal, setPosition, setResizable, setSkipPagerHint, setSkipTaskbarHint, setStick, setTitle, setTransientFor, setTypeHint`

    - ### Methods inherited from class org.gnome.gtk.Bin

      `getChild`

    - ### Methods inherited from class org.gnome.gtk.Container

      `getChildren, remove, setBorderWidth`

    - ### Methods inherited from class org.gnome.gtk.Widget

      `activate, addEvents, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, connect, destroy, getAllocatedHeight, getAllocatedWidth, getAllocation, getCanDefault, getCanFocus, getHasFocus, getName, getParent, getPreferredHeightForWidthMinimum, getPreferredHeightForWidthNatural, getPreferredHeightMinimum, getPreferredHeightNatural, getPreferredWidthForHeightMinimum, getPreferredWidthForHeightNatural, getPreferredWidthMinimum, getPreferredWidthNatural, getRequestMode, getRequisition, getSensitive, getStyleContext, getToplevel, getWindow, grabAdd, grabDefault, grabFocus, grabRemove, hide, isSensitive, overrideBackground, overrideColor, overrideFont, queueDraw, queueDrawArea, realize, setAlignHorizontal, setAlignVertical, setCanDefault, setCanFocus, setEvents, setExpandHorizontal, setExpandVertical, setName, setSensitive, setSizeRequest, setTooltipMarkup, setTooltipText, show, showAll`

    - ### Methods inherited from class org.freedesktop.bindings.Pointer

      `toString`

    - ### Methods inherited from class Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### AboutDialog

          public AboutDialog()

      Instantiate a new AboutDialog. You'll need to call the various setters in this class to populate it.
      Since:
        4.0.6

  - ### Method Detail

    - #### connect

          public void connect(AboutDialog.ActivateLink handler)

      Hookup the `AboutDialog.ActivateLink` callback that will be used to handle website button click actions.
      Since:
        4.1.1

    - #### getLicenseType

          public License getLicenseType()

      Return the license that was set using `setLicenseType()`.
      Since:
        4.1.2

    - #### setArtists

          public void setArtists(String[] people)

      Add a list of artists to the AboutDialog. You pass in an array of Strings, with one artist per String, for example:

           about.setArtists(new String[] {
               "Joao Victor <jvital@gmail.com>"
           });

      Since:
        4.0.12

    - #### setAuthors

          public void setAuthors(String[] people)

      Add a list of authors to the AboutDialog. You pass in an array of Strings, with one author listed per String, for example:

           about.setAuthors(new String[] {
               "Andrew Cowie <andrew@operationaldynamics.com>",
               "Srichand Pendyala <srichand.pendyala@gmail.com>",
               "Vreixo Formoso Lopes <metalpain2002@yahoo.es>",
               "Sebastian Mancke <s.mancke@tarent.de>"
           });

      It is indeed tradition for authors of Open Source Software to include their email addresses when identifying their work.
      Since:
        4.0.6

    - #### setComments

          public void setComments(String text)

      Set a simple description of the program. This will essentially be shown as a subtitle to your application's name.
      Since:
        4.0.6

    - #### setCopyright

          public void setCopyright(String text)

      Specify the copyright holder of the application. This should be short and to the point, for example:

           setCopyright("Copyright (c) 2008 ACME, Inc");

      Since:
        4.0.6

    - #### setDocumenters

          public void setDocumenters(String[] people)

      Add a list of documenters to the AboutDialog. You pass in an array of Strings, with one person per String, for example:

           about.setDocumenters(new String[] {
               "Guillaume Mazoyer <respawneral@gmail.com>",
               "Stefan Prelle <stefan@prelle.org>",
               "Serkan Kaba <serkan@gentoo.org>"
           });

      Since:
        4.0.12

    - #### setLicense

          public void setLicense(String text)

      Add a "licence" Button to the AboutDialog. The String set by this method will be displayed if the user clicks on this Button.

      If `null` the licence Button is hidden.

      Since:
        4.0.12

    - #### setLicenseType

          public void setLicenseType(License license)

      Set the license of the application from the currently known `licenses`.

      This method overrides the license set using `setLicense()`.

      Since:
        4.1.2

    - #### setLogo

          public void setLogo(Pixbuf icon)

      Set the image to be displayed in the AboutDialog. Most apps just want to use the default icon which was set with `Gtk.setDefaultIcon()`.
      Since:
        4.0.6

    - #### setProgramName

          public void setProgramName(String name)

      Specify the name of the application. Some people choose to use a human readable name like "`The Epiphany Web Browser`", whereas others will use the project name, for example "`epiphany`". This will be shown prominently in a large font as the title of the Dialog.
      Since:
        4.0.6

    - #### setTranslatorCredits

          public void setTranslatorCredits(String credits)

      Add a tab to the AboutDialog's Credit popup listing the people who have contributed to translating the application into the active language.

      This one is a bit different than authors, artists, and documenters in that it is expected that you'll pass the result of looking up the translation of the string `"translator-credits"` as follows:

           about.setTranslatorCredits(_("translator-credits"));

      This way, the user of your program will be shown the list of people who worked on the translation for that particular locale. The translation for the `"translator-credits"` string in the PO file should still be names and email addresses as shown in `setAuthors()`.

      See `Internationalization` for more details about the use of the `_()` function.

      You could of course use any string as the index for lookup, but "translator-credits" is the accepted convention, and people doing translation work will recognize it.

      Since:
        4.0.10

    - #### setVersion

          public void setVersion(String version)

      Set the version number of this release. It will be shown beside the program name.
      Since:
        4.0.6

    - #### setWebsite

          public void setWebsite(String website)

      Set a link to your website. It is recommended to do in the standard `http://www.example.com/` format.

      At the moment this "link" is just plain text and not live.

      Since:
        4.0.11

    - #### setWebsiteLabel

          public void setWebsiteLabel(String label)

      Set a label to modify the website link previously set by something more friendly.
      Since:
        4.0.13

    - #### setWrapLicense

          public void setWrapLicense(boolean setting)

      Wrap the licence text. If `true`, the licence text will be automatically wrapped and the initial dialog size will be preserved.
      Since:
        4.0.12