Newer
Older
Import / research / signals-slots / src / gui / TDT / application.h
@John John on 29 Dec 2020 733 bytes bulk import from macbookpro checkouts
/*
    3D C++ Toolkit (TDT)
    Application Class
    Copyright (c) 2008
    John Ryland
*/
#ifndef APPLICATION_H
#define APPLICATION_H


#include <list>
#include <TDT/window.h>
#include <TDT/event.h>


namespace TDT
{


class Application
{
public:
    Application(int argc, char *argv[]);
    ~Application();
    int exec();
    static Application *instance();
    virtual bool eventFilter(Event event);
    void dispatchEvent(Event event);
    void insertWindow(Window *win);
    void removeWindow(Window *win);
    void addTimer(int milliSec, Window *win);
    void init(int argc, char *argv[]);
    void installCallbacks();
private:
    static Application *app;
    std::list<Window*> windows;
};


};


#endif // APPLICATION_H