Newer
Older
WickedDocs / ui.h
@John Ryland John Ryland on 12 May 2015 1 KB
#include "ui_About.h"
#include "ui_ExtensibleObjectModelUI.h"
#include "EventLog.h"
#include "GenericTableUI.h"
#include "ColorPicker.h"


class UiLogger : public Logger
{
public:
	void init(EventLog* a_log)
	{
		m_log = a_log;
	}
	void logMessage(yqLogLevel a_logLevel, const char *a_location, const char *a_message)
	{
		m_log->LogMessage(a_location, a_message);
	}
private:
	EventLog* m_log;
};


struct UiContext
{
	Ui_MainWindow appWindow;
	QMainWindow mainWindow;

	Ui_About about;
	QDialog aboutDialog;

	EventLog log;
	UiLogger logger;
	GenericTableUI logView;

	ColorPicker picker;

	void setupUi()
	{
		logger.init(&log);
		g_currentModule.m_messageLogger = &logger;

		appWindow.setupUi(&mainWindow);
		mainWindow.menuBar()->setNativeMenuBar(false);

		about.setupUi(&aboutDialog);
		aboutDialog.setFixedSize(430, 300);

		QObject::connect(appWindow.actionAbout, SIGNAL(triggered(bool)), &aboutDialog, SLOT(exec()));

		mainWindow.show();
		picker.show();
	
		log.LogMessage("blah", "hooking up ui");
		logView.init(&log, appWindow.eventLog);
		log.LogMessage("blah", "starting");
	}
};