claylinelayout.h

Go to the documentation of this file.
00001 
00002 /*  $Id: claylinelayout.h 1254 2006-04-12 20:27:14Z sethdill $    */
00003 
00004 /******************************************************************************
00005 
00006     UserLand Frontier(tm) -- High performance Web content management,
00007     object database, system-level and Internet scripting environment,
00008     including source code editing and debugging.
00009 
00010     Copyright (C) 1992-2004 UserLand Software, Inc.
00011 
00012     This program is free software; you can redistribute it and/or modify
00013     it under the terms of the GNU General Public License as published by
00014     the Free Software Foundation; either version 2 of the License, or
00015     (at your option) any later version.
00016 
00017     This program is distributed in the hope that it will be useful,
00018     but WITHOUT ANY WARRANTY; without even the implied warranty of
00019     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020     GNU General Public License for more details.
00021 
00022     You should have received a copy of the GNU General Public License
00023     along with this program; if not, write to the Free Software
00024     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00025 
00026 ******************************************************************************/
00027 
00028 #ifndef claylinelayoutinclude
00029 #define claylinelayoutinclude
00030 
00031 
00032 typedef enum tyiconsize {
00033     
00034     fullsizeicon = 1,
00035     
00036     smallsizeicon = 2,
00037     
00038     verysmallsizeicon = 3
00039     } tyiconsize;
00040     
00041     
00042 typedef struct tylinelayout {
00043     
00044     boolean flinitted; //if true, the other fields in this record been set
00045     
00046     boolean claydisplay; // if true, we're using the clay line layout
00047     
00048     boolean realicons; /*if true, we go into the desktop db for icons, otherwise use generic ones*/
00049     
00050     boolean filenamebold; /*if true, the file name is drawn in bold*/
00051     
00052     boolean includeline2; /*if true we include the 2nd line of the display*/
00053     
00054     boolean includedate; /*if true, we include the modification date*/
00055     
00056     boolean includeframe; /*if true, each line has a frame, if false it's just like an outliner*/
00057     
00058     tyiconsize iconsize; /*full-size, small or very small icons*/
00059     
00060     RGBColor fillcolor, framecolor, cursorcolor, filenamecolor, othertextcolor; 
00061     
00062     RGBColor backcolor, statuscolor;
00063     
00064     short filenamefont, othertextfont;
00065     
00066     short filenamefontsize, othertextfontsize;
00067     } tylinelayout;
00068 
00069 
00070 typedef struct tycomputedlineinfo { /*computed fields that depend on a linelayout record*/
00071 
00072     short filenamelineheight;
00073     
00074     short othertextlineheight;
00075     
00076     short filenamewidth; /*the number of pixels reserved for the file name*/
00077     
00078     short datewidth; /*number of pixels reserved for the date*/
00079     } tycomputedlineinfo;
00080 
00081 
00082 #define str_claydisplay     (BIGSTRING ("\x0b" "claydisplay"))
00083 #define str_realicons       (BIGSTRING ("\x09" "realicons"))
00084 #define str_filenamebold    (BIGSTRING ("\x0c" "filenamebold"))
00085 #define str_includeline2    (BIGSTRING ("\x0c" "includeline2"))
00086 #define str_includedate     (BIGSTRING ("\x0b" "includedate"))
00087 #define str_includeframe    (BIGSTRING ("\x0c" "includeframe"))
00088 #define str_iconsize        (BIGSTRING ("\x08" "iconsize"))
00089 #define str_fillcolor       (BIGSTRING ("\x09" "fillcolor"))
00090 #define str_framecolor      (BIGSTRING ("\x0a" "framecolor"))
00091 #define str_cursorcolor     (BIGSTRING ("\x0b" "cursorcolor"))
00092 #define str_filenamecolor   (BIGSTRING ("\x0d" "filenamecolor"))
00093 #define str_othertextcolor  (BIGSTRING ("\x0e" "othertextcolor"))
00094 #define str_backcolor       (BIGSTRING ("\x09" "backcolor"))
00095 #define str_statuscolor     (BIGSTRING ("\x0b" "statuscolor"))
00096 #define str_filenamefont    (BIGSTRING ("\x0c" "filenamefont"))
00097 #define str_othertextfont   (BIGSTRING ("\x0d" "othertextfont"))
00098 #define str_filenamefontsize    (BIGSTRING ("\x10" "filenamefontsize"))
00099 #define str_othertextfontsize   (BIGSTRING ("\x11" "othertextfontsize"))
00100 
00101 extern void claybrowserinitdraw (void);
00102 
00103 extern boolean claypushnodestyle (hdlheadrecord);
00104 
00105 extern boolean claygetlineheight (hdlheadrecord, short *);
00106 
00107 extern boolean claygetlinewidth (hdlheadrecord, short *);
00108 
00109 extern boolean claydrawline (hdlheadrecord, const Rect *, boolean, boolean);
00110 
00111 extern boolean claygettextrect (hdlheadrecord, const Rect *, Rect *);
00112 
00113 extern boolean claygetedittextrect (hdlheadrecord, const Rect *, Rect *);
00114 
00115 extern boolean claygeticonrect (hdlheadrecord, const Rect *, Rect *);
00116 
00117 extern boolean claypredrawline (hdlheadrecord, const Rect *, boolean, boolean);
00118 
00119 extern boolean claypostdrawline (hdlheadrecord, const Rect *, boolean, boolean);
00120 
00121 extern boolean claydrawnodeicon (hdlheadrecord, const Rect *, boolean, boolean);
00122 
00123 extern boolean claygetnodeframe (hdlheadrecord, Rect *);
00124 
00125 extern void claysmashoutlinefields (hdlwindowinfo, struct tytableformats **);
00126 
00127 extern void claysetlinelayout (hdlwindowinfo, tylinelayout *);
00128 
00129 extern boolean clayinitlinelayout (tylinelayout *);
00130 
00131 extern boolean claylayouttotable (const tylinelayout *, hdlhashtable);
00132 
00133 extern boolean claytabletolayout (hdlhashtable, tylinelayout *);
00134 
00135 extern boolean claypacklinelayout (Handle);
00136 
00137 extern boolean clayunpacklinelayout (Handle, long *, struct tytableformats **);
00138 
00139 #ifdef claydialoginclude
00140 
00141 extern boolean claywindowuseslayout (hdlappwindow);
00142 
00143 extern void linelayoutprefsdialog (void);
00144 
00145 extern void linelayoutbeforeclosewindow (void);
00146 
00147 #endif
00148 
00149 #endif

Generated on Wed May 31 18:19:45 2006 for frontierkernel 10.1.10a by  doxygen 1.4.6