home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / tybc4 / xped5 / xped5app.cpp < prev    next >
C/C++ Source or Header  |  1994-02-13  |  3KB  |  149 lines

  1. /*  Project xped5
  2.     
  3.     Copyright ⌐ 1993. All Rights Reserved.
  4.  
  5.     SUBSYSTEM:    xped5.exe Application
  6.     FILE:         xped5app.cpp
  7.     AUTHOR:       
  8.  
  9.  
  10.     OVERVIEW
  11.     ========
  12.     Source file for implementation of XpEd5App (TApplication).      
  13. */
  14.  
  15.  
  16. #include <owl\owlpch.h>
  17. #pragma hdrstop
  18.  
  19.  
  20. #include "xped5app.h"
  21. #include "xpd5mdic.h"
  22. #include "xpd5mdi1.h"
  23. #include "xped5abd.h"                        // Definition of about dialog.       
  24.  
  25.  
  26. //{{XpEd5App Implementation}}
  27.  
  28. //{{DOC_VIEW}}
  29. DEFINE_DOC_TEMPLATE_CLASS(TFileDocument, TEditView, DocType1);
  30. //{{DOC_VIEW_END}}
  31.  
  32. //{{DOC_MANAGER}}
  33. DocType1 __dvt1("All Files (*.*)", "*.*", 0, "TXT", dtAutoDelete | dtUpdateDir);
  34. //{{DOC_MANAGER_END}}
  35.  
  36. //
  37. // Build a response table for all messages/commands handled
  38. // by the application.
  39. //
  40. DEFINE_RESPONSE_TABLE1(XpEd5App, TApplication)
  41. //{{XpEd5AppRSP_TBL_BEGIN}}
  42.     EV_OWLVIEW(dnCreate, EvNewView),
  43.     EV_OWLVIEW(dnClose,  EvCloseView),
  44.     EV_COMMAND(CM_HELPABOUT, CmHelpAbout),
  45. //{{XpEd5AppRSP_TBL_END}}
  46. END_RESPONSE_TABLE;
  47.  
  48.  
  49. //////////////////////////////////////////////////////////
  50. // XpEd5App
  51. // =====
  52. //
  53. XpEd5App::XpEd5App () : TApplication("xped5")
  54. {
  55.  
  56.     DocManager = new TDocManager(dmMDI | dmMenu);
  57.  
  58.     // INSERT>> Your constructor code here.
  59.  
  60. }
  61.  
  62.  
  63. XpEd5App::~XpEd5App ()
  64. {
  65.     // INSERT>> Your destructor code here.
  66.  
  67. }
  68.  
  69.  
  70. //////////////////////////////////////////////////////////
  71. // XpEd5App
  72. // =====
  73. // Application intialization.
  74. //
  75. void XpEd5App::InitMainWindow ()
  76. {
  77.     TDecoratedMDIFrame* frame = new TDecoratedMDIFrame(Name, MDI_MENU, *(new xped5MDIClient), FALSE);
  78.  
  79.     nCmdShow = (nCmdShow != SW_SHOWMINNOACTIVE) ? SW_SHOWNORMAL : nCmdShow;
  80.  
  81.     //
  82.     // Assign ICON w/ this application.
  83.     //
  84.     frame->SetIcon(this, IDI_MDIAPPLICATION);
  85.  
  86.     //
  87.     // Menu associated with window and accelerator table associated with table.
  88.     //
  89.     frame->AssignMenu(MDI_MENU);
  90.     
  91.     //
  92.     // Associate with the accelerator table.
  93.     //
  94.     frame->Attr.AccelTable = MDI_MENU;
  95.  
  96.  
  97.   
  98.     MainWindow = frame;
  99.  
  100. }
  101.  
  102.  
  103. //////////////////////////////////////////////////////////
  104. // XpEd5App
  105. // =====
  106. // Response Table handlers:
  107. //
  108. void XpEd5App::EvNewView (TView& view)
  109. {
  110.     TMDIClient *mdiClient = TYPESAFE_DOWNCAST(MainWindow->GetClientWindow(), TMDIClient);
  111.     if (mdiClient) {
  112.         xped5MDIChild* child = new xped5MDIChild(*mdiClient, 0, view.GetWindow());
  113.  
  114.         // Associate ICON w/ this child window.
  115.         child->SetIcon(this, IDI_DOC);
  116.  
  117.         child->Create();
  118.     }
  119. }
  120.  
  121.  
  122. void XpEd5App::EvCloseView (TView&)
  123. {
  124. }
  125.  
  126.  
  127. //////////////////////////////////////////////////////////
  128. // XpEd5App
  129. // ===========
  130. // Menu Help About xped5.exe command
  131. void XpEd5App::CmHelpAbout ()
  132. {
  133.     //
  134.     // Show the modal dialog.
  135.     //
  136.     XpEd5AboutDlg(MainWindow).Execute();
  137. }
  138.  
  139.  
  140. int OwlMain (int , char* [])
  141. {
  142.     XpEd5App     App;
  143.     int             result;
  144.  
  145.     result = App.Run();
  146.  
  147.     return result;
  148. }
  149.