#ifndef MCS_WORKBENCH_H_
#define MCS_WORKBENCH_H_

#include <QMainWindow>

#include "ads_mousegrabber.h"
#include "ads_manager.h"
#include "ads_data.h"
#include "ads_widgets.h"

class IAdsWorkBench
{
public:
  static IAdsWorkBench& instance();

  virtual void installMouseGrabber(int key, IAdsMouseGrabber&)=0;

  virtual QMainWindow& mainWindow()=0;

  virtual QTabWidget* getTabArea()=0;

  virtual void addShortcut(QAction* act)=0;
};

class IAdsApplication
{
public:
  virtual const char* const getAppTitle()=0;
  virtual const char* const getIcdName()=0;
  virtual void restoreSettings()=0;
  virtual void saveSettings()=0;
};

extern IAdsApplication* AdsCreateApplicationInstance(IAdsWorkBench&);


#endif /*MCS_WORKBENCH_H_*/
