00001 /* -*- mode: C++; tab-width: 4; c-basic-offset: 4; -*- */ 00002 00003 /* AbiSource Application Framework 00004 * Copyright (C) 1998 AbiSource, Inc. 00005 * Copyright (C) 2001, 2003, 2009 Hubert Figuiere 00006 * 00007 * This program is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU General Public License 00009 * as published by the Free Software Foundation; either version 2 00010 * of the License, or (at your option) any later version. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00020 * 02110-1301 USA. 00021 */ 00022 00023 #ifndef XAP_COCOADIALOG_ZOOM_H 00024 #define XAP_COCOADIALOG_ZOOM_H 00025 00026 #import <Cocoa/Cocoa.h> 00027 00028 #include "xap_Dlg_Zoom.h" 00029 00030 class XAP_CocoaFrame; 00031 class XAP_CocoaDialog_Zoom; 00032 00033 @interface XAP_CocoaDlg_ZoomController : NSWindowController <XAP_CocoaDialogProtocol> 00034 { 00035 IBOutlet NSButtonCell *_pageWidthBtn; 00036 IBOutlet NSButtonCell *_percentBtn; 00037 IBOutlet NSTextField *_percentField; 00038 IBOutlet NSStepper *_percentStepper; 00039 IBOutlet NSButtonCell *_wholePageBtn; 00040 IBOutlet NSButtonCell *_zoom100Btn; 00041 IBOutlet NSButtonCell *_zoom200Btn; 00042 IBOutlet NSButtonCell *_zoom75Btn; 00043 IBOutlet NSBox *_zoomBox; 00044 IBOutlet NSMatrix *_zoomMatrix; 00045 IBOutlet NSButton *_closeBtn; 00046 XAP_CocoaDialog_Zoom* _xap; 00047 } 00048 - (IBAction)closeAction:(id)sender; 00049 - (IBAction)stepperAction:(id)sender; 00050 - (IBAction)zoom100Action:(id)sender; 00051 - (IBAction)zoom200Action:(id)sender; 00052 - (IBAction)zoom75Action:(id)sender; 00053 - (IBAction)zoomPageWidthAction:(id)sender; 00054 - (IBAction)zoomWholePageAction:(id)sender; 00055 - (IBAction)zoomPercentAction:(id)sender; 00056 - (IBAction)zoomChangedAction:(id)sender; 00057 00058 - (NSMatrix*)zoomMatrix; 00059 - (int)percentValue; 00060 - (void)setPercentValue:(int)value; 00061 - (void)_enablePercentSpin:(BOOL)enable; 00062 @end 00063 00064 /*****************************************************************/ 00065 00066 class XAP_CocoaDialog_Zoom: public XAP_Dialog_Zoom 00067 { 00068 public: 00069 XAP_CocoaDialog_Zoom(XAP_DialogFactory * pDlgFactory, XAP_Dialog_Id dlgid); 00070 virtual ~XAP_CocoaDialog_Zoom(void); 00071 00072 virtual void runModal(XAP_Frame * pFrame); 00073 00074 static XAP_Dialog * static_constructor(XAP_DialogFactory *, XAP_Dialog_Id dlgid); 00075 00076 virtual void event_Close(void); 00077 00078 virtual void event_Radio200Clicked(void); 00079 virtual void event_Radio100Clicked(void); 00080 virtual void event_Radio75Clicked(void); 00081 virtual void event_RadioPageWidthClicked(void); 00082 virtual void event_RadioWholePageClicked(void); 00083 00084 virtual void event_RadioPercentClicked(void); 00085 virtual void event_SpinPercentChanged(void); 00086 private: 00087 void _populateWindowData(void); 00088 void _storeWindowData(void); 00089 XAP_CocoaDlg_ZoomController* m_dlg; 00090 }; 00091 00092 #endif /* XAP_COCOADIALOG_ZOOM_H */