Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

940 lines
24 KiB

  1. /******************************************************************************
  2. Header File: Font Viewer.H
  3. This defines the classes used in viewing and editing font information for the
  4. studio. The view consists of a property sheet with three pages to allow
  5. viewing and editing of the large quantity of data that describes the font.
  6. Copyright (c) 1997 by Microsoft Corporation. All Rights Reserved.
  7. A Pretty Penny Enterprises Production
  8. Change History:
  9. 03-05-1997 Bob_Kjelgaard@Prodigy.Net Created it.
  10. 12-30-1997 Richard Mallonee rewrote it totally
  11. ******************************************************************************/
  12. #if !defined(AFX_FONTVIEW_H__D9456262_745B_11D2_AEDD_00C04FA30E4A__INCLUDED_)
  13. #define AFX_FONTVIEW_H__D9456262_745B_11D2_AEDD_00C04FA30E4A__INCLUDED_
  14. // Constants useful to the UFM Editor code.
  15. const CString csField(_T("Field")) ;
  16. const CString csValue(_T("Value")) ;
  17. /******************************************************************************
  18. CFontWidthsPage class
  19. This class implements the character widths page for the font editor
  20. ******************************************************************************/
  21. class CFontWidthsPage : public CToolTipPage
  22. {
  23. CFontInfo *m_pcfi;
  24. BYTE m_bSortDescending;
  25. int m_iSortColumn;
  26. static int CALLBACK Sort(LPARAM lp1, LPARAM lp2, LPARAM lpThis);
  27. int Sort(UINT_PTR id1, UINT_PTR id2);
  28. // Construction
  29. public:
  30. CFontWidthsPage();
  31. ~CFontWidthsPage();
  32. void Init(CFontInfo *pcfi) { m_pcfi = pcfi; }
  33. void InitMemberVars() ;
  34. bool ValidateUFMFields() ;
  35. bool SavePageData() ;
  36. bool m_bInitDone ;
  37. // Dialog Data
  38. //{{AFX_DATA(CFontWidthsPage)
  39. enum { IDD = IDD_CharWidths };
  40. CListCtrl m_clcView;
  41. //}}AFX_DATA
  42. // Overrides
  43. // ClassWizard generate virtual function overrides
  44. //{{AFX_VIRTUAL(CFontWidthsPage)
  45. protected:
  46. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  47. virtual BOOL OnSetActive();
  48. //}}AFX_VIRTUAL
  49. // Implementation
  50. protected:
  51. // Generated message map functions
  52. //{{AFX_MSG(CFontWidthsPage)
  53. virtual BOOL OnInitDialog();
  54. afx_msg void OnEndlabeleditCharacterWidths(NMHDR* pNMHDR, LRESULT* pResult);
  55. afx_msg void OnColumnclickCharacterWidths(NMHDR* pNMHDR, LRESULT* pResult);
  56. afx_msg void OnKeydownCharacterWidths(NMHDR* pNMHDR, LRESULT* pResult);
  57. //}}AFX_MSG
  58. DECLARE_MESSAGE_MAP()
  59. };
  60. /******************************************************************************
  61. CFontKerningPage class
  62. This class handles the Font Kerning structures, if there are any to be had.
  63. ******************************************************************************/
  64. class CFontKerningPage : public CToolTipPage
  65. {
  66. CFontInfo *m_pcfi;
  67. int m_idSelected; // Tracks selected item
  68. unsigned m_ufDescending; // Sort order flags by column- 0 = Ascending;
  69. unsigned m_uPrecedence[3]; // Sort precedence, by column
  70. static int CALLBACK Sort(LPARAM lp1, LPARAM lp2, LPARAM lpThis);
  71. int Sort(unsigned u1, unsigned u2);
  72. enum {Amount, First, Second}; // Internal enum to control sorting
  73. // Construction
  74. public:
  75. CFontKerningPage();
  76. ~CFontKerningPage();
  77. void Init(CFontInfo *pcfi) { m_pcfi = pcfi; }
  78. void InitMemberVars() ;
  79. bool ValidateUFMFields() ;
  80. bool SavePageData() ;
  81. bool m_bInitDone ;
  82. // Dialog Data
  83. //{{AFX_DATA(CFontKerningPage)
  84. enum { IDD = IDD_KerningPairs };
  85. CListCtrl m_clcView;
  86. //}}AFX_DATA
  87. // Overrides
  88. // ClassWizard generate virtual function overrides
  89. //{{AFX_VIRTUAL(CFontKerningPage)
  90. protected:
  91. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  92. virtual BOOL OnSetActive();
  93. //}}AFX_VIRTUAL
  94. // Implementation
  95. protected:
  96. // Generated message map functions
  97. //{{AFX_MSG(CFontKerningPage)
  98. virtual BOOL OnInitDialog();
  99. afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
  100. afx_msg void OnKeydownKerningTree(NMHDR* pNMHDR, LRESULT* pResult);
  101. afx_msg void OnEndlabeleditKerningTree(NMHDR* pNMHDR, LRESULT* pResult);
  102. afx_msg void OnColumnclickKerningTree(NMHDR* pNMHDR, LRESULT* pResult);
  103. //}}AFX_MSG
  104. afx_msg void OnAddItem();
  105. afx_msg void OnDeleteItem();
  106. afx_msg void OnChangeAmount();
  107. DECLARE_MESSAGE_MAP()
  108. };
  109. class CFontViewer ;
  110. /////////////////////////////////////////////////////////////////////////////
  111. // CFontHeaderPage dialog
  112. class CFontHeaderPage : public CPropertyPage
  113. {
  114. DECLARE_DYNCREATE(CFontHeaderPage)
  115. // Attributes
  116. public:
  117. CFontInfo* m_pcfi ; // UFM to display and edit
  118. CFontInfoContainer* m_pcfic ; // Parent document class
  119. bool m_bInitDone ; // True iff the page has been initialized
  120. CFontViewer* m_pcfv ; // Ptr to grandparent view class
  121. // Construction
  122. public:
  123. CFontHeaderPage();
  124. ~CFontHeaderPage();
  125. // Dialog Data
  126. //{{AFX_DATA(CFontHeaderPage)
  127. enum { IDD = IDD_UFM1_Header };
  128. CFullEditListCtrl m_cfelcUniDrv;
  129. CString m_csDefaultCodePage;
  130. CString m_csRCID;
  131. //}}AFX_DATA
  132. // Overrides
  133. // ClassWizard generate virtual function overrides
  134. //{{AFX_VIRTUAL(CFontHeaderPage)
  135. public:
  136. virtual BOOL PreTranslateMessage(MSG* pMsg);
  137. protected:
  138. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  139. //}}AFX_VIRTUAL
  140. // Implementation
  141. protected:
  142. // Generated message map functions
  143. //{{AFX_MSG(CFontHeaderPage)
  144. afx_msg void OnChangeDefaultCodepageBox();
  145. afx_msg void OnChangeGlyphSetDataRCIDBox();
  146. virtual BOOL OnInitDialog();
  147. afx_msg void OnKillfocusDefaultCodepageBox();
  148. afx_msg void OnKillfocusGlyphSetDataRCIDBox();
  149. //}}AFX_MSG
  150. afx_msg LRESULT OnListCellChanged(WPARAM wParam, LPARAM lParam) ;
  151. DECLARE_MESSAGE_MAP()
  152. void CheckHandleCPGTTChange(CString& csfieldstr, UINT ustrid) ;
  153. public:
  154. void Init(CFontInfo *pcfi, CFontInfoContainer* pcfic, CFontViewer* pcfv) {
  155. m_pcfi = pcfi ;
  156. m_pcfic = pcfic ;
  157. m_pcfv = pcfv ;
  158. }
  159. bool ValidateUFMFields() ;
  160. bool SavePageData() ;
  161. };
  162. /////////////////////////////////////////////////////////////////////////////
  163. // CFontIFIMetricsPage dialog
  164. class CFontIFIMetricsPage : public CPropertyPage
  165. {
  166. DECLARE_DYNCREATE(CFontIFIMetricsPage)
  167. // Attributes
  168. public:
  169. CFontInfo *m_pcfi ; // UFM to display and edit
  170. bool m_bInitDone ; // True iff the page is initialized
  171. CStringArray m_csaFamilyNames ; // New UFM family names
  172. CWordArray m_cwaBold ; // New font simulation data
  173. CWordArray m_cwaItalic ; // New font simulation data
  174. CWordArray m_cwaBoth ; // New font simulation data
  175. CUIntArray m_cuiaFontSimStates;// Is each font sim enabled?
  176. CUIntArray m_cuiaSimTouched ; // Has a font sim changed in any way?
  177. // Construction
  178. public:
  179. CFontIFIMetricsPage();
  180. ~CFontIFIMetricsPage();
  181. // Dialog Data
  182. //{{AFX_DATA(CFontIFIMetricsPage)
  183. enum { IDD = IDD_UFM2_IFIMetrics };
  184. CFullEditListCtrl m_cfelcIFIMetrics;
  185. //}}AFX_DATA
  186. // Overrides
  187. // ClassWizard generate virtual function overrides
  188. //{{AFX_VIRTUAL(CFontIFIMetricsPage)
  189. public:
  190. virtual BOOL PreTranslateMessage(MSG* pMsg);
  191. protected:
  192. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  193. //}}AFX_VIRTUAL
  194. // Implementation
  195. protected:
  196. // Generated message map functions
  197. //{{AFX_MSG(CFontIFIMetricsPage)
  198. virtual BOOL OnInitDialog();
  199. //}}AFX_MSG
  200. afx_msg LRESULT OnListCellChanged(WPARAM wParam, LPARAM lParam) ;
  201. DECLARE_MESSAGE_MAP()
  202. void IFILoadNamesData(CStringArray& csacoldata) ;
  203. void IFILoadValuesData(CStringArray& csacoldata) ;
  204. public:
  205. void Init(CFontInfo *pcfi) { m_pcfi = pcfi ; }
  206. CWordArray* GetFontSimDataPtr(int nid) ;
  207. bool ValidateUFMFields() ;
  208. bool SavePageData() ;
  209. void SaveFontSimulations() ;
  210. };
  211. /////////////////////////////////////////////////////////////////////////////
  212. // CFontExtMetricPage dialog
  213. class CFontExtMetricPage : public CPropertyPage
  214. {
  215. DECLARE_DYNCREATE(CFontExtMetricPage)
  216. // Attributes
  217. public:
  218. CFontInfo *m_pcfi ;
  219. bool m_bInitDone ; // True iff the page has been initialized
  220. // Construction
  221. public:
  222. CFontExtMetricPage();
  223. ~CFontExtMetricPage();
  224. // Dialog Data
  225. //{{AFX_DATA(CFontExtMetricPage)
  226. enum { IDD = IDD_UFM3_ExtMetrics };
  227. CFullEditListCtrl m_cfelcExtMetrics;
  228. BOOL m_bSaveOnClose;
  229. //}}AFX_DATA
  230. // Overrides
  231. // ClassWizard generate virtual function overrides
  232. //{{AFX_VIRTUAL(CFontExtMetricPage)
  233. public:
  234. virtual BOOL PreTranslateMessage(MSG* pMsg);
  235. protected:
  236. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  237. //}}AFX_VIRTUAL
  238. // Implementation
  239. protected:
  240. // Generated message map functions
  241. //{{AFX_MSG(CFontExtMetricPage)
  242. virtual BOOL OnInitDialog();
  243. afx_msg void OnSaveCloseChk();
  244. //}}AFX_MSG
  245. afx_msg LRESULT OnListCellChanged(WPARAM wParam, LPARAM lParam) ;
  246. DECLARE_MESSAGE_MAP()
  247. void EXTLoadNamesData(CStringArray& csacoldata) ;
  248. public:
  249. void Init(CFontInfo *pcfi) { m_pcfi = pcfi ; }
  250. bool ValidateUFMFields() ;
  251. bool SavePageData() ;
  252. };
  253. /////////////////////////////////////////////////////////////////////////////
  254. // CWidthKernCheckResults dialog
  255. class CWidthKernCheckResults : public CDialog
  256. {
  257. // Construction
  258. public:
  259. CWidthKernCheckResults(CWnd* pParent = NULL); // standard constructor
  260. CWidthKernCheckResults(CFontInfo* pcfi, CWnd* pParent = NULL);
  261. // Dialog Data
  262. //{{AFX_DATA(CWidthKernCheckResults)
  263. enum { IDD = IDD_WidthKernCheckResults };
  264. CListCtrl m_clcBadKernPairs;
  265. CString m_csKernChkResults;
  266. CString m_csWidthChkResults;
  267. //}}AFX_DATA
  268. // Overrides
  269. // ClassWizard generated virtual function overrides
  270. //{{AFX_VIRTUAL(CWidthKernCheckResults)
  271. protected:
  272. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  273. //}}AFX_VIRTUAL
  274. // Atrributes
  275. public:
  276. CFontInfo* m_pcfi ;
  277. // Implementation
  278. protected:
  279. // Generated message map functions
  280. //{{AFX_MSG(CWidthKernCheckResults)
  281. virtual BOOL OnInitDialog();
  282. //}}AFX_MSG
  283. DECLARE_MESSAGE_MAP()
  284. };
  285. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  286. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  287. //
  288. // CFontViewer class
  289. //
  290. // This is the CView-derived class which implements the font viewer. It
  291. // actually uses CPropertySheet and the preceding property page classes to do
  292. // most of its work.
  293. //
  294. // CFontHeaderPage m_cfhp
  295. // CFontIFIMetricsPage m_cfimp
  296. // CFontExtMetricPage m_cfemp
  297. // CFontWidthsPage m_cfwp
  298. // CFontKerningPage m_cfkp
  299. //
  300. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  301. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  302. class CFontViewer : public CView
  303. {
  304. CPropertySheet m_cps ;
  305. // Pages that make up the property sheet
  306. CFontHeaderPage m_cfhp ;
  307. CFontIFIMetricsPage m_cfimp ;
  308. CFontExtMetricPage m_cfemp ;
  309. CFontWidthsPage m_cfwp ;
  310. CFontKerningPage m_cfkp ;
  311. protected:
  312. CFontViewer(); // protected constructor used by dynamic creation
  313. DECLARE_DYNCREATE(CFontViewer)
  314. // Attributes
  315. public:
  316. CFontInfoContainer *GetDocument() { return (CFontInfoContainer *) m_pDocument; }
  317. // Operations
  318. public:
  319. bool ValidateSelectedUFMDataFields() ;
  320. bool SaveEditorDataInUFM() ;
  321. void HandleCPGTTChange(bool bgttidchanged) ;
  322. // Overrides
  323. // ClassWizard generated virtual function overrides
  324. //{{AFX_VIRTUAL(CFontViewer)
  325. public:
  326. virtual void OnInitialUpdate();
  327. protected:
  328. virtual void OnDraw(CDC* pDC); // overridden to draw this view
  329. virtual void OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView);
  330. //}}AFX_VIRTUAL
  331. // Implementation
  332. protected:
  333. virtual ~CFontViewer();
  334. // Generated message map functions
  335. protected:
  336. //{{AFX_MSG(CFontViewer)
  337. afx_msg void OnDestroy();
  338. //}}AFX_MSG
  339. DECLARE_MESSAGE_MAP()
  340. };
  341. // This string is used by a lot of the UFM Editor's subordinate dialog boxes.
  342. const LPTSTR lptstrSet = _T("Set") ;
  343. /////////////////////////////////////////////////////////////////////////////
  344. // CGenFlags dialog
  345. class CGenFlags : public CDialog
  346. {
  347. // Construction
  348. public:
  349. CGenFlags(CWnd* pParent = NULL); // standard constructor
  350. CGenFlags(CString* pcsflags, CWnd* pParent = NULL);
  351. CString* m_pcsFlags ; // String version of GenFlags
  352. // Dialog Data
  353. //{{AFX_DATA(CGenFlags)
  354. enum { IDD = IDD_UFM1S_GenFlags };
  355. CFlagsListBox m_cflbFlags;
  356. //}}AFX_DATA
  357. // Overrides
  358. // ClassWizard generated virtual function overrides
  359. //{{AFX_VIRTUAL(CGenFlags)
  360. protected:
  361. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  362. //}}AFX_VIRTUAL
  363. // Implementation
  364. protected:
  365. // Generated message map functions
  366. //{{AFX_MSG(CGenFlags)
  367. virtual void OnOK();
  368. virtual BOOL OnInitDialog();
  369. //}}AFX_MSG
  370. DECLARE_MESSAGE_MAP()
  371. };
  372. /////////////////////////////////////////////////////////////////////////////
  373. // CHdrTypes dialog
  374. class CHdrTypes : public CDialog
  375. {
  376. // Construction
  377. public:
  378. CHdrTypes(CWnd* pParent = NULL); // standard constructor
  379. CHdrTypes(CString* pcsflags, CWnd* pParent = NULL);
  380. CString* m_pcsFlags ; // String version of wTypes
  381. // Dialog Data
  382. //{{AFX_DATA(CHdrTypes)
  383. enum { IDD = IDD_UFM1S_Types };
  384. CFlagsListBox m_cflbFlags;
  385. //}}AFX_DATA
  386. // Overrides
  387. // ClassWizard generated virtual function overrides
  388. //{{AFX_VIRTUAL(CHdrTypes)
  389. protected:
  390. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  391. //}}AFX_VIRTUAL
  392. // Implementation
  393. protected:
  394. // Generated message map functions
  395. //{{AFX_MSG(CHdrTypes)
  396. virtual BOOL OnInitDialog();
  397. virtual void OnOK();
  398. //}}AFX_MSG
  399. DECLARE_MESSAGE_MAP()
  400. };
  401. /////////////////////////////////////////////////////////////////////////////
  402. // CHdrCaps dialog
  403. class CHdrCaps : public CDialog
  404. {
  405. // Construction
  406. public:
  407. CHdrCaps(CWnd* pParent = NULL); // standard constructor
  408. CHdrCaps(CString* pcsflags, CWnd* pParent = NULL);
  409. CString* m_pcsFlags ; // String version of fCaps
  410. // Dialog Data
  411. //{{AFX_DATA(CHdrCaps)
  412. enum { IDD = IDD_UFM1S_Caps };
  413. CFlagsListBox m_cflbFlags;
  414. //}}AFX_DATA
  415. // Overrides
  416. // ClassWizard generated virtual function overrides
  417. //{{AFX_VIRTUAL(CHdrCaps)
  418. protected:
  419. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  420. //}}AFX_VIRTUAL
  421. // Implementation
  422. protected:
  423. // Generated message map functions
  424. //{{AFX_MSG(CHdrCaps)
  425. virtual BOOL OnInitDialog();
  426. virtual void OnOK();
  427. //}}AFX_MSG
  428. DECLARE_MESSAGE_MAP()
  429. };
  430. /////////////////////////////////////////////////////////////////////////////
  431. // CFIFIFamilyNames dialog
  432. class CFIFIFamilyNames : public CDialog
  433. {
  434. // Attributes
  435. public:
  436. bool m_bInitDone ; // True iff the page has been initialized
  437. bool m_bChanged ; // True iff the names list changed
  438. CFontIFIMetricsPage* m_pcfimp ; // Ptr to IFIMetrics page
  439. CString* m_pcsFirstName ;// First family name displayed in IFI page
  440. // Construction
  441. public:
  442. CFIFIFamilyNames(CWnd* pParent = NULL); // standard constructor
  443. CFIFIFamilyNames(CString* pcsfirstname, CFontIFIMetricsPage* pcfimp,
  444. CWnd* pParent = NULL) ;
  445. // Dialog Data
  446. //{{AFX_DATA(CFIFIFamilyNames)
  447. enum { IDD = IDD_UFM2S_Family };
  448. CFullEditListCtrl m_cfelcFamilyNames;
  449. //}}AFX_DATA
  450. // Overrides
  451. // ClassWizard generated virtual function overrides
  452. //{{AFX_VIRTUAL(CFIFIFamilyNames)
  453. protected:
  454. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  455. //}}AFX_VIRTUAL
  456. // Implementation
  457. protected:
  458. // Generated message map functions
  459. //{{AFX_MSG(CFIFIFamilyNames)
  460. virtual BOOL OnInitDialog();
  461. virtual void OnOK();
  462. //}}AFX_MSG
  463. afx_msg LRESULT OnListCellChanged(WPARAM wParam, LPARAM lParam) ;
  464. DECLARE_MESSAGE_MAP()
  465. };
  466. /////////////////////////////////////////////////////////////////////////////
  467. // CFIFIFontSims dialog
  468. class CFIFIFontSims : public CDialog
  469. {
  470. // Attributes
  471. public:
  472. CFontIFIMetricsPage* m_pcfimp ; // Ptr to IFIMetrics page
  473. CString* m_pcsFontSimData ; // 1st family name displayed in IFI page
  474. bool m_bChanged ; // True iff amy font sim info changed
  475. bool m_bInitDone ; // True iff the page has been init'ed
  476. CUIntArray m_cuiaFontSimGrpLoaded ;// When font sim groups have been loaded
  477. // Construction
  478. public:
  479. CFIFIFontSims(CWnd* pParent = NULL); // standard constructor
  480. CFIFIFontSims(CString* pcsfontsimdata, CFontIFIMetricsPage* pcfimp,
  481. CWnd* pParent = NULL) ;
  482. // Dialog Data
  483. //{{AFX_DATA(CFIFIFontSims)
  484. enum { IDD = IDD_UFM2S_FontSims };
  485. // NOTE: the ClassWizard will add data members here
  486. //}}AFX_DATA
  487. // Overrides
  488. // ClassWizard generated virtual function overrides
  489. //{{AFX_VIRTUAL(CFIFIFontSims)
  490. protected:
  491. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  492. //}}AFX_VIRTUAL
  493. // Implementation
  494. protected:
  495. // Generated message map functions
  496. //{{AFX_MSG(CFIFIFontSims)
  497. virtual BOOL OnInitDialog();
  498. virtual void OnOK();
  499. //}}AFX_MSG
  500. afx_msg void OnSetAnySimState(unsigned ucontrolid) ;
  501. afx_msg void OnChangeAnyNumber(unsigned ucontrolid) ;
  502. DECLARE_MESSAGE_MAP()
  503. void InitSetCheckBox(int ncontrolid) ;
  504. };
  505. /////////////////////////////////////////////////////////////////////////////
  506. // CFIFIWinCharSet dialog
  507. class CFIFIWinCharSet : public CDialog
  508. {
  509. // Construction
  510. public:
  511. CFIFIWinCharSet(CWnd* pParent = NULL); // standard constructor
  512. CFIFIWinCharSet(CString* pcsflags, CWnd* pParent = NULL);
  513. CString* m_pcsFlags ; // String version of wTypes
  514. // Dialog Data
  515. //{{AFX_DATA(CFIFIWinCharSet)
  516. enum { IDD = IDD_UFM2S_WinCharSet };
  517. CFlagsListBox m_cflbFlags;
  518. //}}AFX_DATA
  519. // Overrides
  520. // ClassWizard generated virtual function overrides
  521. //{{AFX_VIRTUAL(CFIFIWinCharSet)
  522. protected:
  523. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  524. //}}AFX_VIRTUAL
  525. // Implementation
  526. protected:
  527. // Generated message map functions
  528. //{{AFX_MSG(CFIFIWinCharSet)
  529. virtual BOOL OnInitDialog();
  530. virtual void OnOK();
  531. //}}AFX_MSG
  532. DECLARE_MESSAGE_MAP()
  533. };
  534. /////////////////////////////////////////////////////////////////////////////
  535. // CFIFIWinPitchFamily dialog
  536. class CFIFIWinPitchFamily : public CDialog
  537. {
  538. // Construction
  539. public:
  540. CFIFIWinPitchFamily(CWnd* pParent = NULL); // standard constructor
  541. CFIFIWinPitchFamily(CString* pcsflags, CWnd* pParent = NULL);
  542. CString* m_pcsFlags ; // String version of wTypes
  543. // Dialog Data
  544. //{{AFX_DATA(CFIFIWinPitchFamily)
  545. enum { IDD = IDD_UFM2S_WinPitchFamily };
  546. CFlagsListBox m_cflbFlags;
  547. //}}AFX_DATA
  548. // Overrides
  549. // ClassWizard generated virtual function overrides
  550. //{{AFX_VIRTUAL(CFIFIWinPitchFamily)
  551. protected:
  552. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  553. //}}AFX_VIRTUAL
  554. // Implementation
  555. protected:
  556. // Generated message map functions
  557. //{{AFX_MSG(CFIFIWinPitchFamily)
  558. virtual BOOL OnInitDialog();
  559. virtual void OnOK();
  560. //}}AFX_MSG
  561. DECLARE_MESSAGE_MAP()
  562. };
  563. /////////////////////////////////////////////////////////////////////////////
  564. // CFIFIInfo dialog
  565. class CFIFIInfo : public CDialog
  566. {
  567. // Construction
  568. public:
  569. CFIFIInfo(CWnd* pParent = NULL); // standard constructor
  570. CFIFIInfo(CString* pcsflags, CWnd* pParent = NULL);
  571. CString* m_pcsFlags ; // String version of wTypes
  572. // Dialog Data
  573. //{{AFX_DATA(CFIFIInfo)
  574. enum { IDD = IDD_UFM2S_Info };
  575. CFlagsListBox m_cflbFlags;
  576. //}}AFX_DATA
  577. // Overrides
  578. // ClassWizard generated virtual function overrides
  579. //{{AFX_VIRTUAL(CFIFIInfo)
  580. protected:
  581. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  582. //}}AFX_VIRTUAL
  583. // Implementation
  584. protected:
  585. // Generated message map functions
  586. //{{AFX_MSG(CFIFIInfo)
  587. virtual BOOL OnInitDialog();
  588. virtual void OnOK();
  589. //}}AFX_MSG
  590. DECLARE_MESSAGE_MAP()
  591. void InfoLoadNamesData(CStringArray& csafieldnames) ;
  592. } ;
  593. /////////////////////////////////////////////////////////////////////////////
  594. // CFIFISelection dialog
  595. class CFIFISelection : public CDialog
  596. {
  597. // Construction
  598. public:
  599. CFIFISelection(CWnd* pParent = NULL); // standard constructor
  600. CFIFISelection(CString* pcsflags, CWnd* pParent = NULL);
  601. CString* m_pcsFlags ; // String version of wTypes
  602. // Dialog Data
  603. //{{AFX_DATA(CFIFISelection)
  604. enum { IDD = IDD_UFM2S_Selection };
  605. CFlagsListBox m_cflbFlags;
  606. //}}AFX_DATA
  607. // Overrides
  608. // ClassWizard generated virtual function overrides
  609. //{{AFX_VIRTUAL(CFIFISelection)
  610. protected:
  611. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  612. //}}AFX_VIRTUAL
  613. // Implementation
  614. protected:
  615. // Generated message map functions
  616. //{{AFX_MSG(CFIFISelection)
  617. virtual BOOL OnInitDialog();
  618. virtual void OnOK();
  619. //}}AFX_MSG
  620. DECLARE_MESSAGE_MAP()
  621. };
  622. /////////////////////////////////////////////////////////////////////////////
  623. // CFIFIPoint dialog
  624. class CFIFIPoint : public CDialog
  625. {
  626. // Attributes
  627. public:
  628. bool m_bInitDone ; // True iff the dlg has been initialized
  629. bool m_bChanged ; // True iff the point list changed
  630. CString* m_pcsPoint ; // Point info to/from IFI page
  631. // Construction
  632. public:
  633. CFIFIPoint(CWnd* pParent = NULL); // standard constructor
  634. CFIFIPoint(CString* pcspoint, CWnd* pParent = NULL) ;
  635. // Dialog Data
  636. //{{AFX_DATA(CFIFIPoint)
  637. enum { IDD = IDD_UFM2S_Point };
  638. CFullEditListCtrl m_cfelcPointLst;
  639. //}}AFX_DATA
  640. // Overrides
  641. // ClassWizard generated virtual function overrides
  642. //{{AFX_VIRTUAL(CFIFIPoint)
  643. protected:
  644. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  645. //}}AFX_VIRTUAL
  646. // Implementation
  647. protected:
  648. // Generated message map functions
  649. //{{AFX_MSG(CFIFIPoint)
  650. virtual BOOL OnInitDialog();
  651. virtual void OnOK();
  652. //}}AFX_MSG
  653. afx_msg LRESULT OnListCellChanged(WPARAM wParam, LPARAM lParam) ;
  654. DECLARE_MESSAGE_MAP()
  655. };
  656. /////////////////////////////////////////////////////////////////////////////
  657. // CFIFIRectangle dialog
  658. class CFIFIRectangle : public CDialog
  659. {
  660. // Attributes
  661. public:
  662. bool m_bInitDone ; // True iff the dlg has been initialized
  663. bool m_bChanged ; // True iff the point list changed
  664. CString* m_pcsRect ; // Rectangle info to/from IFI page
  665. // Construction
  666. public:
  667. CFIFIRectangle(CWnd* pParent = NULL); // standard constructor
  668. CFIFIRectangle(CString* pcsrect, CWnd* pParent = NULL) ;
  669. // Dialog Data
  670. //{{AFX_DATA(CFIFIRectangle)
  671. enum { IDD = IDD_UFM2S_Rect };
  672. CFullEditListCtrl m_cfelcSidesLst;
  673. //}}AFX_DATA
  674. // Overrides
  675. // ClassWizard generated virtual function overrides
  676. //{{AFX_VIRTUAL(CFIFIRectangle)
  677. protected:
  678. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  679. //}}AFX_VIRTUAL
  680. // Implementation
  681. protected:
  682. // Generated message map functions
  683. //{{AFX_MSG(CFIFIRectangle)
  684. virtual BOOL OnInitDialog();
  685. virtual void OnOK();
  686. //}}AFX_MSG
  687. afx_msg LRESULT OnListCellChanged(WPARAM wParam, LPARAM lParam) ;
  688. DECLARE_MESSAGE_MAP()
  689. };
  690. /////////////////////////////////////////////////////////////////////////////
  691. // CFIFIPanose dialog
  692. class CFIFIPanose : public CDialog
  693. {
  694. // Attributes
  695. public:
  696. bool m_bInitDone ; // True iff the dlg has been initialized
  697. bool m_bChanged ; // True iff the point list changed
  698. CString* m_pcsPanose ; // Panose info to/from IFI page
  699. // Construction
  700. public:
  701. CFIFIPanose(CWnd* pParent = NULL); // standard constructor
  702. CFIFIPanose(CString* pcspanose, CWnd* pParent = NULL) ;
  703. // Dialog Data
  704. //{{AFX_DATA(CFIFIPanose)
  705. enum { IDD = IDD_UFM2S_Panose };
  706. CFullEditListCtrl m_cfelcPanoseLst;
  707. //}}AFX_DATA
  708. // Overrides
  709. // ClassWizard generated virtual function overrides
  710. //{{AFX_VIRTUAL(CFIFIPanose)
  711. protected:
  712. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  713. //}}AFX_VIRTUAL
  714. // Implementation
  715. protected:
  716. // Generated message map functions
  717. //{{AFX_MSG(CFIFIPanose)
  718. virtual BOOL OnInitDialog();
  719. virtual void OnOK();
  720. //}}AFX_MSG
  721. afx_msg LRESULT OnListCellChanged(WPARAM wParam, LPARAM lParam) ;
  722. DECLARE_MESSAGE_MAP()
  723. };
  724. //{{AFX_INSERT_LOCATION}}
  725. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  726. #endif // !defined(AFX_FONTVIEW_H__D9456262_745B_11D2_AEDD_00C04FA30E4A__INCLUDED_)