src/gtkticker.h

Tue, 04 Feb 2003 06:57:35 +0000

author
Christian Hammond <chipx86@chipx86.com>
date
Tue, 04 Feb 2003 06:57:35 +0000
changeset 4514
40e3588a280f
parent 2595
60c1a3673ad2
permissions
-rw-r--r--

[gaim-migrate @ 4792]
Of course, file transfer wasn't really gone..

I'm trying my hardest to bring on the end of the world (see the roadmap at
http://gaim.sf.net/roadmap.png). File transfer is being rewritten. This
isn't the finished implementation, but it's enough to let us get the prpls
working.

There is now a file transfer dialog, which will appear when you get a new
transfer request or when you go to Tools -> File Transfers.

This is of course core/UI split. I'll also be working on documentation on
how to write FT support in a prpl. Oh, and I'll get resumes and transfer
batches done when school isn't breathing down my back.

Only DCC receive in IRC currently works. Sorry. We'll get the other prpls
working soon, as well as send.

430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
1 /* GTK - The GIMP Toolkit
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
3 *
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
4 * This library is free software; you can redistribute it and/or
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
5 * modify it under the terms of the GNU Library General Public
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
6 * License as published by the Free Software Foundation; either
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
7 * version 2 of the License, or (at your option) any later version.
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
8 *
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
9 * This library is distributed in the hope that it will be useful,
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
12 * Library General Public License for more details.
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
13 *
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
14 * You should have received a copy of the GNU Library General Public
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
15 * License along with this library; if not, write to the
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
17 * Boston, MA 02111-1307, USA.
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
18 */
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
19
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
20 /*
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
21 * Copyright 2000 Syd Logan
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
22 */
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
23
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
24 #ifndef __GTK_TICKER_H__
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
25 #define __GTK_TICKER_H__
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
26
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
27
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
28 #include <gdk/gdk.h>
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
29 #include <gtk/gtkcontainer.h>
1114
a1e5c60bd23d [gaim-migrate @ 1124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 430
diff changeset
30 #include <gtk/gtkmain.h>
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
31
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
32
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
33 #ifdef __cplusplus
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
34 extern "C" {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
35 #endif /* __cplusplus */
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
36
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
37 #define GTK_TYPE_TICKER (gtk_ticker_get_type ())
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
38 #define GTK_TICKER(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_TICKER, GtkTicker))
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
39 #define GTK_TICKER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TICKER, GtkTickerClass))
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
40 #define GTK_IS_TICKER(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_TICKER))
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
41 #define GTK_IS_TICKER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TICKER))
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
42
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
43
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
44 typedef struct _GtkTicker GtkTicker;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
45 typedef struct _GtkTickerClass GtkTickerClass;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
46 typedef struct _GtkTickerChild GtkTickerChild;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
47
2387
c64823ce9e10 [gaim-migrate @ 2400]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1114
diff changeset
48 /* XXX children move from right to left, should be able to go other way */
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
49
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
50 struct _GtkTicker
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
51 {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
52 GtkContainer container;
2387
c64823ce9e10 [gaim-migrate @ 2400]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1114
diff changeset
53 guint interval; /* how often to scootch */
c64823ce9e10 [gaim-migrate @ 2400]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1114
diff changeset
54 guint spacing; /* inter-child horizontal spacing */
c64823ce9e10 [gaim-migrate @ 2400]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1114
diff changeset
55 guint scootch; /* how many pixels to move each scootch */
c64823ce9e10 [gaim-migrate @ 2400]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1114
diff changeset
56 gint timer; /* timer object */
c64823ce9e10 [gaim-migrate @ 2400]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1114
diff changeset
57 guint total; /* total width of widgets */
c64823ce9e10 [gaim-migrate @ 2400]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1114
diff changeset
58 guint width; /* width of containing window */
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
59 gboolean dirty;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
60 GList *children;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
61 };
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
62
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
63 struct _GtkTickerClass
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
64 {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
65 GtkContainerClass parent_class;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
66 };
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
67
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
68 struct _GtkTickerChild
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
69 {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
70 GtkWidget *widget;
2595
60c1a3673ad2 [gaim-migrate @ 2608]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2387
diff changeset
71 gint x; /* current position */
60c1a3673ad2 [gaim-migrate @ 2608]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2387
diff changeset
72 gint offset; /* offset in list */
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
73 };
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
74
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
75
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
76 GtkType gtk_ticker_get_type (void);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
77 GtkWidget* gtk_ticker_new (void);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
78 void gtk_ticker_add (GtkTicker *ticker,
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
79 GtkWidget *widget);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
80 void gtk_ticker_remove (GtkTicker *ticker,
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
81 GtkWidget *widget);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
82 void gtk_ticker_set_interval (GtkTicker *ticker,
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
83 gint interval);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
84 guint gtk_ticker_get_interval (GtkTicker *ticker);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
85 void gtk_ticker_set_spacing (GtkTicker *ticker,
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
86 gint spacing);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
87 guint gtk_ticker_get_spacing (GtkTicker *ticker);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
88 void gtk_ticker_set_scootch (GtkTicker *ticker,
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
89 gint scootch);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
90 guint gtk_ticker_get_scootch (GtkTicker *ticker);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
91 void gtk_ticker_start_scroll (GtkTicker *ticker);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
92 void gtk_ticker_stop_scroll (GtkTicker *ticker);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
93
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
94 #ifdef __cplusplus
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
95 }
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
96 #endif /* __cplusplus */
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
97
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
98
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
99 #endif /* __GTK_TICKER_H__ */

mercurial