summaryrefslogtreecommitdiff
path: root/trunk/src/totem-statusbar.h
blob: 8fa961f222b4e3094d42697e46633e7af150caf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/* GTK - The GIMP Toolkit
 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
 * TotemStatusbar Copyright (C) 1998 Shawn T. Amundson
 *
 * 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 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
 */

/*
 * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
 * file for a list of people on the GTK+ Team.  See the ChangeLog
 * files for a list of changes.  These files are distributed with
 * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
 */

#ifndef __TOTEM_STATUSBAR_H__
#define __TOTEM_STATUSBAR_H__

#include <gtk/gtkhbox.h>

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */


#define TOTEM_TYPE_STATUSBAR            (totem_statusbar_get_type ())
#define TOTEM_STATUSBAR(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), TOTEM_TYPE_STATUSBAR, TotemStatusbar))
#define TOTEM_STATUSBAR_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), TOTEM_TYPE_STATUSBAR, TotemStatusbarClass))
#define TOTEM_IS_STATUSBAR(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TOTEM_TYPE_STATUSBAR))
#define TOTEM_IS_STATUSBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TOTEM_TYPE_STATUSBAR))
#define TOTEM_STATUSBAR_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), TOTEM_TYPE_STATUSBAR, TotemStatusbarClass))


typedef struct _TotemStatusbar      TotemStatusbar;
typedef struct _TotemStatusbarClass TotemStatusbarClass;

struct _TotemStatusbar
{
  GtkHBox parent_widget;

  GtkWidget *frame;
  GtkWidget *label;
  GtkWidget *progress;
  GtkWidget *time_label;

  gint time;
  gint length;
  char *saved_label;
  guint timeout;
  guint percentage;

  GdkWindow *grip_window;
  GdkCursor *cursor;

  guint has_resize_grip : 1;
  guint pushed : 1;
  guint seeking : 1;
};

struct _TotemStatusbarClass
{
  GtkHBoxClass parent_class;
};


GType      totem_statusbar_get_type     	(void) G_GNUC_CONST;
GtkWidget* totem_statusbar_new          	(void);

void       totem_statusbar_set_time		(TotemStatusbar *statusbar,
						 gint time);
void       totem_statusbar_set_time_and_length	(TotemStatusbar *statusbar,
						 gint time, gint length);
void       totem_statusbar_set_seeking          (TotemStatusbar *statusbar,
						 gboolean seeking);

void       totem_statusbar_set_text             (TotemStatusbar *statusbar,
						 const char *label);
void	   totem_statusbar_push			(TotemStatusbar *statusbar,
						 guint percentage);
void       totem_statusbar_pop			(TotemStatusbar *statusbar);

void     totem_statusbar_set_has_resize_grip (TotemStatusbar *statusbar,
					    gboolean      setting);
gboolean totem_statusbar_get_has_resize_grip (TotemStatusbar *statusbar);

GtkWidget *totem_statusbar_new_from_glade	(gchar *widget_name,
						 gchar *string1, gchar *string2,
						 gint int1, gint int2);

#ifdef __cplusplus
} 
#endif /* __cplusplus */
#endif /* __TOTEM_STATUSBAR_H__ */