62336d0d572b4e0cfeb1b88f1db2fca41e7170e0
[oweals/cde.git] / cde / programs / dtinfo / dtinfo / src / Managers / PrintMgr.hh
1 /*
2  * $XConsortium: PrintMgr.hh /main/6 1996/12/06 14:44:18 rcs $
3  *
4  * Copyright (c) 1993 HAL Computer Systems International, Ltd.
5  * All rights reserved.  Unpublished -- rights reserved under
6  * the Copyright Laws of the United States.  USE OF A COPYRIGHT
7  * NOTICE IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
8  * OR DISCLOSURE.
9  * 
10  * THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE
11  * SECRETS OF HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.  USE,
12  * DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE
13  * PRIOR EXPRESS WRITTEN PERMISSION OF HAL COMPUTER SYSTEMS
14  * INTERNATIONAL, LTD.
15  * 
16  *                         RESTRICTED RIGHTS LEGEND
17  * Use, duplication, or disclosure by the Government is subject
18  * to the restrictions as set forth in subparagraph (c)(l)(ii)
19  * of the Rights in Technical Data and Computer Software clause
20  * at DFARS 252.227-7013.
21  *
22  *          HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.
23  *                  1315 Dell Avenue
24  *                  Campbell, CA  95008
25  *
26  * (c) Copyright 1996 Digital Equipment Corporation.
27  * (c) Copyright 1996 Hewlett-Packard Company.
28  * (c) Copyright 1996 International Business Machines Corp.
29  * (c) Copyright 1996 Sun Microsystems, Inc.
30  * (c) Copyright 1996 Novell, Inc. 
31  * (c) Copyright 1996 FUJITSU LIMITED.
32  * (c) Copyright 1996 Hitachi.
33  * 
34  */
35
36 #include "UAS.hh"
37
38 class PrintPanelAgent;
39 class NodePrintAgent;
40
41 // print_handle is used the BitHandle used by the PrintPanelAgent to determine
42 // which nodes to print
43 // standard_print_handle is a BitHandle reserved by the PrintMgr so that
44 // something may set that bit handle in the Library outline list to indicate
45 // it is for printing. Then the print_handle() is set to this...
46
47
48 // Example: if we are printing selected from an OutlineListView,  then the
49 // display bit handle of the OLV is set in the PrintMgr before calling
50 // display().
51 // If we just wish to print one node, then we can get the standard BitHandle
52 // from the PrintMgr, set it on in the node we wish to print (in the library
53 // list) and then do:
54 //
55 // print_handle(standard_print_handle());
56 // display()
57
58 class WTopLevelShell;
59 template <class T> class xList;
60
61 class PrintMgr : public Long_Lived
62 {
63 public:
64
65     PrintMgr();
66     
67     void print(UAS_Pointer<UAS_Common> &node_ptr);
68     void destroy_agent();
69     NodeViewInfo *load(UAS_Pointer<UAS_Common> &node_ptr);
70     // for old style.sheet 
71     void set_font_scale(int);  
72
73 private:
74     PrintPanelAgent * f_print_panel;
75     NodePrintAgent * f_npa;      
76     UAS_Pointer<UAS_Common> f_last_printed;     
77     int f_font_scale ; // for old style.sheet    
78
79 private:
80     LONG_LIVED_HH(PrintMgr,print_mgr);
81 };
82
83