PluginValueConstraint.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:7k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: PluginValueConstraint.hpp,v $
  4.  * PRODUCTION Revision 1000.0  2003/10/31 20:34:53  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.2
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /* $Id: PluginValueConstraint.hpp,v 1000.0 2003/10/31 20:34:53 gouriano Exp $
  10.  * ===========================================================================
  11.  *
  12.  *                            PUBLIC DOMAIN NOTICE
  13.  *               National Center for Biotechnology Information
  14.  *
  15.  *  This software/database is a "United States Government Work" under the
  16.  *  terms of the United States Copyright Act.  It was written as part of
  17.  *  the author's official duties as a United States Government employee and
  18.  *  thus cannot be copyrighted.  This software/database is freely available
  19.  *  to the public for use. The National Library of Medicine and the U.S.
  20.  *  Government have not placed any restriction on its use or reproduction.
  21.  *
  22.  *  Although all reasonable efforts have been taken to ensure the accuracy
  23.  *  and reliability of the software and data, the NLM and the U.S.
  24.  *  Government do not and cannot warrant the performance or results that
  25.  *  may be obtained by using this software or data. The NLM and the U.S.
  26.  *  Government disclaim all warranties, express or implied, including
  27.  *  warranties of performance, merchantability or fitness for any particular
  28.  *  purpose.
  29.  *
  30.  *  Please cite the author in any work or product based on this material.
  31.  *
  32.  * ===========================================================================
  33.  *
  34.  * Author:  .......
  35.  *
  36.  * File Description:
  37.  *   .......
  38.  *
  39.  * Remark:
  40.  *   This code was originally generated by application DATATOOL
  41.  *   using specifications from the data definition file
  42.  *   'plugin.asn'.
  43.  */
  44. #ifndef GUI_CORE_PLUGIN_PLUGINVALUECONSTRAINT_HPP
  45. #define GUI_CORE_PLUGIN_PLUGINVALUECONSTRAINT_HPP
  46. // generated includes
  47. #include <gui/plugin/PluginValueConstraint_.hpp>
  48. #include <objects/seq/Seq_inst.hpp>
  49. #include <objects/seq/Seq_annot.hpp>
  50. #include <objects/seqfeat/Seq_feat.hpp>
  51. // generated classes
  52. BEGIN_NCBI_SCOPE
  53. BEGIN_objects_SCOPE // namespace ncbi::objects::
  54. class NCBI_XGBPLUGIN_EXPORT CPluginValueConstraint : public CPluginValueConstraint_Base
  55. {
  56.     typedef CPluginValueConstraint_Base Tparent;
  57. public:
  58.     // default constructor
  59.     CPluginValueConstraint(void);
  60.     // destructor
  61.     ~CPluginValueConstraint(void);
  62.     //
  63.     // static factory create functions to create and return constraints
  64.     //
  65.     // create a constraint for a built-in type such that the value is greater
  66.     // than or equal to a given bound
  67.     static CPluginValueConstraint* CreateLower(const string& low_val);
  68.     // create a constraint for a built-in type such that the value is less
  69.     // than or equal to a given bound
  70.     static CPluginValueConstraint* CreateUpper(const string& hi_val);
  71.     // create a constraint for a built-in type such that the value is bounded
  72.     // in the range [low_val, hi_val]
  73.     static CPluginValueConstraint* CreateRange(const string& low_val,
  74.                                              const string& hi_val);
  75.     // create a constraint for a built-in type such that the value is one of a
  76.     // member of a set of values
  77.     static CPluginValueConstraint* CreateSet(void);
  78.     // create a constraint on a given sequence representation  Types are
  79.     // appended with the ',' operator.  For example:
  80.     //     *CreateSeqMol(), CSeq_inst::eRepr_raw, CSeq_inst::eRepr_delta
  81.     static CPluginValueConstraint* CreateSeqRepr();
  82.     // create a constraint on a given molecule type,  Types are appended
  83.     // with the ',' operator.  For example:
  84.     //     *CreateSeqMol(), CSeq_inst::eMol_dna, CSeq_ins::eMol_na
  85.     static CPluginValueConstraint* CreateSeqMol();
  86.     // create a constraint on a given molecule type to be the same for multiple
  87.     // sequences
  88.     static CPluginValueConstraint* CreateSeqSameMol(void);
  89.     // create a constraint on a given sequence length (lower bound)
  90.     static CPluginValueConstraint* CreateSeqLenLower(TSeqPos min_len);
  91.     // create a constraint on a given sequence length (upper bound)
  92.     static CPluginValueConstraint* CreateSeqLenUpper(TSeqPos max_len);
  93.     // create a constraint on a given sequence length (range)
  94.     static CPluginValueConstraint* CreateSeqLenRange(TSeqPos min_len,
  95.                                                    TSeqPos max_len);
  96.     // create a constraint on a given molecule type
  97.     static CPluginValueConstraint* CreateAnnotType(CSeq_annot::TData::E_Choice);
  98.     // create a constraint on a given feature type
  99.     static CPluginValueConstraint* CreateFeatType();
  100.     // create a constraint on a given feature subtype
  101.     static CPluginValueConstraint* CreateFeatSubtype();
  102.     // create a constraint that a given feature have its product set
  103.     static CPluginValueConstraint* CreateFeatProduct();
  104.     // operator, adds elements to the set, or replaces the value stored
  105.     CPluginValueConstraint& operator,(const string& val);
  106.     CPluginValueConstraint& operator,(int val);
  107. private:
  108.     // Prohibit copy constructor and assignment operator
  109.     CPluginValueConstraint(const CPluginValueConstraint& value);
  110.     CPluginValueConstraint& operator=(const CPluginValueConstraint& value);
  111. };
  112. /////////////////// CPluginValueConstraint inline methods
  113. // constructor
  114. inline
  115. CPluginValueConstraint::CPluginValueConstraint(void)
  116. {
  117. }
  118. /////////////////// end of CPluginValueConstraint inline methods
  119. END_objects_SCOPE // namespace ncbi::objects::
  120. END_NCBI_SCOPE
  121. /*
  122.  * ===========================================================================
  123.  *
  124.  * $Log: PluginValueConstraint.hpp,v $
  125.  * Revision 1000.0  2003/10/31 20:34:53  gouriano
  126.  * PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.2
  127.  *
  128.  * Revision 1.2  2003/10/15 18:30:36  dicuccio
  129.  * Added new constraint types
  130.  *
  131.  * Revision 1.1  2003/10/07 13:33:44  dicuccio
  132.  * Renamed CPluginURL* to CPluginValue*.  Dropped find_if.hpp.  Moved validation
  133.  * code into CPluginUtils.
  134.  *
  135.  * Revision 1.6  2003/07/21 19:22:31  dicuccio
  136.  * Changed API of constraint setting for sequence type / representation - use
  137.  * only operator,() to set values (dual interface was confusing)
  138.  *
  139.  * Revision 1.5  2003/05/19 13:33:02  dicuccio
  140.  * Moved gui/core/plugin --> gui/plugin/
  141.  *
  142.  * Revision 1.4  2003/04/30 13:52:25  dicuccio
  143.  * Added constraint for molecules of the same type
  144.  *
  145.  * Revision 1.3  2003/04/29 14:32:46  dicuccio
  146.  * Added additional factory functions to create additional constraint types
  147.  *
  148.  * Revision 1.2  2003/03/10 16:02:57  dicuccio
  149.  * Added missing Win32 export specifiers
  150.  *
  151.  * Revision 1.1  2003/03/03 14:22:04  dicuccio
  152.  * Added argument constraints - lower bound, upper bound, range, and member-of-set
  153.  *
  154.  *
  155.  * ===========================================================================
  156.  */
  157. #endif // GUI_CORE_PLUGIN_PLUGINVALUECONSTRAINT_HPP
  158. /* Original file checksum: lines: 93, chars: 2569, CRC32: adc3c61b */