1 /*
2  * vinagre-spice-tab.h
3  * SPICE Tab
4  * This file is part of vinagre
5  *
6  * Copyright (C) 2011 Red Hat, Inc.
7  * Author: Marc-Andre Lureau <marcandre.lureau@redhat.com>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program. If not, see <http://www.gnu.org/licenses/>.
21  */
22 
23 #ifndef __VINAGRE_SPICE_TAB_H__
24 #define __VINAGRE_SPICE_TAB_H__
25 
26 #include <vinagre/vinagre-tab.h>
27 
28 G_BEGIN_DECLS
29 
30 #define VINAGRE_TYPE_SPICE_TAB              (vinagre_spice_tab_get_type())
31 #define VINAGRE_SPICE_TAB(obj)              (G_TYPE_CHECK_INSTANCE_CAST((obj), VINAGRE_TYPE_SPICE_TAB, VinagreSpiceTab))
32 #define VINAGRE_SPICE_TAB_CONST(obj)        (G_TYPE_CHECK_INSTANCE_CAST((obj), VINAGRE_TYPE_SPICE_TAB, VinagreSpiceTab const))
33 #define VINAGRE_SPICE_TAB_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST((klass), VINAGRE_TYPE_SPICE_TAB, VinagreSpiceTabClass))
34 #define VINAGRE_IS_SPICE_TAB(obj)           (G_TYPE_CHECK_INSTANCE_TYPE((obj), VINAGRE_TYPE_SPICE_TAB))
35 #define VINAGRE_IS_SPICE_TAB_CLASS(klass)...(G_TYPE_CHECK_CLASS_TYPE ((klass), VINAGRE_TYPE_SPICE_TAB))
36 #define VINAGRE_SPICE_TAB_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS((obj), VINAGRE_TYPE_SPICE_TAB, VinagreSpiceTabClass))
37 
38 typedef struct _VinagreSpiceTabPrivate VinagreSpiceTabPrivate;
39 typedef struct _VinagreSpiceTab        VinagreSpiceTab;
40 typedef struct _VinagreSpiceTabClass   VinagreSpiceTabClass;
41 
42 
43 struct _VinagreSpiceTab
44 {
45   VinagreTab tab;
46   VinagreSpiceTabPrivate *priv;
47 };
48 
49 struct _VinagreSpiceTabClass
50 {
51   VinagreTabClass parent_class;
52 };
53 
54 GType		vinagre_spice_tab_get_type		(void) G_GNUC_CONST;
55 
56 GtkWidget *	vinagre_spice_tab_new			(VinagreConnection *conn,
57 							 VinagreWindow	   *window);
58 
59 void		vinagre_spice_tab_send_ctrlaltdel	(VinagreSpiceTab *tab);
60 void		vinagre_spice_tab_paste_text		(VinagreSpiceTab *tab,
61 							 const gchar   *text);
62 
63 gboolean	vinagre_spice_tab_set_scaling		(VinagreSpiceTab *tab, gboolean active);
64 gboolean	vinagre_spice_tab_get_scaling		(VinagreSpiceTab *tab);
65 gboolean	vinagre_spice_tab_set_resize_guest	(VinagreSpiceTab *tab, gboolean active);
66 gboolean	vinagre_spice_tab_get_resize_guest	(VinagreSpiceTab *tab);
67 void		vinagre_spice_tab_set_viewonly		(VinagreSpiceTab *tab, gboolean active);
68 gboolean	vinagre_spice_tab_get_viewonly		(VinagreSpiceTab *tab);
69 void		vinagre_spice_tab_set_auto_clipboard	(VinagreSpiceTab *tab, gboolean active);
70 gboolean	vinagre_spice_tab_get_auto_clipboard	(VinagreSpiceTab *tab);
71 
72 gboolean	vinagre_spice_tab_is_mouse_grab		(VinagreSpiceTab *tab);
73 G_END_DECLS
74 
75 #endif  /* __VINAGRE_SPICE_TAB_H__  */
76 /* vim: set ts=8: */
77