KTextEditor::ModificationInterface

KTextEditor::ModificationInterface Class Referenceabstract

#include <KTextEditor/ModificationInterface>

Inheritance diagram for KTextEditor::ModificationInterface:

Public Types

enum  ModifiedOnDiskReason { OnDiskUnmodified = 0, OnDiskModified = 1, OnDiskCreated = 2, OnDiskDeleted = 3 }
 

Public Member Functions

virtual ~ModificationInterface ()
 
virtual void modifiedOnDisk (KTextEditor::Document *document, bool isModified, KTextEditor::ModificationInterface::ModifiedOnDiskReason reason)=0
 
virtual void setModifiedOnDisk (ModifiedOnDiskReason reason)=0
 
virtual void setModifiedOnDiskWarning (bool on)=0
 

Detailed Description

External modification extension interface for the Document.

Introduction

The class ModificationInterface provides methods to handle modifications of all opened files caused by external programs. Whenever the modified-on-disk state changes the signal modifiedOnDisk() is emitted along with a ModifiedOnDiskReason. Set the state by calling setModifiedOnDisk(). Whether the Editor should show warning dialogs to inform the user about external modified files can be controlled with setModifiedOnDiskWarning(). The slot modifiedOnDisk() is called to ask the user what to do whenever a file was modified.

Accessing the ModificationInterface

The ModificationInterface is supposed to be an extension interface for a Document, i.e. the Document inherits the interface provided that the used KTextEditor library implements the interface. Use qobject_cast to access the interface:

// doc is of type KTextEditor::Document*
auto iface = qobject_cast<KTextEditor::ModificationInterface*>(doc);
if (iface) {
// the implementation supports the interface
// do stuff
} else {
// the implementation does not support the interface
}
See also
KTextEditor::Document
Author
Christoph Cullmann <cullm[email protected][email protected][email protected]kde.o[email protected]rg>

Definition at line 73 of file modificationinterface.h.

Member Enumeration Documentation

Reasons why a document is modified on disk.

Enumerator
OnDiskUnmodified 

Not modified.

OnDiskModified 

The file was modified by another program.

OnDiskCreated 

The file was created by another program.

OnDiskDeleted 

The file was deleted.

Definition at line 87 of file modificationinterface.h.

Constructor & Destructor Documentation

ModificationInterface::~ModificationInterface ( )
virtual

Virtual destructor.

Definition at line 247 of file ktexteditor.cpp.

Member Function Documentation

virtual void KTextEditor::ModificationInterface::modifiedOnDisk ( KTextEditor::Document document,
bool  isModified,
KTextEditor::ModificationInterface::ModifiedOnDiskReason  reason 
)
pure virtual

This signal is emitted whenever the document changed its modified-on-disk state.

Parameters
documentthe Document object that represents the file on disk
isModifiedif true, the file was modified rather than created or deleted
reasonthe reason why the signal was emitted
See also
setModifiedOnDisk()
virtual void KTextEditor::ModificationInterface::setModifiedOnDisk ( ModifiedOnDiskReason  reason)
pure virtual

Set the document's modified-on-disk state to reason.

KTextEditor implementations should emit the signal modifiedOnDisk() along with the reason. When the document is in a clean state again the reason should be ModifiedOnDiskReason::OnDiskUnmodified.

Parameters
reasonthe modified-on-disk reason.
See also
ModifiedOnDiskReason, modifiedOnDisk()
virtual void KTextEditor::ModificationInterface::setModifiedOnDiskWarning ( bool  on)
pure virtual

Control, whether the editor should show a warning dialog whenever a file was modified on disk.

If on is true the editor will show warning dialogs.

Parameters
oncontrols, whether the editor should show a warning dialog for files modified on disk

Implemented in KTextEditor.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sat Jul 11 2020 22:57:13 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.