3
* Copyright (c) 2004-2007 Jasper Huijsmans <jasper@xfce.org>
2
* Copyright (C) 2006-2007 Jasper Huijsmans <jasper@xfce.org>
3
* Copyright (C) 2008-2009 Nick Schermer <nick@xfce.org>
5
5
* This library is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Library General Public
6
* modify it under the terms of the GNU Lesser General Public
7
7
* License as published by the Free Software Foundation; either
8
* version 2 of the License, or (at your option) any later version.
8
* version 2.1 of the License, or (at your option) any later version.
10
10
* This library is distributed in the hope that it will be useful,
11
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Library General Public License for more details.
13
* Lesser General Public License for more details.
15
* You should have received a copy of the GNU Library General Public
16
* License along with this library; if not, write to the
17
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18
* Boston, MA 02111-1307, USA.
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with this library; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
/* #if !defined(LIBXFCE4PANEL_INSIDE_LIBXFCE4PANEL_H) && !defined(LIBXFCE4PANEL_COMPILATION)
21
#error "Only <libxfce4panel/libxfce4panel.h> can be included directly, this file may disappear or change contents"
21
24
#ifndef __XFCE_ARROW_BUTTON_H__
22
25
#define __XFCE_ARROW_BUTTON_H__
24
#include <gtk/gtkenums.h>
25
#include <gtk/gtktogglebutton.h>
29
typedef struct _XfceArrowButton XfceArrowButton;
30
typedef struct _XfceArrowButtonClass XfceArrowButtonClass;
31
typedef struct _XfceArrowButtonPrivate XfceArrowButtonPrivate;
32
typedef struct _XfceArrowButtonClass XfceArrowButtonClass;
33
typedef struct _XfceArrowButton XfceArrowButton;
32
35
#define XFCE_TYPE_ARROW_BUTTON (xfce_arrow_button_get_type ())
33
36
#define XFCE_ARROW_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XFCE_TYPE_ARROW_BUTTON, XfceArrowButton))
36
39
#define XFCE_IS_ARROW_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XFCE_TYPE_ARROW_BUTTON))
37
40
#define XFCE_ARROW_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XFCE_TYPE_ARROW_BUTTON, XfceArrowButtonClass))
42
struct _XfceArrowButtonClass
45
GtkToggleButtonClass __parent__;
48
void (*arrow_type_changed) (XfceArrowButton *button,
55
* This struct contain private data only and should be accessed by
56
* the functions below.
39
58
struct _XfceArrowButton
41
GtkToggleButton parent;
42
GtkArrowType arrow_type;
45
struct _XfceArrowButtonClass
47
GtkToggleButtonClass parent_class;
50
void (*arrow_type_changed) (GtkWidget *widget,
54
GType xfce_arrow_button_get_type (void) G_GNUC_CONST;
56
GtkWidget *xfce_arrow_button_new (GtkArrowType type) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
58
void xfce_arrow_button_set_arrow_type (XfceArrowButton *button,
61
GtkArrowType xfce_arrow_button_get_arrow_type (XfceArrowButton *button);
61
GtkToggleButton __parent__;
64
XfceArrowButtonPrivate *priv;
67
GType xfce_arrow_button_get_type (void) G_GNUC_CONST;
69
GtkWidget *xfce_arrow_button_new (GtkArrowType arrow_type) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
71
GtkArrowType xfce_arrow_button_get_arrow_type (XfceArrowButton *button);
72
void xfce_arrow_button_set_arrow_type (XfceArrowButton *button,
73
GtkArrowType arrow_type);
75
gboolean xfce_arrow_button_get_blinking (XfceArrowButton *button);
76
void xfce_arrow_button_set_blinking (XfceArrowButton *button,