summaryrefslogtreecommitdiff
path: root/quacker
diff options
context:
space:
mode:
authorJohn Fultz <jfultz@wolfram.com>2023-07-18 00:44:06 -0500
committerJohn Fultz <jfultz@wolfram.com>2023-07-18 00:44:06 -0500
commit53f394839396edd537785fc40db3090839dd7c04 (patch)
tree4198dc35fd903fbd537d798a5de06afb2e7b3253 /quacker
parenta68140dfb546b8a89c48bfe99d7b56d9c2908569 (diff)
Fix Qt6 MOC compilation on some platforms.
That was super painful. It seems that some of the Quackle types that have custom operator==() give fits to the MOC compiler when those types are used as arguments for slots and/or signals (or maybe it's only when they're connected in a certain way...frankly, I never did figure this out precisely to my satisfaction). The compilers provide very little help in resolving this problem. Once I understood the problem, VS22 was giving me just the tiniest morsel, enough that I could hunt down the offending slot/signal (it wasn't even giving me the name of the slot/signal...just the type it was trying to use). I've changed all offending functions to use const pointers to types instead of const references, and this makes Qt happy. I couldn't find any info on the web directly about this, but here's the closest I did find, which suggests that this is related to increased functionality in Qt6 regarding reflection. https://forum.qt.io/topic/141434/ This fixes my VC++22 x86-64 build. Hopefully it fixes all of the others, too.
Diffstat (limited to 'quacker')
-rw-r--r--quacker/bagdisplay.cpp6
-rw-r--r--quacker/bagdisplay.h2
-rw-r--r--quacker/boarddisplay.cpp29
-rw-r--r--quacker/boarddisplay.h6
-rw-r--r--quacker/boardsetup.h2
-rw-r--r--quacker/brb.cpp2
-rw-r--r--quacker/brb.h2
-rw-r--r--quacker/graphicalboard.cpp31
-rw-r--r--quacker/graphicalboard.h6
-rw-r--r--quacker/history.cpp2
-rw-r--r--quacker/movebox.cpp23
-rw-r--r--quacker/movebox.h4
-rw-r--r--quacker/noteeditor.cpp4
-rw-r--r--quacker/noteeditor.h2
-rw-r--r--quacker/quacker.cpp60
-rw-r--r--quacker/quacker.h12
-rw-r--r--quacker/rackdisplay.cpp6
-rw-r--r--quacker/rackdisplay.h2
-rw-r--r--quacker/view.cpp8
-rw-r--r--quacker/view.h10
20 files changed, 119 insertions, 100 deletions
diff --git a/quacker/bagdisplay.cpp b/quacker/bagdisplay.cpp
index f38854d..1facc05 100644
--- a/quacker/bagdisplay.cpp
+++ b/quacker/bagdisplay.cpp
@@ -53,12 +53,12 @@ BagDisplay::~BagDisplay()
{
}
-void BagDisplay::positionChanged(const Quackle::GamePosition &position)
+void BagDisplay::positionChanged(const Quackle::GamePosition *position)
{
- showTiles(position.unseenBag().tiles());
+ showTiles(position->unseenBag().tiles());
// Birthday
- for (const auto& it : position.players())
+ for (const auto& it : position->players())
{
if (it.name() == "zorbonauts")
{
diff --git a/quacker/bagdisplay.h b/quacker/bagdisplay.h
index 5d09853..e513996 100644
--- a/quacker/bagdisplay.h
+++ b/quacker/bagdisplay.h
@@ -34,7 +34,7 @@ public:
virtual ~BagDisplay();
public slots:
- virtual void positionChanged(const Quackle::GamePosition &position);
+ virtual void positionChanged(const Quackle::GamePosition *position);
protected slots:
virtual void showTiles(const Quackle::LongLetterString &tiles);
diff --git a/quacker/boarddisplay.cpp b/quacker/boarddisplay.cpp
index 677179e..491b040 100644
--- a/quacker/boarddisplay.cpp
+++ b/quacker/boarddisplay.cpp
@@ -66,20 +66,20 @@ BoardWithQuickEntry::~BoardWithQuickEntry()
{
}
-void BoardWithQuickEntry::positionChanged(const Quackle::GamePosition &position)
+void BoardWithQuickEntry::positionChanged(const Quackle::GamePosition *position)
{
View::positionChanged(position);
- setLocalCandidate(position.moveMade());
+ setLocalCandidate(&position->moveMade());
}
-void BoardWithQuickEntry::setLocalCandidate(const Quackle::Move &candidate)
+void BoardWithQuickEntry::setLocalCandidate(const Quackle::Move *candidate)
{
- m_localCandidateMove = candidate;
+ m_localCandidateMove = *candidate;
- if (candidate.isAMove())
+ if (candidate->isAMove())
{
- m_lineEdit->setText(QuackleIO::Util::moveToDetailedString(candidate));
- m_commitButton->setText(tr("Commit %1").arg(QuackleIO::Util::moveToDetailedString(candidate)));
+ m_lineEdit->setText(QuackleIO::Util::moveToDetailedString(*candidate));
+ m_commitButton->setText(tr("Commit %1").arg(QuackleIO::Util::moveToDetailedString(*candidate)));
}
else
{
@@ -87,7 +87,7 @@ void BoardWithQuickEntry::setLocalCandidate(const Quackle::Move &candidate)
m_commitButton->setText(tr("Commit"));
}
- m_commitButton->setEnabled(candidate.isAMove());
+ m_commitButton->setEnabled(candidate->isAMove());
}
void BoardWithQuickEntry::quickEditReturnPressed()
@@ -107,18 +107,19 @@ void BoardWithQuickEntry::quickEditShiftReturnPressed()
void BoardWithQuickEntry::plusFive()
{
m_localCandidateMove.setScoreAddition(m_localCandidateMove.scoreAddition() + 5);
- emit setCandidateMove(m_localCandidateMove, nullptr);
+ emit setCandidateMove(&m_localCandidateMove, nullptr);
}
void BoardWithQuickEntry::performCommit()
{
- emit setCandidateMove(m_localCandidateMove, nullptr);
+ emit setCandidateMove(&m_localCandidateMove, nullptr);
emit commit();
}
void BoardWithQuickEntry::reset()
{
- emit setCandidateMove(Quackle::Move::createNonmove(), nullptr);
+ Quackle::Move move = Quackle::Move::createNonmove();
+ emit setCandidateMove(&move, nullptr);
}
void BoardWithQuickEntry::provideHelp()
@@ -207,7 +208,7 @@ void BoardWithQuickEntry::processCommand(const QString &command)
}
if (move.isAMove())
- emit setCandidateMove(move, nullptr);
+ emit setCandidateMove(&move, nullptr);
}
///////////
@@ -223,11 +224,11 @@ TextBoard::TextBoard(QWidget *parent)
m_textEdit->setReadOnly(true);
}
-void TextBoard::positionChanged(const Quackle::GamePosition &position)
+void TextBoard::positionChanged(const Quackle::GamePosition *position)
{
BoardWithQuickEntry::positionChanged(position);
//m_textEdit->setHtml(QString("<html><font size=\"+4\"><pre>%1</pre></font></html>").arg(QuackleIO::Util::uvStringToQString(position.boardAfterMoveMade().toString())));
- m_textEdit->setPlainText(QString("%1").arg(QuackleIO::Util::uvStringToQString(position.boardAfterMoveMade().toString())));
+ m_textEdit->setPlainText(QString("%1").arg(QuackleIO::Util::uvStringToQString(position->boardAfterMoveMade().toString())));
}
///////////
diff --git a/quacker/boarddisplay.h b/quacker/boarddisplay.h
index c0acf2b..a14b269 100644
--- a/quacker/boarddisplay.h
+++ b/quacker/boarddisplay.h
@@ -44,10 +44,10 @@ public:
virtual ~BoardWithQuickEntry();
public slots:
- virtual void positionChanged(const Quackle::GamePosition &position);
+ virtual void positionChanged(const Quackle::GamePosition *position);
protected slots:
- void setLocalCandidate(const Quackle::Move &candidate);
+ void setLocalCandidate(const Quackle::Move *candidate);
private slots:
void quickEditReturnPressed();
@@ -76,7 +76,7 @@ public:
TextBoard(QWidget *parent = 0);
public slots:
- virtual void positionChanged(const Quackle::GamePosition &position);
+ virtual void positionChanged(const Quackle::GamePosition *position);
private:
QTextEdit *m_textEdit;
diff --git a/quacker/boardsetup.h b/quacker/boardsetup.h
index 67275ac..b609ca6 100644
--- a/quacker/boardsetup.h
+++ b/quacker/boardsetup.h
@@ -55,7 +55,7 @@ public:
void parametersChanged();
public slots:
- virtual void positionChanged(const Quackle::GamePosition & /* position */) {};
+ virtual void positionChanged(const Quackle::GamePosition * /* position */) {};
protected slots:
virtual void tileClicked(const QSize &tileLocation, const QMouseEvent *event);
diff --git a/quacker/brb.cpp b/quacker/brb.cpp
index 0a76218..4dd4d66 100644
--- a/quacker/brb.cpp
+++ b/quacker/brb.cpp
@@ -72,7 +72,7 @@ void BRB::grabFocus()
m_rackDisplay->grabFocus();
}
-void BRB::positionChanged(const Quackle::GamePosition &position)
+void BRB::positionChanged(const Quackle::GamePosition *position)
{
View::positionChanged(position);
}
diff --git a/quacker/brb.h b/quacker/brb.h
index ba38164..2650da4 100644
--- a/quacker/brb.h
+++ b/quacker/brb.h
@@ -40,7 +40,7 @@ public:
View * getBoardView() const;
public slots:
- virtual void positionChanged(const Quackle::GamePosition &position);
+ virtual void positionChanged(const Quackle::GamePosition *position);
virtual void grabFocus();
private:
diff --git a/quacker/graphicalboard.cpp b/quacker/graphicalboard.cpp
index 6b1d14b..1334def 100644
--- a/quacker/graphicalboard.cpp
+++ b/quacker/graphicalboard.cpp
@@ -43,7 +43,7 @@ GraphicalBoard::GraphicalBoard(QWidget *parent)
: BoardWithQuickEntry(parent)
{
m_boardFrame = new GraphicalBoardFrame;
- connect(m_boardFrame, SIGNAL(localCandidateChanged(const Quackle::Move &)), this, SLOT(setLocalCandidate(const Quackle::Move &)));
+ connect(m_boardFrame, SIGNAL(localCandidateChanged(const Quackle::Move *)), this, SLOT(setLocalCandidate(const Quackle::Move *)));
m_boardWrapper = new QWidget;
@@ -110,21 +110,21 @@ GraphicalBoardFrame::~GraphicalBoardFrame()
void GraphicalBoardFrame::staticDrawPosition(const Quackle::GamePosition &position, const QSize &size, QPixmap *pixmap)
{
GraphicalBoardFrame doozy;
- doozy.positionChanged(position);
+ doozy.positionChanged(&position);
doozy.expandToSize(size);
doozy.generateBoardPixmap(pixmap);
}
-void GraphicalBoardFrame::positionChanged(const Quackle::GamePosition &position)
+void GraphicalBoardFrame::positionChanged(const Quackle::GamePosition *position)
{
- m_board = position.board();
- m_rack = position.currentPlayer().rack();
- m_ignoreRack = !position.currentPlayer().racksAreKnown();
+ m_board = position->board();
+ m_rack = position->currentPlayer().rack();
+ m_ignoreRack = !position->currentPlayer().racksAreKnown();
m_board.updateBritishness();
resetArrow();
- m_candidate = position.moveMade();
+ m_candidate = position->moveMade();
prepare();
}
@@ -649,21 +649,22 @@ void GraphicalBoardFrame::prettifyAndSetLocalCandidate(const Quackle::Move &cand
if (m_candidate.wordTilesWithNoPlayThru().length() == 1)
{
- emit localCandidateChanged(flip(m_candidate));
+ const Quackle::Move &move = flip(m_candidate);
+ emit localCandidateChanged(&move);
emit statusMessage(tr("Press Enter to add %1 to candidate list, or Control+Enter to commit to it immediately.").arg(QuackleIO::Util::moveToDetailedString(flip(m_candidate))));
}
else
{
- emit localCandidateChanged(m_candidate);
+ emit localCandidateChanged(&m_candidate);
emit statusMessage(tr("Press Enter to add %1 to candidate list, or Control+Enter to commit to it immediately.").arg(QuackleIO::Util::moveToDetailedString(m_candidate)));
}
}
-void GraphicalBoardFrame::setLocalCandidate(const Quackle::Move &candidate)
+void GraphicalBoardFrame::setLocalCandidate(const Quackle::Move *candidate)
{
- m_candidate = candidate;
+ m_candidate = *candidate;
resetArrow();
prepare();
}
@@ -748,7 +749,8 @@ void GraphicalBoardFrame::backspaceHandler()
void GraphicalBoardFrame::deleteHandler()
{
- setLocalCandidate(Quackle::Move::createNonmove());
+ const Quackle::Move move = Quackle::Move::createNonmove();
+ setLocalCandidate(&move);
}
void GraphicalBoardFrame::submitHandler()
@@ -771,11 +773,12 @@ void GraphicalBoardFrame::setGlobalCandidate(bool *carryOn)
if (m_candidate.wordTilesWithNoPlayThru().length() == 1)
{
- emit setCandidateMove(flip(m_candidate), carryOn);
+ Quackle::Move flippedMove = flip(m_candidate);
+ emit setCandidateMove(&flippedMove, carryOn);
}
else
{
- emit setCandidateMove(m_candidate, carryOn);
+ emit setCandidateMove(&m_candidate, carryOn);
}
}
diff --git a/quacker/graphicalboard.h b/quacker/graphicalboard.h
index 3c37690..3371499 100644
--- a/quacker/graphicalboard.h
+++ b/quacker/graphicalboard.h
@@ -133,7 +133,7 @@ public:
static void staticDrawPosition(const Quackle::GamePosition &position, const QSize &size, QPixmap *pixmap);
public slots:
- virtual void positionChanged(const Quackle::GamePosition &position);
+ virtual void positionChanged(const Quackle::GamePosition *position);
virtual void expandToSize(const QSize &maxSize);
protected slots:
@@ -149,7 +149,7 @@ protected slots:
virtual void tileClicked(const QSize &tileLocation, const QMouseEvent * /* event */);
virtual void prepare();
- void setLocalCandidate(const Quackle::Move &candidate);
+ void setLocalCandidate(const Quackle::Move *candidate);
protected:
Quackle::Board m_board;
@@ -196,7 +196,7 @@ protected:
bool m_alwaysShowVerboseLabels;
signals:
- void localCandidateChanged(const Quackle::Move &candidate);
+ void localCandidateChanged(const Quackle::Move *candidate);
void tileFontChanged(const QFont &font);
private:
diff --git a/quacker/history.cpp b/quacker/history.cpp
index 30a5361..c391d61 100644
--- a/quacker/history.cpp
+++ b/quacker/history.cpp
@@ -148,7 +148,7 @@ void History::itemActivated(QTableWidgetItem *item)
{
if (it.value() == item)
{
- emit goToHistoryLocation(it.key());
+ emit goToHistoryLocation(&it.key());
break;
}
}
diff --git a/quacker/movebox.cpp b/quacker/movebox.cpp
index 38fcfe7..ae6c2f5 100644
--- a/quacker/movebox.cpp
+++ b/quacker/movebox.cpp
@@ -61,7 +61,8 @@ void MoveBox::moveActivated(QTreeWidgetItem *item)
{
if (item == 0)
{
- emit setCandidateMove(Quackle::Move::createNonmove(), nullptr);
+ Quackle::Move nonMove = Quackle::Move::createNonmove();
+ emit setCandidateMove(&nonMove, nullptr);
return;
}
@@ -73,7 +74,8 @@ void MoveBox::moveActivated(QTreeWidgetItem *item)
{
if (it.value() == item)
{
- emit setCandidateMove(it.key(), nullptr);
+ const auto& key = it.key();
+ emit setCandidateMove(&key, nullptr);
break;
}
}
@@ -106,7 +108,7 @@ void MoveBox::removeMove()
}
}
- emit removeCandidateMoves(selectedMoves);
+ emit removeCandidateMoves(&selectedMoves);
// TODO make this code work to select the next item
QTreeWidgetItem *prevLastSelection = m_moveMap.value(selectedMoves.back());
@@ -130,7 +132,8 @@ void MoveBox::removeMove()
{
if (mapIt.value() == nextSelection)
{
- emit setCandidateMove(mapIt.key(), nullptr);
+ const auto& key = mapIt.key();
+ emit setCandidateMove(&key, nullptr);
break;
}
}
@@ -232,9 +235,9 @@ void MoveBox::checkGeometry()
m_treeWidget->resizeColumnToContents(PlayColumn);
}
-void MoveBox::positionChanged(const Quackle::GamePosition &position)
+void MoveBox::positionChanged(const Quackle::GamePosition *position)
{
- if (m_rack.tiles() != position.currentPlayer().rack().tiles())
+ if (m_rack.tiles() != position->currentPlayer().rack().tiles())
{
for (auto& mapIt : m_moveMap)
delete mapIt;
@@ -242,13 +245,13 @@ void MoveBox::positionChanged(const Quackle::GamePosition &position)
m_moveMap.clear();
}
- m_rack = position.currentPlayer().rack();
- setMoves(position.moves(), position.moveMade());
+ m_rack = position->currentPlayer().rack();
+ setMoves(position->moves(), position->moveMade());
}
-void MoveBox::movesChanged(const Quackle::MoveList &moves)
+void MoveBox::movesChanged(const Quackle::MoveList *moves)
{
- setMoves(moves, m_previousSelection);
+ setMoves(*moves, m_previousSelection);
}
QTreeWidgetItem *MoveBox::createItem(const Quackle::Move &move)
diff --git a/quacker/movebox.h b/quacker/movebox.h
index 700423b..8ca6129 100644
--- a/quacker/movebox.h
+++ b/quacker/movebox.h
@@ -41,8 +41,8 @@ public:
void setMoves(const Quackle::MoveList &moves, const Quackle::Move &selectedMove);
public slots:
- virtual void positionChanged(const Quackle::GamePosition &position);
- virtual void movesChanged(const Quackle::MoveList &moves);
+ virtual void positionChanged(const Quackle::GamePosition *position);
+ virtual void movesChanged(const Quackle::MoveList *moves);
private slots:
void moveActivated(QTreeWidgetItem *item);
diff --git a/quacker/noteeditor.cpp b/quacker/noteeditor.cpp
index ec30f05..6209506 100644
--- a/quacker/noteeditor.cpp
+++ b/quacker/noteeditor.cpp
@@ -50,9 +50,9 @@ QSize NoteEditor::sizeHint() const
return QSize(hint.width(), hint.height() / 2);
}
-void NoteEditor::positionChanged(const Quackle::GamePosition &position)
+void NoteEditor::positionChanged(const Quackle::GamePosition *position)
{
- showNote(position.explanatoryNote());
+ showNote(position->explanatoryNote());
}
void NoteEditor::showNote(const UVString &note)
diff --git a/quacker/noteeditor.h b/quacker/noteeditor.h
index e1d408a..203ce58 100644
--- a/quacker/noteeditor.h
+++ b/quacker/noteeditor.h
@@ -35,7 +35,7 @@ public:
virtual QSize sizeHint() const;
public slots:
- virtual void positionChanged(const Quackle::GamePosition &position);
+ virtual void positionChanged(const Quackle::GamePosition *position);
protected slots:
virtual void showNote(const UVString &note);
diff --git a/quacker/quacker.cpp b/quacker/quacker.cpp
index 7ab54c0..9e133c4 100644
--- a/quacker/quacker.cpp
+++ b/quacker/quacker.cpp
@@ -223,7 +223,7 @@ void TopLevel::commit()
void TopLevel::pass()
{
Quackle::Move pass(Quackle::Move::createPassMove());
- setCandidateMove(pass);
+ setCandidateMove(&pass);
}
void TopLevel::overdraw()
@@ -269,14 +269,14 @@ bool TopLevel::askToCarryOn(const QString &text)
return QMessageBox::question(this, tr("Verify Play - Quackle"), dialogText(text), QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes;
}
-void TopLevel::setCandidateMove(const Quackle::Move &move, bool *carryOnPtr)
+void TopLevel::setCandidateMove(const Quackle::Move *move, bool *carryOnPtr)
{
if (carryOnPtr != nullptr)
*carryOnPtr = true;
- if (!m_game->hasPositions() || (move.action == Quackle::Move::Place && move.tiles().empty()))
+ if (!m_game->hasPositions() || (move->action == Quackle::Move::Place && move->tiles().empty()))
return;
- Quackle::Move prettiedMove(move);
+ Quackle::Move prettiedMove(*move);
m_game->currentPosition().ensureMoveTilesDoNotIncludePlayThru(prettiedMove);
m_game->currentPosition().ensureMovePrettiness(prettiedMove);
@@ -447,13 +447,13 @@ bool TopLevel::validifyMove(Quackle::Move &move)
return true;
}
-void TopLevel::removeCandidateMoves(const Quackle::MoveList &moves)
+void TopLevel::removeCandidateMoves(const Quackle::MoveList *moves)
{
if (!m_game->hasPositions())
return;
- const Quackle::MoveList::const_iterator end(moves.end());
- for (Quackle::MoveList::const_iterator it = moves.begin(); it != end; ++it)
+ const Quackle::MoveList::const_iterator end(moves->end());
+ for (Quackle::MoveList::const_iterator it = moves->begin(); it != end; ++it)
m_game->currentPosition().removeMove(*it);
ensureUpToDateSimulatorMoveList();
@@ -492,7 +492,7 @@ void TopLevel::setNote(const UVString &note)
setModified(true);
}
-void TopLevel::goToHistoryLocation(const Quackle::HistoryLocation &location)
+void TopLevel::goToHistoryLocation(const Quackle::HistoryLocation *location)
{
if (!m_game->hasPositions())
return;
@@ -507,7 +507,7 @@ void TopLevel::goToHistoryLocation(const Quackle::HistoryLocation &location)
stopEverything();
stopOutcraftyingCurrentPlayer();
- m_game->setCurrentPosition(location);
+ m_game->setCurrentPosition(*location);
showToHuman();
}
@@ -571,7 +571,7 @@ void TopLevel::updateAllViews()
void TopLevel::updatePositionViews()
{
- emit positionChanged(m_game->currentPosition());
+ emit positionChanged(&m_game->currentPosition());
m_simulateAction->setEnabled(!m_game->currentPosition().moves().empty());
m_simulateDetailsAction->setEnabled(!m_game->currentPosition().moves().empty());
@@ -621,9 +621,15 @@ void TopLevel::updatePositionViews()
void TopLevel::updateMoveViews()
{
if (m_simulator->hasSimulationResults())
- emit movesChanged(m_simulator->moves(/* prune */ true, /* sort by win */ true));
+ {
+ const Quackle::MoveList& moveList = m_simulator->moves(/* prune */ true, /* sort by win */ true);
+ emit movesChanged(&moveList);
+ }
else
- emit movesChanged(m_game->currentPosition().moves());
+ {
+ const Quackle::MoveList moveList = m_game->currentPosition().moves();
+ emit movesChanged(&moveList);
+ }
m_simulateAction->setEnabled(!m_game->currentPosition().moves().empty());
m_simulateDetailsAction->setEnabled(!m_game->currentPosition().moves().empty());
@@ -635,7 +641,7 @@ void TopLevel::updateHistoryViews()
emit historyChanged(m_game->history());
}
-void TopLevel::initializeGame(const Quackle::PlayerList &players)
+void TopLevel::initializeGame(const Quackle::PlayerList *players)
{
stopEverything();
@@ -644,10 +650,10 @@ void TopLevel::initializeGame(const Quackle::PlayerList &players)
m_logania = 0;
setModified(false);
- if (players.empty())
+ if (players->empty())
return;
- Quackle::PlayerList newPlayers(players);
+ Quackle::PlayerList newPlayers(*players);
// shuffle so same person doesn't go first twice in a row,
// if there are multiple players in the game
@@ -768,8 +774,11 @@ void TopLevel::newGame()
switch (newGameDialog.exec())
{
case QDialog::Accepted:
- initializeGame(newGameDialog.players());
+ {
+ const Quackle::PlayerList &players = newGameDialog.players();
+ initializeGame(&players);
break;
+ }
case QDialog::Rejected:
break;
@@ -823,8 +832,8 @@ void TopLevel::plugIntoMatrix(View *view)
{
plugIntoBaseMatrix(view);
- connect(view, SIGNAL(setCandidateMove(const Quackle::Move &, bool *)), this, SLOT(setCandidateMove(const Quackle::Move &, bool *)));
- connect(view, SIGNAL(removeCandidateMoves(const Quackle::MoveList &)), this, SLOT(removeCandidateMoves(const Quackle::MoveList &)));
+ connect(view, SIGNAL(setCandidateMove(const Quackle::Move *, bool *)), this, SLOT(setCandidateMove(const Quackle::Move *, bool *)));
+ connect(view, SIGNAL(removeCandidateMoves(const Quackle::MoveList *)), this, SLOT(removeCandidateMoves(const Quackle::MoveList *)));
connect(view, SIGNAL(commit()), this, SLOT(commit()));
connect(view, SIGNAL(setRack(const Quackle::Rack &)), this, SLOT(setRack(const Quackle::Rack &)));
connect(view, SIGNAL(setNote(const UVString &)), this, SLOT(setNote(const UVString &)));
@@ -832,19 +841,19 @@ void TopLevel::plugIntoMatrix(View *view)
void TopLevel::plugIntoPositionMatrix(View *view)
{
- connect(this, SIGNAL(positionChanged(const Quackle::GamePosition &)), view, SLOT(positionChanged(const Quackle::GamePosition &)));
+ connect(this, SIGNAL(positionChanged(const Quackle::GamePosition *)), view, SLOT(positionChanged(const Quackle::GamePosition *)));
}
void TopLevel::plugIntoMoveMatrix(View *view)
{
- connect(this, SIGNAL(movesChanged(const Quackle::MoveList &)), view, SLOT(movesChanged(const Quackle::MoveList &)));
+ connect(this, SIGNAL(movesChanged(const Quackle::MoveList *)), view, SLOT(movesChanged(const Quackle::MoveList *)));
}
void TopLevel::plugIntoHistoryMatrix(HistoryView *view)
{
plugIntoBaseMatrix(view);
- connect(view, SIGNAL(goToHistoryLocation(const Quackle::HistoryLocation &)), this, SLOT(goToHistoryLocation(const Quackle::HistoryLocation &)));
+ connect(view, SIGNAL(goToHistoryLocation(const Quackle::HistoryLocation *)), this, SLOT(goToHistoryLocation(const Quackle::HistoryLocation *)));
connect(this, SIGNAL(historyChanged(const Quackle::History &)), view, SLOT(historyChanged(const Quackle::History &)));
}
@@ -991,7 +1000,8 @@ void TopLevel::firstPosition()
const Quackle::GamePosition &firstPozzy = m_game->history().firstPosition(&exists);
if (exists)
{
- goToHistoryLocation(firstPozzy.location());
+ const Quackle::HistoryLocation &location = firstPozzy.location();
+ goToHistoryLocation(&location);
}
}
@@ -1001,7 +1011,8 @@ void TopLevel::nextPosition()
const Quackle::GamePosition &nextPozzy = m_game->history().nextPosition(&exists);
if (exists)
{
- goToHistoryLocation(nextPozzy.location());
+ const Quackle::HistoryLocation &location = nextPozzy.location();
+ goToHistoryLocation(&location);
}
}
@@ -1011,7 +1022,8 @@ void TopLevel::previousPosition()
const Quackle::GamePosition &previousPozzy = m_game->history().previousPosition(&exists);
if (exists)
{
- goToHistoryLocation(previousPozzy.location());
+ const Quackle::HistoryLocation &location = previousPozzy.location();
+ goToHistoryLocation(&location);
}
}
diff --git a/quacker/quacker.h b/quacker/quacker.h
index 8a81cf4..3bfeb38 100644
--- a/quacker/quacker.h
+++ b/quacker/quacker.h
@@ -129,7 +129,7 @@ public slots:
void showConfigDialog();
// set up our game object based on a shuffled playerList
- void initializeGame(const Quackle::PlayerList &players);
+ void initializeGame(const Quackle::PlayerList *players);
// call timerControl, and tell user about it
void pause(bool paused);
@@ -177,8 +177,8 @@ protected slots:
void statusMessage(const QString &message);
// set game's candidate to move and update views
- void setCandidateMove(const Quackle::Move &move, bool *carryOnPtr = nullptr);
- void removeCandidateMoves(const Quackle::MoveList &moves);
+ void setCandidateMove(const Quackle::Move *move, bool *carryOnPtr = nullptr);
+ void removeCandidateMoves(const Quackle::MoveList *moves);
// set current player's rack and update views
void setRack(const Quackle::Rack &rack);
@@ -187,7 +187,7 @@ protected slots:
void setNote(const UVString &note);
// set history location to view
- void goToHistoryLocation(const Quackle::HistoryLocation &location);
+ void goToHistoryLocation(const Quackle::HistoryLocation *location);
// stop simulation, opponenent thread, etc
void stopEverything();
@@ -235,9 +235,9 @@ signals:
// emitted when views (eg board) should update based on the
// current position (includes board information, current candidate play
// that should be shown)
- void positionChanged(const Quackle::GamePosition &position);
+ void positionChanged(const Quackle::GamePosition *position);
- void movesChanged(const Quackle::MoveList &moves);
+ void movesChanged(const Quackle::MoveList *moves);
// emitted when views of history must update
void historyChanged(const Quackle::History &history);
diff --git a/quacker/rackdisplay.cpp b/quacker/rackdisplay.cpp
index b0f10f5..b04c4fc 100644
--- a/quacker/rackdisplay.cpp
+++ b/quacker/rackdisplay.cpp
@@ -63,12 +63,12 @@ QuickEntryRack::~QuickEntryRack()
{
}
-void QuickEntryRack::positionChanged(const Quackle::GamePosition &position)
+void QuickEntryRack::positionChanged(const Quackle::GamePosition *position)
{
- if (m_rackTiles == position.currentPlayer().rack().tiles())
+ if (m_rackTiles == position->currentPlayer().rack().tiles())
return;
- m_rackTiles = position.currentPlayer().rack().tiles();
+ m_rackTiles = position->currentPlayer().rack().tiles();
QString tiles = QuackleIO::Util::letterStringToQString(m_rackTiles);
m_lineEdit->setText(tiles);
m_tiles->setText(m_rackTiles);
diff --git a/quacker/rackdisplay.h b/quacker/rackdisplay.h
index 72155e9..3b47904 100644
--- a/quacker/rackdisplay.h
+++ b/quacker/rackdisplay.h
@@ -38,7 +38,7 @@ public:
virtual ~QuickEntryRack();
public slots:
- virtual void positionChanged(const Quackle::GamePosition &position);
+ virtual void positionChanged(const Quackle::GamePosition *position);
virtual void grabFocus();
private slots:
diff --git a/quacker/view.cpp b/quacker/view.cpp
index 75f3797..2d5bbe2 100644
--- a/quacker/view.cpp
+++ b/quacker/view.cpp
@@ -42,13 +42,13 @@ void View::grabFocus()
{
}
-void View::positionChanged(const Quackle::GamePosition &position)
+void View::positionChanged(const Quackle::GamePosition *position)
{
for (QList<View *>::iterator it = m_subviews.begin(); it != m_subviews.end(); ++it)
(*it)->positionChanged(position);
}
-void View::movesChanged(const Quackle::MoveList &moves)
+void View::movesChanged(const Quackle::MoveList *moves)
{
for (auto& it : m_subviews)
it->movesChanged(moves);
@@ -59,8 +59,8 @@ void View::connectSubviewSignals()
for (auto& it : m_subviews)
{
connect(it, SIGNAL(statusMessage(const QString &)), this, SIGNAL(statusMessage(const QString &)));
- connect(it, SIGNAL(setCandidateMove(const Quackle::Move &, bool *)), this, SIGNAL(setCandidateMove(const Quackle::Move &, bool *)));
- connect(it, SIGNAL(removeCandidateMoves(const Quackle::MoveList &)), this, SIGNAL(removeCandidateMoves(const Quackle::MoveList &)));
+ connect(it, SIGNAL(setCandidateMove(const Quackle::Move *, bool *)), this, SIGNAL(setCandidateMove(const Quackle::Move *, bool *)));
+ connect(it, SIGNAL(removeCandidateMoves(const Quackle::MoveList *)), this, SIGNAL(removeCandidateMoves(const Quackle::MoveList *)));
connect(it, SIGNAL(commit()), this, SIGNAL(commit()));
connect(it, SIGNAL(setRack(const Quackle::Rack &)), this, SIGNAL(setRack(const Quackle::Rack &)));
}
diff --git a/quacker/view.h b/quacker/view.h
index eb2d1b5..ce72f82 100644
--- a/quacker/view.h
+++ b/quacker/view.h
@@ -59,8 +59,8 @@ signals:
// emit to alert the rest of the application to show this
// as candidate move - may eventually trigger positionChanged
// in response
- void setCandidateMove(const Quackle::Move &move, bool *carryOnPtr = nullptr);
- void removeCandidateMoves(const Quackle::MoveList &moves);
+ void setCandidateMove(const Quackle::Move *move, bool *carryOnPtr = nullptr);
+ void removeCandidateMoves(const Quackle::MoveList *moves);
void commit();
// emit to alert the rest of the application to reset the current
@@ -80,11 +80,11 @@ public slots:
//
// The default implementation calls positionChanged(position) for all subviews
// in m_subviews.
- virtual void positionChanged(const Quackle::GamePosition &position);
+ virtual void positionChanged(const Quackle::GamePosition *position);
// called when user starts a simulation and this move list should
// supercede that from the position
- virtual void movesChanged(const Quackle::MoveList &moves);
+ virtual void movesChanged(const Quackle::MoveList *moves);
virtual void grabFocus();
@@ -107,7 +107,7 @@ signals:
// emit to alert the rest of the application to show this
// as candidate move - may eventually trigger positionChanged
// in response
- void goToHistoryLocation(const Quackle::HistoryLocation &location);
+ void goToHistoryLocation(const Quackle::HistoryLocation *location);
public slots:
// called whenever history is added to