If you have comments or questions concerning this source file, discuss them in the forum.
/*
Copyright (c) 2002 Nicolai Haehnle

See the license.txt for details. If that file was not included in the
source distributions, please email <prefect@rtts.org>
*/
// rttspanels.h -- RTTS custom panels

#ifndef RTTSPANELS_H
#define RTTSPANELS_H

#include "gui_label.h"
#include "gui_button.h"
#include "gui_radiobutton.h"
#include "gui_checkbox.h"

// Uses the default coloring for menus etc..
class RttsButton : public GButton {
public:
    RttsButton(GPanel *pParent, int x, int y, int w, int h, const char *szText = 0,
        int iAlign = 0, int id = -1);
};

class RttsRadioButton : public GRadioButton {
public:
    RttsRadioButton(GPanel *pParent, int x, int y, int w, int h, const char *szText = 0,
        int iAlign = 0, int id = -1);
};

class RttsCheckBox : public GCheckBox {
public:
    RttsCheckBox(GPanel *pParent, int x, int y, int w, int h, const char *szText = 0,
        int iAlign = 0, int id = -1);
};

class RttsDialog : public GPanel {
    GButton*    m_pDefaultButton;

public:
    RttsDialog(GPanel *pParent, int x, int y, int w, int h, bool bOverlap = true);

    void SetDefaultButton(GButton* pBtn);

    virtual void Draw();
    virtual bool Key(int code, char c, bool down);
};

class RttsMessageBox : public RttsDialog {
public:
    RttsMessageBox(GPanel *pParent, const char *pszText, ...);

    static void Ok(GPanel *pParent, const char *pszText);
    static bool YesNo(GPanel *pParent, const char *pszText);
};

// Main Menu
#define MM_QUIT         0
#define MM_HANGAR       1
#define MM_EDITOR       2


// Hangar Screen
#define HANGAR_MAINMENU     0
#define HANGAR_GAME         1

GPanel *MakeHangar();


// Running Game
#define GAME_LOOSE          0
#define GAME_HANGAR         1

int G_Run();

// Map editor
GPanel *MakeEditor();

#endif // RTTSPANELS_H