This file is indexed.

/usr/share/doc/python-gtk2-tutorial/html/ch-DragAndDrop.html is in python-gtk2-tutorial 2.4-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 22. Drag-and-drop (DND)</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="PyGTK 2.0 Tutorial"><link rel="up" href="index.html" title="PyGTK 2.0 Tutorial"><link rel="previous" href="sec-SupplyingTheSelection.html" title="21.3. Supplying the Selection"><link rel="next" href="sec-DNDProperties.html" title="22.2. DND Properties"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 22. Drag-and-drop (DND)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="sec-SupplyingTheSelection.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="sec-DNDProperties.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="ch-DragAndDrop"></a>Chapter 22. Drag-and-drop (DND)</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ch-DragAndDrop.html#sec-DNDOverview">22.1. DND Overview</a></span></dt><dt><span class="sect1"><a href="sec-DNDProperties.html">22.2. DND Properties</a></span></dt><dt><span class="sect1"><a href="sec-DNDMethods.html">22.3. DND Methods</a></span></dt><dd><dl><dt><span class="sect2"><a href="sec-DNDMethods.html#id3154462">22.3.1. Setting Up the Source Widget</a></span></dt><dt><span class="sect2"><a href="sec-DNDMethods.html#sec-SignalsOnSourceWidget">22.3.2. Signals On the Source Widget</a></span></dt><dt><span class="sect2"><a href="sec-DNDMethods.html#sec-SettingUpDestinationWidget">22.3.3. Setting Up a Destination Widget</a></span></dt><dt><span class="sect2"><a href="sec-DNDMethods.html#sec-SignalsOnDestinationWidget">22.3.4. Signals On the Destination Widget</a></span></dt></dl></dd></dl></div><p>PyGTK has a high level set of functions for doing inter-process
communication via the drag-and-drop system. PyGTK can perform drag-and-drop
on top of the low level Xdnd and Motif drag-and-drop protocols.</p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sec-DNDOverview"></a>22.1. DND Overview</h2></div></div><div></div></div><p>An application capable of drag-and-drop first defines and sets up
the widget(s) for drag-and-drop. Each widget can be a source and/or
destination for drag-and-drop. Note that these widgets must have an
associated X Window.</p><p>Source widgets can send out drag data, thus allowing the user to
drag things off of them, while destination widgets can receive drag data.
Drag-and-drop destinations can limit who they accept drag data from, e.g.
the same application or any application (including itself).</p><p>Sending and receiving drop data makes use of signals. Dropping an
item to a destination widget requires both a data request (for the source
widget) and data received signal handler (for the target widget). Additional
signal handers can be connected if you want to know when a drag begins (at
the very instant it starts), to when a drop is made, and when the entire
drag-and-drop procedure has ended (successfully or not).</p><p>Your application will need to provide data for source widgets when
requested, that involves having a drag data request signal handler. For
destination widgets they will need a drop data received signal
handler.</p><p>So a typical drag-and-drop cycle would look as follows:</p><div class="itemizedlist"><ul type="disc"><li><p>Drag begins. Source can get "drag-begin" signal. Can set up
drag icon, etc.</p></li><li><p>Drag moves over a drop area. Destination can get "drag-motion"
signal.</p></li><li><p>Drop occurs. Destination can get "drag-drop"
signal. Destination should ask for source data.</p></li><li><p>Drag data request (when a drop occurs). Source can get
"drag-data-get" signal.</p></li><li><p>Drop data received (may be on same or different
application). Destination can get "drag-data-received" signal.</p></li><li><p>Drag data delete (if the drag was a move). Source can get
"drag-data-delete" signal</p></li><li><p>Drag-and-drop procedure done. Source can receive "drag-end"
signal.</p></li></ul></div><p>There are a few minor steps that go in between here and there,
but we will get into detail about that later.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="sec-SupplyingTheSelection.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="sec-DNDProperties.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">21.3. Supplying the Selection </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 22.2. DND Properties</td></tr></table></div></body></html>