xref: /haiku/src/add-ons/print/drivers/preview/PageSetupWindow.h (revision df24dede80b41ec24063f8169f5f53ef95866cc2)
1d9b3e69eSMichael Pfeiffer /*
21879dc35SKarsten Heimrich  * Copyright 2003-2008, Haiku. All rights reserved.
3fcccd8b7SMichael Pfeiffer  * Distributed under the terms of the MIT License.
4fcccd8b7SMichael Pfeiffer  *
5fcccd8b7SMichael Pfeiffer  * Authors:
6fcccd8b7SMichael Pfeiffer  *		Philippe Houdoin
7fcccd8b7SMichael Pfeiffer  *		Simon Gauvin
8fcccd8b7SMichael Pfeiffer  *		Michael Pfeiffer
91879dc35SKarsten Heimrich  *		Dr. Hartmut Reh
101879dc35SKarsten Heimrich  *		julun <host.haiku@gmx.de>
11d9b3e69eSMichael Pfeiffer  */
12d9b3e69eSMichael Pfeiffer 
13d9b3e69eSMichael Pfeiffer #ifndef PAGESETUPWINDOW_H
14d9b3e69eSMichael Pfeiffer #define PAGESETUPWINDOW_H
15d9b3e69eSMichael Pfeiffer 
161879dc35SKarsten Heimrich 
17*df24dedeSKarsten Heimrich #include "BlockingWindow.h"
180ca6b749SKarsten Heimrich #include "PrintUtils.h"
19d9b3e69eSMichael Pfeiffer 
201879dc35SKarsten Heimrich 
211879dc35SKarsten Heimrich #include <String.h>
221879dc35SKarsten Heimrich 
231879dc35SKarsten Heimrich 
241879dc35SKarsten Heimrich class BMessage;
251879dc35SKarsten Heimrich class BMenuField;
261879dc35SKarsten Heimrich class BTextControl;
27d9b3e69eSMichael Pfeiffer class MarginView;
28d9b3e69eSMichael Pfeiffer 
291879dc35SKarsten Heimrich 
30d9b3e69eSMichael Pfeiffer class PageSetupWindow : public BlockingWindow
31d9b3e69eSMichael Pfeiffer {
32d9b3e69eSMichael Pfeiffer public:
33d9b3e69eSMichael Pfeiffer 					PageSetupWindow(BMessage *msg, const char *printerName = NULL);
341879dc35SKarsten Heimrich 	virtual void 	MessageReceived(BMessage *msg);
35d9b3e69eSMichael Pfeiffer 
36d9b3e69eSMichael Pfeiffer 	enum			{
37d9b3e69eSMichael Pfeiffer 						OK_MSG = 'ok__',
38d9b3e69eSMichael Pfeiffer 						CANCEL_MSG = 'cncl',
391879dc35SKarsten Heimrich 						PAGE_SIZE_CHANGED = 'pgsz',
401879dc35SKarsten Heimrich 						ORIENTATION_CHANGED = 'ornt'
41d9b3e69eSMichael Pfeiffer 					};
421879dc35SKarsten Heimrich private:
431879dc35SKarsten Heimrich 	void			UpdateSetupMessage();
44d9b3e69eSMichael Pfeiffer 
45d9b3e69eSMichael Pfeiffer private:
46d9b3e69eSMichael Pfeiffer 	BMessage *		fSetupMsg;
47d9b3e69eSMichael Pfeiffer 	BMenuField *	fPageSizeMenu;
48d9b3e69eSMichael Pfeiffer 	BMenuField *	fOrientationMenu;
49dc893877SMichael Pfeiffer 	BTextControl *	fScaleControl;
50d9b3e69eSMichael Pfeiffer 	MarginView *	fMarginView;
51d9b3e69eSMichael Pfeiffer 	BString			fPrinterDirName;
525226ccb6SKarsten Heimrich 	int32			fCurrentOrientation;
53d9b3e69eSMichael Pfeiffer };
54d9b3e69eSMichael Pfeiffer 
55d9b3e69eSMichael Pfeiffer #endif
56