1 // $Id: gc_trait_err.h,v 1.9 2011/06/22 18:22:22 jmcgill Exp $
2 
3 /*
4   Copyright 2002  Mary Kuhner, Jon Yamato, and Joseph Felsenstein
5 
6   This software is distributed free of charge for non-commercial use
7   and is copyrighted.  Of course, we do not guarantee that the software
8   works, and are not responsible for any damage you may cause or have.
9 */
10 
11 #ifndef GC_TRAIT_ERR
12 #define GC_TRAIT_ERR
13 
14 #include "gc_errhandling.h"
15 #include "gc_phenotype.h"
16 #include "gc_trait.h"
17 #include "gc_trait_allele.h"
18 
19 class gc_trait_err : public gc_ex
20 {
21   public:
22     gc_trait_err(wxString msg) throw();
23     virtual ~gc_trait_err() throw();
24 };
25 
26 //------------------------------------------------------------------------------------
27 
28 class gc_haplotype_probability_negative : public gc_trait_err
29 {
30   public:
31     gc_haplotype_probability_negative(double probability) throw();
32     virtual ~gc_haplotype_probability_negative() throw() ;
33 };
34 
35 //------------------------------------------------------------------------------------
36 
37 class gc_trait_allele_name_reuse : public gc_trait_err
38 {
39   public:
40     gc_trait_allele_name_reuse(wxString alleleName) throw();
41     virtual ~gc_trait_allele_name_reuse() throw() ;
42 };
43 
44 //------------------------------------------------------------------------------------
45 
46 class gc_trait_phenotype_name_reuse : public gc_trait_err
47 {
48   public:
49     gc_trait_phenotype_name_reuse(wxString phenotypeName, wxString traitName) throw();
50     virtual ~gc_trait_phenotype_name_reuse() throw() ;
51 };
52 
53 //------------------------------------------------------------------------------------
54 
55 class gc_missing_phenotype : public gc_trait_err
56 {
57   public:
58     gc_missing_phenotype(wxString phenotypeName) throw();
59     virtual ~gc_missing_phenotype() throw() ;
60 };
61 
62 //------------------------------------------------------------------------------------
63 
64 class gc_missing_allele : public gc_trait_err
65 {
66   public:
67     gc_missing_allele(wxString alleleName) throw();
68     virtual ~gc_missing_allele() throw() ;
69 };
70 
71 //------------------------------------------------------------------------------------
72 
73 class gc_trait_allele_name_spaces : public gc_trait_err
74 {
75   public:
76     gc_trait_allele_name_spaces(wxString alleleName) throw();
77     virtual ~gc_trait_allele_name_spaces() throw() ;
78 };
79 
80 //------------------------------------------------------------------------------------
81 
82 class gc_pheno_trait_mismatch : public gc_trait_err
83 {
84   public:
85     gc_pheno_trait_mismatch(const gcTraitInfo& outer, const gcTraitInfo& inner, const gcPhenotype &, size_t lineNo) throw();
86     virtual ~gc_pheno_trait_mismatch() throw() ;
87 };
88 
89 #endif  // GC_TRAIT_ERR
90 
91 //____________________________________________________________________________________
92