{-# OPTIONS -fglasgow-exts #-}

module Main where

import Qtc.Classes.Qccs
import Qtc.Classes.Gui
import Qtc.ClassTypes.Gui
import Qtc.Core.Base
import Qtc.Core.QCoreApplication
import Qtc.Gui.Base
import Qtc.Gui.QApplication
import Qtc.Gui.QWidget
import Qtc.Gui.QPushButton
import Qtc.Gui.QAbstractButton
import Qtc.Gui.QMessageBox
import Qtc.Gui.QCheckBox
import Qtc.Gui.QLineEdit
import Qtc.Gui.QVBoxLayout
import Qtc.Gui.QGroupBox
import Qtc.Gui.QDoubleSpinBox
import Qtc.Gui.QSpinBox
import Qtc.Gui.QMenu
import Qtc.Enums.Base
import Qtc.Gui.QLabel
import Qtc.Gui.QMenuBar
import Qtc.Gui.QSizePolicy
import Qtc.Gui.QMainWindow
import Qtc.Enums.Gui.QSizePolicy
import Qtc.Enums.Gui.QFrame
import Qtc.Gui.QFrame

main = do 
  win <- setupApplication     
  qshow win ()
  qApplicationExec ()

setupApplication = do
  app <- qApplication ()
  
  mainWindow <- qMainWindow ()
  setWindowTitle mainWindow "Heyo!!!!"
  centralWidget <- qWidget ()
  
  topFiller <- qWidget ()
  topPolicy <- qSizePolicy (eExpanding, eExpanding)
  setSizePolicy topFiller topPolicy
  
  infoLabel <- qLabel "<i> Choose a menu option </i>"
  setFrameStyle infoLabel (qEnum_toInt eStyledPanel)

  layout <- qVBoxLayout ()
  addWidget layout topFiller
  addWidget layout infoLabel

  setCentralWidget mainWindow centralWidget
  return mainWindow
  