KDE 4.9 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

ParameterizedSessionConfigInterface Class Reference

from PyKDE4.ktexteditor import *

Namespace: KTextEditor

Detailed Description

Parameterized session config interface extension for the Document.

Introduction

The ParameterizedSessionConfigInterface is an extension for Documents to add support for session-specific configuration settings with more fine-grained control over the settings that are manipulated. The readParameterizedSessionConfig() method is called whenever session-specific settings are to be read from the given KConfig* and the writeParameterizedSessionConfig() method whenever they are to be written, for example when a session changed or was closed.

Note:
A session does not have anything to do with an X-session under Unix. What is meant is rather a context, think of sessions in Kate or projects in KDevelop for example.

Note:
ParameterizedSessionConfigInterface is meant to be an extension of SessionConfigInterface. Due to limitations with qobject_cast it is not possible in KDE4 to derive this interface from SessionConfigInterface.

Adding Session Support

To add support for sessions a KTextEditor implementation has to derive the Document class from ParameterizedSessionConfigInterface and reimplement the methods defined in this class.

Accessing the ParameterizedSessionConfigInterface

The ParameterizedSessionConfigInterface is supposed to be an extension interface for a Document i.e. the Document inherits the interface provided that it implements the interface. Use qobject_cast to access the interface:

 // object is of type KTextEditor.Document*
 KTextEditor.ParameterizedSessionConfigInterface *iface =
     qobject_cast<KTextEditor.ParameterizedSessionConfigInterface*>( object );

 if( iface ) {
     // interface is supported
     // do stuff
 }

See also:
KTextEditor.Document, KTextEditor.SessionConfigInterface

Since:
4.4
Note:
KDE5: Rename to SessionConfigInterface, delete old SessionConfigInterface


Enumerations

SessionConfigParameter { SkipNone, SkipUrl, SkipMode, SkipHighlighting, SkipEncoding, SkipFolding }

Methods

 __init__ (self)
 readParameterizedSessionConfig (self, KConfigGroup config, long parameters)
 writeParameterizedSessionConfig (self, KConfigGroup config, long parameters)

Method Documentation

__init__ (   self )
readParameterizedSessionConfig (  self,
KConfigGroup  config,
long  parameters
)
Abstract method:
This method is abstract and can be overridden but not called directly.

Read session settings from the given config excluding the settings specified in parameters.

That means for example - a Document should reload the file, restore all marks etc... - a View should scroll to the last position and restore the cursor position etc... - a Plugin should restore session specific settings - If no file is being loaded, because an empty new document is going to be displayed or 'SkipUrl' is set, this function should emit ReadOnlyPart.completed

Parameters:
config  read the session settings from this KConfigGroup

Parameters:
parameters  settings that should not be read (i.e. a combination of flags from SessionConfigParameter)

See also:
writeParameterizedSessionConfig()

writeParameterizedSessionConfig (  self,
KConfigGroup  config,
long  parameters
)
Abstract method:
This method is abstract and can be overridden but not called directly.

Write session settings to the config excluding the settings specified in parameters. See readSessionConfig() for more details.

Parameters:
config  write the session settings to this KConfigGroup

Parameters:
parameters  settings that should not be written (i.e. a combination of flags from SessionConfigParameter)

See also:
readParameterizedSessionConfig()


Enumeration Documentation

SessionConfigParameter

Flags for session restore. These flags allow to skip some parts of the configuration from restoration.

Enumerator:
SkipNone = 0
SkipUrl = 1<<0
SkipMode = 1<<1
SkipHighlighting = 1<<2
SkipEncoding = 1<<3
SkipFolding = 1<<4

  • Full Index

Modules

  • akonadi
  • dnssd
  • kdecore
  • kdeui
  • khtml
  • kio
  • knewstuff
  • kparts
  • kutils
  • nepomuk
  • phonon
  • plasma
  • polkitqt
  • solid
  • soprano
This documentation is maintained by Simon Edwards.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal