1 // Generated by gmmproc 2.60.0 -- DO NOT MODIFY!
2 #ifndef _GTKMM_ABOUTDIALOG_H
3 #define _GTKMM_ABOUTDIALOG_H
4 
5 #include <gtkmmconfig.h>
6 
7 
8 #include <glibmm/ustring.h>
9 #include <sigc++/sigc++.h>
10 
11 /*
12  * Copyright (C) 2004 The gtkmm Development Team
13  *
14  * This library is free software; you can redistribute it and/or
15  * modify it under the terms of the GNU Lesser General Public
16  * License as published by the Free Software Foundation; either
17  * version 2.1 of the License, or (at your option) any later version.
18  *
19  * This library is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
22  * Lesser General Public License for more details.
23  *
24  * You should have received a copy of the GNU Lesser General Public
25  * License along with this library; if not, write to the Free Software
26  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
27  */
28 
29 
30 #include <vector>
31 
32 #include <gtkmm/dialog.h>
33 
34 
35 #ifndef DOXYGEN_SHOULD_SKIP_THIS
36 using GtkAboutDialog = struct _GtkAboutDialog;
37 using GtkAboutDialogClass = struct _GtkAboutDialogClass;
38 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
39 
40 
41 #ifndef DOXYGEN_SHOULD_SKIP_THIS
42 namespace Gtk
43 { class AboutDialog_Class; } // namespace Gtk
44 #endif //DOXYGEN_SHOULD_SKIP_THIS
45 
46 namespace Gtk
47 {
48 
49 /** @addtogroup gtkmmEnums gtkmm Enums and Flags */
50 
51 /**
52  *  @var License LICENSE_UNKNOWN
53  * No license specified.
54  *
55  *  @var License LICENSE_CUSTOM
56  * A license text is going to be specified by the
57  * developer.
58  *
59  *  @var License LICENSE_GPL_2_0
60  * The GNU General Public License, version 2.0 or later.
61  *
62  *  @var License LICENSE_GPL_3_0
63  * The GNU General Public License, version 3.0 or later.
64  *
65  *  @var License LICENSE_LGPL_2_1
66  * The GNU Lesser General Public License, version 2.1 or later.
67  *
68  *  @var License LICENSE_LGPL_3_0
69  * The GNU Lesser General Public License, version 3.0 or later.
70  *
71  *  @var License LICENSE_BSD
72  * The BSD standard license.
73  *
74  *  @var License LICENSE_MIT_X11
75  * The MIT/X11 standard license.
76  *
77  *  @var License LICENSE_ARTISTIC
78  * The Artistic License, version 2.0.
79  *
80  *  @var License LICENSE_GPL_2_0_ONLY
81  * The GNU General Public License, version 2.0 only. @newin{3,12}
82  *
83  *  @var License LICENSE_GPL_3_0_ONLY
84  * The GNU General Public License, version 3.0 only. @newin{3,12}
85  *
86  *  @var License LICENSE_LGPL_2_1_ONLY
87  * The GNU Lesser General Public License, version 2.1 only. @newin{3,12}
88  *
89  *  @var License LICENSE_LGPL_3_0_ONLY
90  * The GNU Lesser General Public License, version 3.0 only. @newin{3,12}
91  *
92  *  @var License LICENSE_AGPL_3_0
93  * The GNU Affero General Public License, version 3.0 or later. @newin{3,22}
94  *
95  *  @var License LICENSE_AGPL_3_0_ONLY
96  * The GNU Affero General Public License, version 3.0 only. @newin{3,22,27}
97  *
98  *  @enum License
99  *
100  * The type of license for an application.
101  *
102  * This enumeration can be expanded at later date.
103  *
104  * @newin{3,0}
105  *
106  * @ingroup gtkmmEnums
107  */
108 enum License
109 {
110   LICENSE_UNKNOWN,
111   LICENSE_CUSTOM,
112   LICENSE_GPL_2_0,
113   LICENSE_GPL_3_0,
114   LICENSE_LGPL_2_1,
115   LICENSE_LGPL_3_0,
116   LICENSE_BSD,
117   LICENSE_MIT_X11,
118   LICENSE_ARTISTIC,
119   LICENSE_GPL_2_0_ONLY,
120   LICENSE_GPL_3_0_ONLY,
121   LICENSE_LGPL_2_1_ONLY,
122   LICENSE_LGPL_3_0_ONLY,
123   LICENSE_AGPL_3_0,
124   LICENSE_AGPL_3_0_ONLY
125 };
126 
127 } // namespace Gtk
128 
129 #ifndef DOXYGEN_SHOULD_SKIP_THIS
130 namespace Glib
131 {
132 
133 template <>
134 class Value<Gtk::License> : public Glib::Value_Enum<Gtk::License>
135 {
136 public:
137   static GType value_type() G_GNUC_CONST;
138 };
139 
140 } // namespace Glib
141 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
142 
143 namespace Gtk
144 {
145 
146 
147 /** The AboutDialog offers a simple way to display information about a program like its logo, name, copyright,
148  * website and license. It is also possible to give credits to the authors, documenters, translators and artists
149  * who have worked on the program. An about dialog is typically opened when the user selects the About option
150  * from the Help menu. All parts of the dialog are optional.
151  *
152  * About dialogs often contain links and email addresses. Gtk::AboutDialog displays these as clickable links.
153  * By default, it calls gtk_show_uri() when a user clicks one. The behaviour can be overridden with the activate_link signal.
154  * Email addresses in the authors, documenters and artists properties are recognized by looking
155  * for \<user\@host\>, URLs are recognized by looking for http://url, with the URL extending to the next space,
156  * tab or line break.
157  *
158  * An AboutDialog looks like this:
159  * @image html aboutdialog1.png
160  *
161  * @ingroup Dialogs
162  */
163 
164 class AboutDialog : public Dialog
165 {
166   public:
167 #ifndef DOXYGEN_SHOULD_SKIP_THIS
168   typedef AboutDialog CppObjectType;
169   typedef AboutDialog_Class CppClassType;
170   typedef GtkAboutDialog BaseObjectType;
171   typedef GtkAboutDialogClass BaseClassType;
172 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
173 
174   AboutDialog(AboutDialog&& src) noexcept;
175   AboutDialog& operator=(AboutDialog&& src) noexcept;
176 
177   // noncopyable
178   AboutDialog(const AboutDialog&) = delete;
179   AboutDialog& operator=(const AboutDialog&) = delete;
180 
181   ~AboutDialog() noexcept override;
182 
183 #ifndef DOXYGEN_SHOULD_SKIP_THIS
184 
185 private:
186   friend class AboutDialog_Class;
187   static CppClassType aboutdialog_class_;
188 
189 protected:
190   explicit AboutDialog(const Glib::ConstructParams& construct_params);
191   explicit AboutDialog(GtkAboutDialog* castitem);
192 
193 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
194 
195 public:
196 
197   /** Get the GType for this class, for use with the underlying GObject type system.
198    */
199   static GType get_type()      G_GNUC_CONST;
200 
201 #ifndef DOXYGEN_SHOULD_SKIP_THIS
202 
203 
204   static GType get_base_type() G_GNUC_CONST;
205 #endif
206 
207   /// Provides access to the underlying C GObject.
gobj()208   GtkAboutDialog*       gobj()       { return reinterpret_cast<GtkAboutDialog*>(gobject_); }
209 
210   /// Provides access to the underlying C GObject.
gobj()211   const GtkAboutDialog* gobj() const { return reinterpret_cast<GtkAboutDialog*>(gobject_); }
212 
213 
214 public:
215   //C++ methods used to invoke GTK+ virtual functions:
216 
217 protected:
218   //GTK+ Virtual Functions (override these to change behaviour):
219 
220   //Default Signal Handlers::
221   /// This is a default handler for the signal signal_activate_link().
222   virtual bool on_activate_link(const std::string& uri);
223 
224 
225 private:
226 
227 
228 public:
229   AboutDialog();
230 
231   /** Constructor.
232    *
233    * @param use_header_bar <tt>true</tt> if the dialog shall use a HeaderBar
234    *        for action buttons instead of the action-area.
235    *
236    * @newin{3,24}
237    */
238   explicit AboutDialog(bool use_header_bar);
239 
240 
241   /** Returns the program name displayed in the about dialog.
242    *
243    * @newin{2,12}
244    *
245    * @return The program name.
246    */
247   Glib::ustring get_program_name() const;
248 
249   /** Sets the name to display in the about dialog.
250    * If this is not set, it defaults to Glib::get_application_name().
251    *
252    * @newin{2,12}
253    *
254    * @param name The program name.
255    */
256   void set_program_name(const Glib::ustring& name);
257 
258 
259   /** Returns the version string.
260    *
261    * @newin{2,6}
262    *
263    * @return The version string. The string is owned by the about
264    * dialog and must not be modified.
265    */
266   Glib::ustring get_version() const;
267 
268   /** Sets the version string to display in the about dialog.
269    *
270    * @newin{2,6}
271    *
272    * @param version The version string.
273    */
274   void set_version(const Glib::ustring& version);
275 
276   /** Returns the copyright string.
277    *
278    * @newin{2,6}
279    *
280    * @return The copyright string. The string is owned by the about
281    * dialog and must not be modified.
282    */
283   Glib::ustring get_copyright() const;
284 
285   /** Sets the copyright string to display in the about dialog.
286    * This should be a short string of one or two lines.
287    *
288    * @newin{2,6}
289    *
290    * @param copyright The copyright string.
291    */
292   void set_copyright(const Glib::ustring& copyright);
293 
294   /** Returns the comments string.
295    *
296    * @newin{2,6}
297    *
298    * @return The comments. The string is owned by the about
299    * dialog and must not be modified.
300    */
301   Glib::ustring get_comments() const;
302 
303   /** Sets the comments string to display in the about dialog.
304    * This should be a short string of one or two lines.
305    *
306    * @newin{2,6}
307    *
308    * @param comments A comments string.
309    */
310   void set_comments(const Glib::ustring& comments);
311 
312   /** Returns the license information.
313    *
314    * @newin{2,6}
315    *
316    * @return The license information. The string is owned by the about
317    * dialog and must not be modified.
318    */
319   Glib::ustring get_license() const;
320 
321   /** Sets the license information to be displayed in the secondary
322    * license dialog. If @a license is <tt>nullptr</tt>, the license button is
323    * hidden.
324    *
325    * @newin{2,6}
326    *
327    * @param license The license information or <tt>nullptr</tt>.
328    */
329   void set_license(const Glib::ustring& license);
330 
331   /** Hides the license button.
332    *
333    * @newin{3,4}
334    */
335   void unset_license();
336 
337   /** Retrieves the license set using set_license_type()
338    *
339    * @newin{3,0}
340    *
341    * @return A Gtk::License value.
342    */
343   License get_license_type() const;
344 
345   /** Sets the license of the application showing the @a about dialog from a
346    * list of known licenses.
347    *
348    * This function overrides the license set using
349    * set_license().
350    *
351    * @newin{3,0}
352    *
353    * @param license_type The type of license.
354    */
355   void set_license_type(License license_type);
356 
357   /** Returns the website URL.
358    *
359    * @newin{2,6}
360    *
361    * @return The website URL. The string is owned by the about
362    * dialog and must not be modified.
363    */
364   Glib::ustring get_website() const;
365 
366   /** Sets the URL to use for the website link.
367    *
368    * @newin{2,6}
369    *
370    * @param website A URL string starting with "http://".
371    */
372   void set_website(const Glib::ustring& website);
373 
374   /** Returns the label used for the website link.
375    *
376    * @newin{2,6}
377    *
378    * @return The label used for the website link.
379    */
380   Glib::ustring get_website_label() const;
381 
382   /** Sets the label to be used for the website link.
383    *
384    * @newin{2,6}
385    *
386    * @param website_label The label used for the website link.
387    */
388   void set_website_label(const Glib::ustring& website_label);
389 
390 
391   /** Returns the string which are displayed in the authors tab
392    * of the secondary credits dialog.
393    *
394    * @newin{2,6}
395    *
396    * @return A
397    * <tt>nullptr</tt>-terminated string array containing the authors. The array is
398    * owned by the about dialog and must not be modified.
399    */
400   std::vector<Glib::ustring> get_authors() const;
401 
402 
403   /** Sets the strings which are displayed in the authors tab
404    * of the secondary credits dialog.
405    *
406    * @newin{2,6}
407    *
408    * @param authors A <tt>nullptr</tt>-terminated array of strings.
409    */
410   void set_authors(const std::vector<Glib::ustring>& authors) const;
411 
412 
413   /** Returns the string which are displayed in the documenters
414    * tab of the secondary credits dialog.
415    *
416    * @newin{2,6}
417    *
418    * @return A
419    * <tt>nullptr</tt>-terminated string array containing the documenters. The
420    * array is owned by the about dialog and must not be modified.
421    */
422   std::vector<Glib::ustring> get_documenters() const;
423 
424 
425   /** Sets the strings which are displayed in the documenters tab
426    * of the secondary credits dialog.
427    *
428    * @newin{2,6}
429    *
430    * @param documenters A <tt>nullptr</tt>-terminated array of strings.
431    */
432   void set_documenters(const std::vector<Glib::ustring>& documenters);
433 
434   /** Returns the string which are displayed in the artists tab
435    * of the secondary credits dialog.
436    *
437    * @newin{2,6}
438    *
439    * @return A
440    * <tt>nullptr</tt>-terminated string array containing the artists. The array is
441    * owned by the about dialog and must not be modified.
442    */
443   std::vector<Glib::ustring> get_artists() const;
444 
445   /** Sets the strings which are displayed in the artists tab
446    * of the secondary credits dialog.
447    *
448    * @newin{2,6}
449    *
450    * @param artists A <tt>nullptr</tt>-terminated array of strings.
451    */
452   void set_artists(const std::vector<Glib::ustring>& artists);
453 
454   /** Returns the translator credits string which is displayed
455    * in the translators tab of the secondary credits dialog.
456    *
457    * @newin{2,6}
458    *
459    * @return The translator credits string. The string is
460    * owned by the about dialog and must not be modified.
461    */
462   Glib::ustring get_translator_credits() const;
463 
464   /** Sets the translator credits string which is displayed in
465    * the translators tab of the secondary credits dialog.
466    *
467    * The intended use for this string is to display the translator
468    * of the language which is currently used in the user interface.
469    * Using gettext(), a simple way to achieve that is to mark the
470    * string for translation:
471    *
472    * [C example ellipted]
473    * It is a good idea to use the customary msgid “translator-credits” for this
474    * purpose, since translators will already know the purpose of that msgid, and
475    * since Gtk::AboutDialog will detect if “translator-credits” is untranslated
476    * and hide the tab.
477    *
478    * @newin{2,6}
479    *
480    * @param translator_credits The translator credits.
481    */
482   void set_translator_credits(const Glib::ustring& translator_credits);
483 
484 
485   /** Returns the pixbuf displayed as logo in the about dialog.
486    *
487    * @newin{2,6}
488    *
489    * @return The pixbuf displayed as logo. The
490    * pixbuf is owned by the about dialog. If you want to keep a
491    * reference to it, you have to call Glib::object_ref() on it.
492    */
493   Glib::RefPtr<Gdk::Pixbuf> get_logo();
494 
495   /** Returns the pixbuf displayed as logo in the about dialog.
496    *
497    * @newin{2,6}
498    *
499    * @return The pixbuf displayed as logo. The
500    * pixbuf is owned by the about dialog. If you want to keep a
501    * reference to it, you have to call Glib::object_ref() on it.
502    */
503   Glib::RefPtr<const Gdk::Pixbuf> get_logo() const;
504 
505 
506   /** Sets the pixbuf to be displayed as logo in the about dialog.
507    * If it is <tt>nullptr</tt>, the default window icon set with
508    * Gtk::Window::set_default_icon() will be used.
509    *
510    * @newin{2,6}
511    *
512    * @param logo A Gdk::Pixbuf, or <tt>nullptr</tt>.
513    */
514   void set_logo(const Glib::RefPtr<Gdk::Pixbuf>& logo);
515 
516   /** Sets the pixbuf to be displayed as logo in the about dialog.
517    * The logo is set to the default window icon set with
518    * Gtk::Window::set_default_icon() or Gtk::Window::set_default_icon_list().
519    *
520    * @newin{3,4}
521    */
522   void set_logo_default();
523 
524 
525   /** Returns the icon name displayed as logo in the about dialog.
526    *
527    * @newin{2,6}
528    *
529    * @return The icon name displayed as logo. The string is
530    * owned by the dialog. If you want to keep a reference
531    * to it, you have to call Glib::strdup() on it.
532    */
533   Glib::ustring get_logo_icon_name() const;
534 
535   /** Sets the pixbuf to be displayed as logo in the about dialog.
536    * If it is <tt>nullptr</tt>, the default window icon set with
537    * Gtk::Window::set_default_icon() will be used.
538    *
539    * @newin{2,6}
540    *
541    * @param icon_name An icon name, or <tt>nullptr</tt>.
542    */
543   void set_logo_icon_name(const Glib::ustring& icon_name);
544 
545 
546   /** Returns whether the license text in @a about is
547    * automatically wrapped.
548    *
549    * @newin{2,8}
550    *
551    * @return <tt>true</tt> if the license text is wrapped.
552    */
553   bool get_wrap_license() const;
554 
555   /** Sets whether the license text in @a about is
556    * automatically wrapped.
557    *
558    * @newin{2,8}
559    *
560    * @param wrap_license Whether to wrap the license.
561    */
562   void set_wrap_license(bool wrap_license);
563 
564 
565   /** Creates a new section in the Credits page.
566    *
567    * @newin{3,4}
568    *
569    * @param section_name The name of the section.
570    * @param people The people who belong to that section.
571    */
572   void add_credit_section(const Glib::ustring& section_name, const std::vector<Glib::ustring>& people);
573 
574   /** The name of the program.
575    * If this is not set, it defaults to Glib::get_application_name().
576    *
577    * @newin{2,12}
578    *
579    * Default value: ""
580    *
581    * @return A PropertyProxy that allows you to get or set the value of the property,
582    * or receive notification when the value of the property changes.
583    */
584   Glib::PropertyProxy< Glib::ustring > property_program_name() ;
585 
586 /** The name of the program.
587    * If this is not set, it defaults to Glib::get_application_name().
588    *
589    * @newin{2,12}
590    *
591    * Default value: ""
592    *
593    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
594    * or receive notification when the value of the property changes.
595    */
596   Glib::PropertyProxy_ReadOnly< Glib::ustring > property_program_name() const;
597 
598 
599   /** The version of the program.
600    *
601    * @newin{2,6}
602    *
603    * Default value: ""
604    *
605    * @return A PropertyProxy that allows you to get or set the value of the property,
606    * or receive notification when the value of the property changes.
607    */
608   Glib::PropertyProxy< Glib::ustring > property_version() ;
609 
610 /** The version of the program.
611    *
612    * @newin{2,6}
613    *
614    * Default value: ""
615    *
616    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
617    * or receive notification when the value of the property changes.
618    */
619   Glib::PropertyProxy_ReadOnly< Glib::ustring > property_version() const;
620 
621   /** Copyright information for the program.
622    *
623    * @newin{2,6}
624    *
625    * Default value: ""
626    *
627    * @return A PropertyProxy that allows you to get or set the value of the property,
628    * or receive notification when the value of the property changes.
629    */
630   Glib::PropertyProxy< Glib::ustring > property_copyright() ;
631 
632 /** Copyright information for the program.
633    *
634    * @newin{2,6}
635    *
636    * Default value: ""
637    *
638    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
639    * or receive notification when the value of the property changes.
640    */
641   Glib::PropertyProxy_ReadOnly< Glib::ustring > property_copyright() const;
642 
643   /** Comments about the program. This string is displayed in a label
644    * in the main dialog, thus it should be a short explanation of
645    * the main purpose of the program, not a detailed list of features.
646    *
647    * @newin{2,6}
648    *
649    * Default value: ""
650    *
651    * @return A PropertyProxy that allows you to get or set the value of the property,
652    * or receive notification when the value of the property changes.
653    */
654   Glib::PropertyProxy< Glib::ustring > property_comments() ;
655 
656 /** Comments about the program. This string is displayed in a label
657    * in the main dialog, thus it should be a short explanation of
658    * the main purpose of the program, not a detailed list of features.
659    *
660    * @newin{2,6}
661    *
662    * Default value: ""
663    *
664    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
665    * or receive notification when the value of the property changes.
666    */
667   Glib::PropertyProxy_ReadOnly< Glib::ustring > property_comments() const;
668 
669   /** The URL for the link to the website of the program.
670    * This should be a string starting with "http://.
671    *
672    * @newin{2,6}
673    *
674    * Default value: ""
675    *
676    * @return A PropertyProxy that allows you to get or set the value of the property,
677    * or receive notification when the value of the property changes.
678    */
679   Glib::PropertyProxy< Glib::ustring > property_website() ;
680 
681 /** The URL for the link to the website of the program.
682    * This should be a string starting with "http://.
683    *
684    * @newin{2,6}
685    *
686    * Default value: ""
687    *
688    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
689    * or receive notification when the value of the property changes.
690    */
691   Glib::PropertyProxy_ReadOnly< Glib::ustring > property_website() const;
692 
693   /** The label for the link to the website of the program.
694    *
695    * @newin{2,6}
696    *
697    * Default value: ""
698    *
699    * @return A PropertyProxy that allows you to get or set the value of the property,
700    * or receive notification when the value of the property changes.
701    */
702   Glib::PropertyProxy< Glib::ustring > property_website_label() ;
703 
704 /** The label for the link to the website of the program.
705    *
706    * @newin{2,6}
707    *
708    * Default value: ""
709    *
710    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
711    * or receive notification when the value of the property changes.
712    */
713   Glib::PropertyProxy_ReadOnly< Glib::ustring > property_website_label() const;
714 
715   /** The license of the program. This string is displayed in a
716    * text view in a secondary dialog, therefore it is fine to use
717    * a long multi-paragraph text. Note that the text is only wrapped
718    * in the text view if the "wrap-license" property is set to <tt>true</tt>;
719    * otherwise the text itself must contain the intended linebreaks.
720    * When setting this property to a non-<tt>nullptr</tt> value, the
721    * Gtk::AboutDialog::property_license_type() property is set to Gtk::LICENSE_CUSTOM
722    * as a side effect.
723    *
724    * @newin{2,6}
725    *
726    * Default value: ""
727    *
728    * @return A PropertyProxy that allows you to get or set the value of the property,
729    * or receive notification when the value of the property changes.
730    */
731   Glib::PropertyProxy< Glib::ustring > property_license() ;
732 
733 /** The license of the program. This string is displayed in a
734    * text view in a secondary dialog, therefore it is fine to use
735    * a long multi-paragraph text. Note that the text is only wrapped
736    * in the text view if the "wrap-license" property is set to <tt>true</tt>;
737    * otherwise the text itself must contain the intended linebreaks.
738    * When setting this property to a non-<tt>nullptr</tt> value, the
739    * Gtk::AboutDialog::property_license_type() property is set to Gtk::LICENSE_CUSTOM
740    * as a side effect.
741    *
742    * @newin{2,6}
743    *
744    * Default value: ""
745    *
746    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
747    * or receive notification when the value of the property changes.
748    */
749   Glib::PropertyProxy_ReadOnly< Glib::ustring > property_license() const;
750 
751   /** The license of the program, as a value of the Gtk::License enumeration.
752    *
753    * The Gtk::AboutDialog will automatically fill out a standard disclaimer
754    * and link the user to the appropriate online resource for the license
755    * text.
756    *
757    * If Gtk::LICENSE_UNKNOWN is used, the link used will be the same
758    * specified in the Gtk::AboutDialog::property_website() property.
759    *
760    * If Gtk::LICENSE_CUSTOM is used, the current contents of the
761    * Gtk::AboutDialog::property_license() property are used.
762    *
763    * For any other Gtk::License value, the contents of the
764    * Gtk::AboutDialog::property_license() property are also set by this property as
765    * a side effect.
766    *
767    * @newin{3,0}
768    *
769    * Default value: Gtk::LICENSE_UNKNOWN
770    *
771    * @return A PropertyProxy that allows you to get or set the value of the property,
772    * or receive notification when the value of the property changes.
773    */
774   Glib::PropertyProxy< License > property_license_type() ;
775 
776 /** The license of the program, as a value of the Gtk::License enumeration.
777    *
778    * The Gtk::AboutDialog will automatically fill out a standard disclaimer
779    * and link the user to the appropriate online resource for the license
780    * text.
781    *
782    * If Gtk::LICENSE_UNKNOWN is used, the link used will be the same
783    * specified in the Gtk::AboutDialog::property_website() property.
784    *
785    * If Gtk::LICENSE_CUSTOM is used, the current contents of the
786    * Gtk::AboutDialog::property_license() property are used.
787    *
788    * For any other Gtk::License value, the contents of the
789    * Gtk::AboutDialog::property_license() property are also set by this property as
790    * a side effect.
791    *
792    * @newin{3,0}
793    *
794    * Default value: Gtk::LICENSE_UNKNOWN
795    *
796    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
797    * or receive notification when the value of the property changes.
798    */
799   Glib::PropertyProxy_ReadOnly< License > property_license_type() const;
800 
801   /** The authors of the program, as a <tt>nullptr</tt>-terminated array of strings.
802    * Each string may contain email addresses and URLs, which will be displayed
803    * as links, see the introduction for more details.
804    *
805    * @newin{2,6}
806    *
807    * @return A PropertyProxy that allows you to get or set the value of the property,
808    * or receive notification when the value of the property changes.
809    */
810   Glib::PropertyProxy< std::vector<Glib::ustring> > property_authors() ;
811 
812 /** The authors of the program, as a <tt>nullptr</tt>-terminated array of strings.
813    * Each string may contain email addresses and URLs, which will be displayed
814    * as links, see the introduction for more details.
815    *
816    * @newin{2,6}
817    *
818    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
819    * or receive notification when the value of the property changes.
820    */
821   Glib::PropertyProxy_ReadOnly< std::vector<Glib::ustring> > property_authors() const;
822 
823   /** The people documenting the program, as a <tt>nullptr</tt>-terminated array of strings.
824    * Each string may contain email addresses and URLs, which will be displayed
825    * as links, see the introduction for more details.
826    *
827    * @newin{2,6}
828    *
829    * @return A PropertyProxy that allows you to get or set the value of the property,
830    * or receive notification when the value of the property changes.
831    */
832   Glib::PropertyProxy< std::vector<Glib::ustring> > property_documenters() ;
833 
834 /** The people documenting the program, as a <tt>nullptr</tt>-terminated array of strings.
835    * Each string may contain email addresses and URLs, which will be displayed
836    * as links, see the introduction for more details.
837    *
838    * @newin{2,6}
839    *
840    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
841    * or receive notification when the value of the property changes.
842    */
843   Glib::PropertyProxy_ReadOnly< std::vector<Glib::ustring> > property_documenters() const;
844 
845   /** Credits to the translators. This string should be marked as translatable.
846    * The string may contain email addresses and URLs, which will be displayed
847    * as links, see the introduction for more details.
848    *
849    * @newin{2,6}
850    *
851    * Default value: ""
852    *
853    * @return A PropertyProxy that allows you to get or set the value of the property,
854    * or receive notification when the value of the property changes.
855    */
856   Glib::PropertyProxy< std::vector<Glib::ustring> > property_translator_credits() ;
857 
858 /** Credits to the translators. This string should be marked as translatable.
859    * The string may contain email addresses and URLs, which will be displayed
860    * as links, see the introduction for more details.
861    *
862    * @newin{2,6}
863    *
864    * Default value: ""
865    *
866    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
867    * or receive notification when the value of the property changes.
868    */
869   Glib::PropertyProxy_ReadOnly< std::vector<Glib::ustring> > property_translator_credits() const;
870 
871   /** The people who contributed artwork to the program, as a <tt>nullptr</tt>-terminated
872    * array of strings. Each string may contain email addresses and URLs, which
873    * will be displayed as links, see the introduction for more details.
874    *
875    * @newin{2,6}
876    *
877    * @return A PropertyProxy that allows you to get or set the value of the property,
878    * or receive notification when the value of the property changes.
879    */
880   Glib::PropertyProxy< std::vector<Glib::ustring> > property_artists() ;
881 
882 /** The people who contributed artwork to the program, as a <tt>nullptr</tt>-terminated
883    * array of strings. Each string may contain email addresses and URLs, which
884    * will be displayed as links, see the introduction for more details.
885    *
886    * @newin{2,6}
887    *
888    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
889    * or receive notification when the value of the property changes.
890    */
891   Glib::PropertyProxy_ReadOnly< std::vector<Glib::ustring> > property_artists() const;
892 
893   /** A logo for the about box. If it is <tt>nullptr</tt>, the default window icon
894    * set with Gtk::Window::set_default_icon() will be used.
895    *
896    * @newin{2,6}
897    *
898    * @return A PropertyProxy that allows you to get or set the value of the property,
899    * or receive notification when the value of the property changes.
900    */
901   Glib::PropertyProxy< Glib::RefPtr<Gdk::Pixbuf> > property_logo() ;
902 
903 /** A logo for the about box. If it is <tt>nullptr</tt>, the default window icon
904    * set with Gtk::Window::set_default_icon() will be used.
905    *
906    * @newin{2,6}
907    *
908    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
909    * or receive notification when the value of the property changes.
910    */
911   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Pixbuf> > property_logo() const;
912 
913   /** A named icon to use as the logo for the about box. This property
914    * overrides the Gtk::AboutDialog::property_logo() property.
915    *
916    * @newin{2,6}
917    *
918    * Default value: "image-missing"
919    *
920    * @return A PropertyProxy that allows you to get or set the value of the property,
921    * or receive notification when the value of the property changes.
922    */
923   Glib::PropertyProxy< Glib::ustring > property_logo_icon_name() ;
924 
925 /** A named icon to use as the logo for the about box. This property
926    * overrides the Gtk::AboutDialog::property_logo() property.
927    *
928    * @newin{2,6}
929    *
930    * Default value: "image-missing"
931    *
932    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
933    * or receive notification when the value of the property changes.
934    */
935   Glib::PropertyProxy_ReadOnly< Glib::ustring > property_logo_icon_name() const;
936 
937   /** Whether to wrap the text in the license dialog.
938    *
939    * @newin{2,8}
940    *
941    * Default value: <tt>false</tt>
942    *
943    * @return A PropertyProxy that allows you to get or set the value of the property,
944    * or receive notification when the value of the property changes.
945    */
946   Glib::PropertyProxy< bool > property_wrap_license() ;
947 
948 /** Whether to wrap the text in the license dialog.
949    *
950    * @newin{2,8}
951    *
952    * Default value: <tt>false</tt>
953    *
954    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
955    * or receive notification when the value of the property changes.
956    */
957   Glib::PropertyProxy_ReadOnly< bool > property_wrap_license() const;
958 
959 
960   /**
961    * @par Slot Prototype:
962    * <tt>bool on_my_%activate_link(const std::string& uri)</tt>
963    *
964    * Flags: Run Last
965    *
966    * The signal which gets emitted to activate a URI.
967    * Applications may connect to it to override the default behaviour,
968    * which is to call gtk_show_uri_on_window().
969    *
970    * @newin{2,24}
971    *
972    * @param uri The URI that is activated.
973    * @return <tt>true</tt> if the link has been activated.
974    */
975 
976   Glib::SignalProxy< bool,const std::string& > signal_activate_link();
977 
978 
979 };
980 
981 } // namespace Gtk
982 
983 
984 namespace Glib
985 {
986   /** A Glib::wrap() method for this object.
987    *
988    * @param object The C instance.
989    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
990    * @result A C++ instance that wraps this C instance.
991    *
992    * @relates Gtk::AboutDialog
993    */
994   Gtk::AboutDialog* wrap(GtkAboutDialog* object, bool take_copy = false);
995 } //namespace Glib
996 
997 
998 #endif /* _GTKMM_ABOUTDIALOG_H */
999 
1000