[gtkmm] Make getting Gtk::Border style properties work.
- From: Krzesimir Nowak <krnowak src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtkmm] Make getting Gtk::Border style properties work.
- Date: Thu, 17 Dec 2009 20:53:17 +0000 (UTC)
commit e4305d78b33a454ae0763ea8849b080bde4805e7
Author: Krzesimir Nowak <qdlacz gmail com>
Date: Thu Dec 17 21:43:45 2009 +0100
Make getting Gtk::Border style properties work.
* gtk/gtkmm/border.h: Created separate header file for Gtk::Border.
It contains a typedef and Glib::Value specialization
for Gtk::Border.
* gtk/gtkmm/filelist.am: Added border.h to gtkmm_files_extra_h.
* gtk/gtkmm.h: Included the new border.h header.
* gtk/src/entry.hg: Removed Gtk::Border typedef and included
border.h.
* gtk/src/range.hg: get_range_border() vfunc now uses Gtk::Border*
instead of GtkBorder*. Written proper conversions for this.
* MSVC_NET{2005,2008}/gtkmm/gtkmm.vcproj: Added border.h.
ChangeLog | 10 ++++++
MSVC_Net2005/gtkmm/gtkmm.vcproj | 4 ++
MSVC_Net2008/gtkmm/gtkmm.vcproj | 4 ++
gtk/gtkmm.h | 1 +
gtk/gtkmm/border.h | 61 +++++++++++++++++++++++++++++++++++++++
gtk/gtkmm/filelist.am | 1 +
gtk/src/entry.hg | 4 +--
gtk/src/range.hg | 5 ++-
8 files changed, 86 insertions(+), 4 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 48f3f16..96dd435 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2009-12-17 Krzesimir Nowak <qdlacz gmail com>
+
+ * gtk/gtkmm/border.h: Created separate header file for Gtk::Border.
+ It contains a typedef and Glib::Value specialization for Gtk::Border.
+ * gtk/gtkmm/filelist.am: Add border.h to gtkmm_files_extra_h.
+ * gtk/src/entry.hg: Remove Gtk::Border typedef and include border.h.
+ * gtk/src/range.hg: get_range_border() vfunc now uses Gtk::Border*
+ instead of GtkBorder*. Written proper conversions for this.
+ * gtk/gtkmm.h: Include the new border.h header.
+
2009-12-17 Murray Cumming <murrayc murrayc com>
Added ToolPalette.
diff --git a/MSVC_Net2005/gtkmm/gtkmm.vcproj b/MSVC_Net2005/gtkmm/gtkmm.vcproj
index 9be0e24..58ce04e 100755
--- a/MSVC_Net2005/gtkmm/gtkmm.vcproj
+++ b/MSVC_Net2005/gtkmm/gtkmm.vcproj
@@ -962,6 +962,10 @@
>
</File>
<File
+ RelativePath="..\..\gtk\gtkmm\border.h"
+ >
+ </File>
+ <File
RelativePath="..\..\gtk\gtkmm\box.h"
>
</File>
diff --git a/MSVC_Net2008/gtkmm/gtkmm.vcproj b/MSVC_Net2008/gtkmm/gtkmm.vcproj
index ca82a76..ae33f2e 100644
--- a/MSVC_Net2008/gtkmm/gtkmm.vcproj
+++ b/MSVC_Net2008/gtkmm/gtkmm.vcproj
@@ -961,6 +961,10 @@
>
</File>
<File
+ RelativePath="..\..\gtk\gtkmm\border.h"
+ >
+ </File>
+ <File
RelativePath="..\..\gtk\gtkmm\box.h"
>
</File>
diff --git a/gtk/gtkmm.h b/gtk/gtkmm.h
index 19c30dc..44a7dab 100644
--- a/gtk/gtkmm.h
+++ b/gtk/gtkmm.h
@@ -41,6 +41,7 @@ extern const int gtkmm_micro_version;
#include <gtkmm/assistant.h>
#include <gtkmm/base.h>
#include <gtkmm/bin.h>
+#include <gtkmm/border.h>
#include <gtkmm/box.h>
#include <gtkmm/builder.h>
#include <gtkmm/button.h>
diff --git a/gtk/gtkmm/border.h b/gtk/gtkmm/border.h
new file mode 100644
index 0000000..a64c669
--- /dev/null
+++ b/gtk/gtkmm/border.h
@@ -0,0 +1,61 @@
+// -*- c++ -*-
+#ifndef _GTKMM_BORDER_H
+#define _GTKMM_BORDER_H
+
+/* border.h
+ *
+ * Copyright (C) 2009 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser 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/value.h>
+
+namespace Gtk
+{
+
+typedef GtkBorder Border;
+
+} /* namespace Gtk */
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+namespace Glib
+{
+
+template <>
+class Value<Gtk::Border> : public ValueBase_Boxed
+{
+public:
+ typedef Gtk::Border CppType;
+
+ static GType value_type() { return gtk_border_get_type(); }
+
+ void set(const Gtk::Border& data) { set_boxed(&data); }
+ Gtk::Border get() const
+ {
+ GtkBorder* cobj = static_cast<GtkBorder*>(get_boxed());
+ Gtk::Border obj = {0, 0, 0, 0};
+ return ((cobj) ? (static_cast<Gtk::Border>(*cobj)) : (obj));
+ }
+};
+
+} /* namespace Glib */
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+#endif /* _GTKMM_BORDER_H */
+
diff --git a/gtk/gtkmm/filelist.am b/gtk/gtkmm/filelist.am
index d8c94c5..93e74af 100644
--- a/gtk/gtkmm/filelist.am
+++ b/gtk/gtkmm/filelist.am
@@ -24,6 +24,7 @@ gtkmm_files_extra_h = \
accelkey.h \
accelmap.h \
base.h \
+ border.h \
cellrenderer_generation.h \
comboboxentrytext.h \
comboboxtext.h \
diff --git a/gtk/src/entry.hg b/gtk/src/entry.hg
index 36d3457..1781a86 100644
--- a/gtk/src/entry.hg
+++ b/gtk/src/entry.hg
@@ -26,6 +26,7 @@
#include <gtkmm/entrycompletion.h>
#include <gtkmm/adjustment.h>
#include <gtkmm/image.h> //For ImageType.
+#include <gtkmm/border.h>
_DEFS(gtkmm,gtk)
_PINCLUDE(gtkmm/private/widget_p.h)
@@ -35,9 +36,6 @@ namespace Gtk
_WRAP_ENUM(EntryIconPosition, GtkEntryIconPosition)
-//TODO: This is used in Range too, so put it somewhere more appropriate:
-typedef GtkBorder Border;
-
/** A single line text entry field.
*
* The Gtk::Entry widget is a single line text entry widget. A fairly large
diff --git a/gtk/src/range.hg b/gtk/src/range.hg
index 6b22469..59ec04a 100644
--- a/gtk/src/range.hg
+++ b/gtk/src/range.hg
@@ -19,6 +19,7 @@
#include <gtkmm/widget.h>
#include <gtkmm/enums.h> //For SensitivityType.
+#include <gtkmm/border.h>
_DEFS(gtkmm,gtk)
_PINCLUDE(gtkmm/private/widget_p.h)
@@ -108,7 +109,9 @@ public:
_WRAP_PROPERTY("fill-level", double)
protected:
- _WRAP_VFUNC(void get_range_border(GtkBorder* border) const, get_range_border)
+#m4 _CONVERSION(`Gtk::Border*',`GtkBorder*',($3))
+#m4 _CONVERSION(`GtkBorder*',`Gtk::Border*',($3))
+ _WRAP_VFUNC(void get_range_border(Gtk::Border* border) const, get_range_border)
};
} // namespace Gtk
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]