Exemplo n.º 1
0
static void
matewnck_selector_finalize (GObject *object)
{
  MatewnckSelector *selector;

  selector = MATEWNCK_SELECTOR (object);

  if (selector->priv->window_hash)
    g_hash_table_destroy (selector->priv->window_hash);
  selector->priv->window_hash = NULL;

  G_OBJECT_CLASS (matewnck_selector_parent_class)->finalize (object);
}
Exemplo n.º 2
0
static void
matewnck_selector_dispose (GObject *object)
{
  MatewnckSelector *selector;

  selector = MATEWNCK_SELECTOR (object);

  if (selector->priv->menu)
    gtk_widget_destroy (selector->priv->menu);
  selector->priv->menu = NULL;

  selector->priv->image       = NULL;
  selector->priv->icon_window = NULL;

  G_OBJECT_CLASS (matewnck_selector_parent_class)->dispose (object);
}
Exemplo n.º 3
0
static GObject *
matewnck_selector_constructor (GType                  type,
                           guint                  n_construct_properties,
                           GObjectConstructParam *construct_properties)
{
  GObject *obj;

  obj = G_OBJECT_CLASS (matewnck_selector_parent_class)->constructor (
                                                      type,
                                                      n_construct_properties,
                                                      construct_properties);

  matewnck_selector_fill (MATEWNCK_SELECTOR (obj));

  return obj;
}
Exemplo n.º 4
0
static void
matewnck_selector_unrealize (GtkWidget *widget)
{
  MatewnckSelector *selector;
  MatewnckScreen   *screen;
  GList        *l;

  selector = MATEWNCK_SELECTOR (widget);
  screen = matewnck_selector_get_screen (selector);

  matewnck_selector_disconnect_from_screen (selector, screen);

  for (l = matewnck_screen_get_windows (screen); l; l = l->next)
    matewnck_selector_disconnect_from_window (selector, l->data);

  GTK_WIDGET_CLASS (matewnck_selector_parent_class)->unrealize (widget);
}
Exemplo n.º 5
0
static void
matewnck_selector_realize (GtkWidget *widget)
{
  MatewnckSelector *selector;
  MatewnckScreen   *screen;
  MatewnckWindow   *window;
  GList        *l;

  GTK_WIDGET_CLASS (matewnck_selector_parent_class)->realize (widget);

  selector = MATEWNCK_SELECTOR (widget);
  screen = matewnck_selector_get_screen (selector);

  window = matewnck_screen_get_active_window (screen);
  matewnck_selector_set_active_window (selector, window);

  for (l = matewnck_screen_get_windows (screen); l; l = l->next)
    matewnck_selector_connect_to_window (selector, l->data);

  matewnck_selector_connect_to_screen (selector, screen);
}
Exemplo n.º 6
0
static gboolean window_menu_key_press_event(GtkWidget* widget, GdkEventKey* event, WindowMenu* window_menu)
{
	GtkMenuShell* menu_shell;
	MatewnckSelector* selector;

	switch (event->keyval)
	{
		case GDK_KP_Enter:
		case GDK_ISO_Enter:
		case GDK_3270_Enter:
		case GDK_Return:
		case GDK_space:
		case GDK_KP_Space:
			selector = MATEWNCK_SELECTOR(window_menu->selector);
			/*
			 * We need to call _gtk_menu_shell_activate() here as is done in
			 * window_key_press_handler in gtkmenubar.c which pops up menu
			 * when F10 is pressed.
			 *
			 * As that function is private its code is replicated here.
			 */
			menu_shell = GTK_MENU_SHELL(selector);

			if (!menu_shell->active)
			{
				gtk_grab_add(GTK_WIDGET(menu_shell));
				menu_shell->have_grab = TRUE;
				menu_shell->active = TRUE;
			}

			gtk_menu_shell_select_first(menu_shell, FALSE);
			return TRUE;
		default:
			break;
	}

	return FALSE;
}