Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FXMDIButton.h
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,2024 by Jeroen van der Zijp. All Rights Reserved. *
7 *********************************************************************************
8 * This library is free software; you can redistribute it and/or modify *
9 * it under the terms of the GNU Lesser General Public License as published by *
10 * the Free Software Foundation; either version 3 of the License, or *
11 * (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 *
16 * GNU Lesser General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU Lesser General Public License *
19 * along with this program. If not, see <http://www.gnu.org/licenses/> *
20 ********************************************************************************/
21 #ifndef FXMDIBUTTON_H
22 #define FXMDIBUTTON_H
23 
24 #ifndef FXBUTTON_H
25 #include "FXButton.h"
26 #endif
27 
28 namespace FX {
29 
30 
31 class FXIcon;
32 
33 
35 class FXAPI FXMDIDeleteButton : public FXButton {
36  FXDECLARE(FXMDIDeleteButton)
37 protected:
39 private:
41  FXMDIDeleteButton &operator=(const FXMDIDeleteButton&);
42 public:
43  long onPaint(FXObject*,FXSelector,void*);
44 public:
46  FXMDIDeleteButton(FXComposite* p,FXObject* tgt=nullptr,FXSelector sel=0,FXuint opts=FRAME_RAISED,FXint x=0,FXint y=0,FXint w=0,FXint h=0);
47  virtual FXint getDefaultWidth();
48  virtual FXint getDefaultHeight();
49  };
50 
51 
53 class FXAPI FXMDIRestoreButton : public FXButton {
54  FXDECLARE(FXMDIRestoreButton)
55 protected:
57 private:
59  FXMDIRestoreButton &operator=(const FXMDIRestoreButton&);
60 public:
61  long onPaint(FXObject*,FXSelector,void*);
62 public:
64  FXMDIRestoreButton(FXComposite* p,FXObject* tgt=nullptr,FXSelector sel=0,FXuint opts=FRAME_RAISED,FXint x=0,FXint y=0,FXint w=0,FXint h=0);
65  virtual FXint getDefaultWidth();
66  virtual FXint getDefaultHeight();
67  };
68 
69 
71 class FXAPI FXMDIMaximizeButton : public FXButton {
72  FXDECLARE(FXMDIMaximizeButton)
73 protected:
75 private:
77  FXMDIMaximizeButton &operator=(const FXMDIMaximizeButton&);
78 public:
79  long onPaint(FXObject*,FXSelector,void*);
80 public:
82  FXMDIMaximizeButton(FXComposite* p,FXObject* tgt=nullptr,FXSelector sel=0,FXuint opts=FRAME_RAISED,FXint x=0,FXint y=0,FXint w=0,FXint h=0);
83  virtual FXint getDefaultWidth();
84  virtual FXint getDefaultHeight();
85  };
86 
87 
89 class FXAPI FXMDIMinimizeButton : public FXButton {
90  FXDECLARE(FXMDIMinimizeButton)
91 protected:
93 private:
95  FXMDIMinimizeButton &operator=(const FXMDIMinimizeButton&);
96 public:
97  long onPaint(FXObject*,FXSelector,void*);
98 public:
100  FXMDIMinimizeButton(FXComposite* p,FXObject* tgt=nullptr,FXSelector sel=0,FXuint opts=FRAME_RAISED,FXint x=0,FXint y=0,FXint w=0,FXint h=0);
101  virtual FXint getDefaultWidth();
102  virtual FXint getDefaultHeight();
103  };
104 
105 
107 class FXAPI FXMDIWindowButton : public FXMenuButton {
108  FXDECLARE(FXMDIWindowButton)
109 protected:
111 private:
113  FXMDIWindowButton &operator=(const FXMDIWindowButton&);
114 public:
115  long onPaint(FXObject*,FXSelector,void*);
116 public:
118  FXMDIWindowButton(FXComposite* p,FXPopup* pup,FXObject* tgt=nullptr,FXSelector sel=0,FXuint opts=0,FXint x=0,FXint y=0,FXint w=0,FXint h=0);
119  virtual FXint getDefaultWidth();
120  virtual FXint getDefaultHeight();
121  };
122 
123 
125 class FXAPI FXMDIMenu : public FXMenuPane {
126  FXDECLARE(FXMDIMenu)
127 private:
128  FXIcon *closeicon;
129  FXIcon *maximizeicon;
130  FXIcon *minimizeicon;
131  FXIcon *restoreicon;
132 protected:
133  FXMDIMenu(){}
134 private:
135  FXMDIMenu(const FXMDIMenu&);
136  FXMDIMenu &operator=(const FXMDIMenu&);
137 public:
138 
140  FXMDIMenu(FXWindow *owner,FXObject* tgt=nullptr);
141 
143  virtual ~FXMDIMenu();
144  };
145 
146 }
147 
148 #endif
A menu button posts a popup menu when clicked.
Definition: FXMenuButton.h:69
Window is the base class for all widgets in FOX.
Definition: FXWindow.h:130
MDI Delete button.
Definition: FXMDIButton.h:35
Popup window is used as a container for transitional controls such as menu panes and other ephemeral ...
Definition: FXPopup.h:51
A button provides a push button, with optional icon and/or text label.
Definition: FXButton.h:70
Base composite.
Definition: FXComposite.h:32
MDI Window Menu.
Definition: FXMDIButton.h:125
Definition: FX4Splitter.h:28
An Icon is an image with two additional server-side resources: a shape bitmap, which is used to mask ...
Definition: FXIcon.h:42
MDI Maximize button.
Definition: FXMDIButton.h:71
MDI Minimize button.
Definition: FXMDIButton.h:89
Object is the base class for all objects in FOX; in order to receive messages from the user interface...
Definition: FXObject.h:134
MDI Window button.
Definition: FXMDIButton.h:107
Popup menu pane.
Definition: FXMenuPane.h:32
MDI Restore button.
Definition: FXMDIButton.h:53

Copyright © 1997-2022 Jeroen van der Zijp