[maemo-commits] [maemo-commits] r11159 - in projects/haf/trunk/hildon-desktop: . libhildondesktop
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu Apr 19 20:47:42 EEST 2007
- Previous message: [maemo-commits] r11158 - in projects/haf/trunk/osso-gnome-vfs2: . debian debian/patches
- Next message: [maemo-commits] r11160 - projects/haf/tags/hildon-desktop/0.0.7-1
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: moimart
Date: 2007-04-19 20:47:41 +0300 (Thu, 19 Apr 2007)
New Revision: 11159
Added:
projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.c
projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.h
Modified:
projects/haf/trunk/hildon-desktop/ChangeLog
projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-notification-manager.c
projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-notification-manager.h
projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c
projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.h
projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-window-dialog.c
projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-window-dialog.h
Log:
* libhildondesktop/hildon-desktop-popup-window.[ch]:
- Added stubs for new popup window.
* libhildondesktop/hildon-desktop-notification-manager.[ch]:
* libhildondesktop/hildon-desktop-panel-expandable.[ch]:
* libhildondesktop/hildon-desktop-panel-window-dialog.[ch}:
- fixed (c) year
* ChangeLog updated.
Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog 2007-04-19 15:36:00 UTC (rev 11158)
+++ projects/haf/trunk/hildon-desktop/ChangeLog 2007-04-19 17:47:41 UTC (rev 11159)
@@ -1,3 +1,12 @@
+2007-04-19 Moises Martinez <moises.martinez at nokia.com>
+
+ * libhildondesktop/hildon-desktop-popup-window.[ch]:
+ - Added stubs for new popup window.
+ * libhildondesktop/hildon-desktop-notification-manager.[ch]:
+ * libhildondesktop/hildon-desktop-panel-expandable.[ch]:
+ * libhildondesktop/hildon-desktop-panel-window-dialog.[ch}:
+ - fixed (c) year
+
2007-04-18 Lucas Rocha <lucas.rocha at nokia.com>
* libhildondesktop/hildon-desktop-notification-manager.[ch],
Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-notification-manager.c
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-notification-manager.c 2007-04-19 15:36:00 UTC (rev 11158)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-notification-manager.c 2007-04-19 17:47:41 UTC (rev 11159)
@@ -1,7 +1,7 @@
/*
* This file is part of hildon-desktop
*
- * Copyright (C) 2006 Nokia Corporation.
+ * Copyright (C) 2007 Nokia Corporation.
*
* Author: Lucas Rocha <lucas.rocha at nokia.com>
* Moises Martinez <moises.martinez at nokia.com>
Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-notification-manager.h
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-notification-manager.h 2007-04-19 15:36:00 UTC (rev 11158)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-notification-manager.h 2007-04-19 17:47:41 UTC (rev 11159)
@@ -1,7 +1,7 @@
/*
* This file is part of hildon-desktop
*
- * Copyright (C) 2006 Nokia Corporation.
+ * Copyright (C) 2007 Nokia Corporation.
*
* Author: Lucas Rocha <lucas.rocha at nokia.com>
* Moises Martinez <moises.martinez at nokia.com>
Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c 2007-04-19 15:36:00 UTC (rev 11158)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c 2007-04-19 17:47:41 UTC (rev 11159)
@@ -1,7 +1,7 @@
/*
* This file is part of maemo-af-desktop
*
- * Copyright (C) 2006 Nokia Corporation.
+ * Copyright (C) 2007 Nokia Corporation.
*
* Author: Moises Martinez <moises.martinez at nokia.com>
* Contact: Karoliina Salminen <karoliina.t.salminen at nokia.com>
Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.h
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.h 2007-04-19 15:36:00 UTC (rev 11158)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.h 2007-04-19 17:47:41 UTC (rev 11159)
@@ -1,7 +1,7 @@
/*
* This file is part of maemo-af-desktop
*
- * Copyright (C) 2006 Nokia Corporation.
+ * Copyright (C) 2007 Nokia Corporation.
*
* Author: Moises Martinez <moises.martinez at nokia.com>
* Contact: Karoliina Salminen <karoliina.t.salminen at nokia.com>
Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-window-dialog.c
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-window-dialog.c 2007-04-19 15:36:00 UTC (rev 11158)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-window-dialog.c 2007-04-19 17:47:41 UTC (rev 11159)
@@ -1,7 +1,7 @@
/*
* This file is part of maemo-af-desktop
*
- * Copyright (C) 2006 Nokia Corporation.
+ * Copyright (C) 2007 Nokia Corporation.
*
* Author: Moises Martinez <moises.martinez at nokia.com>
* Contact: Karoliina Salminen <karoliina.t.salminen at nokia.com>
Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-window-dialog.h
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-window-dialog.h 2007-04-19 15:36:00 UTC (rev 11158)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-window-dialog.h 2007-04-19 17:47:41 UTC (rev 11159)
@@ -1,7 +1,7 @@
/*
* This file is part of maemo-af-desktop
*
- * Copyright (C) 2006 Nokia Corporation.
+ * Copyright (C) 2007 Nokia Corporation.
*
* Author: Moises Martinez <moises.martinez at nokia.com>
* Contact: Karoliina Salminen <karoliina.t.salminen at nokia.com>
Added: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.c
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.c 2007-04-19 15:36:00 UTC (rev 11158)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.c 2007-04-19 17:47:41 UTC (rev 11159)
@@ -0,0 +1,432 @@
+/*
+ * This file is part of maemo-af-desktop
+ *
+ * Copyright (C) 2007 Nokia Corporation.
+ *
+ * Author: Moises Martinez <moises.martinez at nokia.com>
+ * Contact: Karoliina Salminen <karoliina.t.salminen at nokia.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#include "hildon-desktop-popup-window.h"
+
+#define HILDON_DESKTOP_POPUP_WINDOW_GET_PRIVATE(object) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((object), HILDON_DESKTOP_TYPE_POPUP_WINDOW, HildonDesktopPopupWindowPrivate))
+
+G_DEFINE_TYPE (HildonDesktopPopupWindow, hildon_desktop_popup_window, GTK_TYPE_WINDOW);
+
+enum
+{
+ PROP_POPUP_N_PANES=1,
+ PROP_POPUP_ORIENTATION,
+ PROP_POPUP_DIRECTION
+};
+
+enum
+{
+ POPUP_N_SIGNALS;
+};
+
+static GObject *hildon_desktop_popup_window_constructor (GType gtype,
+ guint n_params,
+ GObjectConstructParam *params);
+
+static void hildon_desktop_popup_window_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec);
+
+static void hildon_desktop_popup_window_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec);
+
+static void hildon_desktop_popup_window_realize (GtkWidget *widget);
+static void hildon_desktop_popup_window_unrealize (GtkWidget *widget);
+static void hildon_desktop_popup_window_show (GtkWidget *widget);
+static void hildon_desktop_popup_window_hide (GtkWidget *widget);
+static void hildon_desktop_popup_window_show_all (GtkWidget *widget);
+static void hildon_desktop_popup_window_hide_all (GtkWidget *widget);
+
+static gboolean hildon_desktop_popup_window_focus (GtkWidget *widget);
+
+static gboolean hildon_desktop_popup_window_visibility_notify (GtkWidget *widget,
+ GdkEventVisibility *event,
+ gpointer data);
+
+struct _HildonDesktopPopupWindow
+{
+ GtkWidget **extra_panes;
+ guint n_extra_panes;
+ GtkOrientation orientation;
+ HildonDesktopPopupWindowDirection direction;
+}
+
+static void
+hildon_desktop_popup_window_init (GObject *object)
+{
+ HildonDesktopPopupWindow *popup = HILDON_DESKTOP_POPUP_WINDOW (object);
+
+ popup->priv = HILDON_DESKTOP_POPUP_WINDOW_GET_PRIVATE (object);
+
+ popup->priv->extra_panes = NULL;
+ popup->priv->n_extra_panes = 0;
+
+
+}
+
+static void
+hildon_desktop_popup_window_class_init (HildonDesktopPopupWindow *popup_class)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (popup_class);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (popup_class);
+
+ object_class->constructor = hildon_desktop_popup_window_constructor;
+ object_class->set_property = hildon_desktop_popup_window_set_property;
+ object_class->get_property = hildon_desktop_popup_window_get_property;
+
+ widget_class->enter_notify_event = hildon_desktop_popup_window_enter_notify;
+ widget_class->leave_notify_event = hildon_desktop_popup_window_leave_notify;
+
+ widget_class->focus = hildon_desktop_popup_window_focus;
+
+ widget_class->realize = hildon_desktop_popup_window_realize;
+ widget_class->unrealize = hildon_desktop_popup_window_unrealize;
+ widget_class->show = hildon_desktop_popup_show;
+ widget_class->hide = hildon_desktop_popup_hide;
+ widget_class->show_all = hildon_desktop_popup_show_all;
+ widget_class->hide_all = hildon_desktop_popup_hide_all;
+
+ g_type_class_add_private (g_object_class, sizeof (HildonDesktopPopupWindowPrivate));
+
+ g_object_class_install_property (object_class,
+ PROP_POPUP_N_PANES,
+ g_param_spec_uint(
+ "n-panes",
+ "npanes",
+ "Number of extra panes",
+ 0,
+ 20,
+ 0,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+
+ g_object_class_install_property (object_class,
+ PROP_POPUP_ORIENTATION,
+ g_param_spec_int(
+ "orientation",
+ "orientation",
+ "Stack panels horizontally or vertically",
+ GTK_ORIENTATION_HORIZONTAL,
+ GTK_ORIENTATION_VERTICAL,
+ GTK_ORIENTATION_HORIZONTAL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+
+ g_object_class_install_property (object_class,
+ PROP_POPUP_DIRECTION,
+ g_param_spec_int(
+ "direction",
+ "orientation",
+ "Stack panels to left/top or right/bottom",
+ HD_POPUP_WINDOW_DIRECTION_LEFT_TOP,
+ HD_POPUP_WINDOW_DIRECTION_RIGHT_BOTTOM,
+ HD_POPUP_WINDOW_DIRECTION_RIGHT_BOTTOM,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+}
+
+static GObject *
+hildon_desktop_popup_window_constructor (GType gtype,
+ guint n_params,
+ GObjectConstructParam *params)
+{
+ GObject *object;
+ HildonDesktopPopupWindow *popup;
+ gint i;
+
+ object = G_OBJECT_CLASS (hildon_desktop_popup_window_parent_class)->constructor (gtype,
+ n_params,
+ params);
+
+ popup = HILDON_DESKTOP_POPUP_WINDOW (object);
+
+ GTK_WINDOW (popup)->type = GTK_WINDOW_POPUP;
+
+ gtk_window_set_type_hint (GTK_WINDOW (popup), GDK_WINDOW_TYPE_HINT_POPUP);
+
+ g_signal_connect (popup,
+ "visibility_notify_envent",
+ G_CALLBACK (hildon_desktop_popup_window_visibility_notify),
+ NULL);
+
+ gtk_widget_push_composite_child ();
+
+ popup->priv->extra_panes = g_new0 (GtkWindow *, popup->priv->n_extra_panes);
+
+ for (i=0; i < popup->priv->n_extra_panes; i++)
+ {
+ popup->priv->extra_panes[i] = gtk_window_new (GTK_WINDOW_POPUP);
+
+ g_signal_connect (popup->priv->extra_panes[i],
+ "enter-notify-event",
+ G_CALLBACK (hildon_desktop_popup_window_composited_enter_notify),
+ (gpointer)popup);
+
+ g_signal_connect (popup->priv->extra_panes[i],
+ "leave-notify-event",
+ G_CALLBACK (hildon_desktop_popup_window_composited_leave_notify),
+ (gpointer)popup);
+
+ /*FIXME: NO FOCUS FOR ANY WINDOW!!!!!!!!!!!!!!!!!! */
+ }
+
+ gtk_widget_pop_composite_child ();
+
+ return object;
+}
+
+/* At some point I will use macros :) */
+
+static void
+hildon_desktop_popup_window_realize (GtkWidget *widget)
+{
+ HildonDesktopPopupWindow *popup = HILDON_DESKTOP_POPUP_WINDOW (widget);
+ register gint i;
+
+ GTK_WIDGET_CLASS (hildon_desktop_popup_window_parent_class)->realize (widget);
+
+ for (i=0; i < popup->priv->n_extra_panes; i++)
+ gtk_widget_realize (popup->priv->extra_panes[i]);
+}
+
+static void
+hildon_desktop_popup_window_unrealize (GtkWidget *widget)
+{
+ HildonDesktopPopupWindow *popup = HILDON_DESKTOP_POPUP_WINDOW (widget);
+ register gint i;
+
+ GTK_WIDGET_CLASS (hildon_desktop_popup_window_parent_class)->unrealize (widget);
+
+ for (i=0; i < popup->priv->n_extra_panes; i++)
+ gtk_widget_unrealize (popup->priv->extra_panes[i]);
+}
+
+static void
+hildon_desktop_popup_window_show (GtkWidget *widget)
+{
+ HildonDesktopPopupWindow *popup = HILDON_DESKTOP_POPUP_WINDOW (widget);
+ register gint i;
+
+ GTK_WIDGET_CLASS (hildon_desktop_popup_window_parent_class)->show (widget);
+
+ for (i=0; i < popup->priv->n_extra_panes; i++)
+ gtk_widget_show (popup->priv->extra_panes[i]);
+}
+
+static void
+hildon_desktop_popup_window_hide (GtkWidget *widget)
+{
+ HildonDesktopPopupWindow *popup = HILDON_DESKTOP_POPUP_WINDOW (widget);
+ register gint i;
+
+ GTK_WIDGET_CLASS (hildon_desktop_popup_window_parent_class)->hide (widget);
+
+ for (i=0; i < popup->priv->n_extra_panes; i++)
+ gtk_widget_hide (popup->priv->extra_panes[i]);
+}
+
+static void
+hildon_desktop_popup_window_show_all (GtkWidget *widget)
+{
+ HildonDesktopPopupWindow *popup = HILDON_DESKTOP_POPUP_WINDOW (widget);
+ register gint i;
+
+ GTK_WIDGET_CLASS (hildon_desktop_popup_window_parent_class)->show_all (widget);
+
+ for (i=0; i < popup->priv->n_extra_panes; i++)
+ gtk_widget_show_all (popup->priv->extra_panes[i]);
+}
+
+static void
+hildon_desktop_popup_window_hide_all (GtkWidget *widget)
+{
+ HildonDesktopPopupWindow *popup = HILDON_DESKTOP_POPUP_WINDOW (widget);
+ register gint i;
+
+ GTK_WIDGET_CLASS (hildon_desktop_popup_window_parent_class)->hide_all (widget);
+
+ for (i=0; i < popup->priv->n_extra_panes; i++)
+ gtk_widget_hide_all (popup->priv->extra_panes[i]);
+}
+
+static gboolean
+hildon_desktop_popup_window_focus (GtkWidget *widget)
+{
+ /* What focus? */
+ return FALSE;
+}
+
+static gboolean
+hildon_desktop_popup_window_enter_notify (GtkWidget *widget,
+ GdkEventCrossing *event)
+{
+ HildonDesktopPopupWindow *popup = HILDON_DESKTOP_POPUP_WINDOW (widget);
+
+ /* We have to grab the pointer in here, we should get this when we come from
+ * a composited window
+ */
+
+ return TRUE;
+}
+
+static gboolean
+hildon_desktop_popup_window_leave_notify (GtkWidget *widget,
+ GdkEventCrossing *event)
+{
+ HildonDesktopPopupWindow *popup = HILDON_DESKTOP_POPUP_WINDOW (widget);
+
+ /* We have to ungrab the pointer in here, we should get this when we go to
+ * a composited window
+ */
+
+ return TRUE;
+}
+
+static gboolean
+hildon_desktop_popup_window_composited_enter_notify (GtkWidget *widget,
+ GdkEventCrossing *event,
+ HildonDesktopPopupWindow *popup)
+{
+
+
+ return TRUE;
+}
+
+static gboolean
+hildon_desktop_popup_window_composited_leave_notify (GtkWidget *widget,
+ GdkEventCrossing *event,
+ HildonDesktopPopupWindow *popup)
+{
+
+
+ return TRUE;
+}
+
+static gboolean
+hildon_desktop_popup_window_visibility_notify (GtkWidget *widget,
+ GdkEventVisibility *event,
+ gpointer data)
+{
+ HildonDesktopPopupWindow *popup = HILDON_DESKTOP_POPUP_WINDOW (widget);
+
+ /* We have to close every window when called this but also we have to
+ * track if our composited windows are not the responsibles for the
+ * visibility-notify
+ */
+
+ return TRUE;
+}
+
+static void
+hildon_desktop_popup_window_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ HildonDesktopPopupWindow *popup = HILDON_DESKTOP_POPUP_WINDOW (object);
+
+ switch (prop_id)
+ {
+ case PROP_POPUP_N_PANES:
+ g_value_set_uint (value, popup->priv->n_extra_panes);
+ break;
+
+ case PROP_POPUP_ORIENTATION:
+ g_value_set_int (value, popup->priv->orientation);
+ break;
+
+ case PROP_POPUP_DIRECTION:
+ g_value_set_int (value, popup->priv->direction);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+
+}
+
+static void
+hildon_desktop_popup_window_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ HildonDesktopPopupWindow *popup = HILDON_DESKTOP_POPUP_WINDOW (object);
+
+ switch (prop_id)
+ {
+ case PROP_POPUP_N_PANES:
+ popup->priv->n_extra_panes = g_value_get_uint (value);
+ break;
+
+ case PROP_POPUP_ORIENTATION:
+ popup->priv->orientation = g_value_get_int (value);
+ break;
+
+ case PROP_POPUP_DIRECTION:
+ popup->priv->direction = g_value_get_int (value);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+GtkWidget *
+hildon_desktop_popup_window (guint n_panes,
+ GtkOrientation orientation,
+ HildonDesktopPopupWindowDirection direction)
+{
+ return GTK_WIDGET (g_object_new (HILDON_DESKTOP_TYPE_POPUP_WINDOW,
+ "n-panes",n_panes,
+ "orientation",orientation,
+ "direction",direction,
+ NULL));
+}
+
+GtkWidget *
+hildon_desktop_popup_window_get_pane (HildonDesktopPopupWindow *popup, gint pane)
+{
+ g_assert (HILDON_DESKTOP_IS_POPUP_WINDOW (popup));
+
+ if (pane <= -1)
+ return GTK_WIDGET (popup);
+ else
+ if (pane >= popup->priv->n_extra_panes)
+ return popup->priv->extra_panes [popup->priv->n_extra_panes-1];
+ else
+ return popup->priv->extra_panes [pane];
+}
+
+void
+hildon_desktop_popup_window_popup (HildonDesktopPopupWindow *popup,
+ GtkMenuPositionFunc func)
+{
+
+
+}
Added: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.h
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.h 2007-04-19 15:36:00 UTC (rev 11158)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.h 2007-04-19 17:47:41 UTC (rev 11159)
@@ -0,0 +1,83 @@
+/*
+ * This file is part of maemo-af-desktop
+ *
+ * Copyright (C) 2007 Nokia Corporation.
+ *
+ * Author: Moises Martinez <moises.martinez at nokia.com>
+ * Contact: Karoliina Salminen <karoliina.t.salminen at nokia.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef __HILDON_DESKTOP_POPUP_WINDOW_H__
+#define __HILDON_DESKTOP_POPUP_WINDOW_H__
+
+#include <gtk/gtkwindow.h>
+
+#include <gtk/gtkmenu.h> /*Only for GtkMenuPositionFunc*/
+
+G_BEGIN_DECLS
+
+typedef struct _HildonDesktopPopupWindow HildonDesktopPopupWindow;
+typedef struct _HildonDesktopPopupWindowClass HildonDesktopPopupWindowClass;
+typedef struct _HildonDesktopPopupWindowPrivate HildonDesktopPopupWindowPrivate;
+
+typedef enum
+{
+ HD_POPUP_WINDOW_DIRECTION_LEFT_TOP,
+ HD_POPUP_WINDOW_DIRECTION_RIGHT_BOTTOM
+}
+HildonDesktopPopupWindowDirection;
+
+#define HILDON_DESKTOP_TYPE_POPUP_WINDOW ( hildon_desktop_popup_window_get_type() )
+#define HILDON_DESKTOP_POPUP_WINDOW(obj) (GTK_CHECK_CAST (obj, HILDON_DESKTOP_TYPE_POPUP_WINDOW, HildonDesktopPopupWindow))
+#define HILDON_DESKTOP_POPUP_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), HILDON_DESKTOP_TYPE_POPUP_WINDOW, HildonDesktopPopupWindowClass))
+#define HILDON_DESKTOP_IS_POPUP_WINDOW(obj) (GTK_CHECK_TYPE (obj, HILDON_DESKTOP_TYPE_POPUP_WINDOW))
+#define HILDON_DESKTOP_IS_POPUP_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), HILDON_DESKTOP_TYPE_POPUP_WINDOW))
+
+struct _HildonDesktopPopupWindow
+{
+ GtkWindow parent;
+
+ HildonDesktopPopupWindowPrivate *priv;
+};
+
+struct _HildonDesktopPopupWindowClass
+{
+ /* */
+}
+
+GType
+hildon_desktop_popup_window_get_type (void);
+
+GtkWidget *
+hildon_desktop_popup_window (guint n_panes,
+ GtkOrientation orientation,
+ HildonDesktopPopupWindowDirection direction);
+
+GtkWidget *
+hildon_desktop_popup_window_get_pane (HildonDesktopPopupWindow *popup, gint pane);
+
+void
+hildon_desktop_popup_window_popup (HildonDesktopPopupWindow *popup,
+ GtkMenuPositionFunc func);
+
+
+G_BEGIN_DECLS
+
+#endif/*__HILDON_DESKTOP_POPUP_WINDOW_H__*/
+
- Previous message: [maemo-commits] r11158 - in projects/haf/trunk/osso-gnome-vfs2: . debian debian/patches
- Next message: [maemo-commits] r11160 - projects/haf/tags/hildon-desktop/0.0.7-1
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
