home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 31 / CDASC_31_1996_juillet_aout.iso / vrac / tvrw31d.zip / DIALOG.SKL < prev    next >
Text File  |  1996-04-16  |  7KB  |  298 lines

  1. !
  2. ! Dialog source skeleton file.
  3. !
  4. !  Copyright (c) 1995-96 Balázs Scheidler
  5. !  This file is part of Turbo Vision Resource WorkShop
  6. !
  7. ! Lines that begin with '!' are comments. All other lines are copied to the
  8. ! generated output.
  9. !
  10. ! Lines that begin with ` are quoted lines. Quoted lines are directly copied
  11. ! to output WITHOUT macro expansion. Use this if you need something in a line
  12. ! beginning with $(
  13. !
  14. ! The following macros are defined in this file:
  15. !
  16. !  $(FULLNAME)   = fully expanded filename
  17. !  $(FILENAME)   = 8+3 filename
  18. !  $(FNAME)      = 8 char file name
  19. !  $(FEXT)       = 3 char extension
  20. !  $(RESNAME)    = the Resource ID of the generated dialog.
  21. !  $(CLASSNAME)  = the name of the derived class, without the preceding T or P
  22. !  $(REFPTRS)    = put it into the Object definition, before the methods
  23. !                  This macro is expanded to the Reference pointers
  24. !  $(GETSUBVIEWS)= expands to the usual GetSubViewPtr stuff in Load methods
  25. !  $(PUTSUBVIEWS)= expands to the usual PutSubViewPtr stuff in Store methods
  26. !  $(MAKEFUNCTION)= expands to the Make function of the generated object.
  27. !  $(TRANSFERREC)= expands to the transfer record of the Dialog
  28. !  $(DESCRIPTION)= The description of this item
  29. !  $(VERSION)    = the version of this project
  30. !  $(AUTHOR)     = the author of the project
  31. !
  32. !  You can also use a conditional "macro". It is called $(IFDEF xxxx), where
  33. !  xxxx is one of the below listed strings. TVRW will ignore the lines
  34. !  between $(IFDEF) and $(ENDIF) if the symbol xxxx is not defined.
  35. !  NOTE: DO NOT write anything else in lines which contain $(IFDEF) and
  36. !  $(ENDIF)
  37. !
  38. !   xxxx can be one of the following:
  39. !     DERIVED         true if a new object type should be created
  40. !     CPP
  41. !     PASCAL
  42. !     TRANSFERREC
  43. !
  44. !     anything else:  true if you gave them in the Sourcer Options dialog
  45. !                     Defines inputline.
  46. !
  47. ! These macros are case insensitive.
  48. !
  49. !
  50. $(IFDEF CPP)
  51. !
  52. //*************************************************
  53. //* Header file for T$(CLASSNAME)
  54. //* $(FNAME).H
  55. //*************************************************
  56.  
  57. #ifndef __$(FNAME)_H_INCLUDED
  58. #define __$(FNAME)_H_INCLUDED
  59.  
  60. ! Add the needed defines...
  61. #define Uses_TButton
  62. #define Uses_TLabel
  63. #define Uses_TStaticText
  64. #define Uses_TParamText
  65. #define Uses_TMemo
  66. #define Uses_TListBox
  67. #define Uses_TSortedListBox
  68. #define Uses_TScrollBar
  69. #define Uses_THistory
  70. #define Uses_TInputLine
  71. #define Uses_TCheckBoxes
  72. #define Uses_TRadioButtons
  73. #define Uses_TPXPictureValidator
  74. #define Uses_TStringLookupValidator
  75. #define Uses_TRangeValidator
  76. #define Uses_TDialog
  77.  
  78. ! Modify this for TV 1.XX
  79.  
  80. #include <tvision\tv.h>
  81. !
  82. $(IFDEF DERIVED)
  83.  
  84. class T$(CLASSNAME) : public TDialog
  85. {
  86.  
  87. public:
  88.  
  89.     T$(CLASSNAME)(const TRect &bounds, const char *aTitle) :
  90.         TDialog(bounds, aTitle),
  91.         TWindowInit(&T$(CLASSNAME)::initFrame) {};
  92.     T$(CLASSNAME)(StreamableInit) :
  93.         TDialog(streamableInit),
  94.         TWindowInit(&T$(CLASSNAME)::initFrame) {};
  95.     virtual void handleEvent( TEvent& );
  96.     $(IFDEF STREAMABLE)
  97.     static const char *const name;
  98.     static TStreamable *build(void);
  99.     $(ENDIF)
  100.  
  101. protected:
  102.     $(REFPTRS)
  103.  
  104.     $(IFDEF STREAMABLE)
  105.     virtual void write(opstream &);
  106.     virtual void *read(ipstream &);
  107.     $(ENDIF)
  108.  
  109. private:
  110.     virtual const char *streamableName(void) const
  111.         { return name; };
  112.  
  113. };
  114.  
  115. $(IFDEF STREAMABLE)
  116. inline ipstream& operator >> ( ipstream& is, T$(CLASSNAME)& cl )
  117.     { return is >> (TStreamable&)cl; }
  118. inline ipstream& operator >> ( ipstream& is, T$(CLASSNAME)*& cl )
  119.     { return is >> (void *&)cl; }
  120. inline opstream& operator << ( opstream& os, T$(CLASSNAME)& cl )
  121.     { return os << (TStreamable&)cl; }
  122. inline opstream& operator << ( opstream& os, T$(CLASSNAME)* cl )
  123.     { return os << (TStreamable *)cl; }
  124. $(ENDIF)
  125.  
  126. !
  127. $(ENDIF)
  128.  
  129. T$(CLASSNAME) *make$(RESNAME)(void);
  130.  
  131. $(IFDEF TRANSFERREC)
  132. $(TRANSFERREC)
  133. $(ENDIF)
  134.  
  135. #endif
  136.  
  137. $(ENDHEADER)
  138. $(IFDEF DERIVED)
  139. /*********************************************************
  140.    T$(CLASSNAME) member functions and make function
  141.    $(FNAME).CPP
  142. $(ELSE)
  143. /*********************************************************
  144.    $(RESNAME) make function.
  145.    $(FNAME).CPP
  146. $(ENDIF)
  147. $(DESCRIPTION)
  148.     Copyright (c) 1996 $(AUTHOR)
  149.  
  150.     Generated by Turbo Vision Resource WorkShop
  151.  *********************************************************/
  152.  
  153. #include "$(FNAME).H"
  154.  
  155. $(IFDEF DERIVED)
  156.  
  157. void T$(CLASSNAME)::handleEvent(TEvent &event)
  158. {
  159.     TDialog::handleEvent(event);
  160.     switch (event.what) {
  161.         case evBroadCast:
  162.             break;
  163.         case evCommand:
  164.             break;
  165.     }
  166. }
  167.  
  168. $(IFDEF STREAMABLE)
  169.  
  170. const char * const T$(CLASSNAME)::name = "T$(CLASSNAME)";
  171.  
  172. TStreamable *T$(CLASSNAME)::build(void)
  173. {
  174.     return new T$(CLASSNAME)(streamableInit);
  175. }
  176.  
  177. void *T$(CLASSNAME)::read(ipstream &ip)
  178. {
  179.     TDialog::read(ip);
  180.     $(GETSUBVIEWS ip)
  181.     return this;
  182. }
  183.  
  184. void *T$(CLASSNAME)::write(opstream &op)
  185. {
  186.     TDialog::write(op);
  187.     $(PUTSUBVIEWS op)
  188. }
  189.  
  190. TStreamableClass R$(CLASSNAME)
  191.     (T$(CLASSNAME)::name,
  192.      T$(CLASSNAME)::build,
  193.      __DELTA(T$(CLASSNAME)));
  194.  
  195. $(ENDIF)
  196.  
  197. $(ENDIF)
  198. !
  199. $(MAKEFUNCTION)
  200. !
  201. $(ENDIF)
  202. $(IFDEF PASCAL)
  203. {*************************************************************************
  204.  
  205.    $(FILENAME) - unit T$(CLASSNAME) object definition
  206.    and MakeFunction.
  207.  
  208.    Copyright (c) 1996 $(AUTHOR)
  209.  
  210.    Generated by Turbo Vision Resource WorkShop
  211.  
  212. **************************************************************************}
  213. unit $(FNAME);
  214. {$S-,V-,X+}
  215.  
  216. interface
  217.  
  218. uses
  219.   Drivers, Objects, Views, Dialogs, StdDlg, Validate, Editors;
  220.  
  221. $(IFDEF DERIVED)
  222. type
  223.   P$(CLASSNAME) = ^T$(CLASSNAME);
  224.   T$(CLASSNAME) = Object(TDialog)
  225.     $(REFPTRS)
  226.     constructor Init(var Bounds: TRect; const ATitle: TTitleStr);
  227.     $(IFDEF STREAMABLE)
  228.     constructor Load(var S: TStream);
  229.     procedure Store(var S: TStream);
  230.     $(ENDIF)
  231.     procedure HandleEvent(var Event: TEvent); virtual;
  232.   end;
  233.  
  234. $(IFDEF STREAMABLE)
  235. const
  236.   R$(CLASSNAME): TStreamRec =
  237.     (ObjType: 10000;
  238.      VMTLink: Ofs(TypeOf(T$(CLASSNAME))^);
  239.      Load: @T$(CLASSNAME).Load;
  240.      Store: @T$(CLASSNAME).Store);
  241.  
  242. $(ENDIF)
  243.  
  244. $(ENDIF)
  245.  
  246. $(IFDEF TRANSFERREC)
  247. $(TRANSFERREC)
  248. $(ENDIF)
  249.  
  250. function Make$(RESNAME): P$(CLASSNAME);
  251.  
  252. implementation
  253.  
  254. $(IFDEF DERIVED)
  255. constructor T$(CLASSNAME).Init(var Bounds: TRect; const ATitle: TTitleStr);
  256. begin
  257.   inherited Init(Bounds, ATitle);
  258. end;
  259.  
  260. $(IFDEF STREAMABLE)
  261. constructor T$(CLASSNAME).Load(var S: TStream);
  262. begin
  263.   inherited Load(S);
  264.   $(GETSUBVIEWS S)
  265. end;
  266.  
  267. procedure T$(CLASSNAME).Store(var S: TStream);
  268. begin
  269.   inherited Store(S);
  270.   $(PUTSUBVIEWS S)
  271. end;
  272. $(ENDIF)
  273.  
  274. procedure T$(CLASSNAME).HandleEvent(var Event: TEvent);
  275. begin
  276.   inherited HandleEvent(Event);
  277.   case Event.What of
  278.     evBroadCast:
  279.       case Event.Command of
  280.         0: ;          { These are not really needed, but you know case
  281.                         statements must contain something.... Delete them if
  282.                         you need some real stuff here }
  283.       end;
  284.     evCommand:
  285.       case Event.Command of
  286.         0: ;
  287.       end;
  288.   end;
  289. end;
  290.  
  291. $(ENDIF)
  292. !
  293. $(MAKEFUNCTION)
  294. !
  295. end.
  296.  
  297. $(ENDIF)
  298.