KTextEditor.SessionConfigInterface

KDE 4.9 PyKDE API Reference

- KDE's Python API

# SessionConfigInterface Class Reference

`from PyKDE4.ktexteditor import *`

Namespace: KTextEditor

## Detailed Description

Session config interface extension for the Document, View and Plugin.

Introduction

The SessionConfigInterface is an extension for Documents, Views and Plugins to add support for session-specific configuration settings. readSessionConfig() is called whenever session-specific settings are to be read from the given KConfig* and writeSessionConfig() 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.

Adding Session Support

To add support for sessions a KTextEditor implementation has to derive the Document and View class from SessionConfigInterface and reimplement readSessionConfig() and writeSessionConfig().

The same applies to a Plugin, read the detailed description for plugins.

Accessing the SessionConfigInterface

The SessionConfigInterface is supposed to be an extension interface for a Document, a View or a Plugin, i.e. the Document/View/Plugin inherits the interface provided that it implements the interface. Use qobject_cast to access the interface:

     // object is of type KTextEditor.Document* or View* or Plugin*
     KTextEditor.SessionConfigInterface *iface =
         qobject_cast<KTextEditor.SessionConfigInterface*>( object );

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

See also:
  KTextEditor.Document, KTextEditor.View, KTextEditor.Plugin

Author:
  Christoph Cullmann <cullmann@kde.org>

Note:
  KDE5: Replace this interface with ParameterizedSessionConfigInterface

## Methods
| __init__ (self)
| readSessionConfig (self, KConfigGroup config)
| writeSessionConfig (self, KConfigGroup config)

## Method Documentation

__init__ | ( |  | self ) |

readSessionConfig | ( | self, |
|  | KConfigGroup | config
| ) |  |  |

Abstract method:
  This method is abstract and can be overridden but not called directly.

Read session settings from the given config.

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, this function should emit ReadOnlyPart.completed

Parameters:

  | config | read the session settings from this KConfigGroup

See also:
  writeSessionConfig()

writeSessionConfig | ( | self, |
|  | KConfigGroup | config
| ) |  |  |

Abstract method:
  This method is abstract and can be overridden but not called directly.

Write session settings to the config. See readSessionConfig() for more details.

Parameters:

  | config | write the session settings to this KConfigGroup

See also:
  readSessionConfig()