00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef HILDON_NAVIGATOR_PANEL_H
00026 #define HILDON_NAVIGATOR_PANEL_H
00027
00028 #define LIBTN_MAIL_PLUGIN "libtn_mail_plugin.so"
00029 #define LIBTN_BOOKMARK_PLUGIN "libtn_bookmark_plugin.so"
00030
00031 #define HILDON_NAVIGATOR_LOG_FILE "/.osso/navigator.log"
00032
00033 #include <gtk/gtkbox.h>
00034 #include "hildon-navigator-item.h"
00035 #include "hn-wm.h"
00036
00037 G_BEGIN_DECLS
00038
00039 #define PLUGIN_KEY_LIB "Library"
00040 #define PLUGIN_KEY_POSITION "Position"
00041 #define PLUGIN_KEY_MANDATORY "Mandatory"
00042
00043 #define BUTTON_HEIGHT 90
00044 #define BUTTON_WIDTH 80
00045
00046 #define HILDON_NAVIGATOR_PANEL_TYPE ( hildon_navigator_panel_get_type() )
00047 #define HILDON_NAVIGATOR_PANEL(obj) (GTK_CHECK_CAST (obj, \
00048 HILDON_NAVIGATOR_PANEL_TYPE, \
00049 HildonNavigatorPanel))
00050 #define HILDON_NAVIGATOR_PANEL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), \
00051 HILDON_NAVIGATOR_PANEL_TYPE, HildonNavigatorPanelClass))
00052 #define HILDON_IS_NAVIGATOR_PANEL(obj) (GTK_CHECK_TYPE (obj, \
00053 HILDON_NAVIGATOR_PANEL_TYPE))
00054 #define HILDON_IS_NAVIGATOR_PANEL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), \
00055 HILDON_NAVIGATOR_PANEL_TYPE))
00056 #define HILDON_NAVIGATOR_PANEL_GET_PRIVATE(obj) \
00057 (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
00058 HILDON_NAVIGATOR_PANEL_TYPE, HildonNavigatorPanelPrivate));
00059
00060 typedef struct _HildonNavigatorPanel HildonNavigatorPanel;
00061 typedef struct _HildonNavigatorPanelClass HildonNavigatorPanelClass;
00062
00063 struct _HildonNavigatorPanel
00064 {
00065 GtkBox parent;
00066
00067 };
00068
00069 struct _HildonNavigatorPanelClass
00070 {
00071 GtkBoxClass parent_class;
00072
00073 void (*load_plugins_from_file) (HildonNavigatorPanel *panel,
00074 gchar *filename);
00075 void (*unload_all_plugins) (HildonNavigatorPanel *panel,
00076 gboolean mandatory);
00077 void (*set_orientation) (HildonNavigatorPanel *panel,
00078 GtkOrientation orientation);
00079 GtkOrientation
00080 (*get_orientation) (HildonNavigatorPanel *panel);
00081
00082 void (*flip_panel) (HildonNavigatorPanel *panel);
00083
00084 void (*add_button) (HildonNavigatorPanel *panel,
00085 GtkWidget *button);
00086
00087 GList *(*get_plugins) (HildonNavigatorPanel *panel);
00088 GList *(*peek_plugins) (HildonNavigatorPanel *panel);
00089
00090 HildonNavigatorItem *
00091 (*get_plugin_by_position) (HildonNavigatorPanel *panel,
00092 guint position);
00093 };
00094
00095 GType hildon_navigator_panel_get_type (void);
00096
00097 HildonNavigatorPanel *
00098 hildon_navigator_panel_new (void);
00099
00100 void
00101 hn_panel_load_dummy_buttons (HildonNavigatorPanel *panel);
00102
00103 void
00104 hn_panel_load_plugins_from_file (HildonNavigatorPanel *panel, gchar *file);
00105
00106 void
00107 hn_panel_unload_all_plugins (HildonNavigatorPanel *panel, gboolean mandatory);
00108
00109 void
00110 hn_panel_set_orientation (HildonNavigatorPanel *panel, GtkOrientation orientation);
00111
00112 GtkOrientation
00113 hn_panel_get_orientation (HildonNavigatorPanel *panel);
00114
00115 void
00116 hn_panel_flip_panel (HildonNavigatorPanel *panel);
00117
00118 void
00119 hn_panel_add_button (HildonNavigatorPanel *panel, GtkWidget *button);
00120
00121 GList *
00122 hn_panel_get_plugins (HildonNavigatorPanel *panel);
00123
00124 GList *
00125 hn_panel_peek_plugins (HildonNavigatorPanel *panel);
00126
00127 HildonNavigatorItem *
00128 hn_panel_get_plugin_by_position (HildonNavigatorPanel *panel, guint position);
00129
00130 G_END_DECLS
00131
00132 #endif