diff --git a/src/include/ZMap/zmapWindow.h b/src/include/ZMap/zmapWindow.h index da79907816ad3e53867ebf31d2a8ee3fc7c41ffa..6e1a963e9fd8d94e4c44eea4f2681dff5622c887 100755 --- a/src/include/ZMap/zmapWindow.h +++ b/src/include/ZMap/zmapWindow.h @@ -27,28 +27,175 @@ * window displaying genome data. * * HISTORY: - * Last edited: May 17 16:29 2004 (edgrif) + * Last edited: Jun 25 10:46 2004 (rnc) * Created: Thu Jul 24 15:21:56 2003 (edgrif) - * CVS info: $Id: zmapWindow.h,v 1.3 2004-05-17 16:22:45 edgrif Exp $ + * CVS info: $Id: zmapWindow.h,v 1.4 2004-06-28 14:32:59 rnc Exp $ *------------------------------------------------------------------- */ #ifndef ZMAP_WINDOW_H #define ZMAP_WINDOW_H -#include <ZMap/zmapSys.h> /* For callback funcs... */ +#include <ZMap/zmapSys.h> /* For callback funcs... */ +#include <libfoocanvas/libfoocanvas.h> +#include <ZMap/zmapcommon.h> +//#include <zmapcontrol.h> + + /* Opaque type, represents an individual ZMap window. */ typedef struct _ZMapWindowStruct *ZMapWindow ; +/* Opaque type, represents an individual ZMap display pane */ +typedef struct _ZMapPaneStruct *ZMapPane; + + +// zmapcolumn * a coupla others are temporarily public just for my own convenience. + +//typedef struct _ZMapColumnStruct ZMapColumn; +//struct zMapColumn; +typedef struct zMapColumn ZMapColumn; + +/* callback function prototypes******************************** + * These must be here as they're referred to in zMapColumn below + */ +typedef void (*colDrawFunc) (ZMapPane pane, ZMapColumn *col, + float *offset, int frame); +typedef void (*colConfFunc) (void); +typedef void (*colInitFunc) (ZMapPane pane, ZMapColumn *col); +typedef void (*colSelectFunc)(ZMapPane pane, ZMapColumn *col, + void *seg, int box, + double x, double y, + BOOL isSelect); + +/**************************************************************/ + +struct zMapColumn { + ZMapPane pane; + colInitFunc initFunc; + colDrawFunc drawFunc; + colConfFunc configFunc; + colSelectFunc selectFunc; + BOOL isFrame; + float priority; + char *name; + float startx, endx; /* filled in by drawing code */ + methodID meth; /* method */ + srType type; + void *private; +}; + + +struct ZMapColDefs { + colInitFunc initFunc; + colDrawFunc drawFunc; + colConfFunc configFunc; + colSelectFunc selectFunc; + BOOL isFrame; + float priority; /* only for default columns. */ + char *name; + srType type; +}; + + +typedef struct { + ZMapWindow window; /* the window pane */ + Calc_cb calc_cb; /* callback routine */ + void *seqRegion; /* AceDB region */ +} ZMapCallbackData; + + + +/******************* end of public stuff that might end up private */ + + /* Window stuff, callbacks, will need changing.... */ typedef enum {ZMAP_WINDOW_INIT, ZMAP_WINDOW_LOAD, ZMAP_WINDOW_STOP, ZMAP_WINDOW_QUIT} ZmapWindowCmd ; -ZMapWindow zMapWindowCreate(GtkWidget *parent_widget, char *sequence, - zmapVoidIntCallbackFunc app_routine, void *app_data) ; -void zMapWindowDisplayData(ZMapWindow window, void *data) ; -void zMapWindowReset(ZMapWindow window) ; -void zMapWindowDestroy(ZMapWindow window) ; +ZMapWindow zMapWindowCreate (GtkWidget *parent_widget, char *sequence, + zmapVoidIntCallbackFunc app_routine, void *app_data) ; +void zMapWindowDisplayData (ZMapWindow window, void *data) ; +void zMapWindowReset (ZMapWindow window) ; +void zMapWindowDestroy (ZMapWindow window) ; + +ZMapWindow zMapWindowCreateZMapWindow(void); +STORE_HANDLE zMapWindowGetHandle (ZMapWindow window); +void zMapWindowSetHandle (ZMapWindow window); +void zMapWindowCreateRegion (ZMapWindow window); +GNode *zMapWindowGetPanesTree (ZMapWindow window); +void zMapWindowSetPanesTree (ZMapWindow window, GNode *node); +void zMapWindowSetFirstTime (ZMapWindow window, BOOL value); +ZMapPane zMapWindowGetFocuspane (ZMapWindow window); +void zMapWindowSetFocuspane (ZMapWindow window, ZMapPane pane); +int zMapWindowGetRegionLength (ZMapWindow window); +Coord zMapWindowGetRegionArea (ZMapWindow window, int area); +void zMapWindowSetRegionArea (ZMapWindow window, Coord area, int num); +BOOL zMapWindowGetRegionReverse(ZMapWindow window); +ScreenCoord zMapWindowGetScaleOffset (ZMapWindow window); +void zMapWindowSetScaleOffset (ZMapWindow window, ScreenCoord offset); +Coord zMapWindowGetCoord (ZMapWindow window, char *field); +void zMapWindowSetCoord (ZMapWindow window, char *field, int size); +ScreenCoord zMapWindowGetScreenCoord (ZMapWindow window, Coord coord, int height); +ScreenCoord zMapWindowGetScreenCoord1 (ZMapWindow window, int height); +ScreenCoord zMapWindowGetScreenCoord2 (ZMapWindow window, int height); +InvarCoord zMapWindowGetOrigin (ZMapWindow window); +int zMapWindowGetRegionSize (ZMapWindow window); + +GtkWidget *zMapWindowGetFrame (ZMapWindow window); +void zMapWindowSetFrame (ZMapWindow window, GtkWidget *frame); +GtkWidget *zMapWindowGetVbox (ZMapWindow window); +void zMapWindowSetVbox (ZMapWindow window, GtkWidget *vbox); +void zMapWindowSetBorderWidth (GtkWidget *container, int width); +GtkWidget *zMapWindowGetHbox (ZMapWindow window); +void zMapWindowSetHbox (ZMapWindow window, GtkWidget *hbox); +GtkWidget *zMapWindowGetHpane (ZMapWindow window); +void zMapWindowSetHpane (ZMapWindow window, GtkWidget *hpane); +GtkWidget *zMapWindowGetNavigator (ZMapWindow window); +void zMapWindowSetNavigator (ZMapWindow window, GtkWidget *navigator); +FooCanvas *zMapWindowGetNavCanvas (ZMapWindow window); +void zMapWindowSetNavCanvas (ZMapWindow window, FooCanvas *navcanvas); +GtkWidget *zMapWindowGetZoomVbox (ZMapWindow window); +void zMapWindowSetZoomVbox (ZMapWindow window, GtkWidget *vbox); + +float zmMainScale (FooCanvas *canvas, float offset, int start, int end); + +GPtrArray *zMapRegionNewMethods (ZMapRegion *region); +GPtrArray *zMapRegionGetMethods (ZMapRegion *region); +GPtrArray *zMapRegionGetOldMethods (ZMapRegion *region); +void zMapRegionFreeMethods (ZMapRegion *region); +void zMapRegionFreeOldMethods (ZMapRegion *region); +GArray *zMapRegionNewSegs (ZMapRegion *region); +GArray *zMapRegionGetSegs (ZMapRegion *region); +void zMapRegionFreeSegs (ZMapRegion *region); +GArray *zMapRegionGetDNA (ZMapRegion *region); +void zMapRegionFreeDNA (ZMapRegion *region); + +GArray *zMapPaneNewBox2Col (ZMapPane pane, int elements); +ZMapColumn *zMapPaneGetBox2Col (ZMapPane pane, int index); +GArray *zMapPaneSetBox2Col (ZMapPane pane, ZMapColumn *col, int index); +void zMapPaneFreeBox2Col (ZMapPane pane); +GArray *zMapPaneNewBox2Seg (ZMapPane pane, int elements); +SEG *zMapPaneGetBox2Seg (ZMapPane pane, int index); +GArray *zMapPaneSetBox2Seg (ZMapPane pane, ZMapColumn *seg, int index); +void zMapPaneFreeBox2Seg (ZMapPane pane); +ZMapRegion *zMapPaneGetZMapRegion (ZMapPane pane); +FooCanvasItem *zMapPaneGetGroup (ZMapPane pane); +ZMapWindow zMapPaneGetZMapWindow (ZMapPane pane); +FooCanvas *zMapPaneGetCanvas (ZMapPane pane); +GPtrArray *zMapPaneGetCols (ZMapPane pane); +int zMapPaneGetDNAwidth (ZMapPane pane); +void zMapPaneSetDNAwidth (ZMapPane pane, int width); +void zMapPaneSetStepInc (ZMapPane pane, int incr); +int zMapPaneGetHeight (ZMapPane pane); +InvarCoord zMapPaneGetCentre (ZMapPane pane); +float zMapPaneGetBPL (ZMapPane pane); + +void addPane (ZMapWindow window, char orientation); +int recordFocus (GtkWidget *widget, GdkEvent *event, gpointer data); +void navUpdate (GtkAdjustment *adj, gpointer p); +void navChange (GtkAdjustment *adj, gpointer p); + +void drawNavigatorWind (ZMapPane pane); #endif /* !ZMAP_WINDOW_H */