38
38
void refresh_data_from_database_blank();
40
virtual Gnome::Gda::Value get_primary_key_value(const Gtk::TreeModel::iterator& row);
41
virtual Gnome::Gda::Value get_primary_key_value_selected();
42
Gnome::Gda::Value get_primary_key_value_first();
40
Gnome::Gda::Value get_primary_key_value_first() const;
44
///This allows Box_Data::record_new() to set the generated/entered primary key value, needed by Box_Data_List:
42
//Implementations of pure virtual methods from Base_DB_Table_Data:
43
virtual Gnome::Gda::Value get_primary_key_value_selected() const;
45
44
virtual void set_primary_key_value(const Gtk::TreeModel::iterator& row, const Gnome::Gda::Value& value);
47
46
virtual Gnome::Gda::Value get_entered_field_data(const sharedptr<const LayoutItem_Field>& field) const;
75
71
virtual void on_dialog_layout_hide(); //override
76
72
#endif //GLOM_ENABLE_CLIENT_ONLY
77
//Implementations of pure virtual methods from Base_DB_Table_Data:
78
virtual Gnome::Gda::Value get_primary_key_value(const Gtk::TreeModel::iterator& row) const;
80
//Overrides of functions from Box_Data:
79
81
virtual void create_layout(); //override
80
virtual Document_Glom::type_mapLayoutGroupSequence create_layout_get_layout(); //overriden in Box_Data_List_Related.
82
virtual Document_Glom::type_list_layout_groups create_layout_get_layout();
81
83
void create_layout_add_group(const sharedptr<LayoutGroup>& layout_group);
82
85
virtual bool fill_from_database(); //override.
83
86
virtual void enable_buttons();
85
virtual bool get_field_primary_key_index(guint& field_column) const; //TODO: visible
86
88
virtual sharedptr<Field> get_field_primary_key() const;
89
virtual void on_adddel_user_requested_add();
90
virtual void on_adddel_user_requested_edit(const Gtk::TreeModel::iterator& row);
91
virtual void on_adddel_user_requested_delete(const Gtk::TreeModel::iterator& rowStart, const Gtk::TreeModel::iterator& rowEnd);
92
virtual void on_adddel_user_added(const Gtk::TreeModel::iterator& row, guint col_with_first_value);
93
virtual void on_adddel_user_reordered_columns();
91
void on_adddel_user_requested_edit(const Gtk::TreeModel::iterator& row);
92
void on_adddel_user_requested_delete(const Gtk::TreeModel::iterator& rowStart, const Gtk::TreeModel::iterator& rowEnd);
93
void on_adddel_user_reordered_columns();
94
void on_adddel_user_sort_clause_changed();
95
96
#ifndef GLOM_ENABLE_CLIENT_ONLY
96
virtual void on_adddel_user_requested_layout();
97
void on_adddel_user_requested_layout();
97
98
#endif // !GLOM_ENABLE_CLIENT_ONLY
99
virtual void on_adddel_user_changed(const Gtk::TreeModel::iterator& row, guint col);
100
virtual void on_adddel_script_button_clicked(const sharedptr<const LayoutItem_Button>& layout_item, const Gtk::TreeModel::iterator& row);
100
void on_adddel_script_button_clicked(const sharedptr<const LayoutItem_Button>& layout_item, const Gtk::TreeModel::iterator& row);
101
101
virtual bool on_script_button_idle(const Gnome::Gda::Value& primary_key_value);
103
virtual void on_record_added(const Gnome::Gda::Value& primary_key_value, const Gtk::TreeModel::iterator& row); //Not a signal handler. To be overridden.
104
virtual void on_record_deleted(const Gnome::Gda::Value& primary_key_value);
106
103
virtual void print_layout();
107
104
virtual void print_layout_group(xmlpp::Element* node_parent, const sharedptr<const LayoutGroup>& group);
106
#ifndef GLOM_ENABLE_CLIENT_ONLY
107
virtual Dialog_Layout* create_layout_dialog() const; // override.
108
virtual void prepare_layout_dialog(Dialog_Layout* dialog); // override.
109
#endif // !GLOM_ENABLE_CLIENT_ONLY
110
112
mutable DbAddDel_WithButtons m_AddDel; //mutable because its get_ methods aren't const.
112
114
bool m_has_one_or_more_records;
113
115
bool m_read_only;
115
bool m_reset_column_widths; //create_layout() sets these to 0 when this is set.
117
type_signal_user_requested_details m_signal_user_requested_details;
120
118
} //namespace Glom