ciderpress/app/MyApp.h
Andy McFadden 5946481b4e Add AppleSingle support
This handles version 1 and 2, and copes with the broken files
created by the Mac OS X "applesingle" command-line tool (which is
unable to decode the broken files it creates).

I get the sense that many AppleSingle files don't end with ".AS", so
the filespec includes "*.*" as well.

Some AppleSingle files don't include a filename.  In that case, we
use the file's name as the entry name, minus any ".as" extension.
The current implementation doesn't convert from Unicode to Mac OS
Roman, so non-ASCII characters are mishandled unless the file was
generated by GS/ShrinkIt.  (We assume version 1 AppleSingle files
use MOR name strings.)

Also, version bump to 4.0.0d3.
2015-01-12 17:49:59 -08:00

73 lines
1.7 KiB
C++

/*
* CiderPress
* Copyright (C) 2007 by faddenSoft, LLC. All Rights Reserved.
* See the file LICENSE for distribution terms.
*/
/*
* The application object.
*/
#ifndef APP_MYAPP_H
#define APP_MYAPP_H
#include "Registry.h"
/* CiderPress version numbers */
#define kAppMajorVersion 4
#define kAppMinorVersion 0
#define kAppBugVersion 0
#define kAppDevString L"d3"
/*
* Windows application object.
*/
class MyApp: public CWinApp
{
public:
MyApp(LPCTSTR lpszAppName = NULL);
virtual ~MyApp(void);
#ifdef CAN_UPDATE_FILE_ASSOC
MyRegistry fRegistry;
#endif
const WCHAR* GetExeFileName(void) const { return fExeFileName; }
const WCHAR* GetExeBaseName(void) const { return fExeBaseName; }
/*
* Handles pop-up help requests. Call this from OnHelpInfo.
*/
static BOOL HandleHelpInfo(HELPINFO* lpHelpInfo);
/*
* Handles help topic requests. Call this from OnHelp.
*/
static void HandleHelp(CWnd* pWnd, DWORD topicId);
private:
virtual BOOL InitInstance(void) override;
virtual BOOL OnIdle(LONG lCount) override;
/*
* Show where we got something from. Handy for checking DLL load locations.
*
* If "name" is NULL, we show the EXE info.
*/
void LogModuleLocation(const WCHAR* name);
/*
* This holds pairs of control IDs and popup help IDs, for use by
* HtmlHelp HH_TP_HELP_WM_HELP.
*
* The control and help ID values are identical just to make life
* simpler, but we need a table anyway.
*/
static const DWORD PopUpHelpIds[];
CString fExeFileName;
CString fExeBaseName;
};
extern MyApp gMyApp;
#endif /*APP_MYAPP_H*/