indexing
	description: "Standard dialog box to specify the properties of a particular print job."
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"
class interface
	WEL_PRINT_DIALOG
create 
	make
			
		ensure  WEL_STRUCTURE
			not_shared: not shared
feature 
	copies: INTEGER
			
	dc: WEL_PRINTER_DC
			
		require
			selected: selected
		ensure
			result_not_void: Result /= void
	flags: INTEGER
			
			
			WEL_PD_CONSTANTS
	from_page: INTEGER
			
		ensure
			positive_result: Result >= 0
	item: POINTER
			
			
			 WEL_ANY
	maximum_page: INTEGER
			
			
	minimum_page: INTEGER
			
			
	to_page: INTEGER
			
		ensure
			positive_result: Result >= 0
	
feature 
	structure_size: INTEGER
			
		ensure  WEL_STRUCTURE
			positive_result: Result > 0
	
feature 
	all_pages_selected: BOOLEAN
			
	collate_checked: BOOLEAN
			
	exists: BOOLEAN
			item
			 WEL_ANY
		ensure  WEL_ANY
			Result = (item /= default_pointer)
	has_flag (a_flags: INTEGER): BOOLEAN
			a_flagsflags
			WEL_PD_CONSTANTSa_flags
			
	page_numbers_enabled: BOOLEAN
			
	page_numbers_selected: BOOLEAN
			
	print_setup_enabled: BOOLEAN
			
	print_to_file_checked: BOOLEAN
			
	print_to_file_enabled: BOOLEAN
			
	print_to_file_shown: BOOLEAN
			
	selected: BOOLEAN
			
			
			
			 WEL_STANDARD_DIALOG
	selection_enabled: BOOLEAN
			
	selection_selected: BOOLEAN
			
	shared: BOOLEAN
			item
			item
			destroy_item
			item
			 WEL_ANY
	warning_enabled: BOOLEAN
			
			
	
feature 
	check_collate
			
		ensure
			collate_checked: collate_checked
	check_print_to_file
			
		ensure
			print_to_file_checked: print_to_file_checked
	disable_page_numbers
			
		ensure
			page_numbers_disabled: not page_numbers_enabled
	disable_print_setup
			
			
		ensure
			print_setup_disabled: not print_setup_enabled
	disable_print_to_file
			
		ensure
			print_to_file_disabled: not print_to_file_enabled
	disable_selection
			
		ensure
			selection_disabled: not selection_enabled
	disable_warning
			
			
		ensure
			warning_disabled: not warning_enabled
	enable_page_numbers
			
		ensure
			page_numbers_enabled: page_numbers_enabled
	enable_print_setup
			
			
		ensure
			print_setup_enabled: print_setup_enabled
	enable_print_to_file
			
		ensure
			print_to_file_enabled: print_to_file_enabled
	enable_selection
			
		ensure
			selection_enabled: selection_enabled
	enable_warning
			
			
		ensure
			warning_enabled: warning_enabled
	hide_print_to_file
			
		ensure
			print_to_file_hidden: not print_to_file_shown
	select_all_pages
			
		ensure
			all_pages_selected: all_pages_selected
	select_page_numbers
			
		ensure
			page_numbers_selected: page_numbers_selected
	select_selection
			
		ensure
			selection_selected: selection_selected
	set_shared
			shared
			 WEL_ANY
		ensure  WEL_ANY
			shared: shared
	set_unshared
			shared
			 WEL_ANY
		ensure  WEL_ANY
			unshared: not shared
	show_print_to_file
			
		ensure
			print_to_file_shown: print_to_file_shown
	uncheck_collate
			
		ensure
			collate_unchecked: not collate_checked
	uncheck_print_to_file
			
		ensure
			print_to_file_unchecked: not print_to_file_checked
	
feature 
	add_flag (a_flags: INTEGER)
			a_flagsflags
			WEL_PD_CONSTANTSa_flags
		ensure
			has_flag: has_flag (a_flags)
	remove_flag (a_flags: INTEGER)
			a_flagsflags
			WEL_PD_CONSTANTSa_flags
		ensure
			has_not_flag: not has_flag (a_flags)
	set_copies (number: INTEGER)
			copiesnumber
		ensure
			copies_set: copies = number
	set_flags (a_flags: INTEGER)
			flagsa_flags
			WEL_PD_CONSTANTSa_flags
		ensure
			flags_set: flags = a_flags
	set_from_page (page: INTEGER)
			from_pagepage
		ensure
			from_page_set: from_page = page
	set_item (an_item: POINTER)
			iteman_item
			 WEL_ANY
		ensure  WEL_ANY
			item_set: item = an_item
	set_maximum_page (page: INTEGER)
			maximum_pagepage
		ensure
			maximum_page_set: maximum_page = page
	set_minimum_page (page: INTEGER)
			minimum_pagepage
		ensure
			minimum_page_set: minimum_page = page
	set_to_page (page: INTEGER)
			to_pagepage
		ensure
			to_page_set: to_page = page
	
feature 
	dispose
			Current
			
			
			Current
			
			 WEL_ANY
	
feature 
	to_integer: INTEGER
			item
			 WEL_ANY
		ensure  WEL_ANY
			Result = cwel_pointer_to_integer (item)
	
feature 
	activate (a_parent: WEL_COMPOSITE_WINDOW)
			
			a_parent
		require  WEL_STANDARD_DIALOG
			a_parent_not_void: a_parent /= void
			a_parent_exists: a_parent.exists
	structure_initialize
			
			 WEL_STRUCTURE
		require  WEL_STRUCTURE
			exists: exists
	initialize_with_character (a_character: CHARACTER)
			a_character
			 WEL_STRUCTURE
		require  WEL_STRUCTURE
			exists: exists
	memory_copy (source_pointer: POINTER; length: INTEGER)
			lengthsource_pointeritem
			 WEL_STRUCTURE
		require  WEL_STRUCTURE
			length_small_enough: length <= structure_size
			length_large_enough: length > 0
			exists: exists
	
invariant
		 ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)
end -- WEL_PRINT_DIALOG