[glom] Design: Related Records: Allow the developer to specify how many rows to show.
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glom] Design: Related Records: Allow the developer to specify how many rows to show.
- Date: Mon, 25 Jul 2011 09:56:41 +0000 (UTC)
commit 2d1cfeb934e8d297496b377251550d9f8c719954
Author: Murray Cumming <murrayc murrayc com>
Date: Mon Jul 25 11:56:30 2011 +0200
Design: Related Records: Allow the developer to specify how many rows to show.
* glom/libglom/data_structure/layout/layoutitem_portal.[h|cc]: Add
set/get_rows_count() to specify how many rows to show.
* glom/libglom/document/document.cc: Load and save that rows count.
* ui/developer/window_data_layout.glade: Add a SpinButton to specify the
number of rows to show in related records portals.
* glom/mode_design/layout/dialog_layout_details.[h|cc]: Get that widget,
but hide it in this base class.
* glom/mode_design/layout/dialog_layout_list_related.[h|cc]:
Constructor: Show and setup the spinbutton.
set_document(): Set the spinbuttons's contents.
save_to_document(): Save it back to the portal layout item.
* glom/mode_data/box_data_list_related.cc: create_layout():
Use DbAddDel::set_height_rows() to try to show the correct number of rows.
ChangeLog | 18 ++
.../data_structure/layout/layoutitem_portal.cc | 17 +-
.../data_structure/layout/layoutitem_portal.h | 10 +
glom/libglom/document/document.cc | 12 +-
glom/mode_data/box_data_list_related.cc | 8 +-
glom/mode_design/layout/dialog_layout_details.cc | 11 +-
glom/mode_design/layout/dialog_layout_details.h | 3 +
.../layout/dialog_layout_list_related.cc | 19 ++-
.../layout/dialog_layout_list_related.h | 2 +-
ui/developer/window_data_layout.glade | 297 ++++++++++++++-----
10 files changed, 310 insertions(+), 87 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 69b07c2..34fdb57 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2011-07-25 Murray Cumming <murrayc murrayc com>
+
+ Design: Related Records: Allow the developer to specify how many rows to show.
+
+ * glom/libglom/data_structure/layout/layoutitem_portal.[h|cc]: Add
+ set/get_rows_count() to specify how many rows to show.
+ * glom/libglom/document/document.cc: Load and save that rows count.
+ * ui/developer/window_data_layout.glade: Add a SpinButton to specify the
+ number of rows to show in related records portals.
+ * glom/mode_design/layout/dialog_layout_details.[h|cc]: Get that widget,
+ but hide it in this base class.
+ * glom/mode_design/layout/dialog_layout_list_related.[h|cc]:
+ Constructor: Show and setup the spinbutton.
+ set_document(): Set the spinbuttons's contents.
+ save_to_document(): Save it back to the portal layout item.
+ * glom/mode_data/box_data_list_related.cc: create_layout():
+ Use DbAddDel::set_height_rows() to try to show the correct number of rows.
+
2011-07-20 Murray Cumming <murrayc murrayc com>
ImageGlom: Ignore warning about invalid GdaBinary GValue.
diff --git a/glom/libglom/data_structure/layout/layoutitem_portal.cc b/glom/libglom/data_structure/layout/layoutitem_portal.cc
index fe8a9a2..b1ea335 100644
--- a/glom/libglom/data_structure/layout/layoutitem_portal.cc
+++ b/glom/libglom/data_structure/layout/layoutitem_portal.cc
@@ -26,7 +26,8 @@ namespace Glom
LayoutItem_Portal::LayoutItem_Portal()
: m_print_layout_row_height(20), //arbitrary default.
- m_navigation_type(LayoutItem_Portal::NAVIGATION_AUTOMATIC)
+ m_navigation_type(LayoutItem_Portal::NAVIGATION_AUTOMATIC),
+ m_rows_count(6) //Sensible default.
{
}
@@ -36,7 +37,8 @@ LayoutItem_Portal::LayoutItem_Portal(const LayoutItem_Portal& src)
//HasTitleSingular(src),
m_navigation_relationship_specific(src.m_navigation_relationship_specific),
m_print_layout_row_height(src.m_print_layout_row_height),
- m_navigation_type(src.m_navigation_type)
+ m_navigation_type(src.m_navigation_type),
+ m_rows_count(src.m_rows_count)
{
}
@@ -59,6 +61,7 @@ LayoutItem_Portal& LayoutItem_Portal::operator=(const LayoutItem_Portal& src)
m_navigation_relationship_specific = src.m_navigation_relationship_specific;
m_print_layout_row_height = src.m_print_layout_row_height;
m_navigation_type = src.m_navigation_type;
+ m_rows_count = src.m_rows_count;
return *this;
}
@@ -167,6 +170,16 @@ void LayoutItem_Portal::set_navigation_type(LayoutItem_Portal::navigation_type t
m_navigation_type = type;
}
+double LayoutItem_Portal::get_rows_count() const
+{
+ return m_rows_count;
+}
+
+void LayoutItem_Portal::set_rows_count(double rows_count)
+{
+ m_rows_count = rows_count;
+}
+
/*
void LayoutItem_Portal::debug(guint level) const
{
diff --git a/glom/libglom/data_structure/layout/layoutitem_portal.h b/glom/libglom/data_structure/layout/layoutitem_portal.h
index 962a1d8..d1272eb 100644
--- a/glom/libglom/data_structure/layout/layoutitem_portal.h
+++ b/glom/libglom/data_structure/layout/layoutitem_portal.h
@@ -98,6 +98,14 @@ public:
/// This is used only for the print layouts.
void set_print_layout_row_height(double row_height);
+
+ /** Get the number of rows that should be displayed.
+ */
+ double get_rows_count() const;
+
+ /** Set the number of rows that should be displayed.
+ */
+ void set_rows_count(double rows_count);
private:
@@ -109,6 +117,8 @@ private:
//If no navigation relationship has been specified then it will be automatically chosen or navigation will be disabled:
navigation_type m_navigation_type;
+
+ double m_rows_count;
};
} //namespace Glom
diff --git a/glom/libglom/document/document.cc b/glom/libglom/document/document.cc
index 78b3c65..6914f01 100644
--- a/glom/libglom/document/document.cc
+++ b/glom/libglom/document/document.cc
@@ -73,6 +73,7 @@ static const char GLOM_NODE_DATA_LAYOUT_NOTEBOOK[] = "data_layout_notebook";
static const char GLOM_NODE_DATA_LAYOUT_PORTAL[] = "data_layout_portal";
static const char GLOM_NODE_DATA_LAYOUT_PORTAL_NAVIGATIONRELATIONSHIP[] = "portal_navigation_relationship";
+static const char GLOM_ATTRIBUTE_PORTAL_ROWS_COUNT[] = "portal_rows_count";
static const char GLOM_ATTRIBUTE_PORTAL_NAVIGATION_TYPE[] = "navigation_type";
static const char GLOM_ATTRIBUTE_PORTAL_NAVIGATION_TYPE_AUTOMATIC[] = "automatic";
static const char GLOM_ATTRIBUTE_PORTAL_NAVIGATION_TYPE_SPECIFIC[] = "specific";
@@ -2309,6 +2310,12 @@ void Document::load_after_layout_group(const xmlpp::Element* node, const Glib::u
}
load_after_layout_item_usesrelationship(element, table_name, portal);
+
+ const double rows_count =
+ get_node_attribute_value_as_decimal_double(element,
+ GLOM_ATTRIBUTE_PORTAL_ROWS_COUNT);
+ if(rows_count) //0 is both a useless value and possible with older files that didn't have this attribute.
+ portal->set_rows_count(rows_count);
xmlpp::Element* elementNavigationRelationshipSpecific = get_node_child_named(element, GLOM_NODE_DATA_LAYOUT_PORTAL_NAVIGATIONRELATIONSHIP);
if(elementNavigationRelationshipSpecific)
@@ -3260,7 +3267,10 @@ void Document::save_before_layout_group(xmlpp::Element* node, const sharedptr<co
set_node_attribute_value(child_navigation_relationship,
GLOM_ATTRIBUTE_PORTAL_NAVIGATION_TYPE, navigation_type_string);
}
-
+
+ std::cout << "document: saving rows_count=" << portal->get_rows_count() << std::endl;
+ set_node_attribute_value_as_decimal_double(child,
+ GLOM_ATTRIBUTE_PORTAL_ROWS_COUNT, portal->get_rows_count());
//Print Layout specific stuff:
set_node_attribute_value_as_decimal(child, GLOM_ATTRIBUTE_PORTAL_PRINT_LAYOUT_ROW_HEIGHT, portal->get_print_layout_row_height());
diff --git a/glom/mode_data/box_data_list_related.cc b/glom/mode_data/box_data_list_related.cc
index aa7095f..91a30d9 100644
--- a/glom/mode_data/box_data_list_related.cc
+++ b/glom/mode_data/box_data_list_related.cc
@@ -390,7 +390,13 @@ void Box_Data_List_Related::create_layout()
//m_AddDel.set_columns_count(m_Fields.size());
m_AddDel.set_table_name(Base_DB_Table::m_table_name);
-
+
+ if(m_portal)
+ {
+ const double rows_count = m_portal->get_rows_count();
+ if(rows_count) //0 is a silly value.
+ m_AddDel.set_height_rows(rows_count);
+ }
sharedptr<Field> field_primary_key = get_field_primary_key_for_table(Base_DB_Table::m_table_name);
if(!field_primary_key)
diff --git a/glom/mode_design/layout/dialog_layout_details.cc b/glom/mode_design/layout/dialog_layout_details.cc
index ce93fba..1cd8cce 100644
--- a/glom/mode_design/layout/dialog_layout_details.cc
+++ b/glom/mode_design/layout/dialog_layout_details.cc
@@ -57,7 +57,9 @@ Dialog_Layout_Details::Dialog_Layout_Details(BaseObjectType* cobject, const Glib
m_button_field_delete(0),
m_button_formatting(0),
m_button_edit(0),
- m_label_table_name(0)
+ m_label_table_name(0),
+ m_hbox_rows_count(0),
+ m_spinbutton_rows_count(0)
{
// Get the alternate sets of widgets, only one of which should be shown:
// Derived classes will hide one and show the other:
@@ -73,7 +75,12 @@ Dialog_Layout_Details::Dialog_Layout_Details(BaseObjectType* cobject, const Glib
box_calendar->hide();
builder->get_widget("label_table_name", m_label_table_name);
-
+
+ //This is only shown in Dialog_Layout_List_Related:
+ builder->get_widget("hbox_rows_count", m_hbox_rows_count);
+ builder->get_widget("spinbutton_rows_count", m_spinbutton_rows_count);
+ m_hbox_rows_count->hide();
+
builder->get_widget("treeview_fields", m_treeview_fields);
if(m_treeview_fields)
{
diff --git a/glom/mode_design/layout/dialog_layout_details.h b/glom/mode_design/layout/dialog_layout_details.h
index 92c0f9d..70285f8 100644
--- a/glom/mode_design/layout/dialog_layout_details.h
+++ b/glom/mode_design/layout/dialog_layout_details.h
@@ -120,6 +120,9 @@ protected:
Gtk::Button* m_button_formatting;
Gtk::Button* m_button_edit;
Gtk::Label* m_label_table_name;
+
+ Gtk::Box* m_hbox_rows_count;
+ Gtk::SpinButton* m_spinbutton_rows_count;
Glib::RefPtr<TreeStore_Layout> m_model_items;
};
diff --git a/glom/mode_design/layout/dialog_layout_list_related.cc b/glom/mode_design/layout/dialog_layout_list_related.cc
index 85e8a34..19f7411 100644
--- a/glom/mode_design/layout/dialog_layout_list_related.cc
+++ b/glom/mode_design/layout/dialog_layout_list_related.cc
@@ -50,6 +50,12 @@ Dialog_Layout_List_Related::Dialog_Layout_List_Related(BaseObjectType* cobject,
m_box_table_widgets->hide();
m_box_related_table_widgets->show();
m_box_related_navigation->show();
+ m_hbox_rows_count->show();
+
+ m_spinbutton_rows_count->set_range(0, 100); //Otherwise only 0 would be allowed.
+ m_spinbutton_rows_count->set_increments(1, 10); //Otherwise the buttons do nothing.
+ m_spinbutton_rows_count->signal_value_changed().connect(
+ sigc::mem_fun(*this, &Dialog_Layout_List_Related::on_spinbutton_rows_count_changed));
builder->get_widget_derived("combo_relationship_name", m_combo_relationship);
m_combo_relationship->signal_changed().connect(sigc::mem_fun(*this, &Dialog_Layout_List_Related::on_combo_relationship_changed));
@@ -107,6 +113,8 @@ void Dialog_Layout_List_Related::set_document(const Glib::ustring& layout_name,
m_portal = glom_sharedptr_clone(portal);
else
m_portal = sharedptr<LayoutItem_Portal>::create(); //The rest of the class assumes that this is not null.
+
+ m_spinbutton_rows_count->set_value( m_portal->get_rows_count() );
type_vecConstLayoutFields empty_fields; //Just to satisfy the base class.
Dialog_Layout::set_document(layout_name, layout_platform, document, actual_from_table, empty_fields);
@@ -264,7 +272,7 @@ void Dialog_Layout_List_Related::save_to_document()
if(m_modified)
{
//Get the data from the TreeView and store it in the document:
-
+
//Get the groups and their fields:
Document::type_list_layout_groups mapGroups;
@@ -320,7 +328,9 @@ void Dialog_Layout_List_Related::save_to_document()
uses_rel->set_related_relationship(sharedptr<Relationship>());
m_portal->set_navigation_type(LayoutItem_Portal::NAVIGATION_NONE);
}
-
+
+ std::cout << "debug: saving rows_count=" << m_spinbutton_rows_count->get_value() << std::endl;
+ m_portal->set_rows_count( m_spinbutton_rows_count->get_value() );
}
}
@@ -400,6 +410,11 @@ void Dialog_Layout_List_Related::on_combo_relationship_changed()
m_modified = true;
}
+void Dialog_Layout_List_Related::on_spinbutton_rows_count_changed()
+{
+ m_modified = true;
+}
+
sharedptr<Relationship> Dialog_Layout_List_Related::get_relationship() const
{
std::cout << "debug: I wonder if this function is used." << std::endl;
diff --git a/glom/mode_design/layout/dialog_layout_list_related.h b/glom/mode_design/layout/dialog_layout_list_related.h
index 161af86..57ed7f4 100644
--- a/glom/mode_design/layout/dialog_layout_list_related.h
+++ b/glom/mode_design/layout/dialog_layout_list_related.h
@@ -65,7 +65,7 @@ protected:
void on_combo_navigation_specific_changed();
void on_checkbutton_show_child_relationships();
-
+ void on_spinbutton_rows_count_changed();
ComboBox_Relationship* m_combo_relationship;
Gtk::CheckButton* m_checkbutton_show_child_relationships;
diff --git a/ui/developer/window_data_layout.glade b/ui/developer/window_data_layout.glade
index c77277d..6b2404e 100644
--- a/ui/developer/window_data_layout.glade
+++ b/ui/developer/window_data_layout.glade
@@ -1,10 +1,9 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="2.16"/>
- <!-- interface-requires gtksourceview 0.0 -->
<!-- interface-naming-policy toplevel-contextual -->
-
<object class="GtkWindow" id="window_data_layout">
+ <property name="can_focus">False</property>
<property name="border_width">12</property>
<property name="title" translatable="yes">Layout</property>
<property name="default_width">400</property>
@@ -12,19 +11,22 @@
<child>
<object class="GtkVBox" id="vbox7">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkHBox" id="hbox9">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkHBox" id="hbox_table_widgets">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label264">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label" translatable="yes"><b>Table:</b></property>
<property name="use_markup">True</property>
</object>
@@ -37,6 +39,7 @@
<child>
<object class="GtkLabel" id="label_table_name">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label" translatable="yes">table name</property>
</object>
<packing>
@@ -55,10 +58,12 @@
<child>
<object class="GtkHBox" id="hbox_related_table_widgets">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label263">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label" translatable="yes"><b>Relationship:</b></property>
<property name="use_markup">True</property>
</object>
@@ -71,6 +76,7 @@
<child>
<object class="GtkComboBox" id="combo_relationship_name">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
@@ -84,6 +90,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
</object>
@@ -104,28 +111,33 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label_title">
+ <object class="GtkEntry" id="entry_table_title">
<property name="visible">True</property>
- <property name="label" translatable="yes"><b>Title:</b></property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="primary_icon_activatable">False</property>
+ <property name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property name="secondary_icon_sensitive">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
- <property name="position">3</property>
+ <property name="position">2</property>
</packing>
</child>
<child>
- <object class="GtkEntry" id="entry_table_title">
+ <object class="GtkLabel" id="label_title">
<property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Title:</b></property>
+ <property name="use_markup">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
- <property name="position">2</property>
+ <property name="position">3</property>
</packing>
</child>
</object>
@@ -138,15 +150,18 @@
<child>
<object class="GtkFrame" id="frame3">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment7">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="left_padding">12</property>
<child>
<object class="GtkTable" id="table11">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
<property name="column_spacing">6</property>
@@ -169,27 +184,31 @@
<child>
<object class="GtkVBox" id="vbox93">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <object class="GtkButton" id="button_add_image">
+ <object class="GtkButton" id="button_add_text">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Add an image to the layout, such as a logo. The image will be the same for every record viewed. To show an image field from a record, to show different images for each field, use the field layout item.</property>
+ <property name="tooltip_text" translatable="yes">Add text to a layout, such as an explanation or a warning. The text will be the same for every record viewed.</property>
+ <property name="use_action_appearance">False</property>
<child>
- <object class="GtkAlignment" id="alignment86">
+ <object class="GtkAlignment" id="alignment81">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
- <object class="GtkHBox" id="hbox110">
+ <object class="GtkHBox" id="hbox103">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">2</property>
<child>
- <object class="GtkImage" id="image47">
+ <object class="GtkImage" id="image43">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="stock">gtk-add</property>
</object>
<packing>
@@ -199,9 +218,10 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label240">
+ <object class="GtkLabel" id="label231">
<property name="visible">True</property>
- <property name="label">Add Image</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Add Text</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -219,28 +239,32 @@
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
- <property name="position">5</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="button_add_field">
+ <object class="GtkButton" id="button_add_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Add a layout item that shows the data from a field in the record, and allows the user to edit that value.</property>
+ <property name="tooltip_text" translatable="yes">Add a button. Edit the button to define the script that will be run when the button is clicked.</property>
+ <property name="use_action_appearance">False</property>
<child>
- <object class="GtkAlignment" id="alignment77">
+ <object class="GtkAlignment" id="alignment78">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
- <object class="GtkHBox" id="hbox99">
+ <object class="GtkHBox" id="hbox100">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">2</property>
<child>
- <object class="GtkImage" id="image41">
+ <object class="GtkImage" id="image42">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="stock">gtk-add</property>
</object>
<packing>
@@ -250,9 +274,10 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label227">
+ <object class="GtkLabel" id="label228">
<property name="visible">True</property>
- <property name="label">Add Field</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Add Button</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -270,28 +295,31 @@
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
- <property name="position">6</property>
+ <property name="position">2</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="button_add_group">
- <property name="visible">True</property>
+ <object class="GtkButton" id="button_add_notebook">
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Add a group which can contain other layout items. Use this to group items together, such as fields.</property>
+ <property name="tooltip_text" translatable="yes">Add a tabbed notebook. Each page of the notebook may contain several other layout items, but only one page will be visible at one time.</property>
+ <property name="use_action_appearance">False</property>
<child>
- <object class="GtkAlignment" id="alignment17">
+ <object class="GtkAlignment" id="alignment85">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
- <object class="GtkHBox" id="hbox17">
+ <object class="GtkHBox" id="hbox109">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">2</property>
<child>
- <object class="GtkImage" id="image8">
+ <object class="GtkImage" id="image46">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="stock">gtk-add</property>
</object>
<packing>
@@ -301,9 +329,10 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label56">
+ <object class="GtkLabel" id="label236">
<property name="visible">True</property>
- <property name="label" translatable="yes">Add _Group</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Add Notebook</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -321,28 +350,32 @@
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
- <property name="position">5</property>
+ <property name="position">3</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="button_add_related_calendar">
+ <object class="GtkButton" id="button_add_related">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Add a related records calendar portal. This is a calendar showing records from a related table. Remember to edit this layout item to specify the relationship to use, and the fields to show from the related table.</property>
+ <property name="tooltip_text" translatable="yes">Add a related records portal. This is a list of records in a related table. Remember to edit this layout item to specify the relationship to use, and the fields to show from the related table.</property>
+ <property name="use_action_appearance">False</property>
<child>
- <object class="GtkAlignment" id="alignment1">
+ <object class="GtkAlignment" id="alignment22">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
- <object class="GtkHBox" id="hbox1">
+ <object class="GtkHBox" id="hbox29">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">2</property>
<child>
- <object class="GtkImage" id="image1">
+ <object class="GtkImage" id="image19">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="stock">gtk-add</property>
</object>
<packing>
@@ -352,9 +385,10 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label1">
+ <object class="GtkLabel" id="label74">
<property name="visible">True</property>
- <property name="label" translatable="yes">Add Related Calendar</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Add Related Records</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -376,24 +410,28 @@
</packing>
</child>
<child>
- <object class="GtkButton" id="button_add_related">
+ <object class="GtkButton" id="button_add_related_calendar">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Add a related records portal. This is a list of records in a related table. Remember to edit this layout item to specify the relationship to use, and the fields to show from the related table.</property>
+ <property name="tooltip_text" translatable="yes">Add a related records calendar portal. This is a calendar showing records from a related table. Remember to edit this layout item to specify the relationship to use, and the fields to show from the related table.</property>
+ <property name="use_action_appearance">False</property>
<child>
- <object class="GtkAlignment" id="alignment22">
+ <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
- <object class="GtkHBox" id="hbox29">
+ <object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">2</property>
<child>
- <object class="GtkImage" id="image19">
+ <object class="GtkImage" id="image1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="stock">gtk-add</property>
</object>
<packing>
@@ -403,9 +441,10 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label74">
+ <object class="GtkLabel" id="label1">
<property name="visible">True</property>
- <property name="label" translatable="yes">Add Related Records</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Add Related Calendar</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -427,23 +466,28 @@
</packing>
</child>
<child>
- <object class="GtkButton" id="button_add_notebook">
+ <object class="GtkButton" id="button_add_image">
+ <property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Add a tabbed notebook. Each page of the notebook may contain several other layout items, but only one page will be visible at one time.</property>
+ <property name="tooltip_text" translatable="yes">Add an image to the layout, such as a logo. The image will be the same for every record viewed. To show an image field from a record, to show different images for each field, use the field layout item.</property>
+ <property name="use_action_appearance">False</property>
<child>
- <object class="GtkAlignment" id="alignment85">
+ <object class="GtkAlignment" id="alignment86">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
- <object class="GtkHBox" id="hbox109">
+ <object class="GtkHBox" id="hbox110">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">2</property>
<child>
- <object class="GtkImage" id="image46">
+ <object class="GtkImage" id="image47">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="stock">gtk-add</property>
</object>
<packing>
@@ -453,9 +497,10 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label236">
+ <object class="GtkLabel" id="label240">
<property name="visible">True</property>
- <property name="label" translatable="yes">Add Notebook</property>
+ <property name="can_focus">False</property>
+ <property name="label">Add Image</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -473,28 +518,32 @@
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
- <property name="position">3</property>
+ <property name="position">5</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="button_add_button">
+ <object class="GtkButton" id="button_add_group">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Add a button. Edit the button to define the script that will be run when the button is clicked.</property>
+ <property name="tooltip_text" translatable="yes">Add a group which can contain other layout items. Use this to group items together, such as fields.</property>
+ <property name="use_action_appearance">False</property>
<child>
- <object class="GtkAlignment" id="alignment78">
+ <object class="GtkAlignment" id="alignment17">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
- <object class="GtkHBox" id="hbox100">
+ <object class="GtkHBox" id="hbox17">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">2</property>
<child>
- <object class="GtkImage" id="image42">
+ <object class="GtkImage" id="image8">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="stock">gtk-add</property>
</object>
<packing>
@@ -504,9 +553,10 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label228">
+ <object class="GtkLabel" id="label56">
<property name="visible">True</property>
- <property name="label" translatable="yes">Add Button</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Add _Group</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -524,28 +574,32 @@
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
- <property name="position">2</property>
+ <property name="position">5</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="button_add_text">
+ <object class="GtkButton" id="button_add_field">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Add text to a layout, such as an explanation or a warning. The text will be the same for every record viewed.</property>
+ <property name="tooltip_text" translatable="yes">Add a layout item that shows the data from a field in the record, and allows the user to edit that value.</property>
+ <property name="use_action_appearance">False</property>
<child>
- <object class="GtkAlignment" id="alignment81">
+ <object class="GtkAlignment" id="alignment77">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
- <object class="GtkHBox" id="hbox103">
+ <object class="GtkHBox" id="hbox99">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">2</property>
<child>
- <object class="GtkImage" id="image43">
+ <object class="GtkImage" id="image41">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="stock">gtk-add</property>
</object>
<packing>
@@ -555,9 +609,10 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label231">
+ <object class="GtkLabel" id="label227">
<property name="visible">True</property>
- <property name="label" translatable="yes">Add Text</property>
+ <property name="can_focus">False</property>
+ <property name="label">Add Field</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -575,7 +630,7 @@
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
- <property name="position">1</property>
+ <property name="position">6</property>
</packing>
</child>
</object>
@@ -588,10 +643,12 @@
<child>
<object class="GtkHBox" id="hbox5">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkHButtonBox" id="hbuttonbox9">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<property name="layout_style">start</property>
<child>
@@ -601,6 +658,7 @@
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
</object>
<packing>
@@ -616,6 +674,7 @@
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
</object>
<packing>
@@ -626,12 +685,15 @@
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkHButtonBox" id="hbuttonbox5">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<property name="layout_style">end</property>
<child>
@@ -642,6 +704,7 @@
<property name="can_default">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Remove the item from the layout. If you remove a field layout item, it will not remove the field from the table itself. It just will not be seen on the layout.</property>
+ <property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
</object>
<packing>
@@ -656,18 +719,22 @@
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
<child>
<object class="GtkAlignment" id="alignment42">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
<object class="GtkHBox" id="hbox54">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">2</property>
<child>
<object class="GtkImage" id="image28">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="stock">gtk-edit</property>
</object>
<packing>
@@ -679,6 +746,7 @@
<child>
<object class="GtkLabel" id="label121">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label" translatable="yes">Formatting</property>
<property name="use_underline">True</property>
</object>
@@ -706,6 +774,7 @@
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
</object>
<packing>
@@ -716,6 +785,8 @@
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
@@ -737,32 +808,38 @@
<child type="label">
<object class="GtkLabel" id="label28">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label" translatable="yes"><b>Fields</b></property>
<property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame_related_table_navigation">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment93">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="left_padding">12</property>
<child>
<object class="GtkVBox" id="vbox105">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label261">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Clicking the row button takes the user to the table specified by this relationship:</property>
</object>
@@ -775,6 +852,7 @@
<child>
<object class="GtkHBox" id="hbox130">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkRadioButton" id="radiobutton_navigation_automatic">
@@ -782,6 +860,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
</object>
@@ -794,6 +873,7 @@
<child>
<object class="GtkLabel" id="label_navigation_automatic">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label">the relationship name</property>
</object>
<packing>
@@ -812,6 +892,7 @@
<child>
<object class="GtkHBox" id="hbox130b">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkRadioButton" id="radiobutton_navigation_none">
@@ -819,6 +900,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">radiobutton_navigation_automatic</property>
@@ -839,11 +921,13 @@
<child>
<object class="GtkHBox" id="hbox131">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<child>
<object class="GtkRadioButton" id="radiobutton_navigation_specify">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">radiobutton_navigation_automatic</property>
@@ -857,14 +941,18 @@
<child>
<object class="GtkComboBox" id="combobox_navigation_specify">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
@@ -875,6 +963,7 @@
<child type="label">
<object class="GtkLabel" id="frame_navigation">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label" translatable="yes"><b>Navigation</b></property>
<property name="use_markup">True</property>
</object>
@@ -882,25 +971,30 @@
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame_calendar">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment25">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="left_padding">12</property>
<child>
<object class="GtkHBox" id="hbox44">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label26">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label" translatable="yes">Date Field:</property>
</object>
<packing>
@@ -912,9 +1006,11 @@
<child>
<object class="GtkComboBox" id="combobox_date_field">
<property name="visible">True</property>
- <property name="tooltip_text" translatable="yes">This field will be used to decide which records to show in the calendar.</property>
+ <property name="can_focus">False</property>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
@@ -925,6 +1021,7 @@
<child type="label">
<object class="GtkLabel" id="frame_navigation1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="label" translatable="yes"><b>Dates</b></property>
<property name="use_markup">True</property>
</object>
@@ -932,12 +1029,14 @@
</object>
<packing>
<property name="expand">False</property>
- <property name="position">4</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkHButtonBox" id="hbuttonbox7">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">6</property>
<property name="layout_style">end</property>
<child>
@@ -947,6 +1046,7 @@
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
</object>
<packing>
@@ -958,10 +1058,51 @@
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">3</property>
</packing>
</child>
+ <child>
+ <object class="GtkHBox" id="hbox_rows_count">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Number of rows to show:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="spinbutton_rows_count">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">â</property>
+ <property name="primary_icon_activatable">False</property>
+ <property name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property name="secondary_icon_sensitive">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
</object>
</child>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]