|
|
|
|
/***************************************************************************
|
|
|
|
|
* Copyright (C) 2003 by Ian Wadham and Marco Kr<EFBFBD>ger *
|
|
|
|
|
* ianw2@optusnet.com.au *
|
|
|
|
|
* *
|
|
|
|
|
* 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 KGRDIALOG_TQT_H
|
|
|
|
|
#define KGRDIALOG_TQT_H
|
|
|
|
|
|
|
|
|
|
// If portable version, use TQDialog and TQMessageBox.
|
|
|
|
|
// If KDE version, use KDialogBase and KMessageBox.
|
|
|
|
|
|
|
|
|
|
#ifdef KGR_PORTABLE
|
|
|
|
|
#include <tqdialog.h>
|
|
|
|
|
#define KGR_DIALOG TQDialog
|
|
|
|
|
#include <tqmessagebox.h>
|
|
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
#include <klocale.h>
|
|
|
|
|
#include <kdialogbase.h>
|
|
|
|
|
#define KGR_DIALOG KDialogBase
|
|
|
|
|
#include <kmessagebox.h>
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#include <tqlayout.h>
|
|
|
|
|
|
|
|
|
|
#include <tqlistbox.h>
|
|
|
|
|
#include <tqscrollbar.h>
|
|
|
|
|
#include <tqlineedit.h>
|
|
|
|
|
#include <tqhbox.h>
|
|
|
|
|
#include <tqpushbutton.h>
|
|
|
|
|
#include <tqbuttongroup.h>
|
|
|
|
|
#include <tqradiobutton.h>
|
|
|
|
|
#ifdef QT3
|
|
|
|
|
#include <tqtextedit.h>
|
|
|
|
|
#else
|
|
|
|
|
#include <tqmultilineedit.h>
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#include <tqptrlist.h>
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@author Ian Wadham and Marco Kr<EFBFBD>ger
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
class KGrCanvas;
|
|
|
|
|
class KGrGame;
|
|
|
|
|
class KGrCollection;
|
|
|
|
|
class KGrThumbNail;
|
|
|
|
|
|
|
|
|
|
/******************************************************************************/
|
|
|
|
|
/******************* DIALOG TO SELECT A GAME AND LEVEL *******************/
|
|
|
|
|
/******************************************************************************/
|
|
|
|
|
|
|
|
|
|
class KGrSLDialog : public KGR_DIALOG // KGR_PORTABLE sets TQDialog/KDialogBase
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
TQ_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
KGrSLDialog (int action, int requestedLevel, int collnIndex,
|
|
|
|
|
TQPtrList<KGrCollection> & gamesList, KGrGame * theGame,
|
|
|
|
|
TQWidget * parent = 0, const char *name = 0);
|
|
|
|
|
~KGrSLDialog();
|
|
|
|
|
|
|
|
|
|
int selectedLevel() {return (number->value());}
|
|
|
|
|
int selectedGame() {return (slCollnIndex);}
|
|
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
void slSetCollections (int cIndex);
|
|
|
|
|
void slColln (int i);
|
|
|
|
|
void slAboutColln ();
|
|
|
|
|
void slShowLevel (int i);
|
|
|
|
|
void slUpdate (const TQString & text);
|
|
|
|
|
void slPaintLevel ();
|
|
|
|
|
void slotHelp (); // Will replace KDE slotHelp().
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
int slAction;
|
|
|
|
|
TQPtrList<KGrCollection> collections; // List of games.
|
|
|
|
|
int defaultLevel;
|
|
|
|
|
int defaultGame;
|
|
|
|
|
int slCollnIndex;
|
|
|
|
|
KGrGame * game;
|
|
|
|
|
KGrCollection * collection;
|
|
|
|
|
TQWidget * slParent;
|
|
|
|
|
|
|
|
|
|
TQLabel * collnL;
|
|
|
|
|
TQListBox * colln;
|
|
|
|
|
TQLabel * collnN;
|
|
|
|
|
TQLabel * collnD;
|
|
|
|
|
TQPushButton * collnA;
|
|
|
|
|
|
|
|
|
|
TQLabel * numberL;
|
|
|
|
|
TQLineEdit * display;
|
|
|
|
|
TQScrollBar * number;
|
|
|
|
|
TQPushButton * levelNH;
|
|
|
|
|
TQLabel * slName;
|
|
|
|
|
KGrThumbNail * thumbNail;
|
|
|
|
|
|
|
|
|
|
#ifdef KGR_PORTABLE
|
|
|
|
|
TQPushButton * OK;
|
|
|
|
|
TQPushButton * HELP;
|
|
|
|
|
TQPushButton * CANCEL;
|
|
|
|
|
#endif
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
|
*************** DIALOG BOX TO CREATE/EDIT A LEVEL NAME AND HINT ****************
|
|
|
|
|
*******************************************************************************/
|
|
|
|
|
|
|
|
|
|
class KGrNHDialog : public KGR_DIALOG // KGR_PORTABLE sets TQDialog/KDialogBase
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
TQ_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
KGrNHDialog (const TQString & levelName, const TQString & levelHint,
|
|
|
|
|
TQWidget * parent = 0, const char * name = 0);
|
|
|
|
|
~KGrNHDialog();
|
|
|
|
|
|
|
|
|
|
TQString getName() {return (nhName->text());}
|
|
|
|
|
TQString getHint() {return (mle->text());}
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
TQLineEdit * nhName;
|
|
|
|
|
#ifdef QT3
|
|
|
|
|
TQTextEdit * mle;
|
|
|
|
|
#else
|
|
|
|
|
TQMultiLineEdit * mle;
|
|
|
|
|
#endif
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
|
***************** DIALOG TO CREATE OR EDIT A GAME (COLLECTION) *****************
|
|
|
|
|
*******************************************************************************/
|
|
|
|
|
|
|
|
|
|
class KGrECDialog : public KGR_DIALOG // KGR_PORTABLE sets TQDialog/KDialogBase
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
TQ_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
KGrECDialog (int action, int collnIndex,
|
|
|
|
|
TQPtrList<KGrCollection> & gamesList,
|
|
|
|
|
TQWidget *parent = 0, const char *name = 0);
|
|
|
|
|
~KGrECDialog();
|
|
|
|
|
|
|
|
|
|
TQString getName() {return (ecName->text());}
|
|
|
|
|
TQString getPrefix() {return (ecPrefix->text());}
|
|
|
|
|
bool isTrad() {return (ecTradB->isChecked());}
|
|
|
|
|
TQString getAboutText() {return (mle->text());}
|
|
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
void ecSetRules (const char settings);
|
|
|
|
|
void ecSetKGr(); // Radio button slots.
|
|
|
|
|
void ecSetTrad();
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
TQPtrList<KGrCollection> collections; // List of existing games.
|
|
|
|
|
int defaultGame;
|
|
|
|
|
|
|
|
|
|
TQLabel * nameL;
|
|
|
|
|
TQLineEdit * ecName;
|
|
|
|
|
TQLabel * prefixL;
|
|
|
|
|
TQLineEdit * ecPrefix;
|
|
|
|
|
TQButtonGroup * ecGrp;
|
|
|
|
|
TQRadioButton * ecKGrB;
|
|
|
|
|
TQRadioButton * ecTradB;
|
|
|
|
|
TQLabel * nLevL;
|
|
|
|
|
|
|
|
|
|
TQLabel * mleL;
|
|
|
|
|
#ifdef QT3
|
|
|
|
|
TQTextEdit * mle;
|
|
|
|
|
#else
|
|
|
|
|
TQMultiLineEdit * mle;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifdef KGR_PORTABLE
|
|
|
|
|
TQPushButton * OK;
|
|
|
|
|
TQPushButton * CANCEL;
|
|
|
|
|
#endif
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
|
*************** DIALOG TO SELECT A SAVED GAME TO BE RE-LOADED ****************
|
|
|
|
|
*******************************************************************************/
|
|
|
|
|
|
|
|
|
|
#include <tqfile.h>
|
|
|
|
|
#include <tqtextstream.h>
|
|
|
|
|
|
|
|
|
|
class KGrLGDialog : public KGR_DIALOG // KGR_PORTABLE sets TQDialog/KDialogBase
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
TQ_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
KGrLGDialog (TQFile * savedGames, TQPtrList<KGrCollection> & collections,
|
|
|
|
|
TQWidget * parent, const char * name);
|
|
|
|
|
TQString getCurrentText() {return (lgList->currentText());}
|
|
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
void lgSelect (int n);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
TQListBox * lgList;
|
|
|
|
|
int lgHighlight;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
|
****************** PORTABLE MESSAGE FUNCTIONS (TQt Version) *******************
|
|
|
|
|
*******************************************************************************/
|
|
|
|
|
|
|
|
|
|
class KGrMessage : public TQDialog
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
static void information (TQWidget * parent, const TQString &caption, const TQString &text);
|
|
|
|
|
static int warning (TQWidget * parent, TQString caption, TQString text,
|
|
|
|
|
TQString label0, TQString label1, TQString label2 = "");
|
|
|
|
|
static void wrapped (TQWidget * parent, TQString caption, TQString text);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|