taxplot3d_widget.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:4k
- /*
- * ===========================================================================
- * PRODUCTION $Log: taxplot3d_widget.hpp,v $
- * PRODUCTION Revision 1000.0 2004/04/12 18:27:15 gouriano
- * PRODUCTION PRODUCTION: IMPORTED [CATCHUP_003] Dev-tree R1.4
- * PRODUCTION
- * ===========================================================================
- */
- #ifndef GUI_WIDGETS_TAXPLOT___TAXPLOT_3D_WIDGET___HPP
- #define GUI_WIDGETS_TAXPLOT___TAXPLOT_3D_WIDGET___HPP
- /* $Id: taxplot3d_widget.hpp,v 1000.0 2004/04/12 18:27:15 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: Vladimir Tereshkov
- *
- * File Description:
- * Taxplot 3-dimensional widget
- */
- #include <corelib/ncbistd.hpp>
- #include <gui/opengl/gldlist.hpp>
- #include <gui/opengl/glcanvas3d.hpp>
- #include <FL/Fl_Group.H>
- #include <FL/Fl_Menu.H>
- #include <FL/Fl_Menu_Button.H>
- #include <gui/utils/fltk_utils.hpp>
- #include <gui/widgets/fl/menu.hpp>
- #include <algorithm>
- BEGIN_NCBI_SCOPE
- class CTaxplot3dDataSource;
- class CTaxplot3dPanel;
- enum ETaxplotEvents{
- CMD_PERSP_PROJECTION,
- CMD_ORTOXY_PROJECTION,
- CMD_ORTOYZ_PROJECTION,
- CMD_ORTOXZ_PROJECTION,
- CMD_REFRESH_VIEW,
- CMD_VIEW_AXES,
- CMD_VIEW_GRID,
- CMD_VIEW_ARROWS,
- CMD_VIEW_LABELS,
- CMD_VIEW_SCALE,
- CMD_SHAPE_SPHERE,
- CMD_SHAPE_CUBE,
- CMD_SHAPE_CROSS,
- CMD_PIVOT_FLOATING,
- CMD_PIVOT_FIXED,
- CMD_PIVOT_ATTACHED,
- CMD_COLOR_SCHEME1,
- CMD_COLOR_SCHEME2,
- CMD_COLOR_SCHEME3
- };
- ////////////////////////////////////////////////////////////////////////////////
- /// class CTaxplot3dWidget
- class NCBI_GUIWIDGETS_TAXPLOT_EXPORT CTaxplot3dWidget :public Fl_Group
- {
- public:
- CTaxplot3dWidget(int x, int y, int w, int h, const char* label);
- virtual ~CTaxplot3dWidget();
- CTaxplot3dPanel * getPanel(void) {return m_3DPanel;};
- void SetDataSource(CTaxplot3dDataSource * ds);
- void SetViewMode(int mode);
- void SlowRedraw(void);
- // overridden handle()
- int handle(int event);
- private:
- CTaxplot3dPanel * m_3DPanel;
- Fl_Menu_Button * m_PopupMenu;
- Fl_Menu_Item * m_Pulldown;
- CGUIEvent m_Event;
- CPopupMenu * m_pPopupMenu;
- };
- END_NCBI_SCOPE
- /*
- * ===========================================================================
- * $Log: taxplot3d_widget.hpp,v $
- * Revision 1000.0 2004/04/12 18:27:15 gouriano
- * PRODUCTION: IMPORTED [CATCHUP_003] Dev-tree R1.4
- *
- * Revision 1.4 2004/01/28 17:39:59 tereshko
- * Fixed popup menu
- *
- * Revision 1.3 2004/01/28 17:11:32 tereshko
- * Added CGUIEvent
- *
- * Revision 1.2 2004/01/14 16:33:05 tereshko
- * Added NCBI_GUIWIDGETS_TAXPLOT_EXPORT, few minor things
- *
- * Revision 1.1 2004/01/05 16:22:04 tereshko
- * Initial revision
- *
- * ===========================================================================
- */
- #endif // GUI_WIDGETS_TAXPLOT___TAXPLOT_3D_WIDGET___HPP