home *** CD-ROM | disk | FTP | other *** search
- ##{cheader.snp}
- #include <owl/pch.h>
-
- ##@OPT_APPL_TOOLBAR
- #include <owl/buttonga.h>
- #include <owl/docmanag.h>
- ##@OPT_APPL_STATUSBAR
- #include <owl/statusba.h>
- ##@QUERY_APPL_OLE_AUTO 2
- #include <owl/olefacto.h>
- #include <ocf/ocreg.h>
- ##--BEGIN-- @QUERY_APPL_MODEL != VALUE_DIALOG
- ##OPT_DV_RESET
- ##OPT_DV_NEXT
- ##QUERY_DV_TDOCUMENT [[TDocument]]
- ##GetIncludeFile(\\"[[TDocument]]") [[DocIncludeFile]]
- #include [[DocIncludeFile]]
- ##--END-- @QUERY_APPL_MODEL != VALUE_DIALOG
- ##@QUERY_APPL_MODEL == VALUE_DIALOG
- #include <owl/filedoc.h>
-
- ##--BEGIN-- @OPT_APPL_REGISTRY || @OPT_APPL_MAIL
- ##@OPT_APPL_REGISTRY
- #include <classlib/cmdline.h>
- ##@OPT_APPL_MAIL
- #include <classlib/filename.h>
-
- ##--END-- @OPT_APPL_REGISTRY || @OPT_APPL_MAIL
- ##QUERY_FILE_H [[FileName]]
- #include "[[FileName]]"
- ##--BEGIN-- @QUERY_APPL_MODEL != VALUE_DIALOG
- ##OPT_DV_RESET
- ##OPT_DV_NEXT
- ##QUERY_DV_TVIEW [[WindowClient]]
- ##<<*WindowClient QUERY_FILE_H [[FileName]]
- #include "[[FileName]]" // Definition of client class.
- ##--END-- @QUERY_APPL_MODEL != VALUE_DIALOG
- ##--BEGIN-- @QUERY_APPL_MODEL == VALUE_DIALOG
- ##QUERY_WIND_CLIENT [[Client]]
- ##<<*Client QUERY_FILE_H [[Filename]]
- #include "[[Filename]]" // Definition of client class.
- ##--END-- @QUERY_APPL_MODEL == VALUE_DIALOG
- ##--BEGIN-- ((@QUERY_APPL_MODEL != VALUE_DIALOG) || ((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU))
- ## :<<TDialog QUERY_FILE_H [[Filename]]
- #include "[[Filename]]" // Definition of about dialog.
- ##--END-- ((@QUERY_APPL_MODEL != VALUE_DIALOG) || ((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU))
-
-
- ##--BEGIN-- @OPT_APPL_HELP
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 3
- //
- // Generated help file.
- //
- ##@QUERY_APPL_HELP [[HelpFile]]
- const char HelpFileName[] = "[[HelpFile]].hlp";
-
- ##--END-- @OPT_APPL_HELP
- //{{[[TApplication]] Implementation}}
-
-
- ##--BEGIN-- @QUERY_APPL_OLE_AUTO
- //
- // OLE's ITypeInfo browses this symbol table for a list of all data,
- // properties, and methods exposed by this automated class.
- //
- ##@QUERY_APPL_OLE != VALUE_NOOLE
- DEFINE_AUTOAGGREGATE([[TApplication]], OcApp->Aggregate)
- ##@QUERY_APPL_OLE == VALUE_NOOLE
- DEFINE_AUTOCLASS([[TApplication]])
- EXPOSE_APPLICATION([[TApplication]], "Application", "Application object", 0)
- EXPOSE_QUIT("Quit", "Quit application", 0)
- //{{[[TApplication]]SYM_TBL_BEGIN}}
- //{{[[TApplication]]SYM_TBL_END}}
- ##@QUERY_APPL_OLE != VALUE_NOOLE
- END_AUTOAGGREGATE([[TApplication]], tfAppObject | tfCanCreate, "[[TApplication]]", 0, 0);
- ##@QUERY_APPL_OLE == VALUE_NOOLE
- END_AUTOCLASS([[TApplication]], tfAppObject | tfCanCreate, "[[TApplication]]", 0, 0);
-
- ##--END-- @QUERY_APPL_OLE_AUTO
- ## ((@QUERY_APPL_OLE != VALUE_NOOLE) || @QUERY_APPL_OLE_AUTO) 2
- DEFINE_APP_DICTIONARY(AppDictionary);
-
- ## ((@QUERY_APPL_OLE == VALUE_NOOLE) && @QUERY_APPL_OLE_AUTO)
- static TPointer<TRegistrar> Registrar;
- ## ((@QUERY_APPL_OLE != VALUE_NOOLE)
- static TPointer<TOcRegistrar> Registrar;
-
- ##--BEGIN-- ((@QUERY_APPL_OLE != VALUE_NOOLE) || @QUERY_APPL_OLE_AUTO)
- REGISTRATION_FORMAT_BUFFER(200)
-
- BEGIN_REGISTRATION(ApplicationReg)
- ##@QUERY_OLE_GUID [[GUID]]
- REGDATA(clsid, "{[[GUID]]}")
- ##--BEGIN-- @QUERY_PRJ_NAME [[AppTitle]]
- ## ((@QUERY_APPL_OLE == VALUE_SERVER) || (@QUERY_APPL_OLE == VALUE_OLEBOTH) || @QUERY_APPL_OLE_AUTO) 2
- REGDATA(appname, "[[AppTitle]] Server")
- REGDATA(description, "[[AppTitle]] Server Application")
- ## ((@QUERY_APPL_OLE == VALUE_CONTAINER) && !@QUERY_APPL_OLE_AUTO) 2
- REGDATA(appname, "[[AppTitle]] Container")
- REGDATA(description, "[[AppTitle]] Container Application")
- ##@QUERY_APPL_OLE_AUTO
- REGDATA(progid, "[[AppTitle]].Application.1")
- ##--END-- @QUERY_PRJ_NAME [[AppTitle]]
- ##@QUERY_APPL_OLE_AUTO
- REGDATA(cmdline, "/Automation")
- ##!@QUERY_APPL_OLE_AUTO
- REGDATA(cmdline, "")
- ##--BEGIN-- ((@QUERY_APPL_OLE == VALUE_SERVER) || (@QUERY_APPL_OLE == VALUE_OLEBOTH))
- REGDATA(usage, ocrSingleUse)
- ##--BEGIN-- @QUERY_APPL_OLE_AUTO
- // REGDATA(debugger, "TDW")
- ##--END-- @QUERY_APPL_OLE_AUTO
- ##--END-- ((@QUERY_APPL_OLE == VALUE_SERVER) || (@QUERY_APPL_OLE == VALUE_OLEBOTH))
- END_REGISTRATION
-
- ##--END-- @QUERY_APPL_OLE != VALUE_NOOLE
- ##--BEGIN-- @QUERY_APPL_MODEL == VALUE_DIALOG
- ##: @QUERY_APPL_DLGCLIENT [[DLogClient]]
- DEFINE_DOC_TEMPLATE_CLASS(TFileDocument, [[DLogClient]], DlgDTPL);
- DlgDTPL __dlogClnt("All Files", "*.*", 0, "TXT", dtAutoDelete | dtUpdateDir);
-
- ##--END-- @QUERY_APPL_MODEL == VALUE_DIALOG
- ##@QUERY_APPL_OLE != VALUE_NOOLE
- ##: {AddOleDV.SNP}
- ##*
- ##@QUERY_APPL_OLE == VALUE_NOOLE
- ##: {AddDocV.SNP}
- ##*
-
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 3
- //
- // Build a response table for all messages/commands handled by the application.
- //
- ##@OPT_APPL_MRU
- DEFINE_RESPONSE_TABLE2([[TApplication]], TRecentFiles, TApplication)
- ##!@OPT_APPL_MRU
- DEFINE_RESPONSE_TABLE1([[TApplication]], TApplication)
- //{{[[TApplication]]RSP_TBL_BEGIN}}
- EV_OWLVIEW(dnCreate, EvNewView),
- EV_OWLVIEW(dnClose, EvCloseView),
- ##--BEGIN-- @OPT_APPL_MAIL
- ##:DBResponse(\\"[[TApplication]]", "CM_FILESEND", "CmFileSend", "", "COMMAND")
- EV_COMMAND(CM_FILESEND, CmFileSend),
- ##:DBResponse(\\"[[TApplication]]", "CM_FILESEND", "CeFileSend", "", "ENABLER")
- EV_COMMAND_ENABLE(CM_FILESEND, CeFileSend),
- ##--END-- @OPT_APPL_MAIL
- ##:DBResponse(\\"[[TApplication]]", "CM_HELPABOUT", "CmHelpAbout", "", "COMMAND")
- EV_COMMAND(CM_HELPABOUT, CmHelpAbout),
- ##@OPT_APPL_HELP 2
- ##:DBResponse(\\"[[TApplication]]", "CM_HELPCONTENTS", "CmHelpContents", "", "COMMAND")
- ##:DBResponse(\\"[[TApplication]]", "CM_HELPUSING", "CmHelpUsing", "", "COMMAND")
- EV_COMMAND(CM_HELPCONTENTS, CmHelpContents),
- EV_COMMAND(CM_HELPUSING, CmHelpUsing),
- ##@OPT_APPL_PRINTING 6
- ##:DBResponse(\\"[[TApplication]]", "CM_FILEPRINT", "CmFilePrint", "", "COMMAND")
- ##:DBResponse(\\"[[TApplication]]", "CM_FILEPRINTERSETUP", "CmFilePrintSetup", "", "COMMAND")
- ##:DBResponse(\\"[[TApplication]]", "CM_FILEPRINTPREVIEW", "CmFilePrintPreview", "", "COMMAND")
- ##:DBResponse(\\"[[TApplication]]", "CM_FILEPRINT", "CmPrintEnable", "", "ENABLER")
- ##:DBResponse(\\"[[TApplication]]", "CM_FILEPRINTERSETUP", "CmPrintEnable", "", "ENABLER")
- ##:DBResponse(\\"[[TApplication]]", "CM_FILEPRINTPREVIEW", "CmPrintEnable", "", "ENABLER")
- EV_COMMAND(CM_FILEPRINT, CmFilePrint),
- EV_COMMAND(CM_FILEPRINTERSETUP, CmFilePrintSetup),
- EV_COMMAND(CM_FILEPRINTPREVIEW, CmFilePrintPreview),
- EV_COMMAND_ENABLE(CM_FILEPRINT, CmPrintEnable),
- EV_COMMAND_ENABLE(CM_FILEPRINTERSETUP, CmPrintEnable),
- EV_COMMAND_ENABLE(CM_FILEPRINTPREVIEW, CmPrintEnable),
- ##@OPT_APPL_DRAGDROP
- ##:DBResponse(\\"[[TApplication]]", "", "", "WM_DROPFILES", "")
- EV_WM_DROPFILES,
- ##@OPT_APPL_PRINTING
- ##:DBResponse(\\"[[TApplication]]", "", "", "WM_WININICHANGE", "")
- EV_WM_WININICHANGE,
- ##--BEGIN-- @OPT_APPL_MRU
- EV_OWLDOCUMENT(dnCreate, EvOwlDocument),
- EV_OWLDOCUMENT(dnRename, EvOwlDocument),
- EV_REGISTERED(MruFileMessage, CmFileSelected),
- ##--END-- @OPT_APPL_MRU
- //{{[[TApplication]]RSP_TBL_END}}
- END_RESPONSE_TABLE;
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //--------------------------------------------------------
- // [[TApplication]]
- // ~~~~~
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- ##--BEGIN-- ((@QUERY_APPL_OLE != VALUE_NOOLE) || (@QUERY_APPL_OLE_AUTO))
- ##QUERY_WIND_TITLE [[Title]]
- ##@QUERY_TARGET_NAME [[Target]]
- ##@OPT_APPL_MRU
- [[TApplication]]::[[TApplication]]() : TApplication(::ApplicationReg["appname"], ::Module, &::AppDictionary), TRecentFiles(".\\[[Target]].ini", 4)
- ##!@OPT_APPL_MRU
- [[TApplication]]::[[TApplication]]() : TApplication(::ApplicationReg["appname"], ::Module, &::AppDictionary)
- ##--END-- ((@QUERY_APPL_OLE != VALUE_NOOLE) || (@QUERY_APPL_OLE_AUTO))
- ##--BEGIN-- ((@QUERY_APPL_OLE == VALUE_NOOLE) && (!@QUERY_APPL_OLE_AUTO))
- ##QUERY_WIND_TITLE [[Title]]
- ##@QUERY_TARGET_NAME [[Target]]
- ##@OPT_APPL_MRU
- [[TApplication]]::[[TApplication]]() : TApplication("[[Title]]"), TRecentFiles(".\\[[Target]].ini", 4)
- ##QUERY_WIND_TITLE [[Title]]
- ##!@OPT_APPL_MRU
- [[TApplication]]::[[TApplication]]() : TApplication("[[Title]]")
- ##--END-- ((@QUERY_APPL_OLE == VALUE_NOOLE) && (!@QUERY_APPL_OLE_AUTO))
- {
- ##@OPT_APPL_HELP 4
- HelpState = false;
- ContextHelp = false;
- HelpCursor = 0;
-
- ##@OPT_APPL_PRINTING 3
- Printer = 0;
- Printing = 0;
-
- SetDocManager(new TDocManager(dmSDI, this));
-
- ##@OPT_APPL_MAIL 2
- ApxMail = new TMailer();
-
- // INSERT>> Your constructor code here.
- }
-
-
- [[TApplication]]::~[[TApplication]]()
- {
- ##@OPT_APPL_PRINTING 2
- delete Printer;
-
- ##@OPT_APPL_MAIL 2
- delete ApxMail;
-
- // INSERT>> Your destructor code here.
- }
-
-
- ##--BEGIN-- @OPT_APPL_HELP
- bool [[TApplication]]::CanClose()
- {
- bool result = TApplication::CanClose();
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Close the help engine if we used it.
- //
- if (result && HelpState)
- GetMainWindow()->WinHelp(HelpFileName, HELP_QUIT, 0);
-
- return result;
- }
-
-
- ##--END-- @OPT_APPL_HELP
- ## (((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG))
- ##--BEGIN-- @OPT_APPL_TOOLBAR
- ##@QUERY_APPL_OLE == VALUE_NOOLE
- void [[TApplication]]::CreateGadgets(TDockableControlBar* cb, bool server)
- ##@QUERY_APPL_OLE != VALUE_NOOLE
- void [[TApplication]]::CreateGadgets(TControlBar* cb, bool server)
- {
- if (!server) {
- cb->Insert(*new TButtonGadget(CM_FILENEW, CM_FILENEW));
- cb->Insert(*new TButtonGadget(CM_FILEOPEN, CM_FILEOPEN));
- cb->Insert(*new TButtonGadget(CM_FILESAVE, CM_FILESAVE));
- cb->Insert(*new TSeparatorGadget(6));
- }
-
- cb->Insert(*new TButtonGadget(CM_EDITCUT, CM_EDITCUT));
- cb->Insert(*new TButtonGadget(CM_EDITCOPY, CM_EDITCOPY));
- cb->Insert(*new TButtonGadget(CM_EDITPASTE, CM_EDITPASTE));
- cb->Insert(*new TSeparatorGadget(6));
- cb->Insert(*new TButtonGadget(CM_EDITUNDO, CM_EDITUNDO));
- cb->Insert(*new TSeparatorGadget(6));
- cb->Insert(*new TButtonGadget(CM_EDITFIND, CM_EDITFIND));
- cb->Insert(*new TButtonGadget(CM_EDITFINDNEXT, CM_EDITFINDNEXT));
- ##--BEGIN-- @OPT_APPL_PRINTING
-
- if (!server) {
- cb->Insert(*new TSeparatorGadget(6));
- cb->Insert(*new TButtonGadget(CM_FILEPRINT, CM_FILEPRINT));
- cb->Insert(*new TButtonGadget(CM_FILEPRINTPREVIEW, CM_FILEPRINTPREVIEW));
- }
- ##--END-- @OPT_APPL_PRINTING
- ##@OPT_APPL_HELP 3
-
- cb->Insert(*new TSeparatorGadget(6));
- cb->Insert(*new TButtonGadget(CM_HELPCONTENTS, CM_HELPCONTENTS));
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Add caption and fly-over help hints.
- //
- cb->SetCaption("Toolbar");
- cb->SetHintMode(TGadgetWindow::EnterHints);
- }
-
-
- ##@QUERY_APPL_OLE == VALUE_NOOLE
- void [[TApplication]]::SetupSpeedBar(TDecoratedFrame* frame)
- ##@QUERY_APPL_OLE != VALUE_NOOLE
- void [[TApplication]]::SetupSpeedBar(TOleFrame* frame)
- {
- ##@QUERY_APPL_OLE == VALUE_NOOLE 2
- ApxHarbor = new THarbor(*frame);
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Create default toolbar New and associate toolbar buttons with commands.
- //
- ##@QUERY_APPL_OLE == VALUE_NOOLE
- TDockableControlBar* cb = new TDockableControlBar(frame);
- ##@QUERY_APPL_OLE != VALUE_NOOLE
- TControlBar* cb = new TControlBar(frame);
- CreateGadgets(cb);
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Setup the toolbar ID used by OLE 2 for toolbar negotiation.
- //
- cb->Attr.Id = IDW_TOOLBAR;
-
- ##@QUERY_APPL_OLE == VALUE_NOOLE
- ApxHarbor->Insert(*cb, alTop);
- ##@QUERY_APPL_OLE != VALUE_NOOLE
- frame->Insert(*cb, TDecoratedFrame::Top);
- }
-
-
- ##--END-- @OPT_APPL_TOOLBAR
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //--------------------------------------------------------
- // [[TApplication]]
- // ~~~~~
- // Application main window construction & intialization.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::InitMainWindow()
- {
- if (nCmdShow != SW_HIDE)
- ##@QUERY_APPL_STARTUP == VALUE_NORMAL
- nCmdShow = (nCmdShow != SW_SHOWMINNOACTIVE) ? SW_SHOWNORMAL : nCmdShow;
- ##@QUERY_APPL_STARTUP == VALUE_MIN
- nCmdShow = (nCmdShow != SW_SHOWMINNOACTIVE) ? SW_SHOWMINIMIZED : nCmdShow;
- ##@QUERY_APPL_STARTUP == VALUE_MAX
- nCmdShow = (nCmdShow != SW_SHOWMINNOACTIVE) ? SW_SHOWMAXIMIZED : nCmdShow;
-
- ##@OPT_APPL_STATUSBAR
- TSDIDecFrame* frame = new TSDIDecFrame(0, GetName(), 0, true, this);
- ##!@OPT_APPL_STATUSBAR
- TSDIDecFrame* frame = new TSDIDecFrame(0, GetName(), 0, false, this);
-
- ##QUERY_WIND_STYLE [[StyleAttributes]]
- ##StyleAttributes != "" 4
- // Override the default window style for the main window.
- //
- [[StyleAttributes]]
-
- ##@OPT_APPL_DRAGDROP 4
- // Enable acceptance of dropped files
- //
- frame->Attr.ExStyle |= WS_EX_ACCEPTFILES;
-
- ##{fwndbkgd.snp}
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Assign icons for this application.
- //
- frame->SetIcon(this, IDI_SDIAPPLICATION);
- frame->SetIconSm(this, IDI_SDIAPPLICATION);
-
- ## (((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG))
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Menu associated with window and accelerator table associated with table.
- //
- ## (((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG)) 2
- frame->AssignMenu(IDM_SDI);
- ## (((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG))
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 3
-
- // Associate with the accelerator table.
- //
- ## (((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG)) 2
- frame->Attr.AccelTable = IDM_SDI;
-
- ## (((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG))
- ##@OPT_APPL_STATUSBAR 6
- TStatusBar* sb = new TStatusBar(frame, TGadget::Recessed,
- TStatusBar::CapsLock |
- TStatusBar::NumLock |
- TStatusBar::ScrollLock);
- frame->Insert(*sb, TDecoratedFrame::Bottom);
-
- ## (((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG))
- ##@OPT_APPL_TOOLBAR 2
- SetupSpeedBar(frame);
-
- SetMainWindow(frame);
-
- ## (((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG)) 2
- frame->SetMenuDescr(TMenuDescr(IDM_SDI));
-
- ##--BEGIN-- @QUERY_APPL_CONTROL == VALUE_3D
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Windows 3-D controls.
- //
- EnableCtl3d(true);
- ##--END-- @QUERY_APPL_CONTROL==VALUE_3D
- ##--BEGIN-- @QUERY_APPL_CONTROL==VALUE_BWCC
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Borland Windows custom controls.
- //
- EnableBWCC();
- ##--END-- @QUERY_APPL_CONTROL==VALUE_BWCC
- }
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //--------------------------------------------------------
- // [[TApplication]]
- // ~~~~~
- // Application instance initialization.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::InitInstance()
- {
- TApplication::InitInstance();
- GetDocManager()->CreateAnyDoc(0, dtNewDoc);
- ##@OPT_APPL_REGISTRY
- ProcessCmdLine(lpCmdLine);
- }
-
-
- ##{registry.snp}
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //--------------------------------------------------------
- // [[TApplication]]
- // ~~~~~
- // Response Table handlers:
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::EvNewView(TView& view)
- {
- GetMainWindow()->SetClientWindow(view.GetWindow());
- if (!view.IsOK())
- GetMainWindow()->SetClientWindow(0);
- else if (view.GetViewMenu())
- GetMainWindow()->MergeMenu(*view.GetViewMenu());
- ##--BEGIN-- ((@QUERY_APPL_OLE == VALUE_SERVER) || (@QUERY_APPL_OLE == VALUE_OLEBOTH))
-
- TOleView* ov = TYPESAFE_DOWNCAST(&view, TOleView);
- if (!ov || !ov->GetOcRemView())
- OcApp->SetOption(amEmbedding, false);
- ##--END-- ((@QUERY_APPL_OLE == VALUE_SERVER) || (@QUERY_APPL_OLE == VALUE_OLEBOTH))
- }
-
-
- void [[TApplication]]::EvCloseView(TView&)
- {
- GetMainWindow()->SetClientWindow(0);
- ##QUERY_WIND_TITLE [[Title]]
- GetMainWindow()->SetCaption("[[Title]]");
- }
-
-
- //{{TSDIDecFrame Implementation}}
-
-
- ##@QUERY_APPL_OLE != VALUE_NOOLE 3
- TSDIDecFrame::TSDIDecFrame(TWindow* , const char far* title, TWindow* clientWnd, bool trackMenuSelection, TModule* module)
- :
- TOleFrame(title, clientWnd, trackMenuSelection, module)
- ##@QUERY_APPL_OLE == VALUE_NOOLE 3
- TSDIDecFrame::TSDIDecFrame(TWindow* parent, const char far* title, TWindow* clientWnd, bool trackMenuSelection, TModule* module)
- :
- TDecoratedFrame(parent, title, clientWnd, trackMenuSelection, module)
- {
- // INSERT>> Your constructor code here.
-
- }
-
-
- TSDIDecFrame::~TSDIDecFrame()
- {
- // INSERT>> Your destructor code here.
-
- }
- ##--BEGIN-- @OPT_APPL_PRINTING
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //--------------------------------------------------------
- // [[TApplication]]
- // ~~~~~~~~~~
- // Menu File Print command
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::CmFilePrint()
- {
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Create Printer object if not already created.
- //
- if (!Printer)
- Printer = new TPrinter(this);
-
- TDocument* currentDoc = GetDocManager()->GetCurrentDoc();
-
- TAPointer<char> docName = new char[_MAX_PATH];
-
- if (currentDoc->GetTitle())
- strcpy(docName, currentDoc->GetTitle());
- else
- strcpy(docName, "Document");
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Create Printout window and set characteristics.
- //
- TApxPrintout printout(Printer, docName, GetMainWindow()->GetClientWindow());
- printout.SetBanding(true);
-
- Printing++;
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Bring up the Print dialog and print the document.
- //
- Printer->Print(GetWindowPtr(GetActiveWindow()), printout, true);
-
- Printing--;
- }
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //--------------------------------------------------------
- // [[TApplication]]
- // ~~~~~~~~~~
- // Menu File Print Setup command
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::CmFilePrintSetup()
- {
- if (!Printer)
- Printer = new TPrinter(this);
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Bring up the Print Setup dialog.
- //
- Printer->Setup(GetMainWindow());
- }
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //--------------------------------------------------------
- // [[TApplication]]
- // ~~~~~~~~~~
- // Menu File Print Preview command
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::CmFilePrintPreview()
- {
- TSDIDecFrame* sdiFrame = TYPESAFE_DOWNCAST(GetMainWindow(), TSDIDecFrame);
- if (sdiFrame) {
- if (!Printer)
- Printer = new TPrinter(this);
-
- Printing++;
-
- TApxPreviewWin* prevW = new TApxPreviewWin(sdiFrame, Printer, sdiFrame->GetClientWindow(), "Print Preview", new TLayoutWindow(0));
- prevW->Create();
-
- ##:@QUERY_APPL_COMMENT == VALUE_VERBOSE 3
- // Here we resize the preview window to take the size of the MainWindow, then
- // hide the MainWindow.
- //
- TFrameWindow * mainWindow = GetMainWindow();
- TRect r = mainWindow->GetWindowRect();
- prevW->MoveWindow(r);
- prevW->ShowWindow(SW_SHOWNORMAL);
- mainWindow->ShowWindow(SW_HIDE);
-
- BeginModal(GetMainWindow());
-
- ##:@QUERY_APPL_COMMENT == VALUE_VERBOSE 3
- // After the user closes the preview Window, we take its size and use it
- // to size the MainWindow, then show the MainWindow again.
- //
- r = prevW->GetWindowRect();
- mainWindow->MoveWindow(r);
- mainWindow->ShowWindow(SW_SHOWNORMAL);
-
- Printing--;
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Now that printing is off we can invalidate because the edit window to repaint.
- //
- GetMainWindow()->SetRedraw(true);
- GetMainWindow()->Invalidate();
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 3
- // We must destroy the preview window explicitly. Otherwise, the window will
- // not be destroyed until it's parent the MainWindow is destroyed.
- //
- prevW->Destroy();
- delete prevW;
- }
- }
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //--------------------------------------------------------
- // [[TApplication]]
- // ~~~~~~~~~~
- // Menu enabler used by Print, Print Setup and Print Preview.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::CmPrintEnable(TCommandEnabler& tce)
- {
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 4
- // If we have a Printer already created just test if all is okay.
- // Otherwise create a Printer object and make sure the printer really exists
- // and then delete the Printer object.
- //
- if (!Printer) {
- Printer = new TPrinter(this);
- tce.Enable(!Printer->GetSetup().Error);
- }
- else
- tce.Enable(!Printer->GetSetup().Error);
- }
- ##--END-- @OPT_APPL_PRINTING
- ##--END-- (@QUERY_APPL_MODEL == VALUE_SDI)
- ##--BEGIN-- @OPT_APPL_MAIL
-
-
- void [[TApplication]]::CeFileSend(TCommandEnabler& ce)
- {
- ce.Enable((GetDocManager()->GetCurrentDoc() != 0)
- && ApxMail->IsMAPIAvailable());
- }
-
-
- void [[TApplication]]::CmFileSend ()
- {
- // Check to see if a document exists
- //
- TDocument* currentDoc = GetDocManager()->GetCurrentDoc();
-
- if (currentDoc) {
- TAPointer<char> savedPath = new char[_MAX_PATH];
- TAPointer<char> docName = new char[_MAX_PATH];
-
- bool dirtyState = currentDoc->IsDirty();
-
- if (currentDoc->GetDocPath())
- strcpy(savedPath, currentDoc->GetDocPath());
- else
- strcpy(savedPath, "");
-
- if (currentDoc->GetTitle())
- strcpy(docName, currentDoc->GetTitle());
- else
- strcpy(docName, "Document");
-
- TFileName tempFile(TFileName::TempFile);
-
- currentDoc->SetDocPath(tempFile.Canonical().c_str());
- currentDoc->Commit(true);
-
- currentDoc->SetDocPath(savedPath);
- currentDoc->SetDirty(dirtyState);
-
- ApxMail->SendDocuments(GetMainWindow(), tempFile.Canonical().c_str(), docName, false);
-
- tempFile.Remove();
- }
- }
- ##--END-- @OPT_APPL_MAIL
- ##--BEGIN-- @OPT_APPL_HELP
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //--------------------------------------------------------
- // [[TApplication]]
- // ~~~~~
- // Menu Help Contents command
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::CmHelpContents()
- {
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Show the help table of contents.
- //
- HelpState = GetMainWindow()->WinHelp(HelpFileName, HELP_CONTENTS, 0);
- }
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //--------------------------------------------------------
- // [[TApplication]]
- // ~~~~~
- // Menu Help Using Help command
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::CmHelpUsing()
- {
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Display the contents of the Windows help file.
- //
- HelpState = GetMainWindow()->WinHelp(HelpFileName, HELP_HELPONHELP, 0);
- }
- ##--END-- @OPT_APPL_HELP
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //--------------------------------------------------------
- // [[TApplication]]
- // ~~~~~~~~~~~
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- ##@QUERY_TARGET_NAME [[Target]]
- // Menu Help About [[Target]] command
- void [[TApplication]]::CmHelpAbout()
- {
- ##"" [[TDialog]]
- ##--BEGIN-- ((@QUERY_APPL_MODEL != VALUE_DIALOG) || ((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU))
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Show the modal dialog.
- //
- ## :<<TDialog QUERY_CLASS_NAME TDialog
- ## ((@QUERY_APPL_OLE == VALUE_SERVER) || (@QUERY_APPL_OLE == VALUE_OLEBOTH))
- [[TDialog]](&TWindow(::GetFocus(), this)).Execute();
- ## ((@QUERY_APPL_OLE != VALUE_SERVER) && (@QUERY_APPL_OLE != VALUE_OLEBOTH))
- [[TDialog]](GetMainWindow()).Execute();
- ##--END-- ((@QUERY_APPL_MODEL != VALUE_DIALOG) || ((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU))
- }
- ##--BEGIN-- @OPT_APPL_DRAGDROP
-
-
- void [[TApplication]]::EvDropFiles(TDropInfo drop)
- {
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Tell DragQueryFile the file interested in (0) and the length of your buffer.
- //
- int nameLength = drop.DragQueryFileNameLen(0) + 1;
- char* fileName = new char[nameLength];
-
- drop.DragQueryFile(0, fileName, nameLength);
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Open the file that was dropped.
- //
- AddFile(fileName);
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 3
-
- // Release the memory allocated for this handle with DragFinish.
- //
- drop.DragFinish();
- delete[] fileName;
- }
-
-
- void [[TApplication]]::AddFile(const char* FileName)
- {
- TDocTemplate* tpl = GetDocManager()->MatchTemplate(FileName);
- if (tpl)
- GetDocManager()->CreateDoc(tpl, FileName);
- }
- ##--END-- @OPT_APPL_DRAGDROP
- ##--BEGIN-- @OPT_APPL_MRU
-
-
- void [[TApplication]]::EvOwlDocument(TDocument& doc)
- {
- if (doc.GetDocPath())
- SaveMenuChoice(doc.GetDocPath());
- }
-
-
- int32 [[TApplication]]::CmFileSelected(uint wp, int32)
- {
- TAPointer<char> text = new char[_MAX_PATH];
-
- GetMenuText(wp, text, _MAX_PATH);
- TDocTemplate* tpl = GetDocManager()->MatchTemplate(text);
- if (tpl)
- GetDocManager()->CreateDoc(tpl, text);
- return 0;
- }
- ##--END-- @OPT_APPL_MRU
-
- ##{main.owl}
-