glom r1697 - trunk/glom/mode_design/print_layouts
- From: murrayc svn gnome org
- To: svn-commits-list gnome org
- Subject: glom r1697 - trunk/glom/mode_design/print_layouts
- Date: Fri, 3 Oct 2008 10:09:40 +0000 (UTC)
Author: murrayc
Date: Fri Oct 3 10:09:40 2008
New Revision: 1697
URL: http://svn.gnome.org/viewvc/glom?rev=1697&view=rev
Log:
Some unfinished stuff so I can get it easily on my laptop. Sorry
Modified:
trunk/glom/mode_design/print_layouts/canvas_print_layout.cc
trunk/glom/mode_design/print_layouts/canvas_print_layout.h
Modified: trunk/glom/mode_design/print_layouts/canvas_print_layout.cc
==============================================================================
--- trunk/glom/mode_design/print_layouts/canvas_print_layout.cc (original)
+++ trunk/glom/mode_design/print_layouts/canvas_print_layout.cc Fri Oct 3 10:09:40 2008
@@ -540,17 +540,22 @@
void Canvas_PrintLayout::fill_with_data(const FoundSet& found_set)
{
+ fill_with_data(m_items_group, found_set);
+}
+
+void Canvas_PrintLayout::fill_with_data(const Glib::RefPtr<Goocanvas::Group>& layout_group, const FoundSet& found_set)
+{
//A map of the text representation (e.g. field_name or relationship::field_name) to the index:
typedef std::map<Glib::ustring, guint> type_map_layout_fields_index;
type_map_layout_fields_index map_fields_index;
//Get list of fields to get from the database.
Utils::type_vecLayoutFields fieldsToGet;
- const int count = m_items_group->get_n_children();
+ const int count = layout_group->get_n_children();
guint field_i = 0;
for(int i = 0; i < count; ++i)
{
- Glib::RefPtr<Goocanvas::Item> base_canvas_item = m_items_group->get_child(i);
+ Glib::RefPtr<Goocanvas::Item> base_canvas_item = layout_group->get_child(i);
Glib::RefPtr<CanvasLayoutItem> canvas_item = Glib::RefPtr<CanvasLayoutItem>::cast_dynamic(base_canvas_item);
if(!canvas_item)
continue;
@@ -568,7 +573,13 @@
//to get the data for this column from the query results:
map_fields_index[ layoutitem_field->get_layout_display_name() ] = field_i;
++field_i;
- }
+ }
+ else
+ {
+ sharedptr<LayoutItem_Portal> layoutitem_portal = sharedptr<LayoutItem_Portal>::cast_dynamic(layout_item);
+ if(layoutitem_portal)
+ fill_with_data(canvas_item, found_set);
+ }
}
if(fieldsToGet.empty())
@@ -612,7 +623,7 @@
//(and clear the no-image pixbuf from images):
for(int i = 0; i < count; ++i)
{
- Glib::RefPtr<Goocanvas::Item> base_canvas_item = m_items_group->get_child(i);
+ Glib::RefPtr<Goocanvas::Item> base_canvas_item = layout_group->get_child(i);
Glib::RefPtr<CanvasLayoutItem> canvas_item = Glib::RefPtr<CanvasLayoutItem>::cast_dynamic(base_canvas_item);
if(!canvas_item)
continue;
@@ -641,6 +652,12 @@
}
}
+
+void Canvas_PrintLayout::fill_with_data_portal(const sharedptr<CanvasLayoutItem>& layout_portal, const FoundSet& found_set)
+{
+ //TODO.
+}
+
void Canvas_PrintLayout::set_zoom_percent(guint percent)
{
if(percent == 0)
Modified: trunk/glom/mode_design/print_layouts/canvas_print_layout.h
==============================================================================
--- trunk/glom/mode_design/print_layouts/canvas_print_layout.h (original)
+++ trunk/glom/mode_design/print_layouts/canvas_print_layout.h Fri Oct 3 10:09:40 2008
@@ -71,6 +71,9 @@
void add_layout_group_children(const sharedptr<LayoutGroup>& group);
void fill_layout_group(const sharedptr<LayoutGroup>& group);
+ static void fill_with_data(const Glib::RefPtr<Goocanvas::Group>& layout_group, const FoundSet& found_set);
+ static void fill_with_data_portal(const sharedptr<CanvasLayoutItem>& layout_portal, const FoundSet& found_set);
+
sharedptr<LayoutItem_Portal> offer_related_records(const sharedptr<LayoutItem_Portal>& portal, Gtk::Window* parent);
void on_item_show_context_menu(guint button, guint32 activate_time, Glib::RefPtr<CanvasLayoutItem> item);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]