1 /******************************************************************************** 2 * * 3 * M u l t i p l e D o c u m e n t B u t t o n * 4 * * 5 ********************************************************************************* 6 * Copyright (C) 1998,2006 by Jeroen van der Zijp. All Rights Reserved. * 7 ********************************************************************************* 8 * This library is free software; you can redistribute it and/or * 9 * modify it under the terms of the GNU Lesser General Public * 10 * License as published by the Free Software Foundation; either * 11 * version 2.1 of the License, or (at your option) any later version. * 12 * * 13 * This library is distributed in the hope that it will be useful, * 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 16 * Lesser General Public License for more details. * 17 * * 18 * You should have received a copy of the GNU Lesser General Public * 19 * License along with this library; if not, write to the Free Software * 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * 21 ********************************************************************************* 22 * $Id: FXMDIButton.h,v 1.16 2006/01/22 17:58:05 fox Exp $ * 23 ********************************************************************************/ 24 #ifndef FXMDIBUTTON_H 25 #define FXMDIBUTTON_H 26 27 #ifndef FXBUTTON_H 28 #include "FXButton.h" 29 #endif 30 31 namespace FX { 32 33 class FXIcon; 34 35 36 /// MDI Delete button 37 class FXAPI FXMDIDeleteButton : public FXButton { FXDECLARE(FXMDIDeleteButton)38 FXDECLARE(FXMDIDeleteButton) 39 protected: 40 FXMDIDeleteButton(){} 41 private: 42 FXMDIDeleteButton(const FXMDIDeleteButton&); 43 FXMDIDeleteButton &operator=(const FXMDIDeleteButton&); 44 public: 45 long onPaint(FXObject*,FXSelector,void*); 46 public: 47 /// Constructor 48 FXMDIDeleteButton(FXComposite* p,FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=FRAME_RAISED,FXint x=0,FXint y=0,FXint w=0,FXint h=0); 49 virtual FXint getDefaultWidth(); 50 virtual FXint getDefaultHeight(); 51 }; 52 53 54 /// MDI Restore button 55 class FXAPI FXMDIRestoreButton : public FXButton { FXDECLARE(FXMDIRestoreButton)56 FXDECLARE(FXMDIRestoreButton) 57 protected: 58 FXMDIRestoreButton(){} 59 private: 60 FXMDIRestoreButton(const FXMDIRestoreButton&); 61 FXMDIRestoreButton &operator=(const FXMDIRestoreButton&); 62 public: 63 long onPaint(FXObject*,FXSelector,void*); 64 public: 65 /// Constructor 66 FXMDIRestoreButton(FXComposite* p,FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=FRAME_RAISED,FXint x=0,FXint y=0,FXint w=0,FXint h=0); 67 virtual FXint getDefaultWidth(); 68 virtual FXint getDefaultHeight(); 69 }; 70 71 72 /// MDI Maximize button 73 class FXAPI FXMDIMaximizeButton : public FXButton { FXDECLARE(FXMDIMaximizeButton)74 FXDECLARE(FXMDIMaximizeButton) 75 protected: 76 FXMDIMaximizeButton(){} 77 private: 78 FXMDIMaximizeButton(const FXMDIMaximizeButton&); 79 FXMDIMaximizeButton &operator=(const FXMDIMaximizeButton&); 80 public: 81 long onPaint(FXObject*,FXSelector,void*); 82 public: 83 /// Constructor 84 FXMDIMaximizeButton(FXComposite* p,FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=FRAME_RAISED,FXint x=0,FXint y=0,FXint w=0,FXint h=0); 85 virtual FXint getDefaultWidth(); 86 virtual FXint getDefaultHeight(); 87 }; 88 89 90 /// MDI Minimize button 91 class FXAPI FXMDIMinimizeButton : public FXButton { FXDECLARE(FXMDIMinimizeButton)92 FXDECLARE(FXMDIMinimizeButton) 93 protected: 94 FXMDIMinimizeButton(){} 95 private: 96 FXMDIMinimizeButton(const FXMDIMinimizeButton&); 97 FXMDIMinimizeButton &operator=(const FXMDIMinimizeButton&); 98 public: 99 long onPaint(FXObject*,FXSelector,void*); 100 public: 101 /// Constructor 102 FXMDIMinimizeButton(FXComposite* p,FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=FRAME_RAISED,FXint x=0,FXint y=0,FXint w=0,FXint h=0); 103 virtual FXint getDefaultWidth(); 104 virtual FXint getDefaultHeight(); 105 }; 106 107 108 /// MDI Window button 109 class FXAPI FXMDIWindowButton : public FXMenuButton { FXDECLARE(FXMDIWindowButton)110 FXDECLARE(FXMDIWindowButton) 111 protected: 112 FXMDIWindowButton(){} 113 private: 114 FXMDIWindowButton(const FXMDIWindowButton&); 115 FXMDIWindowButton &operator=(const FXMDIWindowButton&); 116 public: 117 long onPaint(FXObject*,FXSelector,void*); 118 public: 119 /// Constructor 120 FXMDIWindowButton(FXComposite* p,FXPopup* pup,FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=0,FXint x=0,FXint y=0,FXint w=0,FXint h=0); 121 virtual FXint getDefaultWidth(); 122 virtual FXint getDefaultHeight(); 123 }; 124 125 126 /// MDI Window Menu 127 class FXAPI FXMDIMenu : public FXMenuPane { 128 FXDECLARE(FXMDIMenu) 129 private: 130 FXIcon *closeicon; 131 FXIcon *maximizeicon; 132 FXIcon *minimizeicon; 133 FXIcon *restoreicon; 134 protected: FXMDIMenu()135 FXMDIMenu(){} 136 private: 137 FXMDIMenu(const FXMDIMenu&); 138 FXMDIMenu &operator=(const FXMDIMenu&); 139 public: 140 141 /// Construct MDI menu 142 FXMDIMenu(FXWindow *owner,FXObject* tgt=NULL); 143 144 /// Destructor 145 virtual ~FXMDIMenu(); 146 }; 147 148 } 149 150 #endif 151