-fpermissive to allow GCC to compile old C++
[oweals/cde.git] / cde / programs / dtmail / dtmail / DialogShell.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /*
24  *+SNOTICE
25  *
26  *      $TOG: DialogShell.h /main/5 1998/01/28 18:35:07 mgreess $
27  *
28  *      RESTRICTED CONFIDENTIAL INFORMATION:
29  *      
30  *      The information in this document is subject to special
31  *      restrictions in a confidential disclosure agreement between
32  *      HP, IBM, Sun, USL, SCO and Univel.  Do not distribute this
33  *      document outside HP, IBM, Sun, USL, SCO, or Univel without
34  *      Sun's specific written approval.  This document and all copies
35  *      and derivative works thereof must be returned or destroyed at
36  *      Sun's request.
37  *
38  *      Copyright 1993 Sun Microsystems, Inc.  All rights reserved.
39  *
40  *+ENOTICE
41  */
42
43 #ifndef DIALOGSHELL_H
44 #define DIALOGSHELL_H
45
46 #include <Xm/DialogS.h>
47 #include "UIComponent.h"
48
49 class RoamMenuWindow;
50
51 class DialogShell : public UIComponent {
52
53   public:
54     DialogShell(
55                 char            *name,
56                 RoamMenuWindow  *parent,
57                 WidgetClass     wc = xmDialogShellWidgetClass);
58     virtual ~DialogShell();
59     virtual void initialize();
60     
61 // Accessors
62     
63     RoamMenuWindow *parent() { return _parent; };
64     Widget work_area(){ return _workArea; }
65     
66 // Mutators
67     
68     virtual void title( char * );
69     virtual void popped_up()=0;
70     virtual void popped_down()=0;
71     virtual void manage();
72     virtual void busyCursor();
73     virtual void normalCursor();
74     
75     virtual void quit()=0;
76     
77   protected:
78
79     virtual Widget createWorkArea( Widget ) = 0;
80     static void popdownCallback ( Widget, XtPointer, XmAnyCallbackStruct * );
81     static void popupCallback( Widget, XtPointer, XmAnyCallbackStruct * );
82     Widget _workArea;
83
84   private:
85
86     static void quitCallback( Widget, XtPointer, XmAnyCallbackStruct * );    
87
88     RoamMenuWindow *_parent;
89     WidgetClass _widgetClass;
90
91 };
92
93 #endif