1 /* AbiWord
2  * Copyright (C) 1998,1999 AbiSource, Inc.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17  * 02110-1301 USA.
18  */
19 
20 #ifndef AP_WIN32DIALOG_PARAGRAPH_H
21 #define AP_WIN32DIALOG_PARAGRAPH_H
22 
23 #include "ap_Dialog_Paragraph.h"
24 #include "xap_Frame.h"
25 #include "xap_Win32DialogBase.h"
26 
27 class GR_Win32Graphics;
28 class XAP_Win32PreviewWidget;
29 
30 /*****************************************************************/
31 
32 class ABI_EXPORT AP_Win32Dialog_Paragraph: public AP_Dialog_Paragraph, XAP_Win32DialogBase
33 {
34 public:
35 	AP_Win32Dialog_Paragraph(XAP_DialogFactory * pDlgFactory, XAP_Dialog_Id id);
36 	virtual ~AP_Win32Dialog_Paragraph(void);
37 
38 	virtual void				runModal(XAP_Frame * pFrame);
39 
40 	static XAP_Dialog *			static_constructor(XAP_DialogFactory *, XAP_Dialog_Id id);
41 	static BOOL CALLBACK		s_dlgProc(HWND,UINT,WPARAM,LPARAM);
42 
43 protected:
44 	BOOL						_onInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam);
45 	BOOL						_onCommand(HWND hWnd, WPARAM wParam, LPARAM lParam);
46 	BOOL						_onDeltaPos(NM_UPDOWN * pnmud);
47 
48 	static BOOL CALLBACK		s_tabProc(HWND,UINT,WPARAM,LPARAM);
49 	BOOL						_onInitTab(HWND hWnd, WPARAM wParam, LPARAM lParam);
50 
51 	virtual void				_syncControls(tControl changed, bool bAll = false);
52 
53 	XAP_Win32PreviewWidget *	m_pPreviewWidget;
54 
55 	HWND						m_hwndDlg;		// parent dialog
56 	HWND						m_hwndTab;		// tab control
57 	HWND						m_hwndSpacing;	// subdialog for first tab
58 	HWND						m_hwndBreaks;	// subdialog for second tab
59 
60 	bool						m_bEditChanged;
61 };
62 
63 #endif /* XAP_WIN32DIALOG_PARAGRAPH_H */
64