📄 fltk_timer.hpp
字号:
/* * =========================================================================== * PRODUCTION $Log: fltk_timer.hpp,v $ * PRODUCTION Revision 1000.0 2004/06/01 19:56:27 gouriano * PRODUCTION PRODUCTION: IMPORTED [GCC34_MSVC7] Dev-tree R1.3 * PRODUCTION * =========================================================================== */#ifndef GUI_WIDGETS_FL___FLTK_TIMER__HPP#define GUI_WIDGETS_FL___FLTK_TIMER__HPP/* $Id: fltk_timer.hpp,v 1000.0 2004/06/01 19:56:27 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 * */#include <corelib/ncbistd.hpp>/** @addtogroup GUI_FltkWidgets * * @{ */BEGIN_NCBI_SCOPE////////////////////////////////////////////////////////////////////////////////// ITimerListener class ITimerListener {public: // it is not supposed to be deleted, so there is no destructor virtual void OnTimeout(int timer_id) = 0;};////////////////////////////////////////////////////////////////////////////////// CFLTKTimer - is a wrapper around FLTK "timeout" API.class NCBI_GUIWIDGETS_FL_EXPORT CFLTKTimer{public: typedef void (*FOnTimeout)(int timer_id); CFLTKTimer(); CFLTKTimer(int id, double period, bool repeat, ITimerListener* listener); ~CFLTKTimer(); void Init(int id, double period, bool repeat, ITimerListener* listener); void SetListener(ITimerListener* listener); void Start(); void StartOnce(); void Stop(); void ReStart(); bool IsRunning();protected: static void x_OnTimeout(void* timer); int m_ID; /// timer ID, id is passed to ITimerListener::OnTimeout() double m_Period; /// peroid of time in seconds betwen OnTimeout invocations bool m_Repeat; /// if "true" timer will invoke OnTimeout() multiple times bool m_Running; /// "true" if timer is active ITimerListener* m_Listener;};END_NCBI_SCOPE/* @} *//* * =========================================================================== * $Log: fltk_timer.hpp,v $ * Revision 1000.0 2004/06/01 19:56:27 gouriano * PRODUCTION: IMPORTED [GCC34_MSVC7] Dev-tree R1.3 * * Revision 1.3 2004/05/11 18:55:14 dicuccio * Added doxygen modules info * * Revision 1.2 2004/05/07 22:10:37 gorelenk * Added missed export spec. * * Revision 1.1 2004/05/03 19:42:51 yazhuk * Initial revision * * =========================================================================== */#endif // GUI_WIDGETS_FL___FLTK_TIMER__HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -