[libgda-uimm] Add DataProxy Interface.
- From: José Alburquerque <jaalburqu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda-uimm] Add DataProxy Interface.
- Date: Wed, 24 Feb 2010 23:46:12 +0000 (UTC)
commit 339807a39b802659cd246d63b18bc4a36b6d8766
Author: José Alburquerque <jaalburqu svn gnome org>
Date: Wed Feb 24 18:26:29 2010 -0500
Add DataProxy Interface.
* libgda-ui/libgda-uimm.h:
* libgda-ui/src/dataproxy.ccg:
* libgda-ui/src/dataproxy.hg:
* libgda-ui/src/filelist.am: Add new DataProxy interface.
* libgda-ui/src/libgda_ui_vfuncs.defs: Added GdauiDataProxy virtual
functions.
* tools/m4/convert_libgda_uimm.m4: Added conversions for DataProxy.
ChangeLog | 12 +++++
libgda-ui/libgda-uimm.h | 1 +
libgda-ui/src/dataproxy.ccg | 32 +++++++++++++
libgda-ui/src/dataproxy.hg | 83 +++++++++++++++++++++++++++++++++++
libgda-ui/src/filelist.am | 1 +
libgda-ui/src/libgda_ui_vfuncs.defs | 43 ++++++++++++++++++
tools/m4/convert_libgda_uimm.m4 | 11 +++++
7 files changed, 183 insertions(+), 0 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 1801d13..eeee358 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
2010-02-24 José Alburquerque <jaalburqu svn gnome org>
+ Add DataProxy Interface.
+
+ * libgda-ui/libgda-uimm.h:
+ * libgda-ui/src/dataproxy.ccg:
+ * libgda-ui/src/dataproxy.hg:
+ * libgda-ui/src/filelist.am: Add new DataProxy interface.
+ * libgda-ui/src/libgda_ui_vfuncs.defs: Added GdauiDataProxy virtual
+ functions.
+ * tools/m4/convert_libgda_uimm.m4: Added conversions for DataProxy.
+
+2010-02-24 José Alburquerque <jaalburqu svn gnome org>
+
Add ProviderSelector class.
* libgda-ui/libgda-uimm.h:
diff --git a/libgda-ui/libgda-uimm.h b/libgda-ui/libgda-uimm.h
index 532aaab..a96943b 100644
--- a/libgda-ui/libgda-uimm.h
+++ b/libgda-ui/libgda-uimm.h
@@ -21,6 +21,7 @@
#define _LIBGDA_UIMM_H
#include <combo.h>
+#include <dataproxy.h>
#include <dataselector.h>
#include <login.h>
#include <providerselector.h>
diff --git a/libgda-ui/src/dataproxy.ccg b/libgda-ui/src/dataproxy.ccg
new file mode 100644
index 0000000..54b9fe8
--- /dev/null
+++ b/libgda-ui/src/dataproxy.ccg
@@ -0,0 +1,32 @@
+/* dataproxy.cc
+ *
+ * Copyright (c) 2010 libgda-uimm 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 <libgda-ui/gdaui-enum-types.h>
+#include <libgdamm/dataproxy.h>
+#include <gtkmm/actiongroup.h>
+
+namespace Gnome
+{
+
+namespace GdaUI
+{
+
+} /* namespace GdaUI */
+
+} /* namespace Gnome */
diff --git a/libgda-ui/src/dataproxy.hg b/libgda-ui/src/dataproxy.hg
new file mode 100644
index 0000000..91baf9f
--- /dev/null
+++ b/libgda-ui/src/dataproxy.hg
@@ -0,0 +1,83 @@
+/* dataproxy.h
+ *
+ * Copyright (c) 2010 libgda-uimm 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 <libgda-ui/gdaui-data-proxy.h>
+#include <glibmm/interface.h>
+
+_DEFS(libgda-uimm,libgda_ui)
+
+// Gtk class forward declarations.
+namespace Gtk
+{
+
+class ActionGroup;
+
+}
+
+namespace Gnome
+{
+
+// Gnome::Gda class declarations.
+namespace Gda
+{
+
+class DataProxy;
+
+}
+
+namespace GdaUI
+{
+
+_WRAP_ENUM(Action, GdauiAction)
+_WRAP_ENUM(DataProxyWriteMode, GdauiDataProxyWriteMode)
+
+/** DataProxy â?? Modifying data in a Gome::Gda::DataModel.
+ * The DataProxy interface is implemented by widgets which allow modifications
+ * to a Gnome::Gda::DataModel (through a Gnome::Gda::DataProxy to actually
+ * proxy the changes before they are written to the data model).
+ */
+class DataProxy :
+ public Glib::Interface
+{
+ _CLASS_INTERFACE(DataProxy, GdauiDataProxy, GDAUI_DATA_PROXY, GdauiDataProxyIface)
+
+public:
+ _WRAP_METHOD(Glib::RefPtr<Gnome::Gda::DataProxy> get_proxy(), gdaui_data_proxy_get_proxy)
+ _WRAP_METHOD(Glib::RefPtr<const Gnome::Gda::DataProxy> get_proxy() const, gdaui_data_proxy_get_proxy, constversion)
+ _WRAP_METHOD(Glib::RefPtr<Gtk::ActionGroup> get_actions_group(), gdaui_data_proxy_get_actions_group)
+ _WRAP_METHOD(Glib::RefPtr<const Gtk::ActionGroup> get_action_group() const, gdaui_data_proxy_get_actions_group, constversion)
+ _WRAP_METHOD(void perform_action(Action action), gdaui_data_proxy_perform_action)
+ _WRAP_METHOD(void set_editable(int column, bool editable), gdaui_data_proxy_column_set_editable)
+ _WRAP_METHOD(void show_actions(int column, bool show_actions), gdaui_data_proxy_column_show_actions)
+ _WRAP_METHOD(bool set_write_mode(DataProxyWriteMode mode), gdaui_data_proxy_set_write_mode)
+ _WRAP_METHOD(DataProxyWriteMode get_write_mode() const, gdaui_data_proxy_get_write_mode)
+
+#m4 _CONVERSION(`GdaDataProxy*', `const Glib::RefPtr<Gnome::Gda::DataProxy>&', `Glib::wrap($3, true)')
+ _WRAP_SIGNAL(void proxy_changed(const Glib::RefPtr<Gnome::Gda::DataProxy>& proxy), "proxy-changed")
+
+ _WRAP_VFUNC(Glib::RefPtr<Gnome::Gda::DataProxy> get_proxy() const, "get_proxy")
+ _WRAP_VFUNC(void set_editable(int column, bool editable), "set_column_editable")
+ _WRAP_VFUNC(void show_actions(int column, bool show_actions), "show_column_actions")
+ _WRAP_VFUNC(Glib::RefPtr<Gtk::ActionGroup> get_action_group() const, "get_actions_group")
+ _WRAP_VFUNC(bool set_write_mode(DataProxyWriteMode mode), "set_write_mode")
+};
+
+} // namespace GdaUI
+
+} // namespace Gnome
diff --git a/libgda-ui/src/filelist.am b/libgda-ui/src/filelist.am
index 22ff56d..15b30bf 100644
--- a/libgda-ui/src/filelist.am
+++ b/libgda-ui/src/filelist.am
@@ -10,6 +10,7 @@ files_defs = \
files_hg = \
combo.hg \
+ dataproxy.hg \
dataselector.hg \
login.hg \
providerselector.hg
diff --git a/libgda-ui/src/libgda_ui_vfuncs.defs b/libgda-ui/src/libgda_ui_vfuncs.defs
index 55ef1b8..c905bdb 100644
--- a/libgda-ui/src/libgda_ui_vfuncs.defs
+++ b/libgda-ui/src/libgda_ui_vfuncs.defs
@@ -2,6 +2,49 @@
; virtual function definitions
; define-vfunc is gtkmm-specific
+; GdauiDataProxy
+
+(define-vfunc get_proxy
+ (of-object "GdauiDataProxy")
+ (return-type "GdaDataProxy*")
+)
+
+(define-vfunc set_column_editable
+ (of-object "GdauiDataProxy")
+ (return-type "void")
+ (parameters
+ '("gint" "column")
+ '("gboolean" "editable")
+ )
+)
+
+(define-vfunc show_column_actions
+ (of-object "GdauiDataProxy")
+ (return-type "void")
+ (parameters
+ '("gint" "column")
+ '("gboolean" "show_actions")
+ )
+)
+
+(define-vfunc get_actions_group
+ (of-object "GdauiDataProxy")
+ (return-type "GtkActionGroup*")
+)
+
+(define-vfunc set_write_mode
+ (of-object "GdauiDataProxy")
+ (return-type "gboolean")
+ (parameters
+ '("GdauiDataProxyWriteMode" "mode")
+ )
+)
+
+(define-vfunc get_write_mode
+ (of-object "GdauiDataProxy")
+ (return-type "GdauiDataProxyWriteMode")
+)
+
; GdauiDataSelector
(define-vfunc get_model
diff --git a/tools/m4/convert_libgda_uimm.m4 b/tools/m4/convert_libgda_uimm.m4
index ca7b9fc..33e74c4 100644
--- a/tools/m4/convert_libgda_uimm.m4
+++ b/tools/m4/convert_libgda_uimm.m4
@@ -1,8 +1,19 @@
dnl Copyright (c) 2009 The libgda-uimm Development Team
dnl Enums:
+_CONV_ENUM(Gdaui,Action)
+_CONV_ENUM(Gdaui,DataProxyWriteMode)
_CONV_ENUM(Gdaui,LoginMode)
+dnl ActionGroup:
+_CONVERSION(`GtkActionGroup*', `Glib::RefPtr<Gtk::ActionGroup>', `Glib::wrap($3)')
+_CONVERSION(`Glib::RefPtr<Gtk::ActionGroup>', `GtkActionGroup*', `Glib::unwrap($3)')
+
+dnl DataProxy:
+_CONVERSION(`GdaDataProxy*', `Glib::RefPtr<Gnome::Gda::DataProxy>', `Glib::wrap($3)')
+_CONVERSION(`const Glib::RefPtr<Gnome::Gda::DataProxy>&', `GdaDataProxy*', `Glib::unwrap($3)')
+_CONVERSION(`Glib::RefPtr<Gnome::Gda::DataProxy>', `GdaDataProxy*', `Glib::unwrap($3)')
+
dnl DataModel:
_CONVERSION(`const Glib::RefPtr<Gnome::Gda::DataModel>&', `GdaDataModel*', `Glib::unwrap($3)')
_CONVERSION(`GdaDataModel*', `Glib::RefPtr<Gnome::Gda::DataModel>', `Glib::wrap($3)')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]