00001 /* -*- mode: C++; tab-width: 4; c-basic-offset: 4; -*- */ 00002 00003 /* AbiWord 00004 * Copyright (C) 1998 AbiSource, Inc. 00005 * Copyright (C) 2003 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 AP_CocoaDIALOG_SPLITCELLS_H 00024 #define AP_CocoaDIALOG_SPLITCELLS_H 00025 00026 #import <Cocoa/Cocoa.h> 00027 00028 #include "ap_Dialog_SplitCells.h" 00029 00030 class XAP_CocoaFrame; 00031 @class AP_CocoaDialog_SplitCellsController; 00032 @protocol XAP_CocoaDialogProtocol; 00033 00034 /*****************************************************************/ 00035 00036 class AP_CocoaDialog_SplitCells: public AP_Dialog_SplitCells 00037 { 00038 public: 00039 AP_CocoaDialog_SplitCells(XAP_DialogFactory * pDlgFactory, XAP_Dialog_Id dlgid); 00040 virtual ~AP_CocoaDialog_SplitCells(void); 00041 00042 virtual void runModeless(XAP_Frame * pFrame); 00043 00044 static XAP_Dialog * static_constructor(XAP_DialogFactory *, XAP_Dialog_Id dlgid); 00045 00046 // callbacks can fire these events 00047 void event_Close(void); 00048 virtual void setSensitivity(AP_CellSplitType splittype, bool bsens); 00049 virtual void destroy(void); 00050 virtual void activate(void); 00051 virtual void notifyActiveFrame(XAP_Frame * pFrame); 00052 const char* getWindowName() { return m_WindowName; }; 00053 private: 00054 void _populateWindowData(void); 00055 void _storeWindowData(void); 00056 AP_CocoaDialog_SplitCellsController* m_dlg; 00057 }; 00058 00059 @interface AP_CocoaDialog_SplitCellsController : NSWindowController <XAP_CocoaDialogProtocol> 00060 { 00061 IBOutlet NSButton *_splitLeftBtn; 00062 IBOutlet NSButton *_splitMiddleHBtn; 00063 IBOutlet NSButton *_splitRightBtn; 00064 IBOutlet NSButton *_splitTopBtn; 00065 IBOutlet NSButton *_splitMiddleVBtn; 00066 IBOutlet NSButton *_splitBottomBtn; 00067 IBOutlet NSBox *_splitCellsBox; 00068 AP_CocoaDialog_SplitCells* _xap; 00069 } 00070 - (IBAction)splitLeft:(id)sender; 00071 - (IBAction)splitMiddleH:(id)sender; 00072 - (IBAction)splitRight:(id)sender; 00073 - (IBAction)splitTop:(id)sender; 00074 - (IBAction)splitMiddleV:(id)sender; 00075 - (IBAction)splitBottom:(id)sender; 00076 - (void)setEnableButton:(AP_CellSplitType)btn to:(bool)val; 00077 00078 @end 00079 00080 #endif /* AP_CocoaDIALOG_MERGECELLS_H */