main_call_window.hpp 1.07 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
#ifndef CVVISUAL_MAINCALLWINDOW_HPP
#define CVVISUAL_MAINCALLWINDOW_HPP

#include <memory>

#include <QCloseEvent>

#include "call_window.hpp"
#include "overview_panel.hpp"
#include "../controller/view_controller.hpp"
#include "../util/util.hpp"

namespace cvv
{

namespace controller
{
class ViewController;
}

namespace gui
{

class OverviewPanel;

/**
 * @brief A call window also inheriting the overview panel.
 */
class MainCallWindow : public CallWindow
{

	Q_OBJECT

      public:
	/**
	 * @brief Constructs a new main call window.
	 * @param controller view controller inheriting this main window
	 * @param id id of this main window
	 * @param ovPanel inherited overview panel
	 */
	MainCallWindow(util::Reference<controller::ViewController> controller,
	               size_t id, OverviewPanel *ovPanel);

	~MainCallWindow()
	{
	}

	/**
	 * @brief Show the overview tab.
	 */
	void showOverviewTab();

	/**
	 * @brief Hides the close window.
	 */
	void hideCloseWindow();

      protected:
	void closeEvent(QCloseEvent *event);

      private:
	OverviewPanel *ovPanel;
};
}
}
#endif