2006-08-30 Michael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
[hildon] / hildon-widgets / hildon-window.h
index 3b94ffa..da8a21d 100644 (file)
@@ -3,12 +3,12 @@
  *
  * Copyright (C) 2006 Nokia Corporation.
  *
- * Contact: Luc Pionchon <luc.pionchon@nokia.com>
+ * Contact: Michael Dominic Kostrzewa <michael.kostrzewa@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.
+ * as published by the Free Software Foundation; version 2.1 of
+ * the License.
  *
  * This library is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -23,8 +23,8 @@
  */
 
 
-#ifndef HILDON_WINDOW_H
-#define HILDON_WINDOW_H
+#ifndef __HILDON_WINDOW_H__
+#define __HILDON_WINDOW_H__
 
 #include <glib.h>
 #include <glib-object.h>
@@ -48,14 +48,15 @@ G_BEGIN_DECLS
 #define HILDON_IS_WINDOW(obj) (GTK_CHECK_TYPE (obj, HILDON_TYPE_WINDOW))
 #define HILDON_IS_WINDOW_CLASS(klass) \
     (GTK_CHECK_CLASS_TYPE ((klass), HILDON_TYPE_WINDOW))
-typedef struct _HildonWindow HildonWindow;
+
+typedef struct _HildonWindow      HildonWindow;
 typedef struct _HildonWindowClass HildonWindowClass;
 
 /**
  * HildonWindowPrivate:
  *
- * This structure contains just internal data. It should not
- * be accessed directly.
+ * This structure contains just internal data.
+ * It should not be accessed directly.
  */
 typedef struct _HildonWindowPrivate HildonWindowPrivate;
 
@@ -67,31 +68,45 @@ struct _HildonWindow
     HildonWindowPrivate *priv;
 };
 
+enum
+{
+  HILDON_WINDOW_CO_COPY,
+  HILDON_WINDOW_CO_CUT,
+  HILDON_WINDOW_CO_PASTE
+};
+
 struct _HildonWindowClass
 {
     GtkWindowClass parent_class;
 
+    /* opera hacks for clip board operation */
+    void (*clipboard_operation)(HildonWindow *hwindow, int operation);
     /* Padding for future extension */
     void (*_hildon_reserved1)(void);
     void (*_hildon_reserved2)(void);
     void (*_hildon_reserved3)(void);
-    void (*_hildon_reserved4)(void);
 };
 
 
 GType       hildon_window_get_type          (void);
+
 GtkWidget * hildon_window_new               (void);
-void        hildon_window_add_with_scrollbar(HildonWindow * self,
-                                             GtkWidget * child);
-GtkMenu *   hildon_window_get_menu          (HildonWindow * self);
-void        hildon_window_set_menu          (HildonWindow * self,
-                                             GtkMenu *menu);
+
+void        hildon_window_add_with_scrollbar(HildonWindow *self,
+                                             GtkWidget    *child);
+
+GtkMenu *   hildon_window_get_menu          (HildonWindow *self);
+void        hildon_window_set_menu          (HildonWindow *self,
+                                             GtkMenu      *menu);
+
 void        hildon_window_add_toolbar       (HildonWindow *self,
-                                             GtkToolbar *toolbar);
+                                             GtkToolbar   *toolbar);
+
 void        hildon_window_remove_toolbar    (HildonWindow *self,
-                                             GtkToolbar *toolbar);
+                                             GtkToolbar   *toolbar);
 
 gboolean    hildon_window_get_is_topmost    (HildonWindow *self);
 
+
 G_END_DECLS
-#endif /* HILDON_WINDOW_H */
+#endif /* __HILDON_WINDOW_H__ */