summaryrefslogtreecommitdiff
path: root/matecomponent/libmate-panel-applet/panel-test-applets-matecomponent.c
diff options
context:
space:
mode:
Diffstat (limited to 'matecomponent/libmate-panel-applet/panel-test-applets-matecomponent.c')
-rw-r--r--matecomponent/libmate-panel-applet/panel-test-applets-matecomponent.c349
1 files changed, 0 insertions, 349 deletions
diff --git a/matecomponent/libmate-panel-applet/panel-test-applets-matecomponent.c b/matecomponent/libmate-panel-applet/panel-test-applets-matecomponent.c
deleted file mode 100644
index 7c0da952..00000000
--- a/matecomponent/libmate-panel-applet/panel-test-applets-matecomponent.c
+++ /dev/null
@@ -1,349 +0,0 @@
-/*
- * panel-test-applets.c:
- *
- * Authors:
- * Mark McLoughlin <[email protected]>
- *
- * Copyright 2002 Sun Microsystems, Inc.
- */
-
-#include <config.h>
-#include <glib/gi18n.h>
-#include <gtk/gtk.h>
-#include <matecomponent/matecomponent-exception.h>
-#include <matecomponent/matecomponent-main.h>
-#include <matecomponent/matecomponent-widget.h>
-#include <mateconf/mateconf.h>
-
-#include "mate-panel-applet.h"
-
-G_GNUC_UNUSED void on_execute_button_clicked (GtkButton *button, gpointer dummy);
-
-static GtkWidget *win = NULL;
-static GtkWidget *applet_combo = NULL;
-static GtkWidget *prefs_dir_entry = NULL;
-static GtkWidget *orient_combo = NULL;
-static GtkWidget *size_combo = NULL;
-
-static char *cli_iid = NULL;
-static char *cli_prefs_dir = NULL;
-static char *cli_size = NULL;
-static char *cli_orient = NULL;
-
-static const GOptionEntry options [] = {
- { "iid", 0, 0, G_OPTION_ARG_STRING, &cli_iid, N_("Specify an applet IID to load"), NULL},
- { "prefs-dir", 0, 0, G_OPTION_ARG_STRING, &cli_prefs_dir, N_("Specify a mateconf location in which the applet preferences should be stored"), NULL},
- { "size", 0, 0, G_OPTION_ARG_STRING, &cli_size, N_("Specify the initial size of the applet (xx-small, medium, large etc.)"), NULL},
- { "orient", 0, 0, G_OPTION_ARG_STRING, &cli_orient, N_("Specify the initial orientation of the applet (top, bottom, left or right)"), NULL},
- { NULL}
-};
-
-enum {
- COLUMN_TEXT,
- COLUMN_ITEM,
- NUMBER_COLUMNS
-};
-
-typedef struct {
- const char *name;
- const char *value;
-} ComboItem;
-
-static ComboItem orient_items [] = {
- { NC_("Orientation", "Top"), "top" },
- { NC_("Orientation", "Bottom"), "bottom" },
- { NC_("Orientation", "Left"), "left" },
- { NC_("Orientation", "Right"), "right" }
-};
-
-
-static ComboItem size_items [] = {
- { NC_("Size", "XX Small"), "xx-small" },
- { NC_("Size", "X Small"), "x-small" },
- { NC_("Size", "Small"), "small" },
- { NC_("Size", "Medium"), "medium" },
- { NC_("Size", "Large"), "large" },
- { NC_("Size", "X Large"), "x-large" },
- { NC_("Size", "XX Large"), "xx-large" }
-};
-
-static char *
-get_combo_value (GtkWidget *combo_box)
-{
- GtkTreeIter iter;
- GtkTreeModel *model;
- char *value;
-
- if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combo_box), &iter))
- return NULL;
-
- model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo_box));
- gtk_tree_model_get (model, &iter, COLUMN_ITEM, &value, -1);
-
- return value;
-}
-
-static char *
-construct_moniker (void)
-{
- const char *prefs_key;
- char *iid;
- char *size;
- char *orient;
- char *ret_value;
-
- iid = get_combo_value (applet_combo);
- g_assert (iid != NULL);
- size = get_combo_value (size_combo);
- g_assert (size != NULL);
- orient = get_combo_value (orient_combo);
- g_assert (orient != NULL);
-
- prefs_key = gtk_entry_get_text (GTK_ENTRY (prefs_dir_entry));
-
- ret_value= g_strdup_printf ("%s!prefs_key=%s;size=%s;orient=%s",
- iid, prefs_key, size, orient);
- g_free (iid);
- g_free (size);
- g_free (orient);
-
- return ret_value;
-}
-
-static void
-load_applet_into_window (const char *moniker,
- const char *title)
-{
- GtkWidget *applet_window;
- GtkWidget *applet;
-
- applet = matecomponent_widget_new_control (moniker, NULL);
-
- if (!applet) {
- GtkWidget *dialog;
-
- dialog = gtk_message_dialog_new (win ? GTK_WINDOW (win) : NULL,
- GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_CLOSE,
- _("Failed to load applet %s"),
- title);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
- return;
- }
-
- applet_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- gtk_widget_show (applet);
-
- gtk_container_add (GTK_CONTAINER (applet_window), applet);
-
- //FIXME: we could set the window icon with the applet icon
- gtk_window_set_title (GTK_WINDOW (applet_window), title);
- gtk_widget_show (applet_window);
-}
-
-static void
-load_applet_from_command_line (void)
-{
- GString *str;
-
- g_assert (cli_iid != NULL);
-
- str = g_string_new (cli_iid);
-
- if (cli_prefs_dir || cli_size || cli_orient) {
- g_string_append_c (str, '!');
-
- if (cli_prefs_dir)
- g_string_append_printf (str, "prefs_key=%s", cli_prefs_dir);
-
- g_string_append_c (str, ';');
-
- if (cli_size)
- g_string_append_printf (str, "size=%s", cli_size);
-
- g_string_append_c (str, ';');
-
- if (cli_orient)
- g_string_append_printf (str, "orient=%s", cli_orient);
- }
-
- g_print ("Loading %s\n", str->str);
-
- load_applet_into_window (str->str, cli_iid);
-
- g_string_free (str, TRUE);
-}
-
-G_GNUC_UNUSED void
-on_execute_button_clicked (GtkButton *button,
- gpointer dummy)
-{
- char *moniker;
- char *title;
-
- moniker = construct_moniker ();
- title = get_combo_value (applet_combo);
- load_applet_into_window (moniker, title);
- g_free (moniker);
- g_free (title);
-}
-
-static void
-setup_combo (GtkWidget *combo_box,
- ComboItem *items,
- const char *context,
- int nb_items,
- gboolean dynamic)
-{
- GtkListStore *model;
- GtkTreeIter iter;
- GtkCellRenderer *renderer;
- int i;
-
- model = gtk_list_store_new (NUMBER_COLUMNS,
- G_TYPE_STRING,
- G_TYPE_STRING);
-
- gtk_combo_box_set_model (GTK_COMBO_BOX (combo_box),
- GTK_TREE_MODEL (model));
-
-
- for (i = 0; i < nb_items; i++) {
- gtk_list_store_append (model, &iter);
- gtk_list_store_set (model, &iter,
- COLUMN_TEXT, dynamic ? g_strdup (items [i].name) : g_dpgettext2 (NULL, context, items [i].name),
- COLUMN_ITEM, dynamic ? g_strdup (items [i].value) : items [i].value,
- -1);
- }
-
- renderer = gtk_cell_renderer_text_new ();
- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box),
- renderer, TRUE);
- gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box),
- renderer, "text", COLUMN_TEXT, NULL);
-
- gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), 0);
-}
-
-static void
-setup_options (void)
-{
- MateComponent_ServerInfoList *applets;
- CORBA_Environment env;
- int i;
- char *prefs_dir;
- char *unique_key;
- ComboItem *applet_items;
- int applet_nb;
-
- CORBA_exception_init (&env);
-
- applets = matecomponent_activation_query (
- "has (repo_ids, 'IDL:MATE/Vertigo/MatePanelAppletShell:1.0')",
- NULL, &env);
-
- if (MATECOMPONENT_EX (&env))
- g_error (_("query returned exception %s\n"), MATECOMPONENT_EX_REPOID (&env));
-
- CORBA_exception_free (&env);
-
- applet_nb = applets->_length;
- applet_items = g_new0 (ComboItem, applet_nb);
-
- for (i = 0; i < applet_nb; i++) {
- MateComponent_ServerInfo *info;
-
- info = &applets->_buffer [i];
-
- applet_items[i].name = info->iid;
- applet_items[i].value = info->iid;
- }
-
- setup_combo (applet_combo, applet_items, NULL, applet_nb, TRUE);
- g_free (applet_items);
- CORBA_free (applets);
-
- setup_combo (size_combo, size_items, "Size",
- G_N_ELEMENTS (size_items), FALSE);
- setup_combo (orient_combo, orient_items, "Orientation",
- G_N_ELEMENTS (orient_items), FALSE);
-
- unique_key = mateconf_unique_key ();
- prefs_dir = g_strdup_printf ("/tmp/%s", unique_key);
- g_free (unique_key);
- gtk_entry_set_text (GTK_ENTRY (prefs_dir_entry), prefs_dir);
- g_free (prefs_dir);
-}
-
-int
-main (int argc, char **argv)
-{
- GtkBuilder *builder;
- char *uifile;
- GError *error;
-
- bindtextdomain (GETTEXT_PACKAGE, MATELOCALEDIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
-
- error = NULL;
- if (!gtk_init_with_args (&argc, &argv,
- "", (GOptionEntry *) options, GETTEXT_PACKAGE,
- &error)) {
- if (error) {
- g_printerr ("%s\n", error->message);
- g_error_free (error);
- } else
- g_printerr ("Cannot initiliaze GTK+.\n");
-
- return 1;
- }
-
- if (!matecomponent_init (&argc, argv)) {
- g_printerr ("Cannot initialize matecomponent.\n");
- return 1;
- }
-
- if (cli_iid) {
- load_applet_from_command_line ();
- gtk_main ();
- return 0;
- }
-
- builder = gtk_builder_new ();
- gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE);
-
- uifile = MATE_PANEL_APPLET_BUILDERDIR "/panel-test-applets.ui";
- gtk_builder_add_from_file (builder, uifile, &error);
-
- if (error) {
- g_warning ("Error loading \"%s\": %s", uifile, error->message);
- g_error_free (error);
- return 1;
- }
-
- gtk_builder_connect_signals (builder, NULL);
-
- win = GTK_WIDGET (gtk_builder_get_object (builder,
- "toplevel"));
- applet_combo = GTK_WIDGET (gtk_builder_get_object (builder,
- "applet-combo"));
- prefs_dir_entry = GTK_WIDGET (gtk_builder_get_object (builder,
- "prefs-dir-entry"));
- orient_combo = GTK_WIDGET (gtk_builder_get_object (builder,
- "orient-combo"));
- size_combo = GTK_WIDGET (gtk_builder_get_object (builder,
- "size-combo"));
- g_object_unref (builder);
-
- setup_options ();
-
- gtk_widget_show (win);
-
- gtk_main ();
-
- return 0;
-}