﻿#include "Global.h"


#include "Global.h"


#include "MainWindow.h"


#define CommandButton Q7B_CommandButton
#define CommandLinkButton Q7B_CommandLinkButton
#define ImageButton Q7B_ImageButton
#define ToolButton Q7B_ToolButton
#define CheckBox Q7B_CheckBox
#define RadioButton Q7B_RadioButton
#define Label Q7B_Label
#define Frame Q7B_Frame
#define ImageBox Q7B_ImageBox
#define TextBox Q7B_TextBox
#define uiClass Q7B_uiClass
#define Class Q7B_Class
#define Module Q7B_Module
#define Control QWidget

extern Q7B Q7B_idAPPLICATION;
Q7B Q7B_Application_Object(){ if (Q7B_nil(Q7B_idAPPLICATION)){ Q7B_idAPPLICATION = Q7B(new Q7B_id(typeid(QApplication).name(), qApp)); } return Q7B_idAPPLICATION; }
extern Q7B Q7B_idSYSTEMTRAYICON;
Q7B Q7B_SystemTrayIcon_Object(){ if (Q7B_nil(Q7B_idSYSTEMTRAYICON)){ Q7B_idSYSTEMTRAYICON = Q7B(new Q7B_id(typeid(QSystemTrayIcon).name(), new QSystemTrayIcon())); } return Q7B_idSYSTEMTRAYICON; }

Global *Q7B_Global_Class(Q7B o){ return Global::ClassPointer(o); }
Q7B Q7B_Global_Object(){ return Global::SingleTonObject(); }
Global *q7b_Global_Object = 0;
Q7B q7b_Global_Object_Q7B;
bool q7b_Global_Object_Finalized = false;
bool q7b_Global_Object_Init = false;

Global::Global(QObject *parent)
 : QObject(parent)
{
  Init()/*C*/;
}

Global::~Global()
{
  if (this == q7b_Global_Object){ q7b_Global_Object = 0; q7b_Global_Object_Q7B = Q7B_IDNIL(); }
  q7b_this->ref = 0;
}

void Global::Init()
{
  if (q7b_Global_Object_Init){ q7b_Global_Object_Init = false; q7b_Global_Object_Q7B = q7b_this = Q7B(new Q7B_id(typeid(Global).name(), this)); } else q7b_this = Q7B(new Q7B_id(typeid(Global).name(), this)); 
  setObjectName("Global");
                                                                  /*DEBUG*/Q7BS("Global.QObject.q7b", "Init", "4", "0");
                                                                  /*DEBUG*/Q7BS("Global.QObject.q7b", "Init", "5", "1");
Q7B s; Q7B_ASSIGNMENT(&s, &(Q7B__STRING(Q7B_ID(QString("")))));
                                                                  /*DEBUG*/Q7BS("Global.QObject.q7b", "Init", "7", "1");
Q7B_ASSIGNMENT(&s, &Q7B__STRING(Q7B_ADD(Q7B_ADD(s, Q7B_ID("7")), Q7B_ID("\n"))));
                                                                  /*DEBUG*/Q7BS("Global.QObject.q7b", "Init", "8", "1");
Q7B_ASSIGNMENT(&s, &Q7B__STRING(Q7B_ADD(Q7B_ADD(s, Q7B_ID("Global")), Q7B_ID("\n"))));
                                                                  /*DEBUG*/Q7BS("Global.QObject.q7b", "Init", "9", "1");
Q7B_ASSIGNMENT(&s, &Q7B__STRING(Q7B_ADD(Q7B_ADD(s, Q7B_ID("QObject")), Q7B_ID("\n"))));
                                                                  /*DEBUG*/Q7BS("Global.QObject.q7b", "Init", "10", "1");
Q7B_ASSIGNMENT(&s, &Q7B__STRING(Q7B_ADD(Q7B_ADD(s, Q7B_ID("Global.QObject.q7b")), Q7B_ID("\n"))));
                                                                  /*DEBUG*/Q7BS("Global.QObject.q7b", "Init", "11", "1");
Q7B_ASSIGNMENT(&s, &Q7B__STRING(Q7B_ADD(Q7B_ADD(s, Q7B_ID("Init")), Q7B_ID("\n"))));
                                                                  /*DEBUG*/Q7BS("Global.QObject.q7b", "Init", "13", "1");
Q7B__MSGBOX(s);
                                                                  /*DEBUG*/Q7BS("Global.QObject.q7b", "Init", "15", "1");
Q7B_ASSIGNMENT(&s, &Q7B__STRING(Q7B_ID("File: Global.QObject.q7b\nLine: 15\nClassName: Global\nScope: Init\nSuperClassName: QObject")));
                                                                  /*DEBUG*/Q7BS("Global.QObject.q7b", "Init", "17", "1");
Q7B__MSGBOX(s);
                                                                  /*DEBUG*/Q7BS("Global.QObject.q7b", "Init", "19", "2");
}

Global::Global(Q7B _q7b_this/*99*/)
{
}


QEventLoop *q7b_workaround_eventloop = 0; Q7B_workaround_eventloop Q7B_workaround_eventloop_; void Q7B_workaround_eventloop::q7b_workaround_eventloop_(){  q7b_workaround_eventloop->exit(); }

extern bool Q7B_bDebug;

int main (int argc, char *argv[])
{
QApplication *q7b_qApp = new QApplication(argc, argv);
qApp->addLibraryPath(qApp->applicationDirPath() + "/plugins");
qApp->setApplicationName("Debug");
Global::SingleTonObject();
MainWindow::SingleTonObject();
MainWindow::SingleTonObjectPointer()->show();
int q7b_n = qApp->exec();

QMapIterator<QString, Q7B> iii(q7b_ui);
while (iii.hasNext()){
  iii.next();
  if (!((QWidget *) iii.value()->ref)->testAttribute(Qt::WA_DeleteOnClose)){
    delete ((QWidget *) iii.value()->ref);
  }
q7b_ui[iii.key()]->ref = 0;
q7b_ui[iii.key()] = Q7B_IDNIL();
}


if (Q7B_idSYSTEMTRAYICON != Q7B_IDNIL() && !Q7B_idSYSTEMTRAYICON.isNull() && Q7B_idSYSTEMTRAYICON->ref){ Q7B_idSYSTEMTRAYICON->ref = 0; Q7B_idSYSTEMTRAYICON = Q7B_idnil; }
MainWindow *q7b_oMainWindow = MainWindow::SingleTonObjectPointer(); if (q7b_oMainWindow){ q7b_MainWindow_Object_Finalized = true; delete q7b_oMainWindow; q7b_MainWindow_Object = 0; /*q7b_object["MainWindow"]->ref = 0;*/ q7b_MainWindow_Object_Q7B->ref = 0; }
q7b_workaround_eventloop = new QEventLoop();
QTimer::singleShot(10, &Q7B_workaround_eventloop_, SLOT(q7b_workaround_eventloop_())); q7b_workaround_eventloop->exec();
delete q7b_workaround_eventloop;
Global *q7b_oGlobal = Global::SingleTonObjectPointer(); if (q7b_oGlobal){ q7b_Global_Object_Finalized = true; delete q7b_oGlobal; q7b_Global_Object = 0; /*q7b_object["Global"]->ref = 0;*/ q7b_Global_Object_Q7B->ref = 0; }
q7b_workaround_eventloop = new QEventLoop();
QTimer::singleShot(10, &Q7B_workaround_eventloop_, SLOT(q7b_workaround_eventloop_())); q7b_workaround_eventloop->exec();
delete q7b_workaround_eventloop;
Q7B_CLOSEALLDATABASES();
Q7B_CLOSESCREEN();
if (Q7B_Preferences_Object() != Q7B_IDNIL()) ((QSettings *) Q7B_Preferences_Object()->ref)->sync();
delete q7b_qApp;
return q7b_n;
}

Q7B Q7B_GLOBAL_LOADUI(QString uiName)
{
  Q7B q7b_this;
  return Q7B_IDNIL();
}

Q7B Q7B_GLOBAL_OPENWINDOW(QString uiName)
{
  Q7B q7b_this;
  return Q7B_IDNIL();
}

Q7B Q7B_GLOBAL_OPENDIALOG(QString uiName)
{
  Q7B q7b_this;
  return Q7B_IDNIL();
}

Q7B Q7B_GLOBAL_OPENTOOLWINDOW(QString uiName)
{
  Q7B q7b_this;
  return Q7B_IDNIL();
}

bool Q7B_GLOBAL_CLOSEWINDOW(QString uiName)
{
    if (q7b_ui.contains(uiName)){
      if (((QWidget *) q7b_ui[uiName]->ref)->close()){
         ((QWidget *) q7b_ui[uiName]->ref)->deleteLater();
         q7b_ui[uiName] = Q7B_IDNIL();
         q7b_ui.remove(uiName);
      }
    }
  return false;
}

Q7B Q7B_ID(Global * o)
{
  Q7B q (new Q7B_id(typeid(Global).name(), o));
  return q;
}

Q7B Q7B__GLOBAL(Q7B o)
{
  Global *test = qobject_cast<Global *>((QObject *) o->ref);
  if (test) return o;
  Q7B_CASTEXCEPTION("'Global' for assignment expected, tried '" + QString(o->type) + "'");
  return Q7B_idnil;
}

Q7B Q7B_ID(MainWindow * o)
{
  Q7B q (new Q7B_id(typeid(MainWindow).name(), o));
  return q;
}

Q7B Q7B__MAINWINDOW(Q7B o)
{
  MainWindow *test = qobject_cast<MainWindow *>((QObject *) o->ref);
  if (test) return o;
  Q7B_CASTEXCEPTION("'MainWindow' for assignment expected, tried '" + QString(o->type) + "'");
  return Q7B_idnil;
}
