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