| Top |
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── ThunarxPropertyPage
The class for pages that can be added to Thunar's file properties dialog
by extensions implementing the ThunarxPropertyPageProvider interface. The
pages returned by extensions from thunarx_property_page_provider_get_pages()
method are instances of this class or a derived class. Note that extensions
do not need to subclass ThunarxPropertyPage, but may also instantiate it
directly and add widgets to it, but I strongly suggest to create a subclass
as it usually leads to better modularization and thereby better maintainability
in the code.
To pick up the TagPage example from the thunarx_property_page_provider_get_pages()
description again, you'd create a new class TagPage, that inherits ThunarxPropertyPage
(using the THUNARX_DEFINE_TYPE macro), which provides several user interface elements
in the property, and defines atleast one property named "file", which
is the ThunarxFileInfo whose tags are displayed in the property page. For example, the
tag-page.h header file would look like this (this is really just
an example of the suggested way to implement property pages, you may of course choose
a different way)
GtkWidget *
thunarx_property_page_new (const gchar *label);
Allocates a new ThunarxPropertyPage widget and sets its label to the
specified label
. If label
is NULL, the label is omitted.
GtkWidget *
thunarx_property_page_new_with_label_widget
(GtkWidget *label_widget);
Allocates a new ThunarxPropertyPage widget and sets its label to
the specified label_widget
.
const gchar *
thunarx_property_page_get_label (ThunarxPropertyPage *property_page);
If the property_page
's label widget is a GtkLabel, returns the text
in the label widget (the property_page
will have a GtkLabel for the
label widget if a non-NULL argument was passed to thunarx_property_page_new()).
void thunarx_property_page_set_label (ThunarxPropertyPage *property_page,const gchar *label);
Sets the text of the label. If label
is NULL, the current label is
removed.
GtkWidget *
thunarx_property_page_get_label_widget
(ThunarxPropertyPage *property_page);
Returns the label widget for the property_page
. See
thunarx_property_page_set_label_widget().
void thunarx_property_page_set_label_widget (ThunarxPropertyPage *property_page,GtkWidget *label_widget);
Sets the label widget for the property_page
. This is the widget
that will appear in the notebook header for the property_page
.