[futurebasic] Re: [FB] FBtoC Help Window

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : May 2008 : Group Archive : Group : All Groups

From: John Grimsley <johngrimsley@...>
Date: Mon, 19 May 2008 15:34:01 -0700
Brian and Robert,

Thanks very much.  I already have all files in .rtf format I believe.  
My one goal has been to ship all the content of my game inside the app 
itself -- no external help files, etc.  Can I put .rtf files into Resources?

Brian, your suggestion is a good one -- make the help files available on 
the web site.  Someone in France recently said the main help file was 
too big to copy-paste and print.  OOPs.  I sent him the .rtf.

Thanks again,

John G




Robert Purves wrote:
>
> John Grimsley wrote:
>
>> In nostalgic 1900's programming, I have 6 large help files as Text 
>> resources.  They are handled as below:
>>
>> =========
>> Window -_helpWnd, "Help Information", 
>> (0,0)-(565,System(_scrnHeight)-50), _docZoom
>> resPTR = _helpInfoRes+LANG      //  0 = English ;  10 = French  (for 
>> Alain)
>> Edit Field 131, %resPTR, (6,6)-(Window(_Width)-20,Window(_Height)-6), 
>> _copyOnlyNoFramed
>> scroll button -860,,,,,, _scrollVert
>> setselect 0, 0
>> =========
>> In modern 2000's programming, where do I start?  "%resPTR"?
>
> The correct way is to convert your help files into html, and make a 
> Help Book. Unfortunately we don't seem to have a demo in FBtoC 
> Examples. Perhaps some beneficent programmer will remedy the 
> deficiency by providing a Really Simple Help Book demo.
>
> Alternatively, you could convert your files to .rtf (in TextEdit), and 
> display them in a scrolling text view. See:
> FBtoC_1.0.x > Examples > Text > Scrolling text view(10.4)
> The example "Scrolling text view" is somewhat cluttered and requires 
> OS X 10.4, so I made a simpler example (below) that works in 10.3 to 
> 10.5.
>
> Robert P.
>
>
> '-----------------------
> /*
>  How to load and display an .rtf file from resources (FB and FBtoC)
>  Requires main.nib and dummy.rtf from FBtoC_1.0.x > Examples > Text > 
> Scrolling text view(10.4)
>
>  rp 20080520
> */
> include "Tlbx IBCarbonRuntime.incl"
> include "Tlbx MacTextEditor.incl"
>
> // CFBundle.h
> toolbox fn CFBundleGetMainBundle = CFBundleRef
> toolbox fn CFBundleCopyResourceURL( CFBundleRef bundle, CFStringRef 
> resourceName, CFStringRef resourceType, CFStringRef subDirName ) = 
> CFURLRef
>
> #if def _FBtoC
> include resources "dummy.rtf" // the source of the rtf text
> #endif
>
>
> local mode
> local fn TxtViewLoadText( txtView as HIViewRef )
> '~'1
> dim as CFURLRef url
> dim as TXNObject @ txnObj
> dim as OSStatus err
>
> err = _fnfErr
> url = fn CFBundleCopyResourceURL( fn CFBundleGetMainBundle(), fn 
> CFSTR( "dummy.rtf" ), 0, 0 )
> long if ( url )
> txnObj = fn HITextViewGetTXNObject( txtView )
> err = fn TXNSetDataFromCFURLRef( txnObj, url, _kTXNStartOffset, 
> _kTXNEndOffset )
> CFRelease( url )
> end if
> end fn = err
>
>
> local mode
> local fn TxtViewSetMargins( txtView as HIViewRef, left as SInt16, top 
> as SInt16, right as SInt16, bottom as SInt16 )
> '~'1
> dim as TXNMargins @ margins
> dim as TXNControlData @ cData
> dim as TXNControlTag @ tag
>
> margins.topMargin = top
> margins.leftMargin = left
> margins.bottomMargin = bottom
> margins.rightMargin = right
> cData.marginsPtr = @margins
> tag = _kTXNMarginsTag
> end fn = fn TXNSetTXNObjectControls( fn HITextViewGetTXNObject( 
> txtView ), _false, 1, @tag, @cData )
>
>
> local fn BuildUI as HIViewRef
> '~'1
> dim as IBNibRef @ nib
> dim as WindowRef @ w
> dim as HIViewRef scrollView, txtView, @ contentView
>
> txtView = 0
> long if ( fn CreateNibReference( fn CFSTR( "main" ), @nib ) == _noErr )
> //call SetMenuBarFromNib( nib, fn CFSTR( "MenuBar" ) )
> call CreateWindowFromNib( nib, fn CFSTR( "Window" ), @w )
>
> call HIViewFindByID( fn HIViewGetRoot( w ), 
> kHIViewWindowContentID.signature, kHIViewWindowContentID.id, 
> @contentView )
> scrollView = fn HIViewGetFirstSubview( contentView )
> txtView = fn HIViewGetLastSubview( scrollView )
>
> fn TxtViewSetMargins( txtView, 8, 0, 0, 0 )
> fn TxtViewLoadText( txtView )
> ShowWindow( w )
> DisposeNibReference( nib )
> end if
> end fn = txtView
>
>
> // main program
> fn BuildUI
> do
> HandleEvents
> until gFBQuit
> '--------------------
>
> -- 
> To unsubscribe, send ANY message to: 
> futurebasic-unsubscribe@...
>