[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