header_editor.cpp

来自「ncbi源码」· C++ 代码 · 共 225 行

CPP
225
字号
/* * =========================================================================== * PRODUCTION $Log: header_editor.cpp,v $ * PRODUCTION Revision 1000.2  2004/06/01 21:02:16  gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.4 * PRODUCTION * =========================================================================== *//* * =========================================================================== * *                            PUBLIC DOMAIN NOTICE *               National Center for Biotechnology Information * *  This software / database is a "United States Government Work" under the *  terms of the United States Copyright Act.  It was written as part of *  the author's official duties as a United States Government employee and *  thus cannot be copyrighted.  This software / database is freely available *  to the public for use. The National Library of Medicine and the U.S. *  Government have not placed any restriction on its use or reproduction. * *  Although all reasonable efforts have been taken to ensure the accuracy *  and reliability of the software and data, the NLM and the U.S. *  Government do not and cannot warrant the performance or results that *  may be obtained by using this software or data. The NLM and the U.S. *  Government disclaim all warranties, express or implied, including *  warranties of performance, merchantability or fitness for any particular *  purpose. * *  Please cite the author in any work or product based on this material. * * =========================================================================== * * Authors:  Lou Friedman * * File Description: *    Implementaion of CLocusEntryForm, for locus editing, CDefinEntryForm, *      for definition editing. * */#include <ncbi_pch.hpp>#include "header_editor.hpp"#include <gui/dialogs/entry_form/table.hpp>#include <serial/iterator.hpp>#include <objects/seq/Bioseq.hpp>#include <objects/seq/MolInfo.hpp>#include <objects/seq/Seq_inst.hpp>BEGIN_NCBI_SCOPEUSING_SCOPE(objects);SMenuEntryInfo SMolinfoBimolMapEntries[] = {    { " ",                     0 },     { "Genomic DNA or RNA",    1 },     { "Precursor RNA",         2 },     { "mRNA [cDNA]",           3 },     { "Ribosomal RNA",         4 },     { "Transfer RNA",          5 },     { "Small nuclear RNA",     6 },     { "Small cytoplasmic RNA", 7 },     { "Peptide",               8 },     { "Other - Genetic",       9 },     { "Genomic - mRNA",       10 },     { "cRNA",                 11 },     { "Small nucleolar RNA",  12 },     { "Transcribed RNA",      13 },     { "Other",               255 },     { 0,                       0 }};CEntryFormMenu SMolinfoBimolMenu(SMolinfoBimolMapEntries);SMenuEntryInfo SMolinfoTechMapEntries[] = {    { " ",                     0 },    { "Standard",              1 },    { "EST",                   2 },    { "STS",                   3 },    { "Survey",                4 },    { "Genetic Map",           5 },    { "Physical Map",          6 },    { "Derived",               7 },    { "Concept - Trans",       8 },    { "Seq - Pept",            9 },    { "Both",                 10 },    { "Seq - Pept - Overlap", 11 },    { "Seq - Pept - Homol",   12 },    { "Concept - Trans - A",  13 },    { "HTGS 0",               18 },    { "HTGS 1",               14 },    { "HTGS 2",               15 },    { "HTGS 3",               16 },    { "FLI_cDNA",             17 },    { "HTC",                  19 },    { "WGS",                  20 },    { "Other:",              255 },    { 0,                       0 }};CEntryFormMenu SMolinfoTechMenu(SMolinfoTechMapEntries);SMenuEntryInfo MolinfoCompleteMapEntries [] = {    { " ",         0 },    { "Complete",  1 },    { "Partial",   2 },    { "No Left",   3 },    { "No Right",  4 },    { "No Ends",   5 },    { "Other",   255 },    { 0,           0 }};CEntryFormMenu SMolinfoCompleteMenu(SMolinfoTechMapEntries);SMenuEntryInfo MolClassMapEntries [] = {    { " ",          CSeq_inst::eMol_not_set },    { "DNA",        CSeq_inst::eMol_dna     },    { "RNA",        CSeq_inst::eMol_rna     },    { "Protein",    CSeq_inst::eMol_aa      },    { "Nucleotide", CSeq_inst::eMol_na      },    { "Other",      CSeq_inst::eMol_other   },    { 0,            0                       }};CEntryFormMenu SMolClassMenu(MolClassMapEntries);SMenuEntryInfo TopologyMapEntries [] = {    { " ",        CSeq_inst::eTopology_not_set  },    { "Linear",   CSeq_inst::eTopology_linear   },    { "Circular", CSeq_inst::eTopology_circular },    { "Tandem",   CSeq_inst::eTopology_tandem   },    { "Other",    255                           },    { 0,          0                             }};CEntryFormMenu STolpologyMenu(TopologyMapEntries);SMenuEntryInfo StrandMapEntires [] = {    { " ",      CSeq_inst::eStrand_not_set },    { "Single", CSeq_inst::eStrand_ss      },    { "Double", CSeq_inst::eStrand_ds      },    { "Mixed",  CSeq_inst::eStrand_mixed   },    { "Other",  CSeq_inst::eStrand_other   },    { 0,        0                          }};CEntryFormMenu SStrandMenu(StrandMapEntires);CLocusEntryForm::CLocusEntryForm(CParagraph* p)     : CGenbankEntryForm(p){    SetTitle("Locus");    auto_ptr<CEntryFormTable> t        (new CEntryFormTable(GetFormWidget()->GetFormWidth(), 5));        const CMolInfo* mi = dynamic_cast<const CMolInfo*>(p->topic());        int bimol    = CMolInfo::eBiomol_unknown;    int complete = CMolInfo::eCompleteness_unknown;    int tech     = CMolInfo::eTech_unknown;    if (mi) {        bimol      = mi->GetBiomol();        complete   = mi->GetCompleteness();        tech       = mi->GetTech();    }    m_Molecule     = t->AddMenuRow("Molecule", SMolinfoBimolMenu, bimol);    m_Completeness = t->AddMenuRow("Completeness", SMolinfoCompleteMenu,                                     complete);    m_Techniuqe    = t->AddMenuRow("Techniuqe", SMolinfoTechMenu, tech);    /*    const CSeq_inst& inst = seq->GetInst();    m_Class        = t->AddMenuRow("Class", SMolClassMenu, inst.GetMol());    m_Topology     = t->AddMenuRow("Topology", STolpologyMenu,                                     inst.GetTopology());    CSeq_inst::EStrand strand = CSeq_inst::eStrand_not_set;    if (inst.IsSetStrand()) {        strand = inst.GetStrand();    }    m_Strand       = t->AddMenuRow("Strand",  SStrandMenu, strand);    */    t->End();    AddEditWidget(t.release());}CLocusEntryForm::~CLocusEntryForm(){}CDefinEntryForm::CDefinEntryForm(CParagraph* p)    : CGenbankEntryForm(p){    SetTitle("Definition");    auto_ptr<CEntryFormTable> t        (new CEntryFormTable(GetFormWidget()->GetFormWidth(), 5));    // NOTE: flat file generator gets the difinition string from    //  sequence::GetTtitle. Instead of recreating the definition    //  string by calling GetTitle, I am gleaning the string from    //  the buffer. When saving the string, it will be saved in     //  the Bioseq->SeqDesc->title, which may have to be created.     m_Defin = t->AddInputRow("Definition", p->buffer()->substr(12).c_str());    t->End();    AddEditWidget(t.release());}CDefinEntryForm::~CDefinEntryForm(){}               END_NCBI_SCOPE

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?