[glom/gtktoolpallete] Use ToolGroupItem as C++.



commit e12471eb04640ed74f61dceb6b964da6baea457b
Author: Murray Cumming <murrayc murrayc com>
Date:   Tue Dec 22 15:46:58 2009 +0100

    Use ToolGroupItem as C++.

 .../print_layouts/print_layout_toolbar.cc          |   24 ++++++++++----------
 .../print_layouts/print_layout_toolbar.h           |    3 ++
 glom/utility_widgets/layouttoolbar.cc              |   22 +++++++++---------
 glom/utility_widgets/layouttoolbar.h               |    2 +
 glom/utility_widgets/sidebar.cc                    |   11 ++++-----
 glom/utility_widgets/sidebar.h                     |    6 ++--
 6 files changed, 36 insertions(+), 32 deletions(-)
---
diff --git a/glom/mode_design/print_layouts/print_layout_toolbar.cc b/glom/mode_design/print_layouts/print_layout_toolbar.cc
index 061f0a7..0235aa8 100644
--- a/glom/mode_design/print_layouts/print_layout_toolbar.cc
+++ b/glom/mode_design/print_layouts/print_layout_toolbar.cc
@@ -31,6 +31,9 @@ namespace Glom
 {
 
 PrintLayoutToolbar::PrintLayoutToolbar()
+:  m_group_items(_("Items")), 
+   m_group_lines(_("Lines")), 
+   m_group_records(_("Records"))
 {
   // Looks ugly otherwise:
   set_size_request(100, 200);
@@ -57,23 +60,20 @@ PrintLayoutToolbar::PrintLayoutToolbar()
                                         _("Related Records"), _("Drag this to the layout to add a new related records portal.")));
   
   //Note for translators: These are layout items, like widgets in GTK+.
-  GtkContainer* items_group = GTK_CONTAINER(gtk_tool_item_group_new(_("Items")));
-  gtk_container_add(items_group, GTK_WIDGET(drag_field->gobj()));
-  gtk_container_add(items_group, GTK_WIDGET(drag_text->gobj()));
-  gtk_container_add(items_group, GTK_WIDGET(drag_image->gobj()));
+  m_group_items.add(*drag_field);
+  m_group_items.add(*drag_text);
+  m_group_items.add(*drag_image);
 
   //Note for translators: These are layout items, like widgets in GTK+.
-  GtkContainer* lines_group = GTK_CONTAINER(gtk_tool_item_group_new(_("Lines")));
-  gtk_container_add(lines_group, GTK_WIDGET(drag_line_horizontal->gobj()));
-  gtk_container_add(lines_group, GTK_WIDGET(drag_line_vertical->gobj()));
+  m_group_lines.add(*drag_line_horizontal);
+  m_group_lines.add(*drag_line_vertical);
   
   //Note for translators: These are layout items, like widgets in GTK+.
-  GtkContainer* related_group = GTK_CONTAINER(gtk_tool_item_group_new(_("Records")));
-  gtk_container_add(related_group, GTK_WIDGET(drag_related_records->gobj()));
+  m_group_records.add(*drag_related_records);
 
-  add_group(GTK_TOOL_ITEM_GROUP(items_group));
-  add_group(GTK_TOOL_ITEM_GROUP(lines_group));
-  add_group(GTK_TOOL_ITEM_GROUP(related_group));
+  add_group(m_group_items);
+  add_group(m_group_lines);
+  add_group(m_group_records);
 
   set_drag_source();
   
diff --git a/glom/mode_design/print_layouts/print_layout_toolbar.h b/glom/mode_design/print_layouts/print_layout_toolbar.h
index 1e123de..54b199f 100644
--- a/glom/mode_design/print_layouts/print_layout_toolbar.h
+++ b/glom/mode_design/print_layouts/print_layout_toolbar.h
@@ -24,6 +24,7 @@
 #include <gtkmm/window.h>
 #include <gtkmm/handlebox.h>
 #include <gtkmm/box.h>
+#include <gtkmm/toolitemgroup.h>
 
 #include <glom/utility_widgets/sidebar.h>
 
@@ -36,6 +37,8 @@ public:
   PrintLayoutToolbar();
   virtual ~PrintLayoutToolbar();
 
+private:
+  Gtk::ToolItemGroup m_group_items, m_group_lines, m_group_records;
 };
 
 } //namespace Glom
diff --git a/glom/utility_widgets/layouttoolbar.cc b/glom/utility_widgets/layouttoolbar.cc
index 51a73f7..9af4117 100644
--- a/glom/utility_widgets/layouttoolbar.cc
+++ b/glom/utility_widgets/layouttoolbar.cc
@@ -49,6 +49,8 @@ namespace Glom
 {
 
 LayoutToolbar::LayoutToolbar()
+:  m_group_items(_("Items")), 
+   m_group_containers(_("Containers"))
 {
   // Looks ugly otherwise:
   set_size_request(100, 200);
@@ -79,20 +81,18 @@ LayoutToolbar::LayoutToolbar()
   //TODO: Add a drag item for the related records item.
   
   //Note for translators: These are container layout items, containing child layout items, like container widgets in GTK+.
-  GtkContainer* container_group = GTK_CONTAINER(gtk_tool_item_group_new(_("Containers")));
-  gtk_container_add(container_group, GTK_WIDGET(drag_group->gobj()));
-  gtk_container_add(container_group, GTK_WIDGET(drag_notebook->gobj()));
+  m_group_containers.add(*drag_group);
+  m_group_containers.add(*drag_notebook);
 
   //Note for translators: These are layout items, like widgets in GTK+.
-  GtkContainer* fields_group = GTK_CONTAINER(gtk_tool_item_group_new(_("Items")));
-  gtk_container_add(fields_group, GTK_WIDGET(drag_portal->gobj()));
-  gtk_container_add(fields_group, GTK_WIDGET(drag_item->gobj()));
-  gtk_container_add(fields_group, GTK_WIDGET(drag_button->gobj()));  
-  gtk_container_add(fields_group, GTK_WIDGET(drag_text->gobj()));
-  gtk_container_add(fields_group, GTK_WIDGET(drag_image->gobj()));
+  m_group_items.add(*drag_portal);
+  m_group_items.add(*drag_item);
+  m_group_items.add(*drag_button);
+  m_group_items.add(*drag_text);
+  m_group_items.add(*drag_image);
   
-  add_group(GTK_TOOL_ITEM_GROUP(container_group));
-  add_group(GTK_TOOL_ITEM_GROUP(fields_group));
+  add_group(m_group_containers);
+  add_group(m_group_items);
 
   set_drag_source();
   
diff --git a/glom/utility_widgets/layouttoolbar.h b/glom/utility_widgets/layouttoolbar.h
index 81dd94a..1586b43 100644
--- a/glom/utility_widgets/layouttoolbar.h
+++ b/glom/utility_widgets/layouttoolbar.h
@@ -36,6 +36,8 @@ public:
   LayoutToolbar();
    ~LayoutToolbar();
 
+private:
+  Gtk::ToolItemGroup m_group_items, m_group_containers;
 };
 
 } //namespace Glom
diff --git a/glom/utility_widgets/sidebar.cc b/glom/utility_widgets/sidebar.cc
index f63bbe7..9a11359 100644
--- a/glom/utility_widgets/sidebar.cc
+++ b/glom/utility_widgets/sidebar.cc
@@ -33,22 +33,21 @@ SideBar::SideBar()
   m_palette.set_style(Gtk::TOOLBAR_BOTH_HORIZ);
   
   add(m_palette);
-  show_all_children();;
-
+  show_all_children();
 }
 
 SideBar::~SideBar()
 {
 }
 
-void SideBar::add_group(GtkToolItemGroup* group)
+void SideBar::add_group(Gtk::ToolItemGroup& group)
 {
-  m_palette.add(*Glib::wrap(GTK_WIDGET(group)));
+  m_palette.add(group);
 }
 
-void SideBar::remove_group(GtkToolItemGroup* group)
+void SideBar::remove_group(Gtk::ToolItemGroup& group)
 {
-  m_palette.remove(*Glib::wrap(GTK_WIDGET(group)));
+  m_palette.remove(group);
 }
 
 void SideBar::set_drag_source()
diff --git a/glom/utility_widgets/sidebar.h b/glom/utility_widgets/sidebar.h
index dbd2249..7ae07be 100644
--- a/glom/utility_widgets/sidebar.h
+++ b/glom/utility_widgets/sidebar.h
@@ -34,10 +34,10 @@ class SideBar : public Gtk::HandleBox
 {
 public:
   SideBar();
-  ~SideBar();
+  virtual ~SideBar();
     
-  void add_group(GtkToolItemGroup* group);
-  void remove_group(GtkToolItemGroup* group);
+  void add_group(Gtk::ToolItemGroup& group);
+  void remove_group(Gtk::ToolItemGroup& group);
   
   void set_drag_source();
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]