TeplAbstractFactory

TeplAbstractFactory — Abstract factory singleton class

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── TeplAbstractFactory

Includes

#include <tepl/tepl.h>

Description

The Tepl framework 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.

Functions

tepl_abstract_factory_set_singleton ()

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.

Parameters

factory

a TeplAbstractFactory.

[transfer full]

Since: 3.0


tepl_abstract_factory_get_singleton ()

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.

Returns

the TeplAbstractFactory singleton instance.

[transfer none]

Since: 3.0


tepl_abstract_factory_create_tab ()

TeplTab *
tepl_abstract_factory_create_tab (TeplAbstractFactory *factory);

Parameters

factory

the TeplAbstractFactory.

 

Returns

a new TeplTab.

[transfer floating]

Since: 3.0


tepl_abstract_factory_create_tab_label ()

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().

Parameters

factory

the TeplAbstractFactory.

 

tab

a TeplTab.

 

Returns

a new GtkWidget, or NULL for the default tab label (“page N” with GtkNotebook).

[transfer floating][nullable]

Since: 3.0

Types and Values

TeplAbstractFactory

typedef struct _TeplAbstractFactory TeplAbstractFactory;

struct TeplAbstractFactoryClass

struct TeplAbstractFactoryClass {
	GObjectClass parent_class;

	TeplTab * (* create_tab)		(TeplAbstractFactory *factory);

	GtkWidget * (* create_tab_label) (TeplAbstractFactory *factory,
						 TeplTab             *tab);
};

Members

create_tab ()

Virtual function pointer for tepl_abstract_factory_create_tab(). By default the TeplTab is created with tepl_tab_new().

 

create_tab_label ()

Virtual function pointer for tepl_abstract_factory_create_tab_label(). By default the tab label is created with tepl_tab_label_new().