home *** CD-ROM | disk | FTP | other *** search
- \ ********************************************************
- \ Standard application template file for TVGen 3.0
- \ (c) 1994 BOCIAN Software
- \ ********************************************************
-
- \ Procedures LineProc and ObjParams are used in dialogs. Placing them
- \ here eliminates redefining when each dialog is about to be generated
-
- \ Recursively called procedure building up the cluster string lists
- @DEFPROC LineProc
- @IF!EQUAL %_LINETEXT% ''
- new TSItem("%_LINETEXT%",
- @NEXTLINE Lines
- @CALL LineProc
- @NOCR )
- @ELSE
- @NOCR 0
- @ENDIF
- @ENDPROC
- \ End of procedure LineProc
-
- \ Recursively called procedure building up the cluster hints list
- @DEFPROC HintsProc
- @IF!EQUAL %_LINETEXT% ''
- @IFOPTION HELP
- @IF!EQUAL %__HELPFLAG% 0
- @PUSHFILE 4
- @NOCR ,%_SUBSTR(__HCVAL,1,2)%%__HCCOUNTER%
- @POPFILE
- @ENDIF (if!equal)
- @ENDIF
- Hints[%__HINTCOUNTER%]=new THint(hc_D_%_DLGFUNC(_DLGNUM)%+%__HCCOUNTER%,"%_LINETEXT%");
- @INC __HCCOUNTER
- @INC __HINTCOUNTER
- @NEXTLINE Hints
- @CALL HintsProc
- @ENDIF (if!equal)
- @ENDPROC
- \ End of procedure HintsProc
-
- \ Procedure for object flags redefinition
- @DEFPROC ObjParams
- @IF!DEFAULT Options
- %_PARAMETER(1)%options=%OPTIONS%;
- @ENDIF
- @IF!DEFAULT DragMode
- %_PARAMETER(1)%dragMode=%DRAGMODE%;
- @ENDIF
- @IF!DEFAULT GrowMode
- %_PARAMETER(1)%growMode=%GROWMODE%;
- @ENDIF
- @IF!DEFAULT EventMask
- %_PARAMETER(1)%eventMask=%EVENTMASK%;
- @ENDIF
- \ Has the object defined HINT field?
- @IFFIELD HINT
- @IFOPTION HELP
- @IF!EQUAL %__HELPFLAG% 0
- @PUSHFILE 4
- @NOCR ,%_SUBSTR(__HCVAL,1,2)%%__HCCOUNTER%
- @POPFILE
- @ENDIF (if!equal)
- @ENDIF
- \ Differs hint-text from the null string?
- @IF!EQUAL %HINT% ''
- %_PARAMETER(1)%helpCtx=hc_D_%_DLGFUNC(_DLGNUM)%+%__HCCOUNTER%;
- \ File @5 is the application resource maker
- @PUSHFILE 5
- Hints[%__HINTCOUNTER%]=new THint(hc_D_%_DLGFUNC(_DLGNUM)%+%__HCCOUNTER%,%HINT%);
- @INC __HCCOUNTER
- @INC __HINTCOUNTER
- @POPFILE
- @ENDIF (if!equal)
- @ENDIF (iffield)
- \ Has the object defined HINTS field?
- @IFFIELD HINTS
- %_PARAMETER(1)%helpCtx=hc_D_%_DLGFUNC(_DLGNUM)%+%__HCCOUNTER%;
- @FIRSTLINE Hints
- @PUSHFILE 5
- @CALL HintsProc
- @POPFILE
- @ENDIF
- @ENDPROC
- \ End of procedure ObjParams
- \
- @DEFPROC AppDialogCall
- @ASSIGN __DLGNUMBER %_GETDLGNUM(_PARAMETER(1))%
- @IF!EQUAL %__DLGNUMBER% 0
- @IFEQUAL %_DLGDATAFLAG(__DLGNUMBER)% 0
- Result = %_DLGFUNC(__DLGNUMBER)%();
- @ELSE
- Result = %_DLGFUNC(__DLGNUMBER)%(%_PARAMETER(2)%,False);
- @ENDIF
- @ENDIF
- @ENDPROC
- \ End of procedure AppDialogCall
- \
- @DEFPROC AppDialogData
- @ASSIGN __DLGNUMBER %_GETDLGNUM(_PARAMETER(1))%
- @IF!EQUAL %__DLGNUMBER% 0
- @IF!EQUAL %_DLGDATAFLAG(__DLGNUMBER)% 0
- T%_DLGFUNC(__DLGNUMBER)%Data %_PARAMETER(2)%;
- ushort Result;
- @ENDIF
- @ENDIF
- @ENDPROC
- \ End of procedure AppDialogData
- \
- \ END OF PROCEDURE SECTION
- \
- \
- @QUOTES "
- @ORSYMBOL |
- @ASSIGN __HINTCOUNTER 0
- @ASSIGN __MAKEIDLE 0
- @ASSIGN __LOADGADGETS 0
- @ASSIGN __APPFILE %_SUBSTR(_OUTFILE,1,6)%
- @IFOPTION CLOCK
- @INC __MAKEIDLE
- @INC __LOADGADGETS
- @ENDIF
- @IFOPTION HEAPVIEW
- @INC __MAKEIDLE
- @INC __LOADGADGETS
- @ENDIF
- @IFOPTION ScreenSaver
- @INC __MAKEIDLE
- @ENDIF
- @IFOPTION ASK_FOR_UNITS
- @ASSIGN __MODULES 0
- @LOOP
- @ASKFOR __MOD[__MODULES] '' 'Enter header file (blank line ends)'
- @IFEQUAL __MOD[__MODULES] ''
- @EXIT
- @ELSE
- @INC __MODULES
- @ENDIF
- @ENDLOOP
- @ENDIF
- @DEFINEFILE 2 %_OUTFILE%.CPP
- @DEFINEFILE 3 %__APPFILE%_D.H
- @IFOPTION HELP
- @DEFINEFILE 4 %_OUTFILE%.TXT
- @ENDIF
- @DEFINEFILE 5 %__APPFILE%_N.INC
- @DEFINEFILE 6 %_OUTFILE%.RSP
- \ Dialog data exchange types
- @FILE 3
- \ Dialogs
- @DEFINEFILE 7 %__APPFILE%_K.H
- @FORALLDIALOGS
- @DIALOG
- @ENDFOR
- @CLOSEFILE 7
- \ Main program file
- @FILE 2
- #define Uses_TApplication
- #define Uses_TMenuBar
- #define Uses_TMenu
- #define Uses_TMenuItem
- #define Uses_TSubMenu
- #define Uses_TStatusLine
- #define Uses_THintStatusLine
- #define Uses_TStatusDef
- #define Uses_TStatusItem
- #define Uses_TKeys
- #define Uses_TEvent
- #define Uses_TDeskTop
- #define Uses_TCollection
- @IFOPTION ScreenSaver
- #define Uses_TScreenSaver
- @ENDIF
- #define Uses_THint
- #define Uses_MsgBox
- @IFOPTION HELP
- #define Uses_TPalette
- #define Uses_fpstream
- @ENDIF
-
- @IFOPTION HELP
- #if __BORLANDC__ < 0x452 && !defined(__WIN32__)
- #include <help.h>
- #else
- #include <tvision\help.h>
- #endif
- @ELSE
- #if __BORLANDC__ < 0x452 && !defined(__WIN32__)
- #include <tv.h>
- #else
- #include <tvision\tv.h>
- #endif
- @ENDIF
- @IF!EQUAL %__LOADGADGETS% 0
- #include "gadgets.h"
- @ENDIF
-
- @IFOPTION ASK_FOR_UNITS
- @ASSIGN __COUNTER 0
- @LOOP
- @IFEQUAL %__MODULES% %__COUNTER%
- @EXIT
- @ELSE
- #include "%__MOD[__COUNTER]%"
- @INC __COUNTER
- @ENDIF
- @ENDLOOP
-
- @ENDIF
- #include <string.h>
-
- #include "%__APPFILE%_H.H"
- #include "%__APPFILE%_C.H"
- #include "%__APPFILE%_D.H"
-
- #include "supply.h"
-
- char **argv;
-
- class %_APPTYPE% : public TApplication
- {
- @IFOPTION Clock
- TClockView *Clock;
- @ENDIF
- @IFOPTION HeapView
- THeapView *HeapView;
- @ENDIF
- @IFOPTION ScreenSaver
- TScreenSaver *ScreenSaver;
- @ENDIF
- static THint *Hints[300];
-
- public:
- %_APPTYPE%();
- \ AdditionalInit method handles setup of Clock, HeapView, ScreenSaver, etc.
- void additionalInit();
- void additionalDone();
- @IFSNIPPET MTD_DONE
- ~%_APPTYPE%();
- @ENDIF
- \ Always override HandleEvent and InitStatusLine methods
- void handleEvent(TEvent &event);
- static TStatusLine *initStatusLine(TRect r);
- @IFMENUBAR
- static TMenuBar *initMenuBar(TRect r);
- @ENDIF
- @IFOPTION HELP
- void getEvent(TEvent &event);
- @ELSE
- @IFOPTION ScreenSaver
- void getEvent(TEvent &event);
- @ENDIF
- @ENDIF
- @IF!EQUAL %__MAKEIDLE% 0
- void idle();
- @ENDIF
- @IFOPTION HELP
- TPalette &getPalette() const;
- @ELSE
- @IFOPTION COLOR
- TPalette &getPalette() const;
- @ENDIF
- @ENDIF
- @FORCALLEDDIALOGS
- void Call%_DLGFUNC(_DLGNUM)%();
- @ENDFOR
- @ASSIGN __SECTION 'HEADER'
- @SNIPPETS LIKE USR_*
- @ASSIGN __SECTION 'MAIN'
- };
-
- THint *TMyApp::Hints[300];
-
- \ Generate Constructor
- @IFSNIPPET MTD_INIT
- @ELSE
- %_APPTYPE%::%_APPTYPE%() : TProgInit(&%_APPTYPE%::initStatusLine,
- &%_APPTYPE%::initMenuBar,
- &%_APPTYPE%::initDeskTop)
- {
- }
-
- @ENDIF
-
- \ Generate StatusLine
- @IFSTATUS
- @STATUSLINE
- @ELSE
- \ StatusLine is not defined - initialize THintStatusLine with standard keys
- TStatusLine *%_APPTYPE%::initStatusLine(TRect r)
- {
- r.a.y=r.b.y-1;
- return new THintStatusLine(r,
- *new TStatusDef(0, 0xFFFF)+
- *new TStatusItem("~Alt-X~ Exit", kbAltX, cmQuit)+
- *new TStatusItem("~F10~ Menu", kbF10, cmMenu)+
- *new TStatusItem(0, kbAltF3, cmClose)+
- *new TStatusItem(0, kbF5, cmZoom)+
- *new TStatusItem(0, kbCtrlF5, cmResize),Hints);
- }
-
- @ENDIF (ifstatus)
- \ Generate MenuBar
- @IFMENUBAR
- @MENUBAR
- @ENDIF (ifmenubar)
-
- @IF!EQUAL %__MAKEIDLE% 0
- void %_APPTYPE%::idle()
- {
- TApplication::idle();
- @IFOPTION CLOCK
- Clock->update();
- @ENDIF
- @IFOPTION HEAPVIEW
- HeapView->update();
- @ENDIF
- @IFOPTION ScreenSaver
- ScreenSaver->update();
- @ENDIF
- }
- @ENDIF
-
- void %_APPTYPE%::additionalInit()
- {
- #include "%_SUBSTR(_OUTFILE,1,6)%_N.INC"
- Hints[%__HINTCOUNTER%]=NULL;
-
- @IFOPTION ScreenSaver
- TRect r=getExtent();
- @ASKFOR __SSDelay '60' 'Screen saver delay in seconds'
- @IFEQUAL %__SSDelay% ''
- ScreenSaver=new TScreenSaver(r,60);
- @ELSE
- ScreenSaver=new TScreenSaver(r,%__SSDELAY%);
- @ENDIF
- insert(ScreenSaver);
- @ENDIF
- @IFOPTION CLOCK
- r=getExtent();
- r.a.x=r.b.x-9;
- r.b.y=r.a.y+1;
- Clock=new TClockView(r);
- insert(Clock);
- @ENDIF
- @IFOPTION HEAPVIEW
- r=getExtent();
- r.a.x=r.b.x-13;
- r.a.y=r.b.y-1;
- HeapView=new THeapView(r);
- insert(HeapView);
- @ENDIF
- }
-
- void %_APPTYPE%::additionalDone()
- {
- int loop=0;
-
- while (Hints[loop]!=NULL) delete Hints[loop++];
- }
-
- @IFOPTION HELP
- void %_APPTYPE%::getEvent(TEvent &event)
- {
- TApplication::getEvent(event);
- @IFOPTION ScreenSaver
- ScreenSaver->checkEvent(event);
- @ENDIF
-
- if (event.what==evCommand && event.message.command==cmHelp)
- {
- TWindow *w;
- THelpFile *hFile;
- fpstream *helpStrm;
- static Boolean helpInUse = False;
-
- char HelpFile[128];
- strcpy(HelpFile,argv[0]);
- while(HelpFile[strlen(HelpFile)-1]!='\\') HelpFile[strlen(HelpFile)-1]='\0';
- strcat(HelpFile,"%_OUTFILE%.HLP");
-
- if (helpInUse == False)
- {
- helpInUse = True;
- helpStrm = new fpstream(HelpFile, ios::in|ios::binary|ios::nocreate);
- hFile = new THelpFile(*helpStrm);
- if (!helpStrm)
- {
- messageBox("Nemohu otevrit soubor s napovedou", mfError | mfOKButton);
- delete hFile;
- }
- else
- {
- w = new THelpWindow(hFile, getHelpCtx());
- TRect r=w->getBounds();
- r.grow(8,1);
- w->changeBounds(r);
- strcpy((char *) w->title,"Napoveda");
- w->flags &= ~wfGrow & ~wfZoom;
- w->helpCtx=hcHelpWindowActive;
- if (validView(w)!=0) execView(w);
- destroy(w);
- }
- helpInUse = False;
- }
- clearEvent(event);
- }
- }
-
- TPalette &%_APPTYPE%::getPalette() const
- {
- @IF!OPTION COLOR
- #if _TV_VERSION < 0x0200
- static TPalette newcolor ( cpColor cHelpColor, sizeof( cpColor cHelpColor )-1 );
- static TPalette newblackwhite( cpBlackWhite cHelpBlackWhite, sizeof( cpBlackWhite cHelpBlackWhite)-1 );
- static TPalette newmonochrome( cpMonochrome cHelpMonochrome, sizeof( cpMonochrome cHelpMonochrome)-1 );
- static TPalette *palettes[] = {&newcolor, &newblackwhite, &newmonochrome};
-
- return *(palettes[appPalette]);
- #else
- return TApplication::getPalette();
- #endif
- @ELSE
- @NOCR static TPalette newcolor (
- @CPPCOLORS 2 ''
- ,135);
- static TPalette *palettes[] = {&newcolor, &newcolor, &newcolor};
-
- return *(palettes[appPalette]);
-
- @ENDIF
- }
-
- @ELSE
- @IFOPTION ScreenSaver
- void %_APPTYPE%::getEvent(TEvent &event)
- {
- TApplication::getEvent(event);
- ScreenSaver->checkEvent(event);
- }
- @ENDIF
- @ENDIF
- @SNIPPETS LIKE MTD_*
- @IF!SNIPPET MTD_HAND
- void %_APPTYPE%::handleEvent(TEvent &event)
- {
- TApplication::handleEvent(event);
- if (event.what == evCommand)
- {
- switch (event.message.command)
- {
- @ASSIGN __SECTION 'CALLING'
- @FORCALLEDITEMS
- @IFEQUAL %_APPITEMTYPE% 'DLG'
- case %_PADR(_APPITEMCOMMAND,25,' ')% : Call%_DLGFUNC(_DLGNUM)%(); break;
- @ENDIF
- @IFEQUAL %_APPITEMTYPE% 'MTD'
- @NOCR case %_PADR(_APPITEMCOMMAND,25,' ')% :
- @SNIPPET %_APPITEMFILE%
- break;
- @ENDIF
- @ENDFOR
- @ASSIGN __SECTION 'MAIN'
- default : return;
- }
- }
- clearEvent(event);
- }
-
- @ENDIF
- @SNIPPETS LIKE USR_*
-
- \ RSP includes
- @PUSHFILE 6
- %_OUTFILE%.CPP
- @FORALLDIALOGS
- %__DLGFILE[_DLGNUM]%
- @ENDFOR
- @IF!EQUAL %__LOADGADGETS% 0
- GADGETS.CPP
- @ENDIF
- @ASSIGN __COUNTER 0
- @LOOP
- @IFEQUAL %_UNIT(__COUNTER)% ''
- @EXIT
- @ELSE
- %_UNIT(__COUNTER)%
- @INC __COUNTER
- @ENDIF
- @ENDLOOP
- TV.LIB
- SUPPLY.CPP
- @IFOPTION ASK_FOR_UNITS
- @ASKFOR __MODULE '' 'Modules in RSP (delimited by blanks)'
- %__MODULE%
- @ENDIF
- @POPFILE
-
- @FORCALLEDDIALOGS
-
- @IFSNIPPET %_CALLINGSNIPPET%
- @SNIPPET %_CALLINGSNIPPET%
- @ELSE
- void %_APPTYPE%::Call%_DLGFUNC(_DLGNUM)%()
- {
- @IFEQUAL %_DLGDATAFLAG(_DLGNUM)% 0
- ushort Result = %_DLGFUNC(_DLGNUM)%();
- @ELSE
- T%_DLGFUNC(_DLGNUM)%Data D;
- ushort Result = %_DLGFUNC(_DLGNUM)%(D,False);
- @ENDIF
- }
- @ENDIF
- @ENDFOR
- @FILE 2
-
- #pragma -wpar
-
- void main(int argc, char *argv[])
- {
- ::argv=argv;
-
- %_APPTYPE% AppInstance;
-
- AppInstance.additionalInit();
- AppInstance.run();
- AppInstance.additionalDone();
- }
-
- // ************ Generated by TVGen 3.0 **************
- \ Close main program file
- @CLOSEFILE 2
- @FILE 3
-
- // ************ Generated by TVGen 3.0 **************
- @DEFINEFILE 3 %_SUBSTR(_OUTFILE,1,6)%_H.H
- @FILE 3
- @HELPCONSTANTS const ushort %_PAdR([NAME],50,' ')% = [VALUE];
-
- // ************ Generated by TVGen 3.0 **************
- \ Close Help Constants Unit file and open file for Command Constants
- @DEFINEFILE 3 %_SUBSTR(_OUTFILE,1,6)%_C.H
- @FILE 3
- @ASSIGN _APPCMDORIGIN 100
-
- @CMDCONSTANTS const ushort %_PADR([NAME],50,' ')% = [VALUE];
-
- // ************ Generated by TVGen 3.0 **************
- \ Close Command Constants Unit file
- @CLOSEFILE 3
- \ Close help text file
- @IFOPTION HELP
- @CLOSEFILE 4
- @ENDIF
- \ Create batch file
- @DEFINEFILE 3 %_OUTFILE%.BAT
- @FILE 3
- BCC -P -ml @%_OUTFILE%.RSP
- @IFOPTION HELP
- TVHC %_OUTFILE%.TXT %_OUTFILE%.HLP %_SUBSTR(_OUTFILE,1,6)%_X.XXX
- @ENDIF
- @CLOSEFILE 3