Merge branch 'NetHack-3.7'

This commit is contained in:
nhmall
2019-12-13 17:41:03 -05:00
133 changed files with 8267 additions and 18459 deletions
+1 -4
View File
@@ -1,4 +1 @@
Install.Qt NHSUBST
qpe-nethack.control NH_header=no
knethack.lnk NH_header=no
* NH_filestag=(file%s_for_the_Qt_3_widget_library_-_X11,_Windows,_Mac_OS_X,_or_Qtopia)
* NH_filestag=(file%s_for_the_Qt_4_or_5_widget_library_-_X11,_Windows,_Mac_OS_X)
+58 -58
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4bind.cpp -- bindings between the Qt 4 interface and the main code
// qt_bind.cpp -- bindings between the Qt 4 interface and the main code
extern "C" {
#include "hack.h"
@@ -25,23 +25,23 @@ extern "C" {
#else
#include <QtGui/QSound>
#endif
#include "qt4bind.h"
#include "qt4click.h"
#include "qt_bind.h"
#include "qt_click.h"
#ifdef TIMED_DELAY
#include "qt4delay.h"
#include "qt_delay.h"
#endif
#include "qt4xcmd.h"
#include "qt4key.h"
#include "qt4map.h"
#include "qt4menu.h"
#include "qt4msg.h"
#include "qt4plsel.h"
#include "qt4svsel.h"
#include "qt4set.h"
#include "qt4stat.h"
#include "qt4streq.h"
#include "qt4yndlg.h"
#include "qt4str.h"
#include "qt_xcmd.h"
#include "qt_key.h"
#include "qt_map.h"
#include "qt_menu.h"
#include "qt_msg.h"
#include "qt_plsel.h"
#include "qt_svsel.h"
#include "qt_set.h"
#include "qt_stat.h"
#include "qt_streq.h"
#include "qt_yndlg.h"
#include "qt_str.h"
extern "C" {
#include "dlb.h"
@@ -51,7 +51,7 @@ extern "C" {
extern int qt_compact_mode;
// end temporary
namespace nethack_qt4 {
namespace nethack_qt_ {
// XXX Should be from Options
//
@@ -721,7 +721,7 @@ boolean NetHackQtBind::msgs_initd = false;
static void Qt_positionbar(char *) {}
} // namespace nethack_qt4
} // namespace nethack_qt_
struct window_procs Qt_procs = {
"Qt",
@@ -731,48 +731,48 @@ struct window_procs Qt_procs = {
| WC_PLAYER_SELECTION | WC_SPLASH_SCREEN,
0L,
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, /* color availability */
nethack_qt4::NetHackQtBind::qt_init_nhwindows,
nethack_qt4::NetHackQtBind::qt_player_selection,
nethack_qt4::NetHackQtBind::qt_askname,
nethack_qt4::NetHackQtBind::qt_get_nh_event,
nethack_qt4::NetHackQtBind::qt_exit_nhwindows,
nethack_qt4::NetHackQtBind::qt_suspend_nhwindows,
nethack_qt4::NetHackQtBind::qt_resume_nhwindows,
nethack_qt4::NetHackQtBind::qt_create_nhwindow,
nethack_qt4::NetHackQtBind::qt_clear_nhwindow,
nethack_qt4::NetHackQtBind::qt_display_nhwindow,
nethack_qt4::NetHackQtBind::qt_destroy_nhwindow,
nethack_qt4::NetHackQtBind::qt_curs,
nethack_qt4::NetHackQtBind::qt_putstr,
nethack_qt_::NetHackQtBind::qt_init_nhwindows,
nethack_qt_::NetHackQtBind::qt_player_selection,
nethack_qt_::NetHackQtBind::qt_askname,
nethack_qt_::NetHackQtBind::qt_get_nh_event,
nethack_qt_::NetHackQtBind::qt_exit_nhwindows,
nethack_qt_::NetHackQtBind::qt_suspend_nhwindows,
nethack_qt_::NetHackQtBind::qt_resume_nhwindows,
nethack_qt_::NetHackQtBind::qt_create_nhwindow,
nethack_qt_::NetHackQtBind::qt_clear_nhwindow,
nethack_qt_::NetHackQtBind::qt_display_nhwindow,
nethack_qt_::NetHackQtBind::qt_destroy_nhwindow,
nethack_qt_::NetHackQtBind::qt_curs,
nethack_qt_::NetHackQtBind::qt_putstr,
genl_putmixed,
nethack_qt4::NetHackQtBind::qt_display_file,
nethack_qt4::NetHackQtBind::qt_start_menu,
nethack_qt4::NetHackQtBind::qt_add_menu,
nethack_qt4::NetHackQtBind::qt_end_menu,
nethack_qt4::NetHackQtBind::qt_select_menu,
nethack_qt_::NetHackQtBind::qt_display_file,
nethack_qt_::NetHackQtBind::qt_start_menu,
nethack_qt_::NetHackQtBind::qt_add_menu,
nethack_qt_::NetHackQtBind::qt_end_menu,
nethack_qt_::NetHackQtBind::qt_select_menu,
genl_message_menu, /* no need for X-specific handling */
nethack_qt4::NetHackQtBind::qt_update_inventory,
nethack_qt4::NetHackQtBind::qt_mark_synch,
nethack_qt4::NetHackQtBind::qt_wait_synch,
nethack_qt_::NetHackQtBind::qt_update_inventory,
nethack_qt_::NetHackQtBind::qt_mark_synch,
nethack_qt_::NetHackQtBind::qt_wait_synch,
#ifdef CLIPPING
nethack_qt4::NetHackQtBind::qt_cliparound,
nethack_qt_::NetHackQtBind::qt_cliparound,
#endif
#ifdef POSITIONBAR
nethack_qt4::Qt_positionbar,
nethack_qt_::Qt_positionbar,
#endif
nethack_qt4::NetHackQtBind::qt_print_glyph,
nethack_qt_::NetHackQtBind::qt_print_glyph,
//NetHackQtBind::qt_print_glyph_compose,
nethack_qt4::NetHackQtBind::qt_raw_print,
nethack_qt4::NetHackQtBind::qt_raw_print_bold,
nethack_qt4::NetHackQtBind::qt_nhgetch,
nethack_qt4::NetHackQtBind::qt_nh_poskey,
nethack_qt4::NetHackQtBind::qt_nhbell,
nethack_qt4::NetHackQtBind::qt_doprev_message,
nethack_qt4::NetHackQtBind::qt_yn_function,
nethack_qt4::NetHackQtBind::qt_getlin,
nethack_qt4::NetHackQtBind::qt_get_ext_cmd,
nethack_qt4::NetHackQtBind::qt_number_pad,
nethack_qt4::NetHackQtBind::qt_delay_output,
nethack_qt_::NetHackQtBind::qt_raw_print,
nethack_qt_::NetHackQtBind::qt_raw_print_bold,
nethack_qt_::NetHackQtBind::qt_nhgetch,
nethack_qt_::NetHackQtBind::qt_nh_poskey,
nethack_qt_::NetHackQtBind::qt_nhbell,
nethack_qt_::NetHackQtBind::qt_doprev_message,
nethack_qt_::NetHackQtBind::qt_yn_function,
nethack_qt_::NetHackQtBind::qt_getlin,
nethack_qt_::NetHackQtBind::qt_get_ext_cmd,
nethack_qt_::NetHackQtBind::qt_number_pad,
nethack_qt_::NetHackQtBind::qt_delay_output,
#ifdef CHANGE_COLOR /* only a Mac option currently */
donull,
donull,
@@ -780,17 +780,17 @@ struct window_procs Qt_procs = {
donull,
#endif
/* other defs that really should go away (they're tty specific) */
nethack_qt4::NetHackQtBind::qt_start_screen,
nethack_qt4::NetHackQtBind::qt_end_screen,
nethack_qt_::NetHackQtBind::qt_start_screen,
nethack_qt_::NetHackQtBind::qt_end_screen,
#ifdef GRAPHIC_TOMBSTONE
nethack_qt4::NetHackQtBind::qt_outrip,
nethack_qt_::NetHackQtBind::qt_outrip,
#else
genl_outrip,
#endif
genl_preference_update,
nethack_qt4::NetHackQtBind::qt_getmsghistory,
nethack_qt4::NetHackQtBind::qt_putmsghistory,
nethack_qt_::NetHackQtBind::qt_getmsghistory,
nethack_qt_::NetHackQtBind::qt_putmsghistory,
genl_status_init,
genl_status_finish, genl_status_enablefield,
#ifdef STATUS_HILITES
+4 -4
View File
@@ -2,14 +2,14 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4bind.h -- bindings between the Qt 4 interface and the main code
// qt_bind.h -- bindings between the Qt 4 interface and the main code
#ifndef QT4BIND_H
#define QT4BIND_H
#include "qt4main.h"
#include "qt_main.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtClickBuffer;
@@ -94,6 +94,6 @@ private:
static boolean msgs_initd;
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+4 -4
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4click.cpp -- a mouse click buffer
// qt_click.cpp -- a mouse click buffer
#include "hack.h"
#undef Invisible
@@ -16,9 +16,9 @@
#undef max
#include <QtGui/QtGui>
#include "qt4click.h"
#include "qt_click.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
NetHackQtClickBuffer::NetHackQtClickBuffer() :
in(0), out(0)
@@ -45,4 +45,4 @@ void NetHackQtClickBuffer::Get()
out=(out+1)%maxclick;
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4click.h -- a mouse click buffer
// qt_click.h -- a mouse click buffer
#ifndef QT4CLICK_H
#define QT4CLICK_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtClickBuffer {
public:
@@ -32,6 +32,6 @@ private:
int in,out;
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+5 -6
View File
@@ -1,10 +1,9 @@
/* NetHack 3.6 qt_clust.cpp $NHDT-Date: 1524684507 2018/04/25 19:28:27 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.8 $ */
/* SCCS Id: @(#)qt_clust.cpp 3.4 1999/11/19 */
/* Copyright (c) Warwick Allison, 1999. */
/* NetHack may be freely redistributed. See license for details. */
#include "qt_clust.h"
static
void include(QRect& r, const QRect& rect)
static void include(QRect& r, const QRect& rect)
{
if (rect.left()<r.left()) {
r.setLeft(rect.left());
@@ -75,7 +74,7 @@ void Clusterizer::add(const QRect& rect)
- cluster[cursor].width()*cluster[cursor].height();
if (cost < lowestcost) {
bool bad=FALSE;
bool bad=false;
for (int c=0; c<count && !bad; c++) {
bad=cluster[c].intersects(larger) && c!=cursor;
}
@@ -108,7 +107,7 @@ void Clusterizer::add(const QRect& rect)
int cost=larger.width()*larger.height()
- cluster[cursor].width()*cluster[cursor].height();
if (cost < lowestcost) {
bool bad=FALSE;
bool bad=false;
for (int c=0; c<count && !bad; c++) {
bad=cluster[c].intersects(larger) && c!=cursor;
}
@@ -134,7 +133,7 @@ void Clusterizer::add(const QRect& rect)
- cluster[merge1].width()*cluster[merge1].height()
- cluster[merge2].width()*cluster[merge2].height();
if (cost < lowestcost) {
bool bad=FALSE;
bool bad=false;
for (int c=0; c<count && !bad; c++) {
bad=cluster[c].intersects(larger) && c!=cursor;
}
+4 -4
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4delay.cpp -- implement a delay
// qt_delay.cpp -- implement a delay
#include "hack.h"
#undef Invisible
@@ -16,9 +16,9 @@
#undef max
#include <QtGui/QtGui>
#include "qt4delay.h"
#include "qt_delay.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
// RLC Can we use QTimer::single_shot for this?
NetHackQtDelay::NetHackQtDelay(int ms) :
@@ -39,4 +39,4 @@ void NetHackQtDelay::timerEvent(QTimerEvent* timer)
m_timer = 0;
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4delay.h -- implement a delay
// qt_delay.h -- implement a delay
#ifndef QT4DELAY_H
#define QT4DELAY_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtDelay : QObject {
private:
@@ -21,6 +21,6 @@ public:
virtual void timerEvent(QTimerEvent* timer);
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+6 -6
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4glyph.cpp -- class to manage the glyphs in a tile set
// qt_glyph.cpp -- class to manage the glyphs in a tile set
extern "C" {
#include "hack.h"
@@ -22,13 +22,13 @@ extern "C" {
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4glyph.h"
#include "qt4set.h"
#include "qt4str.h"
#include "qt_glyph.h"
#include "qt_set.h"
#include "qt_str.h"
extern short glyph2tile[]; // from tile.c
namespace nethack_qt4 {
namespace nethack_qt_ {
static int tilefile_tile_W=16;
static int tilefile_tile_H=16;
@@ -138,4 +138,4 @@ void NetHackQtGlyphs::setSize(int w, int h)
(was1 ? pm2 : pm1) = pm;
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4glyph.h -- class to manage the glyphs in a tile set
// qt_glyph.h -- class to manage the glyphs in a tile set
#ifndef QT4GLYPH_H
#define QT4GLYPH_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtGlyphs {
public:
@@ -29,6 +29,6 @@ private:
int tiles_per_row;
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+4 -4
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4icon.cpp -- a labelled icon
// qt_icon.cpp -- a labelled icon
#include "hack.h"
#undef Invisible
@@ -19,9 +19,9 @@
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4icon.h"
#include "qt_icon.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
NetHackQtLabelledIcon::NetHackQtLabelledIcon(QWidget* parent, const char* l) :
QWidget(parent),
@@ -200,4 +200,4 @@ void NetHackQtLabelledIcon::setAlignments()
if (icon) icon->setAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4icon.cpp -- a labelled icon
// qt_icon.cpp -- a labelled icon
#ifndef QT4ICON_H
#define QT4ICON_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtLabelledIcon : public QWidget {
public:
@@ -48,6 +48,6 @@ private:
QLabel* icon;
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+6 -6
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4inv.cpp -- inventory usage window
// qt_inv.cpp -- inventory usage window
// This is at the top center of the main window
extern "C" {
@@ -22,11 +22,11 @@ extern "C" {
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4inv.h"
#include "qt4glyph.h"
#include "qt4set.h"
#include "qt_inv.h"
#include "qt_glyph.h"
#include "qt_set.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
NetHackQtInvUsageWindow::NetHackQtInvUsageWindow(QWidget* parent) :
QWidget(parent)
@@ -96,4 +96,4 @@ QSize NetHackQtInvUsageWindow::sizeHint(void) const
}
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,13 +2,13 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4inv.h -- inventory usage window
// qt_inv.h -- inventory usage window
// This is at the top center of the main window
#ifndef QT4INV_H
#define QT4INV_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtInvUsageWindow : public QWidget {
public:
@@ -20,6 +20,6 @@ private:
void drawWorn(QPainter& painter, obj*, int x, int y, bool canbe=true);
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+1 -1
View File
@@ -4,7 +4,7 @@
#ifndef QT_DUMMYKDE
#define QT_DUMMYKDE
namespace nethack_qt4 {
namespace nethack_qt_ {
class KTopLevelWidget : public QMainWindow {
Q_OBJECT
+4 -4
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4key.cpp -- a key buffer
// qt_key.cpp -- a key buffer
#include "hack.h"
#undef Invisible
@@ -16,9 +16,9 @@
#undef max
#include <QtGui/QtGui>
#include "qt4key.h"
#include "qt_key.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
NetHackQtKeyBuffer::NetHackQtKeyBuffer() :
in(0), out(0)
@@ -88,4 +88,4 @@ Qt::KeyboardModifiers NetHackQtKeyBuffer::TopState() const
return state[out];
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4key.h -- a key buffer
// qt_key.h -- a key buffer
#ifndef QT4KEY_H
#define QT4KEY_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtKeyBuffer {
public:
@@ -35,6 +35,6 @@ private:
int in,out;
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+4 -4
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4line.cpp -- a one line input window
// qt_line.cpp -- a one line input window
#include "hack.h"
#undef Invisible
@@ -19,9 +19,9 @@
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4line.h"
#include "qt_line.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
NetHackQtLineEdit::NetHackQtLineEdit() :
QLineEdit(0)
@@ -39,4 +39,4 @@ void NetHackQtLineEdit::fakeEvent(int key, int ascii, Qt::KeyboardModifiers stat
keyPressEvent(&fake);
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4line.h -- a one line input window
// qt_line.h -- a one line input window
#ifndef QT4LINE_H
#define QT4LINE_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtLineEdit : public QLineEdit {
public:
@@ -17,6 +17,6 @@ public:
void fakeEvent(int key, int ascii, Qt::KeyboardModifiers state);
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+15 -15
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4main.cpp -- the main window
// qt_main.cpp -- the main window
extern "C" {
#include "hack.h"
@@ -22,20 +22,20 @@ extern "C" {
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4main.h"
#include "qt4main.moc"
#include "qt4bind.h"
#include "qt4glyph.h"
#include "qt4inv.h"
#include "qt4key.h"
#include "qt4map.h"
#include "qt4msg.h"
#include "qt4set.h"
#include "qt4stat.h"
#include "qt4str.h"
#include "qt_main.h"
#include "qt_main.moc"
#include "qt_bind.h"
#include "qt_glyph.h"
#include "qt_inv.h"
#include "qt_key.h"
#include "qt_map.h"
#include "qt_msg.h"
#include "qt_set.h"
#include "qt_stat.h"
#include "qt_str.h"
#ifndef KDE
#include "qt4kde0.moc"
#include "qt_kde0.moc"
#endif
// temporary
@@ -44,7 +44,7 @@ extern char *qt_tileheight;
extern int qt_compact_mode;
// end temporary
namespace nethack_qt4 {
namespace nethack_qt_ {
// temporary
void centerOnMain( QWidget* w );
@@ -1073,4 +1073,4 @@ void NetHackQtMainWindow::ShowIfReady()
}
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+4 -4
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4main.h -- the main window
// qt_main.h -- the main window
#ifndef QT4MAIN_H
#define QT4MAIN_H
@@ -11,10 +11,10 @@
#include <kapp.h>
#include <ktopwidget.h>
#else
#include "qt4kde0.h"
#include "qt_kde0.h"
#endif
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtInvUsageWindow;
class NetHackQtKeyBuffer;
@@ -90,6 +90,6 @@ private:
int dirkey;
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+9 -9
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4map.cpp -- the map window
// qt_map.cpp -- the map window
extern "C" {
#include "hack.h"
@@ -21,19 +21,19 @@ extern "C" {
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4map.h"
#include "qt4map.moc"
#include "qt4click.h"
#include "qt4glyph.h"
#include "qt_map.h"
#include "qt_map.moc"
#include "qt_click.h"
#include "qt_glyph.h"
#include "qt_xpms.h"
#include "qt4set.h"
#include "qt4str.h"
#include "qt_set.h"
#include "qt_str.h"
// temporary
extern int qt_compact_mode;
// end temporary
namespace nethack_qt4 {
namespace nethack_qt_ {
#ifdef TEXTCOLOR
static const QPen& nhcolor_to_pen(int c)
@@ -971,4 +971,4 @@ void NetHackQtMapWindow::Changed(int x, int y)
}
#endif
} // namespace nethack_qt4
} // namespace nethack_qt_
+5 -5
View File
@@ -2,15 +2,15 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4map.h -- the map window
// qt_map.h -- the map window
#ifndef QT4MAP_H
#define QT4MAP_H
#include "qt4win.h"
#include "qt4clust.h"
#include "qt_win.h"
#include "qt_clust.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtClickBuffer;
@@ -77,6 +77,6 @@ private:
QString messages;
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+9 -9
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4menu.cpp -- a menu or text-list widget
// qt_menu.cpp -- a menu or text-list widget
extern "C" {
#include "hack.h"
@@ -21,12 +21,12 @@ extern "C" {
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4menu.h"
#include "qt4menu.moc"
#include "qt4glyph.h"
#include "qt4set.h"
#include "qt4streq.h"
#include "qt4str.h"
#include "qt_menu.h"
#include "qt_menu.moc"
#include "qt_glyph.h"
#include "qt_set.h"
#include "qt_streq.h"
#include "qt_str.h"
// temporary
extern "C" int qt_compact_mode;
@@ -34,7 +34,7 @@ extern "C" int qt_compact_mode;
extern "C" struct menucoloring *menu_colorings;
namespace nethack_qt4 {
namespace nethack_qt_ {
// temporary
void centerOnMain( QWidget* w );
@@ -827,4 +827,4 @@ int NetHackQtMenuOrTextWindow::SelectMenu(int how, MENU_ITEM_P **menu_list)
return actual->SelectMenu(how,menu_list);
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+5 -5
View File
@@ -2,15 +2,15 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4menu.cpp -- a menu or text-list widget
// qt_menu.cpp -- a menu or text-list widget
#ifndef QT4MENU_H
#define QT4MENU_H
#include "qt4win.h"
#include "qt4rip.h"
#include "qt_win.h"
#include "qt_rip.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtTextListBox : public QListWidget {
public:
@@ -178,6 +178,6 @@ public:
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+8 -8
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4msg.cpp -- a message window
// qt_msg.cpp -- a message window
extern "C" {
#include "hack.h"
@@ -21,13 +21,13 @@ extern "C" {
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4msg.h"
#include "qt4msg.moc"
#include "qt4map.h"
#include "qt4set.h"
#include "qt4str.h"
#include "qt_msg.h"
#include "qt_msg.moc"
#include "qt_map.h"
#include "qt_set.h"
#include "qt_str.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
NetHackQtMessageWindow::NetHackQtMessageWindow() :
list(new QListWidget())
@@ -152,4 +152,4 @@ void NetHackQtMessageWindow::PutStr(int attr, const QString& text)
map->putMessage(attr, text2);
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+4 -4
View File
@@ -2,14 +2,14 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4msg.h -- a message window
// qt_msg.h -- a message window
#ifndef QT4MSG_H
#define QT4MSG_H
#include "qt4win.h"
#include "qt_win.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtMapWindow2;
@@ -40,6 +40,6 @@ private slots:
void updateFont();
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+9 -9
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4plsel.cpp -- player selector dialog
// qt_plsel.cpp -- player selector dialog
extern "C" {
#include "hack.h"
@@ -21,17 +21,17 @@ extern "C" {
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4plsel.h"
#include "qt4plsel.moc"
#include "qt4bind.h"
#include "qt4glyph.h"
#include "qt4set.h"
#include "qt4str.h"
#include "qt_plsel.h"
#include "qt_plsel.moc"
#include "qt_bind.h"
#include "qt_glyph.h"
#include "qt_set.h"
#include "qt_str.h"
// Warwick prefers it this way...
#define QT_CHOOSE_RACE_FIRST
namespace nethack_qt4 {
namespace nethack_qt_ {
// temporary
void centerOnMain( QWidget* w );
@@ -533,4 +533,4 @@ bool NetHackQtPlayerSelector::Choose()
}
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4plsel.h -- player selector dialog
// qt_plsel.h -- player selector dialog
#ifndef QT4PLSEL_H
#define QT4PLSEL_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtKeyBuffer;
@@ -43,6 +43,6 @@ private:
int chosen_align;
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+6 -6
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4rip.cpp -- tombstone window
// qt_rip.cpp -- tombstone window
#include "hack.h"
#undef Invisible
@@ -19,11 +19,11 @@
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4rip.h"
#include "qt4bind.h"
#include "qt4str.h"
#include "qt_rip.h"
#include "qt_bind.h"
#include "qt_str.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
QPixmap* NetHackQtRIP::pixmap=0;
@@ -91,4 +91,4 @@ void NetHackQtRIP::paintEvent(QPaintEvent* event)
}
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4rip.h -- tombstone window
// qt_rip.h -- tombstone window
#ifndef QT4RIP_H
#define QT4RIP_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtRIP : public QWidget {
private:
@@ -25,6 +25,6 @@ protected:
QSize sizeHint() const;
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+7 -7
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4set.cpp -- the Qt settings
// qt_set.cpp -- the Qt settings
#include "hack.h"
#undef Invisible
@@ -19,10 +19,10 @@
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4set.h"
#include "qt4set.moc"
#include "qt4glyph.h"
#include "qt4str.h"
#include "qt_set.h"
#include "qt_set.moc"
#include "qt_glyph.h"
#include "qt_str.h"
/* Used by tile/font-size patch below and in ../../src/files.c */
char *qt_tilewidth=NULL;
@@ -34,7 +34,7 @@ int qt_compact_mode = 1;
int qt_compact_mode = 0;
#endif
namespace nethack_qt4 {
namespace nethack_qt_ {
#define TILEWMIN 6
#define TILEHMIN 6
@@ -192,4 +192,4 @@ bool NetHackQtSettings::ynInMessages()
NetHackQtSettings* qt_settings;
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4set.h -- the Qt settings
// qt_set.h -- the Qt settings
#ifndef QT4SET_H
#define QT4SET_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtGlyphs;
@@ -54,6 +54,6 @@ private slots:
extern NetHackQtSettings* qt_settings;
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+7 -7
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4stat.cpp -- bindings between the Qt 4 interface and the main code
// qt_stat.cpp -- bindings between the Qt 4 interface and the main code
extern "C" {
#include "hack.h"
@@ -21,16 +21,16 @@ extern "C" {
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4stat.h"
#include "qt4stat.moc"
#include "qt4set.h"
#include "qt4str.h"
#include "qt_stat.h"
#include "qt_stat.moc"
#include "qt_set.h"
#include "qt_str.h"
#include "qt_xpms.h"
extern const char *enc_stat[]; /* from botl.c */
extern const char *hu_stat[]; /* from eat.c */
namespace nethack_qt4 {
namespace nethack_qt_ {
NetHackQtStatusWindow::NetHackQtStatusWindow() :
// Notes:
@@ -537,4 +537,4 @@ void NetHackQtStatusWindow::checkTurnEvents()
{
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+5 -5
View File
@@ -2,15 +2,15 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4stat.h -- bindings between the Qt 4 interface and the main code
// qt_stat.h -- bindings between the Qt 4 interface and the main code
#ifndef QT4STAT_H
#define QT4STAT_H
#include "qt4win.h"
#include "qt4icon.h"
#include "qt_win.h"
#include "qt_icon.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtStatusWindow : QWidget, public NetHackQtWindow {
Q_OBJECT
@@ -101,6 +101,6 @@ private:
void checkTurnEvents();
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+4 -4
View File
@@ -2,13 +2,13 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4str.cpp -- some string functions
// qt_str.cpp -- some string functions
#include <QtCore/QString>
#include <QtCore/QStringList>
#include "qt4str.h"
#include "qt_str.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
// Bounded string copy
size_t str_copy(char *dest, const char *src, size_t max)
@@ -80,4 +80,4 @@ int cp437(int ch)
return cp437table[(unsigned char)ch];
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4str.h -- various string functions
// qt_str.h -- various string functions
#ifndef QT4STR_H
#define QT4STR_H
namespace nethack_qt4 {
namespace nethack_qt_ {
// Bounded string copy
extern size_t str_copy(char *dest, const char *src, size_t max);
@@ -19,6 +19,6 @@ extern QString nh_capitalize_words(const QString& str);
// Map symbol conversion
extern int cp437(int ch);
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+5 -5
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4streq.cpp -- string requestor
// qt_streq.cpp -- string requestor
#include "hack.h"
#undef Invisible
@@ -19,10 +19,10 @@
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4streq.h"
#include "qt4str.h"
#include "qt_streq.h"
#include "qt_str.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
// temporary
void centerOnMain(QWidget *);
@@ -99,4 +99,4 @@ bool NetHackQtStringRequestor::Get(char* buffer, int maxchar)
}
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+4 -4
View File
@@ -2,14 +2,14 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4streq.h -- string requestor
// qt_streq.h -- string requestor
#ifndef QT4STREQ_H
#define QT4STREQ_H
#include "qt4line.h"
#include "qt_line.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtStringRequestor : QDialog {
private:
@@ -25,6 +25,6 @@ public:
virtual void resizeEvent(QResizeEvent*);
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+6 -6
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4svsel.cpp -- saved game selector
// qt_svsel.cpp -- saved game selector
#include "hack.h"
#undef Invisible
@@ -19,11 +19,11 @@
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4svsel.h"
#include "qt4bind.h"
#include "qt4str.h"
#include "qt_svsel.h"
#include "qt_bind.h"
#include "qt_str.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
NetHackQtSavedGameSelector::NetHackQtSavedGameSelector(const char** saved) :
QDialog(NetHackQtBind::mainWidget())
@@ -77,4 +77,4 @@ int NetHackQtSavedGameSelector::choose()
return exec()-2;
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4svsel.h -- saved game selector
// qt_svsel.h -- saved game selector
#ifndef QT4SVSEL_H
#define QT4SVSEL_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtSavedGameSelector : public QDialog {
public:
@@ -16,6 +16,6 @@ public:
int choose();
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+35 -5211
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -11,10 +11,10 @@
// major application of Qt.
//
#ifndef qt4win_h
#define qt4win_h
#ifndef qt_win_h
#define qt_win_h
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtWindow {
public:
@@ -44,6 +44,6 @@ public:
int nhid;
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+8 -8
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4xcmd.cpp -- extended command widget
// qt_xcmd.cpp -- extended command widget
#include "hack.h"
#include "func_tab.h"
@@ -20,13 +20,13 @@
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4xcmd.h"
#include "qt4xcmd.moc"
#include "qt4bind.h"
#include "qt4set.h"
#include "qt4str.h"
#include "qt_xcmd.h"
#include "qt_xcmd.moc"
#include "qt_bind.h"
#include "qt_set.h"
#include "qt_str.h"
namespace nethack_qt4 {
namespace nethack_qt_ {
// temporary
void centerOnMain(QWidget *);
@@ -145,4 +145,4 @@ void NetHackQtExtCmdRequestor::enableButtons()
}
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4xcmd.h -- extended command widget
// qt_xcmd.h -- extended command widget
#ifndef QT4XCMD_H
#define QT4XCMD_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtExtCmdRequestor : public QDialog {
Q_OBJECT
@@ -28,6 +28,6 @@ private slots:
void cancel();
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+1422
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -2,7 +2,7 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4yndlg.cpp -- yes/no dialog
// qt_yndlg.cpp -- yes/no dialog
#include "hack.h"
#undef Invisible
@@ -19,15 +19,15 @@
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4yndlg.h"
#include "qt4yndlg.moc"
#include "qt4str.h"
#include "qt_yndlg.h"
#include "qt_yndlg.moc"
#include "qt_str.h"
// temporary
extern int qt_compact_mode;
// end temporary
namespace nethack_qt4 {
namespace nethack_qt_ {
// temporary
void centerOnMain(QWidget *);
@@ -241,4 +241,4 @@ void NetHackQtYnDialog::doneItem(int i)
done(i+1000);
}
} // namespace nethack_qt4
} // namespace nethack_qt_
+3 -3
View File
@@ -2,12 +2,12 @@
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// qt4yndlg.h -- yes/no dialog
// qt_yndlg.h -- yes/no dialog
#ifndef QT4YNDLG_H
#define QT4YNDLG_H
namespace nethack_qt4 {
namespace nethack_qt_ {
class NetHackQtYnDialog : QDialog {
Q_OBJECT
@@ -29,6 +29,6 @@ public:
char Exec();
};
} // namespace nethack_qt4
} // namespace nethack_qt_
#endif
+4
View File
@@ -0,0 +1,4 @@
Install.Qt NHSUBST
qpe-nethack.control NH_header=no
knethack.lnk NH_header=no
* NH_filestag=(file%s_for_the_Qt_3_widget_library_-_X11,_Windows,_Mac_OS_X,_or_Qtopia)
View File
@@ -1,9 +1,10 @@
/* SCCS Id: @(#)qt_clust.cpp 3.4 1999/11/19 */
/* NetHack 3.6 qt_clust.cpp $NHDT-Date: 1575917719 2019/12/09 18:55:19 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.0 $ */
/* Copyright (c) Warwick Allison, 1999. */
/* NetHack may be freely redistributed. See license for details. */
#include "qt4clust.h"
#include "qt3_clust.h"
static void include(QRect& r, const QRect& rect)
static
void include(QRect& r, const QRect& rect)
{
if (rect.left()<r.left()) {
r.setLeft(rect.left());
@@ -74,7 +75,7 @@ void Clusterizer::add(const QRect& rect)
- cluster[cursor].width()*cluster[cursor].height();
if (cost < lowestcost) {
bool bad=false;
bool bad=FALSE;
for (int c=0; c<count && !bad; c++) {
bad=cluster[c].intersects(larger) && c!=cursor;
}
@@ -107,7 +108,7 @@ void Clusterizer::add(const QRect& rect)
int cost=larger.width()*larger.height()
- cluster[cursor].width()*cluster[cursor].height();
if (cost < lowestcost) {
bool bad=false;
bool bad=FALSE;
for (int c=0; c<count && !bad; c++) {
bad=cluster[c].intersects(larger) && c!=cursor;
}
@@ -133,7 +134,7 @@ void Clusterizer::add(const QRect& rect)
- cluster[merge1].width()*cluster[merge1].height()
- cluster[merge2].width()*cluster[merge2].height();
if (cost < lowestcost) {
bool bad=false;
bool bad=FALSE;
for (int c=0; c<count && !bad; c++) {
bad=cluster[c].intersects(larger) && c!=cursor;
}
+34
View File
@@ -0,0 +1,34 @@
/* 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
+11
View File
@@ -0,0 +1,11 @@
/* 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
+5312
View File
File diff suppressed because it is too large Load Diff
+890
View File
@@ -0,0 +1,890 @@
// NetHack 3.6 qt_win.h $NHDT-Date: 1575917700 2019/12/09 18:55:00 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.0 $
// 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 "qt3_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 "qt3_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
View File
File diff suppressed because it is too large Load Diff
@@ -1,5 +1,5 @@
/**********************************************************************
** $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.4 $ $NHDT-Date: 1524684508 2018/04/25 19:28:28 $
** $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.0 $ $NHDT-Date: 1575917720 2019/12/09 18:55:20 $
** $Id: qttableview.cpp,v 1.2 2002/03/09 03:13:15 jwalz Exp $
**
** Implementation of QtTableView class
@@ -13,7 +13,7 @@
**
**********************************************************************/
#include "qttableview.h"
#include "qt3tableview.h"
#if QT_VERSION >= 300
#ifndef QT_NO_QTTABLEVIEW
#include <qscrollbar.h>
+293
View File
@@ -0,0 +1,293 @@
/**********************************************************************
** $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
-1
View File
@@ -1 +0,0 @@
* NH_filestag=(file%s_for_the_Qt_4_widget_library_-_X11,_Windows,_Mac_OS_X)
-136
View File
@@ -1,136 +0,0 @@
// Copyright (c) Warwick Allison, 1999.
// Qt4 conversion copyright (c) Ray Chason, 2012-2014.
// NetHack may be freely redistributed. See license for details.
// Qt Binding for NetHack 3.4
//
// Copyright (C) 1996-2001 by Warwick W. Allison (warwick@troll.no)
//
// Contributors:
// Michael Hohmuth <hohmuth@inf.tu-dresden.de>
// - Userid control
// Svante Gerhard <svante@algonet.se>
// - .nethackrc tile and font size settings
// Dirk Schoenberger <schoenberger@signsoft.com>
// - KDE support
// - SlashEm support
// and many others for bug reports.
//
// 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)
// and also because this is my first major application of Qt.
//
// The problem of NetHack's getkey requirement is solved by intercepting
// key events by overiding QApplicion::notify(...), and putting them in
// a buffer. Mouse clicks on the map window are treated with a similar
// buffer. When the NetHack engine calls for a key, one is taken from
// the buffer, or if that is empty, QApplication::exec() is called.
// Whenever keys or clicks go into the buffer, QApplication::exit()
// is called.
//
// Another problem is that some NetHack players are decade-long players who
// demand complete keyboard control (while Qt and X11 conspire to make this
// difficult by having widget-based focus rather than application based -
// a good thing in general). This problem is solved by again using the key
// event buffer.
//
// Out of all this hackery comes a silver lining however, as macros for
// the super-expert and menus for the ultra-newbie are also made possible
// by the key event buffer.
//
// This includes all the definitions we need from the NetHack main
// engine. We pretend MSC is a STDC compiler, because C++ is close
// enough, and we undefine NetHack macros which conflict with Qt
// identifiers.
#define QT_DEPRECATED_WARNINGS
#include "hack.h"
#undef Invisible
#undef Warning
#undef index
#undef msleep
#undef rindex
#undef wizard
#undef yn
#undef min
#undef max
#include <QtGui/QtGui>
#if QT_VERSION >= 0x050000
#include <QtWidgets/QtWidgets>
#endif
#include "qt4win.h"
#include "qt4bind.h"
#include "qt4click.h"
#include "qt4glyph.h"
#include "qt4inv.h"
#include "qt4key.h"
#include "qt4icon.h"
#include "qt4map.h"
#include "qt4menu.h"
#include "qt4msg.h"
#include "qt4set.h"
#include <ctype.h>
#include "qt4clust.h"
#include <dirent.h>
#ifdef _WS_X11_
// For userid control
#include <unistd.h>
#endif
#ifdef USER_SOUNDS
#if QT_VERSION >= 0x050000
# include <QtMultimedia/QSound>
# else
# include <QtGui/QSound>
# endif
#endif
#ifdef USER_SOUNDS
extern void play_sound_for_message(const std::string& str);
#endif
namespace nethack_qt4 {
void
centerOnMain( QWidget* w )
{
QWidget* m = NetHackQtBind::mainWidget();
if (!m) m = qApp->desktop();
QPoint p = m->mapToGlobal(QPoint(0,0));
w->move( p.x() + m->width()/2 - w->width()/2,
p.y() + m->height()/2 - w->height()/2 );
}
NetHackQtWindow::NetHackQtWindow()
{
}
NetHackQtWindow::~NetHackQtWindow()
{
}
// XXX Use "expected ..." for now, abort or default later.
//
void NetHackQtWindow::Clear() { puts("unexpected Clear"); }
void NetHackQtWindow::Display(bool block) { puts("unexpected Display"); }
bool NetHackQtWindow::Destroy() { return true; }
void NetHackQtWindow::CursorTo(int x,int y) { puts("unexpected CursorTo"); }
void NetHackQtWindow::PutStr(int attr, const QString& text) { puts("unexpected PutStr"); }
void NetHackQtWindow::StartMenu() { puts("unexpected StartMenu"); }
void NetHackQtWindow::AddMenu(int glyph, const ANY_P* identifier, char ch, char gch, int attr,
const QString& str, bool presel) { puts("unexpected AddMenu"); }
void NetHackQtWindow::EndMenu(const QString& prompt) { puts("unexpected EndMenu"); }
int NetHackQtWindow::SelectMenu(int how, MENU_ITEM_P **menu_list) { puts("unexpected SelectMenu"); return 0; }
void NetHackQtWindow::ClipAround(int x,int y) { puts("unexpected ClipAround"); }
void NetHackQtWindow::PrintGlyph(int x,int y,int glyph) { puts("unexpected PrintGlyph"); }
//void NetHackQtWindow::PrintGlyphCompose(int x,int y,int,int) { puts("unexpected PrintGlyphCompose"); }
void NetHackQtWindow::UseRIP(int how, time_t when) { puts("unexpected UseRIP"); }
} // namespace nethack_qt4
-4
View File
@@ -169,10 +169,6 @@
<ClCompile Include="$(SrcDir)rumors.c" />
<ClCompile Include="$(SrcDir)save.c" />
<ClCompile Include="$(SrcDir)sfstruct.c" />
<ClCompile Include="$(SrcDir)sfbase.c" />
<ClCompile Include="$(SrcDir)sflendian.c" />
<ClCompile Include="$(SrcDir)sfascii.c" />
<ClCompile Include="$(SrcDir)sfdata.c" />
<ClCompile Include="$(SrcDir)shk.c" />
<ClCompile Include="$(SrcDir)shknam.c" />
<ClCompile Include="$(SrcDir)sit.c" />
-4
View File
@@ -163,10 +163,6 @@
<ClCompile Include="$(SrcDir)rumors.c" />
<ClCompile Include="$(SrcDir)save.c" />
<ClCompile Include="$(SrcDir)sfstruct.c" />
<ClCompile Include="$(SrcDir)sfbase.c" />
<ClCompile Include="$(SrcDir)sflendian.c" />
<ClCompile Include="$(SrcDir)sfascii.c" />
<ClCompile Include="$(SrcDir)sfdata.c" />
<ClCompile Include="$(SrcDir)shk.c" />
<ClCompile Include="$(SrcDir)shknam.c" />
<ClCompile Include="$(SrcDir)sit.c" />