/*
 * wxBC.h
 * written by Brian Derr
 * 2003/02/17
 *
 * declarations for a wxWindows GUI of the braincurses game
 */

#include <wx/scrolwin.h>
#include <wx/splitter.h>
#include <wx/window.h>
#include <wx/wx.h>

class braincurses : public wxApp
{
   virtual bool OnInit();
};

class bcFrame : public wxFrame
{
public:
    bcFrame(const wxString &title, const wxPoint &pos, const wxSize &size);

    // menu commands
    void OnQuit(wxCommandEvent &event);
    void OnAbout(wxCommandEvent &event);

private:
    wxScrolledWindow *m_left, *m_right;
    wxSplitterWindow* m_splitter;

    DECLARE_EVENT_TABLE()
};

class bcSplitterWindow : public wxSplitterWindow
{
   public:
      bcSplitterWindow(wxFrame *parent);

      // event handlers
      void OnPositionChanged(wxSplitterEvent& event);
      void OnPositionChanging(wxSplitterEvent& event);
      void OnDClick(wxSplitterEvent& event);
      void OnUnsplit(wxSplitterEvent& event);
   
   private:
      wxFrame *m_frame;

      DECLARE_EVENT_TABLE()
};

class bcCanvas : public wxScrolledWindow
{
   public:
      bcCanvas(wxWindow* parent);
      virtual ~bcCanvas();

      virtual void OnDraw(wxDC& dc);
};

enum { ID_Quit = 1, ID_About };

