/usr/include/glom-1.30/libglom/data_structure/layout/layoutgroup.h is in libglom-1.30-dev 1.30.4-0ubuntu12.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | /* Glom
*
* Copyright (C) 2001-2004 Murray Cumming
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*/
#ifndef GLOM_DATASTRUCTURE_LAYOUTGROUP_H
#define GLOM_DATASTRUCTURE_LAYOUTGROUP_H
#include <libglom/data_structure/layout/layoutitem_field.h>
#include <vector>
namespace Glom
{
class LayoutItem_Field;
class LayoutGroup : public LayoutItem
{
public:
LayoutGroup();
LayoutGroup(const LayoutGroup& src);
LayoutGroup(LayoutGroup&& src) = delete;
LayoutGroup& operator=(const LayoutGroup& src);
LayoutGroup& operator=(LayoutGroup&& src) = delete;
virtual ~LayoutGroup();
virtual LayoutItem* clone() const;
/** Discover whether the layout group contains the specified field (from the current table).
* @param parent_table_name The table to which this layout belongs.
* @param table_name The table to which the field, specified by @a field_name, belongs.
* @param field_name The name of the field to search for.
* @result True if the field is in the layout group (or its child groups).
*/
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 any fields.
* @result True if the field is in the layout group (or its child groups).
*/
bool has_any_fields() const;
/** Add the item to the end of the list.
* @param item The item to add.
*/
void add_item(const std::shared_ptr<LayoutItem>& item);
/** Add the item after the specified existing item.
* @param item The item to add.
* @param position The item after which the item should be added.
*/
void add_item(const std::shared_ptr<LayoutItem>& item, const std::shared_ptr<const LayoutItem>& position);
/** Remove a layout item from the group
* @param item The item to remove.
*/
void remove_item(const std::shared_ptr<LayoutItem>& item);
/** Remove any instance of the field from the layout.
*
* @param parent_table_name The table to which this layout belongs.
* @param table_name The table to which the field, specified by @a field_name, belongs.
* @param field_name The name of the field to remove.
*/
void remove_field(const Glib::ustring& parent_table_name, const Glib::ustring& table_name, const Glib::ustring& field_name);
//These are virtual so that the portal item can do more.
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);
/** Remove any use of the relationship from the layout.
*/
virtual void remove_relationship(const std::shared_ptr<const Relationship>& relationship);
void remove_all_items();
double get_border_width() const;
void set_border_width(double border_width);
//virtual void debug(guint level = 0) const;
guint get_items_count() const;
guint get_columns_count() const;
void set_columns_count(guint columns_count);
typedef std::vector< std::shared_ptr<LayoutItem> > type_list_items;
type_list_items get_items();
typedef std::vector< std::shared_ptr<const LayoutItem> > type_list_const_items;
type_list_const_items get_items() const;
/** Get the items recursively, depth-first, not returning any groups.
*/
type_list_const_items get_items_recursive() const;
/** Get the items recursively, depth-first, not returning any groups.
*/
type_list_items get_items_recursive();
/** Get the items recursively, depth-first, also returning the groups.
* This is only used by the tests so far.
*/
type_list_const_items get_items_recursive_with_groups() const;
virtual Glib::ustring get_part_type_name() const;
virtual Glib::ustring get_report_part_id() const;
//Allow more efficient access: protected:
type_list_items m_list_items;
private:
guint m_columns_count;
double m_border_width; //For use on reports.
};
} //namespace Glom
#endif //GLOM_DATASTRUCTURE_LAYOUTGROUP_H
|