graphwindow.hpp

来自「ncbi源码」· HPP 代码 · 共 99 行

HPP
99
字号
/* * =========================================================================== * PRODUCTION $Log: graphwindow.hpp,v $ * PRODUCTION Revision 1000.0  2003/10/31 21:09:30  gouriano * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.2 * PRODUCTION * =========================================================================== */#ifndef GUI_GRAPH_DEMO1___GRAPH_WINDOW__HPP#define GUI_GRAPH_DEMO1___GRAPH_WINDOW__HPP/*  $Id: graphwindow.hpp,v 1000.0 2003/10/31 21:09:30 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:  Andrey Yazhuk * * File Description: * */#include <gui/opengl/glcanvas2d.hpp>#include <gui/graph/igraph.hpp>#include <gui/graph/scroll_widget.hpp>#include <gui/graph/graph_panel.hpp>USING_NCBI_SCOPE;/////////////////////////////////////////////////////////////////////////////////// class CGraphWindow /// CGraphWindow is an example of widget using "graph" library for vizualizing/// Charts, Pie diagram and Scatter graph./// CGraphWindow creates CGraphPanel objects and supplies it with OpenGL drawing context. /// The class provides support for zooming and scrolling graphsclass CGraphWindow : public CGlCanvas2d, public IScrollableWidget{public:    CGraphWindow(int x, int y, int w, int h);    virtual ~CGraphWindow();    virtual void draw();    virtual void resize(int x, int y, int w, int h);    void    ZoomAll();    void    ZoomIn();    void    ZoomOut();        void    AddGraph(IGraph* pGraph);    void    AddDataSource(IGraphDataSource* pDS);    void    RemoveGraphsAndSources();    // IScrollableWidget implementation    virtual void SetContainer(IScrollContainer* pCont);    virtual void OnScrollX(Fl_Scrollbar* pBar);    virtual void OnScrollY(Fl_Scrollbar* pBar);protected:    void    x_UpdateScrollBars();    void    x_CreateComboChart();    void    x_CreatePie();    void    x_CreateScatter();    protected:    vector<IGraphDataSource*> m_vpSources;    vector<IGraph*>  m_vpGraphs;        CGraphPanel m_Panel;        IScrollContainer* m_pScrollCont;    };#endif  // GUI_WIDGETS_GRAPH___GRAPH_WIDGET__HPP

⌨️ 快捷键说明

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