 
#ifndef folders_DEFINED
#define folders_DEFINED 1
 
#ifndef class_DEFINED
#include <class.h>
#endif /* class_DEFINED */
/* 
 * This file was generated by the Andrew class system preprocessor.
 * Don't make changes to this file as it is created from folders.ch and will be
 * overwritten.  Make changes to folders.ch instead.
 */ 
 
#ifndef class_StaticInfoOnly
/* 
 * The following information was copied, as-is, from folders.ch.
 */ 
 
/***********************************************************
		Copyright IBM Corporation 1991

                      All Rights Reserved

Permission to use, copy, modify, and distribute this software and its 
documentation for any purpose and without fee is hereby granted, 
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in 
supporting documentation, and that the name of IBM not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.  

IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/

/*
	$Disclaimer: 
*Permission to use, copy, modify, and distribute this software and its 
*documentation for any purpose is hereby granted without fee, 
*provided that the above copyright notice appear in all copies and that 
*both that copyright notice, this permission notice, and the following 
*disclaimer appear in supporting documentation, and that the names of 
*IBM, Carnegie Mellon University, and other copyright holders, not be 
*used in advertising or publicity pertaining to distribution of the software 
*without specific, written prior permission.
*
*IBM, CARNEGIE MELLON UNIVERSITY, AND THE OTHER COPYRIGHT HOLDERS 
*DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 
*ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO EVENT 
*SHALL IBM, CARNEGIE MELLON UNIVERSITY, OR ANY OTHER COPYRIGHT HOLDER 
*BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 
*DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 
*WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 
*ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
*OF THIS SOFTWARE.
* $
*/


 

#define TEMPFAILSTRING " (Temporarily unavailable) \n"

#define BADFAILSTRING " (Error -- Directory unreadable) \n"

#define LIST_NEWONLY 0
#define LIST_SUBSCRIBED 1
#define LIST_MAIL_FOLDERS 2
#define LIST_ALL_FOLDERS 3
#define LIST_AS_REQUESTED 4

struct BEDirCache {
    struct environment *env;
    int pos, len, commentstart, commentlen, substatus, SkipMe;
    char *FullName, *ShortName;
};







/* 
 * End of information copied from folders.ch.
 */ 
 
#endif /* class_StaticInfoOnly *//* 
 * Include the superclass information
 */ 
#define dontDefineRoutinesFor_messages
#include "messages.ih"
#undef dontDefineRoutinesFor_messages

 
 
#ifndef class_StaticInfoOnly
/* 
 * Data structure for folders 
 */ 
struct folders { 
    union {
	struct basicobject_methods *folders_methods;
	struct traced traced;
	struct observable observable;
	struct view view;
	struct textview textview;
	struct messages messages;
    } header;
    struct environment *HighlightEnv;
    struct BEDirCache *MainDirCache;
    int MainDirCacheSize, MainDirCacheCount;
    int HasSetUp:1;
    int ShowingAsRequested:1;
    struct style *Activefolderstyle; /* Bold */
    struct style *Normalfolderstyle; /* Indented */
    struct style *GlobalCapStyle; /* for the folders doc */
    struct style *IconicStyle; /* for icons from messages10 */
    struct style *BoldStyle;
    struct style *ItalicStyle;
    struct style *CenterStyle;
    struct style *BigCenterStyle;
    struct style *SmallCenterStyle;
    struct cursor *mycursor;
    struct keystate *mykeys;
    struct menulist *mymenulist;
    struct captions *mycaps;
    struct lpair *puntlp;
    int MailOnlyMode, CurrentConfiguration, VeryNarrow;
    struct sendmessage *sm;
    struct sbuttonv *buttons;
    struct scroll *myscroll;
    struct frame *myframe;
    struct sbutton_prefs *prefs;
    int NeedsToPrefetch;

};

 
/* 
 * End of data structure for folders.
 */ 
 

#endif /* class_StaticInfoOnly */

#ifndef class_StaticInfoOnly

#ifndef folders_PROGRAMMERVERSION
#define folders_PROGRAMMERVERSION 1
#endif /* folders_PROGRAMMERVERSION */

#ifdef folders_VERSION
#undef folders_VERSION
#endif /* folders_VERSION */
#define folders_VERSION ((((folders_PROGRAMMERVERSION << 16) ^ (129 << 8) ^ sizeof(struct folders)) & 0x7ffff) + 0x80000 + (2 << 20))


#endif /* class_StaticInfoOnly */
#define folders_StaticLoadOnlyThisClass()  \
{ extern struct classinfo *folders__GetClassInfo(); \
 extern struct classheader *folders_classheader_StaticExport; \
  (void) class_EnterInfo(NULL, folders_classheader_StaticExport->name, folders__GetClassInfo, NULL, folders_classheader_StaticExport->namekey); } 
 
#define folders_StaticLoad()  \
    { \
    messages_StaticLoad(); \
    folders_StaticLoadOnlyThisClass();  \
    } 
 
#define folders_StaticEntry  {folders_StaticLoad()} 
 
#ifndef class_StaticInfoOnly
static struct classheader folders_classheader = {
    folders_VERSION,
    "folders",
    "folders",
    (struct basicobject_methods *) &class_RoutineStruct,
};

#define folders_CLASSPROCEDURES (folders_classheader.classprocedures)
int folders_classref_;
#endif /* class_StaticInfoOnly */

#endif /* folders_DEFINED */

#if !defined(folders_ROUTINESDEFINED) && !defined(dontDefineRoutinesFor_folders) && !defined(class_StaticEntriesOnly)
#define folders_ROUTINESDEFINED

#define folders_Reference(self) \
 (((&(self)->header.traced))->refcount++)
#define folders_UnReference(self) \
 ((((&(self)->header.traced))->refcount>0)?((&(self)->header.traced))->refcount--:0)
#define folders_ReferenceCount(self) \
 (((&(self)->header.traced))->refcount)
#define folders_AddObserver(self,observer) \
    ((* ((void (*)())((self)->header.folders_methods->routines[0]))) (self,observer))
#define folders_IsObserver(self,observer) \
    ((* ((boolean (*)())((self)->header.folders_methods->routines[1]))) (self,observer))
#define folders_RemoveObserver(self,observer) \
    ((* ((void (*)())((self)->header.folders_methods->routines[2]))) (self,observer))
#define folders_NotifyObservers(self,value) \
    ((* ((void (*)())((self)->header.folders_methods->routines[3]))) (self,value))
#define folders_ObservedChanged(self,changed,value) \
    ((* ((void (*)())((self)->header.folders_methods->routines[4]))) (self,changed,value))
#define folders_AddRecipient(self,trigger,rcvr,func,rock) \
    ((* ((boolean (*)())((self)->header.folders_methods->routines[5]))) (self,trigger,rcvr,func,rock))
#define folders_DeleteRecipient(self,trigger,rcvr) \
    ((* ((void (*)())((self)->header.folders_methods->routines[6]))) (self,trigger,rcvr))
#define folders_PullTrigger(self,trigger) \
    ((* ((void (*)())((self)->header.folders_methods->routines[7]))) (self,trigger))
#define folders_DisableTrigger(self,trigger) \
    ((* ((void (*)())((self)->header.folders_methods->routines[8]))) (self,trigger))
#define folders_EnableTrigger(self,trigger) \
    ((* ((void (*)())((self)->header.folders_methods->routines[9]))) (self,trigger))
#define folders_DisableCount(self,trigger) \
    ((* ((long (*)())((self)->header.folders_methods->routines[10]))) (self,trigger))
#define folders_SetName(self,name) \
    ((* ((void (*)())((self)->header.folders_methods->routines[11]))) (self,name))
#define folders_GetName(self) \
    ((* ((struct atomlist * (*)())((self)->header.folders_methods->routines[12]))) (self))
#define folders_GetClass(self) \
    ((* ((struct atomlist * (*)())((self)->header.folders_methods->routines[13]))) (self))
#define folders_GetParameter(self,name,type,datum) \
    ((* ((short (*)())((self)->header.folders_methods->routines[14]))) (self,name,type,datum))
#define folders_GetResource(self,name,class,type,datum) \
    ((* ((short (*)())((self)->header.folders_methods->routines[15]))) (self,name,class,type,datum))
#define folders_GetManyParameters(self,resources,name,class) \
    ((* ((void (*)())((self)->header.folders_methods->routines[16]))) (self,resources,name,class))
#define folders_PostResource(self,path,type,datum) \
    ((* ((void (*)())((self)->header.folders_methods->routines[17]))) (self,path,type,datum))
#define folders_InsertViewRegion(self,parent,region) \
    ((* ((void (*)())((self)->header.folders_methods->routines[18]))) (self,parent,region))
#define folders_InsertView(self,parent,enclosingRect) \
    ((* ((void (*)())((self)->header.folders_methods->routines[19]))) (self,parent,enclosingRect))
#define folders_InsertViewSize(self,EnclosingView,xOriginInParent,yOriginInParent,width,height) \
    ((* ((void (*)())((self)->header.folders_methods->routines[20]))) (self,EnclosingView,xOriginInParent,yOriginInParent,width,height))
#define folders_SetDataObject(self,dataobject) \
    ((* ((void (*)())((self)->header.folders_methods->routines[21]))) (self,dataobject))
#define folders_GetApplicationLayer(self) \
    ((* ((struct view * (*)())((self)->header.folders_methods->routines[22]))) (self))
#define folders_DeleteApplicationLayer(self,applicationLayer) \
    ((* ((void (*)())((self)->header.folders_methods->routines[23]))) (self,applicationLayer))
#define folders_DescriptionObject(self,format,rock) \
    ((* ((char * (*)())((self)->header.folders_methods->routines[24]))) (self,format,rock))
#define folders_Describe(self,format,file,rock) \
    ((* ((enum view_DescriberErrs (*)())((self)->header.folders_methods->routines[25]))) (self,format,file,rock))
#define folders_FullUpdate(self,type,left,top,width,right) \
    ((* ((void (*)())((self)->header.folders_methods->routines[26]))) (self,type,left,top,width,right))
#define folders_Update(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[27]))) (self))
#define folders_Print(self,file,processor,finalFormat,topLevel) \
    ((* ((void (*)())((self)->header.folders_methods->routines[28]))) (self,file,processor,finalFormat,topLevel))
#define folders_Hit(self,action,x,y,numberOfClicks) \
    ((* ((struct view * (*)())((self)->header.folders_methods->routines[29]))) (self,action,x,y,numberOfClicks))
#define folders_DesiredSize(self,width,height,pass,dWidth,dheight) \
    ((* ((enum view_DSattributes (*)())((self)->header.folders_methods->routines[30]))) (self,width,height,pass,dWidth,dheight))
#define folders_GetOrigin(self,width,height,originX,originY) \
    ((* ((void (*)())((self)->header.folders_methods->routines[31]))) (self,width,height,originX,originY))
#define folders_ReceiveInputFocus(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[32]))) (self))
#define folders_LoseInputFocus(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[33]))) (self))
#define folders_ReceiveColormap(self,cmap) \
    ((* ((void (*)())((self)->header.folders_methods->routines[34]))) (self,cmap))
#define folders_LoseColormap(self,cmap) \
    ((* ((void (*)())((self)->header.folders_methods->routines[35]))) (self,cmap))
#define folders_WantUpdate(self,requestor) \
    ((* ((void (*)())((self)->header.folders_methods->routines[36]))) (self,requestor))
#define folders_WantInputFocus(self,requestor) \
    ((* ((void (*)())((self)->header.folders_methods->routines[37]))) (self,requestor))
#define folders_WantColormap(self,requestor,cmap) \
    ((* ((void (*)())((self)->header.folders_methods->routines[38]))) (self,requestor,cmap))
#define folders_WantNewSize(self,requestor) \
    ((* ((void (*)())((self)->header.folders_methods->routines[39]))) (self,requestor))
#define folders_WantHandler(self,handlerName) \
    ((* ((struct basicobject * (*)())((self)->header.folders_methods->routines[40]))) (self,handlerName))
#define folders_WantInformation(self,key) \
    ((* ((char * (*)())((self)->header.folders_methods->routines[41]))) (self,key))
#define folders_PostKeyState(self,keystate) \
    ((* ((void (*)())((self)->header.folders_methods->routines[42]))) (self,keystate))
#define folders_PostMenus(self,menulist) \
    ((* ((void (*)())((self)->header.folders_methods->routines[43]))) (self,menulist))
#define folders_PostCursor(self,rec,cursor) \
    ((* ((void (*)())((self)->header.folders_methods->routines[44]))) (self,rec,cursor))
#define folders_RetractCursor(self,cursor) \
    ((* ((void (*)())((self)->header.folders_methods->routines[45]))) (self,cursor))
#define folders_RetractViewCursors(self,requestor) \
    ((* ((void (*)())((self)->header.folders_methods->routines[46]))) (self,requestor))
#define folders_PostDefaultHandler(self,handlerName,handler) \
    ((* ((void (*)())((self)->header.folders_methods->routines[47]))) (self,handlerName,handler))
#define folders_GetInterface(self,type) \
    ((* ((char * (*)())((self)->header.folders_methods->routines[48]))) (self,type))
#define folders_LinkTree(self,parent) \
    ((* ((void (*)())((self)->header.folders_methods->routines[49]))) (self,parent))
#define folders_UnlinkTree(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[50]))) (self))
#define folders_IsAncestor(self,possibleAncestor) \
    ((* ((boolean (*)())((self)->header.folders_methods->routines[51]))) (self,possibleAncestor))
#define folders_UnlinkNotification(self,unlinkedTree) \
    ((* ((void (*)())((self)->header.folders_methods->routines[52]))) (self,unlinkedTree))
#define folders_GetWindowManagerType(self) \
    ((* ((char * (*)())((self)->header.folders_methods->routines[53]))) (self))
#define folders_GetDevice(self) \
    ((* ((long (*)())((self)->header.folders_methods->routines[54]))) (self))
#define folders_InitChildren(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[55]))) (self))
#define folders_CanView(self,TypeName) \
    ((* ((boolean (*)())((self)->header.folders_methods->routines[56]))) (self,TypeName))
#define folders_LoseSelectionOwnership(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[57]))) (self))
#define folders_WriteSelection(self,out) \
    ((* ((long (*)())((self)->header.folders_methods->routines[58]))) (self,out))
#define folders_MoveToPt(self,Pt) \
 (graphic_MoveToPt(((&(self)->header.view))->drawable,(Pt)))
#define folders_MoveTo(self,NewX,NewY) \
 (graphic_MoveTo(((&(self)->header.view))->drawable,(NewX),(NewY)))
#define folders_Move(self,DeltaX,DeltaY) \
 (graphic_Move(((&(self)->header.view))->drawable,(DeltaX),(DeltaY)))
#define folders_GetLogicalBounds(self,Rect) \
 (graphic_GetLogicalBounds(((&(self)->header.view))->drawable,(Rect)))
#define folders_GetLogicalBoundsSize(self,x,y,width,height) \
 (graphic_GetLogicalBoundsSize(((&(self)->header.view))->drawable,(x),(y),(width),(height)))
#define folders_GetLogicalRight(self) \
 (graphic_GetLogicalRight(((&(self)->header.view))->drawable))
#define folders_GetLogicalBottom(self) \
 (graphic_GetLogicalBottom(((&(self)->header.view))->drawable))
#define folders_GetLogicalLeft(self) \
 (graphic_GetLogicalLeft(((&(self)->header.view))->drawable))
#define folders_GetLogicalHeight(self) \
 (graphic_GetLogicalHeight((((&(self)->header.view))->drawable)))
#define folders_GetLogicalWidth(self) \
 (graphic_GetLogicalWidth((((&(self)->header.view))->drawable)))
#define folders_GetLogicalTop(self) \
 (graphic_GetLogicalTop((((&(self)->header.view))->drawable)))
#define folders_SetVisualRegion(self,region) \
 (graphic_SetVisualRegion(((&(self)->header.view))->drawable, (region)))
#define folders_GetVisualRegion(self,region) \
 (graphic_GetVisualRegion(((&(self)->header.view))->drawable, (region)))
#define folders_GetVisualBounds(self,Rect) \
 (graphic_GetVisualBounds(((&(self)->header.view))->drawable,(Rect)))
#define folders_GetVisualBoundsSize(self,x,y,width,height) \
 (graphic_GetVisualBoundsSize(((&(self)->header.view))->drawable,(x),(y),(width),(height)))
#define folders_GetVisualRight(self) \
 (graphic_GetVisualRight(((&(self)->header.view))->drawable))
#define folders_GetVisualBottom(self) \
 (graphic_GetVisualBottom(((&(self)->header.view))->drawable))
#define folders_GetVisualWidth(self) \
 (graphic_GetVisualWidth((((&(self)->header.view))->drawable)))
#define folders_GetVisualHeight(self) \
 (graphic_GetVisualHeight((((&(self)->header.view))->drawable)))
#define folders_GetVisualLeft(self) \
 (graphic_GetVisualLeft((((&(self)->header.view))->drawable)))
#define folders_GetVisualTop(self) \
 (graphic_GetVisualTop((((&(self)->header.view))->drawable)))
#define folders_GetEnclosedBounds(self,Rect) \
 (graphic_GetEnclosedBounds(((&(self)->header.view))->drawable, (Rect)))
#define folders_GetEnclosedBoundsSize(self,x,y,width,height) \
 (graphic_GetEnclosedBoundsSize(((&(self)->header.view))->drawable,(x),(y),(width),(height)))
#define folders_GetEnclosedRight(self) \
 (graphic_GetEnclosedRight(((&(self)->header.view))->drawable))
#define folders_GetEnclosedBottom(self) \
 (graphic_GetEnclosedBottom(((&(self)->header.view))->drawable))
#define folders_GetEnclosedLeft(self) \
 (graphic_GetEnclosedLeft((((&(self)->header.view))->drawable)))
#define folders_GetEnclosedTop(self) \
 (graphic_GetEnclosedTop((((&(self)->header.view))->drawable)))
#define folders_GetEnclosedWidth(self) \
 (graphic_GetEnclosedWidth((((&(self)->header.view))->drawable)))
#define folders_GetEnclosedHeight(self) \
 (graphic_GetEnclosedHeight((((&(self)->header.view))->drawable)))
#define folders_GetCurrentPt(self,Pt) \
 (graphic_GetCurrentPt(((&(self)->header.view))->drawable,(Pt)))
#define folders_DrawLineToPt(self,LineEnd) \
 (graphic_DrawLineToPt(((&(self)->header.view))->drawable,(LineEnd)))
#define folders_DrawLineTo(self,XEnd,YEnd) \
 (graphic_DrawLineTo(((&(self)->header.view))->drawable,(XEnd), (YEnd)))
#define folders_DrawLine(self,DeltaX,DeltaY) \
 (graphic_DrawLine(((&(self)->header.view))->drawable, (DeltaX), (DeltaY)))
#define folders_DrawString(self,Text,Operation) \
 (graphic_DrawString(((&(self)->header.view))->drawable, (Text), (Operation)))
#define folders_DrawText(self,Text,TextLength,Operation) \
 (graphic_DrawText(((&(self)->header.view))->drawable, (Text), (TextLength), (Operation)))
#define folders_SetSpaceShim(self,Amount) \
 (graphic_SetSpaceShim(((&(self)->header.view))->drawable,(Amount)))
#define folders_GetSpaceShim(self) \
 (graphic_GetSpaceShim(((&(self)->header.view))->drawable))
#define folders_SetFont(self,ChosenFont) \
 (graphic_SetFont(((&(self)->header.view))->drawable, (ChosenFont)))
#define folders_GetFont(self) \
 (graphic_GetFont(((&(self)->header.view))->drawable))
#define folders_DrawRect(self,Rect) \
 (graphic_DrawRect(((&(self)->header.view))->drawable,(Rect)))
#define folders_DrawRectSize(self,x,y,width,height) \
 (graphic_DrawRectSize(((&(self)->header.view))->drawable,(x),(y),(width),(height)))
#define folders_DrawTrapezoid(self,topX,topY,topWidth,bottomX,bottomY,bottomWidth) \
 (graphic_DrawTrapezoid(((&(self)->header.view))->drawable,(topX),(topY),(topWidth),(bottomX),(bottomY),(bottomWidth)))
#define folders_DrawPolygon(self,PointArray,PointCount) \
 (graphic_DrawPolygon(((&(self)->header.view))->drawable,(PointArray), (PointCount)))
#define folders_DrawPath(self,PointArray,PointCount) \
 (graphic_DrawPath(((&(self)->header.view))->drawable,(PointArray), (PointCount)))
#define folders_DrawOval(self,Rect) \
 (graphic_DrawOval(((&(self)->header.view))->drawable,(Rect)))
#define folders_DrawOvalSize(self,x,y,width,height) \
 (graphic_DrawOvalSize(((&(self)->header.view))->drawable, (x), (y), (width), (height)))
#define folders_DrawArc(self,EnclRect,StartAngle,OffsetAngle) \
 (graphic_DrawArc(((&(self)->header.view))->drawable,(EnclRect),(StartAngle),(OffsetAngle)))
#define folders_DrawArcSize(self,x,y,width,height,StartAngle,OffsetAngle) \
 (graphic_DrawArcSize(((&(self)->header.view))->drawable, (x), (y), (width), (height), (StartAngle), (OffsetAngle)))
#define folders_DrawRRect(self,OuterBox,InnerBox) \
 (graphic_DrawRRect(((&(self)->header.view))->drawable, (OuterBox), (InnerBox)))
#define folders_DrawRRectSize(self,x,y,width,height,cornerWidth,cornerHeight) \
 (graphic_DrawRRectSize(((&(self)->header.view))->drawable, (x), (y), (width), (height), (cornerWidth), (cornerHeight)))
#define folders_DrawRgn(self,Rgn) \
 (graphic_DrawRgn(((&(self)->header.view))->drawable,(Rgn)))
#define folders_FillRect(self,Rect,Tile) \
 (graphic_FillRect(((&(self)->header.view))->drawable, (Rect),(Tile)))
#define folders_FillRectSize(self,x,y,width,height,Tile) \
 (graphic_FillRectSize(((&(self)->header.view))->drawable, (x), (y), (width), (height), (Tile)))
#define folders_FillTrapezoid(self,topX,topY,topWidth,bottomX,bottomY,bottomWidth,Tile) \
 (graphic_FillTrapezoid(((&(self)->header.view))->drawable, (topX), (topY), (topWidth), (bottomX), (bottomY), (bottomWidth), (Tile)))
#define folders_FillPolygon(self,PointArray,PointCount,Tile) \
 (graphic_FillPolygon(((&(self)->header.view))->drawable, (PointArray), (PointCount), (Tile)))
#define folders_FillOval(self,Rect,Tile) \
 (graphic_FillOval(((&(self)->header.view))->drawable, (Rect), (Tile)))
#define folders_FillOvalSize(self,x,y,width,height,Tile) \
 (graphic_FillOvalSize(((&(self)->header.view))->drawable, (x), (y), (width), (height), (Tile)))
#define folders_FillArc(self,EnclRect,StartAngle,OffsetAngle,Tile) \
 (graphic_FillArc(((&(self)->header.view))->drawable, (EnclRect), (StartAngle), (OffsetAngle),(Tile)))
#define folders_FillArcSize(self,x,y,width,height,StartAngle,OffsetAngle,Tile) \
 (graphic_FillArcSize(((&(self)->header.view))->drawable, (x), (y), (width), (height), (StartAngle), (OffsetAngle), (Tile)))
#define folders_FillRRect(self,OuterBox,InnerBox,Tile) \
 (graphic_FillRRect(((&(self)->header.view))->drawable, (OuterBox), (InnerBox), (Tile)))
#define folders_FillRRectSize(self,x,y,width,height,cornerWidth,cornerHeight,Tile) \
 (graphic_FillRRectSize(((&(self)->header.view))->drawable, (x), (y), (width), (height), (cornerWidth), (cornerHeight), (Tile)))
#define folders_FillRgn(self,Rgn,Tile) \
 (graphic_FillRgn(((&(self)->header.view))->drawable, (Rgn), (Tile)))
#define folders_EraseRect(self,Rect) \
 (graphic_EraseRect(((&(self)->header.view))->drawable, (Rect)))
#define folders_EraseRectSize(self,x,y,width,height) \
 (graphic_EraseRectSize(((&(self)->header.view))->drawable, (x), (y), (width), (height)))
#define folders_EraseVisualRect(self) \
 (graphic_EraseVisualRect(((&(self)->header.view))->drawable))
#define folders_BitBlt(self,SrcRect,DestView,DstOrigin,ClipRectList) \
 (graphic_BitBlt(((&(self)->header.view))->drawable,(SrcRect), (((struct view *)(DestView))->drawable), (DstOrigin), (ClipRectList)))
#define folders_BitBltSize(self,srcX,srcY,dstX,dstY,Width,Height,DstView,clipX,clipY,clipWidth,clipHeight) \
 (graphic_BitBltSize(((&(self)->header.view))->drawable, (srcX), (srcY), (dstX), (dstY), (Width),(Height), (((struct view*)(DstView))->drawable), (clipX),(clipY), (clipWidth), (clipHeight)))
#define folders_SetBitAtLoc(self,XPos,YPos,NewValue) \
 (graphic_SetBitAtLoc(((&(self)->header.view))->drawable, (XPos), (YPos), (NewValue)))
#define folders_MoveLogicalOrigin(self,DeltaX,DeltaY) \
 (graphic_MoveLogicalOrigin(((&(self)->header.view))->drawable,(DeltaX), (DeltaY)))
#define folders_SetLogicalOrigin(self,NewX,NewY) \
 (graphic_SetLogicalOrigin(((&(self)->header.view))->drawable,(NewX), (NewY)))
#define folders_SetLogicalOriginPt(self,Pt) \
 (graphic_SetLogicalOriginPt(((&(self)->header.view))->drawable,(Pt)))
#define folders_SetClippingRegion(self,region) \
 (graphic_SetClippingRegion(((&(self)->header.view))->drawable, (region)))
#define folders_GetClippingRegion(self,region) \
 (graphic_GetClippingRegion(((&(self)->header.view))->drawable, (region)))
#define folders_SetClippingRect(self,ClipRect) \
 (graphic_SetClippingRect(((&(self)->header.view))->drawable,(ClipRect)))
#define folders_SetClippingRectSize(self,x,y,width,height) \
 (graphic_SetClippingRectSize(((&(self)->header.view))->drawable,(x),(y),(width),(height)))
#define folders_ClearClippingRect(self) \
 (graphic_ClearClippingRect(((&(self)->header.view))->drawable))
#define folders_GetClippingRect(self,Rect) \
 (graphic_GetClippingRect(((&(self)->header.view))->drawable,(Rect)))
#define folders_SetLineWidth(self,NewLineWidth) \
 (graphic_SetLineWidth(((&(self)->header.view))->drawable, (NewLineWidth)))
#define folders_GetLineWidth(self) \
 (graphic_GetLineWidth(((&(self)->header.view))->drawable))
#define folders_SetLineDash(self,dashPattern,dashOffset,dashType) \
 (graphic_SetLineDash(((&(self)->header.view))->drawable, (dashPattern), (dashOffset), (dashType)))
#define folders_GetLineDash(self,dashPattern,dashOffset,dashType) \
 (graphic_GetLineDash(((&(self)->header.view))->drawable, (dashPattern), (dashOffset), (dashType)))
#define folders_SetLineCap(self,NewLineCap) \
 (graphic_SetLineCap(((&(self)->header.view))->drawable, (NewLineCap)))
#define folders_GetLineCap(self) \
 (graphic_GetLineCap(((&(self)->header.view))->drawable))
#define folders_SetLineJoin(self,NewLineJoin) \
 (graphic_SetLineJoin(((&(self)->header.view))->drawable, (NewLineJoin)))
#define folders_GetLineJoin(self) \
 (graphic_GetLineJoin(((&(self)->header.view))->drawable))
#define folders_SetTransferMode(self,NewTransferMode) \
 (graphic_SetTransferMode(((&(self)->header.view))->drawable, (NewTransferMode)))
#define folders_GetTransferMode(self) \
 (graphic_GetTransferMode(((&(self)->header.view))->drawable))
#define folders_FlushGraphics(self) \
 (graphic_FlushGraphics(((&(self)->header.view))->drawable))
#define folders_WhitePattern(self) \
 (graphic_WhitePattern(((&(self)->header.view))->drawable))
#define folders_BlackPattern(self) \
 (graphic_BlackPattern(((&(self)->header.view))->drawable))
#define folders_GrayPattern(self,IntensityNum,IntensityDenom) \
 (graphic_GrayPattern(((&(self)->header.view))->drawable, (IntensityNum), (IntensityDenom)))
#define folders_SetPatternOrigin(self,xpos,ypos) \
  (graphic_SetPatternOrigin(((&(self)->header.view))->drawable, (xpos), (ypos)))
#define folders_GetPatternOrigin(self,xpos,ypos) \
  (graphic_GetPatternOrigin(((&(self)->header.view))->drawable, (xpos), (ypos)))
#define folders_SetForegroundColor(self,colorName,red,green,blue) \
 (graphic_SetForegroundColor(((&(self)->header.view))->drawable, (colorName), (red), (green), (blue)))
#define folders_GetForegroundColor(self,name,retred,retgreen,retblue) \
     (graphic_GetForegroundColor(((&(self)->header.view))->drawable, (name), (retred), (retgreen), (retblue)))
#define folders_SetBackgroundColor(self,colorName,red,green,blue) \
 (graphic_SetBackgroundColor(((&(self)->header.view))->drawable, (colorName), (red),(green),(blue)))
#define folders_GetBackgroundColor(self,name,retred,retgreen,retblue) \
 (graphic_GetBackgroundColor(((&(self)->header.view))->drawable, (name), (retred), (retgreen),(retblue)))
#define folders_SetFGColor(self,red,green,blue) \
 (graphic_SetFGColor(((&(self)->header.view))->drawable,(red),(green),(blue)))
#define folders_GetFGColor(self,red,green,blue) \
 (graphic_GetFGColor(((&(self)->header.view))->drawable,(red),(green),(blue)))
#define folders_SetBGColor(self,red,green,blue) \
 (graphic_SetBGColor(((&(self)->header.view))->drawable,(red),(green),(blue)))
#define folders_GetBGColor(self,red,green,blue) \
 (graphic_GetBGColor(((&(self)->header.view))->drawable,(red),(green),(blue)))
#define folders_GetHorizontalResolution(self) \
 (graphic_GetHorizontalResolution(((&(self)->header.view))->drawable))
#define folders_GetVerticalResolution(self) \
 (graphic_GetVerticalResolution(((&(self)->header.view))->drawable))
#define folders_GetIM(self) \
 (((&(self)->header.view))->imPtr)
#define folders_GetDrawable(self) \
 (((&(self)->header.view))->drawable)
#define folders_GetColormap(self) \
 (graphic_GetColormap(((&(self)->header.view))->drawable))
#define folders_SetColormap(self,cmap) \
 (graphic_SetColormap(((&(self)->header.view))->drawable, cmap))
#define folders_GetInheritedColormap(self) \
 (graphic_GetInheritedColormap(((&(self)->header.view))->drawable))
#define folders_SetInheritedColormap(self,cmap) \
 (graphic_SetInheritedColormap(((&(self)->header.view))->drawable, cmap))
#define folders_ClearInheritedColormap(self) \
 (graphic_ClearInheritedColormap(((&(self)->header.view))->drawable))
#define folders_CurrentColormap(self) \
 (graphic_CurrentColormap(((&(self)->header.view))->drawable))
#define folders_EnclosedXToLocalX(self,xvalue) \
   ((xvalue)-graphic_GetEnclosedLeft(((&(self)->header.view))->drawable)+graphic_GetLogicalLeft(((&(self)->header.view))->drawable))
#define folders_EnclosedYToLocalY(self,yvalue) \
    ((yvalue)-graphic_GetEnclosedTop(((&(self)->header.view))->drawable)+graphic_GetLogicalTop(((&(self)->header.view))->drawable))
#define folders_GetDataObject(self) \
 (((&(self)->header.view))->dataobject)
#define folders_DisplayClass(self) \
 (graphic_DisplayClass(((&(self)->header.view))->drawable ))
#define folders_ClearColors(self) \
 (graphic_ClearColors(((&(self)->header.view))->drawable))
#define folders_SetDotPosition(self,newPosition) \
    ((* ((void (*)())((self)->header.folders_methods->routines[59]))) (self,newPosition))
#define folders_SetDotLength(self,newLength) \
    ((* ((void (*)())((self)->header.folders_methods->routines[60]))) (self,newLength))
#define folders_GetDotPosition(self) \
    ((* ((long (*)())((self)->header.folders_methods->routines[61]))) (self))
#define folders_GetDotLength(self) \
    ((* ((long (*)())((self)->header.folders_methods->routines[62]))) (self))
#define folders_GetTopPosition(self) \
    ((* ((long (*)())((self)->header.folders_methods->routines[63]))) (self))
#define folders_SetTopPosition(self,newTopPosition) \
    ((* ((void (*)())((self)->header.folders_methods->routines[64]))) (self,newTopPosition))
#define folders_SetBorder(self,xBorder,yBorder) \
    ((* ((void (*)())((self)->header.folders_methods->routines[65]))) (self,xBorder,yBorder))
#define folders_SetEmbeddedBorder(self,xBorder,yBorder) \
    ((* ((void (*)())((self)->header.folders_methods->routines[66]))) (self,xBorder,yBorder))
#define folders_CollapseDot(self) \
    ((* ((long (*)())((self)->header.folders_methods->routines[67]))) (self))
#define folders_GetClickPosition(self,position,numberOfClicks,action,startLeft,startRight,leftPos,rightPos) \
    ((* ((void (*)())((self)->header.folders_methods->routines[68]))) (self,position,numberOfClicks,action,startLeft,startRight,leftPos,rightPos))
#define folders_Visible(self,pos) \
    ((* ((boolean (*)())((self)->header.folders_methods->routines[69]))) (self,pos))
#define folders_Locate(self,x,y,view) \
    ((* ((long (*)())((self)->header.folders_methods->routines[70]))) (self,x,y,view))
#define folders_GetTextSize(self,width,height) \
    ((* ((void (*)())((self)->header.folders_methods->routines[71]))) (self,width,height))
#define folders_MoveBack(self,pos,units,type,distMoved,linesAdded) \
    ((* ((long (*)())((self)->header.folders_methods->routines[72]))) (self,pos,units,type,distMoved,linesAdded))
#define folders_MoveForward(self,pos,units,type,distMoved,linesAdded) \
    ((* ((long (*)())((self)->header.folders_methods->routines[73]))) (self,pos,units,type,distMoved,linesAdded))
#define folders_FrameDot(self,pos) \
    ((* ((void (*)())((self)->header.folders_methods->routines[74]))) (self,pos))
#define folders_FindLineNumber(self,pos) \
    ((* ((long (*)())((self)->header.folders_methods->routines[75]))) (self,pos))
#define folders_LineRedraw(self,type,currentLine,x,y,xSize,ySize,search,cont,textheight,info) \
    ((* ((long (*)())((self)->header.folders_methods->routines[76]))) (self,type,currentLine,x,y,xSize,ySize,search,cont,textheight,info))
#define folders_LookCmd(self,look) \
    ((* ((void (*)())((self)->header.folders_methods->routines[77]))) (self,look))
#define folders_SetDefaultStyle(self,styelptr) \
    ((* ((void (*)())((self)->header.folders_methods->routines[78]))) (self,styelptr))
#define folders_GetDefaultStyle(self) \
    ((* ((struct style * (*)())((self)->header.folders_methods->routines[79]))) (self))
#define folders_ViewMove(self,currentLine,movement) \
    ((* ((void (*)())((self)->header.folders_methods->routines[80]))) (self,currentLine,movement))
#define folders_GetStyleInformation(self,sv,pos,length) \
    ((* ((struct environment * (*)())((self)->header.folders_methods->routines[81]))) (self,sv,pos,length))
#define folders_GetEnclosedStyleInformation(self,pos,length) \
    ((* ((struct environment * (*)())((self)->header.folders_methods->routines[82]))) (self,pos,length))
#define folders_ReleaseStyleInformation(self,env) \
    ((* ((void (*)())((self)->header.folders_methods->routines[83]))) (self,env))
#define folders_PrepareDeletion(self,pos,len) \
    ((* ((void (*)())((self)->header.folders_methods->routines[84]))) (self,pos,len))
#define folders_FinishDeletion(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[85]))) (self))
#define folders_DeleteCharacters(self,pos,len) \
    ((* ((void (*)())((self)->header.folders_methods->routines[86]))) (self,pos,len))
#define folders_PrepareInsertion(self,insertingNewLine) \
    ((* ((void (*)())((self)->header.folders_methods->routines[87]))) (self,insertingNewLine))
#define folders_FinishInsertion(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[88]))) (self))
#define folders_GetEnclosingEnvironment(self,pos) \
    ((* ((struct environment * (*)())((self)->header.folders_methods->routines[89]))) (self,pos))
#define folders_GetInsertEnvironment(self,pos) \
    ((* ((struct environment * (*)())((self)->header.folders_methods->routines[90]))) (self,pos))
#define folders_ClearInsertStack(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[91]))) (self))
#define folders_PopInsertStack(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[92]))) (self))
#define folders_AddStyleToInsertStack(self,styleName) \
    ((* ((void (*)())((self)->header.folders_methods->routines[93]))) (self,styleName))
#define folders_PlainInsertEnvironment(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[94]))) (self))
#define folders_UpInsertEnvironment(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[95]))) (self))
#define folders_DownInsertEnvironment(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[96]))) (self))
#define folders_LeftInsertEnvironment(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[97]))) (self))
#define folders_RightInsertEnvironment(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[98]))) (self))
#define folders_DoCopyRegion(self,pos,len,append,copyAsText) \
    ((* ((void (*)())((self)->header.folders_methods->routines[99]))) (self,pos,len,append,copyAsText))
#define folders_ToggleVIMode(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[100]))) (self))
#define folders_ToggleEditor(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[101]))) (self))
#define folders_SetTopOffTop(self,newTopPosition,pixelsOffTop) \
    ((* ((void (*)())((self)->header.folders_methods->routines[102]))) (self,newTopPosition,pixelsOffTop))
#define folders_GetEditor(self) \
 ((&(self)->header.textview)->editor)
#define folders_GetVIMode(self) \
 ((&(self)->header.textview)->viMode)
#define folders_EncodePosition(self,pos) \
  ((pos) << 7)
#define folders_DecodePosition(self,pos) \
  ((pos) >> 7)
#define folders_SetWhatIAm(self,WhatIAm) \
    ((* ((void (*)())((self)->header.folders_methods->routines[103]))) (self,WhatIAm))
#define folders_ResetFileIntoMenus(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[104]))) (self))
#define folders_AppendOneMessageToFile(self,cuid,fname,DoRaw) \
    ((* ((int (*)())((self)->header.folders_methods->routines[105]))) (self,cuid,fname,DoRaw))
#define folders_HandleAsyncPrefetch(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[106]))) (self))
#define folders_AlterSubscriptionStatus(self,dir,shortname,status) \
    ((* ((int (*)())((self)->header.folders_methods->routines[107]))) (self,dir,shortname,status))
#define folders_AlterFolderNames(self,name,nick,doinsert) \
    ((* ((void (*)())((self)->header.folders_methods->routines[108]))) (self,name,nick,doinsert))
#define folders_ActionHit(self,substatus,fullname,nickname) \
    ((* ((void (*)())((self)->header.folders_methods->routines[109]))) (self,substatus,fullname,nickname))
#define folders_HighlightFolder(self,name,comment) \
    ((* ((void (*)())((self)->header.folders_methods->routines[110]))) (self,name,comment))
#define folders_SimulateClick(self,IsLeftClick) \
    ((* ((void (*)())((self)->header.folders_methods->routines[111]))) (self,IsLeftClick))
#define folders_FindNextFolder(self,which,skipped) \
    ((* ((void (*)())((self)->header.folders_methods->routines[112]))) (self,which,skipped))
#define folders_Reconfigure(self,listcode) \
    ((* ((void (*)())((self)->header.folders_methods->routines[113]))) (self,listcode))
#define folders_UpdateMsgs(self,code,thingstoread,ShowHelp) \
    ((* ((void (*)())((self)->header.folders_methods->routines[114]))) (self,code,thingstoread,ShowHelp))
#define folders_NextFolder(self,ShowFirst) \
    ((* ((void (*)())((self)->header.folders_methods->routines[115]))) (self,ShowFirst))
#define folders_SetCaptions(self,c) \
    ((* ((void (*)())((self)->header.folders_methods->routines[116]))) (self,c))
#define folders_SetVeryNarrow(self,isnarrow) \
    ((* ((void (*)())((self)->header.folders_methods->routines[117]))) (self,isnarrow))
#define folders_ExplainDir(self,fullname,nickname) \
    ((* ((void (*)())((self)->header.folders_methods->routines[118]))) (self,fullname,nickname))
#define folders_SetSkip(self,fullname,DoSkip) \
    ((* ((void (*)())((self)->header.folders_methods->routines[119]))) (self,fullname,DoSkip))
#define folders_ExposeSend(self) \
    ((* ((struct sendmessage * (*)())((self)->header.folders_methods->routines[120]))) (self))
#define folders_GrowWindow(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[121]))) (self))
#define folders_WriteFormattedBodyFile(self,fname,captbuf) \
    ((* ((int (*)())((self)->header.folders_methods->routines[122]))) (self,fname,captbuf))
#define folders_FolderOnDisplay(self,shortname,longname) \
    ((* ((void (*)())((self)->header.folders_methods->routines[123]))) (self,shortname,longname))
#define folders_ShowHelp(self) \
    ((* ((void (*)())((self)->header.folders_methods->routines[124]))) (self))
#define folders_NewCaptionsInNewWindow(self) \
    ((* ((struct captions * (*)())((self)->header.folders_methods->routines[125]))) (self))
#define folders_SetSendmessage(self,sm) \
    ((* ((void (*)())((self)->header.folders_methods->routines[126]))) (self,sm))
#define folders_ReadMail(self,CheckMailbox) \
    ((* ((void (*)())((self)->header.folders_methods->routines[127]))) (self,CheckMailbox))
#define folders_GetCaptions(self) \
    ((* ((struct captions * (*)())((self)->header.folders_methods->routines[128]))) (self))

#define folders_NewFromObject(self) \
    ((* ((struct folders * (*)())((self)->header.folders_methods->info->procs->routines[0]))) (&folders_classheader, (self)->header.folders_methods->info->versionnumber))
#define folders_New() \
    (*((struct folders * (*)()) (folders_CLASSPROCEDURES->routines[0])))(&folders_classheader,folders_VERSION)
#define folders_Initialize(self) \
    (*((void (*)()) (folders_CLASSPROCEDURES->routines[2])))(&folders_classheader,self, folders_VERSION)

#define folders_Destroy(self) \
    ((* ((void (*)()) ((self)->header.folders_methods->info->procs->routines[1]))) (&folders_classheader, self))
#define folders_Finalize(self) \
    (*((void (*)()) (folders_CLASSPROCEDURES->routines[3])))(&folders_classheader,self)

#define folders_InitializeObject(self) \
    (*((boolean (*)()) (folders_CLASSPROCEDURES->routines[5])))(&folders_classheader,self)
#define folders_FinalizeObject(self) \
    (*((void (*)()) (folders_CLASSPROCEDURES->routines[6])))(&folders_classheader,self)
#define folders_InitializeClass() \
    (*((boolean (*)()) (folders_CLASSPROCEDURES->routines[7])))(&folders_classheader)


#endif /* !defined(folders_ROUTINESDEFINED) && !defined(dontDefineRoutinesFor_folders ) && !defined(class_StaticEntriesOnly)*/

