summaryrefslogtreecommitdiff
path: root/docs/reference/pygtk-gtktreedragsource.xml
blob: 6d86a221dca79c16d1bf8301a338f951d276ce41 (plain)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<?xml version="1.0" standalone="no"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<refentry id="class-gtktreedragsource">
  <refnamediv>
    <refname>gtk.TreeDragSource</refname>
    <refpurpose>an interface that manages the source data transfer for a
<link linkend="class-gtktreeview"><classname>gtk.TreeView</classname></link>
drag and drop operation</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.TreeDragSource</classname></ooclass>
      <ooclass><classname>gobject.GInterface</classname></ooclass>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktreedragsource--row-draggable">row_draggable</link></methodname>
	<methodparam><parameter
		       role="keyword">path</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktreedragsource--drag-data-delete">drag_data_delete</link></methodname>
	<methodparam><parameter
		       role="keyword">path</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktreedragsource--drag-data-get">drag_data_get</link></methodname>
	<methodparam><parameter
		       role="keyword">path</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">selection_data</parameter></methodparam>
      </methodsynopsis>
    </classsynopsis>

  </refsect1>

  <refsect1>
    <title>Description</title>

    <para>A <link linkend="class-gtktreedragsource"><classname>gtk.TreeDragSource</classname></link> is an interface that provides for the management of the source data for a <link linkend="class-gtktreeview"><classname>gtk.TreeView</classname></link> drag and drop operation.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-gtktreedragsource--row-draggable">
      <title>gtk.TreeDragSource.row_draggable</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>row_draggable</methodname>
	  <methodparam><parameter
			 role="keyword">path</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">path</parameter>&nbsp;:</term>
	  <listitem><simpara>the row from which the user is initiating a
drag</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the row can be
dragged</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>row_draggable</methodname>() method asks the
<link
linkend="class-gtktreedragsource"><classname>gtk.TreeDragSource</classname></link> 
if the row specified by <parameter>path</parameter> can be used as the
source of a DND operation. If the <link
linkend="class-gtktreedragsource"><classname>gtk.TreeDragSource</classname></link> 
doesn't implement this interface, the row is assumed draggable.</para>

    </refsect2>

    <refsect2 id="method-gtktreedragsource--drag-data-delete">
      <title>gtk.TreeDragSource.drag_data_delete</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_data_delete</methodname>
	  <methodparam><parameter
			 role="keyword">path</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">path</parameter>&nbsp;:</term>
	  <listitem><simpara>the row that was being
dragged</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the row was
successfully deleted</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>drag_data_delete</methodname>() method asks the
<link
linkend="class-gtktreedragsource"><classname>gtk.TreeDragSource</classname></link> 
to delete the row specified by <parameter>path</parameter>, because it was
moved somewhere else via drag-and-drop. This method returns
<literal>False</literal> if the deletion fails because
<parameter>path</parameter> no longer exists, or for some other
model-specific reason.</para>

    </refsect2>

    <refsect2 id="method-gtktreedragsource--drag-data-get">
      <title>gtk.TreeDragSource.drag_data_get</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>drag_data_get</methodname>
	  <methodparam><parameter
			 role="keyword">path</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">selection_data</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">path</parameter>&nbsp;:</term>
	  <listitem><simpara>the row that was dragged</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">selection_data</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtkselectiondata"><classname>gtk.SelectionData</classname></link> 
to fill with data from the dragged row</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if data of the required
type was provided</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>drag_data_get</methodname>() method asks the
<link
linkend="class-gtktreedragsource"><classname>gtk.TreeDragSource</classname></link> 
to fill in the selection data object specified by
<parameter>selection_data</parameter> with a representation of the row
specified by <parameter>path</parameter>. The
<parameter>selection_data</parameter> target attribute gives the required
type of the data. </para>

    </refsect2>

  </refsect1>

</refentry>