Fixed redrawing causing corruption of background.
[stockwidget] / lib-stock-home-widget.h
1 /*
2  * Simple stock widget
3  * Jon Parr
4  */
5
6 #ifndef STOCK_PLUGIN_H
7 #define STOCK_PLUGIN_H
8
9 /* Standard includes */
10 #include <glib-object.h>
11 #include <libhildondesktop/libhildondesktop.h>
12
13 /* Custom includes */
14 #include "stockgetter.h"
15 #include "lib-stock-settings.h"
16
17 G_BEGIN_DECLS
18
19 typedef struct _StockPlugin StockPlugin;
20 typedef struct _StockPluginClass StockPluginClass;
21
22 #define STOCK_TYPE_HOME_PLUGIN (stock_plugin_get_type ())
23
24 #define STOCK_HOME_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), STOCK_TYPE_HOME_PLUGIN, StockPlugin))
25
26 #define STOCK_HOME_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), STOCK_TYPE_HOME_PLUGIN, StockPluginClass))
27
28 #define STOCK_IS_HOME_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), STOCK_TYPE_HOME_PLUGIN))
29
30 #define STOCK_IS_HOME_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), STOCK_TYPE_HOME_PLUGIN))
31
32 #define STOCK_HOME_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), STOCK_TYPE_HOME_PLUGIN, StockPluginClass))
33
34 typedef struct _StockPluginContext
35 {
36         /* Used for updating when stock price changes */
37         GtkWidget       *psLabel;
38         GtkWidget       *psEventBox;
39         GtkWidget       *psParent;
40
41         /* Stock Getter Handle */
42         SGHandle hSG;
43
44         /* Timer func id */
45         guint nTimerID;
46         
47         /* Settings for the plugin (saved and loaded into config file) */
48         StockPluginSettings *psSettings;
49         
50 } StockPluginContext;
51
52 struct _StockPlugin
53 {
54     HDHomePluginItem     hitem;
55         StockPluginContext      *context;
56 };
57
58 struct _StockPluginClass
59 {
60     HDHomePluginItemClass parent_class;
61 };
62
63 GType stock_home_plugin_get_type(void);
64
65 G_END_DECLS
66
67 #define DEBUG
68
69 /* Debug print only */
70 #if defined(DEBUG)
71 #define DebugOut(X) {g_print("stockwidget: "); g_print X; g_print("\n");}
72 #else
73 #define DebugOut(X)
74 #endif/*defined(DEBUG)*/
75
76 #endif