Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / programs / dtmail / dtmail / DialogShell.h
1 /*
2  *+SNOTICE
3  *
4  *      $TOG: DialogShell.h /main/5 1998/01/28 18:35:07 mgreess $
5  *
6  *      RESTRICTED CONFIDENTIAL INFORMATION:
7  *      
8  *      The information in this document is subject to special
9  *      restrictions in a confidential disclosure agreement between
10  *      HP, IBM, Sun, USL, SCO and Univel.  Do not distribute this
11  *      document outside HP, IBM, Sun, USL, SCO, or Univel without
12  *      Sun's specific written approval.  This document and all copies
13  *      and derivative works thereof must be returned or destroyed at
14  *      Sun's request.
15  *
16  *      Copyright 1993 Sun Microsystems, Inc.  All rights reserved.
17  *
18  *+ENOTICE
19  */
20
21 #ifndef DIALOGSHELL_H
22 #define DIALOGSHELL_H
23
24 #include <Xm/DialogS.h>
25 #include "UIComponent.h"
26
27 class RoamMenuWindow;
28
29 class DialogShell : public UIComponent {
30
31   public:
32     DialogShell(
33                 char            *name,
34                 RoamMenuWindow  *parent,
35                 WidgetClass     wc = xmDialogShellWidgetClass);
36     virtual ~DialogShell();
37     virtual void initialize();
38     
39 // Accessors
40     
41     RoamMenuWindow *parent() { return _parent; };
42     Widget work_area(){ return _workArea; }
43     
44 // Mutators
45     
46     virtual void title( char * );
47     virtual void popped_up()=0;
48     virtual void popped_down()=0;
49     virtual void manage();
50     virtual void busyCursor();
51     virtual void normalCursor();
52     
53     virtual void quit()=0;
54     
55   protected:
56
57     virtual Widget createWorkArea( Widget ) = 0;
58     static void popdownCallback ( Widget, XtPointer, XmAnyCallbackStruct * );
59     static void popupCallback( Widget, XtPointer, XmAnyCallbackStruct * );
60     Widget _workArea;
61
62   private:
63
64     static void quitCallback( Widget, XtPointer, XmAnyCallbackStruct * );    
65
66     RoamMenuWindow *_parent;
67     WidgetClass _widgetClass;
68
69 };
70
71 #endif