summaryrefslogtreecommitdiffabout
path: root/bigbrother.cpp
Side-by-side diff
Diffstat (limited to 'bigbrother.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--bigbrother.cpp181
1 files changed, 181 insertions, 0 deletions
diff --git a/bigbrother.cpp b/bigbrother.cpp
new file mode 100644
index 0000000..0036987
--- a/dev/null
+++ b/bigbrother.cpp
@@ -0,0 +1,181 @@
+// BigBrother.cpp : Defines the class behaviors for the application.
+//
+
+#include "stdafx.h"
+#include "BigBrother.h"
+
+#include "MainFrm.h"
+#include "BigBrotherDoc.h"
+#include "BigBrotherView.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+// CBigBrotherApp
+
+BEGIN_MESSAGE_MAP(CBigBrotherApp, CWinApp)
+ //{{AFX_MSG_MAP(CBigBrotherApp)
+ ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
+ ON_UPDATE_COMMAND_UI(ID_FILE_AUTOLOAD, OnUpdateFileAutoload)
+ ON_COMMAND(ID_FILE_AUTOLOAD, OnFileAutoload)
+ ON_COMMAND(ID_HELP_LEGEND, OnHelpLegend)
+ //}}AFX_MSG_MAP
+ // Standard file based document commands
+ ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
+ ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
+ // Standard print setup command
+ ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
+END_MESSAGE_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// CBigBrotherApp construction
+
+CBigBrotherApp::CBigBrotherApp()
+{
+ m_bLoadMRUOnStartup=TRUE;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// The one and only CBigBrotherApp object
+
+CBigBrotherApp theApp;
+
+/////////////////////////////////////////////////////////////////////////////
+// CBigBrotherApp initialization
+
+BOOL CBigBrotherApp::InitInstance()
+{
+ if (!AfxSocketInit())
+ {
+ AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
+ return FALSE;
+ }
+
+ // Standard initialization
+ // If you are not using these features and wish to reduce the size
+ // of your final executable, you should remove from the following
+ // the specific initialization routines you do not need.
+
+#ifdef _AFXDLL
+ Enable3dControls(); // Call this when using MFC in a shared DLL
+#else
+ Enable3dControlsStatic(); // Call this when linking to MFC statically
+#endif
+
+ SetRegistryKey(IDS_REGISTRYKEY);
+ m_pszHelpFilePath="bigbro.hlp>Default";
+
+ LoadStdProfileSettings(); // Load standard INI file options (including MRU)
+ m_bLoadMRUOnStartup=GetProfileInt("Settings","LoadMRUOnStartup",m_bLoadMRUOnStartup);
+
+ // Register the application's document templates. Document templates
+ // serve as the connection between documents, frame windows and views.
+
+ CSingleDocTemplate* pDocTemplate;
+ pDocTemplate = new CSingleDocTemplate(
+ IDR_MAINFRAME,
+ RUNTIME_CLASS(CBigBrotherDoc),
+ RUNTIME_CLASS(CMainFrame), // main SDI frame window
+ RUNTIME_CLASS(CBigBrotherView));
+ AddDocTemplate(pDocTemplate);
+
+ // Enable DDE Execute open
+ EnableShellOpen();
+ RegisterShellFileTypes(TRUE);
+
+ // Parse command line for standard shell commands, DDE, file open
+ CCommandLineInfo cmdInfo;
+ ParseCommandLine(cmdInfo);
+
+ // Dispatch commands specified on the command line
+ if (!ProcessShellCommand(cmdInfo))
+ return FALSE;
+ if(m_bLoadMRUOnStartup && (cmdInfo.m_nShellCommand==CCommandLineInfo::FileNew))
+ m_pMainWnd->SendMessage(WM_COMMAND,ID_FILE_MRU_FILE1,0);
+
+ // Enable drag/drop open
+ m_pMainWnd->DragAcceptFiles();
+
+ return TRUE;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// CAboutDlg dialog used for App About
+
+class CAboutDlg : public CDialog
+{
+public:
+ CAboutDlg();
+
+// Dialog Data
+ //{{AFX_DATA(CAboutDlg)
+ enum { IDD = IDD_ABOUTBOX };
+ //}}AFX_DATA
+
+ // ClassWizard generated virtual function overrides
+ //{{AFX_VIRTUAL(CAboutDlg)
+ protected:
+ virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
+ //}}AFX_VIRTUAL
+
+// Implementation
+protected:
+ //{{AFX_MSG(CAboutDlg)
+ // No message handlers
+ //}}AFX_MSG
+ DECLARE_MESSAGE_MAP()
+};
+
+CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
+{
+ //{{AFX_DATA_INIT(CAboutDlg)
+ //}}AFX_DATA_INIT
+}
+
+void CAboutDlg::DoDataExchange(CDataExchange* pDX)
+{
+ CDialog::DoDataExchange(pDX);
+ //{{AFX_DATA_MAP(CAboutDlg)
+ //}}AFX_DATA_MAP
+}
+
+BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
+ //{{AFX_MSG_MAP(CAboutDlg)
+ // No message handlers
+ //}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+// App command to run the dialog
+void CBigBrotherApp::OnAppAbout()
+{
+ CAboutDlg aboutDlg;
+ aboutDlg.DoModal();
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// CBigBrotherApp commands
+
+int CBigBrotherApp::ExitInstance()
+{
+ WriteProfileInt("Settings","LoadMRUOnStartup",m_bLoadMRUOnStartup);
+ return CWinApp::ExitInstance();
+}
+
+void CBigBrotherApp::OnUpdateFileAutoload(CCmdUI* pCmdUI)
+{
+ pCmdUI->SetCheck(m_bLoadMRUOnStartup?1:0);
+}
+
+void CBigBrotherApp::OnFileAutoload()
+{
+ m_bLoadMRUOnStartup=!m_bLoadMRUOnStartup;
+}
+
+void CBigBrotherApp::OnHelpLegend()
+{
+ WinHelp(0x10000lu+ID_HELP_LEGEND,HELP_CONTEXTPOPUP);
+}