diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2001-06-24 21:13:50 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2001-06-24 21:13:50 +0800 |
commit | ea40bb0823d313579eb992f441d6fd08f7ef23a7 (patch) | |
tree | 36eaa395508d25f0c8ae26d56ed0ddf44f40793d /shell/evolution-activity-client.h | |
parent | 5b52672a1524bd6fda554c2abab496f856a5bbee (diff) | |
download | gsoc2013-evolution-ea40bb0823d313579eb992f441d6fd08f7ef23a7.tar.gz gsoc2013-evolution-ea40bb0823d313579eb992f441d6fd08f7ef23a7.tar.zst gsoc2013-evolution-ea40bb0823d313579eb992f441d6fd08f7ef23a7.zip |
Added an EvolutionActivityClient object to libeshell, to handle
updating of progress information from the component's side. This
object allows to automatically set a lower limit to the delay between
CORBA calls towards the shell, so that the component isn't slowed down
too much by doing too frequent updates.
Also changed the test component to use this instead of doing CORBA
calls directly.
svn path=/trunk/; revision=10449
Diffstat (limited to 'shell/evolution-activity-client.h')
-rw-r--r-- | shell/evolution-activity-client.h | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/shell/evolution-activity-client.h b/shell/evolution-activity-client.h new file mode 100644 index 0000000000..cc59cc1331 --- /dev/null +++ b/shell/evolution-activity-client.h @@ -0,0 +1,94 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* evolution-activity-client.h + * + * Copyright (C) 2001 Ximian, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Author: Ettore Perazzoli <ettore@ximian.com> + */ + +#ifndef _EVOLUTION_ACTIVITY_CLIENT_H_ +#define _EVOLUTION_ACTIVITY_CLIENT_H_ + +#include "evolution-shell-client.h" + +#include "Evolution.h" + +#include <gtk/gtkobject.h> +#include <gdk-pixbuf/gdk-pixbuf.h> + +#ifdef __cplusplus +extern "C" { +#pragma } +#endif /* __cplusplus */ + +#define EVOLUTION_TYPE_ACTIVITY_CLIENT (evolution_activity_client_get_type ()) +#define EVOLUTION_ACTIVITY_CLIENT(obj) (GTK_CHECK_CAST ((obj), EVOLUTION_TYPE_ACTIVITY_CLIENT, EvolutionActivityClient)) +#define EVOLUTION_ACTIVITY_CLIENT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), EVOLUTION_TYPE_ACTIVITY_CLIENT, EvolutionActivityClientClass)) +#define EVOLUTION_IS_ACTIVITY_CLIENT(obj) (GTK_CHECK_TYPE ((obj), EVOLUTION_TYPE_ACTIVITY_CLIENT)) +#define EVOLUTION_IS_ACTIVITY_CLIENT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), EVOLUTION_TYPE_ACTIVITY_CLIENT)) + + +typedef struct _EvolutionActivityClient EvolutionActivityClient; +typedef struct _EvolutionActivityClientPrivate EvolutionActivityClientPrivate; +typedef struct _EvolutionActivityClientClass EvolutionActivityClientClass; + +struct _EvolutionActivityClient { + GtkObject parent; + + EvolutionActivityClientPrivate *priv; +}; + +struct _EvolutionActivityClientClass { + GtkObjectClass parent_class; + + /* Signals. */ + void (* clicked) (EvolutionActivityClient *activity_client); + void (* display_progress) (EvolutionActivityClient *activity_client); + void (* display_dialog) (EvolutionActivityClient *activity_client); + void (* cancelled) (EvolutionActivityClient *activity_client); +}; + + +GtkType evolution_activity_client_get_type (void); +gboolean evolution_activity_client_construct (EvolutionActivityClient *activity_client, + EvolutionShellClient *shell_client, + const char *component_id, + GdkPixbuf **animated_icon, + const char *information, + gboolean cancellable, + gboolean *suggest_display_return); +EvolutionActivityClient *evolution_activity_client_new (EvolutionShellClient *shell_client, + const char *component_id, + GdkPixbuf **animated_icon, + const char *information, + gboolean cancellable, + gboolean *suggest_display_return); + +gboolean evolution_activity_client_update (EvolutionActivityClient *activity_client, + const char *information, + double progress); + +GNOME_Evolution_Activity_DialogAction +evolution_activity_client_request_dialog (EvolutionActivityClient *activity_client, + GNOME_Evolution_Activity_DialogType dialog_type); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* _EVOLUTION_ACTIVITY_CLIENT_H_ */ |