// Generated by gmmproc 2.84.0 -- DO NOT MODIFY! #ifndef _GTKMM_CELLAREACONTEXT_H #define _GTKMM_CELLAREACONTEXT_H #include #ifndef GTKMM_DISABLE_DEPRECATED #include #include /* Copyright (C) 2010 The gtkmm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see . */ #include // The entire file is deprecated. #ifndef DOXYGEN_SHOULD_SKIP_THIS using GtkCellAreaContext = struct _GtkCellAreaContext; using GtkCellAreaContextClass = struct _GtkCellAreaContextClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { class GTKMM_API CellAreaContext_Class; } // namespace Gtk #endif //DOXYGEN_SHOULD_SKIP_THIS namespace Gtk { class GTKMM_API CellArea; /** This stores geometrical information for a series of rows in a CellArea. * * CellAreaContext is used by widgets such as TreeView and IconView, * but application developers do not usually need to be aware of it. * * The CellAreaContext object is created by a given CellArea * and is used to store cell sizes and alignments for a series of * TreeModel rows that are requested and rendered in the same context. * * CellLayout widgets can create any number of contexts in which to * request and render groups of data rows. However. it's important that the * same context which was used to request sizes for a given TreeModel * row also be used for the same row when calling other CellArea APIs * such as gtk_cell_area_render() and gtk_cell_area_event(). * * @deprecated 4.10: List views use widgets for displaying their contents. */ class GTKMM_API CellAreaContext : public Glib::Object { #ifndef DOXYGEN_SHOULD_SKIP_THIS public: using CppObjectType = CellAreaContext; using CppClassType = CellAreaContext_Class; using BaseObjectType = GtkCellAreaContext; using BaseClassType = GtkCellAreaContextClass; // noncopyable CellAreaContext(const CellAreaContext&) = delete; CellAreaContext& operator=(const CellAreaContext&) = delete; private: friend class CellAreaContext_Class; static CppClassType cellareacontext_class_; protected: explicit CellAreaContext(const Glib::ConstructParams& construct_params); explicit CellAreaContext(GtkCellAreaContext* castitem); #endif /* DOXYGEN_SHOULD_SKIP_THIS */ public: CellAreaContext(CellAreaContext&& src) noexcept; CellAreaContext& operator=(CellAreaContext&& src) noexcept; ~CellAreaContext() noexcept override; /** Get the GType for this class, for use with the underlying GObject type system. */ static GType get_type() G_GNUC_CONST; #ifndef DOXYGEN_SHOULD_SKIP_THIS static GType get_base_type() G_GNUC_CONST; #endif ///Provides access to the underlying C GObject. GtkCellAreaContext* gobj() { return reinterpret_cast(gobject_); } ///Provides access to the underlying C GObject. const GtkCellAreaContext* gobj() const { return reinterpret_cast(gobject_); } ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. GtkCellAreaContext* gobj_copy(); private: public: protected: public: /** Fetches the `Gtk::CellArea` this @a context was created by. * * This is generally unneeded by layouting widgets; however, * it is important for the context implementation itself to * fetch information about the area it is being used for. * * For instance at `GtkCellAreaContextClass.allocate()` time * it’s important to know details about any cell spacing * that the `Gtk::CellArea` is configured with in order to * compute a proper allocation. * * Deprecated: 4.10: This object will be removed in GTK 5 * * @return The `Gtk::CellArea` this context was created by. */ Glib::RefPtr get_area(); /** Fetches the `Gtk::CellArea` this @a context was created by. * * This is generally unneeded by layouting widgets; however, * it is important for the context implementation itself to * fetch information about the area it is being used for. * * For instance at `GtkCellAreaContextClass.allocate()` time * it’s important to know details about any cell spacing * that the `Gtk::CellArea` is configured with in order to * compute a proper allocation. * * Deprecated: 4.10: This object will be removed in GTK 5 * * @return The `Gtk::CellArea` this context was created by. */ Glib::RefPtr get_area() const; /** Allocates a width and/or a height for all rows which are to be * rendered with @a context. * * Usually allocation is performed only horizontally or sometimes * vertically since a group of rows are usually rendered side by * side vertically or horizontally and share either the same width * or the same height. Sometimes they are allocated in both horizontal * and vertical orientations producing a homogeneous effect of the * rows. This is generally the case for `Gtk::TreeView` when * `GtkTreeView:fixed-height-mode` is enabled. * * Deprecated: 4.10: This object will be removed in GTK 5 * * @param width The allocated width for all `Gtk::TreeModel` rows rendered * with @a context, or -1. * @param height The allocated height for all `Gtk::TreeModel` rows rendered * with @a context, or -1. */ void allocate(int width, int height); /** Resets any previously cached request and allocation * data. * * When underlying `Gtk::TreeModel` data changes its * important to reset the context if the content * size is allowed to shrink. If the content size * is only allowed to grow (this is usually an option * for views rendering large data stores as a measure * of optimization), then only the row that changed * or was inserted needs to be (re)requested with * get_preferred_width(). * * When the new overall size of the context requires * that the allocated size changes (or whenever this * allocation changes at all), the variable row * sizes need to be re-requested for every row. * * For instance, if the rows are displayed all with * the same width from top to bottom then a change * in the allocated width necessitates a recalculation * of all the displayed row heights using * get_preferred_height_for_width(). * * Deprecated: 4.10: This object will be removed in GTK 5 */ void reset(); /** Gets the accumulative preferred width for all rows which have been * requested with this context. * * After reset() is called and/or before ever * requesting the size of a `Gtk::CellArea`, the returned values are 0. * * Deprecated: 4.10: This object will be removed in GTK 5 * * @param minimum_width Location to store the minimum width. * @param natural_width Location to store the natural width. */ void get_preferred_width(int& minimum_width, int& natural_width) const; /** Gets the accumulative preferred height for all rows which have been * requested with this context. * * After reset() is called and/or before ever * requesting the size of a `Gtk::CellArea`, the returned values are 0. * * Deprecated: 4.10: This object will be removed in GTK 5 * * @param minimum_height Location to store the minimum height. * @param natural_height Location to store the natural height. */ void get_preferred_height(int& minimum_height, int& natural_height) const; /** Gets the accumulative preferred height for @a width for all rows * which have been requested for the same said @a width with this context. * * After reset() is called and/or before ever * requesting the size of a `Gtk::CellArea`, the returned values are -1. * * Deprecated: 4.10: This object will be removed in GTK 5 * * @param width A proposed width for allocation. * @param minimum_height Location to store the minimum height. * @param natural_height Location to store the natural height. */ void get_preferred_height_for_width(int width, int& minimum_height, int& natural_height) const; /** Gets the accumulative preferred width for @a height for all rows which * have been requested for the same said @a height with this context. * * After reset() is called and/or before ever * requesting the size of a `Gtk::CellArea`, the returned values are -1. * * Deprecated: 4.10: This object will be removed in GTK 5 * * @param height A proposed height for allocation. * @param minimum_width Location to store the minimum width. * @param natural_width Location to store the natural width. */ void get_preferred_width_for_height(int height, int& minimum_width, int& natural_width) const; /** Fetches the current allocation size for @a context. * * If the context was not allocated in width or height, or if the * context was recently reset with reset(), * the returned value will be -1. * * Deprecated: 4.10: This object will be removed in GTK 5 * * @param width Location to store the allocated width. * @param height Location to store the allocated height. */ void get_allocation(int& width, int& height) const; /** Causes the minimum and/or natural width to grow if the new * proposed sizes exceed the current minimum and natural width. * * This is used by `Gtk::CellAreaContext` implementations during * the request process over a series of `Gtk::TreeModel` rows to * progressively push the requested width over a series of * get_preferred_width() requests. * * Deprecated: 4.10: This object will be removed in GTK 5 * * @param minimum_width The proposed new minimum width for @a context. * @param natural_width The proposed new natural width for @a context. */ void push_preferred_width(int minimum_width, int natural_width); /** Causes the minimum and/or natural height to grow if the new * proposed sizes exceed the current minimum and natural height. * * This is used by `Gtk::CellAreaContext` implementations during * the request process over a series of `Gtk::TreeModel` rows to * progressively push the requested height over a series of * get_preferred_height() requests. * * Deprecated: 4.10: This object will be removed in GTK 5 * * @param minimum_height The proposed new minimum height for @a context. * @param natural_height The proposed new natural height for @a context. */ void push_preferred_height(int minimum_height, int natural_height); /** The `Gtk::CellArea` this context was created by * * Deprecated: 4.10: This object will be removed in GTK 5 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< CellArea* > property_area() const; /** The minimum width for the `Gtk::CellArea` in this context * for all `Gtk::TreeModel` rows that this context was requested * for using Gtk::CellArea::get_preferred_width(). * * Deprecated: 4.10: This object will be removed in GTK 5 * * Default value: -1 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_minimum_width() const; /** The natural width for the `Gtk::CellArea` in this context * for all `Gtk::TreeModel` rows that this context was requested * for using Gtk::CellArea::get_preferred_width(). * * Deprecated: 4.10: This object will be removed in GTK 5 * * Default value: -1 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_natural_width() const; /** The minimum height for the `Gtk::CellArea` in this context * for all `Gtk::TreeModel` rows that this context was requested * for using Gtk::CellArea::get_preferred_height(). * * Deprecated: 4.10: This object will be removed in GTK 5 * * Default value: -1 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_minimum_height() const; /** The natural height for the `Gtk::CellArea` in this context * for all `Gtk::TreeModel` rows that this context was requested * for using Gtk::CellArea::get_preferred_height(). * * Deprecated: 4.10: This object will be removed in GTK 5 * * Default value: -1 * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< int > property_natural_height() const; public: public: //C++ methods used to invoke GTK+ virtual functions: protected: //GTK+ Virtual Functions (override these to change behaviour): //Default Signal Handlers:: }; } //namespace Gtk namespace Glib { /** A Glib::wrap() method for this object. * * @param object The C instance. * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref. * @result A C++ instance that wraps this C instance. * * @relates Gtk::CellAreaContext */ GTKMM_API Glib::RefPtr wrap(GtkCellAreaContext* object, bool take_copy = false); } #endif // GTKMM_DISABLE_DEPRECATED #endif /* _GTKMM_CELLAREACONTEXT_H */