reference_editor.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:5k
- /*
- * ===========================================================================
- * PRODUCTION $Log: reference_editor.hpp,v $
- * PRODUCTION Revision 1000.1 2004/04/12 19:35:22 gouriano
- * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.3
- * PRODUCTION
- * ===========================================================================
- */
- #ifndef GUI_CORE_VIEW_TEXT___REFERENCE_EDITOR__HPP
- #define GUI_CORE_VIEW_TEXT___REFERENCE_EDITOR__HPP
- /*
- * ===========================================================================
- *
- * 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:
- * Header for the base class, CGenbankEntryForm, as an entry form
- * for genbank, paragraph oriented, editing. It is base on the
- * CEntryFormDialog class.
- *
- * Header for specific entry forms for genbank, paragraph oriented,
- * editing of specific types of specific types of paragraps. They is base
- * on the CGenbankEntryForm class.
- *
- */
- #include <gui/dialogs/entry_form/entry_form.hpp>
- #include <objects/pub/Pub.hpp>
- #include <FL/Fl_Choice.H>
- #include <FL/Fl_Input.H>
- #include "object_editor.hpp"
- //#include "paragraph.hpp"
- BEGIN_NCBI_SCOPE
- USING_SCOPE(objects);
- BEGIN_SCOPE(objects)
- class CPubdesc;
- class CMedline_entry;
- class CPubMedId;
- class CPub_equiv;
- class CPub;
- class CAuth_list;
- class CImprint;
- class CTitle;
- class CMeeting;
- class CDate;
- END_SCOPE(objects)
- // Flatened Pub structures
- struct SEditorFlatPub : public CObject
- {
- public:
- enum EPubStatus {
- ePubStatus_not_set,
- eUnpublished,
- eIn_press,
- ePublished
- };
- enum EPubClass {
- ePubClass_not_set,
- eUnpub,
- eSubmission,
- eJournal,
- eBookChapter,
- eBook,
- eProcChapter,
- eProc,
- eThesis,
- ePatent,
- eOnline
- };
-
- SEditorFlatPub (CPubdesc* pub);
- EPubStatus GetPubStatus ();
- CPubdesc* m_Pubdesc;
- CPub* m_Pub;
- CPub::E_Choice m_CitType;
- EPubClass m_PubClass;
- CMedline_entry* m_Medline_entry;
- CPubMedId* m_PubMedId;
- CPub_equiv* m_Pub_equiv;
- CAuth_list* m_Auth_list;
- CImprint* m_Imprint;
- CTitle* m_Title;
- CMeeting* m_Meeting;
- CDate* m_Date;
- CAuth_list* m_FromAuth_list;
- CImprint* m_FromImprint;
- CTitle* m_FromTitle;
- int m_Muid;
- int m_Pmid;
- private:
- void x_Init(CPub&);
- };
- class CEntryFormTable;
- class CReferenceEntryForm : public CGenbankEntryForm
- {
- public:
- CReferenceEntryForm (CParagraph *p);
- ~CReferenceEntryForm ();
- static void DeactivateRefClassMenu (Fl_Widget* w, void* u);
- static void ActivateRefClassMenu (Fl_Widget* w, void* u);
-
- static void cb_UnpubUI (Fl_Widget* w, void *u);
- static void cb_PubUI (Fl_Widget* w, void *u);
- static void cb_StandardRemark (Fl_Widget* w, void *u);
- private:
- void x_UnpubUI ();
- void x_PubUI ();
- void x_JournalUI ();
- void x_DateUI(SEditorFlatPub& flatpub);
- void x_AuthUI(SEditorFlatPub& flatpub);
- // Clear all UI entry forms except the Publiction Type
- void x_Clear ();
- SEditorFlatPub m_FlatPub;
- Fl_Choice* m_Status;
- Fl_Choice* m_Class;
- Fl_Choice* m_Scope;
- Fl_Input* m_Title;
- Fl_Choice* m_StandardRemark;
- Fl_Input* m_Remark;
- Fl_Input* m_Year;
- Fl_Choice* m_Month;
- Fl_Input* m_Day;
- CEntryFormTable *m_Auth_list;
- Fl_Input* m_FromTitle;
- Fl_Input* m_Volume;
- Fl_Input* m_Issue;
- Fl_Input* m_Pages;
- Fl_Input* m_Muid;
- Fl_Input* m_Pmid;
- };
- END_NCBI_SCOPE
- #endif // GUI_CORE_VIEW_TEXT___OBJECT_EDITOR__HPP