| Top |  |  |  |  | 
| void | tepl_abstract_factory_set_singleton () | 
| TeplAbstractFactory * | tepl_abstract_factory_get_singleton () | 
| GtkApplicationWindow * | tepl_abstract_factory_create_main_window () | 
| TeplTab * | tepl_abstract_factory_create_tab () | 
| GtkWidget * | tepl_abstract_factory_create_tab_label () | 
| TeplFile * | tepl_abstract_factory_create_file () | 
| GFile * | tepl_abstract_factory_create_metadata_manager_file () | 
| TeplPrefsDialog * | tepl_abstract_factory_create_prefs_dialog () | 
Tepl uses the TeplAbstractFactory singleton to create some objects and
widgets. By creating a subclass of TeplAbstractFactory (to override the
desired virtual functions) and setting the instance with
tepl_abstract_factory_set_singleton(), an application can tell Tepl to create
custom objects and widgets.
Note that GtkTextViewClass has the ::create_buffer factory method, that TeplView overrides to create a TeplBuffer. How the TeplView and TeplBuffer are created can be customized with the ::create_tab vfunc of TeplAbstractFactory.
Recommendation for the subclass name: in Tepl, TeplAbstractFactory is an abstract class, but in an application it is a concrete class. So “MyappFactory” is a better name than “MyappAbstractFactory”.
void
tepl_abstract_factory_set_singleton (TeplAbstractFactory *factory);
Sets the TeplAbstractFactory singleton. This should be called early in
main(), for example just after calling tepl_init().
This function must be called only once, before the first call to
tepl_abstract_factory_get_singleton().
Tepl takes ownership of the factory
 reference.
Since: 3.0
TeplAbstractFactory *
tepl_abstract_factory_get_singleton (void);
Gets the TeplAbstractFactory singleton instance.
If tepl_abstract_factory_set_singleton() has not been called, the singleton
is created with a TeplAbstractFactory instance.
Since: 3.0
GtkApplicationWindow * tepl_abstract_factory_create_main_window (TeplAbstractFactory *factory,GtkApplication *app);
Creates a main GtkApplicationWindow in the sense of
tepl_application_window_is_main_window().
TeplTab *
tepl_abstract_factory_create_tab (TeplAbstractFactory *factory);
Since: 3.0
GtkWidget * tepl_abstract_factory_create_tab_label (TeplAbstractFactory *factory,TeplTab *tab);
Creates a new tab label for tab
, suitable for gtk_notebook_set_tab_label().
a new GtkWidget, or NULL for the
default tab label (“page N” with GtkNotebook). 
[transfer floating][nullable]
Since: 3.0
TeplFile *
tepl_abstract_factory_create_file (TeplAbstractFactory *factory);
Since: 4.0
GFile *
tepl_abstract_factory_create_metadata_manager_file
                               (TeplAbstractFactory *factory);
Creates a new GFile that is then intended to be used as an argument to
tepl_metadata_manager_load_from_disk() and
tepl_metadata_manager_save_to_disk(). This function just creates the GFile
object, it doesn't call any TeplMetadataManager function.
Since: 5.0
TeplPrefsDialog *
tepl_abstract_factory_create_prefs_dialog
                               (TeplAbstractFactory *factory);
a new TeplPrefsDialog, or NULL if
the vfunc is not implemented. 
[transfer floating][nullable]
Since: 6.13
struct TeplAbstractFactoryClass {
	GObjectClass parent_class;
	GtkApplicationWindow * (* create_main_window)			(TeplAbstractFactory *factory,
									 GtkApplication      *app);
	TeplTab *		(* create_tab)				(TeplAbstractFactory *factory);
	GtkWidget *		(* create_tab_label)			(TeplAbstractFactory *factory,
									 TeplTab             *tab);
	TeplFile *		(* create_file)				(TeplAbstractFactory *factory);
	GFile *			(* create_metadata_manager_file) (TeplAbstractFactory *factory);
	TeplPrefsDialog * (* create_prefs_dialog)			(TeplAbstractFactory *factory);
};
| Virtual function pointer for
 | ||
| Virtual function pointer for  | ||
| Virtual function pointer for
 | ||
| Virtual function pointer for
 | ||
| Virtual function pointer for
 | ||
| Virtual function pointer for
 |