Fixing copyright issues and code contributors
[alexxy/gromacs.git] / src / ngmx / dialogs.h
1 /*
2  * This file is part of the GROMACS molecular simulation package.
3  *
4  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
5  * Copyright (c) 2001-2004, The GROMACS development team,
6  * check out http://www.gromacs.org for more information.
7  * Copyright (c) 2012,2013, by the GROMACS development team, led by
8  * David van der Spoel, Berk Hess, Erik Lindahl, and including many
9  * others, as listed in the AUTHORS file in the top-level source
10  * directory and at http://www.gromacs.org.
11  *
12  * GROMACS is free software; you can redistribute it and/or
13  * modify it under the terms of the GNU Lesser General Public License
14  * as published by the Free Software Foundation; either version 2.1
15  * of the License, or (at your option) any later version.
16  *
17  * GROMACS is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20  * Lesser General Public License for more details.
21  *
22  * You should have received a copy of the GNU Lesser General Public
23  * License along with GROMACS; if not, see
24  * http://www.gnu.org/licenses, or write to the Free Software Foundation,
25  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
26  *
27  * If you want to redistribute modifications to GROMACS, please
28  * consider that scientific software is very special. Version
29  * control is crucial - bugs must be traceable. We will be happy to
30  * consider code for inclusion in the official distribution, but
31  * derived work must not be called official GROMACS. Details are found
32  * in the README & COPYING files - if they are missing, get the
33  * official version at http://www.gromacs.org.
34  *
35  * To help us fund GROMACS development, we humbly ask that you cite
36  * the research papers on the package. Check out http://www.gromacs.org.
37  */
38
39 #ifndef _dialogs_h
40 #define _dialogs_h
41
42 #include "xdlg.h"
43 #include "pulldown.h"
44 #include "manager.h"
45 #include "logo.h"
46
47 typedef struct {
48   gmx_bool  bMapped;
49   t_dlg *dlg;
50 } t_dialogs;
51
52 typedef enum { edExport, edBonds, edFilter, edNR } eDialogs;
53          
54 typedef enum {
55   emQuit, emHelp, emAbout, emNotImplemented, emNR
56 } eMBoxes;
57
58 typedef enum {
59   eExpGromos, eExpPDB, eExpNR
60 } eExport;
61
62 typedef struct {
63   char         confout[256];    /* Export file                  */
64   int          ExpMode;         /* Export mode                  */
65   t_dlg        **dlgs;          /* Temporary storage for dlgs   */
66   int          which_mb;        /* Which mb is visible          */
67   t_dlg        **mboxes;        /* id for message boxes         */
68   t_filter     *filter;         /* Filter for visibility etc.   */
69   t_windata    *wd;             /* The main window              */
70   t_pulldown   *pd;             /* The pull-down menu           */
71   t_manager    *man;            /* The manager                  */
72   /*t_statrec    *sr;*/         /* The statistics dlg           */
73   t_logo       *logo;           /* The gromacs logo             */
74 } t_gmx;
75
76 enum { 
77   IDNEW,IDOPEN,IDOPENED,IDCLOSE,IDIMPORT,IDEXPORT,IDDOEXPORT,IDQUIT,IDTERM,
78   IDEDITTOP,IDEDITCOORDS,IDEDITPARAMS,
79   IDGROMPP,IDRUNMD,IDDOGROMPP,IDGSTAT,IDDOGSTAT,IDDORUNMD,
80   IDFILTER,IDDOFILTER,
81   IDANIMATE,IDSHOWBOX,IDRMPBC,IDHYDROGEN,IDLABELSOFF,IDRESETVIEW,IDPHOTO,
82   IDDUMPWIN,IDDODUMP,
83   IDBONDOPTS,IDTHIN,IDFAT,IDVERYFAT,IDBALLS,
84   IDNOBOX,IDRECTBOX,IDTRIBOX,IDTOBOX,
85   IDBOND,IDANGLE,IDDIH,IDRMS,IDRDF,IDENERGIES,IDCORR,
86   IDHELP,IDABOUT,
87   
88   /* Last line specifies how many IDs there are */
89   IDMENUNR
90   };
91
92 extern void run_grompp(t_gmx *gmx);
93
94 extern void run_mdrun(t_gmx *gmx);
95
96 extern void write_gmx(t_x11 *x11,t_gmx *gmx,int mess);
97
98 /*extern void run_sr(t_statrec *sr);
99
100 extern t_statrec *init_sr();*/
101
102 extern void init_dlgs(t_x11 *x11,t_gmx *gmx);
103
104 extern void show_mb(t_gmx *gmx,int mb);
105
106 extern void done_dlgs(t_gmx *gmx);
107
108 extern void edit_file(const char *fn);
109
110 extern t_filter *init_filter(t_atoms *atoms, const char *fn, int natom_trx);
111
112 extern t_dlg *select_filter(t_x11 *x11,t_gmx *gmx);
113
114 #endif