pidgin/plugins/ticker/gtkticker.h

Wed, 21 Sep 2011 06:45:26 +0000

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Wed, 21 Sep 2011 06:45:26 +0000
changeset 32575
eb4fc932fae9
parent 31293
169eeb43b52c
child 36890
fa13e99f8248
child 41357
758a7925a920
permissions
-rw-r--r--

Apply conversation theme when opening the GTK conversation. All the
parsing stuff was moved out of the theme code and into the conversation
code.

Someone (not me!) needs to check the code I commented out and see if
we really need that stuff (and then port it to WebKit/styling).

We also need to determine where to place Template.html and the rest
of our (not-yet-written) default theme.

3391
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1 /* GTK - The GIMP Toolkit
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
3 *
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
4 * This library is free software; you can redistribute it and/or
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
5 * modify it under the terms of the GNU Library General Public
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
6 * License as published by the Free Software Foundation; either
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
7 * version 2 of the License, or (at your option) any later version.
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
8 *
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
9 * This library is distributed in the hope that it will be useful,
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
12 * Library General Public License for more details.
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
13 *
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
14 * You should have received a copy of the GNU Library General Public
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
15 * License along with this library; if not, write to the
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 15435
diff changeset
16 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 15435
diff changeset
17 * Boston, MA 02111-1301, USA.
3391
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 */
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
19
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20 /*
31293
169eeb43b52c Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 26819
diff changeset
21 * Copyright 2000 Syd Logan
3391
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
22 */
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
23
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
24 #ifndef __GTK_TICKER_H__
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
25 #define __GTK_TICKER_H__
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
26
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
27
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
28 #include <gdk/gdk.h>
26727
b8885bab55ab More updates for GTK+ 3.0. This only fixes the single-includes. Fixing all
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 19859
diff changeset
29 #include <gtk/gtk.h>
3391
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
30
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
31
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
32 #ifdef __cplusplus
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
33 extern "C" {
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
34 #endif /* __cplusplus */
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
35
26819
9aa978699dbc Fix some more GTK_CHECK_* macros and a GtkType.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26727
diff changeset
36 #define GTK_TYPE_TICKER (gtk_ticker_get_type())
9aa978699dbc Fix some more GTK_CHECK_* macros and a GtkType.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26727
diff changeset
37 #define GTK_TICKER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_TICKER, GtkTicker))
9aa978699dbc Fix some more GTK_CHECK_* macros and a GtkType.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26727
diff changeset
38 #define GTK_TICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_TICKER, GtkTickerClass))
9aa978699dbc Fix some more GTK_CHECK_* macros and a GtkType.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26727
diff changeset
39 #define GTK_IS_TICKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_TICKER))
9aa978699dbc Fix some more GTK_CHECK_* macros and a GtkType.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26727
diff changeset
40 #define GTK_IS_TICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_TICKER))
3391
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
41
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
42
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
43 typedef struct _GtkTicker GtkTicker;
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
44 typedef struct _GtkTickerClass GtkTickerClass;
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
45 typedef struct _GtkTickerChild GtkTickerChild;
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
46
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
47 /* XXX children move from right to left, should be able to go other way */
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
48
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
49 struct _GtkTicker
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
50 {
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
51 GtkContainer container;
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
52 guint interval; /* how often to scootch */
7631
0e9e516bb6c3 [gaim-migrate @ 8255]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
53 gint spacing; /* inter-child horizontal spacing */
3391
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
54 guint scootch; /* how many pixels to move each scootch */
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
55 gint timer; /* timer object */
7631
0e9e516bb6c3 [gaim-migrate @ 8255]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
56 gint total; /* total width of widgets */
0e9e516bb6c3 [gaim-migrate @ 8255]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
57 gint width; /* width of containing window */
3391
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
58 gboolean dirty;
5170
1cf4ec14063f [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 3391
diff changeset
59 GList *children;
3391
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
60 };
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
61
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
62 struct _GtkTickerClass
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
63 {
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
64 GtkContainerClass parent_class;
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
65 };
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
66
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
67 struct _GtkTickerChild
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
68 {
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
69 GtkWidget *widget;
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
70 gint x; /* current position */
5170
1cf4ec14063f [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 3391
diff changeset
71 gint offset; /* offset in list */
3391
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
72 };
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
73
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
74
26819
9aa978699dbc Fix some more GTK_CHECK_* macros and a GtkType.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26727
diff changeset
75 GType gtk_ticker_get_type (void);
3391
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
76 GtkWidget* gtk_ticker_new (void);
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
77 void gtk_ticker_add (GtkTicker *ticker,
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
78 GtkWidget *widget);
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
79 void gtk_ticker_remove (GtkTicker *ticker,
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
80 GtkWidget *widget);
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
81 void gtk_ticker_set_interval (GtkTicker *ticker,
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
82 gint interval);
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
83 guint gtk_ticker_get_interval (GtkTicker *ticker);
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
84 void gtk_ticker_set_spacing (GtkTicker *ticker,
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
85 gint spacing);
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
86 guint gtk_ticker_get_spacing (GtkTicker *ticker);
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
87 void gtk_ticker_set_scootch (GtkTicker *ticker,
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
88 gint scootch);
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
89 guint gtk_ticker_get_scootch (GtkTicker *ticker);
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
90 void gtk_ticker_start_scroll (GtkTicker *ticker);
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
91 void gtk_ticker_stop_scroll (GtkTicker *ticker);
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
92
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
93 #ifdef __cplusplus
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
94 }
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
95 #endif /* __cplusplus */
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
96
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
97
80a19cca79da [gaim-migrate @ 3410]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
98 #endif /* __GTK_TICKER_H__ */

mercurial