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

foldersview.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 FOLDERSVIEW_H
00021 #define FOLDERSVIEW_H
00022 
00023 #include <clist.h>
00024 
00025 #include "cntree.h"
00026 #include "folder.h"
00027 
00039 typedef struct XePFoldersViewNode_s XePFoldersViewNode;
00040 struct XePFoldersViewNode_s
00041 {
00042   XePFolderRef folder_ref; 
00043   char *name;              
00045   int property;            
00046   int enabled;
00047 };
00048  
00050 typedef struct XePFoldersView_s XePFoldersView;
00051 struct XePFoldersView_s
00052 {
00053   char *id;                           
00054   cntree *tree;                       
00055   XePFoldersViewNode *lastviewed;     
00056 };
00057 
00058 typedef enum
00059   {
00060     XETPAN_FOLDERSVIEW_NODE_VISIBLE   = 1 << 0, 
00061     XETPAN_FOLDERSVIEW_NODE_COLLAPSED = 1 << 1  
00062   } XePFoldersViewNodeProperty;
00063 
00065 typedef struct XePFoldersViewsList_s XePFoldersViewsList;
00066 
00067 struct XePFoldersViewsList_s
00068 {
00069   clist *list; 
00070   XePFoldersView *mailboxes; 
00071 };
00072 
00073 XePFoldersView *
00074 a_Foldersview_new(void);
00075 
00076 void
00077 a_Foldersview_free(XePFoldersView *foldersview);
00078      
00079 XePFoldersViewNode *
00080 a_Foldersview_node_new(void);
00081 
00082 void
00083 a_Foldersview_node_free(XePFoldersViewNode *foldersviewnode);
00084 
00085 int
00086 a_Foldersview_mailboxes_view_update(void);
00087 
00088 void
00089 a_Foldersview_list_expunge(void);
00090 
00091 int
00092 a_Foldersview_list_create(cntree *ntree, 
00093                           XePFoldersViewsList **foldersviewslist,
00094                           int op);
00095 
00096 XePFoldersViewsList *
00097 a_Foldersview_list_new(void);
00098 
00099 void
00100 a_Foldersview_list_free(XePFoldersViewsList *foldersviewslist);
00101 
00102 int
00103 a_Foldersview_list_link_folders(XePFoldersViewsList *foldersviewslist);
00110 XePFoldersView *
00111 a_Foldersview_list_get_foldersview(XePFoldersViewsList *foldersviewslist,
00112                                    const char *foldersview_id);
00113 #endif

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