libglom-1.30  1.30.4
Public Member Functions | Public Attributes | List of all members
Glom::LayoutItem_Field Class Reference

A LayoutItem that shows the data from a table field. More...

Inheritance diagram for Glom::LayoutItem_Field:
Inheritance graph
[legend]
Collaboration diagram for Glom::LayoutItem_Field:
Collaboration graph
[legend]

Public Member Functions

 LayoutItem_Field ()
 
 LayoutItem_Field (const LayoutItem_Field& src)
 
 LayoutItem_Field (LayoutItem_Field&& src)=delete
 
LayoutItem_Fieldoperator= (const LayoutItem_Field& src)
 
LayoutItem_Fieldoperator= (LayoutItem_Field&& src)=delete
 
virtual ~LayoutItem_Field ()
 
virtual LayoutItemclone () const
 Create a new copied instance. More...
 
bool operator== (const LayoutItem_Field& src) const
 
void set_name (const Glib::ustring& name) noexceptoverride
 Set the non-user-visible name of the field. More...
 
Glib::ustring get_name () const noexceptoverride
 Get the non-user-visible name of the field. More...
 
Glib::ustring get_title (const Glib::ustring& locale) const noexceptoverride
 Get the user-visible title for the field, in the user's current locale. More...
 
Glib::ustring get_title_or_name (const Glib::ustring& locale) const noexceptoverride
 Get the user-visible title for the field, in the user's current locale. More...
 
Glib::ustring get_title_or_name_no_custom (const Glib::ustring& locale) const
 
std::shared_ptr< const CustomTitleget_title_custom () const
 
std::shared_ptr< CustomTitleget_title_custom ()
 
void set_title_custom (const std::shared_ptr< CustomTitle >& title)
 
virtual Glib::ustring get_layout_display_name () const
 Get a text representation for the field, such as Relationship::FieldName. 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...
 
void set_full_field_details (const std::shared_ptr< const Field >& field)
 
std::shared_ptr< const Fieldget_full_field_details () const
 
Field::glom_field_type get_glom_type () const
 Convenience function, to avoid use of get_full_field_details(). More...
 
bool get_editable_and_allowed () const
 
bool get_hidden () const
 For extra fields, needed for SQL queries. The user should never be able to make an item hidden - he can just remove it. More...
 
void set_hidden (bool val=true)
 
bool get_formatting_use_default () const
 Discover whether to use the default formatting for this field, instead of some custom per-layout-item field formatting. More...
 
void set_formatting_use_default (bool use_default=true)
 Specify whether to use the default formatting for this field, instead of some custom per-layout-item field formatting. More...
 
virtual const Formattingget_formatting_used () const
 Get the field formatting used by this layout item, which may be either custom field formatting or the default field formatting. More...
 
virtual Formatting::HorizontalAlignment get_formatting_used_horizontal_alignment (bool for_details_view=false) const
 Get the alignment for the formatting used (see get_formatting_used()), choosing an appropriate alignment if it is set to HorizontalAlignment::AUTO. More...
 
bool get_formatting_used_has_translatable_choices () const
 A convenience method to discover whether the formatting that is used has custom choices with the values restricted to those choices, meaning that those choices could be translated. More...
 
bool is_same_field (const std::shared_ptr< const LayoutItem_Field >& field) const
 Compare the name, relationship, and related_relationship. More...
 
- Public Member Functions inherited from Glom::LayoutItem_WithFormatting
 LayoutItem_WithFormatting ()
 
 LayoutItem_WithFormatting (const LayoutItem_WithFormatting& src)
 
 LayoutItem_WithFormatting (LayoutItem_WithFormatting&& src)=delete
 
LayoutItem_WithFormattingoperator= (const LayoutItem_WithFormatting& src)
 
LayoutItem_WithFormattingoperator= (LayoutItem_WithFormatting&& src)=delete
 
virtual ~LayoutItem_WithFormatting ()
 
bool operator== (const LayoutItem_WithFormatting& src) const
 
- Public Member Functions inherited from Glom::LayoutItem
 LayoutItem ()
 
 LayoutItem (const LayoutItem& src)
 
 LayoutItem (LayoutItem&& src)=delete
 
LayoutItemoperator= (const LayoutItem& src)
 
LayoutItemoperator= (LayoutItem&& src)=delete
 
virtual ~LayoutItem ()
 
bool operator== (const LayoutItem& src) const
 
virtual bool get_editable () const
 
virtual void set_editable (bool val=true)
 
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 () noexcept
 
 TranslatableItem (const TranslatableItem& src) noexcept
 
 TranslatableItem (TranslatableItem&& src) noexcept
 
virtual ~TranslatableItem ()
 
TranslatableItemoperator= (const TranslatableItem& src) noexcept
 
TranslatableItemoperator= (TranslatableItem&& src) noexcept
 
bool operator== (const TranslatableItem& src) const noexcept
 
bool operator!= (const TranslatableItem& src) const noexcept
 
bool get_name_not_empty () const noexcept
 
virtual Glib::ustring get_title_original () const noexcept
 Get the title's original (non-translated, usually English) text. More...
 
Glib::ustring get_title_translation (const Glib::ustring& locale, bool fallback=true) const noexcept
 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) noexcept
 Set the title's translation for the specified locale. More...
 
void set_title_original (const Glib::ustring& title) noexcept
 Set the title's original (non-translated, usually English) text. More...
 
void clear_title_in_all_locales () noexcept
 Clear the original title and any translations of the title. More...
 
bool get_has_translations () const noexcept
 
enumTranslatableItemType get_translatable_item_type () const noexcept
 
- Public Member Functions inherited from Glom::UsesRelationship
 UsesRelationship ()
 
 UsesRelationship (const UsesRelationship& src)
 
 UsesRelationship (UsesRelationship&& src)=delete
 
UsesRelationshipoperator= (const UsesRelationship& src)
 
UsesRelationshipoperator= (UsesRelationship&& src)=delete
 
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...
 
std::shared_ptr< const Relationshipget_relationship () const
 Return the relationship used by this item, if any, or a null std::shared_ptr. More...
 
void set_relationship (const std::shared_ptr< const Relationship >& relationship)
 
std::shared_ptr< const Relationshipget_related_relationship () const
 Return the related relationship used by this item, if any, or a null std::shared_ptr. More...
 
void set_related_relationship (const std::shared_ptr< 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...
 

Public Attributes

bool m_priv_view
 
bool m_priv_edit
 
- Public Attributes inherited from Glom::LayoutItem_WithFormatting
Formatting m_formatting
 

Additional Inherited Members

- Public Types inherited from Glom::TranslatableItem
enum  enumTranslatableItemType {
  enumTranslatableItemType::INVALID,
  enumTranslatableItemType::FIELD,
  enumTranslatableItemType::RELATIONSHIP,
  enumTranslatableItemType::LAYOUT_ITEM,
  enumTranslatableItemType::CUSTOM_TITLE,
  enumTranslatableItemType::PRINT_LAYOUT,
  enumTranslatableItemType::REPORT,
  enumTranslatableItemType::TABLE,
  enumTranslatableItemType::BUTTON,
  enumTranslatableItemType::TEXTOBJECT,
  enumTranslatableItemType::IMAGEOBJECT,
  enumTranslatableItemType::CHOICEVALUE,
  enumTranslatableItemType::DATABASE_TITLE,
  enumTranslatableItemType::STATIC_TEXT
}
 
typedef std::map< Glib::ustring, Glib::ustringtype_map_locale_to_translations
 
- Static Public Member Functions inherited from Glom::TranslatableItem
static Glib::ustring get_translatable_type_name (enumTranslatableItemType item_type) noexcept
 
static Glib::ustring get_translatable_type_name_nontranslated (enumTranslatableItemType item_type) noexcept
 The non-translated name is used for the context in gettext .po files. More...
 
- Protected Attributes inherited from Glom::TranslatableItem
enumTranslatableItemType m_translatable_item_type
 

Detailed Description

A LayoutItem that shows the data from a table field.

The field may be in a known table, or in a to table of a relationship or related relatinoship. See UsesRelationship::get_relationship() and UsesRelationship::get_related_relationship() in the base class.

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.

Constructor & Destructor Documentation

Glom::LayoutItem_Field::LayoutItem_Field ( )
Glom::LayoutItem_Field::LayoutItem_Field ( const LayoutItem_Field src)
Glom::LayoutItem_Field::LayoutItem_Field ( LayoutItem_Field&&  src)
delete
virtual Glom::LayoutItem_Field::~LayoutItem_Field ( )
virtual

Member Function Documentation

virtual LayoutItem* Glom::LayoutItem_Field::clone ( ) const
virtual

Create a new copied instance.

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

Implements Glom::LayoutItem.

Reimplemented in Glom::LayoutItem_FieldSummary.

bool Glom::LayoutItem_Field::get_editable_and_allowed ( ) const
bool Glom::LayoutItem_Field::get_formatting_use_default ( ) const

Discover whether to use the default formatting for this field, instead of some custom per-layout-item field formatting.

virtual const Formatting& Glom::LayoutItem_Field::get_formatting_used ( ) const
virtual

Get the field formatting used by this layout item, which may be either custom field formatting or the default field formatting.

Reimplemented from Glom::LayoutItem_WithFormatting.

bool Glom::LayoutItem_Field::get_formatting_used_has_translatable_choices ( ) const

A convenience method to discover whether the formatting that is used has custom choices with the values restricted to those choices, meaning that those choices could be translated.

virtual Formatting::HorizontalAlignment Glom::LayoutItem_Field::get_formatting_used_horizontal_alignment ( bool  for_details_view = false) const
virtual

Get the alignment for the formatting used (see get_formatting_used()), choosing an appropriate alignment if it is set to HorizontalAlignment::AUTO.

Note that this never returns HorizontalAlignment::AUTO.

Parameters
for_details_viewThis can change the effect of HorizontalAlignment::AUTO.

Reimplemented from Glom::LayoutItem_WithFormatting.

std::shared_ptr<const Field> Glom::LayoutItem_Field::get_full_field_details ( ) const
Field::glom_field_type Glom::LayoutItem_Field::get_glom_type ( ) const

Convenience function, to avoid use of get_full_field_details().

bool Glom::LayoutItem_Field::get_hidden ( ) const

For extra fields, needed for SQL queries. The user should never be able to make an item hidden - he can just remove it.

virtual Glib::ustring Glom::LayoutItem_Field::get_layout_display_name ( ) const
virtual

Get a text representation for the field, such as Relationship::FieldName.

Reimplemented from Glom::LayoutItem.

Reimplemented in Glom::LayoutItem_FieldSummary.

Glib::ustring Glom::LayoutItem_Field::get_name ( ) const
overridevirtualnoexcept

Get the non-user-visible name of the field.

Reimplemented from Glom::TranslatableItem.

virtual Glib::ustring Glom::LayoutItem_Field::get_part_type_name ( ) const
virtual

Implements Glom::LayoutItem.

Reimplemented in Glom::LayoutItem_FieldSummary.

virtual Glib::ustring Glom::LayoutItem_Field::get_report_part_id ( ) const
virtual

Gets the node name to use for the intermediate XML, (and usually, the CSS style class to use for the resulting HTML).

Reimplemented from Glom::LayoutItem.

Reimplemented in Glom::LayoutItem_FieldSummary.

Glib::ustring Glom::LayoutItem_Field::get_title ( const Glib::ustring locale) const
overridevirtualnoexcept

Get the user-visible title for the field, in the user's current locale.

This returns the name if no title is set.

Reimplemented from Glom::TranslatableItem.

Reimplemented in Glom::LayoutItem_FieldSummary.

std::shared_ptr<const CustomTitle> Glom::LayoutItem_Field::get_title_custom ( ) const
std::shared_ptr<CustomTitle> Glom::LayoutItem_Field::get_title_custom ( )
Glib::ustring Glom::LayoutItem_Field::get_title_or_name ( const Glib::ustring locale) const
overridevirtualnoexcept

Get the user-visible title for the field, in the user's current locale.

Reimplemented from Glom::TranslatableItem.

Reimplemented in Glom::LayoutItem_FieldSummary.

Glib::ustring Glom::LayoutItem_Field::get_title_or_name_no_custom ( const Glib::ustring locale) const
bool Glom::LayoutItem_Field::is_same_field ( const std::shared_ptr< const LayoutItem_Field >&  field) const

Compare the name, relationship, and related_relationship.

LayoutItem_Field& Glom::LayoutItem_Field::operator= ( const LayoutItem_Field src)
LayoutItem_Field& Glom::LayoutItem_Field::operator= ( LayoutItem_Field&&  src)
delete
bool Glom::LayoutItem_Field::operator== ( const LayoutItem_Field src) const
void Glom::LayoutItem_Field::set_formatting_use_default ( bool  use_default = true)

Specify whether to use the default formatting for this field, instead of some custom per-layout-item field formatting.

void Glom::LayoutItem_Field::set_full_field_details ( const std::shared_ptr< const Field >&  field)
void Glom::LayoutItem_Field::set_hidden ( bool  val = true)
void Glom::LayoutItem_Field::set_name ( const Glib::ustring name)
overridevirtualnoexcept

Set the non-user-visible name of the field.

Reimplemented from Glom::TranslatableItem.

void Glom::LayoutItem_Field::set_title_custom ( const std::shared_ptr< CustomTitle >&  title)

Member Data Documentation

bool Glom::LayoutItem_Field::m_priv_edit
bool Glom::LayoutItem_Field::m_priv_view

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