Main Page | Alphabetical List | Compound List | File List | Compound Members | File Members

gtk-ui.h

Go to the documentation of this file.
00001 /*
00002  * XetPan: a libEtPan! based Mail User Agent
00003  * Copyright (C) 2002 Melvin Hadasht
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; either version 2 of the License, or
00008  * (at your option) any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00018  */
00019 
00020 #ifndef GTKUI_H
00021 #define GTKUI_H
00022 
00023 #include <sys/types.h> /* size_t used by regex */
00024 #include <regex.h>     /* regcomp, regexec, regfree */
00025 
00026 #include <gtk/gtkwidget.h>
00027 #include <gtk/gtktreestore.h>
00028 
00029 #include "xetpan.h"
00030 #include "ui-types.h"
00031 #include "manager.h"
00032 #include "message.h"
00033 
00034 #define XEP_STOCK_ICON              "xetpan-icon"
00035 #define XEP_STOCK_STATUS            "xetpan-status"
00036 #define XEP_STOCK_FLAG              "xetpan-flag"
00037 #define XEP_STOCK_REPLY             "xetpan-reply"
00038 #define XEP_STOCK_FORWARD           "xetpan-forward"
00039 #define XEP_STOCK_REPLIED           "xetpan-replied"
00040 #define XEP_STOCK_FORWARDED         "xetpan-forwarded"
00041 #define XEP_STOCK_REPLIED_FORWARDED "xetpan-replied-forwarded"
00042 #define XEP_STOCK_UNSEEN            GTK_STOCK_NO
00043 #define XEP_STOCK_NEW               GTK_STOCK_YES
00044 #define XEP_STOCK_DELETED            GTK_STOCK_DELETE
00045 
00046 typedef struct XePGTKFoldersView_s XePGTKFoldersView;
00047 
00048 struct XePGTKFoldersView_s
00049 {
00050   GtkWidget *widget;
00051   GtkWidget *optmenu;
00052   GtkTreeStore *store;
00053   GtkWidget *tree;
00054   XePFoldersViewsList *foldersviewslist;
00055   XePFoldersView *currentfoldersview;
00056   XePUIMain *uimain;
00057   gint pane_position;
00058 };
00059 
00060 typedef struct XePGTKSummaryView_s XePGTKSummaryView;
00061 
00062 struct XePGTKSummaryView_s
00063 {
00064   GtkWidget *widget;
00065   GtkWidget *tree;
00066   GtkWidget *search_box;
00067   GtkWidget *search_icon;
00068   GtkWidget *search_entry;
00069   regex_t preg;
00070   gboolean valid_preg;
00071   XePFolderRef *folder_ref;
00072   XePUIMain *uimain;
00073   gint pane_position;
00074 };
00075 
00076 #define a_GtkUI_foldersview_show(fview)   gtk_widget_show(fview->widget)
00077 #define a_GtkUI_foldersview_widget(fview) GTK_WIDGET(fview->widget)
00078 #define a_GtkUI_summaryview_show(sview)   gtk_widget_show(sview->widget)
00079 #define a_GtkUI_summaryview_widget(sview) GTK_WIDGET(sview->widget)
00080 
00081 void
00082 a_GtkUI_init(XetPan *xetpan, int *argc, char ***argv);
00083 
00084 int
00085 a_GtkUI_init_check(XetPan *xetpan, int *argc, char ***argv);
00086 
00087 void
00088 a_GtkUI_main(XetPan *xetpan);
00089 
00090 void
00091 a_GtkUI_main_quit(XetPan *xetpan);
00092 
00093 int
00094 a_GtkUI_events_pending(XetPan *xetpan);
00095 
00096 void
00097 a_GtkUI_main_iteration(XetPan *xetpan);
00098 
00099 void
00100 a_GtkUI_first_launch(XetPan *xetpan);
00101 
00102 void
00103 a_GtkUI_compose_pending_requests(XetPan *xetpan);
00104 
00105 XePUIMain*
00106 a_GtkUI_mainview_create(XetPan *xetpan, char *terminal);
00107 
00111 void
00112 a_GtkUI_mainview_close(XePUIMain *uimain);
00113 
00114 void
00115 a_GtkUI_mainview_reply(XePUIMain *uimain);
00116 
00117 void
00118 a_GtkUI_mainview_forward(XePUIMain *uimain);
00119 
00120 void
00121 a_GtkUI_mainview_redirect(XePUIMain *uimain);
00122 
00123 
00129 XePGTKFoldersView *
00130 a_GtkUI_foldersview_new(XePUIMain *uimain,
00131                         XePFoldersViewsList *foldersviewslist);
00132 
00133 void
00134 a_GtkUI_foldersview_set_list(XePGTKFoldersView *fview,
00135                              XePFoldersViewsList *list);
00136 
00141 void
00142 a_GtkUI_foldersview_set_view(XePGTKFoldersView *fview,
00143                              const char *foldersview_id);
00144 
00145 
00151 void
00152 a_GtkUI_foldersview_list_updated(XePUIMain *uimain);
00153 
00154 void
00155 a_GtkUI_foldersview_list_refresh(XePUIMain *uimain);
00156 
00157 void
00158 a_GtkUI_summaryview_set_view(XePGTKSummaryView *sview,
00159                              XePFolderRef *folder_ref);
00160 
00165 void
00166 a_GtkUI_summaryview_set_view_async(XePGTKSummaryView *sview,
00167                                    XePFolderRef *folder_ref);
00168 
00169 void
00170 a_GtkUI_summaryview_selection_delete(XePUIMain *uimain, XePMessageFlagsOp flag_op);
00171 
00172 void
00173 a_GtkUI_summaryview_selection_flag(XePUIMain *uimain, XePMessageFlagsOp flag_op);
00174 
00175 void
00176 a_GtkUI_summaryview_selection_seen(XePUIMain *uimain, XePMessageFlagsOp flag_op);
00177 
00178 void
00179 a_GtkUI_summaryview_find_match(XePGTKSummaryView *sview, 
00180                                gboolean forward);
00181 
00182 void
00183 a_GtkUI_summaryview_expunge(XePUIMain *uimain);
00184 
00185 void
00186 a_GtkUI_folder_updated(XePUIMain *uimain, XePFolder *folder);
00187 
00188 void 
00189 a_GtkUI_folder_refresh(XePUIMain *uimain, XePFolder *folder);
00190 
00191 void
00192 a_GtkUI_messageview_finalize(XePUIMessageView *mview, XePMessage *message);
00193 
00194 void
00195 a_GtkUI_messageview_mime_view_show(XePUIMessageView *mview,
00196                                    XePMessage *message);
00197 
00198 void
00199 a_GtkUI_messageview_mime_view_block(XePUIMessageView *mview,
00200                                     XePMessage *message);
00201 
00202 void
00203 a_GtkUI_messageview_mime_view_unblock(XePUIMessageView *mview,
00204                                       XePMessage *message);
00205 
00206 void
00207 a_GtkUI_messageview_mime_show_selected(XePUIMessageView *mview,
00208                                        XePMessage *message);
00209 
00210 XePUIComposeWindow *
00211 a_GtkUI_composewindow_create(XetPan *xetpan, char *terminal);
00212 
00213 void
00214 a_GtkUI_composewindow_set_message(XePUIComposeWindow *uicompose, 
00215                                   XePMessage *message);
00216 
00217 void
00218 a_GtkUI_composewindow_set_body_text(XePUIComposeWindow *uicompose,
00219                                     const char *text,
00220                                     size_t text_size,
00221                                     const char *text_charset);
00222 
00223 void
00224 a_GtkUI_composewindow_add_header(XePUIComposeWindow *uicompose, 
00225                                  XePMessageHeaderType header_type,
00226                                  const char *header_name,
00227                                  const char *header_value);
00228 
00229 void
00230 a_GtkUI_composewindow_close(XePUIComposeWindow *uicompose);
00231 
00232 XePUIMessageView *
00233 a_GtkUI_messageview_create_standalone(XetPan *xetpan, 
00234                                       char *terminal);
00235 void
00236 a_GtkUI_messageview_close(XePUIMessageView *mview);
00237 
00239 void
00240 a_GtkUI_about(XePUIMain *uimain);
00241 
00242 void
00243 a_GtkUI_notify_error(XePUIMain *uimain);
00244 
00245 void
00246 a_GtkUI_notify_error_reset(XePUIMain *uimain);
00247 
00255 void
00256 a_GtkUI_message_updated(XePUIMain *uimain, XePMessage *message);
00257 
00258 int
00259 a_GtkUI_create_io_watch(XePUI *ui, XePUIIOWatcher *watcher);
00260                 
00261 void
00262 a_GtkUI_delete_io_watch(XePUI *ui, XePUIIOWatcher *watcher);
00263 
00264 #endif

Generated on Wed Oct 22 15:50:37 2003 for XetPan by doxygen 1.3.2