more Qt rename
In order for 'make depend' to be able to handle both Qt4/5 and Qt3,
they need to operate on different object file names.
renames qt*.o to qt3*.o for Qt3
renames qt*.cpp to qt3*.cpp for Qt3 (not essential but seems worthwhile)
moves Qt3's headers from include/qt*.h to win/Qt3/qt3*.h
copies include/qt_xpms.h (before rename) or win/Qt3/qt3_xpms.h (after)
to win/Qt/qt_xpms.h so that Qt4/5 no longer shares one header file
modifies win/Qt3/*.cpp and win/Qt3/qt3_win.h to reflect new header names
modifies Makefile.src to have Qt3 'moc' commands use new names
updates Makefile.src via re-running 'make depend'
'make depend' was only looking at include/*.h to find nested inclusion.
Now it will also look at win/*/*.h. That found a bunch of missing
dependencies for the old gnome sources and a few for Qt3.
Building without Qt still works. Building with it (any version) has
not been tested.
This commit is contained in:
@@ -1,34 +0,0 @@
|
||||
/* NetHack 3.6 qt_clust.h $NHDT-Date: 1432512779 2015/05/25 00:12:59 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $ */
|
||||
/* Copyright (c) Warwick Allison, 1999. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
#ifndef clusterizer_H
|
||||
#define clusterizer_H
|
||||
|
||||
#include <qrect.h>
|
||||
|
||||
class Clusterizer
|
||||
{
|
||||
public:
|
||||
Clusterizer(int maxclusters);
|
||||
~Clusterizer();
|
||||
|
||||
void add(int x, int y); // 1x1 rectangle (point)
|
||||
void add(int x, int y, int w, int h);
|
||||
void add(const QRect &rect);
|
||||
|
||||
void clear();
|
||||
int
|
||||
clusters()
|
||||
{
|
||||
return count;
|
||||
}
|
||||
const QRect &operator[](int i);
|
||||
|
||||
private:
|
||||
QRect *cluster;
|
||||
int count;
|
||||
const int max;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,11 +0,0 @@
|
||||
/* NetHack 3.6 qt_kde0.h $NHDT-Date: 1432512779 2015/05/25 00:12:59 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $ */
|
||||
/* Copyright (c) Warwick Allison, 1999. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
#ifndef QT_DUMMYKDE
|
||||
#define QT_DUMMYKDE
|
||||
class KTopLevelWidget : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
};
|
||||
#endif
|
||||
890
include/qt_win.h
890
include/qt_win.h
@@ -1,890 +0,0 @@
|
||||
// NetHack 3.6 qt_win.h $NHDT-Date: 1447755972 2015/11/17 10:26:12 $ $NHDT-Branch: master $:$NHDT-Revision: 1.17 $
|
||||
// Copyright (c) Warwick Allison, 1999.
|
||||
// NetHack may be freely redistributed. See license for details.
|
||||
//
|
||||
// Qt Binding for NetHack 3.4
|
||||
//
|
||||
// Unfortunately, this doesn't use Qt as well as I would like,
|
||||
// primarily because NetHack is fundamentally a getkey-type
|
||||
// program rather than being event driven (hence the ugly key
|
||||
// and click buffer rather), but also because this is my first
|
||||
// major application of Qt.
|
||||
//
|
||||
|
||||
#ifndef qt_win_h
|
||||
#define qt_win_h
|
||||
|
||||
#define QT_CLEAN_NAMESPACE
|
||||
|
||||
#include <qdialog.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qbuttongroup.h>
|
||||
#include <qlabel.h>
|
||||
#include <qlineedit.h>
|
||||
#if defined(QWS)
|
||||
#include <qpe/qpeapplication.h>
|
||||
#else
|
||||
#include <qapplication.h>
|
||||
#endif
|
||||
#include <qspinbox.h>
|
||||
#include <qcheckbox.h>
|
||||
#include <qfile.h>
|
||||
#include <qlistbox.h>
|
||||
#include <qlistview.h>
|
||||
#include <qmessagebox.h>
|
||||
#include <qpixmap.h>
|
||||
#include <qimage.h>
|
||||
#include <qarray.h>
|
||||
#include <qcombobox.h>
|
||||
#include <qscrollview.h>
|
||||
#if QT_VERSION >= 300
|
||||
#include <qttableview.h>
|
||||
// Should stop using QTableView
|
||||
#define QTableView QtTableView
|
||||
#else
|
||||
#include <qtableview.h>
|
||||
#endif
|
||||
#include <qmainwindow.h>
|
||||
#include <qwidgetstack.h>
|
||||
|
||||
#ifdef KDE
|
||||
#include <kapp.h>
|
||||
#include <ktopwidget.h>
|
||||
#endif
|
||||
|
||||
#include "qt_clust.h"
|
||||
|
||||
class QVBox;
|
||||
class QMenuBar;
|
||||
class QRadioButton;
|
||||
class NhPSListView;
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
//
|
||||
// The beautiful, abstracted and well-modelled classes...
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
class NetHackQtGlyphs;
|
||||
|
||||
class NetHackQtLineEdit : public QLineEdit
|
||||
{
|
||||
public:
|
||||
NetHackQtLineEdit();
|
||||
NetHackQtLineEdit(QWidget *parent, const char *name);
|
||||
|
||||
void fakeEvent(int key, int ascii, int state);
|
||||
};
|
||||
|
||||
class NetHackQtSettings : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
// Size of window - used to decide default sizes
|
||||
NetHackQtSettings(int width, int height);
|
||||
|
||||
NetHackQtGlyphs &glyphs();
|
||||
const QFont &normalFont();
|
||||
const QFont &normalFixedFont();
|
||||
const QFont &largeFont();
|
||||
|
||||
bool ynInMessages();
|
||||
|
||||
signals:
|
||||
void fontChanged();
|
||||
void tilesChanged();
|
||||
|
||||
public slots:
|
||||
void toggleGlyphSize();
|
||||
void setGlyphSize(bool);
|
||||
|
||||
private:
|
||||
QSpinBox tilewidth;
|
||||
QSpinBox tileheight;
|
||||
QLabel widthlbl;
|
||||
QLabel heightlbl;
|
||||
QCheckBox whichsize;
|
||||
QSize othersize;
|
||||
|
||||
QComboBox fontsize;
|
||||
|
||||
QFont normal, normalfixed, large;
|
||||
|
||||
NetHackQtGlyphs *theglyphs;
|
||||
|
||||
private slots:
|
||||
void resizeTiles();
|
||||
};
|
||||
|
||||
class NetHackQtKeyBuffer
|
||||
{
|
||||
public:
|
||||
NetHackQtKeyBuffer();
|
||||
|
||||
bool Empty() const;
|
||||
bool Full() const;
|
||||
|
||||
void Put(int k, int ascii, int state);
|
||||
void Put(char a);
|
||||
void Put(const char *str);
|
||||
int GetKey();
|
||||
int GetAscii();
|
||||
int GetState();
|
||||
|
||||
int TopKey() const;
|
||||
int TopAscii() const;
|
||||
int TopState() const;
|
||||
|
||||
private:
|
||||
enum { maxkey = 64 };
|
||||
int key[maxkey];
|
||||
int ascii[maxkey];
|
||||
int state[maxkey];
|
||||
int in, out;
|
||||
};
|
||||
|
||||
class NetHackQtClickBuffer
|
||||
{
|
||||
public:
|
||||
NetHackQtClickBuffer();
|
||||
|
||||
bool Empty() const;
|
||||
bool Full() const;
|
||||
|
||||
void Put(int x, int y, int mod);
|
||||
|
||||
int NextX() const;
|
||||
int NextY() const;
|
||||
int NextMod() const;
|
||||
|
||||
void Get();
|
||||
|
||||
private:
|
||||
enum { maxclick = 64 };
|
||||
struct ClickRec {
|
||||
int x, y, mod;
|
||||
} click[maxclick];
|
||||
int in, out;
|
||||
};
|
||||
|
||||
class NetHackQtSavedGameSelector : public QDialog
|
||||
{
|
||||
public:
|
||||
NetHackQtSavedGameSelector(const char **saved);
|
||||
|
||||
int choose();
|
||||
};
|
||||
|
||||
class NetHackQtPlayerSelector : private QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum { R_None = -1, R_Quit = -2, R_Rand = -3 };
|
||||
|
||||
NetHackQtPlayerSelector(NetHackQtKeyBuffer &);
|
||||
|
||||
protected:
|
||||
virtual void done(int);
|
||||
|
||||
public slots:
|
||||
void Quit();
|
||||
void Random();
|
||||
|
||||
void selectName(const QString &n);
|
||||
void selectRole();
|
||||
void selectRace();
|
||||
void setupOthers();
|
||||
void selectGender(int);
|
||||
void selectAlignment(int);
|
||||
|
||||
public:
|
||||
bool Choose();
|
||||
|
||||
private:
|
||||
NetHackQtKeyBuffer &keysource;
|
||||
NhPSListView *role;
|
||||
NhPSListView *race;
|
||||
QRadioButton **gender;
|
||||
QRadioButton **alignment;
|
||||
bool fully_specified_role;
|
||||
};
|
||||
|
||||
class NetHackQtStringRequestor : QDialog
|
||||
{
|
||||
private:
|
||||
QLabel prompt;
|
||||
NetHackQtLineEdit input;
|
||||
QPushButton *okay;
|
||||
QPushButton *cancel;
|
||||
NetHackQtKeyBuffer &keysource;
|
||||
|
||||
virtual void done(int);
|
||||
|
||||
public:
|
||||
NetHackQtStringRequestor(NetHackQtKeyBuffer &, const char *p,
|
||||
const char *cancelstr = "Cancel");
|
||||
void SetDefault(const char *);
|
||||
bool Get(char *buffer, int maxchar = 80);
|
||||
virtual void resizeEvent(QResizeEvent *);
|
||||
};
|
||||
|
||||
class NetHackQtExtCmdRequestor : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
NetHackQtKeyBuffer &keysource;
|
||||
|
||||
public:
|
||||
NetHackQtExtCmdRequestor(NetHackQtKeyBuffer &ks);
|
||||
int get();
|
||||
|
||||
private slots:
|
||||
void cancel();
|
||||
void done(int i);
|
||||
};
|
||||
|
||||
class NetHackQtWindow
|
||||
{
|
||||
public:
|
||||
NetHackQtWindow();
|
||||
virtual ~NetHackQtWindow();
|
||||
|
||||
virtual QWidget *Widget() = 0;
|
||||
|
||||
virtual void Clear();
|
||||
virtual void Display(bool block);
|
||||
virtual bool Destroy();
|
||||
virtual void CursorTo(int x, int y);
|
||||
virtual void PutStr(int attr, const char *text);
|
||||
virtual void StartMenu();
|
||||
virtual void AddMenu(int glyph, const ANY_P *identifier, char ch,
|
||||
char gch, int attr, const char *str, bool presel);
|
||||
virtual void EndMenu(const char *prompt);
|
||||
virtual int SelectMenu(int how, MENU_ITEM_P **menu_list);
|
||||
virtual void ClipAround(int x, int y);
|
||||
virtual void PrintGlyph(int x, int y, int glyph);
|
||||
virtual void UseRIP(int how, time_t when);
|
||||
|
||||
int nhid;
|
||||
};
|
||||
|
||||
class NetHackQtGlyphs
|
||||
{
|
||||
public:
|
||||
NetHackQtGlyphs();
|
||||
|
||||
int
|
||||
width() const
|
||||
{
|
||||
return size.width();
|
||||
}
|
||||
int
|
||||
height() const
|
||||
{
|
||||
return size.height();
|
||||
}
|
||||
void toggleSize();
|
||||
void setSize(int w, int h);
|
||||
|
||||
void drawGlyph(QPainter &, int glyph, int pixelx, int pixely);
|
||||
void drawCell(QPainter &, int glyph, int cellx, int celly);
|
||||
|
||||
private:
|
||||
QImage img;
|
||||
QPixmap pm, pm1, pm2;
|
||||
QSize size;
|
||||
int tiles_per_row;
|
||||
};
|
||||
|
||||
class BlackScrollView : public QScrollView
|
||||
{
|
||||
public:
|
||||
BlackScrollView()
|
||||
{
|
||||
viewport()->setBackgroundColor(black);
|
||||
}
|
||||
};
|
||||
|
||||
class NetHackQtMapWindow : public QWidget, public NetHackQtWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
private:
|
||||
NetHackQtClickBuffer &clicksink;
|
||||
unsigned short glyph[ROWNO][COLNO];
|
||||
unsigned short &
|
||||
Glyph(int x, int y)
|
||||
{
|
||||
return glyph[y][x];
|
||||
}
|
||||
QPoint cursor;
|
||||
BlackScrollView viewport;
|
||||
QPixmap pet_annotation;
|
||||
Clusterizer change;
|
||||
QFont *rogue_font;
|
||||
QString messages;
|
||||
QRect messages_rect;
|
||||
|
||||
void Changed(int x, int y);
|
||||
|
||||
signals:
|
||||
void resized();
|
||||
|
||||
private slots:
|
||||
void updateTiles();
|
||||
void moveMessages(int x, int y);
|
||||
#ifdef SAFERHANGUP
|
||||
void timeout();
|
||||
#endif
|
||||
|
||||
protected:
|
||||
virtual void paintEvent(QPaintEvent *);
|
||||
virtual void mousePressEvent(QMouseEvent *);
|
||||
|
||||
public:
|
||||
NetHackQtMapWindow(NetHackQtClickBuffer &click_sink);
|
||||
~NetHackQtMapWindow();
|
||||
|
||||
virtual QWidget *Widget();
|
||||
virtual bool Destroy();
|
||||
|
||||
virtual void Clear();
|
||||
virtual void Display(bool block);
|
||||
virtual void CursorTo(int x, int y);
|
||||
virtual void PutStr(int attr, const char *text);
|
||||
virtual void ClipAround(int x, int y);
|
||||
virtual void PrintGlyph(int x, int y, int glyph);
|
||||
|
||||
void Scroll(int dx, int dy);
|
||||
|
||||
// For messages
|
||||
void displayMessages(bool block);
|
||||
void putMessage(int attr, const char *text);
|
||||
void clearMessages();
|
||||
|
||||
void clickCursor();
|
||||
};
|
||||
|
||||
class NetHackQtScrollText;
|
||||
class NetHackQtMessageWindow : QObject, public NetHackQtWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
NetHackQtMessageWindow();
|
||||
~NetHackQtMessageWindow();
|
||||
|
||||
virtual QWidget *Widget();
|
||||
virtual void Clear();
|
||||
virtual void Display(bool block);
|
||||
virtual void PutStr(int attr, const char *text);
|
||||
|
||||
void Scroll(int dx, int dy);
|
||||
|
||||
void setMap(NetHackQtMapWindow *);
|
||||
|
||||
private:
|
||||
NetHackQtScrollText *list;
|
||||
bool changed;
|
||||
NetHackQtMapWindow *map;
|
||||
|
||||
private slots:
|
||||
void updateFont();
|
||||
};
|
||||
|
||||
class NetHackQtLabelledIcon : public QWidget
|
||||
{
|
||||
public:
|
||||
NetHackQtLabelledIcon(QWidget *parent, const char *label);
|
||||
NetHackQtLabelledIcon(QWidget *parent, const char *label,
|
||||
const QPixmap &icon);
|
||||
|
||||
enum { NoNum = -99999 };
|
||||
void setLabel(const char *, bool lower = TRUE); // a string
|
||||
void setLabel(const char *, long, const char *tail = ""); // a number
|
||||
void setLabel(const char *, long show_value, long comparative_value,
|
||||
const char *tail = "");
|
||||
void setIcon(const QPixmap &);
|
||||
virtual void setFont(const QFont &);
|
||||
|
||||
void highlightWhenChanging();
|
||||
void lowIsGood();
|
||||
void dissipateHighlight();
|
||||
|
||||
virtual void show();
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *);
|
||||
|
||||
private:
|
||||
void initHighlight();
|
||||
void setAlignments();
|
||||
void highlight(const QPalette &highlight);
|
||||
void unhighlight();
|
||||
|
||||
bool low_is_good;
|
||||
int prev_value;
|
||||
int turn_count; /* last time the value changed */
|
||||
QPalette hl_good;
|
||||
QPalette hl_bad;
|
||||
|
||||
QLabel *label;
|
||||
QLabel *icon;
|
||||
};
|
||||
|
||||
class NetHackQtStatusWindow : QWidget, public NetHackQtWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
NetHackQtStatusWindow();
|
||||
|
||||
virtual QWidget *Widget();
|
||||
|
||||
virtual void Clear();
|
||||
virtual void Display(bool block);
|
||||
virtual void CursorTo(int x, int y);
|
||||
virtual void PutStr(int attr, const char *text);
|
||||
|
||||
void fadeHighlighting();
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *);
|
||||
|
||||
private slots:
|
||||
void doUpdate();
|
||||
|
||||
private:
|
||||
enum { hilight_time = 1 };
|
||||
|
||||
QPixmap p_str;
|
||||
QPixmap p_dex;
|
||||
QPixmap p_con;
|
||||
QPixmap p_int;
|
||||
QPixmap p_wis;
|
||||
QPixmap p_cha;
|
||||
|
||||
QPixmap p_chaotic;
|
||||
QPixmap p_neutral;
|
||||
QPixmap p_lawful;
|
||||
|
||||
QPixmap p_satiated;
|
||||
QPixmap p_hungry;
|
||||
|
||||
QPixmap p_confused;
|
||||
QPixmap p_sick_fp;
|
||||
QPixmap p_sick_il;
|
||||
QPixmap p_blind;
|
||||
QPixmap p_stunned;
|
||||
QPixmap p_hallu;
|
||||
|
||||
QPixmap p_encumber[5];
|
||||
|
||||
NetHackQtLabelledIcon name;
|
||||
NetHackQtLabelledIcon dlevel;
|
||||
|
||||
NetHackQtLabelledIcon str;
|
||||
NetHackQtLabelledIcon dex;
|
||||
NetHackQtLabelledIcon con;
|
||||
NetHackQtLabelledIcon intel;
|
||||
NetHackQtLabelledIcon wis;
|
||||
NetHackQtLabelledIcon cha;
|
||||
|
||||
NetHackQtLabelledIcon gold;
|
||||
NetHackQtLabelledIcon hp;
|
||||
NetHackQtLabelledIcon power;
|
||||
NetHackQtLabelledIcon ac;
|
||||
NetHackQtLabelledIcon level;
|
||||
NetHackQtLabelledIcon exp;
|
||||
NetHackQtLabelledIcon align;
|
||||
|
||||
NetHackQtLabelledIcon time;
|
||||
NetHackQtLabelledIcon score;
|
||||
|
||||
NetHackQtLabelledIcon hunger;
|
||||
NetHackQtLabelledIcon confused;
|
||||
NetHackQtLabelledIcon sick_fp;
|
||||
NetHackQtLabelledIcon sick_il;
|
||||
NetHackQtLabelledIcon blind;
|
||||
NetHackQtLabelledIcon stunned;
|
||||
NetHackQtLabelledIcon hallu;
|
||||
NetHackQtLabelledIcon encumber;
|
||||
|
||||
QFrame hline1;
|
||||
QFrame hline2;
|
||||
QFrame hline3;
|
||||
|
||||
int cursy;
|
||||
|
||||
bool first_set;
|
||||
|
||||
void nullOut();
|
||||
void updateStats();
|
||||
void checkTurnEvents();
|
||||
};
|
||||
|
||||
class NetHackQtMenuDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
NetHackQtMenuDialog();
|
||||
|
||||
void Accept();
|
||||
void Reject();
|
||||
void SetResult(int);
|
||||
|
||||
virtual void done(int);
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *);
|
||||
|
||||
signals:
|
||||
void Resized();
|
||||
};
|
||||
|
||||
class NetHackQtMenuWindow : public QTableView, public NetHackQtWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
NetHackQtMenuWindow(NetHackQtKeyBuffer &);
|
||||
~NetHackQtMenuWindow();
|
||||
|
||||
virtual QWidget *Widget();
|
||||
|
||||
virtual void StartMenu();
|
||||
virtual void AddMenu(int glyph, const ANY_P *identifier, char ch,
|
||||
char gch, int attr, const char *str, bool presel);
|
||||
virtual void EndMenu(const char *prompt);
|
||||
virtual int SelectMenu(int how, MENU_ITEM_P **menu_list);
|
||||
|
||||
public slots:
|
||||
void All();
|
||||
void ChooseNone();
|
||||
void Invert();
|
||||
void Search();
|
||||
|
||||
void Layout();
|
||||
void ToggleSelect(int);
|
||||
|
||||
protected:
|
||||
virtual void keyPressEvent(QKeyEvent *);
|
||||
// virtual void mouseDoubleClickEvent(QMouseEvent*);
|
||||
virtual void mousePressEvent(QMouseEvent *);
|
||||
virtual void mouseReleaseEvent(QMouseEvent *);
|
||||
virtual void mouseMoveEvent(QMouseEvent *);
|
||||
virtual void focusOutEvent(QFocusEvent *);
|
||||
virtual void focusInEvent(QFocusEvent *);
|
||||
|
||||
virtual void paintCell(QPainter *, int, int);
|
||||
virtual int cellWidth(int col);
|
||||
|
||||
private:
|
||||
struct MenuItem {
|
||||
MenuItem();
|
||||
~MenuItem();
|
||||
|
||||
int glyph;
|
||||
ANY_P identifier;
|
||||
int attr;
|
||||
const char *str;
|
||||
int count;
|
||||
char ch;
|
||||
bool selected;
|
||||
|
||||
bool
|
||||
Selectable() const
|
||||
{
|
||||
return identifier.a_void != 0;
|
||||
}
|
||||
};
|
||||
|
||||
QArray<MenuItem> item;
|
||||
|
||||
int itemcount;
|
||||
int str_width;
|
||||
bool str_fixed;
|
||||
int next_accel;
|
||||
|
||||
NetHackQtKeyBuffer &keysource;
|
||||
|
||||
NetHackQtMenuDialog *dialog;
|
||||
|
||||
QPushButton *ok;
|
||||
QPushButton *cancel;
|
||||
QPushButton *all;
|
||||
QPushButton *none;
|
||||
QPushButton *invert;
|
||||
QPushButton *search;
|
||||
QLabel prompt;
|
||||
|
||||
int how;
|
||||
|
||||
bool has_glyphs;
|
||||
|
||||
int pressed;
|
||||
bool was_sel;
|
||||
};
|
||||
|
||||
class NetHackQtTextListBox;
|
||||
|
||||
class NetHackQtRIP : public QWidget
|
||||
{
|
||||
private:
|
||||
static QPixmap *pixmap;
|
||||
char **line;
|
||||
int riplines;
|
||||
|
||||
public:
|
||||
NetHackQtRIP(QWidget *parent);
|
||||
|
||||
void setLines(char **l, int n);
|
||||
|
||||
protected:
|
||||
virtual void paintEvent(QPaintEvent *event);
|
||||
QSize sizeHint() const;
|
||||
};
|
||||
|
||||
class NetHackQtTextWindow : public QDialog, public NetHackQtWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
NetHackQtTextWindow(NetHackQtKeyBuffer &);
|
||||
~NetHackQtTextWindow();
|
||||
|
||||
virtual QWidget *Widget();
|
||||
|
||||
virtual void Clear();
|
||||
virtual bool Destroy();
|
||||
virtual void Display(bool block);
|
||||
virtual void PutStr(int attr, const char *text);
|
||||
virtual void UseRIP(int how, time_t when);
|
||||
|
||||
public slots:
|
||||
void Search();
|
||||
|
||||
protected:
|
||||
virtual void done(int);
|
||||
virtual void keyPressEvent(QKeyEvent *);
|
||||
|
||||
private slots:
|
||||
void doUpdate();
|
||||
|
||||
private:
|
||||
NetHackQtKeyBuffer &keysource;
|
||||
|
||||
bool use_rip;
|
||||
bool str_fixed;
|
||||
|
||||
QPushButton ok;
|
||||
QPushButton search;
|
||||
NetHackQtTextListBox *lines;
|
||||
|
||||
NetHackQtRIP rip;
|
||||
};
|
||||
|
||||
class NetHackQtMenuOrTextWindow : public NetHackQtWindow
|
||||
{
|
||||
private:
|
||||
NetHackQtWindow *actual;
|
||||
NetHackQtKeyBuffer &keysource;
|
||||
|
||||
public:
|
||||
NetHackQtMenuOrTextWindow(NetHackQtKeyBuffer &);
|
||||
|
||||
virtual QWidget *Widget();
|
||||
|
||||
// Text
|
||||
virtual void Clear();
|
||||
virtual bool Destroy();
|
||||
virtual void Display(bool block);
|
||||
virtual void PutStr(int attr, const char *text);
|
||||
|
||||
// Menu
|
||||
virtual void StartMenu();
|
||||
virtual void AddMenu(int glyph, const ANY_P *identifier, char ch,
|
||||
char gch, int attr, const char *str, bool presel);
|
||||
virtual void EndMenu(const char *prompt);
|
||||
virtual int SelectMenu(int how, MENU_ITEM_P **menu_list);
|
||||
};
|
||||
|
||||
class NetHackQtDelay : QObject
|
||||
{
|
||||
private:
|
||||
int msec;
|
||||
|
||||
public:
|
||||
NetHackQtDelay(int ms);
|
||||
void wait();
|
||||
virtual void timerEvent(QTimerEvent *timer);
|
||||
};
|
||||
|
||||
class NetHackQtInvUsageWindow : public QWidget
|
||||
{
|
||||
public:
|
||||
NetHackQtInvUsageWindow(QWidget *parent);
|
||||
virtual void paintEvent(QPaintEvent *);
|
||||
|
||||
private:
|
||||
void drawWorn(QPainter &painter, obj *, int x, int y, bool canbe = TRUE);
|
||||
};
|
||||
|
||||
// This class is the main widget for NetHack
|
||||
//
|
||||
// It is a collection of Message, Map, and Status windows. In the current
|
||||
// version of nethack there is only one of each, and this class makes this
|
||||
// assumption, not showing itself until all are inserted.
|
||||
//
|
||||
// This class simply knows how to layout such children sensibly.
|
||||
//
|
||||
// Since it is only responsible for layout, the class does not
|
||||
// note the actual class of the windows.
|
||||
//
|
||||
#ifndef KDE
|
||||
#include "qt_kde0.h"
|
||||
#endif
|
||||
|
||||
class NetHackQtMainWindow : public KTopLevelWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
NetHackQtMainWindow(NetHackQtKeyBuffer &);
|
||||
|
||||
void AddMessageWindow(NetHackQtMessageWindow *window);
|
||||
void AddMapWindow(NetHackQtMapWindow *window);
|
||||
void AddStatusWindow(NetHackQtStatusWindow *window);
|
||||
void RemoveWindow(NetHackQtWindow *window);
|
||||
void updateInventory();
|
||||
|
||||
void fadeHighlighting();
|
||||
|
||||
public slots:
|
||||
void doMenuItem(int);
|
||||
void doKeys(const QString &);
|
||||
|
||||
protected:
|
||||
virtual void resizeEvent(QResizeEvent *);
|
||||
virtual void keyPressEvent(QKeyEvent *);
|
||||
virtual void keyReleaseEvent(QKeyEvent *event);
|
||||
virtual void closeEvent(QCloseEvent *);
|
||||
|
||||
private slots:
|
||||
void layout();
|
||||
void raiseMap();
|
||||
void zoomMap();
|
||||
void raiseMessages();
|
||||
void raiseStatus();
|
||||
|
||||
private:
|
||||
void ShowIfReady();
|
||||
|
||||
#ifdef KDE
|
||||
KMenuBar *menubar;
|
||||
#else
|
||||
QMenuBar *menubar;
|
||||
#endif
|
||||
NetHackQtMessageWindow *message;
|
||||
NetHackQtMapWindow *map;
|
||||
NetHackQtStatusWindow *status;
|
||||
NetHackQtInvUsageWindow *invusage;
|
||||
|
||||
NetHackQtKeyBuffer &keysink;
|
||||
QWidgetStack *stack;
|
||||
int dirkey;
|
||||
|
||||
const char **macro;
|
||||
};
|
||||
|
||||
class NetHackQtYnDialog : QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
private:
|
||||
const char *question;
|
||||
const char *choices;
|
||||
char def;
|
||||
NetHackQtKeyBuffer &keysource;
|
||||
|
||||
protected:
|
||||
virtual void keyPressEvent(QKeyEvent *);
|
||||
virtual void done(int);
|
||||
|
||||
private slots:
|
||||
void doneItem(int);
|
||||
|
||||
public:
|
||||
NetHackQtYnDialog(NetHackQtKeyBuffer &keysource, const char *,
|
||||
const char *, char);
|
||||
|
||||
char Exec();
|
||||
};
|
||||
|
||||
#ifdef KDE
|
||||
#define NetHackQtBindBase KApplication
|
||||
#elif defined(QWS)
|
||||
#define NetHackQtBindBase QPEApplication
|
||||
#else
|
||||
#define NetHackQtBindBase QApplication
|
||||
#endif
|
||||
|
||||
class NetHackQtBind : NetHackQtBindBase
|
||||
{
|
||||
private:
|
||||
// Single-instance preservation...
|
||||
NetHackQtBind(int &argc, char **argv);
|
||||
|
||||
static NetHackQtBind *instance;
|
||||
|
||||
static NetHackQtKeyBuffer keybuffer;
|
||||
static NetHackQtClickBuffer clickbuffer;
|
||||
|
||||
static QWidget *splash;
|
||||
static NetHackQtMainWindow *main;
|
||||
|
||||
public:
|
||||
static void qt_init_nhwindows(int *argc, char **argv);
|
||||
static void qt_player_selection();
|
||||
static void qt_askname();
|
||||
static void qt_get_nh_event();
|
||||
static void qt_exit_nhwindows(const char *);
|
||||
static void qt_suspend_nhwindows(const char *);
|
||||
static void qt_resume_nhwindows();
|
||||
static winid qt_create_nhwindow(int type);
|
||||
static void qt_clear_nhwindow(winid wid);
|
||||
static void qt_display_nhwindow(winid wid, BOOLEAN_P block);
|
||||
static void qt_destroy_nhwindow(winid wid);
|
||||
static void qt_curs(winid wid, int x, int y);
|
||||
static void qt_putstr(winid wid, int attr, const char *text);
|
||||
static void qt_display_file(const char *filename, BOOLEAN_P must_exist);
|
||||
static void qt_start_menu(winid wid);
|
||||
static void qt_add_menu(winid wid, int glyph, const ANY_P *identifier,
|
||||
CHAR_P ch, CHAR_P gch, int attr, const char *str,
|
||||
BOOLEAN_P presel);
|
||||
static void qt_end_menu(winid wid, const char *prompt);
|
||||
static int qt_select_menu(winid wid, int how, MENU_ITEM_P **menu_list);
|
||||
static void qt_update_inventory();
|
||||
static void qt_mark_synch();
|
||||
static void qt_wait_synch();
|
||||
|
||||
static void qt_cliparound(int x, int y);
|
||||
static void qt_cliparound_window(winid wid, int x, int y);
|
||||
static void qt_print_glyph(winid wid, XCHAR_P x, XCHAR_P y,
|
||||
int glyph, int bkglyph);
|
||||
static void qt_raw_print(const char *str);
|
||||
static void qt_raw_print_bold(const char *str);
|
||||
static int qt_nhgetch();
|
||||
static int qt_nh_poskey(int *x, int *y, int *mod);
|
||||
static void qt_nhbell();
|
||||
static int qt_doprev_message();
|
||||
static char qt_yn_function(const char *question, const char *choices,
|
||||
CHAR_P def);
|
||||
static void qt_getlin(const char *prompt, char *line);
|
||||
static int qt_get_ext_cmd();
|
||||
static void qt_number_pad(int);
|
||||
static void qt_delay_output();
|
||||
static void qt_start_screen();
|
||||
static void qt_end_screen();
|
||||
|
||||
static void qt_outrip(winid wid, int how, time_t when);
|
||||
static int qt_kbhit();
|
||||
|
||||
private:
|
||||
virtual bool notify(QObject *receiver, QEvent *event);
|
||||
};
|
||||
|
||||
#endif
|
||||
1422
include/qt_xpms.h
1422
include/qt_xpms.h
File diff suppressed because it is too large
Load Diff
@@ -1,293 +0,0 @@
|
||||
/**********************************************************************
|
||||
** $NHDT-Date: 1524683840 2018/04/25 19:17:20 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.5 $
|
||||
** $Id: qttableview.h,v 1.2 2002/03/09 03:13:13 jwalz Exp $
|
||||
**
|
||||
** Definition of QtTableView class
|
||||
**
|
||||
** Created : 941115
|
||||
**
|
||||
** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
|
||||
**
|
||||
** This file contains a class moved out of the Qt GUI Toolkit API. It
|
||||
** may be used, distributed and modified without limitation.
|
||||
**
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef QTTABLEVIEW_H
|
||||
#define QTTABLEVIEW_H
|
||||
|
||||
#ifndef QT_H
|
||||
#include <qframe.h>
|
||||
#endif // QT_H
|
||||
|
||||
#ifndef QT_NO_QTTABLEVIEW
|
||||
|
||||
class QScrollBar;
|
||||
class QCornerSquare;
|
||||
|
||||
class QtTableView : public QFrame
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
virtual void setBackgroundColor(const QColor &);
|
||||
virtual void setPalette(const QPalette &);
|
||||
void show();
|
||||
|
||||
void repaint(bool erase = TRUE);
|
||||
void repaint(int x, int y, int w, int h, bool erase = TRUE);
|
||||
void repaint(const QRect &, bool erase = TRUE);
|
||||
|
||||
protected:
|
||||
QtTableView(QWidget *parent = 0, const char *name = 0, WFlags f = 0);
|
||||
~QtTableView();
|
||||
|
||||
int numRows() const;
|
||||
virtual void setNumRows(int);
|
||||
int numCols() const;
|
||||
virtual void setNumCols(int);
|
||||
|
||||
int topCell() const;
|
||||
virtual void setTopCell(int row);
|
||||
int leftCell() const;
|
||||
virtual void setLeftCell(int col);
|
||||
virtual void setTopLeftCell(int row, int col);
|
||||
|
||||
int xOffset() const;
|
||||
virtual void setXOffset(int);
|
||||
int yOffset() const;
|
||||
virtual void setYOffset(int);
|
||||
virtual void setOffset(int x, int y, bool updateScrBars = TRUE);
|
||||
|
||||
virtual int cellWidth(int col);
|
||||
virtual int cellHeight(int row);
|
||||
int cellWidth() const;
|
||||
int cellHeight() const;
|
||||
virtual void setCellWidth(int);
|
||||
virtual void setCellHeight(int);
|
||||
|
||||
virtual int totalWidth();
|
||||
virtual int totalHeight();
|
||||
|
||||
uint tableFlags() const;
|
||||
bool testTableFlags(uint f) const;
|
||||
virtual void setTableFlags(uint f);
|
||||
void clearTableFlags(uint f = ~0);
|
||||
|
||||
bool autoUpdate() const;
|
||||
virtual void setAutoUpdate(bool);
|
||||
|
||||
void updateCell(int row, int column, bool erase = TRUE);
|
||||
|
||||
QRect cellUpdateRect() const;
|
||||
QRect viewRect() const;
|
||||
|
||||
int lastRowVisible() const;
|
||||
int lastColVisible() const;
|
||||
|
||||
bool rowIsVisible(int row) const;
|
||||
bool colIsVisible(int col) const;
|
||||
|
||||
QScrollBar *verticalScrollBar() const;
|
||||
QScrollBar *horizontalScrollBar() const;
|
||||
|
||||
private slots:
|
||||
void horSbValue(int);
|
||||
void horSbSliding(int);
|
||||
void horSbSlidingDone();
|
||||
void verSbValue(int);
|
||||
void verSbSliding(int);
|
||||
void verSbSlidingDone();
|
||||
|
||||
protected:
|
||||
virtual void paintCell(QPainter *, int row, int col) = 0;
|
||||
virtual void setupPainter(QPainter *);
|
||||
|
||||
void paintEvent(QPaintEvent *);
|
||||
void resizeEvent(QResizeEvent *);
|
||||
|
||||
int findRow(int yPos) const;
|
||||
int findCol(int xPos) const;
|
||||
|
||||
bool rowYPos(int row, int *yPos) const;
|
||||
bool colXPos(int col, int *xPos) const;
|
||||
|
||||
int maxXOffset();
|
||||
int maxYOffset();
|
||||
int maxColOffset();
|
||||
int maxRowOffset();
|
||||
|
||||
int minViewX() const;
|
||||
int minViewY() const;
|
||||
int maxViewX() const;
|
||||
int maxViewY() const;
|
||||
int viewWidth() const;
|
||||
int viewHeight() const;
|
||||
|
||||
void scroll(int xPixels, int yPixels);
|
||||
void updateScrollBars();
|
||||
void updateTableSize();
|
||||
|
||||
private:
|
||||
void coverCornerSquare(bool);
|
||||
void snapToGrid(bool horizontal, bool vertical);
|
||||
virtual void setHorScrollBar(bool on, bool update = TRUE);
|
||||
virtual void setVerScrollBar(bool on, bool update = TRUE);
|
||||
void updateView();
|
||||
int findRawRow(int yPos, int *cellMaxY, int *cellMinY = 0,
|
||||
bool goOutsideView = FALSE) const;
|
||||
int findRawCol(int xPos, int *cellMaxX, int *cellMinX = 0,
|
||||
bool goOutsideView = FALSE) const;
|
||||
int maxColsVisible() const;
|
||||
|
||||
void updateScrollBars(uint);
|
||||
void updateFrameSize();
|
||||
|
||||
void doAutoScrollBars();
|
||||
void showOrHideScrollBars();
|
||||
|
||||
int nRows;
|
||||
int nCols;
|
||||
int xOffs, yOffs;
|
||||
int xCellOffs, yCellOffs;
|
||||
short xCellDelta, yCellDelta;
|
||||
short cellH, cellW;
|
||||
|
||||
uint eraseInPaint : 1;
|
||||
uint verSliding : 1;
|
||||
uint verSnappingOff : 1;
|
||||
uint horSliding : 1;
|
||||
uint horSnappingOff : 1;
|
||||
uint coveringCornerSquare : 1;
|
||||
uint sbDirty : 8;
|
||||
uint inSbUpdate : 1;
|
||||
|
||||
uint tFlags;
|
||||
QRect cellUpdateR;
|
||||
|
||||
QScrollBar *vScrollBar;
|
||||
QScrollBar *hScrollBar;
|
||||
QCornerSquare *cornerSquare;
|
||||
|
||||
private: // Disabled copy constructor and operator=
|
||||
#if defined(Q_DISABLE_COPY)
|
||||
QtTableView(const QtTableView &);
|
||||
QtTableView &operator=(const QtTableView &);
|
||||
#endif
|
||||
};
|
||||
|
||||
const uint Tbl_vScrollBar = 0x00000001;
|
||||
const uint Tbl_hScrollBar = 0x00000002;
|
||||
const uint Tbl_autoVScrollBar = 0x00000004;
|
||||
const uint Tbl_autoHScrollBar = 0x00000008;
|
||||
const uint Tbl_autoScrollBars = 0x0000000C;
|
||||
|
||||
const uint Tbl_clipCellPainting = 0x00000100;
|
||||
const uint Tbl_cutCellsV = 0x00000200;
|
||||
const uint Tbl_cutCellsH = 0x00000400;
|
||||
const uint Tbl_cutCells = 0x00000600;
|
||||
|
||||
const uint Tbl_scrollLastHCell = 0x00000800;
|
||||
const uint Tbl_scrollLastVCell = 0x00001000;
|
||||
const uint Tbl_scrollLastCell = 0x00001800;
|
||||
|
||||
const uint Tbl_smoothHScrolling = 0x00002000;
|
||||
const uint Tbl_smoothVScrolling = 0x00004000;
|
||||
const uint Tbl_smoothScrolling = 0x00006000;
|
||||
|
||||
const uint Tbl_snapToHGrid = 0x00008000;
|
||||
const uint Tbl_snapToVGrid = 0x00010000;
|
||||
const uint Tbl_snapToGrid = 0x00018000;
|
||||
|
||||
inline int
|
||||
QtTableView::numRows() const
|
||||
{
|
||||
return nRows;
|
||||
}
|
||||
|
||||
inline int
|
||||
QtTableView::numCols() const
|
||||
{
|
||||
return nCols;
|
||||
}
|
||||
|
||||
inline int
|
||||
QtTableView::topCell() const
|
||||
{
|
||||
return yCellOffs;
|
||||
}
|
||||
|
||||
inline int
|
||||
QtTableView::leftCell() const
|
||||
{
|
||||
return xCellOffs;
|
||||
}
|
||||
|
||||
inline int
|
||||
QtTableView::xOffset() const
|
||||
{
|
||||
return xOffs;
|
||||
}
|
||||
|
||||
inline int
|
||||
QtTableView::yOffset() const
|
||||
{
|
||||
return yOffs;
|
||||
}
|
||||
|
||||
inline int
|
||||
QtTableView::cellHeight() const
|
||||
{
|
||||
return cellH;
|
||||
}
|
||||
|
||||
inline int
|
||||
QtTableView::cellWidth() const
|
||||
{
|
||||
return cellW;
|
||||
}
|
||||
|
||||
inline uint
|
||||
QtTableView::tableFlags() const
|
||||
{
|
||||
return tFlags;
|
||||
}
|
||||
|
||||
inline bool
|
||||
QtTableView::testTableFlags(uint f) const
|
||||
{
|
||||
return (tFlags & f) != 0;
|
||||
}
|
||||
|
||||
inline QRect
|
||||
QtTableView::cellUpdateRect() const
|
||||
{
|
||||
return cellUpdateR;
|
||||
}
|
||||
|
||||
inline bool
|
||||
QtTableView::autoUpdate() const
|
||||
{
|
||||
return isUpdatesEnabled();
|
||||
}
|
||||
|
||||
inline void
|
||||
QtTableView::repaint(bool erase)
|
||||
{
|
||||
repaint(0, 0, width(), height(), erase);
|
||||
}
|
||||
|
||||
inline void
|
||||
QtTableView::repaint(const QRect &r, bool erase)
|
||||
{
|
||||
repaint(r.x(), r.y(), r.width(), r.height(), erase);
|
||||
}
|
||||
|
||||
inline void
|
||||
QtTableView::updateScrollBars()
|
||||
{
|
||||
updateScrollBars(0);
|
||||
}
|
||||
|
||||
#endif // QT_NO_QTTABLEVIEW
|
||||
|
||||
#endif // QTTABLEVIEW_H
|
||||
Reference in New Issue
Block a user