eb0536 | 2005-11-05 | Henrik Grubbström (Grubba) | | /* -*- C -*- */
|
1a0554 | 2005-07-28 | Martin Nilsson | | require gtk26;
class GTK2.AboutDialog;
inherit GTK2.Dialog;
//! Properties:
|
3d7663 | 2005-11-03 | Lance Dillon | | //! array(string) artists
//! array(string) authors
|
1a0554 | 2005-07-28 | Martin Nilsson | | //! string comments
//! string copyright
|
3d7663 | 2005-11-03 | Lance Dillon | | //! array(string) documenters
|
1a0554 | 2005-07-28 | Martin Nilsson | | //! string license
//! GDK2.Pixbuf logo
//! string logo-icon-name
//! string name
//! string translator-credits
//! string version
//! string website
//! string website-label
//! <p>
//! Style properties:
//! GDK2.Color link-color
|
3d7663 | 2005-11-03 | Lance Dillon | | void create(?mapping(string:mixed) props)
|
1a0554 | 2005-07-28 | Martin Nilsson | | //! Create a new GTK.AboutDialog.
|
3d7663 | 2005-11-03 | Lance Dillon | | {
pgtk_verify_not_inited();
pgtk_verify_setup();
if (args) {
INIT_WITH_PROPS(GTK_TYPE_ABOUT_DIALOG);
my_pop_n_elems(args);
} else {
GtkWidget *ga;
ga=gtk_about_dialog_new();
THIS->obj=G_OBJECT(ga);
}
pgtk__init_this_object();
}
|
1a0554 | 2005-07-28 | Martin Nilsson | |
string get_name();
//! Returns the program name.
void set_name(string name);
//! Sets the name to display.
string get_version();
//! Returns the version string.
void set_version(string version);
//! Sets the version string.
string get_copyright();
//! Returns the copyright string.
void set_copyright(string copyright);
//! Sets the copyright string.
string get_comments();
//! Returns the comments string.
void set_comments(string comments);
//! Sets the comment string.
string get_license();
//! Returns the license information.
void set_license(string license);
//! Sets the license information.
|
3d7663 | 2005-11-03 | Lance Dillon | | require gtk28;
int get_wrap_license();
//! Returns whether the license text is automatically wrapped.
void set_wrap_license(int setting);
//! Sets whether the license text is automatically wrapped.
endrequire;
|
1a0554 | 2005-07-28 | Martin Nilsson | | string get_website();
//! Returns the website URL.
void set_website(string website);
//! Sets the URL to use for the website link.
string get_website_label();
//! Returns the label used for the website link.
void set_website_label(string label);
//! Sets the label used for the website link. Defaults to the website URL.
|
3d7663 | 2005-11-03 | Lance Dillon | | array(string) get_authors()
//! Returns the strings which are displayed in the authors tab of the
//! secondary credits dialog.
{
pgtk_verify_inited();
my_pop_n_elems(args);
{
const gchar * const *auth;
int i=0;
auth=gtk_about_dialog_get_authors(GTK_ABOUT_DIALOG(THIS->obj));
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | | while (auth[i]) {
|
3d7663 | 2005-11-03 | Lance Dillon | | push_text(auth[i++]);
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | | f_utf8_to_string(1);
}
|
3d7663 | 2005-11-03 | Lance Dillon | | f_aggregate(i);
}
}
void set_authors(array(string) auth)
//! Sets the strings which are displayed in the authors tab of the secondary
//! credits dialog.
{
pgtk_verify_inited();
{
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | | ONERROR err;
|
3d7663 | 2005-11-03 | Lance Dillon | | struct array *a;
int i,j;
const gchar **auth;
get_all_args("set_authors",args,"%A",&a);
if (a==NULL)
Pike_error("Invalid array.\n");
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | |
/* Make sure we have space for the strings on the stack. */
check_stack(a->size+2);
auth=xalloc(sizeof(gchar *)*(a->size+1));
SET_ONERROR(err, free, auth);
|
3d7663 | 2005-11-03 | Lance Dillon | | for (i=j=0; i<a->size; i++) {
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | | if (ITEM(a)[i].type == PIKE_T_STRING) {
ref_push_string(ITEM(a)[i].u.string);
f_string_to_utf8(1);
#ifdef PIKE_DEBUG
if ((Pike_sp[-1].type != PIKE_T_STRING) ||
(Pike_sp[-1].u.string->size_shift)) {
Pike_fatal("Unexpected result from string_to_utf8: %s\n",
get_name_of_type(Pike_sp[-1].u.type));
}
#endif /* PIKE_DEBUG */
auth[j++] = Pike_sp[-1].u.string->str;
|
3d7663 | 2005-11-03 | Lance Dillon | | }
}
auth[j]=NULL;
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | |
|
3d7663 | 2005-11-03 | Lance Dillon | | gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(THIS->obj),auth);
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | |
pop_n_elems(j);
CALL_AND_UNSET_ONERROR(err);
|
3d7663 | 2005-11-03 | Lance Dillon | | }
RETURN_THIS();
}
array(string) get_artists()
//! Returns the strings which are displayed in the artists tab of the
//! secondary credits dialog.
{
pgtk_verify_inited();
my_pop_n_elems(args);
{
const gchar * const *art;
int i=0;
art=gtk_about_dialog_get_artists(GTK_ABOUT_DIALOG(THIS->obj));
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | | while (art[i]) {
|
3d7663 | 2005-11-03 | Lance Dillon | | push_text(art[i++]);
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | | f_utf8_to_string(1);
}
|
3d7663 | 2005-11-03 | Lance Dillon | | f_aggregate(i);
}
}
void set_artists(array(string) art)
//! Sets the strings which are displayed in the artists tab of the secondary
//! credits dialog.
{
pgtk_verify_inited();
{
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | | ONERROR err;
|
3d7663 | 2005-11-03 | Lance Dillon | | struct array *a;
int i,j;
const gchar **art;
get_all_args("set_artists",args,"%A",&a);
if (a==NULL)
Pike_error("Invalid array.\n");
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | |
/* Make sure we have space for the strings on the stack. */
check_stack(a->size+2);
art=xalloc(sizeof(gchar *)*(a->size+1));
SET_ONERROR(err, free, art);
|
3d7663 | 2005-11-03 | Lance Dillon | | for (i=j=0; i<a->size; i++) {
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | | if (ITEM(a)[i].type == PIKE_T_STRING) {
ref_push_string(ITEM(a)[i].u.string);
f_string_to_utf8(1);
#ifdef PIKE_DEBUG
if ((Pike_sp[-1].type != PIKE_T_STRING) ||
(Pike_sp[-1].u.string->size_shift)) {
Pike_fatal("Unexpected result from string_to_utf8: %s\n",
get_name_of_type(Pike_sp[-1].u.type));
}
#endif /* PIKE_DEBUG */
art[j++] = Pike_sp[-1].u.string->str;
|
3d7663 | 2005-11-03 | Lance Dillon | | }
}
art[j]=NULL;
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | |
|
3d7663 | 2005-11-03 | Lance Dillon | | gtk_about_dialog_set_artists(GTK_ABOUT_DIALOG(THIS->obj),art);
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | |
pop_n_elems(j);
CALL_AND_UNSET_ONERROR(err);
|
3d7663 | 2005-11-03 | Lance Dillon | | }
RETURN_THIS();
}
array(string) get_documenters()
//! Returns the strings which are displayed in the documenters tab of the
//! secondary credits dialog.
{
pgtk_verify_inited();
my_pop_n_elems(args);
{
const gchar * const *doc;
int i=0;
doc=gtk_about_dialog_get_documenters(GTK_ABOUT_DIALOG(THIS->obj));
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | | while (doc[i]) {
|
3d7663 | 2005-11-03 | Lance Dillon | | push_text(doc[i++]);
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | | f_utf8_to_string(1);
}
|
3d7663 | 2005-11-03 | Lance Dillon | | f_aggregate(i);
}
}
void set_documenters(array(string) doc)
//! Sets the strings which are displayed in the documenters tab of the
//! secondary credits dialog.
{
pgtk_verify_inited();
{
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | | ONERROR err;
|
3d7663 | 2005-11-03 | Lance Dillon | | struct array *a;
int i,j;
const gchar **doc;
get_all_args("set_documenters",args,"%A",&a);
if (a==NULL)
Pike_error("Invalid array.\n");
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | |
/* Make sure we have space for the strings on the stack. */
check_stack(a->size+2);
doc=xalloc(sizeof(gchar *)*(a->size+1));
SET_ONERROR(err, free, doc);
|
3d7663 | 2005-11-03 | Lance Dillon | | for (i=j=0; i<a->size; i++) {
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | | if (ITEM(a)[i].type == PIKE_T_STRING) {
ref_push_string(ITEM(a)[i].u.string);
f_string_to_utf8(1);
#ifdef PIKE_DEBUG
if ((Pike_sp[-1].type != PIKE_T_STRING) ||
(Pike_sp[-1].u.string->size_shift)) {
Pike_fatal("Unexpected result from string_to_utf8: %s\n",
get_name_of_type(Pike_sp[-1].u.type));
}
#endif /* PIKE_DEBUG */
doc[j++] = Pike_sp[-1].u.string->str;
|
3d7663 | 2005-11-03 | Lance Dillon | | }
}
doc[j]=NULL;
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | |
|
3d7663 | 2005-11-03 | Lance Dillon | | gtk_about_dialog_set_artists(GTK_ABOUT_DIALOG(THIS->obj),doc);
|
c27f8a | 2005-11-12 | Henrik Grubbström (Grubba) | |
pop_n_elems(j);
CALL_AND_UNSET_ONERROR(err);
|
3d7663 | 2005-11-03 | Lance Dillon | | }
RETURN_THIS();
}
|
1a0554 | 2005-07-28 | Martin Nilsson | | string get_translator_credits();
//! Returns the translator credis.
void set_translator_credits(string credits);
//! Sets the translator credits.
GDK2.Pixbuf get_logo();
//! Returns the pixbuf displayed as logo.
void set_logo(GDK2.Pixbuf logo);
//! Sets the pixbuf to be displayed as the logo.
string get_logo_icon_name();
//! Returns the icon name.
void set_logo_icon_name(string name);
//! Sets the icon name.
|
3d7663 | 2005-11-03 | Lance Dillon | | mixed get_property(string property)
//! Get property.
{
pgtk_verify_inited();
{
char *prop;
get_all_args("get_property",args,"%s",&prop);
if (!strcmp(prop,"artists") || !strcmp(prop,"authors") ||
!strcmp(prop,"documenters")) {
gchar **a;
int i=0;
g_object_get(G_OBJECT(THIS->obj),prop,&a,NULL);
while (a[i])
push_text(a[i]);
f_aggregate(i);
g_strfreev(a);
} else {
char *s=g_strdup(prop);
my_pop_n_elems(args);
pgtk_get_property(G_OBJECT(THIS->obj),s);
g_free(s);
}
}
}
|
1a0554 | 2005-07-28 | Martin Nilsson | | endrequire;
|