summaryrefslogtreecommitdiff
path: root/libs/gtkmm2/gtk/gtkmm/targetentry.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/gtkmm2/gtk/gtkmm/targetentry.h')
-rw-r--r--libs/gtkmm2/gtk/gtkmm/targetentry.h97
1 files changed, 97 insertions, 0 deletions
diff --git a/libs/gtkmm2/gtk/gtkmm/targetentry.h b/libs/gtkmm2/gtk/gtkmm/targetentry.h
new file mode 100644
index 0000000000..6b00623adc
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/targetentry.h
@@ -0,0 +1,97 @@
+// -*- c++ -*-
+#ifndef _GTKMM_TARGETENTRY_H
+#define _GTKMM_TARGETENTRY_H
+
+/* $Id$ */
+
+/* targetentry.h
+ *
+ * Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/utility.h>
+#include <glibmm/ustring.h>
+#include <glibmm/arrayhandle.h>
+#include <gtkmm/enums.h>
+#include <gtk/gtkselection.h> //For GtkTargetEntry.
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+ typedef struct _GtkTargetEntry GtkTargetEntry;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+namespace Gtk
+{
+
+class TargetEntry
+{
+public:
+ TargetEntry();
+ explicit TargetEntry(const Glib::ustring& target, Gtk::TargetFlags flags = Gtk::TargetFlags(0), guint info = 0);
+ explicit TargetEntry(const GtkTargetEntry& gobject);
+ TargetEntry(const TargetEntry& src);
+ virtual ~TargetEntry();
+
+ TargetEntry& operator=(const TargetEntry& src);
+
+ Glib::ustring get_target() const;
+ void set_target(const Glib::ustring& target);
+
+ Gtk::TargetFlags get_flags() const;
+ void set_flags(Gtk::TargetFlags flags);
+
+ guint get_info() const;
+ void set_info(guint info);
+
+ //Use this when you have to use an array of GdkTargetEntrys
+ //This TargetEntry will still own the string memory.
+ GtkTargetEntry* gobj();
+ const GtkTargetEntry* gobj() const;
+
+protected:
+ GtkTargetEntry gobject_;
+};
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+struct TargetEntry_Traits
+{
+ typedef TargetEntry CppType;
+ typedef GtkTargetEntry CType;
+ typedef GtkTargetEntry CTypeNonConst;
+
+ static const CType& to_c_type(const CppType& item)
+ { return *item.gobj(); }
+
+ static const CType& to_c_type(const CType& item)
+ { return item; }
+
+ static CppType to_cpp_type(const CType& item)
+ { return TargetEntry(item); /* copies string */}
+
+ static void release_c_type(const CType&) {}
+};
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+typedef Glib::ArrayHandle< TargetEntry, TargetEntry_Traits > ArrayHandle_TargetEntry;
+
+} /* namespace Gtk */
+
+
+#endif /* _GTKMM_TARGETENTRY_H */
+