~ubuntu-branches/debian/experimental/geany/experimental

« back to all changes in this revision

Viewing changes to src/geanyobject.h

  • Committer: Bazaar Package Importer
  • Author(s): Damián Viano
  • Date: 2008-05-02 11:37:45 UTC
  • mfrom: (1.2.1 upstream) (3.1.6 hardy)
  • Revision ID: james.westby@ubuntu.com-20080502113745-xzp4g6dmovrpoj17
Tags: 0.14-1
New upstream release (Closes: #478126)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *      geanyobject.h - this file is part of Geany, a fast and lightweight IDE
 
3
 *
 
4
 *      Copyright 2007-2008 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
5
 *      Copyright 2007-2008 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
 
6
 *
 
7
 *      This program is free software; you can redistribute it and/or modify
 
8
 *      it under the terms of the GNU General Public License as published by
 
9
 *      the Free Software Foundation; either version 2 of the License, or
 
10
 *      (at your option) any later version.
 
11
 *
 
12
 *      This program is distributed in the hope that it will be useful,
 
13
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
15
 *      GNU General Public License for more details.
 
16
 *
 
17
 *      You should have received a copy of the GNU General Public License
 
18
 *      along with this program; if not, write to the Free Software
 
19
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 
20
 *      MA 02110-1301, USA.
 
21
 *
 
22
 * $Id: geanyobject.h 2267 2008-02-20 11:24:23Z eht16 $
 
23
 */
 
24
 
 
25
 
 
26
#ifndef __GEANYOBJECT_H__
 
27
#define __GEANYOBJECT_H__
 
28
 
 
29
#include <glib-object.h>
 
30
 
 
31
G_BEGIN_DECLS
 
32
 
 
33
extern GObject *geany_object;
 
34
 
 
35
typedef enum
 
36
{
 
37
        GCB_DOCUMENT_NEW,
 
38
        GCB_DOCUMENT_OPEN,
 
39
        GCB_DOCUMENT_SAVE,
 
40
        GCB_DOCUMENT_ACTIVATE,
 
41
        GCB_PROJECT_OPEN,
 
42
        GCB_PROJECT_SAVE,
 
43
        GCB_PROJECT_CLOSE,
 
44
        GCB_MAX
 
45
} GeanyCallbackId;
 
46
 
 
47
 
 
48
#define GEANY_OBJECT_TYPE                               (geany_object_get_type())
 
49
#define GEANY_OBJECT(obj)                               (G_TYPE_CHECK_INSTANCE_CAST((obj),\
 
50
                GEANY_OBJECT_TYPE, GeanyObject))
 
51
#define GEANY_OBJECT_CLASS(klass)               (G_TYPE_CHECK_CLASS_CAST((klass),\
 
52
                GEANY_OBJECT_TYPE, GeanyObjectClass))
 
53
#define IS_GEANY_OBJECT(obj)                            (G_TYPE_CHECK_INSTANCE_TYPE((obj),\
 
54
                GEANY_OBJECT_TYPE))
 
55
#define IS_GEANY_OBJECT_CLASS(klass)            (G_TYPE_CHECK_CLASS_TYPE((klass),\
 
56
                GEANY_OBJECT_TYPE))
 
57
 
 
58
typedef struct _GeanyObject                             GeanyObject;
 
59
typedef struct _GeanyObjectClass                        GeanyObjectClass;
 
60
 
 
61
struct _GeanyObject
 
62
{
 
63
        GObject parent;
 
64
        /* add your public declarations here */
 
65
};
 
66
 
 
67
struct SCNotification;
 
68
 
 
69
struct _GeanyObjectClass
 
70
{
 
71
        GObjectClass parent_class;
 
72
 
 
73
        void (*document_new)(gint idx);
 
74
        void (*document_open)(gint idx);
 
75
        void (*document_save)(gint idx);
 
76
        void (*document_activate)(gint idx);
 
77
        void (*project_open)(GKeyFile *keyfile);
 
78
        void (*project_save)(GKeyFile *keyfile);
 
79
        void (*project_close)(void);
 
80
};
 
81
 
 
82
GType           geany_object_get_type   (void);
 
83
GObject*        geany_object_new                (void);
 
84
 
 
85
G_END_DECLS
 
86
 
 
87
#endif /* __GEANYOBJECT_H__ */