summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun McCance <shaunm@src.gnome.org>2004-01-03 14:23:49 +0000
committerShaun McCance <shaunm@src.gnome.org>2004-01-03 14:23:49 +0000
commit57ee114c1520206215f9f34d9272f15ab0975adc (patch)
tree5561af84cedf5780d16a25729168e0433b55c5e3
parent4a5873ad38ad3669c54e765edef6e2149bbc7595 (diff)
downloadyelp-57ee114c1520206215f9f34d9272f15ab0975adc.tar.gz
- Make test-pager work again.
* src/Makefile.am: * src/test-pager.c: - Make test-pager work again.
-rw-r--r--ChangeLog6
-rw-r--r--src/Makefile.am14
-rw-r--r--src/test-pager.c99
3 files changed, 96 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog
index 49cf57af..3a46d4a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-01-03 Shaun McCance <shaunm@gnome.org>
+
+ * src/Makefile.am:
+ * src/test-pager.c:
+ - Make test-pager work again.
+
2004-01-03 Robert Sedak <robert.sedak@sk.htnet.hr>
* configure.in: Added "hr" in ALL_LINGUAS.
diff --git a/src/Makefile.am b/src/Makefile.am
index c767efd0..02792fb6 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -16,6 +16,7 @@ INCLUDES = \
-DBINDIR=\""$(bindir)"\"
bin_PROGRAMS = yelp
+noinst_PROGRAMS = test-pager
install-exec-local:
rm -f $(DESTDIR)$(bindir)/gnome-help
@@ -35,6 +36,19 @@ yelp-marshal.c: yelp-marshal.h
yelp-marshal-main.c: yelp-marshal.c
+test_pager_SOURCES = \
+ yelp-db-pager.c yelp-db-pager.h \
+ yelp-error.c yelp-error.h \
+ yelp-pager.c yelp-pager.h \
+ yelp-theme.c yelp-theme.h \
+ yelp-toc-pager.c yelp-toc-pager.h \
+ yelp-uri.c yelp-uri.h \
+ yelp-marshal-main.c test-pager.c
+
+test_pager_LDADD = \
+ @YELP_LIBS@ \
+ $(POPT_LIBS)
+
yelp_SOURCES = \
$(gnome_yelp_idl_sources) \
yelp-base.c yelp-base.h \
diff --git a/src/test-pager.c b/src/test-pager.c
index 2fb00335..b52019b9 100644
--- a/src/test-pager.c
+++ b/src/test-pager.c
@@ -22,38 +22,58 @@
#include <gtk/gtk.h>
#include <stdio.h>
+#include <libgnomeui/gnome-ui-init.h>
+#include <string.h>
+
+#include "config.h"
#include "yelp-pager.h"
#include "yelp-db-pager.h"
+#include "yelp-theme.h"
+#include "yelp-toc-pager.h"
+#include "yelp-uri.h"
-void list_sections (YelpPager *pager);
-void save_chunk (YelpPager *pager,
- gchar *chunk_id);
+static void pager_contents_cb (YelpPager *pager);
+static void pager_page_cb (YelpPager *pager,
+ gchar *page_id);
+static void pager_finish_cb (YelpPager *pager);
+static void pager_cancel_cb (YelpPager *pager);
+static void pager_error_cb (YelpPager *pager);
gint
main (gint argc, gchar **argv)
{
- YelpURI *uri;
- YelpPager *pager;
+ GnomeVFSURI *uri;
+ YelpPager *pager;
if (argc < 2) {
return 1;
}
- g_type_init ();
- g_thread_init (NULL);
+ gnome_program_init (PACKAGE, VERSION,
+ LIBGNOMEUI_MODULE, argc, argv,
+ GNOME_PROGRAM_STANDARD_PROPERTIES,
+ NULL);
+ gnome_vfs_init ();
+
+ yelp_theme_init ();
+ yelp_toc_pager_init ();
uri = yelp_uri_new (argv[1]);
- pager = yelp_db_pager_new (uri);
- g_signal_connect (pager,
- "sections",
- G_CALLBACK (list_sections),
- NULL);
+ switch (yelp_uri_get_resource_type (uri)) {
+ case YELP_URI_TYPE_DOCBOOK_XML:
+ pager = yelp_db_pager_new (uri);
+ break;
+ default:
+ printf ("No pager type exists for this URI.");
+ return 1;
+ }
- g_signal_connect (pager,
- "chunk",
- G_CALLBACK (save_chunk),
- NULL);
+ g_signal_connect (pager, "contents", G_CALLBACK (pager_contents_cb), NULL);
+ g_signal_connect (pager, "page", G_CALLBACK (pager_page_cb), NULL);
+ g_signal_connect (pager, "finish", G_CALLBACK (pager_finish_cb), NULL);
+ g_signal_connect (pager, "cancel", G_CALLBACK (pager_cancel_cb), NULL);
+ g_signal_connect (pager, "error", G_CALLBACK (pager_error_cb), NULL);
yelp_pager_start (pager);
@@ -62,17 +82,50 @@ main (gint argc, gchar **argv)
return 0;
}
-void save_chunk (YelpPager *pager, gchar *chunk_id)
+static void
+pager_contents_cb (YelpPager *pager)
+{
+ printf ("pager_contents_cb\n");
+}
+
+static void
+pager_page_cb (YelpPager *pager,
+ gchar *page_id)
+{
+ const YelpPage *page = yelp_pager_get_page (pager, page_id);
+
+ printf ("pager_page_cb:\n"
+ " id: %s\n"
+ " title: %s\n"
+ " strlen: %d\n",
+ page->id,
+ page->title,
+ strlen (page->chunk));
+}
+
+static void
+pager_finish_cb (YelpPager *pager)
+{
+ printf ("pager_finish_cb\n");
+ gtk_main_quit ();
+}
+
+static void
+pager_cancel_cb (YelpPager *pager)
{
- printf("save_chunk: %s\n", chunk_id);
+ printf ("pager_cancel_cb\n");
+ gtk_main_quit ();
}
-void
-list_sections (YelpPager *pager)
+static void
+pager_error_cb (YelpPager *pager)
{
- const GtkTreeModel *sections;
+ GError *error = yelp_pager_get_error (pager);
- sections = yelp_pager_get_sections (pager);
+ if (!error)
+ printf ("pager_error_cb: NO ERROR\n");
+ else
+ printf ("pager_error_cb: %s\n", error->message);
- printf ("%i\n", gtk_tree_model_get_n_columns (sections));
+ gtk_main_quit ();
}