26#ifndef SO_WIN_PRINT_DIALOG_
27#define SO_WIN_PRINT_DIALOG_
37#include <Inventor/SbBasic.h>
38#include <Inventor/Win/SoWinComponent.h>
39#include <Inventor/misc/SoCallbackList.h>
45class SoWinPrintDialog;
49typedef void SoWinPrintDialogCB(
void *userData, SoWinPrintDialog *dialog);
61 SoWidget parent = NULL,
62 const char *name = NULL,
63 SbBool buildInsideParent = TRUE);
66 SoWidget parent = NULL,
67 const char *name = NULL,
68 SbBool buildInsideParent = TRUE);
72 void setSceneGraph(
SoPath *path );
73 void setSceneGraph(
SoNode *root );
75 SoNode *getSceneGraph() {
return rootNode; }
76 SoPath *getSceneGraphPath() {
return rootPath; }
82 void setPrintSize(
const SbVec2f &s );
83 void setPrintSize(
const SbVec2s &s );
87 inline void setBeforePrintCallback(
88 SoWinPrintDialogCB *f,
89 void *userData = NULL);
90 inline void setAfterPrintCallback(
91 SoWinPrintDialogCB *f,
92 void *userData = NULL);
106 virtual SbString getDefaultWidgetName()
const;
107 virtual SbString getDefaultTitle()
const;
108 virtual SbString getDefaultIconTitle()
const;
115 SbBool printerOutput, postScriptOutput;
118 SoWidget messageWidget, printButton, quitButton;
119 SoWidget messageLabelWidget, fileFormatWidget;
120 SoWidget toPrinterWidget, toPostScriptFileWidget, toRGBFileWidget;
121 SoWidget printerHorizSize, printerVertSize;
122 SoWidget postScriptHorizSize, postScriptVertSize;
123 SoWidget rgbHorizSize, rgbVertSize;
124 SoWidget printerDPIField, postScriptDPIField;
125 SoWidget rgbFilenameWidget, postScriptFilenameWidget;
127 char *defaultPrinter;
135 void getPrinterList();
136 void printToPostScript(
SoNode *,
char *,
int,
int );
139 void buildToPrinterWidget( SoWidget parent );
140 void buildToPostScriptFileWidget( SoWidget parent );
141 void buildToRGBFileWidget( SoWidget parent );
142 void placeBottomOfDialog( SoWinPrintDialog * );
143 void buildRadioButton(
char *,
char *,
char *,
int,
int,
144 SoWidget, XtCallbackProc );
145 void buildSizeFields(
char *,
int, SoWidget, SoWidget &, SoWidget &,
146 XtCallbackProc, XtCallbackProc );
147 void buildDPIField(
int, SoWidget, SoWidget &, XtCallbackProc );
148 void updateTextports();
153 static void qualityCB( SoWidget, SoWinPrintDialog *,
154 XmAnyCallbackStruct * );
155 static void pageFormatCB( SoWidget, SoWinPrintDialog *,
156 XmAnyCallbackStruct * );
157 static void fileFormatCB( SoWidget, SoWinPrintDialog *,
158 XmAnyCallbackStruct * );
159 static void printerHorizSizeCB( SoWidget, SoWinPrintDialog *,
160 XmAnyCallbackStruct * );
161 static void printerVertSizeCB( SoWidget, SoWinPrintDialog *,
162 XmAnyCallbackStruct * );
163 static void postScriptHorizSizeCB( SoWidget, SoWinPrintDialog *,
164 XmAnyCallbackStruct * );
165 static void postScriptVertSizeCB( SoWidget, SoWinPrintDialog *,
166 XmAnyCallbackStruct * );
167 static void rgbHorizSizeCB( SoWidget, SoWinPrintDialog *,
168 XmAnyCallbackStruct * );
169 static void rgbVertSizeCB( SoWidget, SoWinPrintDialog *,
170 XmAnyCallbackStruct * );
171 static void printerDPICB( SoWidget, SoWinPrintDialog *,
172 XmAnyCallbackStruct * );
173 static void postScriptDPICB( SoWidget, SoWinPrintDialog *,
174 XmAnyCallbackStruct * );
175 static void outputCB( SoWidget, SoWinPrintDialog *,
176 XmAnyCallbackStruct * );
177 static void printCB( SoWidget, SoWinPrintDialog *,
178 XmAnyCallbackStruct * );
179 static void quitCB( SoWidget, SoWinPrintDialog *,
180 XmAnyCallbackStruct * );
181 static void listPick( SoWidget, SoWinPrintDialog *ml,
182 XmAnyCallbackStruct * );
185 SoWidget styleButton;
190 SoWidget buildWidget(SoWidget parent);
193 void constructorCommon(
SbBool buildNow);
199SoWinPrintDialog::setBeforePrintCallback(
200 SoWinPrintDialogCB *f,
204 beforeList.
addCallback((SoCallbackListCB *) f, userData);
208SoWinPrintDialog::setAfterPrintCallback(
209 SoWinPrintDialogCB *f,
213 afterList.
addCallback((SoCallbackListCB *) f, userData);
List of generic (void *) pointers.
Class for smart character strings.
Manages a list of callbacks and associated data.
void addCallback(SoCallbackListCB *f, void *userData=NULL)
Adds a function to the list of callback functions.
void clearCallbacks()
Clears all callback functions from the list.
Renders a scene graph using Open Inventor's Render Engine.
Abstract base class for all database nodes.
Path that points to a list of hierarchical nodes.