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

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: dlg_messagebox.hpp,v $
  4.  * PRODUCTION Revision 1000.0  2003/10/31 21:28:33  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.3
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. #ifndef GUI_CORE_ALGO_ALIGN___DLG_MESSAGEBOX_HPP
  10. #define GUI_CORE_ALGO_ALIGN___DLG_MESSAGEBOX_HPP
  11. /*  $Id: dlg_messagebox.hpp,v 1000.0 2003/10/31 21:28:33 gouriano Exp $
  12.  * ===========================================================================
  13.  *
  14.  *                            PUBLIC DOMAIN NOTICE
  15.  *               National Center for Biotechnology Information
  16.  *
  17.  *  This software/database is a "United States Government Work" under the
  18.  *  terms of the United States Copyright Act.  It was written as part of
  19.  *  the author's official duties as a United States Government employee and
  20.  *  thus cannot be copyrighted.  This software/database is freely available
  21.  *  to the public for use. The National Library of Medicine and the U.S.
  22.  *  Government have not placed any restriction on its use or reproduction.
  23.  *
  24.  *  Although all reasonable efforts have been taken to ensure the accuracy
  25.  *  and reliability of the software and data, the NLM and the U.S.
  26.  *  Government do not and cannot warrant the performance or results that
  27.  *  may be obtained by using this software or data. The NLM and the U.S.
  28.  *  Government disclaim all warranties, express or implied, including
  29.  *  warranties of performance, merchantability or fitness for any particular
  30.  *  purpose.
  31.  *
  32.  *  Please cite the author in any work or product based on this material.
  33.  *
  34.  * ===========================================================================
  35.  *
  36.  * Authors:  Yuri Kapustin
  37.  *
  38.  * File Description:
  39.  *    CDlgMessageBox -- FLTK-based message box class
  40.  */
  41. #include <corelib/ncbistd.hpp>
  42. #include <FL/Fl.H>
  43. #include <FL/Fl_Window.H>
  44. #include <FL/Fl_Button.H>
  45. #include <FL/Fl_Box.H>
  46. BEGIN_NCBI_SCOPE
  47. class CDlgMessageBox
  48. {
  49. public:
  50.     enum EMessageBoxButton {
  51.         eID_OK         = 0x01,
  52.         eID_CANCEL     = 0x02,
  53.         eID_YES        = 0x04,
  54.         eID_NO         = 0x08,
  55.         eID_ERROR      = 0xFF
  56.     };
  57.     enum EMessageBoxType {
  58.         eMB_OK       = eID_OK,
  59.         eMB_CANCEL   = eID_CANCEL,
  60.         eMB_OKCANCEL = eID_OK  | eID_CANCEL,
  61.         eMB_YESNO    = eID_YES | eID_NO
  62.     };
  63.     CDlgMessageBox( const char* message, const char* title = "Message",
  64.                     EMessageBoxType type = eMB_OK);
  65.     virtual ~CDlgMessageBox();
  66.     virtual EMessageBoxButton DoModal();
  67.     virtual void              Show();
  68.     virtual void              Hide();
  69.     virtual void              SetText(const char*);
  70.     virtual EMessageBoxButton GetLastButtonClicked();
  71. private:
  72.     Fl_Button          *m_button [2];
  73.     Fl_Window          *m_wnd;
  74.     Fl_Box             *m_textbox;
  75.     std::string        m_title;
  76.     std::string        m_msg;
  77.     EMessageBoxButton  m_btnclicked;
  78.     static void        x_OnButtonClicked(Fl_Button*, void*);
  79. };
  80. END_NCBI_SCOPE
  81. #endif
  82. /*
  83.  * ===========================================================================
  84.  * $Log: dlg_messagebox.hpp,v $
  85.  * Revision 1000.0  2003/10/31 21:28:33  gouriano
  86.  * PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.3
  87.  *
  88.  * Revision 1.3  2003/04/30 14:09:42  dicuccio
  89.  * Updated Needleman-Wunsch plugin - produce a Seq-annot as a document; launch a
  90.  * default graphical view (cross alignment viewer)
  91.  *
  92.  * Revision 1.2  2003/02/21 17:13:54  dicuccio
  93.  * Changed enums in CDlgMessageBox - added leading 'e' to avoid
  94.  * impossible-to-remove conflict with Windows code.
  95.  *
  96.  * Revision 1.1  2003/02/04 22:56:46  kapustin
  97.  * Initial revision
  98.  *
  99.  * ===========================================================================
  100.  */