Top |
GtkWidget * | thunarx_property_page_new () |
GtkWidget * | thunarx_property_page_new_with_label_widget () |
const gchar * | thunarx_property_page_get_label () |
void | thunarx_property_page_set_label () |
GtkWidget * | thunarx_property_page_get_label_widget () |
void | thunarx_property_page_set_label_widget () |
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
.