00001 00012 #ifndef GITKR_INCLUDES_H 00013 #define GITKR_INCLUDES_H 00014 00015 //-- global includes ----------------------------------------------------------- 00016 00017 #include "config.h" 00018 #include <libgitk/gitk.h> 00019 00020 #include <ctype.h> 00021 #include <curses.h> 00022 #include <errno.h> 00023 #include <signal.h> 00024 #include <unistd.h> 00025 00026 #if HAVE_TERMIOS_H 00027 #include <termios.h> 00028 // this seems to be obsolete and only causes problems with mingw 00029 //#else 00030 // #include <sgtty.h> 00031 #endif 00032 00033 #if !defined(sun) || !defined(HAVE_TERMIOS_H) 00034 #if HAVE_SYS_IOCTL_H 00035 #include <sys/ioctl.h> 00036 #endif 00037 #endif 00038 00039 /* This is needed to compile 'struct winsize' */ 00040 #if HAVE_SYS_STREAM_H 00041 #include <sys/stream.h> 00042 #endif 00043 #if HAVE_SYS_PTEM_H 00044 #include <sys/ptem.h> 00045 #endif 00046 00047 #ifdef HAVE_SPEECH 00048 #include "speech/festival/festival.h" 00049 #endif 00050 00051 //-- general widget structure -------------------------------------------------- 00052 00054 typedef struct GitkrTextWidget GitkrTextWidget; 00056 typedef GitkrTextWidget *GitkrTextWidgetPtr; 00058 typedef void (*GitkrWidgetOutputPtr)(GitkrTextWidgetPtr widget,gint line,gboolean active); 00060 typedef gboolean (*GitkrWidgetHandlePtr)(GitkrTextWidgetPtr widget,gint line); 00064 struct GitkrTextWidget { 00065 GitkWidgetFields 00066 gchar *label; 00067 guint bg_color; 00068 guint fg_color; 00069 gboolean dim_bold; 00070 gint display_attrs; 00071 gchar icon; 00072 GitkrWidgetOutputPtr output; 00073 GitkrWidgetHandlePtr handle; 00074 }; 00075 00076 //-- layout structure ---------------------------------------------------------- 00077 00079 typedef struct GitkrTextLayoutPage GitkrTextLayoutPage; 00081 typedef GitkrTextLayoutPage *GitkrTextLayoutPagePtr; 00083 struct GitkrTextLayoutPage { 00084 GitkrTextWidgetPtr widgets; 00085 gint widgetsPerPage; 00086 gchar *title; 00087 }; 00088 00090 typedef struct GitkrTextLayout GitkrTextLayout; 00092 typedef GitkrTextLayout *GitkrTextLayoutPtr; 00096 struct GitkrTextLayout { 00097 GitkLayoutFields 00098 gint currentPage; 00099 gint numberOfPages; 00100 gint currentWidget; 00101 gint maxWidgetsPerPage; 00102 guint bg_color; 00103 guint fg_color; 00104 gboolean dim_bold; 00105 GitkrTextLayoutPagePtr pages; 00106 GitkrTextLayoutPage ctrl; 00107 }; 00108 00110 #define GITKR_TEXT_NAVIGATION -1 00111 00112 //-- local includes ------------------------------------------------------------ 00113 00114 #include "gitkrdone.h" 00115 #include "gitkreventloop.h" 00116 #include "gitkrglobal.h" 00117 #include "gitkrhideshow.h" 00118 #include "gitkrinit.h" 00119 #include "gitkrlayout.h" 00120 #include "gitkrrenderer.h" 00121 #include "gitkrtools.h" 00122 00123 #include "widgets/gitkrw.h" 00124 00125 #include "widgets/gitkrwaction.h" 00126 00127 #include "widgets/gitkrwcharacterinput.h" 00128 #include "widgets/gitkrwcharacterinputalphabetic.h" 00129 00130 #include "widgets/gitkrwoptionchoice.h" 00131 #include "widgets/gitkrwoptionchoiceboolean.h" 00132 00133 #include "widgets/gitkrwlabel.h" 00134 00135 #endif /* GITKR_INCLUDES_H */