- /*
- * ===========================================================================
- * PRODUCTION $Log: print_dlg.cpp,v $
- * PRODUCTION Revision 1000.1 2004/06/01 21:04:01 gouriano
- * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.10
- * PRODUCTION
- * ===========================================================================
- */
- /* $Id: print_dlg.cpp,v 1000.1 2004/06/01 21:04:01 gouriano Exp $
- * ===========================================================================
- *
- * PUBLIC DOMAIN NOTICE
- * National Center for Biotechnology Information
- *
- * This software / database is a "United States Government Work" under the
- * terms of the United States Copyright Act. It was written as part of
- * the author's official duties as a United States Government employee and
- * thus cannot be copyrighted. This software / database is freely available
- * to the public for use. The National Library of Medicine and the U.S.
- * Government have not placed any restriction on its use or reproduction.
- *
- * Although all reasonable efforts have been taken to ensure the accuracy
- * and reliability of the software and data, the NLM and the U.S.
- * Government do not and cannot warrant the performance or results that
- * may be obtained by using this software or data. The NLM and the U.S.
- * Government disclaim all warranties, express or implied, including
- * warranties of performance, merchantability or fitness for any particular
- * purpose.
- *
- * Please cite the author in any work or product based on this material.
- *
- * ===========================================================================
- *
- * Authors: Peter Meric
- *
- * File Description:
- * CPrintDlg - Print options dialog
- *
- */
- #include <ncbi_pch.hpp>
- #include <gui/print/print_dlg.hpp>
- #include <gui/utils/message_box.hpp>
- #include <FL/Fl_File_Chooser.H>
- #include "print_options_dlg.hpp"
- BEGIN_NCBI_SCOPE
- #include "print_dlg_.cpp"
- CPrintDlg::CPrintDlg()
- {
- m_Window.reset(x_Create());
- Init();
- }
- CPrintDlg::CPrintDlg(const CPrintOptions& options)
- {
- m_Window.reset(x_Create());
- m_Options = options;
- Init();
- }
- void CPrintDlg::Init(void)
- {
- //
- // initialise fields
- //
- m_Postscript->argument(CPrintOptions::ePostscript);
- m_Pdf->argument(CPrintOptions::ePdf);
- m_Svg->argument(CPrintOptions::eSvg);
- if (m_Options.GetPrintOutput()) {
- m_LocationPrint->setonly();
- } else {
- m_LocationFile->setonly();
- m_Filename->value(m_Options.GetFilename().c_str());
- }
- }
- void CPrintDlg::x_OnBrowse(void)
- {
- const char* fname = fl_file_chooser("Save Print Output As?", "*", 0);
- if (fname && *fname) {
- m_Filename->value(fname);
- }
- }
- void CPrintDlg::x_OnOK()
- {
- const string fname(m_Filename->value());
- if (fname.length() == 0) {
- const string mesg("Output filename must be supplied");
- NcbiMessageBox(mesg);
- return;
- }
- x_UpdateOptions();
- CDialog::x_OnOK();
- }
- void CPrintDlg::x_OnSelectPrint(void)
- {
- m_Filename->deactivate();
- }
- void CPrintDlg::x_OnSelectFile(void)
- {
- m_Filename->activate();
- }
- void CPrintDlg::x_OnOptions(void)
- {
- CPrintOptionsDlg dlg(m_Options);
- if (dlg.ShowModal() == eOK) {
- m_Options = dlg.GetOptions();
- }
- }
- void CPrintDlg::x_UpdateOptions(void)
- {
- if (m_LocationFile->value() == 1) {
- m_Options.SetFilename(m_Filename->value());
- } else {
- m_Options.SetPrintOutput(true);
- }
- m_Options.SetOutputFormat
- (static_cast<CPrintOptions::EOutputFormat>
- (m_Format->mvalue()->argument()));
- }
- const CPrintOptions& CPrintDlg::GetOptions(void) const
- {
- return m_Options;
- }
- END_NCBI_SCOPE
- /*
- * ===========================================================================
- * $Log: print_dlg.cpp,v $
- * Revision 1000.1 2004/06/01 21:04:01 gouriano
- * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.10
- *
- * Revision 1.10 2004/05/21 22:27:50 gorelenk
- * Added PCH ncbi_pch.hpp
- *
- * Revision 1.9 2003/09/29 15:46:36 dicuccio
- * Inherit dialogs from CDialog
- *
- * Revision 1.8 2003/08/15 17:02:16 meric
- * Updates include paths for print-related files from gui/utils to gui/print
- *
- * Revision 1.7 2003/07/15 19:10:31 meric
- * Removed raster output formats
- *
- * Revision 1.6 2003/06/19 00:58:30 dicuccio
- * Minor reformatting. Use explicit return value comapre (== eOK) for
- * CPrintOptionsDlg::Show(). Added missing call to Init() in default ctor
- *
- * Revision 1.5 2003/06/17 19:54:40 meric
- * Added direct printing support (via PDF)
- *
- * Revision 1.4 2003/06/17 19:46:53 dicuccio
- * Fixed storage of integer type in widget - use argument() instead of user_data()
- *
- * Revision 1.3 2003/06/16 21:36:09 meric
- * Fixed c'tor to set m_MainWin using return value of x_Create()
- *
- * Revision 1.2 2003/06/16 21:22:34 meric
- * Added "launch viewer" check box
- *
- * Revision 1.1 2003/06/16 16:01:38 dicuccio
- * Moved generic print code code from opengl/print to utils.
- *
- * Revision 1.2 2003/06/16 12:44:52 dicuccio
- * Clean-up after initial commit
- *
- * Revision 1.1 2003 / 06 / 13 18:13:56 meric
- * Initial version
- *
- *
- * ===========================================================================
- */