diff options
Diffstat (limited to 'kdecore/kmanagerselection.h')
-rw-r--r-- | kdecore/kmanagerselection.h | 233 |
1 files changed, 0 insertions, 233 deletions
diff --git a/kdecore/kmanagerselection.h b/kdecore/kmanagerselection.h deleted file mode 100644 index 384f5d23f..000000000 --- a/kdecore/kmanagerselection.h +++ /dev/null @@ -1,233 +0,0 @@ -/**************************************************************************** - - Copyright (C) 2003 Lubos Lunak <l.lunak@kde.org> - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - -****************************************************************************/ - -#ifndef __KMANAGERSELECTION_H -#define __KMANAGERSELECTION_H - -#include <tqobject.h> -#include <kdelibs_export.h> - -#ifdef Q_MOC_RUN -#define Q_WS_X11 -#endif // Q_MOC_RUN - -#ifdef Q_WS_X11 // FIXME(E) - -#include <X11/Xlib.h> - -class KSelectionOwnerPrivate; - -/** - This class implements claiming and owning manager selections, as described - in the ICCCM, section 2.8. The selection atom is passed to the constructor, - claim() attemps to claim ownership of the selection, release() gives up - the selection ownership. Signal lostOwnership() is emitted when the selection - is claimed by another owner. - @since 3.2 - @short ICCCM manager selection owner -*/ -class KDECORE_EXPORT KSelectionOwner - : public TQObject - { - Q_OBJECT - public: - /** - * This constructor initializes the object, but doesn't perform any - * operation on the selection. - * - * @param selection atom representing the manager selection - * @param screen X screen, or -1 for default - * @param parent parent object, or NULL if there is none - */ - KSelectionOwner( Atom selection, int screen = -1, TQObject* parent = NULL ); - /** - * @overload - * This constructor accepts the selection name and creates the appropriate atom - * for it automatically. - * - * @param selection name of the manager selection - * @param screen X screen, or -1 for default - * @param parent parent object, or NULL if there is none - */ - KSelectionOwner( const char* selection, int screen = -1, TQObject* parent = NULL ); - /** - * Destructor. Calls release(). - */ - virtual ~KSelectionOwner(); - /** - * This function attemps to claim ownership of the manager selection, using - * the current X timestamp. If @p force is false, and the selection is already - * owned, the selection is not claimed, and false is returned. If claiming - * is forced and the selection is owned by another client, it is waited for up to 1 second - * for the previous owner to disown the selection, if @p force_kill is true, - * and the previous owner fails to disown the selection in time, - * it will be forcibly killed. True is returned after successfully claiming - * ownership of the selection. - */ - bool claim( bool force, bool force_kill = true ); - /** - * If the selection is owned, the ownership is given up. - */ - void release(); - /** - * If the selection is owned, returns the window used internally - * for owning the selection. - */ - Window ownerWindow() const; // None if not owning the selection - /** - * @internal - */ - bool filterEvent( XEvent* ev_P ); // internal - signals: - /** - * This signal is emitted if the selection was owned and the ownership - * has been lost due to another client claiming it, this signal is emitted. - * IMPORTANT: It's not safe to delete the instance in a slot connected - * to this signal. - */ - void lostOwnership(); - protected: - /** - * Called for every X event received on the window used for owning - * the selection. If true is returned, the event is filtered out. - */ - virtual bool handleMessage( XEvent* ev ); - /** - * Called when a SelectionRequest event is received. A reply should - * be sent using the selection handling mechanism described in the ICCCM - * section 2. - * - * @param target requested target type - * @param property property to use for the reply data - * @param requestor requestor window - */ - virtual bool genericReply( Atom target, Atom property, Window requestor ); - /** - * Called to announce the supported targets, as described in the ICCCM - * section 2.6. The default implementation announces the required targets - * MULTIPLE, TIMESTAMP and TARGETS. - */ - virtual void replyTargets( Atom property, Window requestor ); - /** - * Called to create atoms needed for claiming the selection and - * communication using the selection handling mechanism. The default - * implementation must be called if reimplemented. This method - * may be called repeatedly. - */ - virtual void getAtoms(); - /** - * Sets extra data to be sent in the message sent to root window - * after successfully claiming a selection. These extra data - * are in data.l[3] and data.l[4] fields of the XClientMessage. - */ - void setData( long extra1, long extra2 ); - private: - void filter_selection_request( XSelectionRequestEvent& ev_P ); - bool handle_selection( Atom target_P, Atom property_P, Window requestor_P ); - const Atom selection; - const int screen; - Window window; - Time timestamp; - long extra1, extra2; - static Atom manager_atom; - static Atom xa_multiple; - static Atom xa_targets; - static Atom xa_timestamp; - protected: - virtual void virtual_hook( int id, void* data ); - private: - KSelectionOwnerPrivate* d; - }; - -class KSelectionWatcherPrivate; - -/** - This class implements watching manager selections, as described in the ICCCM - section 2.8. It emits signal newOwner() when a new owner claim the selection, - and emits lostOwner() when the selection ownership is given up. To find - out current owner of the selection, owner() can be used. - @since 3.2 - @short ICCCM manager selection watching -*/ -class KDECORE_EXPORT KSelectionWatcher - : public TQObject - { - Q_OBJECT - public: - /** - * This constructor initializes the object, but doesn't perform any - * operation on the selection. - * - * @param selection atom representing the manager selection - * @param screen X screen, or -1 for default - * @param parent parent object, or NULL if there is none - */ - KSelectionWatcher( Atom selection, int screen = -1, TQObject* parent = NULL ); - /** - * @overload - * This constructor accepts the selection name and creates the appropriate atom - * for it automatically. - * - * @param selection name of the manager selection - * @param screen X screen, or -1 for default - * @param parent parent object, or NULL if there is none - */ - KSelectionWatcher( const char* selection, int screen = -1, TQObject* parent = NULL ); - virtual ~KSelectionWatcher(); - /** - * Return the current owner of the manager selection, if any. - */ - Window owner(); - /** - * @internal - */ - void filterEvent( XEvent* ev_P ); // internal - signals: - /** - * This signal is emitted when the selection is successfully claimed by a new - * owner. - * @param owner the new owner of the selection - */ - void newOwner( Window owner ); - /** - * This signal is emitted when the selection is given up, i.e. there's no - * owner. Note that the selection may be immediatelly claimed again, - * so the newOwner() signal may be emitted right after this one. - * It's safe to delete the instance in a slot connected to this signal. - */ - void lostOwner(); - private: - void init(); - const Atom selection; - const int screen; - Window selection_owner; - static Atom manager_atom; - protected: - virtual void virtual_hook( int id, void* data ); - private: - KSelectionWatcherPrivate* d; - }; - -#endif -#endif |