Change Eclipse configuration
[jabaws.git] / website / archive / binaries / mac / src / clustalw / src / interface / InteractiveMenu.h
1 /**
2  * Author: Mark Larkin
3  * 
4  * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.  
5  */
6 /**
7  * Mark Larkin 12 Dec 2005.
8  * Interactive menu class. It uses the object userParameters for
9  * all the session variables.
10  */
11 #ifndef INTERACTIVEMENU_H
12 #define INTERACTIVEMENU_H
13
14 #include <string>
15 #include "../Clustal.h"
16 #include "../general/clustalw.h"
17 #include "../general/userparams.h"
18 #include "../general/utils.h"
19 #include "../substitutionMatrix/globalmatrix.h"
20
21 namespace clustalw
22 {
23
24 using namespace std;
25
26 class InteractiveMenu
27 {
28     public:
29         /* Functions */
30         InteractiveMenu(); 
31         ~InteractiveMenu();
32         void mainMenu();
33
34         /* Attributes */
35
36     private:
37         /* Functions */
38         void doSystem();
39         void multipleAlignMenu();
40         void profileAlignMenu();
41         void ssOptionsMenu();
42         int secStrOutputOptions();
43         void phylogeneticTreeMenu();
44         void treeFormatOptionsMenu();
45         void formatOptionsMenu(); 
46         void pairwiseMenu();
47         void multiMenu();
48         void gapPenaltiesMenu();
49         int readMatrix(int alignResidueType, int alignType, MatMenu menu);
50         void clusteringAlgorithmMenu();
51         void iterationMenu();
52          
53         /* Attributes */
54         Clustal* clustalObj;
55         string phylipName;
56         string clustalName;
57         string distName;
58         string nexusName;
59         //string fasta_name;
60         string p1TreeName;
61         string p2TreeName;
62         string secStructOutputTxt[4]; // Changed to a string array
63         string lin1;
64         MatMenu dnaMatrixMenu;
65         MatMenu matrixMenu;
66         MatMenu pwMatrixMenu;
67         char choice;
68 };
69 }
70 #endif
71