source: trunk/gui/idl/nomdraginfo.idl@ 291

Last change on this file since 291 was 288, checked in by cinc, 19 years ago

Migrated to new IDL compiler

File size: 3.8 KB
Line 
1/* ***** BEGIN LICENSE BLOCK *****
2* Version: CDDL 1.0/LGPL 2.1
3*
4* The contents of this file are subject to the COMMON DEVELOPMENT AND
5* DISTRIBUTION LICENSE (CDDL) Version 1.0 (the "License"); you may not use
6* this file except in compliance with the License. You may obtain a copy of
7* the License at http://www.sun.com/cddl/
8*
9* Software distributed under the License is distributed on an "AS IS" basis,
10* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11* for the specific language governing rights and limitations under the
12* License.
13*
14* The Original Code is "NOM" Netlabs Object Model
15*
16* The Initial Developer of the Original Code is
17* netlabs.org: Chris Wohlgemuth <cinc-ml@netlabs.org>.
18* Portions created by the Initial Developer are Copyright (C) 2007
19* the Initial Developer. All Rights Reserved.
20*
21* Contributor(s):
22*
23* Alternatively, the contents of this file may be used under the terms of
24* the GNU Lesser General Public License Version 2.1 (the "LGPL"), in which
25* case the provisions of the LGPL are applicable instead of those above. If
26* you wish to allow use of your version of this file only under the terms of
27* the LGPL, and not to allow others to use your version of this file under
28* the terms of the CDDL, indicate your decision by deleting the provisions
29* above and replace them with the notice and other provisions required by the
30* LGPL. If you do not delete the provisions above, a recipient may use your
31* version of this file under the terms of any one of the CDDL or the LGPL.
32*
33* ***** END LICENSE BLOCK ***** */
34
35#ifndef NOMDRAGINFO_IDL_INCLUDED
36#define NOMDRAGINFO_IDL_INCLUDED
37
38#include "wpfolder.idl"
39
40NOMCLASSNAME(NOMDragInfo);
41
42interface NOMDragInfo : NOMObject
43{
44#ifdef __NOM_IDL_COMPILER__
45 filestem=nomdraginfo;
46#endif
47 /**
48 Current class version is 1.0
49 */
50 NOMCLASSVERSION(1, 0);
51
52 /**
53 Query the number of items currently dragged.
54
55 \return Number of items dragged.
56 */
57 gulong queryNumDragItems();
58
59 /**
60
61 */
62 gulong addWPObjectToItemList(in PWPObject wpObject, in PWPFolder wpFolder,
63 in PGtkWidget wgtSource);
64 /**
65 Delete all information about items. This method can be used to reset the
66 internal list of dragged items.
67 */
68 void deleteAllDragItems();
69
70 /**
71 Check if the item at index ulIdx is a desktop object.
72
73 \param ulIdx The index into the array of dragged items. The index starts with 0.
74
75 \return TRUE if the indexed item is a desktop object.
76 */
77 boolean queryIsItemWPObject(in gulong ulIdx);
78
79 /**
80 Query a desktop object from the current set of dragged items.
81
82 \param ulIdx The index into the array of dragged items. The index starts with 0.
83
84 \return
85 The object at the index ulIdx in the current drag set. If the index
86 is out of range or the item is not a desktop object NULL is returned.
87
88 */
89 PWPObject queryWPObjectFromItemList(in gulong ulIdx);
90
91 /**
92 Set the GdkDragInfo pointer into the instance var for later use. This
93 strukture is used during drag and drop handling of GTK.
94 */
95 void setGdkDragContextPointer(in PGdkDragContext gdkDragContext);
96
97 PGtkWidget querySourceWidgetHandle(in gulong ulIdx);
98
99 /**
100 The source object where the draged item is coming from is not ncessarily a WPFolder.
101 */
102 PWPObject querySourceWPObject(in gulong ulIdx);
103
104 GdkDragAction queryChosenDropAction();
105
106 NOMOVERRIDE(nomInit);
107
108 /**
109 Private array holding the items being dragged. It's not possible to access
110 this array directly from the outside.
111 */
112 NOMINSTANCEVAR(PGArray arrayDragItems);
113
114 /**
115 Private pointer to the GdkDragContext used during a drag.
116 */
117 NOMINSTANCEVAR(PGdkDragContext dragContext);
118};
119
120#endif /* NOMDRAGINFO_IDL_INCLUDED */
121
122
123
124
125
126
Note: See TracBrowser for help on using the repository browser.