libglom-1.26 1.28.5

- Main Page
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | List of all members
Glom::LayoutItem_Portal Class Reference

get_title() returns either the title of the Field or the CustomTitle. More...

Inheritance diagram for Glom::LayoutItem_Portal:
[legend]
Collaboration diagram for Glom::LayoutItem_Portal:
[legend]

## Public Types
enum | navigation_type { NAVIGATION_NONE, NAVIGATION_AUTOMATIC, NAVIGATION_SPECIFIC }
| The navigation (if any) that should be used when the user activates a related record row. More...
Public Types inherited from Glom::LayoutGroup
typedef std::vector< sharedptr< LayoutItem > > | type_list_items
typedef std::vector< sharedptr< const LayoutItem > > | type_list_const_items
Public Types inherited from Glom::TranslatableItem
enum | enumTranslatableItemType { TRANSLATABLE_TYPE_INVALID, TRANSLATABLE_TYPE_FIELD, TRANSLATABLE_TYPE_RELATIONSHIP, TRANSLATABLE_TYPE_LAYOUT_ITEM, TRANSLATABLE_TYPE_CUSTOM_TITLE, TRANSLATABLE_TYPE_PRINT_LAYOUT, TRANSLATABLE_TYPE_REPORT, TRANSLATABLE_TYPE_TABLE, TRANSLATABLE_TYPE_BUTTON, TRANSLATABLE_TYPE_TEXTOBJECT, TRANSLATABLE_TYPE_IMAGEOBJECT, TRANSLATABLE_TYPE_CHOICEVALUE, TRANSLATABLE_TYPE_DATABASE_TITLE, TRANSLATABLE_TYPE_STATIC_TEXT }
typedef std::map< Glib::ustring, Glib::ustring > | type_map_locale_to_translations

## Public Member Functions
| LayoutItem_Portal ()
| LayoutItem_Portal (const LayoutItem_Portal& src)
LayoutItem_Portal& | operator= (const LayoutItem_Portal& src)
virtual | ~LayoutItem_Portal ()
virtual LayoutItem* | clone () const
| Create a new copied instance. More...
virtual Glib::ustring | get_title (const Glib::ustring& locale) const
| Get the title's translation for the specified locale, falling back to the original text if there is no translation. More...
virtual Glib::ustring | get_title_or_name (const Glib::ustring& locale) const
virtual void | change_field_item_name (const Glib::ustring& table_name, const Glib::ustring& field_name, const Glib::ustring& field_name_new)
virtual void | change_related_field_item_name (const Glib::ustring& table_name, const Glib::ustring& field_name, const Glib::ustring& field_name_new)
Glib::ustring | get_from_table () const
| A helper method to avoid extra ifs to avoid null dereferencing. More...
sharedptr< UsesRelationship > | get_navigation_relationship_specific ()
| Gets the relationship to use for navigation if get_navigation_type() is NAVIGATION_NONE. More...
sharedptr< const UsesRelationship > | get_navigation_relationship_specific () const
| Get the relationship to use for navigation if get_navigation_type() is NAVIGATION_NONE. More...
void | set_navigation_relationship_specific (const sharedptr< UsesRelationship >& relationship)
| Set the relationship to use for navigation if get_navigation_type() is NAVIGATION_NONE. More...
void | reset_navigation_relationship ()
navigation_type | get_navigation_type () const
| Discover what type (if any) navigation should be used when the user activates a related record row. More...
void | set_navigation_type (navigation_type type)
| Set what type (if any) navigation should be used when the user activates a related record row. More...
void | get_suitable_table_to_view_details (Glib::ustring& table_name, sharedptr< const UsesRelationship >& relationship, const Document* document) const
| Discover what table to show when clicking on a related record. More...
sharedptr< const UsesRelationship > | get_portal_navigation_relationship_automatic (const Document* document) const
| Get the relationship (from the related table) into which the row button should navigate, or none if it should use the portal's directly related table itself. More...
double | get_print_layout_row_height () const
| This is used only for the print layouts. More...
void | set_print_layout_row_height (double row_height)
| This is used only for the print layouts. More...
double | get_print_layout_row_line_width () const
| This is used only for the print layouts. More...
void | set_print_layout_row_line_width (double width)
| This is used only for the print layouts. More...
double | get_print_layout_column_line_width () const
| This is used only for the print layouts. More...
void | set_print_layout_column_line_width (double width)
| This is used only for the print layouts. More...
Glib::ustring | get_print_layout_line_color () const
| This is used only for the print layouts. More...
void | set_print_layout_line_color (const Glib::ustring& color)
| This is used only for the print layouts. More...
void | get_rows_count (gulong& rows_count_min, gulong& rows_count_max) const
| Get the number of rows that should be displayed. More...
void | set_rows_count (gulong rows_count_min, gulong rows_count_max)
| Set the number of rows that should be displayed. More...
Public Member Functions inherited from Glom::LayoutGroup
| LayoutGroup ()
| LayoutGroup (const LayoutGroup& src)
LayoutGroup& | operator= (const LayoutGroup& src)
virtual | ~LayoutGroup ()
bool | has_field (const Glib::ustring& parent_table_name, const Glib::ustring& table_name, const Glib::ustring& field_name) const
| Discover whether the layout group contains the specified field (from the current table). More...
bool | has_any_fields () const
| Discover whether the layout group contains any fields. More...
void | add_item (const sharedptr< LayoutItem >& item)
| Add the item to the end of the list. More...
void | add_item (const sharedptr< LayoutItem >& item, const sharedptr< const LayoutItem >& position)
| Add the item after the specified existing item. More...
void | remove_item (const sharedptr< LayoutItem >& item)
| Remove a layout item from the group. More...
void | remove_field (const Glib::ustring& parent_table_name, const Glib::ustring& table_name, const Glib::ustring& field_name)
| Remove any instance of the field from the layout. More...
virtual void | remove_relationship (const sharedptr< const Relationship >& relationship)
| Remove any use of the relationship from the layout. More...
void | remove_all_items ()
double | get_border_width () const
void | set_border_width (double border_width)
guint | get_items_count () const
guint | get_columns_count () const
void | set_columns_count (guint columns_count)
type_list_items | get_items ()
type_list_const_items | get_items () const
type_list_const_items | get_items_recursive () const
| Get the items recursively, depth-first, not returning any groups. More...
type_list_items | get_items_recursive ()
| Get the items recursively, depth-first, not returning any groups. More...
type_list_const_items | get_items_recursive_with_groups () const
| Get the items recursively, depth-first, also returning the groups. More...
virtual Glib::ustring | get_part_type_name () const
virtual Glib::ustring | get_report_part_id () const
| Gets the node name to use for the intermediate XML, (and usually, the CSS style class to use for the resulting HTML). More...
Public Member Functions inherited from Glom::LayoutItem
| LayoutItem ()
| LayoutItem (const LayoutItem& src)
LayoutItem& | operator= (const LayoutItem& src)
virtual | ~LayoutItem ()
bool | operator== (const LayoutItem& src) const
virtual bool | get_editable () const
virtual void | set_editable (bool val=true)
virtual Glib::ustring | get_layout_display_name () const
guint | get_display_width () const
void | set_display_width (guint value)
void | get_print_layout_position (double& x, double& y, double& width, double& height) const
| This is used only for the print layouts. More...
void | set_print_layout_position (double x, double y, double width, double height)
| This is used only for the print layouts. More...
void | set_print_layout_position_y (double y)
| This is used only for the print layouts. More...
void | set_print_layout_split_across_pages (bool split=true)
| This is used only for the print layouts. More...
bool | get_print_layout_split_across_pages () const
| This is used only for the print layouts. More...
Public Member Functions inherited from Glom::TranslatableItem
| TranslatableItem ()
| TranslatableItem (const TranslatableItem& src)
virtual | ~TranslatableItem ()
TranslatableItem& | operator= (const TranslatableItem& src)
bool | operator== (const TranslatableItem& src) const
bool | operator!= (const TranslatableItem& src) const
virtual void | set_name (const Glib::ustring& name)
| Set the non-translated identifier name. More...
virtual Glib::ustring | get_name () const
| Get the non-translated identifier name. More...
bool | get_name_not_empty () const
virtual Glib::ustring | get_title_original () const
| Get the title's original (non-translated, usually English) text. More...
Glib::ustring | get_title_translation (const Glib::ustring& locale, bool fallback=true) const
| Get the title's translation for the specified locale, optionally falling back to a locale of the same language, and then falling back to the original. More...
void | set_title (const Glib::ustring& title, const Glib::ustring& locale)
| Set the title's translation for the specified locale. More...
void | set_title_original (const Glib::ustring& title)
| Set the title's original (non-translated, usually English) text. More...
void | clear_title_in_all_locales ()
| Clear the original title and any translations of the title. More...
bool | get_has_translations () const
enumTranslatableItemType | get_translatable_item_type () const
Public Member Functions inherited from Glom::UsesRelationship
| UsesRelationship ()
| UsesRelationship (const UsesRelationship& src)
UsesRelationship& | operator= (const UsesRelationship& src)
virtual | ~UsesRelationship ()
bool | operator== (const UsesRelationship& src) const
bool | get_has_relationship_name () const
bool | get_has_related_relationship_name () const
Glib::ustring | get_relationship_name () const
| Convenience function, equivalent to get_relationship()->get_name(). More...
Glib::ustring | get_related_relationship_name () const
| Convenience function, equivalent to get_relationship()->get_name(). More...
sharedptr< const Relationship > | get_relationship () const
| Return the relationship used by this item, if any, or a null sharedptr. More...
void | set_relationship (const sharedptr< const Relationship >& relationship)
sharedptr< const Relationship > | get_related_relationship () const
| Return the related relationship used by this item, if any, or a null sharedptr. More...
void | set_related_relationship (const sharedptr< const Relationship >& relationship)
Glib::ustring | get_table_used (const Glib::ustring& parent_table) const
| Returns either the parent_table, related to table, or doubly-related to-table. More...
Glib::ustring | get_title_used (const Glib::ustring& parent_table_title, const Glib::ustring& locale) const
| Get the title of the relationship that is actually used, falling back to the relationship's name. More...
Glib::ustring | get_title_singular_used (const Glib::ustring& parent_table_title, const Glib::ustring& locale) const
| Get the singular title of the relationship that is actually used, falling back to the regular (plural) title, and then to the relationship's name. More...
Glib::ustring | get_to_field_used () const
Glib::ustring | get_relationship_name_used () const
| Get the name of the related relationship used, if any, or the relationship if there is no related relationship, or an empty string if neither are used by this item. More...
bool | get_relationship_used_allows_edit () const
| Discover whether the relationship used allows the user to edit values in its to table. More...
Glib::ustring | get_sql_join_alias_name () const
| Get a name to use as an alias in SQL statements. More...
Glib::ustring | get_sql_table_or_join_alias_name (const Glib::ustring& parent_table) const
| Get the item's alias name, if it uses a relationship, or just get its table name. More...
Glib::ustring | get_relationship_display_name () const
| Get a human-readable representation of th relationship. More...

## Additional Inherited Members
Static Public Member Functions inherited from Glom::TranslatableItem
static Glib::ustring | get_translatable_type_name (enumTranslatableItemType item_type)
static Glib::ustring | get_translatable_type_name_nontranslated (enumTranslatableItemType item_type)
| The non-translated name is used for the context in gettext .po files. More...
Public Attributes inherited from Glom::LayoutGroup
type_list_items | m_list_items
Protected Attributes inherited from Glom::TranslatableItem
enumTranslatableItemType | m_translatable_item_type

## Detailed Description

get_title() returns either the title of the Field or the CustomTitle.

You should not call get/set_title_original() or get/set_title_translation() on items of this type.

## Member Enumeration Documentation

enum Glom::LayoutItem_Portal::navigation_type

The navigation (if any) that should be used when the user activates a related record row.

Enumerator
NAVIGATION_NONE | No navigation will be offered.
NAVIGATION_AUTOMATIC | The destination related table will be chosen automatically based on the relationship and the visible fields.
NAVIGATION_SPECIFIC | The destination related table will be determined by a specified relationship.

## Constructor & Destructor Documentation

Glom::LayoutItem_Portal::LayoutItem_Portal | ( |  | ) |

Glom::LayoutItem_Portal::LayoutItem_Portal | ( | const LayoutItem_Portal& | src | ) |

virtual Glom::LayoutItem_Portal::~LayoutItem_Portal | ( |  | ) |
| virtual

## Member Function Documentation

virtual void Glom::LayoutItem_Portal::change_field_item_name | ( | const Glib::ustring & | table_name,
|  | const Glib::ustring & | field_name,
|  | const Glib::ustring & | field_name_new
| ) |  |
| virtual

Reimplemented from Glom::LayoutGroup.

Reimplemented in Glom::LayoutItem_CalendarPortal.

virtual void Glom::LayoutItem_Portal::change_related_field_item_name | ( | const Glib::ustring & | table_name,
|  | const Glib::ustring & | field_name,
|  | const Glib::ustring & | field_name_new
| ) |  |
| virtual

Reimplemented from Glom::LayoutGroup.

Reimplemented in Glom::LayoutItem_CalendarPortal.

virtual LayoutItem* Glom::LayoutItem_Portal::clone | ( |  | ) | const
| virtual

Create a new copied instance.

This allows us to deep-copy a list of LayoutItems.

Reimplemented from Glom::LayoutGroup.

Reimplemented in Glom::LayoutItem_CalendarPortal.

Glib::ustring Glom::LayoutItem_Portal::get_from_table | ( |  | ) | const

A helper method to avoid extra ifs to avoid null dereferencing.

sharedptr<UsesRelationship> Glom::LayoutItem_Portal::get_navigation_relationship_specific | ( |  | ) |

Gets the relationship to use for navigation if get_navigation_type() is NAVIGATION_NONE.

sharedptr<const UsesRelationship> Glom::LayoutItem_Portal::get_navigation_relationship_specific | ( |  | ) | const

Get the relationship to use for navigation if get_navigation_type() is NAVIGATION_NONE.

navigation_type Glom::LayoutItem_Portal::get_navigation_type | ( |  | ) | const

Discover what type (if any) navigation should be used when the user activates a related record row.

sharedptr<const UsesRelationship> Glom::LayoutItem_Portal::get_portal_navigation_relationship_automatic | ( | const Document* | document | ) | const

Get the relationship (from the related table) into which the row button should navigate, or none if it should use the portal's directly related table itself.

(If that should be chosen automatically, by looking at the fields in the portal.)

double Glom::LayoutItem_Portal::get_print_layout_column_line_width | ( |  | ) | const

This is used only for the print layouts.

Glib::ustring Glom::LayoutItem_Portal::get_print_layout_line_color | ( |  | ) | const

This is used only for the print layouts.

double Glom::LayoutItem_Portal::get_print_layout_row_height | ( |  | ) | const

This is used only for the print layouts.

double Glom::LayoutItem_Portal::get_print_layout_row_line_width | ( |  | ) | const

This is used only for the print layouts.

void Glom::LayoutItem_Portal::get_rows_count | ( | gulong & | rows_count_min,
|  | gulong & | rows_count_max
| ) |  | const

Get the number of rows that should be displayed.

void Glom::LayoutItem_Portal::get_suitable_table_to_view_details | ( | Glib::ustring & | table_name,
|  | sharedptr< const UsesRelationship >& | relationship,
|  | const Document* | document
| ) |  | const

Discover what table to show when clicking on a related record.

This table will not necessarily just be the directly related table. The caller should check, in the document, that the returned table_name is not hidden.

Parameters

  table_name | The table that should be shown.
  relationship | The relationship in the directly related table that should be used to get to that table. If this is empty then we should just show the table directly.

virtual Glib::ustring Glom::LayoutItem_Portal::get_title | ( | const Glib::ustring & | locale | ) | const
| virtual

Get the title's translation for the specified locale, falling back to the original text if there is no translation.

See also get_title_translation() and get_title_original(), which (optionally) do not use fallbacks.

Parameters

  locale | The locale whose title text should be returned. If this is empty then the original text will be returned.

Returns
  The text of the title.

Reimplemented from Glom::TranslatableItem.

virtual Glib::ustring Glom::LayoutItem_Portal::get_title_or_name | ( | const Glib::ustring & | locale | ) | const
| virtual

Reimplemented from Glom::TranslatableItem.

LayoutItem_Portal& Glom::LayoutItem_Portal::operator= | ( | const LayoutItem_Portal& | src | ) |

void Glom::LayoutItem_Portal::reset_navigation_relationship | ( |  | ) |

void Glom::LayoutItem_Portal::set_navigation_relationship_specific | ( | const sharedptr< UsesRelationship >& | relationship | ) |

Set the relationship to use for navigation if get_navigation_type() is NAVIGATION_NONE.

void Glom::LayoutItem_Portal::set_navigation_type | ( | navigation_type | type | ) |

Set what type (if any) navigation should be used when the user activates a related record row.

void Glom::LayoutItem_Portal::set_print_layout_column_line_width | ( | double | width | ) |

This is used only for the print layouts.

void Glom::LayoutItem_Portal::set_print_layout_line_color | ( | const Glib::ustring & | color | ) |

This is used only for the print layouts.

void Glom::LayoutItem_Portal::set_print_layout_row_height | ( | double | row_height | ) |

This is used only for the print layouts.

void Glom::LayoutItem_Portal::set_print_layout_row_line_width | ( | double | width | ) |

This is used only for the print layouts.

void Glom::LayoutItem_Portal::set_rows_count | ( | gulong | rows_count_min,
|  | gulong | rows_count_max
| ) |  |

Set the number of rows that should be displayed.

The documentation for this class was generated from the following file:

- libglom/data_structure/layout/layoutitem_portal.h