PrintSetupBP.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536
  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 libraries 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. /* $XConsortium: PrintSetupBP.h /main/16 1996/11/01 15:00:02 cde-hp $ */
  24. /*
  25. * DtPrint/PrintSetupBP.h
  26. */
  27. /* (c) Copyright 1990, 1991, 1992, 1993, 1994 OPEN SOFTWARE FOUNDATION, INC.
  28. * ALL RIGHTS RESERVED
  29. * (c) Copyright 1989, 1996 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
  30. * (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992, 1995, 1996,
  31. * HEWLETT-PACKARD COMPANY
  32. * (c) Copyright 1996 International Business Machines Corp.
  33. * (c) Copyright 1996 Sun Microsystems, Inc.
  34. * (c) Copyright 1996 Novell, Inc.
  35. * (c) Copyright 1996 FUJITSU LIMITED.
  36. * (c) Copyright 1996 Hitachi.
  37. */
  38. #ifndef _DtPrintSetupBP_h
  39. #define _DtPrintSetupBP_h
  40. #include <Xm/BulletinBP.h>
  41. #include <Dt/Print.h>
  42. #include <Dt/PrintMsgsP.h>
  43. #ifdef __cplusplus
  44. extern "C" {
  45. #endif
  46. /*
  47. * ------------------------------------------------------------------------
  48. * Constant Definitions
  49. *
  50. */
  51. /*
  52. * Message Catalog Lookup
  53. */
  54. #define WARN_WORK_AREA_LOCATION DTPRINT_GETMESSAGE( \
  55. MS_PrintSetupBox, PSUB_WARN_WA_LOCATION, _DtPrMsgPrintSetupBox_0000)
  56. #define SELECT_PRINTER_LABEL DTPRINT_GETMESSAGE( \
  57. MS_PrintSetupBox, PSUB_SELECT_PRINTER, _DtPrMsgPrintSetupBox_0001)
  58. #define PRINT_TO_FILE_LABEL DTPRINT_GETMESSAGE( \
  59. MS_PrintSetupBox, PSUB_PRINT_TO_FILE, _DtPrMsgPrintSetupBox_0002)
  60. #define SELECT_FILE_LABEL DTPRINT_GETMESSAGE( \
  61. MS_PrintSetupBox, PSUB_SELECT_FILE, _DtPrMsgPrintSetupBox_0003)
  62. #define CANCEL_LABEL DTPRINT_GETMESSAGE( \
  63. MS_PrintSetupBox, PSUB_CANCEL, _DtPrMsgPrintSetupBox_0004)
  64. #define COPIES_LABEL DTPRINT_GETMESSAGE( \
  65. MS_PrintSetupBox, PSUB_COPIES, _DtPrMsgPrintSetupBox_0005)
  66. #define HELP_LABEL DTPRINT_GETMESSAGE( \
  67. MS_PrintSetupBox, PSUB_HELP, _DtPrMsgPrintSetupBox_0006)
  68. #define PRINT_LABEL DTPRINT_GETMESSAGE( \
  69. MS_PrintSetupBox, PSUB_PRINT, _DtPrMsgPrintSetupBox_0007)
  70. #define PRINTER_NAME_LABEL DTPRINT_GETMESSAGE( \
  71. MS_PrintSetupBox, PSUB_PRINTER_NAME, _DtPrMsgPrintSetupBox_0008)
  72. #define SETUP_LABEL DTPRINT_GETMESSAGE( \
  73. MS_PrintSetupBox, PSUB_SETUP, _DtPrMsgPrintSetupBox_0009)
  74. #define DESCRIPTION_LABEL DTPRINT_GETMESSAGE( \
  75. MS_PrintSetupBox, PSUB_DESCRIPTION, _DtPrMsgPrintSetupBox_0010)
  76. #define WARN_COPY_COUNT DTPRINT_GETMESSAGE( \
  77. MS_PrintSetupBox, PSUB_WARN_COPY_COUNT, _DtPrMsgPrintSetupBox_0011)
  78. #define WARN_SETUP_MODE DTPRINT_GETMESSAGE( \
  79. MS_PrintSetupBox, PSUB_WARN_SETUP_MODE, _DtPrMsgPrintSetupBox_0012)
  80. #define WARN_SETUP_MODE_CHANGE DTPRINT_GETMESSAGE( \
  81. MS_PrintSetupBox, PSUB_WARN_SETUP_MODE_CHANGE, _DtPrMsgPrintSetupBox_0013)
  82. #define PRINTER_INFO_LABEL DTPRINT_GETMESSAGE( \
  83. MS_PrintSetupBox, PSUB_PRINTER_INFO, _DtPrMsgPrintSetupBox_0014)
  84. #define INVALID_PRINTER_TITLE DTPRINT_GETMESSAGE( \
  85. MS_PrintSetupBox, PSUB_INVALID_PRINTER_TITLE, _DtPrMsgPrintSetupBox_0015)
  86. #define INVALID_PRINTER_MESSAGE DTPRINT_GETMESSAGE( \
  87. MS_PrintSetupBox, PSUB_INVALID_PRINTER_MESSAGE, _DtPrMsgPrintSetupBox_0016)
  88. #define INVALID_DISPLAY_MESSAGE DTPRINT_GETMESSAGE( \
  89. MS_PrintSetupBox, PSUB_INVALID_DISPLAY_MESSAGE, _DtPrMsgPrintSetupBox_0017)
  90. #define NOT_XP_DISPLAY_MESSAGE DTPRINT_GETMESSAGE( \
  91. MS_PrintSetupBox, PSUB_NOT_XP_DISPLAY_MESSAGE, _DtPrMsgPrintSetupBox_0018)
  92. #define NO_DEFAULT_MESSAGE DTPRINT_GETMESSAGE( \
  93. MS_PrintSetupBox, PSUB_NO_DEFAULT_MESSAGE, _DtPrMsgPrintSetupBox_0019)
  94. #define NO_DEFAULT_DISPLAY_MESSAGE DTPRINT_GETMESSAGE(MS_PrintSetupBox, \
  95. PSUB_NO_DEFAULT_DISPLAY_MESSAGE, _DtPrMsgPrintSetupBox_0020)
  96. #define PRINTER_MISSING_MESSAGE DTPRINT_GETMESSAGE(MS_PrintSetupBox, \
  97. PSUB_PRINTER_MISSING_MESSAGE, _DtPrMsgPrintSetupBox_0021)
  98. #define WARN_PRINT_DESTINATION DTPRINT_GETMESSAGE( \
  99. MS_PrintSetupBox, PSUB_WARN_PRINT_DESTINATION, _DtPrMsgPrintSetupBox_0022)
  100. #define WARN_CT_CONVERSION DTPRINT_GETMESSAGE( \
  101. MS_PrintSetupBox, PSUB_WARN_CT_CONVERSION, _DtPrMsgPrintSetupBox_0023)
  102. #define WARN_CONVERSION_ARGS DTPRINT_GETMESSAGE( \
  103. MS_PrintSetupBox, PSUB_WARN_CONVERSION_ARGS, _DtPrMsgPrintSetupBox_0024)
  104. #define PRLIST_ERROR_TITLE DTPRINT_GETMESSAGE( \
  105. MS_PrintSetupBox, PSUB_PRLIST_ERROR_TITLE, _DtPrMsgPrintSetupBox_0025)
  106. #define NO_PRINTERS_MESSAGE DTPRINT_GETMESSAGE( \
  107. MS_PrintSetupBox, PSUB_NO_PRINTERS_MESSAGE, _DtPrMsgPrintSetupBox_0026)
  108. #define DESC_UNAVAILABLE DTPRINT_GETMESSAGE( \
  109. MS_PrintSetupBox, PSUB_DESC_UNAVAILABLE, _DtPrMsgPrintSetupBox_0027)
  110. #define SELECT_FILE_TITLE DTPRINT_GETMESSAGE( \
  111. MS_PrintSetupBox, PSUB_SELECT_FILE_TITLE, _DtPrMsgPrintSetupBox_0028)
  112. #define PRINTER_INFO_TITLE DTPRINT_GETMESSAGE( \
  113. MS_PrintSetupBox, PSUB_PRINTER_INFO_TITLE, _DtPrMsgPrintSetupBox_0029)
  114. #define FORMAT_LABEL DTPRINT_GETMESSAGE( \
  115. MS_PrintSetupBox, PSUB_FORMAT_LABEL, _DtPrMsgPrintSetupBox_0030)
  116. #define MODEL_LABEL DTPRINT_GETMESSAGE( \
  117. MS_PrintSetupBox, PSUB_MODEL_LABEL, _DtPrMsgPrintSetupBox_0031)
  118. #define PRINTER_LIST_LABEL DTPRINT_GETMESSAGE( \
  119. MS_PrintSetupBox, PSUB_PRINTER_LIST_LABEL, _DtPrMsgPrintSetupBox_0032)
  120. #define MORE_PRINTERS_TITLE DTPRINT_GETMESSAGE( \
  121. MS_PrintSetupBox, PSUB_MORE_PRINTERS_TITLE, _DtPrMsgPrintSetupBox_0033)
  122. #define PRINT_TO_PRINTER_LABEL DTPRINT_GETMESSAGE( \
  123. MS_PrintSetupBox, PSUB_PRINT_TO_PRINTER, _DtPrMsgPrintSetupBox_0034)
  124. #define FILE_NAME_LABEL DTPRINT_GETMESSAGE( \
  125. MS_PrintSetupBox, PSUB_FILE_NAME, _DtPrMsgPrintSetupBox_0035)
  126. #define HELP_DLG_TITLE DTPRINT_GETMESSAGE( \
  127. MS_PrintSetupBox, PSUB_HELP_DLG_TITLE, _DtPrMsgPrintSetupBox_0036)
  128. #
  129. /*
  130. * Constants for Use in Allocation Geometry Matrix.
  131. */
  132. #define DtPSUB_MAX_WIDGETS_VERT 12
  133. /*
  134. * ------------------------------------------------------------------------
  135. * Type Definitions
  136. *
  137. */
  138. /*
  139. * data private to default resource procedures
  140. */
  141. typedef struct
  142. {
  143. String printer_name_ct;
  144. String printer_name;
  145. String description;
  146. } DtPrintSelectPrinterRec, *DtPrintSelectPrinterList;
  147. typedef struct _DtPrintDefaultProcData
  148. {
  149. /*
  150. * common data
  151. */
  152. Widget error_message_box;
  153. XtEnum messages_hint;
  154. Widget help_dialog;
  155. /*
  156. * select file proc
  157. */
  158. Widget file_selection_box;
  159. /*
  160. * select printer proc
  161. */
  162. Widget printer_selection_box;
  163. Widget printer_list_box;
  164. String* xp_server_list;
  165. int xp_server_count;
  166. DtPrintSelectPrinterList* printer_lists;
  167. int* printer_counts;
  168. int selected_printer;
  169. Display* select_printer_info_display;
  170. #if 0 && defined(PRINTING_SUPPORTED)
  171. XPContext select_printer_info_context;
  172. #endif /* PRINTING_SUPPORT */
  173. /*
  174. * printer info proc
  175. */
  176. Widget printer_info_box;
  177. } DtPrintDefaultProcData;
  178. /*
  179. * verify state
  180. */
  181. typedef enum {
  182. DtPRINT_VERIFIED,
  183. DtPRINT_IN_VERIFY,
  184. DtPRINT_NOT_VERIFIED
  185. } DtPrintVerifyState;
  186. /*
  187. * Constraint part record for PrintSetupBox widget
  188. */
  189. typedef struct _DtPrintSetupBoxConstraintPart
  190. {
  191. char unused;
  192. } DtPrintSetupBoxConstraintPart, * DtPrintSetupBoxConstraint;
  193. /*
  194. * New fields for the PrintSetupBox widget class record
  195. */
  196. typedef struct
  197. {
  198. XtCallbackProc list_callback ;
  199. XtPointer extension; /* Pointer to extension record */
  200. } DtPrintSetupBoxClassPart;
  201. /*
  202. * Full class record declaration
  203. */
  204. typedef struct _DtPrintSetupBoxClassRec
  205. {
  206. CoreClassPart core_class;
  207. CompositeClassPart composite_class;
  208. ConstraintClassPart constraint_class;
  209. XmManagerClassPart manager_class;
  210. XmBulletinBoardClassPart bulletin_board_class;
  211. DtPrintSetupBoxClassPart print_setup_box_class;
  212. } DtPrintSetupBoxClassRec;
  213. externalref DtPrintSetupBoxClassRec dtPrintSetupBoxClassRec;
  214. /*
  215. * New fields for the PrintSetupBox widget record
  216. */
  217. typedef struct
  218. {
  219. /*
  220. * synthetic resources
  221. */
  222. String file_name;
  223. String printer_name;
  224. XmString description_string;
  225. int copies;
  226. /*
  227. * flag resources
  228. */
  229. Boolean minimize_buttons;
  230. XtEnum print_destination;
  231. XtEnum print_setup_mode;
  232. XtEnum work_area_location;
  233. /*
  234. * procedure resources
  235. */
  236. DtPrintSetupProc printer_info_proc;
  237. DtPrintSetupProc select_file_proc;
  238. DtPrintSetupProc select_printer_proc;
  239. DtPrintSetupProc verify_printer_proc;
  240. /*
  241. * callback resources
  242. */
  243. XtCallbackList cancel_callback;
  244. XtCallbackList close_display_callback;
  245. XtCallbackList print_callback;
  246. XtCallbackList setup_callback;
  247. /*
  248. * other resources
  249. */
  250. XrmOptionDescList options;
  251. Cardinal option_count;
  252. /*
  253. * Xp standard resources
  254. */
  255. XtEnum xp_printer_name_mode;
  256. /*
  257. * internal flags
  258. */
  259. Boolean adding_sel_widgets;
  260. DtPrintVerifyState verify_printer_state;
  261. Boolean copy_count_supported;
  262. /*
  263. * internal data
  264. */
  265. String modal_printer_spec;
  266. Display* print_display;
  267. #if 0 && defined(PRINTING_SUPPORTED)
  268. XPContext print_context;
  269. #endif /* PRINTING_SUPPORTED */
  270. XtIntervalId timeout_id;
  271. /*
  272. * descendents
  273. */
  274. Widget bottom_separator;
  275. Widget bottom_work_area;
  276. Widget button_separator;
  277. Widget copies_control;
  278. Widget copies_spin_box;
  279. Widget description;
  280. Widget description_label;
  281. Widget destination_radio_box;
  282. Widget file_name_label;
  283. Widget file_name_text;
  284. Widget help_button;
  285. Widget print_button;
  286. Widget printer_info_button;
  287. Widget printer_name_label;
  288. Widget printer_name_text;
  289. Widget printer_name_combo;
  290. Widget select_file_button;
  291. Widget select_printer_button;
  292. Widget setup_button;
  293. Widget top_separator;
  294. Widget top_work_area;
  295. /*
  296. * data private to the default resource procedures
  297. */
  298. DtPrintDefaultProcData default_proc_data;
  299. } DtPrintSetupBoxPart;
  300. /*
  301. * Full instance record declaration
  302. */
  303. typedef struct _DtPrintSetupBoxRec
  304. {
  305. CorePart core;
  306. CompositePart composite;
  307. ConstraintPart constraint;
  308. XmManagerPart manager;
  309. XmBulletinBoardPart bulletin_board;
  310. DtPrintSetupBoxPart print_setup_box;
  311. } DtPrintSetupBoxRec;
  312. /*
  313. * ------------------------------------------------------------------------
  314. * Macro Definitions
  315. *
  316. */
  317. /*
  318. * Instance Record Access
  319. */
  320. #define PSUB_AddingSelWidgets(w) \
  321. (((DtPrintSetupBoxWidget) w)->print_setup_box.adding_sel_widgets)
  322. #define PSUB_AutoUnmanage(w) \
  323. (((DtPrintSetupBoxWidget) (w))->bulletin_board.auto_unmanage)
  324. #define PSUB_BottomSeparator(w) \
  325. (((DtPrintSetupBoxWidget) (w))->print_setup_box.bottom_separator)
  326. #define PSUB_BottomWorkArea(w) \
  327. (((DtPrintSetupBoxWidget) (w))->print_setup_box.bottom_work_area)
  328. #define PSUB_ButtonSeparator(w) \
  329. (((DtPrintSetupBoxWidget) (w))->print_setup_box.button_separator)
  330. #define PSUB_ButtonFontList(w) \
  331. (((DtPrintSetupBoxWidget) (w))->bulletin_board.button_font_list)
  332. #define PSUB_CancelButton(w) \
  333. (((DtPrintSetupBoxWidget) (w))->bulletin_board.cancel_button)
  334. #define PSUB_CancelCallback(w) \
  335. (((DtPrintSetupBoxWidget) (w))->print_setup_box.cancel_callback)
  336. #define PSUB_CloseDisplayCallback(w) \
  337. (((DtPrintSetupBoxWidget) (w))->print_setup_box.close_display_callback)
  338. #if 0 && defined(PRINTING_SUPPORTED)
  339. #define PSUB_Context(w) \
  340. (((DtPrintSetupBoxWidget) (w))->print_setup_box.print_context)
  341. #endif /* PRINTING_SUPPORTED */
  342. #define PSUB_Copies(w) \
  343. (((DtPrintSetupBoxWidget) (w))->print_setup_box.copies)
  344. #define PSUB_CopiesControl(w) \
  345. (((DtPrintSetupBoxWidget) (w))->print_setup_box.copies_control)
  346. #define PSUB_CopiesSpinBox(w) \
  347. (((DtPrintSetupBoxWidget) (w))->print_setup_box.copies_spin_box)
  348. #define PSUB_CopyCountSupported(w) \
  349. (((DtPrintSetupBoxWidget) (w))->print_setup_box.copy_count_supported)
  350. #define PSUB_DefaultButton(w) \
  351. (((DtPrintSetupBoxWidget) (w))->bulletin_board.default_button)
  352. #define PSUB_DefaultProcData(w) \
  353. (((DtPrintSetupBoxWidget) (w))->print_setup_box.default_proc_data)
  354. #define PSUB_Description(w) \
  355. (((DtPrintSetupBoxWidget) (w))->print_setup_box.description)
  356. #define PSUB_DescriptionLabel(w) \
  357. (((DtPrintSetupBoxWidget) (w))->print_setup_box.description_label)
  358. #define PSUB_DescriptionString(w) \
  359. (((DtPrintSetupBoxWidget) (w))->print_setup_box.description_string)
  360. #define PSUB_DestinationRadioBox(w) \
  361. (((DtPrintSetupBoxWidget) (w))->print_setup_box.destination_radio_box)
  362. #define PSUB_Display(w) \
  363. (((DtPrintSetupBoxWidget) (w))->print_setup_box.print_display)
  364. #define PSUB_FileName(w) \
  365. (((DtPrintSetupBoxWidget) (w))->print_setup_box.file_name)
  366. #define PSUB_FileNameLabel(w) \
  367. (((DtPrintSetupBoxWidget) (w))->print_setup_box.file_name_label)
  368. #define PSUB_FileNameText(w) \
  369. (((DtPrintSetupBoxWidget) (w))->print_setup_box.file_name_text)
  370. #define PSUB_HelpButton(w) \
  371. (((DtPrintSetupBoxWidget) (w))->print_setup_box.help_button)
  372. #define PSUB_LabelFontList(w) \
  373. (((DtPrintSetupBoxWidget) (w))->bulletin_board.label_font_list)
  374. #define PSUB_MarginHeight(w) \
  375. (((DtPrintSetupBoxWidget) (w))->bulletin_board.margin_height)
  376. #define PSUB_MarginWidth(w) \
  377. (((DtPrintSetupBoxWidget) (w))->bulletin_board.margin_width)
  378. #define PSUB_MinimizeButtons(w) \
  379. (((DtPrintSetupBoxWidget) w)->print_setup_box.minimize_buttons)
  380. #define PSUB_ModalPrinterSpec(w) \
  381. (((DtPrintSetupBoxWidget) w)->print_setup_box.modal_printer_spec)
  382. #define PSUB_MustMatch(w) \
  383. (((DtPrintSetupBoxWidget) w)->print_setup_box.must_match)
  384. #define PSUB_OptionCount(w) \
  385. (((DtPrintSetupBoxWidget) (w))->print_setup_box.option_count)
  386. #define PSUB_Options(w) \
  387. (((DtPrintSetupBoxWidget) (w))->print_setup_box.options)
  388. #define PSUB_PrintButton(w) \
  389. (((DtPrintSetupBoxWidget) (w))->print_setup_box.print_button)
  390. #define PSUB_PrintCallback(w) \
  391. (((DtPrintSetupBoxWidget) (w))->print_setup_box.print_callback)
  392. #define PSUB_PrintDestination(w) \
  393. (((DtPrintSetupBoxWidget) (w))->print_setup_box.print_destination)
  394. #define PSUB_PrinterInfoButton(w) \
  395. (((DtPrintSetupBoxWidget) (w))->print_setup_box.printer_info_button)
  396. #define PSUB_PrinterInfoProc(w) \
  397. (((DtPrintSetupBoxWidget) (w))->print_setup_box.printer_info_proc)
  398. #define PSUB_PrinterName(w) \
  399. (((DtPrintSetupBoxWidget) (w))->print_setup_box.printer_name)
  400. #define PSUB_PrinterNameText(w) \
  401. (((DtPrintSetupBoxWidget) (w))->print_setup_box.printer_name_text)
  402. #define PSUB_PrinterNameCombo(w) \
  403. (((DtPrintSetupBoxWidget) (w))->print_setup_box.printer_name_combo)
  404. #define PSUB_PrinterNameLabel(w) \
  405. (((DtPrintSetupBoxWidget) (w))->print_setup_box.printer_name_label)
  406. #define PSUB_PrintSetupMode(w) \
  407. (((DtPrintSetupBoxWidget) (w))->print_setup_box.print_setup_mode)
  408. #define PSUB_SelectFileButton(w) \
  409. (((DtPrintSetupBoxWidget) (w))->print_setup_box.select_file_button)
  410. #define PSUB_SelectFileProc(w) \
  411. (((DtPrintSetupBoxWidget) (w))->print_setup_box.select_file_proc)
  412. #define PSUB_SelectPrinterButton(w) \
  413. (((DtPrintSetupBoxWidget) (w))->print_setup_box.select_printer_button)
  414. #define PSUB_SelectPrinterProc(w) \
  415. (((DtPrintSetupBoxWidget) (w))->print_setup_box.select_printer_proc)
  416. #define PSUB_SetupButton(w) \
  417. (((DtPrintSetupBoxWidget) (w))->print_setup_box.setup_button)
  418. #define PSUB_SetupCallback(w) \
  419. (((DtPrintSetupBoxWidget) (w))->print_setup_box.setup_callback)
  420. #define PSUB_Shell(w) \
  421. (((DtPrintSetupBoxWidget) (w))->bulletin_board.shell)
  422. #define PSUB_StringDirection(w) \
  423. (((DtPrintSetupBoxWidget)(w))->manager.string_direction)
  424. #define PSUB_Text(w) \
  425. (((DtPrintSetupBoxWidget) (w))->print_setup_box.text)
  426. #define PSUB_TextColumns(w) \
  427. (((DtPrintSetupBoxWidget) w)->print_setup_box.text_columns)
  428. #define PSUB_TextFontList(w) \
  429. (((DtPrintSetupBoxWidget) (w))->bulletin_board.text_font_list)
  430. #define PSUB_TimeoutId(w) \
  431. (((DtPrintSetupBoxWidget) (w))->print_setup_box.timeout_id)
  432. #define PSUB_TopSeparator(w) \
  433. (((DtPrintSetupBoxWidget) (w))->print_setup_box.top_separator)
  434. #define PSUB_TopWorkArea(w) \
  435. (((DtPrintSetupBoxWidget) (w))->print_setup_box.top_work_area)
  436. #define PSUB_VerifyPrinterProc(w) \
  437. (((DtPrintSetupBoxWidget) (w))->print_setup_box.verify_printer_proc)
  438. #define PSUB_VerifyPrinterState(w) \
  439. (((DtPrintSetupBoxWidget) (w))->print_setup_box.verify_printer_state)
  440. #define PSUB_WorkAreaLocation(w) \
  441. (((DtPrintSetupBoxWidget) (w))->print_setup_box.work_area_location)
  442. #define PSUB_XpPrinterNameMode(w) \
  443. (((DtPrintSetupBoxWidget) (w))->print_setup_box.xp_printer_name_mode)
  444. /*
  445. * ------------------------------------------------------------------------
  446. * Private Function Declarations
  447. *
  448. */
  449. /*
  450. * Child Widget Creation Functions
  451. */
  452. extern void _DtPrintSetupBoxCreateButtonSeparator(
  453. DtPrintSetupBoxWidget psub);
  454. extern void _DtPrintSetupBoxCreateBottomSeparator(
  455. DtPrintSetupBoxWidget psub);
  456. extern void _DtPrintSetupBoxCreateCancelButton(
  457. DtPrintSetupBoxWidget psub);
  458. extern void _DtPrintSetupBoxCreateCopiesControl(
  459. DtPrintSetupBoxWidget psub);
  460. extern void _DtPrintSetupBoxCreateDescription(
  461. DtPrintSetupBoxWidget psub);
  462. extern void _DtPrintSetupBoxCreateDescriptionLabel(
  463. DtPrintSetupBoxWidget psub);
  464. extern void _DtPrintSetupBoxCreateDestinationRadioBox(
  465. DtPrintSetupBoxWidget psub);
  466. extern void _DtPrintSetupBoxCreateFileNameLabel(
  467. DtPrintSetupBoxWidget psub);
  468. extern void _DtPrintSetupBoxCreateFileNameText(
  469. DtPrintSetupBoxWidget psub);
  470. extern void _DtPrintSetupBoxCreateHelpButton(
  471. DtPrintSetupBoxWidget psub);
  472. extern void _DtPrintSetupBoxCreatePrintButton(
  473. DtPrintSetupBoxWidget psub);
  474. extern void _DtPrintSetupBoxCreatePrinterInfoButton(
  475. DtPrintSetupBoxWidget psub);
  476. extern void _DtPrintSetupBoxCreatePrinterNameLabel(
  477. DtPrintSetupBoxWidget psub);
  478. extern void _DtPrintSetupBoxCreatePrinterNameCombo(
  479. DtPrintSetupBoxWidget psub);
  480. extern void _DtPrintSetupBoxCreateSelectFileButton(
  481. DtPrintSetupBoxWidget psub);
  482. extern void _DtPrintSetupBoxCreateSelectPrinterButton(
  483. DtPrintSetupBoxWidget psub);
  484. extern void _DtPrintSetupBoxCreateSetupButton(
  485. DtPrintSetupBoxWidget psub);
  486. extern void _DtPrintSetupBoxCreateTopSeparator(
  487. DtPrintSetupBoxWidget psub);
  488. /*
  489. * Synthetic resource internal->external conversion functions
  490. */
  491. extern void _DtPrintSetupBoxGetCopies(
  492. Widget wid,
  493. int resource_offset,
  494. XtArgVal *value);
  495. extern void _DtPrintSetupBoxGetDescription(
  496. Widget wid,
  497. int resource_offset,
  498. XtArgVal *value);
  499. extern void _DtPrintSetupBoxGetFileName(
  500. Widget wid,
  501. int resource_offset,
  502. XtArgVal *value);
  503. extern void _DtPrintSetupBoxGetPrinterName(
  504. Widget wid,
  505. int resource_offset,
  506. XtArgVal *value);
  507. /*
  508. * Geometry Management
  509. */
  510. extern XmGeoMatrix _DtPrintSetupBoxGeoMatrixCreate(
  511. Widget wid,
  512. Widget instigator,
  513. XtWidgetGeometry *desired);
  514. extern Boolean _DtPrintSetupBoxNoGeoRequest(
  515. XmGeoMatrix geoSpec);
  516. #ifdef __cplusplus
  517. } /* Close scope of 'extern "C"' declaration which encloses file. */
  518. #endif
  519. #endif /* _DtPrintSetupBP_h */
  520. /* DON'T ADD ANYTHING AFTER THIS #endif */