1 /*
2  * This program is free software; you can redistribute it and/or modify it
3  * under the terms of the GNU General Public License as published by the Free
4  * Software Foundation; either version 2 of the License, or (at your option)
5  * any later version.
6  *
7  * This program is distributed in the hope that it will be useful, but WITHOUT
8  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
9  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
10  * more details.
11  *
12  * You should have received a copy of the GNU General Public License along with
13  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
14  * Place, Suite 330, Boston, MA  02111-1307  USA
15  */
16 
17 #ifndef __MOUSEPAD_VIEW_H__
18 #define __MOUSEPAD_VIEW_H__
19 
20 G_BEGIN_DECLS
21 
22 #define MOUSEPAD_TYPE_VIEW            (mousepad_view_get_type ())
23 #define MOUSEPAD_VIEW(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), MOUSEPAD_TYPE_VIEW, MousepadView))
24 #define MOUSEPAD_VIEW_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), MOUSEPAD_TYPE_VIEW, MousepadViewClass))
25 #define MOUSEPAD_IS_VIEW(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MOUSEPAD_TYPE_VIEW))
26 #define MOUSEPAD_IS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MOUSEPADL_TYPE_VIEW))
27 #define MOUSEPAD_VIEW_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), MOUSEPAD_TYPE_VIEW, MousepadViewClass))
28 
29 typedef struct _MousepadViewClass MousepadViewClass;
30 typedef struct _MousepadView      MousepadView;
31 
32 enum
33 {
34   SPACES_TO_TABS,
35   TABS_TO_SPACES
36 };
37 
38 GType           mousepad_view_get_type                  (void) G_GNUC_CONST;
39 
40 gboolean        mousepad_view_scroll_to_cursor          (gpointer           data);
41 
42 void            mousepad_view_transpose                 (MousepadView      *view);
43 
44 void            mousepad_view_custom_paste              (MousepadView      *view,
45                                                          const gchar       *string);
46 
47 void            mousepad_view_convert_spaces_and_tabs   (MousepadView      *view,
48                                                          gint               type);
49 
50 void            mousepad_view_strip_trailing_spaces     (MousepadView      *view);
51 
52 void            mousepad_view_duplicate                 (MousepadView      *view);
53 
54 gint            mousepad_view_get_selection_length      (MousepadView      *view);
55 
56 G_END_DECLS
57 
58 #endif /* !__MOUSEPAD_VIEW_H__ */
59