[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/games/kolf-ng/engine
From: Stefan Majewsky <majewsky () gmx ! net>
Date: 2009-07-31 21:28:41
Message-ID: 1249075721.584351.27037.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1005364 by majewsky:
Connect the Game with the GameUI to actually trigger the shiny new setScene() \
signals.
M +3 -0 game.cpp
M +1 -0 game.h
M +4 -0 gameui.cpp
M +4 -0 gameui.h
--- trunk/playground/games/kolf-ng/engine/game.cpp #1005363:1005364
@@ -38,6 +38,8 @@
//retrieve par scores
for (int i = 0; i < m_course->holeCount(); ++i)
m_parPlayer->setScore(i, m_course->parForHole(i));
+ //connect to game UI
+ connect(this, SIGNAL(sceneChanged(Kolf::Scene*)), gameUI, \
SIGNAL(sceneChanged(Kolf::Scene*))); }
Kolf::Game::~Game()
@@ -111,6 +113,7 @@
//announce change
currentHoleChanged();
emit currentHoleChanged(newHole, oldHole);
+ emit sceneChanged(scene);
}
void Kolf::Game::currentHoleAboutToBeChanged()
--- trunk/playground/games/kolf-ng/engine/game.h #1005363:1005364
@@ -64,6 +64,7 @@
Q_SIGNALS:
void currentHoleAboutToBeChanged(int newHoleIndex, int oldHoleIndex);
void currentHoleChanged(int newHoleIndex, int oldHoleIndex);
+ void sceneChanged(Kolf::Scene* scene);
void playerAdded(Kolf::Player* player);
protected:
///Changes the current hole.
--- trunk/playground/games/kolf-ng/engine/gameui.cpp #1005363:1005364
@@ -73,6 +73,7 @@
return;
//insert dock widget
m_dockWidgets << dockWidget;
+ connect(this, SIGNAL(sceneChanged(Kolf::Scene*)), dockWidget, \
SLOT(setScene(Kolf::Scene*))); if (m_uiParent.window)
m_uiParent.window->addDockWidget(dockWidget->preferredArea(), dockWidget);
}
@@ -84,6 +85,7 @@
return;
//remove dock widget
m_dockWidgets.removeAll(dockWidget);
+ disconnect(this, 0, dockWidget, 0);
if (m_uiParent.window)
m_uiParent.window->removeDockWidget(dockWidget);
}
@@ -95,6 +97,7 @@
return;
//insert page widget
m_pageWidgets << pageWidget;
+ connect(this, SIGNAL(sceneChanged(Kolf::Scene*)), pageWidget, \
SLOT(setScene(Kolf::Scene*))); if (m_uiParent.tabWidget)
m_uiParent.tabWidget->addTab(pageWidget, pageWidget->label());
}
@@ -106,6 +109,7 @@
return;
//remove page widgets
m_pageWidgets.removeAll(pageWidget);
+ disconnect(this, 0, pageWidget, 0);
if (m_uiParent.tabWidget)
m_uiParent.tabWidget->removeTab(m_uiParent.tabWidget->indexOf(pageWidget));
}
--- trunk/playground/games/kolf-ng/engine/gameui.h #1005363:1005364
@@ -45,6 +45,7 @@
class GameUIDockWidget;
class GameUIPageWidget;
+ class Scene;
/**
* \class GameUI
@@ -89,6 +90,9 @@
void setWindowTitle(const QString& title);
///Sets whether all changes have been saved to disk. (A "[Changed]" flag will be \
displayed in the window title when the game is not clean.) void setClean(bool \
clean); + Q_SIGNALS:
+ ///This internal signal transfers scene change events. It is automatically \
connected to the setScene() slots of any page and dock widgets in this game UI. \
+ void sceneChanged(Kolf::Scene* scene); private:
Kolf::GameUIParent m_uiParent;
KXMLGUIClient* m_uiClient;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic