okular/interfaces/guiinterface.h
Albert Astals Cid becdc7c483 Revert the two last commits
f9841b0f8a and e0f45add55

They break the windows build, which shows there's something defenitely
fishy going on with the current code, but oh well, someone with more
time needs to figure out a proper solution
2020-11-11 01:31:47 +01:00

70 lines
1.8 KiB
C++

/***************************************************************************
* Copyright (C) 2007 by Pino Toscano <pino@kde.org> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#ifndef _OKULAR_GUIINTERFACE_H_
#define _OKULAR_GUIINTERFACE_H_
#include "../core/okularcore_export.h"
#include <QObject>
#include <KXMLGUIClient>
namespace Okular
{
/**
* @short Abstract interface for user interface control
*
* This interface defines an way to interact with the Okular user interface,
* e.g. adding actions in the menus.
*
* How to use it in a custom Generator:
* @code
class MyGenerator : public Okular::Generator, public Okular::GuiInterface
{
Q_OBJECT
Q_INTERFACES( Okular::GuiInterface )
...
};
* @endcode
* and - of course - implementing its methods.
*/
class OKULARCORE_EXPORT GuiInterface : protected KXMLGUIClient
{
public:
GuiInterface()
{
}
/**
* Destroys the gui interface.
*/
~GuiInterface() override
{
}
GuiInterface(const GuiInterface &) = delete;
GuiInterface &operator=(const GuiInterface &) = delete;
/**
* This method requests the XML GUI Client provided by the interface.
*/
KXMLGUIClient *guiClient()
{
return this;
}
};
}
Q_DECLARE_INTERFACE(Okular::GuiInterface, "org.kde.okular.GuiInterface/0.1")
#endif