dialog.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:4k
- /*
- * ===========================================================================
- * PRODUCTION $Log: dialog.hpp,v $
- * PRODUCTION Revision 1000.3 2004/04/16 16:53:23 gouriano
- * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.6
- * PRODUCTION
- * ===========================================================================
- */
- #ifndef GUI_DIALOGS___DIALOG__HPP
- #define GUI_DIALOGS___DIALOG__HPP
- /* $Id: dialog.hpp,v 1000.3 2004/04/16 16:53:23 gouriano Exp $
- * ===========================================================================
- *
- * 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: Mike DiCuccio
- *
- * File Description:
- *
- */
- #include <corelib/ncbiobj.hpp>
- #include <gui/gui.hpp>
- #include <memory>
- class Fl_Window;
- class Fl_Widget;
- /** @addtogroup GUI_UTILS
- *
- * @{
- */
- BEGIN_NCBI_SCOPE
- //
- // class CDialog defines the basic interactions for dialogs
- //
- class NCBI_GUIUTILS_EXPORT CDialog : public CObject
- {
- public:
- CDialog();
- virtual ~CDialog();
- void SetTitle(const string& title);
- // non-modal operations
- virtual void Show();
- virtual void Hide();
- // modal operations
- virtual int Show(int argc, char** argv);
- virtual EDialogReturnValue ShowModal();
- // check to see if our dialog is visible
- bool IsShown(void) const;
- // center the dialog box in the screen
- void Center(void);
- // center the dialog over the currently active window, or in the screen
- // if there is no currently active window
- void CenterOnActive(void);
- // center the dialog box at a given point
- void Center(int x, int y);
- // center the dialog box in a given rectangle
- void Center(int x, int y, int w, int h);
- // center the dialog box over a given widget
- void Center(const Fl_Widget* w);
- protected:
- EDialogReturnValue m_RetValue;
- auto_ptr<Fl_Window> m_Window;
- string m_TitleStr;
- virtual void x_OnOK();
- virtual void x_OnCancel();
- private:
- // forbidden
- CDialog(const CDialog&);
- CDialog& operator=(const CDialog&);
- };
- END_NCBI_SCOPE
- /* @} */
- /*
- * ===========================================================================
- * $Log: dialog.hpp,v $
- * Revision 1000.3 2004/04/16 16:53:23 gouriano
- * PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.6
- *
- * Revision 1.6 2004/04/16 14:27:17 dicuccio
- * Added doxygen module tag
- *
- * Revision 1.5 2004/03/11 17:19:32 dicuccio
- * Use TSeqRange instead of TRange. Use gui/gui instead of gui/types
- *
- * Revision 1.4 2003/12/08 18:02:50 dicuccio
- * Added Center() functions
- *
- * Revision 1.3 2003/12/05 17:21:34 yazhuk
- * Added SetTitle()
- *
- * Revision 1.2 2003/11/26 17:05:03 dicuccio
- * Added IsShown()
- *
- * Revision 1.1 2003/09/29 15:07:43 dicuccio
- * Initial revision
- *
- * Revision 1.1 2003/09/12 19:50:35 dicuccio
- * Intiial revision
- *
- * ===========================================================================
- */
- #endif // GUI_DIALOGS___DIALOG__HPP