• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdegames API Reference
  • KDE Home
  • Contact Us
 

libkdegames

Signals | Public Member Functions | Properties | List of all members
KgTheme Class Reference

#include <KgTheme>

Inheritance diagram for KgTheme:
Inheritance graph
[legend]

Signals

void readOnlyProperty ()
 

Public Member Functions

 KgTheme (const QByteArray &identifier, QObject *parent=0)
 
virtual ~KgTheme ()
 
QString author () const
 
QString authorEmail () const
 
QMap< QString, QString > customData () const
 
QString customData (const QString &key, const QString &defaultValue=QString()) const
 
QString description () const
 
QString graphicsPath () const
 
QByteArray identifier () const
 
QString name () const
 
QString previewPath () const
 
virtual bool readFromDesktopFile (const QString &path)
 
void setAuthor (const QString &author)
 
void setAuthorEmail (const QString &authorEmail)
 
void setCustomData (const QMap< QString, QString > &customData)
 
void setDescription (const QString &description)
 
void setGraphicsPath (const QString &path)
 
void setName (const QString &name)
 
void setPreviewPath (const QString &path)
 

Properties

QString author
 
QString authorEmail
 
QString description
 
QString graphicsPath
 
QByteArray identifier
 
QString name
 
QString previewPath
 

Detailed Description

A theme describes the visual appearance of a game.

Themes in kdegames usually reference a SVGZ file which is loaded into a KGameRenderer to provide pixmaps for use on the game canvas.

Themes are usually managed (and discovered) by a KgThemeProvider.

Default file format for theme descriptions

Although KgTheme and KgThemeProvider do not need special theme description files for most basic usage, there is a format for theme description files based on the XDG Desktop File Specification. The following example shows the recognized keys:

[KGameTheme]
VersionFormat=1
Name=Example
Description=This theme serves as an example.
FileName=example.svgz
Author=John Doe
AuthorEmail=john.doe@example.com
Preview=example.png

All keys are considered optional, except perhaps for the "FileName" key: If that is not given, the theme cannot be used with KGameRenderer. The paths in "FileName" and "Preview" are resolved relative to the directory that contains the theme description file.

If the [KGameTheme] group contains any further keys, their values can be retrieved through the KgTheme::customData() method.

Definition at line 68 of file kgtheme.h.

Constructor & Destructor Documentation

KgTheme::KgTheme ( const QByteArray &  identifier,
QObject *  parent = 0 
)
explicit

Constructor. The identifier must be application-unique.

Definition at line 42 of file kgtheme.cpp.

KgTheme::~KgTheme ( )
virtual

Destructor.

Definition at line 48 of file kgtheme.cpp.

Member Function Documentation

QString KgTheme::author ( ) const
Returns
the name of the theme author
QString KgTheme::authorEmail ( ) const
Returns
the email address of the theme author
QMap< QString, QString > KgTheme::customData ( ) const
Returns
custom data

This API is provided for theme description files which contain additional application-specific metadata.

Definition at line 69 of file kgtheme.cpp.

QString KgTheme::customData ( const QString &  key,
const QString &  defaultValue = QString() 
) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 74 of file kgtheme.cpp.

QString KgTheme::description ( ) const
Returns
an additional description beyond the name()
QString KgTheme::graphicsPath ( ) const
Returns
the path of the SVG file which holds the theme contents
QByteArray KgTheme::identifier ( ) const
Returns
the internal identifier for this theme (used e.g. for finding a pixmap cache or storing a theme selection)
QString KgTheme::name ( ) const
Returns
the name of this theme
QString KgTheme::previewPath ( ) const
Returns
the path to an image file containing a preview, or an empty string if no preview file is known
bool KgTheme::readFromDesktopFile ( const QString &  path)
virtual

Initializes a KgTheme instance by reading a description file.

Returns
whether path is a valid theme description file (if not, the theme instance is not changed by this method call)
Note
A non-static member function has been chosen over the more common pattern of using a static member function like "KgTheme::fromDesktopFile" to accommodate applications which want to subclass KgTheme.

Definition at line 84 of file kgtheme.cpp.

void KgTheme::readOnlyProperty ( )
signal

This signal is never emitted.

It is provided because QML likes to complain about properties without NOTIFY signals, even readonly ones.

void KgTheme::setAuthor ( const QString &  author)
See also
author()
void KgTheme::setAuthorEmail ( const QString &  authorEmail)
See also
authorEmail()
void KgTheme::setCustomData ( const QMap< QString, QString > &  customData)
See also
customData()

Definition at line 79 of file kgtheme.cpp.

void KgTheme::setDescription ( const QString &  description)
See also
description()
void KgTheme::setGraphicsPath ( const QString &  path)
See also
graphicsPath()
void KgTheme::setName ( const QString &  name)
See also
name()
void KgTheme::setPreviewPath ( const QString &  path)
See also
previewPath()

Property Documentation

QString KgTheme::author
readwrite

Definition at line 77 of file kgtheme.h.

QString KgTheme::authorEmail
readwrite

Definition at line 78 of file kgtheme.h.

QString KgTheme::description
readwrite

Definition at line 76 of file kgtheme.h.

QString KgTheme::graphicsPath
readwrite

Definition at line 79 of file kgtheme.h.

QByteArray KgTheme::identifier
read

Definition at line 71 of file kgtheme.h.

QString KgTheme::name
readwrite

Definition at line 75 of file kgtheme.h.

QString KgTheme::previewPath
readwrite

Definition at line 80 of file kgtheme.h.


The documentation for this class was generated from the following files:
  • kgtheme.h
  • kgtheme.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:44:35 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

libkdegames

Skip menu "libkdegames"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdegames API Reference

Skip menu "kdegames API Reference"
  • granatier
  • kapman
  • kblackbox
  • kgoldrunner
  • kigo
  • kmahjongg
  • KShisen
  • ksquares
  • libkdegames
  •   highscore
  •   libkdegamesprivate
  •     kgame
  • libkmahjongg
  • palapeli
  •   libpala

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal