shell.h

Go to the documentation of this file.
00001 
00002 /*  $Id: shell.h 462 2005-10-01 17:34:38Z icreedon $    */
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 shellinclude
00029 #define shellinclude /*so other includes can tell if we've been loaded*/
00030 
00031 
00032 #ifndef shelltypesinclude
00033     
00034     #include "shelltypes.h"
00035 
00036 #endif
00037 
00038 
00039 #ifndef configinclude
00040     
00041     #include "frontierconfig.h"
00042 
00043 #endif
00044 
00045 #ifndef scrollbarinclude
00046 
00047     #include "scrollbar.h"
00048 
00049 #endif
00050 
00051 #ifndef dbinclude
00052 
00053     #include "db.h"
00054 
00055 #endif
00056 
00057 #ifdef WIN95VERSION
00058 extern HWND findreplacewindow;
00059 #endif
00060 
00061 /*constants*/
00062 
00063 enum { /*indexes of internal errors*/
00064     
00065     idbadopversionnumber = 1,
00066     iderrorloadingformats,
00067     idbadtableformatsversion,
00068     idtoomanypophashtables,
00069     iddisposingsystemtable,
00070     idpackstackfull,
00071     idpackstackempty,
00072     idbadtempdatatype,
00073     idwindowzoombug,
00074     idoutlinestackfull,
00075     idopwindowopenbug,
00076     idinvalidoutline,
00077     idprocessstackfull,
00078     idpenstackempty,
00079     idportstackfull,
00080     idportstackempty,
00081     idregionstackfull,
00082     idclipstackfull,
00083     idclipstackempty,
00084     idstylestackfull,
00085     idstylestackempty,
00086     idscriptpoptablefailed,
00087     ideditorstackfull,
00088     idbuttonlistmissing,
00089     idglobalsstackfull,
00090     idtoomanykeyboardhooks,
00091     idtoomanydirtyhooks,
00092     idtoomanymenuhooks,
00093     idtoomanyeventhooks,
00094     idtoomanyerrorhooks,
00095     idtoomanyscraphooks,
00096     idtoomanymemoryhooks,
00097     idtoomanyfilehooks,
00098     idformatstackfull,
00099     idformatstackempty,
00100     idnilhashtable,
00101     idbadbucketliststring,
00102     iderrorloadingtable,
00103     idunsortedhashlist,
00104     idniltableaddress,
00105     idwpstackfull
00106     };
00107 
00108 #ifdef fltrialsize
00109 
00110 enum { /*indexes of trial errors*/
00111 
00112     dbsizelimitstring = 1,
00113     threadlimitstring,
00114     expirationstring,
00115     buyfrontierstring,
00116     noguestdatabasesstring
00117     };
00118 
00119 #endif
00120 
00121 
00122 /*typedefs*/
00123 
00124 typedef struct tywindowposition {
00125     
00126     Rect windowrect;
00127     
00128     #ifdef version5orgreater
00129     
00130         short unused [6];
00131     
00132     #else
00133         
00134         short vertcurrent, vertmin, vertmax;
00135         
00136         short horizcurrent, horizmin, horizmax;
00137     
00138     #endif
00139     
00140     long ctopens; /*the number of times the file has been opened*/
00141     
00142     short rowcursor, colcursor; /*where the cursor is located*/
00143     
00144     short configresnum; /*which set of callback routines handle this document?*/
00145     
00146     boolean flhidden: 1; /*set if the window isn't visible*/
00147     
00148     short unused1, unused2, unused3, unused4; /*room for expansion*/
00149     
00150     char appitems [62]; /*reserved for use by application*/
00151     } tywindowposition;
00152 
00153 
00154 typedef struct tysavedfont { /*format of a 'styl' resource*/
00155     
00156     short fontsize, fontstyle;
00157     
00158     bigstring fontname; 
00159     } tysavedfont;
00160 
00161 
00162 typedef struct tyselectioninfo {
00163     
00164     boolean fldirty: 1; /*something changed, menus need updating*/
00165     
00166     boolean flcansetfont: 1; /*can we set font in current context?*/
00167     
00168     boolean flcansetsize: 1; /*can we set size?*/
00169     
00170     boolean flcansetstyle: 1; /*can we set style?*/
00171     
00172     boolean flcansetjust: 1; /*can we set justification?*/
00173     
00174     boolean flcansetleading: 1; /*can we set leading?*/
00175     
00176     short fontnum;
00177     
00178     short fontsize;
00179     
00180     tyjustification justification;
00181     
00182     short leading;
00183     
00184     short fontstyle;
00185     } tyselectioninfo;
00186     
00187     
00188 typedef struct tywindowinfo { /*one of these records is linked into every window*/
00189     
00190     short configresnum; /*governs which content provider gets this window's messages*/
00191     
00192     struct tywindowinfo **nextwindow, **prevwindow; /*window list is doubly linked*/
00193     
00194     struct tywindowinfo **parentwindow;
00195     
00196     WindowPtr macwindow; /*points to the Macintosh data structure for the window*/
00197     
00198     typrocessid processid;
00199     
00200     Rect rzoomfrom; /*where this window gets zoomed from when it's revealed*/
00201     
00202     Rect zoomedrect; /*calculated fully-zoomed rect, based on window's content*/
00203 
00204     Rect contentrect; /*the portion of window "owned" by content handler*/
00205     
00206     Rect oldcontentrect; /*some handler's need this to resize a window*/
00207     
00208     Rect growiconrect; /*shellwindow may need this to resize a window*/
00209     
00210     Rect buttonsrect; /*where buttons are drawn, if the window has buttons*/
00211     
00212     short lastbuttonhit; /*for default routine, this is the bold button*/
00213     
00214     unsigned short buttonsenabled; /*16 bits, one for each button*/
00215 
00216     unsigned short buttonsdisplayed; /*16 bits, one for each button*/
00217 
00218     boolean flhidebuttons; /*7.1b18 PBS: hide buttons in outlines*/
00219 
00220     boolean flsyntheticbuttons; /*7.1b18 PBS: outlines may or may not have synthetic buttons*/
00221 
00222     Handle buttonscripttable; /*7.1b18 PBS: hashtable of scripts for synthetic buttons*/
00223 
00224     Handle buttonlist; /*7.1b18 PBS: list of buttons*/
00225 
00226     RgnHandle drawrgn; /*for updating routines, this is the region that needs drawing*/
00227     
00228     Rect messagerect; /*the rectangle that messages are displayed in, pre-computed*/
00229     
00230     hdlstring hmessagestring; /*the string that's displayed in the window message area*/
00231     
00232     hdlscrollbar vertscrollbar, horizscrollbar; /*the window's scroll bars*/
00233     
00234     tyscrollinfo vertscrollinfo, horizscrollinfo; /*extracted scrollbar info*/
00235     
00236     short lastcurrent; /*scrollbar value, before thumb move, for scroll-to operations*/
00237     
00238     short defaultfont, defaultsize, defaultstyle; /*app may or may not pay attention*/
00239     
00240     tyfilespec fspec; /*the specifier of the file, name usually displayed in window title bar*/
00241     
00242     hdlfilenum fnum; /*the refnum of the file that's displayed in the window, 0 if new*/
00243     
00244     short rnum; /*resource refnum, analogous to fnum, above, -1 if not open*/
00245     
00246     tywindowposition wpos; /*information that gets saved in each file*/
00247     
00248     tyselectioninfo selectioninfo; /*for two-way communication about style changes*/
00249     
00250     hdlstring hundostring; /*the operation waiting to be undone, nil if can't undo*/
00251     
00252     Handle hdata; /*the data displayed in the window, maintained by content handler*/
00253     
00254     Handle hundostack, hredostack; /*handles are untyped here so avoid shellundo.h*/
00255     
00256     hdlstring hwindowtitle; /*so we don't have to ask the window for it*/
00257     
00258     long ctpushes;
00259     
00260     boolean flwindowactive: 1; /*is the window activated?*/
00261     
00262     boolean flmadechanges: 1; /*were editing changes made to this window?*/
00263     
00264     boolean fldirtyscrollbars: 1; /*application can force update of scrollbars*/
00265     
00266     boolean flsaveas: 1; /*allows content handler to distinguish save from save-as*/
00267     
00268     boolean flhidden: 1; /*indicates whether the window is hidden or visible*/
00269     
00270     boolean flmessagelocked: 1; /*indicates whether window message is locked or not*/
00271     
00272     boolean flmadeviewchanges: 1; /*set for non-content changes: scroll, cursor, window pos*/
00273     
00274     boolean flneversaved: 1; /*new db window, never saved?*/
00275     
00276     boolean flopenedforfind: 1; /*was window opened to show found occurence during search?*/
00277     
00278     boolean fldontownwindow: 1; /*if true, the shell doesn't own the macwindow itself*/
00279     
00280     boolean flbeingclosed: 1; /*if true, we're inside of shellclosexxx right now*/
00281     
00282     boolean fldisposewhenpopped: 1; //if true, dispose was called while we were pushed
00283     } tywindowinfo, *ptrwindowinfo, **hdlwindowinfo;
00284 
00285 
00286 typedef boolean (*shellcallback) (void);
00287 
00288 typedef void (*shellvoidcallback) (void);
00289 
00290 typedef void (*shellactivatecallback) (boolean);
00291 
00292 typedef boolean (*shellbooleancallback) (boolean);
00293 
00294 typedef boolean (*shellexportscrapcallback) (void *, tyscraptype, Handle *, boolean *);
00295 
00296 typedef void (*shelldisposescrapcallback) (void *);
00297 
00298 typedef boolean (*shellscrollcallback) (tydirection, boolean, long);
00299 
00300 typedef boolean (*shellgetundoglobalscallback) (long *);
00301 
00302 typedef boolean (*shellsetundoglobalscallback) (long, boolean);
00303 
00304 typedef boolean (*shellmousecallback) (Point, tyclickflags);
00305 
00306 typedef boolean (*shellcontentsizecallback) (long *, long *);
00307 
00308 typedef boolean (*shellcmdkeycallback) (char);
00309 
00310 typedef boolean (*shellshortcallback) (short);
00311 
00312 typedef boolean (*shellbuttonstatuscallback) (short, tybuttonstatus *);
00313 
00314 typedef boolean (*shellpointcallback) (Point);
00315 
00316 typedef boolean (*shellwindowcallback) (WindowPtr);
00317 
00318 typedef boolean (*shellfnumcallback) (hdlfilenum);
00319 
00320 typedef boolean (*shellloadcallback) (hdlfilenum, short);
00321 
00322 typedef boolean (*shellloadspecialcallback) (ptrfilespec, OSType);
00323 
00324 typedef boolean (*shellsavecallback) (ptrfilespec, hdlfilenum, short, boolean, boolean);
00325 
00326 typedef boolean (*shellgetvariablecallback) (void *);
00327 
00328 typedef boolean (*shellmessagecallback) (bigstring, boolean);
00329 
00330 typedef boolean (*shellwindowinfocallback) (hdlwindowinfo);
00331 
00332 typedef boolean (*shellwindowvisitcallback) (WindowPtr, ptrvoid);
00333 
00334 typedef boolean (*shellzoomwindowcallback) (hdlwindowinfo, boolean);
00335 
00336 typedef boolean (*shelldatabasecallback) (struct tydatabaserecord ***);
00337 
00338 
00339 typedef struct tyshellglobals {
00340     
00341     WindowPtr *windowholder; /*the caller's global window record*/
00342     
00343     Handle *dataholder; /*the caller's global data handle*/
00344     
00345     hdlwindowinfo *infoholder; /*the caller's global window info holder*/
00346 
00347     short configresnum; /*config resource associated with this window type*/
00348     
00349     tyconfigrecord config; /*configuration information about the caller*/
00350     
00351     Handle buttonlist; /*list of buttons associated with windows of this type*/
00352     
00353     shellcallback initroutine; /*called after Mac toolbox is init'd*/
00354     
00355     shellvoidcallback quitroutine; /*called before we quit*/
00356     
00357     shellcallback setglobalsroutine;
00358     
00359     shellcallback pushroutine;
00360 
00361     shellcallback poproutine;
00362     
00363     shellcallback setsuperglobalsroutine;
00364     
00365     shellcallback newrecordroutine;
00366     
00367     shellcallback disposerecordroutine;
00368     
00369     shellloadcallback loadroutine;
00370     
00371     shellloadspecialcallback loadspecialroutine;
00372     
00373     shellwindowcallback precloseroutine;    /*4.1b5 dmb*/
00374     
00375     shellcallback closeroutine;
00376     
00377     shellwindowcallback childcloseroutine;
00378     
00379     shellcallback presaveroutine;
00380     
00381     shellsavecallback saveroutine;
00382     
00383     shellcallback pagesetuproutine;
00384     
00385     shellcallback beginprintroutine;
00386     
00387     shellcallback endprintroutine;
00388     
00389     shellshortcallback printroutine;
00390     
00391     shellcallback setprintinfoproutine;
00392     
00393     shellvoidcallback updateroutine;
00394     
00395     shellactivatecallback activateroutine;
00396     
00397     shellactivatecallback resumeroutine;
00398     
00399     shellcontentsizecallback getcontentsizeroutine;
00400     
00401     shellwindowinfocallback resetrectsroutine;
00402     
00403     shellvoidcallback resizeroutine;
00404     
00405     shellscrollcallback scrollroutine;
00406     
00407     shellvoidcallback setscrollbarroutine;
00408     
00409     shellmousecallback mouseroutine;
00410 
00411     shellmousecallback rmouseroutine;
00412     
00413     shellmousecallback cmouseroutine;
00414 
00415     shellmousecallback wmouseroutine;
00416     
00417     shellshortcallback buttonroutine;
00418     
00419     shellbuttonstatuscallback buttonstatusroutine;
00420     
00421     shellcallback keystrokeroutine;
00422     
00423     shellcmdkeycallback cmdkeyfilterroutine;
00424     
00425     shellcallback menuroutine;
00426     
00427     shellpointcallback titleclickroutine;
00428     
00429     shellcallback undoroutine;
00430     
00431     shellcallback setundostatusroutine;
00432     
00433     shellgetundoglobalscallback getundoglobalsroutine;
00434     
00435     shellsetundoglobalscallback setundoglobalsroutine;
00436     
00437     shellcallback cutroutine;
00438     
00439     shellcallback copyroutine;
00440     
00441     shellcallback pasteroutine;
00442     
00443     shellcallback clearroutine;
00444     
00445     shellcallback selectallroutine;
00446     
00447     shellcallback fontroutine;
00448     
00449     shellcallback sizeroutine;
00450     
00451     shellcallback styleroutine;
00452     
00453     shellcallback leadingroutine;
00454     
00455     shellcallback justifyroutine;
00456     
00457     shellcallback setselectioninforoutine;
00458     
00459     shellcallback searchroutine;
00460     
00461     shellcallback replaceroutine;
00462     
00463     shellcallback executeroutine;
00464     
00465     shellcallback setdatabaseroutine; 
00466     
00467     shelldatabasecallback getdatabaseroutine; 
00468     
00469     shellfnumcallback fnumchangedroutine;
00470     
00471     shellvoidcallback idleroutine;
00472     
00473     shellpointcallback adjustcursorroutine;
00474     
00475     shellcallback backgroundroutine;
00476     
00477     shellmessagecallback msgroutine;
00478     
00479     shellshortcallback gettargetdataroutine;
00480     
00481     shellgetvariablecallback getvariableroutine;
00482     
00483     shellcallback findusedblocksroutine;
00484     
00485     shellbooleancallback settextmoderoutine;
00486     
00487     shellzoomwindowcallback zoomwindowroutine;
00488     
00489     } tyshellglobals, *ptrcallbacks;
00490 
00491 /*
00492 shellevent, shellwindow and shellwindowinfo provide information for the shell 
00493 level about the current event being processed and the current window, the one
00494 whose globals are currently "pushed".
00495 
00496 in some cases, handlers refer to shellevent, especially where we've licensed 
00497 code that needs a Macintosh eventrecord as part of its API.
00498 
00499 shellglobals holds the addresses of all the current callback routines, as well
00500 as the addresses of the data, window, and windowinfo record pointers for the
00501 current "pushed" window.
00502 */
00503     extern EventRecord shellevent; /*the last event received from the Mac event manager*/
00504 
00505     extern WindowPtr shellwindow; /*the window that the current globals came from*/
00506 
00507     extern hdlwindowinfo shellwindowinfo; /*the windowinfo record linked into current window*/
00508 
00509     extern tyshellglobals shellglobals; /*the callback routines for the current content provider*/
00510 
00511 /*
00512 special case global flags
00513 */
00514     extern boolean flinhibitclosedialogs;
00515 
00516     extern boolean flconvertingolddatabase;
00517 
00518     extern boolean flshellclosingall;
00519 
00520 
00521 /*prototypes*/
00522 
00523 extern void shellerrormessage (bigstring); /*shell.c*/
00524 
00525 #ifdef fldebug
00526     
00527     #define shellinternalerror(n, s) shellinternalerrormessage (s)
00528     
00529     extern void shellinternalerrormessage (bigstring);
00530 
00531 #else
00532     
00533     #define shellinternalerror(n, s) shellinternalerrormessage (n)
00534 
00535     extern void shellinternalerrormessage (short);
00536 
00537 #endif
00538 
00539 
00540 #ifdef fltrialsize
00541 
00542     extern void shelltrialerror (short);
00543 
00544 #endif
00545 
00546 
00547 extern boolean shellgetstring (short, bigstring);
00548 
00549 extern boolean shellshutdown (void);
00550 
00551 extern boolean shellquit (void);
00552 
00553 extern void shellforcecursoradjust (void);
00554 
00555 extern void shelladjustcursor (void);
00556 
00557 extern void shellidle (void);
00558 
00559 extern boolean shellyield (boolean);
00560 
00561 extern void shellforcebackgroundtask (void);
00562 
00563 extern boolean shellbackgroundtask (void);
00564 
00565 extern boolean shellprocessevent (EventRecord *);
00566 
00567 extern boolean shellpostevent (EventRecord *);
00568 
00569 extern boolean shelleventloop (callback);
00570 
00571 extern boolean shellshorteventloop (void);
00572 
00573 extern boolean shellpartialeventloop (short);
00574 
00575 extern void shellexitmaineventloop (void);
00576 
00577 extern void shellmaineventloop (void);
00578 
00579 extern boolean shellinit (void);
00580 
00581 extern boolean shellstart (void);
00582 
00583 
00584 extern boolean shellactivatewindow (WindowPtr, boolean); /*shellactivate.c*/
00585 
00586 
00587 extern short shellblockedevents (void); /*shellblocker.c*/
00588 
00589 extern boolean shellblocked (short);
00590 
00591 extern boolean shellpushblock (short, boolean);
00592 
00593 extern boolean shellpopblock (void);
00594 
00595 extern boolean shelleventsblocked (void);
00596 
00597 extern boolean shellblockevents (void);
00598 
00599 extern boolean shellpopevents (void);
00600 
00601 
00602 extern boolean shellnewcallbacks (ptrcallbacks *); /*shellcallbacks.c*/
00603 
00604 extern boolean shelldefaultfontroutine (void);
00605 
00606 extern boolean shelldefaultsizeroutine (void);
00607 
00608 extern boolean shelldefaultselectioninfo (void);
00609 
00610 extern boolean shellsetglobals (WindowPtr);
00611 
00612 extern boolean shellpushglobals (WindowPtr);
00613 
00614 extern boolean shellpopglobals (void);
00615 
00616 extern boolean shellpushwindowglobals (hdlwindowinfo);
00617 
00618 extern void shellinvalidglobals (WindowPtr);
00619 
00620 extern boolean shellgetfrontrootinfo (hdlwindowinfo *hinfo);
00621 
00622 extern boolean shellpushconfigglobals (short);
00623 
00624 extern boolean shellpushdefaultglobals (void);
00625 
00626 extern boolean shellpushfrontglobals (void);
00627 
00628 extern boolean shellpushrootglobals (WindowPtr);
00629 
00630 extern boolean shellpushparentglobals (void);
00631 
00632 extern boolean shellpushfrontrootglobals (void);
00633 
00634 extern boolean shellsetsuperglobals (void);
00635 
00636 extern boolean shellgetconfig (short, tyconfigrecord *);
00637 
00638 extern boolean shellsetconfig (short, tyconfigrecord);
00639 
00640 extern boolean shellgetundoglobals (long *);
00641 
00642 extern boolean shellsetundoglobals (long, boolean);
00643 
00644 
00645 extern boolean shellopenfile (ptrfilespec, boolean, WindowPtr *); /*shellfile.c*/
00646 
00647 extern boolean shellopen (void);
00648 
00649 extern void shellopeninitialfiles (void);
00650 
00651 extern boolean shellopendefaultfile (void);
00652 
00653 extern boolean shellsaveas (WindowPtr, ptrfilespec, boolean);
00654 
00655 extern boolean shellnewfile (ptrfilespec, boolean, WindowPtr *);
00656 
00657 extern boolean shellnew (void);
00658 
00659 extern boolean shellsave (WindowPtr);
00660 
00661 extern boolean shellrevert (WindowPtr, boolean);
00662 
00663 extern boolean shellclosechildwindows (hdlwindowinfo);
00664 
00665 extern boolean shellclosewindow (WindowPtr);
00666 
00667 extern boolean shellcloseall (WindowPtr, boolean);
00668 
00669 extern boolean shellclose (WindowPtr, boolean);
00670 
00671 
00672 extern boolean shellisactive (void); /*shelljuggler.c*/
00673 
00674 extern boolean shellactivate (void);
00675 
00676 
00677 extern void shellhandlekeystroke (void); /*shellkb.c*/
00678 
00679 extern boolean shellfilterscrollkey (byte);
00680     
00681 extern void shellouch (void);
00682 
00683 
00684 extern void shellhandledrag (EventRecord, WindowPtr); /*shellmouse.c*/
00685 
00686 extern void shellhandlemouse (void);
00687 
00688 extern void shellhandlemouseup (void);
00689 
00690 extern boolean shellcheckautoscroll (Point, boolean, tydirection *);
00691 
00692 extern void initmouse (void);
00693 
00694 
00695 extern void shellsetselectioninfo (void); /*shellops.c*/
00696 
00697 extern void shellsetdefaultstyle (hdlwindowinfo);
00698 
00699 
00700 extern void shelldisposescrap (void); /*shellscrap.c*/
00701 
00702 extern boolean shellsetscrap (void *, tyscraptype, shelldisposescrapcallback, shellexportscrapcallback);
00703 
00704 extern boolean shellgetscrap (Handle *, tyscraptype *);
00705 
00706 extern boolean shellconvertscrap (tyscraptype, Handle *, boolean *);
00707 
00708 extern boolean shellexportscrap (tyscraptype);
00709 
00710 extern boolean shellreadscrap (void);
00711 
00712 extern boolean shellwritescrap (tyscraptype);
00713 
00714 extern void initscrap (void);
00715 
00716 
00717 extern void shellupdatescrollbars (hdlwindowinfo); /*shellscroll.c*/
00718 
00719 extern void shellcheckdirtyscrollbars (void);
00720 
00721 extern void shellsetscrollbars (WindowPtr);
00722 
00723 extern void shellscroll (boolean, hdlscrollbar, short, Point);
00724 //Code change by Timothy Paustian Saturday, July 22, 2000 9:56:19 PM
00725 //two new routines to allow initialization and destruction of the scroll UPPs
00726 extern void shellinitscroll(void);
00727 
00728 extern void shellshutdownscroll(void);
00729 
00730 extern void fileinit(void);
00731 
00732 extern void fileshutdown(void);
00733 
00734 #ifdef WIN95VERSION
00735 void winscroll (boolean isvertscroll, int scrolltype, long pos);
00736 #endif
00737 
00738 extern void shellupdatewindow (WindowPtr); /*shellupdate.c*/
00739 
00740 extern void shellupdatecontent (Rect);
00741 
00742 extern boolean shellupdatenow (WindowPtr);
00743 
00744 extern void shellupdateallnow (void);
00745 
00746 extern boolean shellhandleupdate (void);
00747 
00748 
00749 extern void shellwindowinval (hdlwindowinfo); /*shellwindow.c*/
00750 
00751 extern void shelladjustaftergrow (WindowPtr);
00752 
00753 extern void shellinvalcontent (hdlwindowinfo);
00754 
00755 extern boolean shellrectneedsupdate (const Rect *); // 1/31/97 dmb
00756 
00757 extern boolean shellsetwindowchanges (hdlwindowinfo, boolean);
00758 
00759 extern boolean windowsetchanges (WindowPtr, boolean);
00760 
00761 extern boolean getwindowinfo (WindowPtr, hdlwindowinfo *);
00762 
00763 extern boolean shellfindwindow (short, WindowPtr *, hdlwindowinfo *, Handle *);
00764 
00765 extern hdlfilenum windowgetfnum (WindowPtr);
00766 
00767 extern void windowsetfnum (WindowPtr, hdlfilenum);
00768 
00769 extern short windowgetrnum (WindowPtr);
00770 
00771 extern void windowsetrnum (WindowPtr, short);
00772 
00773 extern short windowgetvnum (WindowPtr);
00774 
00775 extern boolean windowsetfspec (WindowPtr, tyfilespec *);
00776 
00777 extern boolean windowgetfspec (WindowPtr, tyfilespec *);
00778 
00779 extern boolean windowgetpath (WindowPtr, bigstring);
00780 
00781 extern void windowsetvnum (WindowPtr, short);
00782 
00783 extern boolean newchildwindow (short, hdlwindowinfo, Rect *, const Rect *, bigstring, WindowPtr *);
00784 
00785 extern boolean newfilewindow (ptrfilespec, hdlfilenum, short, boolean, WindowPtr *);
00786 
00787 extern boolean isfilewindow (WindowPtr);
00788 
00789 extern boolean shellgetwindowcenter (hdlwindowinfo, Rect *);
00790 
00791 extern boolean shellgetglobalwindowrect (hdlwindowinfo, Rect *);
00792 
00793 extern boolean shellgetwindowrect (hdlwindowinfo, Rect *);
00794 
00795 extern boolean windowzoom (WindowPtr);
00796 
00797 extern boolean shellbringtofront (hdlwindowinfo);
00798 
00799 extern boolean shellsetwindowtitle (hdlwindowinfo, bigstring);
00800 
00801 extern void shellgetwindowtitle (hdlwindowinfo, bigstring);
00802 
00803 extern boolean getfrontwindowinfo (hdlwindowinfo *);
00804 
00805 extern WindowPtr shellnextwindow (WindowPtr);
00806 
00807 extern void shellcalcgrowiconrect (Rect, hdlwindowinfo);
00808 
00809 extern boolean shellgettargetdata (short, WindowPtr);
00810 
00811 extern boolean shellfindtargetwindow (short, WindowPtr *);
00812 
00813 extern boolean shellgetexternaldata (hdlwindowinfo, void *);
00814 
00815 extern boolean shellvisitwindowlayer (shellwindowvisitcallback, ptrvoid);
00816 
00817 extern boolean visitownedwindows (WindowPtr, short, shellwindowvisitcallback, ptrvoid);
00818 
00819 extern boolean shellvisittypedwindows (short, shellwindowvisitcallback, ptrvoid);
00820 
00821 extern boolean getrootwindow (WindowPtr, hdlwindowinfo *);
00822 
00823 extern boolean frontrootwindow (hdlwindowinfo *);
00824 
00825 extern boolean shellfinddatawindow (Handle, hdlwindowinfo *);
00826 
00827 extern WindowPtr shellfindfilewindow (ptrfilespec);
00828 
00829 extern boolean shellfindnamedwindow (const bigstring, hdlwindowinfo *);
00830 
00831 extern boolean shellclosedatawindow (Handle);
00832 
00833 extern void shellwindowmessage (bigstring);
00834 
00835 extern boolean shellsetwindowmessage (hdlwindowinfo, bigstring);
00836 
00837 extern boolean shelldrawwindowmessage (hdlwindowinfo);
00838 
00839 extern boolean shellfrontwindowmessage (bigstring);
00840 
00841 extern boolean shellmoveandsizewindow (hdlwindowinfo, Rect);
00842 
00843 extern boolean shellmovewindow (hdlwindowinfo, short, short);
00844 
00845 extern boolean shellmovewindowhidden (hdlwindowinfo, short, short);
00846 
00847 extern boolean shellsizewindow (hdlwindowinfo, short, short);
00848 
00849 extern boolean shellsizewindowhidden (hdlwindowinfo, short, short);
00850 
00851 extern boolean shellzoomwindow (hdlwindowinfo, boolean);
00852 
00853 extern boolean shellgetdatabase (WindowPtr, hdldatabaserecord*);
00854 
00855 extern void shellwindowmenudirty (void); /*shellwindowmenu.c*/
00856 
00857 #ifdef WIN95VERSION
00858     extern boolean shellprocessfindmessage (FINDREPLACE * fr);
00859 
00860     extern void shelldestoycaretinmainthread (void);
00861 #endif
00862 
00863 #endif
00864 

Generated on Wed May 31 18:20:01 2006 for frontierkernel 10.1.10a by  doxygen 1.4.6