Files
Sourcetrail/src/lib_gui/qt/view/QtMainView.h
T
Eberhard Graether 9256618f7c ui: Extended project setup to support creation and editing of Source Groups (issue #230)
* Turned QtProjectWizzard into window for Source Group ui
* Clicking into FilePicker when empty will open dialog right away
* Fixed environment variable use throughout all Source Group path values
* Moved Preferences to QtPreferencesWindow

bug id = 230

fortune cookie message = Zwischen dir und deinen Freunden besteht echte Freundschaft.
2017-05-29 17:08:28 +02:00

67 lines
1.7 KiB
C++

#ifndef QT_MAIN_VIEW_H
#define QT_MAIN_VIEW_H
#include <memory>
#include <vector>
#include <QStatusBar>
#include "component/view/MainView.h"
#include "qt/utility/QtThreadedFunctor.h"
#include "utility/messaging/MessageListener.h"
#include "utility/messaging/type/MessageForceEnterLicense.h"
#include "utility/messaging/type/MessageProjectEdit.h"
#include "utility/messaging/type/MessageProjectNew.h"
#include "utility/messaging/type/MessageShowStartScreen.h"
class QtMainWindow;
class View;
class QtMainView
: public MainView
, public MessageListener<MessageForceEnterLicense>
, public MessageListener<MessageProjectEdit>
, public MessageListener<MessageProjectNew>
, public MessageListener<MessageShowStartScreen>
{
public:
QtMainView();
virtual ~QtMainView();
QtMainWindow* getMainWindow() const;
// ViewLayout implementation
virtual void addView(View* view);
virtual void removeView(View* view);
virtual void showView(View* view);
virtual void hideView(View* view);
virtual QStatusBar* getStatusBar();
virtual void setStatusBar(QStatusBar* statusBar);
// MainView implementation
virtual void loadLayout();
virtual void saveLayout();
virtual void hideStartScreen();
virtual void setTitle(const std::string& title);
virtual void activateWindow();
virtual void updateRecentProjectMenu();
virtual void updateHistoryMenu(const std::vector<SearchMatch>& history);
private:
void handleMessage(MessageForceEnterLicense* message);
void handleMessage(MessageProjectEdit* message);
void handleMessage(MessageProjectNew* message);
void handleMessage(MessageShowStartScreen* message);
std::shared_ptr<QtMainWindow> m_window;
std::vector<View*> m_views;
QtThreadedLambdaFunctor m_onQtThread;
};
#endif // QT_MAIN_VIEW_H