KDE 4.9 PyKDE API Reference

- KDE's Python API

# 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 |