]> git.saurik.com Git - wxWidgets.git/blob - src/motif/mdi/lib/XsMDICanvas.h
Crash fix under VC++
[wxWidgets.git] / src / motif / mdi / lib / XsMDICanvas.h
1 /*
2 Copyright (C) 1996 Scott W. Sadler
3 All rights reserved.
4 */
5
6 /*
7 XsMDICanvas.h
8
9 History
10 03-Mar-96 1.0; Scott W. Sadler (ssadler@cisco.com)
11 Created
12 */
13
14 #ifndef XSMDICANVAS_H
15 #define XSMDICANVAS_H
16
17 // Includes
18
19 #include "XsComponent.h"
20
21 // Forward declarations
22
23 class XsMDIWindow;
24
25 // XsMDICanvas class
26
27 class XsMDICanvas : public XsComponent {
28
29 public:
30
31 // Constructor/Destructor
32
33 XsMDICanvas (const char *name, Widget parent);
34 virtual ~XsMDICanvas ( );
35
36 // MDI Window manipulation
37
38 virtual void add (XsMDIWindow *win); // Add an MDI window
39 virtual void remove (XsMDIWindow *win); // Remove an MDI window
40 void removeAll ( ); // Remove all MDI windows
41
42 // Utilities
43
44 int numWindows ( ) const; // Number of MDI windows
45 Widget GetDrawingArea() const { return _drawArea; }
46
47 // Component methods
48
49 virtual void show ( );
50
51 // Class name
52
53 virtual const char *className ( ) const;
54
55 protected:
56
57 // Component life-cycle
58
59 virtual void _componentDestroyed ( );
60
61 // Geometry management
62
63 virtual void _placeWindow (XsMDIWindow *win);
64
65 // Canvas resize handler
66
67 virtual void _resize (XtPointer);
68
69 // Implementation
70
71 Widget _clipWin;
72 Widget _drawArea;
73
74 XsMDIWindow **_list;
75 int _num;
76 int _max;
77 int _place;
78
79 private:
80
81 // Callbacks
82
83 static void _clipResizeCallback (Widget, XtPointer, XtPointer);
84 static void _canvasResizeCallback (Widget, XtPointer, XtPointer);
85
86 // Resources
87
88 static String _resources[];
89 };
90
91 // Inline member functions
92
93 inline XsMDICanvas::numWindows ( ) const
94 {
95 return (_num);
96 }
97
98 #endif