[tepl] AbstractFactory: add create_file()
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tepl] AbstractFactory: add create_file()
- Date: Sat, 9 Sep 2017 11:48:35 +0000 (UTC)
commit 468aa9872c04933d8b6595bc7b4da807e253df58
Author: Sébastien Wilmet <swilmet gnome org>
Date: Fri Aug 25 11:35:05 2017 +0200
AbstractFactory: add create_file()
docs/reference/tepl-3.0-sections.txt | 1 +
tepl/tepl-abstract-factory.c | 23 +++++++++++++++++++++++
tepl/tepl-abstract-factory.h | 9 ++++++++-
3 files changed, 32 insertions(+), 1 deletions(-)
---
diff --git a/docs/reference/tepl-3.0-sections.txt b/docs/reference/tepl-3.0-sections.txt
index 51e3a95..cc98aa1 100644
--- a/docs/reference/tepl-3.0-sections.txt
+++ b/docs/reference/tepl-3.0-sections.txt
@@ -176,6 +176,7 @@ tepl_abstract_factory_set_singleton
tepl_abstract_factory_get_singleton
tepl_abstract_factory_create_tab
tepl_abstract_factory_create_tab_label
+tepl_abstract_factory_create_file
<SUBSECTION Standard>
TEPL_ABSTRACT_FACTORY
TEPL_ABSTRACT_FACTORY_CLASS
diff --git a/tepl/tepl-abstract-factory.c b/tepl/tepl-abstract-factory.c
index 1ecdce6..e5efd2f 100644
--- a/tepl/tepl-abstract-factory.c
+++ b/tepl/tepl-abstract-factory.c
@@ -18,6 +18,7 @@
*/
#include "tepl-abstract-factory.h"
+#include "tepl-file.h"
#include "tepl-tab.h"
#include "tepl-tab-label.h"
@@ -75,6 +76,12 @@ tepl_abstract_factory_create_tab_label_default (TeplAbstractFactory *factory,
return tepl_tab_label_new (tab);
}
+static TeplFile *
+tepl_abstract_factory_create_file_default (TeplAbstractFactory *factory)
+{
+ return tepl_file_new ();
+}
+
static void
tepl_abstract_factory_class_init (TeplAbstractFactoryClass *klass)
{
@@ -84,6 +91,7 @@ tepl_abstract_factory_class_init (TeplAbstractFactoryClass *klass)
klass->create_tab = tepl_abstract_factory_create_tab_default;
klass->create_tab_label = tepl_abstract_factory_create_tab_label_default;
+ klass->create_file = tepl_abstract_factory_create_file_default;
}
static void
@@ -191,3 +199,18 @@ tepl_abstract_factory_create_tab_label (TeplAbstractFactory *factory,
return TEPL_ABSTRACT_FACTORY_GET_CLASS (factory)->create_tab_label (factory, tab);
}
+
+/**
+ * tepl_abstract_factory_create_file:
+ * @factory: the #TeplAbstractFactory.
+ *
+ * Returns: (transfer full): a new #TeplFile.
+ * Since: 3.2
+ */
+TeplFile *
+tepl_abstract_factory_create_file (TeplAbstractFactory *factory)
+{
+ g_return_val_if_fail (TEPL_IS_ABSTRACT_FACTORY (factory), NULL);
+
+ return TEPL_ABSTRACT_FACTORY_GET_CLASS (factory)->create_file (factory);
+}
diff --git a/tepl/tepl-abstract-factory.h b/tepl/tepl-abstract-factory.h
index efc65cf..6693045 100644
--- a/tepl/tepl-abstract-factory.h
+++ b/tepl/tepl-abstract-factory.h
@@ -51,6 +51,9 @@ struct _TeplAbstractFactory
* @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().
+ * @create_file: Virtual function pointer for
+ * tepl_abstract_factory_create_file(). By default the #TeplFile is created
+ * with tepl_file_new().
*/
struct _TeplAbstractFactoryClass
{
@@ -61,8 +64,10 @@ struct _TeplAbstractFactoryClass
GtkWidget * (* create_tab_label) (TeplAbstractFactory *factory,
TeplTab *tab);
+ TeplFile * (* create_file) (TeplAbstractFactory *factory);
+
/*< private >*/
- gpointer padding[12];
+ gpointer padding[11];
};
GType tepl_abstract_factory_get_type (void);
@@ -76,6 +81,8 @@ TeplTab * tepl_abstract_factory_create_tab (TeplAbstractFactory
*factory);
GtkWidget * tepl_abstract_factory_create_tab_label (TeplAbstractFactory *factory,
TeplTab *tab);
+TeplFile * tepl_abstract_factory_create_file (TeplAbstractFactory *factory);
+
G_GNUC_INTERNAL
void _tepl_abstract_factory_unref_singleton (void);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]