op.h

Go to the documentation of this file.
00001 
00002 /*  $Id: op.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 opinclude
00029 #define opinclude /*so other includes can tell if we've been loaded*/
00030 
00031 #include "lang.h" /*7.0b16 PBS*/
00032 
00033 
00034 /*
00035 if you're building a full structure editor, then set this to false, 
00036 otherwise, if you're building a program that just packs and unpacks
00037 structures, set it true.
00038 */
00039 
00040 #ifndef fljustpacking
00041 
00042     #if !flruntime
00043 
00044         #define fljustpacking false
00045 
00046     #else
00047         
00048         #define fljustpacking true
00049 
00050     #endif
00051 
00052 #endif
00053 
00054 
00055 #if !fljustpacking /*packing doesn't need to include any of these*/
00056 
00057     #ifndef shellinclude
00058     
00059         #include "shell.h"
00060     
00061     #endif
00062 
00063 #endif
00064 
00065 
00066 #define cthoists 5 /*depth of hoist stack*/
00067 
00068 typedef struct tyoutlinerecord *ptroutlinerecord, **hdloutlinerecord; /*forward declaration*/
00069 
00070 typedef struct tyheadrecord *ptrheadrecord, **hdlheadrecord;/*forward declaration*/
00071 
00072 typedef struct tyheadrecord {
00073     
00074     struct tyheadrecord **headlinkdown, **headlinkup, **headlinkleft, **headlinkright;
00075     
00076     short headlevel;
00077     
00078     boolean flexpanded: 1;
00079     
00080     boolean fldirty: 1; /*set this true to force an update of the line*/
00081     
00082     boolean flmarked: 1; /*did the user shift-click on the headline?*/
00083     
00084     boolean tmpbit: 1; /*can be used as a temporary mark for a variety of tasks*/
00085     
00086     boolean fllocked: 1; /*is this line locked?*/
00087     
00088     boolean flcomment: 1; /*is this line a language comment?*/
00089     
00090     boolean flbreakpoint: 1; /*in a script, is a breakpoint set here?*/
00091     
00092     boolean fldrawelipsizes : 1; /*hack for clay basket drawing routines*/
00093 
00094     boolean fldynamic: 1; /*7.0b30: if a headline is dynamic, children aren't saved when serialized as OPML.*/
00095     
00096     boolean appbit0: 1; /*a bit that the application can use -- saved in packed format*/
00097     
00098     boolean appbit1: 1; /*a bit that the application can use -- saved in packed format*/
00099     
00100     boolean appbit2: 1; /*a bit that the application can use -- not saved*/
00101     
00102     boolean appbit3: 1; /*a bit that the application can use -- not saved*/
00103     
00104     boolean appbit4: 1; /*a bit that the application can use -- not saved*/
00105     
00106     boolean appbit5: 1; /*a bit that the application can use -- not saved*/
00107     
00108     boolean appbit6: 1; /*a bit that the application can use -- not saved*/
00109     
00110     boolean appbit7: 1; /*a bit that the application can use -- not saved*/
00111 
00112     short hpixels; //width of headline text; -1 is dirty value
00113     
00114     short vpixels; //height of headline text; -1 is dirty value
00115     
00116     Handle hrefcon; /*for use by application, see opgetrefcon*/
00117     
00118     Handle headstring; /*text of headline lives in its own block*/
00119     } tyheadrecord;
00120 
00121 
00122 typedef struct tyhoistelement {
00123     
00124     hdlheadrecord hhoisted;
00125     
00126     hdlheadrecord hbarcursor;
00127     
00128     hdlheadrecord hsummit;
00129     
00130     long lnumbarcursor;
00131     
00132     hdlheadrecord hline1;
00133     } tyhoistelement;
00134     
00135 
00136 typedef struct tytextinfo { /*selected fields from a TERec*/
00137     
00138     boolean flvalid; /*true if there is valid stuff in the rest of the record*/
00139     
00140     long selStart, selEnd; 
00141     } tytextinfo;
00142 
00143 
00144 typedef enum tydraggingop { 
00145     
00146     draginit = 1, 
00147     
00148     dragtrack = 2, 
00149     
00150     dragdrop = 3, 
00151     
00152     dragclose = 4
00153     } tydraggingop;
00154 
00155 #define opdirtymeasurevalue (-1)
00156 
00157 typedef boolean (*opvisitcallback) (hdlheadrecord, ptrvoid);
00158 
00159 typedef boolean (*opnodecallback) (hdlheadrecord);
00160 
00161 typedef boolean (*opvoidcallback) (void);
00162 
00163 typedef boolean (*opstringcallback) (bigstring);
00164 
00165 typedef boolean (*oppreexpandcallback) (hdlheadrecord, short, boolean);
00166 
00167 typedef boolean (*op2nodescallback) (hdlheadrecord, hdlheadrecord);
00168 
00169 //typedef boolean (*opgeticoncallback) (hdlheadrecord, short *, short *);
00170 
00171 typedef boolean (*opdirectioncallback) (tydirection);
00172 
00173 typedef boolean (*opdragtargetcallback) (hdlheadrecord *, tydirection *);
00174 
00175 typedef boolean (*opvalidatecallback) (hdlheadrecord, hdlheadrecord, tydirection);
00176 
00177 typedef boolean (*opdrawiconcallback) (hdlheadrecord, boolean, Rect *);
00178 
00179 typedef boolean (*opgetrectcallback) (hdlheadrecord, const Rect *, Rect *);
00180 
00181 //typedef boolean (*opgetlineinfocallback) (hdlheadrecord, Rect *, short *);
00182 
00183 typedef boolean (*opgefullrectcallback) (hdlheadrecord, Rect *);
00184 
00185 typedef boolean (*opsetscrapcallback) (hdloutlinerecord);
00186 
00187 typedef boolean (*opgetscrapcallback) (hdloutlinerecord *, boolean *);
00188 
00189 typedef boolean (*optextchangedcallback) (hdlheadrecord, bigstring);
00190 
00191 typedef boolean (*opcopyrefconcallback) (hdlheadrecord, hdlheadrecord);
00192 
00193 typedef boolean (*opnodebooleancallback) (hdlheadrecord, boolean);
00194 
00195 typedef boolean (*optextualizerefconcallback)(hdlheadrecord, Handle);
00196 
00197 typedef boolean (*opgetlineshortcallback) (hdlheadrecord, short *);
00198 
00199 typedef boolean (*opdrawcallback) (hdlheadrecord, const Rect *, boolean, boolean);
00200 
00201 typedef boolean (*opmousecallback) (hdlheadrecord, Point, const Rect *);
00202 
00203 typedef boolean (*opmousebooleancallback) (hdlheadrecord, Point, const Rect *, boolean *);
00204 
00205 typedef boolean (*opgetwindowhandlecallback) (Point, Handle *);
00206 
00207 typedef boolean (*opsetwindowhandlecontextcallback) (Handle);
00208 
00209 typedef boolean (*optexttooutlinecallback) (hdloutlinerecord, Handle, hdlheadrecord *);
00210 
00211 
00212 typedef struct tyoutlinerecord {
00213     
00214     hdlheadrecord hsummit; /*the first summit of the structure*/
00215     
00216     hdlheadrecord hbarcursor; /*the line the bar cursor is on*/
00217     
00218     hdlheadrecord hline1; /*this node is displayed on the 0th line in the window*/
00219     
00220     long lnumbarcursor; /*line number that the bar cursor is on, may be off screen*/
00221     
00222     short line1linesabove; /*text lines of hline1 that are scrolled above the display*/
00223     
00224     long ctexpanded; /*number of nodes expanded*/
00225     
00226     long ctmarked; /*number of nodes selected, or marked*/
00227     
00228     short fontnum, fontsize, fontstyle; /*the default display font*/
00229     
00230     short lineindent; /*how many pixels to indent for each level*/
00231     
00232     short defaultlineheight; /*if the caller doesn't override, this is the height of each line*/
00233     
00234     tylinespacing linespacing; /*a vestige, it's preserved, but ignored*/
00235     
00236     Rect outlinerect; /*the rectangle that the outline is displayed in*/
00237     
00238     Rect windowrect; /*the size and position of window that last displayed outline*/
00239     
00240     tyscrollinfo vertscrollinfo; /*vertical scrollbar info*/
00241     
00242     tyscrollinfo horizscrollinfo; /*horiz scrollbar info*/
00243     
00244     unsigned long timecreated, timelastsave; /*number of seconds since 1/1/04*/
00245     
00246     long ctsaves; /*the number of times this structure has been saved*/
00247     
00248     RGBColor forecolor; /*5.0b11 dmb: you can't really have a backcolor without a forecolor*/
00249     
00250     RGBColor backcolor; /*DW 7/13/93 -- allow applet to set the display background color*/
00251     
00252     #if !fljustpacking /*these fields allow structure to be edited, not needed for packing*/
00253         
00254         tyhoistelement hoiststack [cthoists]; /*return addresses for hoists*/
00255     
00256         short tophoist; /*if 0, nothing is hoisted*/
00257         
00258         short editcolumn; /*for multiple column outlines, maintained by callbacks*/
00259         
00260         Handle hbuffer; /*holds the text currently being edited by wp*/
00261         
00262         hdlheadrecord heditcursor; /*the headline who's text hbuffer holds*/
00263         
00264         Point selpoint; /*for maintaining horizontal position when cursoring up & down*/
00265         
00266         tytextinfo textinfo; /*saved information about edit buffer selection*/
00267         
00268         short caretoffset; /*for showing error locations*/
00269         
00270         hdlheadrecord hprintcursor; /*when printing, this maintains position between pages*/
00271         
00272         short pixelsaftericon; /*skip this many pixels between icon and text*/
00273         
00274         short iconheight, iconwidth; /*number of pixels used to display the icon*/
00275         
00276         opvoidcallback setscrollbarsroutine; /*we call this routine to set the op's scrollbars*/
00277         
00278         opvoidcallback measurelinecallback; /*we call this routine to measure the length of a line*/
00279         
00280         opnodecallback setcursorcallback; /*we call this routine to shape the cursor in a line*/
00281         
00282         opmousebooleancallback mouseinlinecallback; /*we call this routine when the user clicks in a line*/
00283         
00284         opvoidcallback postfontchangecallback; /*called after font or size has been changed*/
00285         
00286         // unused - opgetlineinfocallback getlinedisplayinfocallback; /*called to get display info about a line*/
00287         
00288         opcopyrefconcallback copyrefconcallback; /*copies the refcon handle linked into the headrecord*/
00289         
00290         optextualizerefconcallback textualizerefconcallback; /*pack contents of refcon handle to text*/
00291         
00292         opnodecallback printrefconcallback; /*print contents of refcon handle*/
00293         
00294         opvoidcallback beforeprintpagecallback; /*after resizing, before printing a page*/
00295         
00296         opvoidcallback afterprintpagecallback; /*after printing a page and restoring rects*/
00297          
00298         opnodecallback searchrefconcallback; /*searches contents of refcon per searchparams*/
00299         
00300         opnodecallback deletelinecallback; /*called before a line is deleted*/
00301         
00302         opnodecallback insertlinecallback; /*called after a line is inserted*/
00303         
00304         optextchangedcallback textchangedcallback; /*called when the text of a line has changed*/
00305         
00306         opnodecallback hasdynamicsubscallback; /*called to find out if a node can generate subheads if expanded*/
00307         
00308         opnodecallback haslinkedtextcallback; /*called to find out if a node has anything linked to it*/
00309         
00310         opnodecallback cmdclickcallback; /*called when the user cmd-clicks on a headline*/
00311         
00312         opvoidcallback doubleclickcallback; /*called after the user double-clicks in text*/
00313         
00314         opgetscrapcallback getscrapcallback; /*called to get a headline scrap from the clipboard*/
00315         
00316         opsetscrapcallback setscrapcallback; /*called to put a headline scrap onto the clipboard*/
00317     
00318         optexttooutlinecallback texttooutlinecallback; /*called to convert a text scrap to an outline=*/
00319         
00320         oppreexpandcallback preexpandcallback; /*called before expanding a node*/
00321         
00322         opnodecallback postcollapsecallback; /*called after collapsing a node*/
00323         
00324         op2nodescallback comparnodescallback; /*called after collapsing a node*/
00325         
00326         // unused - opgeticoncallback getleadericoncallback;
00327         
00328         opvalidatecallback validatedragcallback;
00329         
00330         opdragtargetcallback predragcallback;
00331         
00332         op2nodescallback dragcopycallback;
00333         
00334         opdrawcallback drawiconcallback; /*we call this routine to draw a line's icon*/
00335         
00336         opgetrectcallback geticonrectcallback; 
00337         
00338         opdrawcallback drawlinecallback; /*we call this routine to display a line*/
00339         
00340         opgetrectcallback gettextrectcallback;
00341         
00342         opgetrectcallback getedittextrectcallback;
00343         
00344         opnodebooleancallback getwpedittextcallback;
00345         
00346         opnodecallback setwpedittextcallback;
00347         
00348         opdrawcallback predrawlinecallback;
00349         
00350         opdrawcallback postdrawlinecallback; 
00351         
00352         opgetlineshortcallback getlineheightcallback;
00353         
00354         opgetlineshortcallback getlinewidthcallback;
00355         
00356         opmousecallback adjustcursorcallback;
00357         
00358         opnodecallback pushstylecallback;
00359         
00360         opnodecallback icon2clickcallback; /*user 2clicked on an icon*/
00361         
00362         opgetwindowhandlecallback getwindowhandlecallback; /*for drag/drop*/
00363         
00364         opsetwindowhandlecontextcallback setwindowhandlecontextcallback; /*for drag/drop*/
00365         
00366         opvalidatecallback validatepastecallback; /*verifies that it's ok to paste*/
00367         
00368         opnodecallback postpastecallback; /*does additional cleanup, if necessary*/
00369         
00370         opstringcallback validatecopycallback; /*verifies that it's ok to copy*/
00371         
00372         opnodecallback caneditcallback; /*returns true if the node's text can be edited*/
00373         
00374         opgefullrectcallback getfullrectcallback; /*determines the rectangle that the node occupies*/
00375         
00376         opnodecallback nodechangedcallback; /*something about the node changed, requiring a rebuild in CB, for example*/ 
00377         
00378     #endif
00379         
00380     opnodebooleancallback releaserefconcallback; /*releases storage held by refcon data*/
00381     
00382     long ctpushes;
00383     
00384     boolean fldirty: 1; /*any changes made that aren't saved?*/
00385     
00386     boolean fldirtyview: 1; /*did user change view: scroll, cursor, or window position?*/
00387     
00388     boolean fllocked: 1; /*are changes allowed to be made?*/
00389     
00390     boolean fltextmode: 1;
00391     
00392     boolean flactive: 1;
00393     
00394     boolean flbarcursoron: 1; /*internal flag, controls updating cursor line*/
00395     
00396     boolean flcursorneedsdisplay: 1; /*draw the cursor even if it hasn't moved*/
00397     
00398     boolean flusebitmaps: 1; /*are we allowed use of offscreen bitmaps?*/
00399     
00400     boolean flcheckvisi: 1; /*try to visi things on the next idle event*/
00401     
00402     boolean flwindowopen: 1; /*is it being displayed in a window?*/
00403     
00404     boolean flreopenpending: 1; /*true if outline has been closed, then re-opened*/
00405     
00406     boolean flbuildundo: 1; /*should we build an undo trail for changes in this outline?*/
00407     
00408     boolean flprinting: 1; /*some display routines may special-case when printing*/
00409     
00410     boolean flrecentlychanged: 1; /*for use by application -- scripts use it to keep track of code*/
00411     
00412     boolean flinhibitdisplay: 1; /*inhibit display update?*/
00413     
00414     boolean flreadonly: 1; /*if true, no editing changes are allowed*/
00415     
00416     boolean flvertscrolldisabled: 1, flhorizscrolldisabled: 1; /*some clay basket windows don't do horiz scrolling*/
00417     
00418     boolean flalwaysshowtextselection: 1; /*for clay basket find & replace, if true, text selection is shown even if window isn't active*/
00419     
00420     boolean blockvisiupdate: 1; /*a bit of baling wire, for expanding and visi'ing*/
00421     
00422     boolean blocksupersmartvisi: 1; /*some operations want to turn this feature off*/
00423     
00424     boolean flneedfulliconheight: 1; /*to support frontier and clay lineheight rules*/
00425     
00426     boolean fllimittextarrows: 1; /*for browsing, don't let text arrows move out of edit field*/
00427     
00428     boolean flstructuredtextkeys: 1; /*for browsing, typing in structure mode moves cursor*/
00429     
00430     boolean fldonterasebackground: 1; /*for clients that draw their own outline background*/
00431     
00432     boolean flinternalchange; /*set to inhibit structure callbacks, undo*/
00433     
00434     boolean flfatheadlines: 1; //does text of headlines wrap?
00435     
00436     boolean fldisposewhenpopped: 1; //true if an attempt was made to dispose outline while pushed
00437 
00438     boolean flhtml; /*7.0b28 PBS: true if outline is in WYSIWYG HTML mode.*/
00439     
00440     unsigned long timevisi; /*the time for the next scheduled visi check*/
00441     
00442     unsigned long maxlinelen; /*often 255, but sometimes less, and someday more*/
00443     
00444     unsigned long outlinescraptype;
00445     
00446     unsigned long outlinesignature; /*to identify client*/
00447     
00448     long outlinetype; /*for use by application. types in opinternal.h*/
00449     
00450     long outlinerefcon; /*for use by application*/
00451     } tyoutlinerecord;
00452 
00453 
00454 
00455 #define getheadstring(h,bs) texthandletostring ((**(h)).headstring, bs)
00456 
00457 #define opisfatheadlines(ho) ((**(ho)).flfatheadlines)
00458 
00459 /*globals*/
00460 
00461 extern hdloutlinerecord outlinedata; /*global, points to "current" structure*/
00462 
00463 #if !fljustpacking /*allow structure to be edited, not needed for packing*/
00464 
00465     extern WindowPtr outlinewindow; 
00466     
00467     extern hdlwindowinfo outlinewindowinfo; 
00468 
00469 #endif
00470 
00471 
00472 /*prototypes*/
00473 
00474 extern boolean opistextmode (void); /*op.c*/
00475 
00476 extern boolean ophaslinkedtext (hdlheadrecord);
00477 
00478 extern void opsmashmouse (void);
00479 
00480 extern boolean opeditingtext (hdlheadrecord);
00481 
00482 extern boolean opsettextmode (boolean);
00483 
00484 extern void optoggletextmode (void);
00485 
00486 extern boolean opshowerror (long, short);
00487 
00488 extern boolean opsetscrap (hdlheadrecord);
00489 
00490 extern boolean opgetscrap (hdlheadrecord *, boolean *);
00491 
00492 extern boolean opmotionkey (tydirection, long, boolean);
00493 
00494 extern void opgetcursorinfo (long *, short *);
00495 
00496 extern void opsetcursorinfo (long, short);
00497 
00498 extern boolean opcloseoutline (void);
00499 
00500 extern boolean opopenoutline (void);
00501 
00502 extern void opvisibarcursor (void);
00503 
00504 extern void opschedulevisi (void);
00505 
00506 extern void opschedulevisi (void);
00507 
00508 
00509 extern boolean opdisabledisplay (void); /*opdisplay.c*/
00510 
00511 extern boolean openabledisplay (void);
00512 
00513 extern boolean opdisplayenabled (void);
00514 
00515 extern boolean opgetoutinesize (long *, long *);
00516 
00517 
00518 extern void oppostedit (void); /*opedit.c*/ /*7.0b16 PBS: no longer static*/
00519 
00520 
00521 extern void opfastcollapse (hdlheadrecord); /*opexpand.c*/
00522 
00523 extern boolean opcollapse (hdlheadrecord);
00524 
00525 extern void opcollapseall (void);
00526 
00527 extern boolean opexpand (hdlheadrecord, short, boolean);
00528 
00529 extern void opexpandto (hdlheadrecord);
00530 
00531 extern void opexpandtoggle (void);
00532 
00533 
00534 extern void ophoistdisplay (void); /*ophoist.c*/
00535 
00536 extern boolean oppushhoist (hdlheadrecord);
00537 
00538 extern boolean oppophoist (void);
00539 
00540 extern boolean oppopallhoists (void);
00541 
00542 extern void oprestorehoists (void);
00543 
00544 extern void opoutermostsummit (hdlheadrecord *);
00545 
00546 
00547 extern boolean opgetlangtext (hdloutlinerecord, boolean, Handle *); /*oplangtext.c*/
00548 
00549 
00550 extern boolean oppushoutline (hdloutlinerecord); /*opops.c*/
00551 
00552 extern boolean oppopoutline (void);
00553 
00554 extern hdloutlinerecord opsetoutline (hdloutlinerecord);
00555 
00556 extern boolean oppushglobals (void);
00557 
00558 extern boolean oppopglobals (void);
00559 
00560 extern boolean opsetsummit (hdloutlinerecord, hdlheadrecord);
00561 
00562 extern void opdisposeoutline (hdloutlinerecord, boolean);
00563 
00564 extern boolean opnosubheads (hdlheadrecord);
00565 
00566 extern boolean ophassubheads (hdlheadrecord);
00567 
00568 extern boolean opislastsubhead (hdlheadrecord);
00569 
00570 extern long opcountheads (void);
00571 
00572 extern boolean opsubheadsexpanded (hdlheadrecord);
00573 
00574 extern hdlheadrecord opnthsubhead (hdlheadrecord, long);
00575 
00576 extern boolean opnodeinoutline (hdlheadrecord);
00577 
00578 
00579 extern boolean oppack (Handle *); /*oppack.c*/
00580 
00581 //extern boolean opoutlinetotable (hdlheadrecord, Handle, long *);
00582 
00583 extern boolean oppackoutline (hdloutlinerecord, Handle *);
00584 
00585 extern boolean opunpack (Handle, long *, hdloutlinerecord *);
00586 
00587 extern boolean opunpackoutline (Handle, hdloutlinerecord *);
00588 
00589 extern boolean optextscraptooutline (hdloutlinerecord, Handle, hdlheadrecord *);
00590 
00591 extern boolean opoutlinetotextstream (hdloutlinerecord, boolean, struct handlestream *);
00592 
00593 extern boolean opoutlinetotextscrap (hdloutlinerecord, boolean, Handle);
00594 
00595 extern boolean opoutlinetonewtextscrap (hdloutlinerecord, Handle *);
00596 
00597 
00598 extern boolean opsetrefcon (hdlheadrecord, ptrvoid, long); /*oprefcon.c*/
00599 
00600 extern boolean opgetrefcon (hdlheadrecord, ptrvoid, long);
00601 
00602 extern void opemptyrefcon (hdlheadrecord);
00603 
00604 extern boolean ophasrefcon (hdlheadrecord);
00605 
00606 extern boolean opattributesgettypestring (hdlheadrecord hnode, bigstring bstype); /*7.0b8 PBS*/
00607 
00608 boolean opattributesgetpackedtablevalue (hdlheadrecord hnode, tyvaluerecord *val); /*7.0b16 PBS*/
00609 
00610 boolean opattributesgetoneattribute (hdlheadrecord hnode, bigstring bsattname, tyvaluerecord *val); /*7.0b16 PBS*/
00611 
00612 
00613 extern boolean opaddheadline (hdlheadrecord, tydirection, bigstring, hdlheadrecord *); /*opstructure.c*/
00614 
00615 extern boolean opdepositnewheadline (hdlheadrecord, tydirection, Handle, hdlheadrecord *);
00616 
00617 extern boolean opmoveto (hdlheadrecord);
00618 
00619 extern boolean opjumpto (hdlheadrecord);
00620 
00621 extern boolean opgetsafenode (hdlheadrecord *hnode);
00622 
00623 extern boolean opmovecursor (hdlheadrecord, tydirection, long, hdlheadrecord *);
00624 
00625 extern boolean opflatfind (boolean, boolean);
00626 
00627 extern boolean oppromote (void);
00628 
00629 extern boolean opdemote (void);
00630 
00631 extern boolean isoutlinetext (Handle);
00632 
00633 extern boolean isoutlinescrap (void);
00634 
00635 extern boolean opcopy (void);
00636 
00637 extern boolean opdeletenode (hdlheadrecord);
00638 
00639 extern boolean opdelete (void);
00640 
00641 extern boolean opclear (void);
00642 
00643 extern boolean opcut (void);
00644 
00645 extern boolean oppaste (void);
00646 
00647 extern boolean opinsertheadline (Handle, tydirection, boolean);
00648 
00649 extern boolean opinsertstructure (hdlheadrecord, tydirection);
00650 
00651 
00652 extern boolean opvalidate (hdloutlinerecord); /*opvalidate.c*/
00653 
00654 
00655 extern hdlheadrecord opcopyoutline (hdlheadrecord);
00656 
00657 extern boolean opinserthandle (Handle, tydirection); /*opverbs.c*/
00658 
00659 extern boolean opsetexpansionstateverb (tyvaluerecord *vlist, tyvaluerecord *v);
00660 
00661 extern boolean opsetscrollstateverb (long line1, tyvaluerecord *v);
00662 
00663 extern boolean opgetexpansionstateverb (tyvaluerecord *v);
00664 
00665 extern boolean opgetscrollstateverb (tyvaluerecord *v);
00666 
00667 
00668 
00669 extern boolean oprecursivelyvisit (hdlheadrecord, short, opvisitcallback, ptrvoid); /*opvisit.c*/
00670 
00671 extern boolean oplistvisit (hdlheadrecord, opvisitcallback, ptrvoid);
00672 
00673 extern boolean opsummitvisit (opvisitcallback, ptrvoid);
00674 
00675 extern boolean opparentvisit (hdlheadrecord, boolean, opvisitcallback, ptrvoid);
00676 
00677 extern boolean oprecursivelyvisit (hdlheadrecord, short, opvisitcallback, ptrvoid);
00678 
00679 extern boolean opvisiteverything (opvisitcallback, ptrvoid);
00680 
00681 extern boolean oprecursivelyvisitkidsfirst (hdlheadrecord, short, opvisitcallback, ptrvoid);
00682 
00683 extern boolean opsiblingvisiter (hdlheadrecord, boolean, opvisitcallback, ptrvoid);
00684 
00685 extern boolean opvisitmarked (tydirection, opvisitcallback, ptrvoid);
00686 
00687 extern boolean opbumpvisit (hdlheadrecord, tydirection, opvisitcallback, ptrvoid);
00688 
00689 
00690 extern boolean opscroll (tydirection, boolean, long);
00691 
00692 extern boolean opscrollto (long, long);
00693 
00694 extern void opsetdisplaydefaults (hdloutlinerecord);
00695 
00696 extern boolean opsetlongcursor (long cursor);
00697 
00698 extern boolean opsetdisplayenabled (boolean);
00699 
00700 extern boolean opsetcursorlinetext (bigstring);
00701 
00702 extern boolean opnodechanged (hdlheadrecord);
00703 
00704 
00705 extern boolean oprmousedown (Point pt, tyclickflags flags); /*oppopup.c*/
00706 
00707 #endif
00708 
00709 
00710 

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