mirror of
git://git.savannah.nongnu.org/eliot.git
synced 2025-01-15 03:44:04 +01:00
b7032e2d78
This simplifies the code in many places, and allows inheritance of the game mode classes (Training, Duplicate and FreeGame). - A Tile is no more an unsigned char, but a class: it should help supporting i18n of the game. The Dic library still uses unsigned chars though. - Improved the configure script, to enable/disable the compilation of some interfaces. - Added a ncurses interface, much nicer than the text one. The game mode and the number of players are currently hardcoded, it is not possible to change them interactively (yet). - Repaired the save/load functions. NOTE: The wxWindows interface compiles, but is completely broken. I'm afraid it needs a full rewrite (to support the various game modes in particular).
102 lines
3.4 KiB
C++
102 lines
3.4 KiB
C++
/* Eliot */
|
|
/* Copyright (C) 1999 Antoine Fraboulet */
|
|
/* Antoine.Fraboulet@free.fr */
|
|
/* */
|
|
/* 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. */
|
|
/* */
|
|
/* This program is distributed in the hope that it will be useful, */
|
|
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
|
|
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
|
|
/* GNU General Public License for more details. */
|
|
/* */
|
|
/* You should have received a copy of the GNU General Public License */
|
|
/* along with this program; if not, write to the Free Software */
|
|
/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
|
|
|
/* $Id: mainframe.h,v 1.2 2005/02/05 11:14:56 ipkiss Exp $ */
|
|
|
|
// -*- C++ -*-
|
|
#ifndef _MAINFRAME_H
|
|
#define _MAINFRAME_H
|
|
|
|
#include "dic.h"
|
|
#include "game.h"
|
|
#include "auxframes.h"
|
|
|
|
class MainFrame: public wxFrame
|
|
{
|
|
private:
|
|
|
|
Dictionary m_dic;
|
|
Game *m_game;
|
|
ConfigDB config;
|
|
AuxFrame* auxframes_ptr[MAX_FRAME_ID];
|
|
|
|
wxTextCtrl *rack;
|
|
wxListCtrl *results;
|
|
wxButton *b_play;
|
|
wxButton *b_rackrandomset;
|
|
wxButton *b_rackrandomnew;
|
|
wxButton *b_search;
|
|
wxButton *b_back;
|
|
wxStatusBar *statusbar;
|
|
|
|
void Play(int);
|
|
void Search();
|
|
|
|
void InitFrames();
|
|
void InitMenu();
|
|
void UpdateStatusBar();
|
|
void UpdateFrames(refresh_t force = REFRESH);
|
|
|
|
public:
|
|
MainFrame(wxPoint,wxSize);
|
|
virtual ~MainFrame();
|
|
|
|
// *****
|
|
// Menus
|
|
// *****
|
|
void OnMenuGameNew (wxCommandEvent& event);
|
|
void OnMenuGameOpen (wxCommandEvent& event);
|
|
void OnMenuGameSave (wxCommandEvent& event);
|
|
void OnMenuGamePrint (wxCommandEvent& event);
|
|
void OnMenuGamePrintPreview (wxCommandEvent& event);
|
|
void OnMenuGamePrintPS (wxCommandEvent& event);
|
|
|
|
void OnMenuConfGameDic (wxCommandEvent& event);
|
|
void OnMenuConfGameSearch (wxCommandEvent& event);
|
|
|
|
void OnMenuConfPrint (wxCommandEvent& event);
|
|
|
|
void OnMenuConfAspectFont (wxCommandEvent& event);
|
|
void OnMenuConfAspectBoardColour (wxCommandEvent& event);
|
|
|
|
void OnMenuShowFrame (wxCommandEvent& event);
|
|
|
|
void OnMenuQuitApropos (wxCommandEvent& event);
|
|
void OnMenuQuitConfirm (wxCommandEvent& event);
|
|
|
|
// *******
|
|
// Buttons
|
|
// *******
|
|
void OnPlay (wxCommandEvent& event);
|
|
void OnSetRack (wxCommandEvent& event);
|
|
void OnSearch (wxCommandEvent& event);
|
|
void OnPlayBack (wxCommandEvent& event);
|
|
|
|
|
|
// *******
|
|
// Objects
|
|
// *******
|
|
void OnListCtrlSelected (wxListEvent& event);
|
|
void OnListCtrlActivated (wxListEvent& event);
|
|
|
|
void OnCloseWindow (wxCloseEvent& event);
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
#endif
|