Development/Tutorials/Games/KStandardGameAction: Difference between revisions

From KDE TechBase
m (Add more further reading)
(Mark for updating)
 
(10 intermediate revisions by 3 users not shown)
Line 7: Line 7:
pre=[[Development/Tutorials/Programming_Tutorial_KDE_4|Introduction to KDE4 programming]]|
pre=[[Development/Tutorials/Programming_Tutorial_KDE_4|Introduction to KDE4 programming]]|


next=|  
next=[[Development/Tutorials/Games/Highscores|High Scores Tutorial]]|
 


reading={{class|KStandardGameAction}}, {{class|KStandardAction}}
reading={{class|KStandardGameAction}}, {{class|KStandardAction}}
}}
{{Review|
* Port to KF5
* Add more content
}}
}}


==Abstract==
==Abstract==
This tutorial will explain the usage of <tt>KStandardGameAction</tt>s in libkdegames.
This tutorial will explain the usage of <tt>KStandardGameAction</tt>s in libkdegames.
== KStandardGameAction ==
This class is an extension to the usual <tt>KStandardAction</tt> class which provides easy access to often used KDE actions.
Using these actions helps maintaining consistency among the games.
Games often use different menu entries than other programs, e.g. games use
the menu "game" instead of "file". This class provides the entries which
differ from the usual KStandardAction entries.
== Usage ==
Add some code like this to your action setup code.
<syntaxhighlight lang="cpp-qt" line>
#include <KStandardGameAction>
void setupActions()
{
  // Game
  KStandardGameAction::gameNew(this,
                      SLOT(newGame()),
                      actionCollection());
  KStandardGameAction::highscores(this,
                      SLOT(showHighscores()),
                      actionCollection());
  KStandardGameAction::quit(this,
                      SLOT(close()),
                      actionCollection());
  // Move
  KStandardGameAction::undo(this,
                      SLOT(undoMove()),
                      actionCollection());
  KStandardGameAction::redo(this,
                      SLOT(redoMove()),
                      actionCollection());
  // Settings
  KStandardGameAction::configureHighscores(this,
                      SLOT(configureHighscores()),
                      actionCollection());
 
  setupGUI();
}
</syntaxhighlight>


[[Category:C++]]
[[Category:C++]]
[[Category:KDEGames]]

Latest revision as of 14:23, 31 May 2019

KStandardGameAction
Tutorial Series   KDE Games
Previous   Introduction to KDE4 programming
What's Next   High Scores Tutorial
Further Reading   KStandardGameAction, KStandardAction
Warning
This page needs a review and probably holds information that needs to be fixed.

Parts to be reviewed:

  • Port to KF5
  • Add more content

Abstract

This tutorial will explain the usage of KStandardGameActions in libkdegames.

KStandardGameAction

This class is an extension to the usual KStandardAction class which provides easy access to often used KDE actions.

Using these actions helps maintaining consistency among the games.

Games often use different menu entries than other programs, e.g. games use the menu "game" instead of "file". This class provides the entries which differ from the usual KStandardAction entries.

Usage

Add some code like this to your action setup code.

#include <KStandardGameAction>

void setupActions()
{
  // Game
  KStandardGameAction::gameNew(this, 
                       SLOT(newGame()), 
                       actionCollection());
  KStandardGameAction::highscores(this, 
                       SLOT(showHighscores()), 
                       actionCollection());
  KStandardGameAction::quit(this, 
                       SLOT(close()), 
                       actionCollection());

  // Move
  KStandardGameAction::undo(this, 
                       SLOT(undoMove()), 
                       actionCollection());
  KStandardGameAction::redo(this, 
                       SLOT(redoMove()), 
                       actionCollection());

  // Settings
  KStandardGameAction::configureHighscores(this, 
                       SLOT(configureHighscores()), 
                       actionCollection());
  
  setupGUI();
}