home *** CD-ROM | disk | FTP | other *** search
- ##{cheader.snp}
- #include <owl\owlpch.h>
- #pragma hdrstop
-
- ##@OPT_APPL_DRAGDROP 2
- #include <dir.h>
-
- ##--BEGIN-- !@OPT_APPL_DRAGDROP
- ##: QUERY_WIND_CLIENT [[Client]]
- ##: <<*Client QUERY_BASE_NAME [[BaseClient]]
- ##: BaseClient == "TListBox"
- #include <dir.h>
-
- ##--END-- !@OPT_APPL_DRAGDROP
- ##QUERY_FILE_H [[FileName]]
- #include "[[FileName]]"
- ##QUERY_WIND_CLIENT [[Client]]
- ##<<*Client QUERY_FILE_H [[Filename]]
- #include "[[Filename]]" // Definition of client class.
- ##--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
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Generated help file.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- ##@QUERY_APPL_HELP [[HelpFile]]
- const char HelpFileName[] = "[[HelpFile]].hlp";
-
-
- ##--END-- @OPT_APPL_HELP
- ##{cdragdrp.owl}
- //{{[[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.
- //
- DEFINE_AUTOCLASS([[TApplication]])
- EXPOSE_APPLICATION([[TApplication]], "Application", "Application object", 0)
- EXPOSE_QUIT("Quit", "Quit application", 0)
- //{{[[TApplication]]SYM_TBL_BEGIN}}
- //{{[[TApplication]]SYM_TBL_END}}
- END_AUTOCLASS([[TApplication]], tfAppObject | tfCanCreate, "[[TApplication]]", 0, 0);
-
-
- DEFINE_APP_DICTIONARY(AppDictionary);
- static TPointer<TRegistrar> Registrar;
-
- REGISTRATION_FORMAT_BUFFER(100)
-
- BEGIN_REGISTRATION(ApplicationReg)
- ##@QUERY_OLE_GUID [[GUID]]
- REGDATA(clsid, "{[[GUID]]}")
- ##--BEGIN-- @QUERY_PRJ_NAME [[AppTitle]]
- REGDATA(progid, "[[AppTitle]].Application.1")
- REGDATA(appname, "[[AppTitle]] Server")
- REGDATA(description, "[[AppTitle]] Server Application")
- REGDATA(cmdline, "/Automation")
- // REGDATA(debugger, "TDW")
- ##--END-- @QUERY_PRJ_NAME [[AppTitle]]
- END_REGISTRATION
-
-
- ##--END-- @QUERY_APPL_OLE_AUTO
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Build a response table for all messages/commands handled
- // by the application.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- DEFINE_RESPONSE_TABLE1([[TApplication]], TApplication)
- //{{[[TApplication]]RSP_TBL_BEGIN}}
- ##--BEGIN-- @QUERY_APPL_MODEL != VALUE_DIALOG
- ##:DBResponse(\\"[[TApplication]]", "CM_FILENEW", "CmFileNew", "", "COMMAND")
- ##:DBResponse(\\"[[TApplication]]", "CM_FILEOPEN", "CmFileOpen", "", "COMMAND")
- EV_COMMAND(CM_FILENEW, CmFileNew),
- EV_COMMAND(CM_FILEOPEN, CmFileOpen),
- ##@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),
- ##--END-- @QUERY_APPL_MODEL != VALUE_DIALOG
- ##@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),
- ##:DBResponse(\\"[[TApplication]]", "CM_HELPABOUT", "CmHelpAbout", "", "COMMAND")
- EV_COMMAND(CM_HELPABOUT, CmHelpAbout),
- ##@OPT_APPL_DRAGDROP
- ##:DBResponse(\\"[[TApplication]]", "", "", "WM_DROPFILES", "")
- EV_WM_DROPFILES,
- ##@OPT_APPL_PRINTING
- ##:DBResponse(\\"[[TApplication]]", "", "", "WM_WININICHANGE", "")
- EV_WM_WININICHANGE,
- //{{[[TApplication]]RSP_TBL_END}}
- END_RESPONSE_TABLE;
-
-
- ##--END-- (@QUERY_APPL_MODEL == VALUE_SDI) && !@OPT_APPL_DOCVIEW
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //////////////////////////////////////////////////////////
- // [[TApplication]]
- // =====
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- ##@QUERY_APPL_OLE_AUTO
- [[TApplication]]::[[TApplication]] () : TApplication(::ApplicationReg["appname"], ::Module, &::AppDictionary)
- ##!@QUERY_APPL_OLE_AUTO
- ##QUERY_WIND_TITLE [[Title]]
- [[TApplication]]::[[TApplication]] () : TApplication("[[Title]]")
- {
- ##@OPT_APPL_HELP 3
- HelpState = false;
- ContextHelp = false;
- HelpCursor = 0;
-
- ##@OPT_APPL_PRINTING 3
- Printer = 0;
- Printing = 0;
-
- ##--BEGIN-- @QUERY_APPL_MODEL != VALUE_DIALOG
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // Common file file flags and filters for Open/Save As dialogs. Filename and directory are
- // computed in the member functions CmFileOpen, and CmFileSaveAs.
- FileData.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
- ##OPT_DV_RESET
- ##OPT_DV_NEXT
- ##QUERY_DV_DESCR [[Descr]]
- ##--BEGIN-- QUERY_DV_FILTER [[Filter]]
- ##(Filter != "*.*") && (Descr != "All Files (*.*)"
- FileData.SetFilter("[[Descr]]|[[Filter]]|All Files (*.*)|*.*|");
- ##(Filter == "*.*") && (Descr == "All Files (*.*)"
- FileData.SetFilter("All Files (*.*)|*.*|");
-
- ##--END-- QUERY_DV_FILTER [[Filter]]
- ##--END-- @QUERY_APPL_MODEL != VALUE_DIALOG
- // INSERT>> Your constructor code here.
- }
-
-
- [[TApplication]]::~[[TApplication]] ()
- {
- ##@OPT_APPL_PRINTING 3
- if (Printer)
- delete Printer;
-
- // INSERT>> Your destructor code here.
- }
-
-
- ##--BEGIN-- @OPT_APPL_HELP
- bool [[TApplication]]::CanClose ()
- {
- bool result = TApplication::CanClose();
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Close the help engine if we used it.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- if (result && HelpState)
- GetMainWindow()->WinHelp(HelpFileName, HELP_QUIT, 0L);
-
- return result;
- }
-
-
- ##--END-- @OPT_APPL_HELP
- ##(((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG))
- ##--BEGIN-- @OPT_APPL_TOOLBAR
- void [[TApplication]]::SetupSpeedBar (TDecoratedFrame *frame)
- {
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Create default toolbar New and associate toolbar buttons with commands.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- TControlBar* cb = new TControlBar(frame);
- ##@QUERY_APPL_MODEL == VALUE_SDI 2
- 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));
- ##@OPT_APPL_PRINTING 3
- cb->Insert(*new TSeparatorGadget(6));
- cb->Insert(*new TButtonGadget(CM_FILEPRINT, CM_FILEPRINT));
- cb->Insert(*new TButtonGadget(CM_FILEPRINTPREVIEW, CM_FILEPRINTPREVIEW));
- ##@OPT_APPL_HELP 2
- cb->Insert(*new TSeparatorGadget(6));
- cb->Insert(*new TButtonGadget(CM_HELPCONTENTS, CM_HELPCONTENTS));
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE
- // Add fly-over help hints.
- cb->SetHintMode(TGadgetWindow::EnterHints);
-
- frame->Insert(*cb, TDecoratedFrame::Top);
- }
-
-
- ##--END-- @OPT_APPL_TOOLBAR
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //////////////////////////////////////////////////////////
- // [[TApplication]]
- // =====
- // Application 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
- SDIDecFrame *frame = new SDIDecFrame(0, GetName(), 0, true);
- ##!@OPT_APPL_STATUSBAR
- SDIDecFrame *frame = new SDIDecFrame(0, GetName(), 0, false);
- ##@QUERY_APPL_MODEL == VALUE_DIALOG
- frame->SetFlag(wfShrinkToClient);
-
- ##QUERY_WIND_STYLE [[StyleAttributes]]
- ##StyleAttributes != "" 3
- // Override the default window style for the main window.
- [[StyleAttributes]]
-
- ##QUERY_WIND_BACKGRND [[BackgroundColor]]
- ##BackgroundColor != "" 3
- // Change the window's background color
- frame->SetBkgndColor([[BackgroundColor]]);
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Assign ICON w/ this application.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- frame->SetIcon(this, IDI_SDIAPPLICATION);
-
- ##(((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG))
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Menu associated with window and accelerator table associated with table.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- ##(((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG)) 2
- frame->AssignMenu(SDI_MENU);
-
- ##(((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG))
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Associate with the accelerator table.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- ##(((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG)) 2
- frame->Attr.AccelTable = SDI_MENU;
-
- ##(((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG))
- ##@OPT_APPL_TOOLBAR
- SetupSpeedBar(frame);
- ##@OPT_APPL_STATUSBAR 7
-
- TStatusBar *sb = new TStatusBar(frame, TGadget::Recessed,
- TStatusBar::CapsLock |
- TStatusBar::NumLock |
- TStatusBar::ScrollLock |
- TStatusBar::Overtype);
- frame->Insert(*sb, TDecoratedFrame::Bottom);
-
- SetMainWindow(frame);
-
- ##(((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU) || (@QUERY_APPL_MODEL != VALUE_DIALOG))
- frame->SetMenuDescr(TMenuDescr(SDI_MENU));
- ##--BEGIN-- @QUERY_APPL_CONTROL==VALUE_3D
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Windows 3-D controls.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- EnableCtl3d(true);
- ##--END-- @QUERY_APPL_CONTROL==VALUE_3D
- ##--BEGIN-- @QUERY_APPL_CONTROL==VALUE_BWCC
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Borland Windows custom controls.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- EnableBWCC();
- ##--END-- @QUERY_APPL_CONTROL==VALUE_BWCC
- }
-
-
- ##--BEGIN-- @QUERY_APPL_MODEL != VALUE_DIALOG
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //////////////////////////////////////////////////////////
- // [[TApplication]]
- // ===========
- // Menu File New command
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::CmFileNew ()
- {
- ##QUERY_WIND_CLIENT [[ClientClass]]
- ##--BEGIN-- <<*ClientClass QUERY_BASE_NAME [[BaseClient]]
- ##BaseClient == "TEditFile" 2
- [[ClientClass]] *client = TYPESAFE_DOWNCAST(GetMainWindow()->GetClientWindow(), [[ClientClass]]); // Client window for the frame.
- client->NewFile();
- ##BaseClient == "TListBox" 3
- [[ClientClass]] *client = TYPESAFE_DOWNCAST(GetMainWindow()->GetClientWindow(), [[ClientClass]]); // Client window for the frame.
- if (client->CanClose())
- client->ClearList();
- ##--END-- <<*ClientClass QUERY_BASE_NAME [[BaseClient]]
- }
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //////////////////////////////////////////////////////////
- // [[TApplication]]
- // ===========
- // Menu File Open command
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::CmFileOpen ()
- {
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Display standard Open dialog box to select a file name.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- *FileData.FileName = 0;
-
- ##QUERY_WIND_CLIENT [[ClientClass]]
- [[ClientClass]] *client = TYPESAFE_DOWNCAST(GetMainWindow()->GetClientWindow(), [[ClientClass]]); // Client window for the frame.
- if (client->CanClose())
- if (TFileOpenDialog(GetMainWindow(), FileData).Execute() == IDOK)
- OpenFile();
- }
-
-
- void [[TApplication]]::OpenFile (const char *fileName)
- {
- if (fileName)
- strcpy(FileData.FileName, fileName);
-
- ##QUERY_WIND_CLIENT [[ClientName]]
- ##--BEGIN-- <<*ClientName QUERY_BASE_NAME [[BaseClient]]
- ##BaseClient == "TEditFile" 2
- [[ClientName]] *client = TYPESAFE_DOWNCAST(GetMainWindow()->GetClientWindow(), [[ClientName]]); // Client window for the frame.
- client->ReplaceWith(FileData.FileName);
- ##BaseClient == "TListBox" 3
- [[ClientName]] *client = TYPESAFE_DOWNCAST(GetMainWindow()->GetClientWindow(), [[ClientName]]); // Client window for the frame.
- client->ClearList();
- LoadTextFile();
- ##--END-- <<*ClientName QUERY_BASE_NAME [[BaseClient]]
- }
-
-
- ##QUERY_WIND_CLIENT [[ClientName]]
- ##--BEGIN-- <<*ClientName QUERY_BASE_NAME [[BaseClient]]
- ##--BEGIN-- BaseClient == "TListBox"
- ##: @QUERY_APPL_COMMENT == VALUE_VERBOSE
- // Used by ListBox client to read a text file into the list box.
- void [[TApplication]]::LoadTextFile ()
- {
- char buf[255+1];
- ifstream *inStream;
-
- TListBox *client = TYPESAFE_DOWNCAST(GetMainWindow()->GetClientWindow(), TListBox);
-
- ##: @QUERY_APPL_COMMENT == VALUE_VERBOSE
- // Only work if the client class is a TListBox.
- if (client) {
- client->ClearList();
- inStream = new ifstream(FileData.FileName);
- while (inStream->good()) {
- inStream->getline(buf, sizeof(buf) - 1);
- if (inStream->good())
- client->AddString(buf);
- }
-
- ##: @QUERY_APPL_COMMENT == VALUE_VERBOSE
- // Return an error message if we had a stream error and it wasn't the eof.
- if (inStream->bad() && !inStream->eof()) {
- string msgTemplate(*this, IDS_UNABLEREAD);
- char* msg = new char[MAXPATH + msgTemplate.length()];
- wsprintf(msg, msgTemplate.c_str(), *FileData.FileName);
- GetMainWindow()->MessageBox(msg, GetName(), MB_ICONEXCLAMATION | MB_OK);
- delete msg;
- }
-
- delete inStream;
- }
- }
-
-
- ##--END-- BaseClient == "TListBox"
- ##--END-- <<*ClientName QUERY_BASE_NAME [[BaseClient]]
- ##--END-- @QUERY_APPL_MODEL != VALUE_DIALOG
- //{{SDIDecFrame Implementation}}
-
-
- SDIDecFrame::SDIDecFrame (TWindow *parent, const char far *title, TWindow *clientWnd, bool trackMenuSelection, TModule *module)
- ##QUERY_WIND_CLIENT [[ClientClass]]
- ##--BEGIN-- <<*ClientClass QUERY_BASE_NAME [[BaseClient]]
- ##BaseClient == "TEditFile"
- : TDecoratedFrame(parent, title, clientWnd == 0 ? new [[ClientClass]](0, 0, 0) : clientWnd, trackMenuSelection, module)
- ##BaseClient == "TListBox"
- : TDecoratedFrame(parent, title, clientWnd == 0 ? new [[ClientClass]](0, 0, 0, 0, 100, 100) : clientWnd, trackMenuSelection, module)
- ##BaseClient == "TWindow"
- : TDecoratedFrame(parent, title, clientWnd == 0 ? new [[ClientClass]](0, "") : clientWnd, trackMenuSelection, module)
- ##BaseClient == "TDialog"
- : TDecoratedFrame(parent, title, clientWnd == 0 ? new [[ClientClass]](0) : clientWnd, trackMenuSelection, module)
- ##--END-- <<*ClientClass QUERY_BASE_NAME [[BaseClient]]
- {
- // INSERT>> Your constructor code here.
-
- }
-
-
- SDIDecFrame::~SDIDecFrame ()
- {
- // INSERT>> Your destructor code here.
-
- }
- ##--BEGIN-- ((@QUERY_APPL_MODEL == VALUE_DIALOG) && (@OPT_APPL_TOOLBAR || @OPT_APPL_STATUSBAR))
-
-
- void SDIDecFrame::SetupWindow ()
- {
- TDecoratedFrame::SetupWindow();
-
- TRect r;
- GetWindowRect(r);
-
- ##@OPT_APPL_TOOLBAR && @OPT_APPL_STATUSBAR && @QUERY_APPL_DLGCLIENT_MENU
- r.bottom += 60;
- ##((!@QUERY_APPL_DLGCLIENT_MENU && @OPT_APPL_STATUSBAR) || (@QUERY_APPL_DLGCLIENT_MENU && @OPT_APPL_TOOLBAR && !OPT_APPL_STATUSBAR))
- r.bottom += 30;
- SetWindowPos(0, r, SWP_NOZORDER | SWP_NOMOVE);
-
- // INSERT>> Your code here.
-
- }
- ##--END-- ((@QUERY_APPL_MODEL == VALUE_DIALOG) && (@OPT_APPL_TOOLBAR || @OPT_APPL_STATUSBAR))
- ##--BEGIN-- @OPT_APPL_PRINTING
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //////////////////////////////////////////////////////////
- // [[TApplication]]
- // ==========
- // Menu File Print command
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::CmFilePrint ()
- {
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Create Printer object if not already created.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- if (!Printer)
- Printer = new TPrinter(this);
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Create Printout window and set characteristics.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- APXPrintOut printout(Printer, "Title", GetMainWindow()->GetClientWindow());
- printout.SetBanding(true);
-
- Printing++;
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Bring up the Print dialog and print the document.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- 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);
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Bring up the Print Setup dialog.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- Printer->Setup(GetMainWindow());
- }
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //////////////////////////////////////////////////////////
- // [[TApplication]]
- // ==========
- // Menu File Print Preview command
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::CmFilePrintPreview ()
- {
- SDIDecFrame *sdiFrame = TYPESAFE_DOWNCAST(GetMainWindow(), SDIDecFrame);
- if (sdiFrame) {
- if (!Printer)
- Printer = new TPrinter(this);
-
- Printing++;
-
- PreviewWindow *prevW = new PreviewWindow(sdiFrame, Printer, sdiFrame->GetClientWindow(), "Print Preview", new TLayoutWindow(0));
- prevW->Create();
-
- BeginModal(GetMainWindow());
-
- Printing--;
-
- ##:@QUERY_APPL_COMMENT == VALUE_VERBOSE
- // Now that printing is off we can invalidate because the edit window to repaint.
- GetMainWindow()->SetRedraw(true);
- GetMainWindow()->Invalidate();
-
- ##:@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
- // 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)
- {
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- // 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.
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- if (!Printer) {
- Printer = new TPrinter(this);
-
- tce.Enable(Printer->GetSetup().Error == 0);
- } else
- tce.Enable(Printer->GetSetup().Error == 0);
- }
- ##--END-- @OPT_APPL_PRINTING
- ##--BEGIN-- @OPT_APPL_HELP
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //////////////////////////////////////////////////////////
- // [[TApplication]]
- // =====
- // Menu Help Contents command
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::CmHelpContents ()
- {
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Show the help table of contents.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- HelpState = GetMainWindow()->WinHelp(HelpFileName, HELP_CONTENTS, 0L);
- }
-
-
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //////////////////////////////////////////////////////////
- // [[TApplication]]
- // =====
- // Menu Help Using Help command
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- void [[TApplication]]::CmHelpUsing ()
- {
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Display the contents of the Windows help file.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- HelpState = GetMainWindow()->WinHelp(HelpFileName, HELP_HELPONHELP, 0L);
- }
- ##--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))
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- //
- // Show the modal dialog.
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- ## :<<TDialog QUERY_CLASS_NAME TDialog
- [[TDialog]](MainWindow).Execute();
- ##--END-- ((@QUERY_APPL_MODEL != VALUE_DIALOG) || ((@QUERY_APPL_MODEL == VALUE_DIALOG) && @QUERY_APPL_DLGCLIENT_MENU))
- }
- ##--BEGIN-- @OPT_APPL_DRAGDROP
-
-
- void [[TApplication]]::InitInstance ()
- {
- TApplication::InitInstance();
-
- ##:@QUERY_APPL_COMMENT == VALUE_VERBOSE
- // Accept files via drag/drop in the frame window.
- GetMainWindow()->DragAcceptFiles(true);
- }
-
-
- void [[TApplication]]::EvDropFiles (TDropInfo drop)
- {
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE
- // Tell DragQueryFile the file interested in (0) and the length of your buffer.
- int fileLength = drop.DragQueryFileNameLen(0) + 1;
- char *fileName = new char[fileLength];
-
- drop.DragQueryFile(0, fileName, fileLength);
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE
- // Open the file that was dropped.
- AddFile(fileName);
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE
- // Release the memory allocated for this handle with DragFinish.
- drop.DragFinish();
- }
-
-
- void [[TApplication]]::AddFile (const char *FileName)
- {
- strcpy(FileData.FileName, FileName);
-
- ##@QUERY_APPL_COMMENT == VALUE_VERBOSE
- // Open the file dragged in.
- ##QUERY_WIND_CLIENT [[ClientClass]]
- ##--BEGIN-- <<*ClientClass QUERY_BASE_NAME [[BaseClient]]
- ##BaseClient == "TEditFile" 2
- [[ClientClass]] *client = TYPESAFE_DOWNCAST(GetMainWindow()->GetClientWindow(), [[ClientClass]]);
- client->ReplaceWith(FileData.FileName);
- ##BaseClient == "TListBox" 3
- [[ClientClass]] *client = TYPESAFE_DOWNCAST(GetMainWindow()->GetClientWindow(), [[ClientClass]]);
- client->ClearList();
- LoadTextFile();
- ##--END-- <<*ClientClass QUERY_BASE_NAME [[BaseClient]]
- }
- ##--END-- @OPT_APPL_DRAGDROP
- ##{main.owl}
-