opinternal.h

Go to the documentation of this file.
00001 
00002 /*  $Id: opinternal.h 355 2005-01-11 22:48:55Z andreradke $    */
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 opinternalinclude 
00029 #define opinternalinclude 
00030 
00031 
00032 
00033 #ifndef opinclude
00034 
00035     #include "op.h"
00036     
00037 #endif
00038 
00039 #ifndef opscreenmapinclude
00040 
00041     #include "opscreenmap.h"
00042     
00043 #endif
00044 
00045 #ifndef opdisplayinclude
00046 
00047     #include "opdisplay.h"
00048     
00049 #endif
00050 
00051 
00052 #define outlineistable 'otbl'
00053 #define outlineisoutline 'oout'
00054 #define outlineismenubarscript 'ombs'
00055 #define outlineisdatabasescript 'odbs'
00056 #define outlineisstandalonescript 'osas'
00057 
00058 
00059 #define undocutstring 4
00060 #define undocopystring 5
00061 #define undopastestring 6
00062 #define undoclearstring 7
00063 #define undotypingstring 8
00064 #define undomovestring 9
00065 #define undosortstring 10
00066 #define undopromotestring 11
00067 #define undodemotestring 12
00068 #define undodeletionstring 13
00069 #define undoformatstring 14
00070 
00071 
00072 #define textvertinset 2 /*leaves room for a nice frame around the bar cursor*/
00073 #define texthorizinset 2
00074 
00075 #define textleftslop 5
00076 #define textrightslop 8
00077 
00078 #define iconstart 5 /*this has got to go*/
00079 
00080 
00081 typedef struct tyscraprecord {
00082     
00083     boolean fldirty; /*needs to be put into the desktop scrap*/
00084     
00085     Handle htext; /*if not nil, points to a chunk of text*/
00086     
00087     hdlheadrecord hnode; /*if not nil, points to an outline structure*/
00088     } tyscraprecord;
00089 
00090 
00091 typedef struct tyopuserprefs {
00092     
00093     boolean fltabkeyreorg; /*tab, shift/tab to reorg right, left?*/
00094     
00095     boolean flflatcursorkeys; /*up/down are flat*/
00096     } tyopuserprefs;
00097 
00098 
00099 typedef boolean (*opundocallback) (hdlheadrecord, boolean);
00100 
00101 
00102 #define ctoutlinestack 10 /*we can remember outline contexts up to 10 levels deep*/
00103 
00104 extern short topoutlinestack;
00105 
00106 extern hdloutlinerecord outlinestack [ctoutlinestack];
00107 
00108 
00109 /*globals*/
00110 
00111 extern boolean flforrelease;
00112 
00113 extern boolean flinternalchange;
00114 
00115 extern tyopuserprefs opprefs; /*user preferences*/
00116 
00117 
00118 /*prototypes*/
00119 
00120 extern void opinitcallbacks (hdloutlinerecord houtline); /*opinit.c*/
00121 
00122 extern boolean opdefaultreleaserefconroutine (hdlheadrecord hnode, boolean fldisk);
00123 
00124 extern boolean opdefaultsetscraproutine (hdloutlinerecord houtline);
00125 
00126 
00127 extern boolean opdefaultadjustcursor (hdlheadrecord, Point, const Rect *); /*op.c*/
00128 
00129 extern boolean opdefaultreturnkey (tydirection);
00130 
00131 extern void opdirtyoutline (void);
00132 
00133 extern void opdirtyview (void);
00134 
00135 extern void oppoststylechange (void);
00136 
00137 extern boolean opsetfont (short);
00138 
00139 extern boolean opsetsize (short);
00140 
00141 extern boolean opsetselectioninfo (void);
00142 
00143 extern boolean opscraphook (Handle);
00144 
00145 extern void opresize (Rect);
00146 
00147 extern void opupdate (void);
00148 
00149 extern boolean opsetcursor (Point);
00150 
00151 extern boolean opmousedown (Point, tyclickflags);
00152 
00153 extern boolean opkeystroke (void);
00154 
00155 extern boolean opcmdkeyfilter (char);
00156 
00157 extern boolean opselectall (void);
00158 
00159 extern void opidle (void);
00160 
00161 extern void opactivate (boolean);
00162 
00163 
00164 extern tydirection opdowndir (void); /*opops.c*/
00165 
00166 extern tydirection opupdir (void);
00167 
00168 extern boolean opfirstinlist (hdlheadrecord);
00169 
00170 extern boolean oplastinlist (hdlheadrecord);
00171 
00172 extern boolean opsubordinateto (hdlheadrecord, hdlheadrecord);
00173 
00174 extern boolean opnestedincomment (hdlheadrecord);
00175 
00176 extern hdlheadrecord opgetancestor (hdlheadrecord, short);
00177 
00178 extern hdlheadrecord opgetlastsubhead (hdlheadrecord);
00179 
00180 extern boolean opnthsummit (long, hdlheadrecord *);
00181 
00182 extern boolean opgetnthnode (long, hdlheadrecord *);
00183 
00184 extern boolean oparrayreference (long, hdlheadrecord *);
00185 
00186 extern hdlheadrecord oplastexpanded (hdlheadrecord);
00187 
00188 extern hdlheadrecord oplastexpandedatlevel (hdlheadrecord, short);
00189 
00190 extern boolean opchaseup (hdlheadrecord *);
00191 
00192 extern boolean opchasedown (hdlheadrecord *);
00193 
00194 extern boolean opchaseleft (hdlheadrecord *);
00195 
00196 extern boolean opchaseright (hdlheadrecord *);
00197 
00198 extern void opsummitof (hdlheadrecord, hdlheadrecord *);
00199 
00200 extern void opfirstsibling (hdlheadrecord, hdlheadrecord *);
00201 
00202 extern void opgetsiblingnumber (hdlheadrecord, long *);
00203 
00204 extern hdlheadrecord opgetnextexpanded (hdlheadrecord hnode);
00205 
00206 extern hdlheadrecord opbumpflatdown (hdlheadrecord, boolean);
00207 
00208 extern hdlheadrecord opbumpflatup (hdlheadrecord, boolean);
00209 
00210 extern hdlheadrecord oprepeatedbump (tydirection, long, hdlheadrecord, boolean);
00211 
00212 extern boolean opnavigate (tydirection, hdlheadrecord *);
00213 
00214 extern boolean opfindhead (hdlheadrecord, bigstring, hdlheadrecord *);
00215 
00216 extern boolean opbestfind (hdlheadrecord hfirst, bigstring bs, hdlheadrecord *hnode);
00217 
00218 extern long opcountatlevel (hdlheadrecord);
00219 
00220 extern hdlheadrecord op1stsibling (hdlheadrecord hnode);
00221 
00222 extern long opcountsubs (hdlheadrecord);
00223 
00224 extern long opsetctexpanded (hdloutlinerecord);
00225 
00226 extern void opsetexpandedbits (hdlheadrecord, boolean);
00227 
00228 extern boolean opcontainsnode (hdlheadrecord, hdlheadrecord);
00229 
00230 extern void opgetnodeline (hdlheadrecord, long *);
00231 
00232 extern boolean opnewheadrecord (Handle, hdlheadrecord *);
00233 
00234 extern boolean opnewstructure (Handle, hdlheadrecord *);
00235 
00236 extern boolean opnewsummit (void);
00237 
00238 extern boolean newoutlinerecord (hdloutlinerecord *);
00239 
00240 extern boolean opnewrecord (Rect, hdloutlinerecord *);
00241 
00242 extern boolean opreleasevisit (hdlheadrecord, ptrvoid);
00243 
00244 extern void opreleasenode (hdlheadrecord, boolean);
00245 
00246 extern void opdisposestructure (hdlheadrecord, boolean);
00247 
00248 extern void opdisposeoutline (hdloutlinerecord, boolean);
00249 
00250 extern boolean optexttooutline (hdloutlinerecord, Handle, hdlheadrecord *);
00251 
00252 extern boolean opemptysummit (hdlheadrecord);
00253 
00254 extern boolean opemptyoutlinerecord (hdloutlinerecord);
00255 
00256 extern hdlheadrecord opfirstatlevel (hdlheadrecord);
00257 
00258 extern long opcountsubheads (hdlheadrecord, short);
00259 
00260 extern boolean opfindnode (hdlheadrecord, bigstring, short, hdlheadrecord *);
00261 
00262 extern void opresetlevels (hdlheadrecord);
00263 
00264 extern long opgetlnum (hdlheadrecord);
00265 
00266 extern short opgetdirectionicon (tydirection);
00267 
00268 extern void oppushstyle (hdloutlinerecord);
00269 
00270 extern void oppushcolors (hdloutlinerecord);
00271 
00272 extern boolean opbitmaps (boolean, boolean *, boolean *);
00273 
00274 extern boolean opsetactualheadstring (hdlheadrecord, bigstring);
00275 
00276 extern boolean opsetheadtext (hdlheadrecord, Handle);
00277 
00278 extern boolean opsetheadstring (hdlheadrecord, bigstring);
00279 
00280 extern boolean opgetheadstring (hdlheadrecord, bigstring);
00281 
00282 extern void opgetsortstring (hdlheadrecord, bigstring);
00283 
00284 extern void opcopyformatting (hdloutlinerecord, hdloutlinerecord);
00285 
00286 
00287 extern boolean opsetprintinfo (void); /*opprint.c*/
00288 
00289 extern void opgetprintrect (Rect *);
00290 
00291 extern boolean opbeginprint (void);
00292 
00293 extern boolean opendprint (void);
00294 
00295 extern boolean opprint (short);
00296 
00297 
00298 extern boolean opgetscrollbarinfo (boolean); /*opscrollbar.c*/
00299 
00300 extern boolean opsetscrollpositiontoline1 (void);
00301 
00302 extern boolean oprestorescrollposition (void);
00303 
00304 extern void opredrawscrollbars (void);
00305 
00306 extern void opresetscrollbars (void);
00307 
00308 
00309 extern void opstartinternalchange (void); /*opstructure.c*/
00310 
00311 extern void opendinternalchange (void);
00312 
00313 extern boolean opinternalchange (void);
00314 
00315 extern boolean oppushundo (opundocallback, hdlheadrecord);
00316 
00317 extern void opunlink (hdlheadrecord);
00318 
00319 extern boolean opdeposit (hdlheadrecord, tydirection, hdlheadrecord);
00320 
00321 extern boolean opcopyrefconroutine (hdlheadrecord, hdlheadrecord);
00322 
00323 extern boolean oppushunmarkundo (hdlheadrecord);
00324 
00325 extern boolean opbeforestrucchange (hdlscreenmap *, boolean);
00326 
00327 extern boolean opafterstrucchange (hdlscreenmap, boolean);
00328 
00329 extern boolean opsortlevel (hdlheadrecord);
00330 
00331 extern boolean opreorgcursor (tydirection, long);
00332 
00333 extern void opsetline1 (hdlheadrecord);
00334 
00335 extern boolean opdeletesubs (hdlheadrecord);
00336 
00337 extern hdlheadrecord opcopyoutline (hdlheadrecord);
00338 
00339 extern boolean opcopysiblings (hdlheadrecord, hdlheadrecord *);
00340 
00341 extern boolean opcopyoutlinerecord (hdloutlinerecord, hdloutlinerecord *);
00342 
00343 extern void opclearallmarks (void);
00344 
00345 extern void opclearmarks (hdlheadrecord);
00346 
00347 extern boolean opgetmark (hdlheadrecord);
00348 
00349 extern void opsetmark (hdlheadrecord, boolean);
00350 
00351 extern boolean opanymarked (void);
00352 
00353 extern void opdeleteline (void);
00354 
00355 extern boolean opsettmpbitvisit (hdlheadrecord, ptrvoid);
00356 
00357 extern boolean opcleartmpbits (void);
00358 
00359 
00360 extern void opdraggingmove (Point, hdlheadrecord); /*opdraggingmove.c*/
00361 
00362 
00363 extern boolean opeditsetglobals (void); /*opedit.c*/
00364 
00365 extern boolean opdefaultgetedittextrect (hdlheadrecord, const Rect *, Rect *);
00366 
00367 extern boolean opdefaultsetwpedittext (hdlheadrecord);
00368 
00369 extern boolean opdefaultgetwpedittext (hdlheadrecord, boolean);
00370 
00371 extern boolean opseteditbufferrect (void);
00372 
00373 extern boolean oploadeditbuffer (void);
00374 
00375 extern boolean opwriteeditbuffer (void);
00376 
00377 extern boolean opunloadeditbuffer (void);
00378 
00379 extern boolean opsaveeditbuffer (void);
00380 
00381 extern boolean oprestoreeditbuffer (void);
00382 
00383 extern boolean opeditmeasuretext (hdlheadrecord);
00384 
00385 extern boolean opeditdrawtext (hdlheadrecord, const Rect *);
00386 
00387 extern void opeditgetmaxpos (long *);
00388 
00389 extern void opeditgetselection (long *, long *);
00390 
00391 extern void opeditsetselection (long, long);
00392 
00393 extern void opeditgetseltext (bigstring);
00394 
00395 extern void opeditgetselrect (Rect *);
00396 
00397 extern void opeditgetselpoint (Point *);
00398 
00399 extern void opeditresetselpoint (void);
00400 
00401 extern void opeditsetselpoint (Point);
00402 
00403 extern boolean opeditcango (tydirection);
00404 
00405 extern boolean opeditkey (void);
00406 
00407 extern boolean opeditcopy (void);
00408 
00409 extern boolean opeditcut (void);
00410 
00411 extern boolean opeditpaste (void);
00412 
00413 extern boolean opeditclear (void);
00414 
00415 extern boolean opeditinsert (bigstring);
00416 
00417 extern boolean opeditclick (Point, tyclickflags);
00418 
00419 extern void opeditselectall (void);
00420 
00421 extern void opeditactivate (boolean);
00422 
00423 extern void opeditupdate (void);
00424 
00425 extern void opeditidle (void);
00426 
00427 extern void opeditdispose (void);
00428 
00429 extern boolean opeditgetundoglobals (long *);
00430 
00431 extern boolean opeditsetundoglobals (long, boolean);
00432 
00433 #endif
00434 
00435 

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