//Auto-generated by kalyptus. DO NOT EDIT.
package org.kde.koala;

import org.kde.qt.Qt;
import org.kde.qt.QtSupport;
import org.kde.qt.QImage;

/**

 This class is used to store information about a program. It can store
 such values as version number, program name, home page, email address
 for bug reporting, multiple authors and contributors
 (using KAboutPerson), license and copyright information.
 Currently, the values set here are shown by the "About" box
 (see KAboutDialog), used by the bug report dialog (see KBugReport),
 and by the help shown on command line (see KCmdLineArgs).
		@author Espen Sand (espen@kde.org), David Faure (faure@kde.org)
 
		@short Holds information needed by the "About" box and other  classes.

*/
public class KAboutData implements QtSupport {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;
	protected KAboutData(Class dummy){}

	/**	
		 Descibes the license of the software.
		   		@short    Descibes the license of the software.
	*/
	public static final int License_Custom = -2;
	public static final int License_File = -1;
	public static final int License_Unknown = 0;
	public static final int License_GPL = 1;
	public static final int License_GPL_V2 = 1;
	public static final int License_LGPL = 2;
	public static final int License_LGPL_V2 = 2;
	public static final int License_BSD = 3;
	public static final int License_Artistic = 4;
	public static final int License_QPL = 5;
	public static final int License_QPL_V1_0 = 5;

	/**	
		 Constructor.
			@param appName The program name used internally. Example: "kedit"
			@param programName A displayable program name string. This string
		        should be marked for translation. Example: I18N_NOOP("KEdit")
			@param version The program version string.
			@param shortDescription A short description of what the program does.
		        This string should be marked for translation.
		        Example: I18N_NOOP("A simple text editor.")
			@param licenseType The license identifier. Use setLicenseText if
		        you use a license not predefined here.
			@param copyrightStatement A copyright statement, that can look like this:
		        "(c) 1999-2000, Name". The string specified here is not modified
		        in any manner. The author information from addAuthor is not
		        used.
			@param text Some free form text, that can contain any kind of
		        information. The text can contain newlines. This string
		        should be marked for translation.
			@param homePageAddress The program homepage string.
		        Start the address with "http://". "http://some.domain" is
		        is correct, "some.domain" is not.
			@param bugsEmailAddress The bug report email address string.
		        This defaults to the kde.org bug system.
			     		@short    Constructor.
	*/
	public KAboutData(String appName, String programName, String version, String shortDescription, int licenseType, String copyrightStatement, String text, String homePageAddress, String bugsEmailAddress) {
		newKAboutData(appName,programName,version,shortDescription,licenseType,copyrightStatement,text,homePageAddress,bugsEmailAddress);
	}
	private native void newKAboutData(String appName, String programName, String version, String shortDescription, int licenseType, String copyrightStatement, String text, String homePageAddress, String bugsEmailAddress);
	public KAboutData(String appName, String programName, String version, String shortDescription, int licenseType, String copyrightStatement, String text, String homePageAddress) {
		newKAboutData(appName,programName,version,shortDescription,licenseType,copyrightStatement,text,homePageAddress);
	}
	private native void newKAboutData(String appName, String programName, String version, String shortDescription, int licenseType, String copyrightStatement, String text, String homePageAddress);
	public KAboutData(String appName, String programName, String version, String shortDescription, int licenseType, String copyrightStatement, String text) {
		newKAboutData(appName,programName,version,shortDescription,licenseType,copyrightStatement,text);
	}
	private native void newKAboutData(String appName, String programName, String version, String shortDescription, int licenseType, String copyrightStatement, String text);
	public KAboutData(String appName, String programName, String version, String shortDescription, int licenseType, String copyrightStatement) {
		newKAboutData(appName,programName,version,shortDescription,licenseType,copyrightStatement);
	}
	private native void newKAboutData(String appName, String programName, String version, String shortDescription, int licenseType, String copyrightStatement);
	public KAboutData(String appName, String programName, String version, String shortDescription, int licenseType) {
		newKAboutData(appName,programName,version,shortDescription,licenseType);
	}
	private native void newKAboutData(String appName, String programName, String version, String shortDescription, int licenseType);
	public KAboutData(String appName, String programName, String version, String shortDescription) {
		newKAboutData(appName,programName,version,shortDescription);
	}
	private native void newKAboutData(String appName, String programName, String version, String shortDescription);
	public KAboutData(String appName, String programName, String version) {
		newKAboutData(appName,programName,version);
	}
	private native void newKAboutData(String appName, String programName, String version);
	/**	
		 Defines an author. You can call this function as many times you
		 need. Each entry is appended to a list. The person in the first entry
		 is assumed to be the leader of the project.
			@param name The developer's name in UTF-8 encoding.
			@param task What the person is responsible for. This text can contain
		             newlines. It should be marked for translation like this:
		             I18N_NOOP("Task description..."). Can be 0.
			@param emailAddress An Email address where the person can be reached.
		                     Can be 0.
			@param webAddress The person's homepage or a relevant link.
		        Start the address with "http://". "http://some.domain" is
		        correct, "some.domain" is not. Can be 0.
			     		@short    Defines an author.
	*/
	public native void addAuthor(String name, String task, String emailAddress, String webAddress);
	public native void addAuthor(String name, String task, String emailAddress);
	public native void addAuthor(String name, String task);
	public native void addAuthor(String name);
	/**	
		 Defines a person that deserves credit. You can call this function
		 as many times you need. Each entry is appended to a list.
			@param name The person's name in UTF-8 encoding.
			@param task What the person has done to deserve the honor. The
		        text can contain newlines. It should be marked for
		        translation like this: I18N_NOOP("Task description...")
		        Can be 0.
			@param emailAddress An Email address when the person can be reached.
		        Can be 0.
			@param webAddress The person's homepage or a relevant link.
		        Start the address with "http://". "http://some.domain" is
		        is correct, "some.domain" is not. Can be 0.
			     		@short    Defines a person that deserves credit.
	*/
	public native void addCredit(String name, String task, String emailAddress, String webAddress);
	public native void addCredit(String name, String task, String emailAddress);
	public native void addCredit(String name, String task);
	public native void addCredit(String name);
	/**	
		 Sets the name of the translator of the gui. Since this depends
		 on the language, just use a dummy text marked for translation.
			 For example:
		 <pre>
		 setTranslator(I18N_NOOP("_: NAME OF TRANSLATORS\\nYour names")
		 ,I18N_NOOP("_: EMAIL OF TRANSLATORS\\nYour emails"));
		 </pre>
			 The translator can then translate this dummy text with his name
		 or with a list of names separated with ",".
		 If there is no translation or the application is used with the
		 default language, this function call is ignored.
			 Note: If you are using the default KDE automake environment,
		 there is no need to use this function, because the two
		 default strings above are added to the applications po file
		 automatically.
			@param name the name of the translator
			@param emailAddress the email address of the translator
				@short    Sets the name of the translator of the gui.
		@see KAboutTranslator
	*/
	public native void setTranslator(String name, String emailAddress);
	/**	
		 Defines a license text.
			 The text will be translated if it got marked for
		 translations with the I18N_NOOP() macro.
			 Example:
		 <pre>
		 setLicenseText( I18N_NOOP("This is my license"));
		 </pre>
			 NOTE: No copy of the text is made.
			@param license The license text in utf8 encoding.
		     		@short    Defines a license text.
	*/
	public native void setLicenseText(String license);
	/**	
		 Defines a license text.
			@param file File containing the license text.
		     		@short    Defines a license text.
	*/
	public native void setLicenseTextFile(String file);
	/**	
		 Defines the program name used internally.
			@param appName The application name. Example: "kate".
		     		@short    Defines the program name used internally.
	*/
	public native void setAppName(String appName);
	/**	
		 Defines the displayable program name string.
			@param programName The program name. This string should be
		        marked for translation.
		        Example: I18N_NOOP("Advanced Text Editor").
		     		@short    Defines the displayable program name string.
	*/
	public native void setProgramName(String programName);
	/**	
		 Defines the program logo.
		 Use this if you need to have application logo 
		 in AboutData other than application icon.
			@param image logo image.
				@short    Defines the program logo.
		@see #programLogo
	*/
	public native void setProgramLogo(QImage image);
	/**	
		 Defines the program version string.
			@param version The program version.
		     		@short    Defines the program version string.
	*/
	public native void setVersion(String version);
	/**	
		 Defines a short description of what the program does.
			@param shortDescription The program description This string should be marked
		        for translation. Example: I18N_NOOP("An advanced text editor
		        with syntax highlithing support.").
		     		@short    Defines a short description of what the program does.
	*/
	public native void setShortDescription(String shortDescription);
	/**	
		 Defines the license identifier.
			@param licenseKey The license identifier.
		     		@short    Defines the license identifier.
	*/
	public native void setLicense(int licenseKey);
	/**	
		 Defines the copyright statement to show when displaying the license.
			@param copyrightStatement A copyright statement, that can look like
		        this: "(c) 1999-2000, Name". The string specified here is not
		        modified in any manner. The author information from addAuthor
		        is not used.
		     		@short    Defines the copyright statement to show when displaying the license.
	*/
	public native void setCopyrightStatement(String copyrightStatement);
	/**	
		 Defines the additional text to show in the about dialog.
			@param otherText Some free form text, that can contain any kind of
		        information. The text can contain newlines. This string
		        should be marked for translation.
		     		@short    Defines the additional text to show in the about dialog.
	*/
	public native void setOtherText(String otherText);
	/**	
		 Defines the program homepage.
			@param homepage The program homepage string.
		        Start the address with "http://". "http://kate.kde.org" is
		        is correct, "kde.kde.org" is not.
		     		@short    Defines the program homepage.
	*/
	public native void setHomepage(String homepage);
	/**	
		 Defines the address where bug reports should be sent.
			@param bugAddress The bug report email address string.
		        This defaults to the kde.org bug system.
		     		@short    Defines the address where bug reports should be sent.
	*/
	public native void setBugAddress(String bugAddress);
	/**	
		 Defines the product name wich will be used in the KBugReport dialog.
		 By default it's the appName, but you can overwrite it here to provide
		 support for special components e.g. 'product/component' like
		 'kontact/summary'.
			@param name The name of product
		     		@short    Defines the product name wich will be used in the KBugReport dialog.
	*/
	public native void setProductName(String name);
	/**	
		 Returns the application's internal name.
				@return the internal program name.
     
		@short    Returns the application's internal name.
	*/
	public native String appName();
	/**	
		 Returns the application's product name, which will be used in KBugReport
		 dialog. By default it returns appName(), otherwise the one which is set
		 with setProductName()
				@return the product name.
     
		@short    Returns the application's product name, which will be used in KBugReport  dialog.
	*/
	public native String productName();
	/**	
		 Returns the translated program name.
				@return the program name (translated).
     
		@short    Returns the translated program name.
	*/
	public native String programName();
	/**	
		 Returns the program logo image. 
				@return the program logo data or null image if there is 
 no custom application logo defined.

		@short    Returns the program logo image.
	*/
	public native QImage programLogo();
	/**	
		 Returns the program's version.
				@return the version string.
     
		@short    Returns the program's version.
	*/
	public native String version();
	/**	
		 Returns a short, translated description.
				@return the short description (translated). Can be
         null if not set.
     
		@short    Returns a short, translated description.
	*/
	public native String shortDescription();
	/**	
		 Returns the application homepage.
				@return the application homepage URL. Can be null if
         not set.
     
		@short    Returns the application homepage.
	*/
	public native String homepage();
	/**	
		 Returns the email address for bugs.
				@return the email address where to report bugs.
     
		@short    Returns the email address for bugs.
	*/
	public native String bugAddress();
	/**	
		 Returns a list of authors.
				@return author information (list of persons).
     
		@short    Returns a list of authors.
	*/
	// const QValueList<KAboutPerson> authors(); >>>> NOT CONVERTED
	/**	
		 Returns a list of persons who contributed.
				@return credit information (list of persons).
     
		@short    Returns a list of persons who contributed.
	*/
	// const QValueList<KAboutPerson> credits(); >>>> NOT CONVERTED
	/**	
		 Returns a list of translators.
				@return translators information (list of persons)
     
		@short    Returns a list of translators.
	*/
	// const QValueList<KAboutTranslator> translators(); >>>> NOT CONVERTED
	/**	
		 Returns a translated, free form text.
				@return the free form text (translated). Can be null if not set.
     
		@short    Returns a translated, free form text.
	*/
	public native String otherText();
	/**	
		 Returns the license. If the licenseType argument of the constructor has been
		 used, any text defined by setLicenseText is ignored,
		 and the standard text for the chosen license will be returned.
				@return The license text.
     
		@short    Returns the license.
	*/
	public native String license();
	/**	
		 Returns the copyright statement.
				@return the copyright statement. Can be null if not set.
     
		@short    Returns the copyright statement.
	*/
	public native String copyrightStatement();
	/**	
		 Returns the plain text displayed around the list of authors instead
		 of the default message telling users to send bug reports to bugAddress().
				@return the plain text displayed around the list of authors instead
         of the default message.  Can be null.
     
		@short    Returns the plain text displayed around the list of authors instead  of the default message telling users to send bug reports to bugAddress().
	*/
	public native String customAuthorPlainText();
	/**	
		 Returns the rich text displayed around the list of authors instead
		 of the default message telling users to send bug reports to bugAddress().
				@return the rich text displayed around the list of authors instead
         of the default message.  Can be null.
     
		@short    Returns the rich text displayed around the list of authors instead  of the default message telling users to send bug reports to bugAddress().
	*/
	public native String customAuthorRichText();
	/**	
		 Returns whether custom text should be displayed around the list of
		 authors.
				@return whether custom text should be displayed around the list of
         authors.
     
		@short    Returns whether custom text should be displayed around the list of  authors.
	*/
	public native boolean customAuthorTextEnabled();
	/**	
		 Sets the custom text displayed around the list of authors instead
		 of the default message telling users to send bug reports to bugAddress().
			@param plainText The plain text.
			@param richText The rich text.
			 Both parameters can be null to not display any message at
		 all.  Call unsetCustomAuthorText() to revert to the default mesage.
		     		@short    Sets the custom text displayed around the list of authors instead  of the default message telling users to send bug reports to bugAddress().
	*/
	public native void setCustomAuthorText(String plainText, String richText);
	/**	
		 Clears any custom text displayed around the list of authors and falls
		 back to the default message telling users to send bug reports to
		 bugAddress().
		     		@short    Clears any custom text displayed around the list of authors and falls  back to the default message telling users to send bug reports to  bugAddress().
	*/
	public native void unsetCustomAuthorText();
	/**	
		 Returns a message about the translation team.
				@return a message about the translation team
     
		@short    Returns a message about the translation team.
	*/
	public static native String aboutTranslationTeam();
	/** Deletes the wrapped C++ instance */
	protected native void finalize() throws InternalError;
	/** Delete the wrapped C++ instance ahead of finalize() */
	public native void dispose();
	/** Has the wrapped C++ instance been deleted? */
	public native boolean isDisposed();
}
