/*
                    Manual Page Viewer: Callbacks
 */

#ifndef VIEWERCB_H
#define VIEWERCB_H

#include <gtk/gtk.h>


extern void ViewerIndexBranchDestroyCB(gpointer data);

extern void ViewerDestroyCB(GtkObject *object, gpointer data);
extern gint ViewerCloseCB(GtkWidget *widget, GdkEvent *event, gpointer data);
extern void ViewerCloseMCB(GtkWidget *widget, gpointer data);
extern void ViewerCloseAllCB(GtkWidget *widget, gpointer data);

extern void ViewerSwitchPageCB(
        GtkNotebook *notebook, GtkNotebookPage *page, guint page_num,
        gpointer data
);
extern void ViewerPageToggleCB(GtkWidget *widget, gpointer data);
extern gint ViewerPageChangedTOCB(gpointer data);

extern gint ViewerViewKeyEventCB(
        GtkWidget *widget, GdkEventKey *key, gpointer data
);

extern void ViewerIndexBranchExpandCB(GtkWidget *widget, gpointer data);

extern void ViewerOpenCB(GtkWidget *widget, gpointer data);
extern void ViewerClearCB(GtkWidget *widget, gpointer data);
extern void ViewerStopCB(GtkWidget *widget, gpointer data);
extern void ViewerIndexGotoParentCB(GtkWidget *widget, gpointer data);
extern void ViewerGotoCB(GtkWidget *widget, gpointer data);
extern void ViewerIndexRefreshCB(GtkWidget *widget, gpointer data);
extern void ViewerPreferencesCB(GtkWidget *widget, gpointer data);

extern gint ViewerMenuMapCB(GtkWidget *widget, GdkEvent *event, gpointer data);

extern void ViewerManPageActivateCB(GtkWidget *widget, void *data);
extern void ViewerFindActivateCB(GtkWidget *widget, void *data);

extern void ViewerFindInPagesActivateCB(GtkWidget *widget, void *data);

extern void ViewerIndexCTreeSelectCB(
        GtkCTree *ctree, GtkCTreeNode *branch, gint column, gpointer data
); 
extern void ViewerIndexCTreeUnselectCB(
        GtkCTree *ctree, GtkCTreeNode *branch, gint column, gpointer data
);
extern void ViewerIndexCTreeExpandCB(
        GtkCTree *ctree, GtkCTreeNode *node, gpointer data
);

extern void ViewerTextChangeCB(GtkEditable *editable, gpointer data);


#endif	/* VIEWERCB_H */
