summaryrefslogtreecommitdiffstats
path: root/kdecore/kmanagerselection.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdecore/kmanagerselection.h')
-rw-r--r--kdecore/kmanagerselection.h233
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