X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FPrinterParams.h;h=6ae9aa9be8678900ce32a3c3d904d52a9a72efc8;hb=ca339eb1991efcab02a5f1b7f33387b35df2a416;hp=48718c7926dfb3382f2136073d7f2a6e512d7634;hpb=0be0fcfd5907d448cd51addf83ed7032719a0692;p=lyx.git diff --git a/src/PrinterParams.h b/src/PrinterParams.h index 48718c7926..6ae9aa9be8 100644 --- a/src/PrinterParams.h +++ b/src/PrinterParams.h @@ -12,23 +12,21 @@ #ifndef PRINTERPARAMS_H #define PRINTERPARAMS_H -#include "lyxrc.h" +#include "LyXRC.h" -#ifdef ENABLE_ASSERTIONS -#include "support/lstrings.h" -#include "support/LAssert.h" -#endif +namespace lyx { /** - This struct contains (or should contain) all the parameters required for - printing a buffer. Some work still needs to be done on this struct and + This class contains (or should contain) all the parameters required for + printing a buffer. Some work still needs to be done on this class and printing handling in general to make it nice and full-featured. The main things I'd like to add now is the ability to print a read-only document with different orientation, papersize or single/duplex state than the document's settings. ARRae 20000423 */ -struct PrinterParams { +class PrinterParams { +public: /// enum Target { /// @@ -39,9 +37,9 @@ struct PrinterParams { /// Target target; /// - string printer_name; + std::string printer_name; /// - string file_name; + std::string file_name; /// bool all_pages; /** Print a page range. Both from_page and to_page used to be strings @@ -75,69 +73,27 @@ struct PrinterParams { // bool duplex; /** Test that all the fields contain valid entries. It's unlikely - that the internal code will get this wrong (at least for the - xforms code anyway) however new ports and external scripts - might drive the wrong values in. + that the internal code will get this wrong however new ports + and external scripts might drive the wrong values in. */ - void testInvariant() const - { -#ifdef ENABLE_ASSERTIONS - switch (target) { - case PRINTER: - //lyx::support::Assert(!printer_name.empty()); - break; - case FILE: - lyx::support::Assert(!file_name.empty()); - break; - default: - lyx::support::Assert(false); - break; - } -#endif - } - + void testInvariant() const; /// - PrinterParams(Target const & t = PRINTER, - string const & pname = lyxrc.printer, - string const & fname = string(), - bool const all = true, - unsigned int const & from = 1, - unsigned int const & to = 0, - bool const odd = true, - bool const even = true, - unsigned int const & copies = 1, - bool const sorted = false, - bool const reverse = false) - : target(t), - printer_name(pname), - file_name(fname), - all_pages(all), - from_page(from), - to_page(to), - odd_pages(odd), - even_pages(even), - count_copies(copies), - sorted_copies(sorted), - reverse_order(reverse) - { - testInvariant(); - } + PrinterParams(Target t = PRINTER, + std::string const & pname = lyxrc.printer, + std::string const & fname = std::string(), + bool all = true, + unsigned int from = 1, + unsigned int to = 0, + bool odd = true, + bool even = true, + unsigned int copies = 1, + bool sorted = false, + bool reverse = false); /// - PrinterParams(PrinterParams const & pp) - : target(pp.target), - printer_name(pp.printer_name), - file_name(pp.file_name), - all_pages(pp.all_pages), - from_page(pp.from_page), - to_page(pp.to_page), - odd_pages(pp.odd_pages), - even_pages(pp.even_pages), - count_copies(pp.count_copies), - sorted_copies(pp.sorted_copies), - reverse_order(pp.reverse_order) - { - testInvariant(); - } + PrinterParams(PrinterParams const & pp); }; + +} // namespace lyx + #endif