﻿#ifndef Q7B_mainwindow_h
#define Q7B_mainwindow_h

#include "Q7BRuntime.h"


class MainWindow;
extern MainWindow *Q7B_MainWindow_Class(Q7B o);
extern Q7B Q7B_MainWindow_Object();
extern MainWindow *q7b_MainWindow_Object;
extern Q7B q7b_MainWindow_Object_Q7B;
extern bool q7b_MainWindow_Object_Finalized;
extern bool q7b_MainWindow_Object_Init;


extern QMap<QString, Q7B>q7b_ui;


extern Q7B Q7B_MainWindow_Object();

extern Q7B Q7B_CMath_Object();

extern Q7B Q7B_Preferences_Object();

extern Q7B Q7B_Application_Object();

extern Q7B Q7B_Debug_Object();

extern Q7B Q7B_OS_Object();

extern Q7B Q7B_File_Object();

extern Q7B Q7B_Desktop_Object();

extern Q7B Q7B_Dir_Object();

extern Q7B Q7B_OpenFileDialog_Object();

extern Q7B Q7B_SaveFileDialog_Object();

extern Q7B Q7B_ColorDialog_Object();

extern Q7B Q7B_FontDialog_Object();

extern Q7B Q7B_ProgressDialog_Object();

extern Q7B Q7B_InputDialog_Object();

extern Q7B Q7B_Database_Object();

extern Q7B Q7B_Table_Object();

extern Q7B Q7B_Records_Object();

extern Q7B Q7B_Query_Object();

extern Q7B Q7B_MessageBox_Object();

extern Q7B Q7B_ToolBar_Object();

extern Q7B Q7B_Sounds_Object();

extern Q7B Q7B_Pixmaps_Object();

extern Q7B Q7B_Colors_Object();

extern Q7B Q7B_Fonts_Object();

extern Q7B Q7B_StatusBar_Object();
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(Q7B _q7b_this, QWidget *parent = 0);
MainWindow(QWidget *parent = 0);
~MainWindow();
MainWindow(Q7B _q7b_this);
void Init();



public:
static void SingleTonInit(MainWindow*me)
{
q7b_MainWindow_Object = me;
q7b_MainWindow_Object_Q7B = me->q7b_this;
q7b_MainWindow_Object_Init = true;
me->Init();
}

static Q7B SingleTonObject()
{
SingleTonObjectPointer();
return q7b_MainWindow_Object_Q7B;
}


static MainWindow* SingleTonObjectPointer()
{
if (q7b_MainWindow_Object_Finalized) return 0;
if (q7b_MainWindow_Object == 0){
q7b_MainWindow_Object_Init = true;
if (q7b_ui.contains("MainWindow")){
  q7b_MainWindow_Object = (MainWindow *) (QWidget *) q7b_ui["MainWindow"]->ref; 
} else {
  q7b_MainWindow_Object = new MainWindow(q7b_MainWindow_Object_Q7B, 0); q7b_MainWindow_Object->Init();
}
}
return q7b_MainWindow_Object;
}


static MainWindow* ClassPointer(Q7B o)
{
return (MainWindow*) o->ref;
}


public:
private:
Q7B q7b_this;

};

#endif
