/***************************************************************************
                          appmenuwidget.h  -  The main Qt/KDE window
                             -------------------
    begin                : Tue Sep 16 00:00:00 CET 2008
    copyright            : (C) 2008 by Danilo Balzaque
    email                : danilo.balzaque@ltia.fc.unesp.br

    copyright            : (C) 2008 by Tadeu Araujo, tadeu.araujo@ltia.fc.unesp.br
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
#ifndef APPMENUWIDGET_H
#define APPMENUWIDGET_H

#ifdef DEBUG
#include <kdebug.h>
#endif

#include <kxmlguiwindow.h>
#include <kapplication.h>

#include <QHBoxLayout>

#include "mainqtwidget.h"
#include "FractionRingWidget.h"

class QHBoxLayout;
class QPushButton;
class MainQtWidget;
class FractionRingWidget;
class KAction;

/** Constructs the main window and presents the user interface.
 *  The window give the user the hability to choose what application
 *  he want to open first.
 *  \author Danilo Balzaque
 **/
class AppMenuWidget : public KXmlGuiWindow
{
    Q_OBJECT

public:
    /** constructor */
    AppMenuWidget();

    /** destructor */
    ~AppMenuWidget();

private:
    QWidget * baseWidget;
    QWidget * interfaceWidget;

    QHBoxLayout * layout1;
    QGridLayout * gridLayout;

    QPushButton * m_Freestyle;
    QLabel * labelFreestyle;
    QPushButton * m_Learning;
    QLabel * labelLearning;
    QLabel * labelInfo;

    KAction * m_NewTaskAction;
    KAction * m_BackAction;
    KAction * m_HintAction;

    MainQtWidget * kbruchApp;
    FractionRingWidget * fractionRing;

    void setupActions();

private slots:
    void slotFreestyleClicked();
    void slotLearningClicked();
    /**
    * makes sure, all parts of the UI update to new settings
    */
    void slotApplySettings();
};

#endif // AppMenuWidget
