~ubuntu-branches/ubuntu/raring/geany/raring-proposed

« back to all changes in this revision

Viewing changes to src/project.h

Import upstream version 0.17

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
 *      project.h - this file is part of Geany, a fast and lightweight IDE
3
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>
 
4
 *      Copyright 2007-2009 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
 
5
 *      Copyright 2007-2009 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
6
6
 *
7
7
 *      This program is free software; you can redistribute it and/or modify
8
8
 *      it under the terms of the GNU General Public License as published by
18
18
 *      along with this program; if not, write to the Free Software
19
19
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
20
 *
21
 
 * $Id: project.h 2287 2008-02-27 13:17:29Z eht16 $
 
21
 * $Id: project.h 3684 2009-04-05 14:14:29Z eht16 $
22
22
 */
23
23
 
24
24
 
25
25
#ifndef GEANY_PROJECT_H
26
26
#define GEANY_PROJECT_H 1
27
27
 
28
 
/* structure for representing a project. */
29
 
struct _GeanyProject
 
28
#define GEANY_PROJECT_EXT                               "geany"
 
29
 
 
30
 
 
31
/** Structure for representing a project. */
 
32
typedef struct GeanyProject
30
33
{
31
 
        gchar *name;                    /* the name of the project */
32
 
        gchar *description;     /* short description of the project */
33
 
 
34
 
        gchar *file_name;               /* where the project file is stored (in UTF-8) */
35
 
 
36
 
        gchar *base_path;               /* base path of the project directory (in UTF-8, maybe relative) */
37
 
        gchar *run_cmd;                 /* project run command (in UTF-8) */
38
 
        /* ...  */                              /* fields for build process(run arguments and so on) should be added */
39
 
 
40
 
        gint type;                              /* identifier whether it is a pure Geany project or modified/extended */
41
 
                                                        /* by a plugin */
42
 
 
43
 
        gchar **file_patterns;  /* array of filename extension patterns */
44
 
 
 
34
        gchar *name;                    /**< The name of the project. */
 
35
        gchar *description;     /**< Short description of the project. */
 
36
        gchar *file_name;               /**< Where the project file is stored (in UTF-8). */
 
37
        gchar *base_path;               /**< Base path of the project directory (in UTF-8, maybe relative). */
 
38
        gchar *run_cmd;                 /**< Project run command (in UTF-8). */
 
39
        /** Identifier whether it is a pure Geany project or modified/extended
 
40
         * by a plugin. */
 
41
        gint type;
 
42
        gchar **file_patterns;  /**< Array of filename extension patterns. */
45
43
        gboolean make_in_base_path;
46
 
};
47
 
 
48
 
typedef struct
 
44
 
 
45
        struct GeanyProjectPrivate      *priv;  /* must be last, append fields before this item */
 
46
}
 
47
GeanyProject;
 
48
 
 
49
 
 
50
typedef struct ProjectPrefs
49
51
{
50
52
        gchar *session_file;
51
53
        gboolean project_session;
 
54
        gboolean project_file_in_basedir;
52
55
} ProjectPrefs;
53
56
 
54
57
extern ProjectPrefs project_prefs;
55
58
 
56
59
 
 
60
void project_init(void);
 
61
 
 
62
void project_finalize(void);
 
63
 
 
64
 
57
65
void project_new(void);
58
66
 
59
67
void project_open(void);
62
70
 
63
71
void project_properties(void);
64
72
 
 
73
gboolean project_ask_close(void);
 
74
 
65
75
 
66
76
gboolean project_load_file(const gchar *locale_file_name);
67
77
 
 
78
gboolean project_load_file_with_session(const gchar *locale_file_name);
 
79
 
68
80
gchar *project_get_base_path(void);
69
81
 
70
82
gchar *project_get_make_dir(void);