]> git.saurik.com Git - wxWidgets.git/blob - src/motif/mdi/lib/XsMDIWindow.h
Catch attempts to create a window with itself as parent.
[wxWidgets.git] / src / motif / mdi / lib / XsMDIWindow.h
1 /*
2 Copyright (C) 1996 Scott W. Sadler
3 All rights reserved.
4 */
5
6 /*
7 XsMDIWindow.h
8
9 History
10 03-Mar-96 1.0; Scott W. Sadler (ssadler@cisco.com)
11 Created
12 */
13
14 #ifndef XSMDIWINDOW_H
15 #define XSMDIWINDOW_H
16
17 // Includes
18
19 #include "XsComponent.h"
20
21 // XsMDIWindow class
22
23 class XsMDIWindow : public XsComponent {
24
25 friend class XsMDICanvas;
26
27 public:
28
29 // Constructor/Destructor
30
31 XsMDIWindow (const char *name);
32 virtual ~XsMDIWindow ( );
33
34 // Window manipulation
35
36 virtual void raise ( );
37 virtual void lower ( );
38
39 // Utilities
40
41 Widget clientArea ( ) const;
42
43 // Position and size
44
45 virtual void setPosition (Position x, Position y);
46 virtual void setSize (Dimension w, Dimension h);
47
48 // Class name
49
50 virtual const char *className ( ) const;
51
52 protected:
53
54 // Only the friendly canvas can show a window
55
56 virtual void show ( );
57
58 // Window creation functions
59
60 virtual void _buildClientArea (Widget parent) = 0;
61 virtual void _createWindow (Widget parent) = 0;
62
63 // Implementation
64
65 Widget _clientArea; // Client work area
66
67 // Initial window size and placement
68
69 Position _initX, _initY;
70 Dimension _initW, _initH;
71 Boolean _placed;
72
73 private:
74
75 // Window parent installation
76
77 void _setWindowParent (Widget);
78 Widget _parent;
79 };
80
81 // Inline member functions
82
83 inline Widget XsMDIWindow::clientArea ( ) const
84 {
85 return (_clientArea);
86 }
87
88 #endif
89