File: classGFC_1_1Gtk_1_1TreeDragDest.html

package info (click to toggle)
gfcui 2.3.1-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 43,420 kB
  • ctags: 18,023
  • sloc: cpp: 53,967; sh: 31,555; makefile: 1,322; perl: 108
file content (191 lines) | stat: -rw-r--r-- 12,110 bytes parent folder | download | duplicates (3)
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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>GTK+ Foundation Classes</title>
  <link href="gfc.css" rel="stylesheet" type="text/css">
  <meta content="The GFC Development Team" name="author">
  <meta content="Core Library Reference Manual" name="description">
</head>
<body style="color: rgb(0, 0, 0); background-color: rgb(243, 244, 248);"
 alink="#000099" link="#000099" vlink="#990099">
<table style="text-align: left; width: 1227px; height: 117px;"
 border="0" cellpadding="0" cellspacing="0">
  <tbody>
    <tr>
      <td
 style="text-align: center; background-color: rgb(255, 255, 255); width: 220px; vertical-align: top;"><img
 alt="GFC Logo" src="../images/gfc.png"
 style="width: 207px; height: 92px;"></td>
      <td
 style="text-align: center; background-color: rgb(87, 107, 152); vertical-align: middle;"><img
 alt="GFC Title Logo" src="../images/gfc-title.png"
 style="width: 418px; height: 76px;"><br>
      </td>
    </tr>
    <tr>
      <td
 style="text-align: center; background-color: rgb(65, 77, 104); vertical-align: middle;"><big><span
 style="color: rgb(255, 255, 153); font-weight: bold;">Reference Manual</span></big><br>
      </td>
      <td
 style="text-align: center; background-color: rgb(148, 164, 200); vertical-align: middle;"><small
 style="font-family: helvetica,arial,sans-serif;"><a
 href="../html/index.html">Main Page</a>&nbsp; |&nbsp; <a
 href="../html/namespaces.html">Namespace List</a>&nbsp; |&nbsp; <a
 href="classes.html">Alphabetical List</a>&nbsp; |&nbsp; <a
 href="../html/annotated.html">Class List</a>&nbsp; |&nbsp; <a
 href="../html/files.html">File List</a></small><br>
      </td>
    </tr>
  </tbody>
</table>
<small> </small>
</body>
</html>
<!-- Generated by Doxygen 1.3.8 -->
<h1>GFC::Gtk::TreeDragDest Class Reference</h1>A GtkTreeDragDest C++ wrapper class.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="treednd_8hh-source.html">gfc/gtk/treednd.hh</a>&gt;</code>
<p>
<p>Inheritance diagram for GFC::Gtk::TreeDragDest:
<p><center><img src="classGFC_1_1Gtk_1_1TreeDragDest.png" usemap="#GFC::Gtk::TreeDragDest_map" border="0" alt=""></center>
<map name="GFC::Gtk::TreeDragDest_map">
<area doxygen="gfccore.tag:" href="classGFC_1_1G_1_1TypeInterface.html" alt="GFC::G::TypeInterface" shape="rect" coords="78,112,225,136">
<area doxygen="gfccore.tag:" href="classGFC_1_1G_1_1TypeInstance.html" alt="GFC::G::TypeInstance" shape="rect" coords="78,56,225,80">
<area doxygen="gfccore.tag:" href="classGFC_1_1Trackable.html" alt="GFC::Trackable" shape="rect" coords="78,0,225,24">
<area href="classGFC_1_1Gtk_1_1ListStore.html" alt="GFC::Gtk::ListStore" shape="rect" coords="0,224,147,248">
<area href="classGFC_1_1Gtk_1_1TreeStore.html" alt="GFC::Gtk::TreeStore" shape="rect" coords="157,224,304,248">
</map>
<a href="classGFC_1_1Gtk_1_1TreeDragDest-members.html">List of all members.</a><h2>Public Member Functions</h2>
<tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr>
<ul>
<li><a class="anchor" name="z964_0" doxytag="GFC::Gtk::TreeDragDest::gtk_tree_drag_dest" ></a>
GtkTreeDragDest * <a class="el" href="classGFC_1_1Gtk_1_1TreeDragDest.html#z964_0">gtk_tree_drag_dest</a> () const
<dl class="el"><dd class="mdescRight">Get a pointer to the GtkTreeDragDest structure. <br></dl><li><a class="anchor" name="z964_1" doxytag="GFC::Gtk::TreeDragDest::operator GtkTreeDragDest *" ></a>
<a class="el" href="classGFC_1_1Gtk_1_1TreeDragDest.html#z964_1">operator GtkTreeDragDest *</a> () const
<dl class="el"><dd class="mdescRight">Conversion operator; safely converts a <a class="el" href="classGFC_1_1Gtk_1_1TreeDragDest.html">TreeDragDest</a> to a GtkTreeDragDest pointer. <br></dl><li>bool <a class="el" href="classGFC_1_1Gtk_1_1TreeDragDest.html#z964_2">row_drop_possible</a> (const <a class="el" href="classGFC_1_1Gtk_1_1TreePath.html">TreePath</a> &amp;dest_path, const <a class="el" href="classGFC_1_1Gtk_1_1SelectionData.html">SelectionData</a> &amp;selection_data) const
<dl class="el"><dd class="mdescRight">Determines whether a drop is possible before the given <em>dest_path</em>, at the same depth as <em>dest_path</em>, that is, can we drop the data in selection_data at that location.  <a href="#z964_2"></a><br></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Methods</div></td></tr>
<ul>
<li>bool <a class="el" href="classGFC_1_1Gtk_1_1TreeDragDest.html#z965_0">drag_data_received</a> (const <a class="el" href="classGFC_1_1Gtk_1_1TreePath.html">TreePath</a> &amp;dest, const <a class="el" href="classGFC_1_1Gtk_1_1SelectionData.html">SelectionData</a> &amp;selection_data)
<dl class="el"><dd class="mdescRight">Asks the <a class="el" href="classGFC_1_1Gtk_1_1TreeDragDest.html">TreeDragDest</a> to insert a row before the path dest, deriving the contents of the row from <em>selection_data</em>.  <a href="#z965_0"></a><br></dl></ul>
<h2>Protected Member Functions</h2>
<tr><td colspan="2"><div class="groupHeader">Constructors</div></td></tr>
<ul>
<li><a class="anchor" name="z963_0" doxytag="GFC::Gtk::TreeDragDest::TreeDragDest" ></a>
<a class="el" href="classGFC_1_1Gtk_1_1TreeDragDest.html#z963_0">TreeDragDest</a> ()
<dl class="el"><dd class="mdescRight">Constructs a new <a class="el" href="classGFC_1_1Gtk_1_1TreeDragDest.html">TreeDragDest</a> object. <br></dl><li><a class="anchor" name="z963_1" doxytag="GFC::Gtk::TreeDragDest::~TreeDragDest" ></a>
virtual <a class="el" href="classGFC_1_1Gtk_1_1TreeDragDest.html#z963_1">~TreeDragDest</a> ()=0
<dl class="el"><dd class="mdescRight">Destructor. <br></dl></ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A GtkTreeDragDest C++ wrapper class. 
<p>
GTK+ supports Drag-and-Drop in tree views with a high-level and a low-level API.<p>
The low-level API consists of the GTK+ DND API, augmented by some treeview utility functions: <a class="el" href="classGFC_1_1Gtk_1_1TreeView.html#z1011_40">Gtk::TreeView::set_drag_dest_row()</a>, <a class="el" href="classGFC_1_1Gtk_1_1TreeView.html#z1010_22">Gtk::TreeView::get_drag_dest_row()</a>, <a class="el" href="classGFC_1_1Gtk_1_1TreeView.html#z1010_23">Gtk::TreeView::get_dest_row_at_pos()</a> and <a class="el" href="classGFC_1_1Gtk_1_1TreeView.html#z1011_41">Gtk::TreeView::create_row_drag_icon()</a>. This API leaves a lot of flexibility, but nothing is done automatically, and implementing advanced features like hover-to-open-rows or autoscrolling on top of this API is a lot of work.<p>
On the other hand, if you write to the high-level <a class="el" href="classGFC_1_1Gtk_1_1TreeDragSource.html">TreeDragSource</a> and <a class="el" href="classGFC_1_1Gtk_1_1TreeDragDest.html">TreeDragDest</a> API, then all the bookkeeping of rows is done for you, as well as things like hover-to-open and auto-scroll. The <a class="el" href="classGFC_1_1Gtk_1_1TreeDragSource.html">TreeDragSource</a> interface is implemented by <a class="el" href="classGFC_1_1Gtk_1_1TreeModelSort.html">Gtk::TreeModelSort</a>, <a class="el" href="classGFC_1_1Gtk_1_1TreeStore.html">Gtk::TreeStore</a>, <a class="el" href="classGFC_1_1Gtk_1_1ListStore.html">Gtk::ListStore</a> and <a class="el" href="classGFC_1_1Gtk_1_1TreeModelFilter.html">Gtk::TreeModelFilter</a>. The <a class="el" href="classGFC_1_1Gtk_1_1TreeDragDest.html">TreeDragDest</a> interface is implemented by <a class="el" href="classGFC_1_1Gtk_1_1TreeStore.html">Gtk::TreeStore</a> and <a class="el" href="classGFC_1_1Gtk_1_1ListStore.html">Gtk::ListStore</a>. 
<p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="z965_0" doxytag="GFC::Gtk::TreeDragDest::drag_data_received" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool GFC::Gtk::TreeDragDest::drag_data_received           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classGFC_1_1Gtk_1_1TreePath.html">TreePath</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classGFC_1_1Gtk_1_1SelectionData.html">SelectionData</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>selection_data</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Asks the <a class="el" href="classGFC_1_1Gtk_1_1TreeDragDest.html">TreeDragDest</a> to insert a row before the path dest, deriving the contents of the row from <em>selection_data</em>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>dest</em>&nbsp;</td><td>The row to drop in front of. </td></tr>
    <tr><td></td><td valign=top><em>selection_data</em>&nbsp;</td><td>The data to drop. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Whether a new row was created before position <em>dest</em>.</dd></dl>
<br>
If dest is outside the tree so that inserting before it is impossible, false will be returned. Also, false may be returned if the new row is not created for some model-specific reason. Should robustly handle a dest no longer found in the model!     </td>
  </tr>
</table>
<a class="anchor" name="z964_2" doxytag="GFC::Gtk::TreeDragDest::row_drop_possible" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool GFC::Gtk::TreeDragDest::row_drop_possible           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classGFC_1_1Gtk_1_1TreePath.html">TreePath</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>dest_path</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classGFC_1_1Gtk_1_1SelectionData.html">SelectionData</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>selection_data</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"> const</td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Determines whether a drop is possible before the given <em>dest_path</em>, at the same depth as <em>dest_path</em>, that is, can we drop the data in selection_data at that location. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td></td><td valign=top><em>dest_path</em>&nbsp;</td><td>The destination row. </td></tr>
    <tr><td></td><td valign=top><em>selection_data</em>&nbsp;</td><td>The data being dragged. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><em>true</em> if a drop is possible before <em>dest_path</em>.</dd></dl>
<br>
Note, <em>dest_path</em> doesn't have to exist but the return value will almost certainly be false if the parent of <em>dest_path</em> doesn't exist, though.     </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="treednd_8hh-source.html">treednd.hh</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 24 00:34:43 2004 for GFC-UI by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
</body>
</html>