// DocOptions.cpp : implementation file // #include "stdafx.h" #include "msvc5ocr.h" #include "DocOptions.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDocOptions dialog CDocOptions::CDocOptions(ILEADRasterDocument* pLRasterDoc, CWnd* pParent /*=NULL*/) : CDialog(CDocOptions::IDD, pParent) { //{{AFX_DATA_INIT(CDocOptions) m_bEnablePageBreak = FALSE; m_bEnableTextBox = FALSE; m_nMarginHeight = 0; m_nMarginLeft = 0; m_nMarginTop = 0; m_nMarginWidth = 0; //}}AFX_DATA_INIT m_pLRasterDoc = pLRasterDoc; } void CDocOptions::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDocOptions) DDX_Control(pDX, IDOK, m_btnOK); DDX_Control(pDX, IDC_CMB_TABLE_METHOD, m_cmbTableMethod); DDX_Control(pDX, IDC_CMB_COLOR_RESULT, m_cmbColorRes); DDX_Control(pDX, IDC_CMB_PAPER_ORIENT, m_cmbPaperOrient); DDX_Control(pDX, IDC_CMB_PAPER_TYPE, m_cmbPaperType); DDX_Control(pDX, IDC_CMB_PAPER_SIZE, m_cmbPaperSize); DDX_Control(pDX, IDC_CMB_LANGUAGE_RESULT, m_cmbLangRes); DDX_Control(pDX, IDC_CMB_LANGUAGE_MODE, m_cmbLangMode); DDX_Control(pDX, IDC_CMB_MARGIN_MODE, m_cmbMarginMode); DDX_Check(pDX, IDC_CHK_ENABLE_PAGE_BREAK, m_bEnablePageBreak); DDX_Check(pDX, IDC_CHK_ENABLE_TXT_BOX, m_bEnableTextBox); DDX_Text(pDX, IDC_EDIT_MARGIN_HEIGHT, m_nMarginHeight); DDX_Text(pDX, IDC_EDIT_MARGIN_LEFT, m_nMarginLeft); DDX_Text(pDX, IDC_EDIT_MARGIN_TOP, m_nMarginTop); DDX_Text(pDX, IDC_EDIT_MARGIN_WIDTH, m_nMarginWidth); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDocOptions, CDialog) //{{AFX_MSG_MAP(CDocOptions) ON_EN_CHANGE(IDC_EDIT_MARGIN_LEFT, OnChangeEditMarginLeft) ON_EN_CHANGE(IDC_EDIT_MARGIN_TOP, OnChangeEditMarginTop) ON_EN_CHANGE(IDC_EDIT_MARGIN_WIDTH, OnChangeEditMarginWidth) ON_EN_CHANGE(IDC_EDIT_MARGIN_HEIGHT, OnChangeEditMarginHeight) ON_CBN_SELCHANGE(IDC_CMB_LANGUAGE_MODE, OnSelchangeCmbLanguageMode) ON_CBN_SELCHANGE(IDC_CMB_MARGIN_MODE, OnSelchangeCmbMarginMode) ON_CBN_SELCHANGE(IDC_CMB_PAPER_SIZE, OnSelchangeCmbPaperSize) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDocOptions message handlers BOOL CDocOptions::OnInitDialog() { CDialog::OnInitDialog(); m_cmbPaperSize.AddString(_TEXT("None")); m_cmbPaperSize.AddString(_TEXT("Auto")); m_cmbPaperSize.AddString(_TEXT("Predefined")); m_cmbPaperSize.SetItemData(0, SELNONE); m_cmbPaperSize.SetItemData(1, SELAUTO); m_cmbPaperSize.SetItemData(2, SELPREDEFINED); m_cmbPaperSize.SetCurSel(2); m_cmbPaperType.AddString(_TEXT("A4")); m_cmbPaperType.AddString(_TEXT("A0")); m_cmbPaperType.AddString(_TEXT("A1")); m_cmbPaperType.AddString(_TEXT("A2")); m_cmbPaperType.AddString(_TEXT("A3")); m_cmbPaperType.AddString(_TEXT("A5")); m_cmbPaperType.AddString(_TEXT("A6")); m_cmbPaperType.AddString(_TEXT("A7")); m_cmbPaperType.AddString(_TEXT("B0")); m_cmbPaperType.AddString(_TEXT("B1")); m_cmbPaperType.AddString(_TEXT("B2")); m_cmbPaperType.AddString(_TEXT("B3")); m_cmbPaperType.AddString(_TEXT("B4")); m_cmbPaperType.AddString(_TEXT("B5")); m_cmbPaperType.AddString(_TEXT("B6")); m_cmbPaperType.AddString(_TEXT("B7")); m_cmbPaperType.AddString(_TEXT("Letter")); m_cmbPaperType.AddString(_TEXT("Legal")); m_cmbPaperType.AddString(_TEXT("Executive")); m_cmbPaperType.AddString(_TEXT("From_image max")); m_cmbPaperType.SetItemData(0, PAPER_A4); m_cmbPaperType.SetItemData(1, PAPER_A0); m_cmbPaperType.SetItemData(2, PAPER_A1); m_cmbPaperType.SetItemData(3, PAPER_A2); m_cmbPaperType.SetItemData(4, PAPER_A3); m_cmbPaperType.SetItemData(5, PAPER_A5); m_cmbPaperType.SetItemData(6, PAPER_A6); m_cmbPaperType.SetItemData(7, PAPER_A7); m_cmbPaperType.SetItemData(8, PAPER_B0); m_cmbPaperType.SetItemData(9, PAPER_B1); m_cmbPaperType.SetItemData(10, PAPER_B2); m_cmbPaperType.SetItemData(11, PAPER_B3); m_cmbPaperType.SetItemData(12, PAPER_B4); m_cmbPaperType.SetItemData(13, PAPER_B5); m_cmbPaperType.SetItemData(14, PAPER_B6); m_cmbPaperType.SetItemData(15, PAPER_B7); m_cmbPaperType.SetItemData(16, PAPER_LETTER); m_cmbPaperType.SetItemData(17, PAPER_LEGAL); m_cmbPaperType.SetItemData(18, PAPER_EXECUTIVE); m_cmbPaperType.SetItemData(19, PAPER_FROMIMAGEMAX); m_cmbPaperType.SetCurSel(0); m_cmbPaperOrient.AddString(_TEXT("Portrait")); m_cmbPaperOrient.AddString(_TEXT("Landscape")); m_cmbPaperOrient.SetItemData(0, PAPER_ORIENT_PORTRAIT); m_cmbPaperOrient.SetItemData(1, PAPER_ORIENT_LANDSCAPE); m_cmbPaperOrient.SetCurSel(0); m_cmbLangMode.AddString(_TEXT("None")); m_cmbLangMode.AddString(_TEXT("Auto")); m_cmbLangMode.AddString(_TEXT("Predefined")); m_cmbLangMode.SetItemData(0, SELNONE); m_cmbLangMode.SetItemData(1, SELAUTO); m_cmbLangMode.SetItemData(2, SELPREDEFINED); m_cmbLangMode.SetCurSel(2); m_cmbLangRes.AddString(_TEXT("No Language")); m_cmbLangRes.AddString(_TEXT("Albanian")); m_cmbLangRes.AddString(_TEXT("French")); m_cmbLangRes.AddString(_TEXT("French Belgian")); m_cmbLangRes.AddString(_TEXT("Norwegian Nynorsk")); m_cmbLangRes.AddString(_TEXT("Polish")); m_cmbLangRes.AddString(_TEXT("Bahasa")); m_cmbLangRes.AddString(_TEXT("Catalan")); m_cmbLangRes.AddString(_TEXT("Croato Serbian Latin")); m_cmbLangRes.AddString(_TEXT("Czech")); m_cmbLangRes.AddString(_TEXT("Danish")); m_cmbLangRes.AddString(_TEXT("Dutch")); m_cmbLangRes.AddString(_TEXT("Dutch Belgian")); m_cmbLangRes.AddString(_TEXT("English Australian")); m_cmbLangRes.AddString(_TEXT("English UK")); m_cmbLangRes.AddString(_TEXT("English US")); m_cmbLangRes.AddString(_TEXT("Finnish")); m_cmbLangRes.AddString(_TEXT("French Canadian")); m_cmbLangRes.AddString(_TEXT("French Swiss")); m_cmbLangRes.AddString(_TEXT("German")); m_cmbLangRes.AddString(_TEXT("German Swiss")); m_cmbLangRes.AddString(_TEXT("Greek")); m_cmbLangRes.AddString(_TEXT("Hungarian")); m_cmbLangRes.AddString(_TEXT("Icelandic")); m_cmbLangRes.AddString(_TEXT("Italian")); m_cmbLangRes.AddString(_TEXT("Italian Swiss")); m_cmbLangRes.AddString(_TEXT("Norwegian")); m_cmbLangRes.AddString(_TEXT("Portuguese Brazilian")); m_cmbLangRes.AddString(_TEXT("Portuguese")); m_cmbLangRes.AddString(_TEXT("Rhaeto Romanic")); m_cmbLangRes.AddString(_TEXT("Romanian")); m_cmbLangRes.AddString(_TEXT("Slovak")); m_cmbLangRes.AddString(_TEXT("Spanish Castilian")); m_cmbLangRes.AddString(_TEXT("Spanish Mexican")); m_cmbLangRes.AddString(_TEXT("Swedish")); m_cmbLangRes.AddString(_TEXT("Turkish")); m_cmbLangRes.AddString(_TEXT("Serbo Croatian Cyrillic")); m_cmbLangRes.AddString(_TEXT("Bulgarian")); m_cmbLangRes.AddString(_TEXT("Russian")); m_cmbLangRes.SetItemData(0, LANGOUT_NO_LANGUAGE); m_cmbLangRes.SetItemData(1, LANGOUT_ALBANIAN); m_cmbLangRes.SetItemData(2, LANGOUT_FRENCH); m_cmbLangRes.SetItemData(3, LANGOUT_FRENCH_BELGIAN); m_cmbLangRes.SetItemData(4, LANGOUT_NORWEGIAN_NYNORSK); m_cmbLangRes.SetItemData(5, LANGOUT_POLISH); m_cmbLangRes.SetItemData(6, LANGOUT_BAHASA); m_cmbLangRes.SetItemData(7, LANGOUT_CATALAN); m_cmbLangRes.SetItemData(8, LANGOUT_CROATO_SERBIAN_LATIN); m_cmbLangRes.SetItemData(9, LANGOUT_CZECH); m_cmbLangRes.SetItemData(10, LANGOUT_DANISH); m_cmbLangRes.SetItemData(11, LANGOUT_DUTCH); m_cmbLangRes.SetItemData(12, LANGOUT_DUTCH_BELGIAN); m_cmbLangRes.SetItemData(13, LANGOUT_ENGLISH_AUSTRALIAN); m_cmbLangRes.SetItemData(14, LANGOUT_ENGLISH_UK); m_cmbLangRes.SetItemData(15, LANGOUT_ENGLISH_US); m_cmbLangRes.SetItemData(16, LANGOUT_FINNISH); m_cmbLangRes.SetItemData(17, LANGOUT_FRENCH_CANADIAN); m_cmbLangRes.SetItemData(18, LANGOUT_FRENCH_SWISS); m_cmbLangRes.SetItemData(19, LANGOUT_GERMAN); m_cmbLangRes.SetItemData(20, LANGOUT_GERMAN_SWISS); m_cmbLangRes.SetItemData(21, LANGOUT_GREEK); m_cmbLangRes.SetItemData(22, LANGOUT_HUNGARIAN); m_cmbLangRes.SetItemData(23, LANGOUT_ICELANDIC); m_cmbLangRes.SetItemData(24, LANGOUT_ITALIAN); m_cmbLangRes.SetItemData(25, LANGOUT_ITALIAN_SWISS); m_cmbLangRes.SetItemData(26, LANGOUT_NORWEGIAN); m_cmbLangRes.SetItemData(27, LANGOUT_PORTUGUESE_BRAZILIAN); m_cmbLangRes.SetItemData(28, LANGOUT_PORTUGUESE); m_cmbLangRes.SetItemData(29, LANGOUT_RHAETO_ROMANIC); m_cmbLangRes.SetItemData(30, LANGOUT_ROMANIAN); m_cmbLangRes.SetItemData(31, LANGOUT_SLOVAK); m_cmbLangRes.SetItemData(32, LANGOUT_SPANISH_CASTILIAN); m_cmbLangRes.SetItemData(33, LANGOUT_SPANISH_MEXICAN); m_cmbLangRes.SetItemData(34, LANGOUT_SWEDISH); m_cmbLangRes.SetItemData(35, LANGOUT_TURKISH); m_cmbLangRes.SetItemData(36, LANGOUT_SERBO_CROATIAN_CYRILLIC); m_cmbLangRes.SetItemData(37, LANGOUT_BULGARIAN); m_cmbLangRes.SetItemData(38, LANGOUT_RUSSIAN); m_cmbLangRes.SetCurSel(15); m_cmbColorRes.AddString(_TEXT("NONEGR")); m_cmbColorRes.AddString(_TEXT("BW")); m_cmbColorRes.AddString(_TEXT("Gray")); m_cmbColorRes.AddString(_TEXT("True Color")); m_cmbColorRes.AddString(_TEXT("Original")); m_cmbColorRes.SetItemData(0, COL_NONEGR); m_cmbColorRes.SetItemData(1, COL_BW); m_cmbColorRes.SetItemData(2, COL_GRAY); m_cmbColorRes.SetItemData(3, COL_TRUECOLOR); m_cmbColorRes.SetItemData(4, COL_ORIGINAL); m_cmbColorRes.SetCurSel(1); m_cmbMarginMode.AddString(_TEXT("None")); m_cmbMarginMode.AddString(_TEXT("Auto")); m_cmbMarginMode.AddString(_TEXT("Predefined")); m_cmbMarginMode.SetItemData(0, SELNONE); m_cmbMarginMode.SetItemData(1, SELAUTO); m_cmbMarginMode.SetItemData(2, SELPREDEFINED); m_cmbMarginMode.SetCurSel(2); m_cmbTableMethod.AddString(_TEXT("Use Tabs")); m_cmbTableMethod.AddString(_TEXT("Use Cells")); m_cmbTableMethod.SetItemData(0, TM_USETABS); m_cmbTableMethod.SetItemData(1, TM_USECELLS); m_cmbTableMethod.SetCurSel(0); SetDlgItemInt(IDC_EDIT_MARGIN_LEFT, 0); SetDlgItemInt(IDC_EDIT_MARGIN_TOP, 0); SetDlgItemInt(IDC_EDIT_MARGIN_WIDTH, 0); SetDlgItemInt(IDC_EDIT_MARGIN_HEIGHT, 0); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDocOptions::OnChangeEditMarginLeft() { CheckOKButton(); } void CDocOptions::OnChangeEditMarginTop() { CheckOKButton(); } void CDocOptions::OnChangeEditMarginWidth() { CheckOKButton(); } void CDocOptions::OnChangeEditMarginHeight() { CheckOKButton(); } void CDocOptions::CheckOKButton() { CString csMarginLeft, csMarginTop, csMarginWidth, csMarginHeight; GetDlgItemText(IDC_EDIT_MARGIN_LEFT, csMarginLeft); GetDlgItemText(IDC_EDIT_MARGIN_TOP, csMarginTop); GetDlgItemText(IDC_EDIT_MARGIN_WIDTH, csMarginWidth); GetDlgItemText(IDC_EDIT_MARGIN_HEIGHT, csMarginHeight); m_btnOK.EnableWindow(!csMarginLeft.IsEmpty() && !csMarginTop.IsEmpty() && !csMarginWidth.IsEmpty() && !csMarginHeight.IsEmpty()); } void CDocOptions::OnSelchangeCmbLanguageMode() { m_cmbLangRes.EnableWindow(m_cmbLangMode.GetItemData(m_cmbLangMode.GetCurSel()) == SELPREDEFINED); } void CDocOptions::OnSelchangeCmbMarginMode() { BOOL bEnable = (m_cmbMarginMode.GetItemData(m_cmbMarginMode.GetCurSel()) == SELPREDEFINED); CWnd * pMarginWnd = GetDlgItem(IDC_EDIT_MARGIN_LEFT); pMarginWnd->EnableWindow(bEnable); pMarginWnd = GetDlgItem(IDC_EDIT_MARGIN_TOP); pMarginWnd->EnableWindow(bEnable); pMarginWnd = GetDlgItem(IDC_EDIT_MARGIN_WIDTH); pMarginWnd->EnableWindow(bEnable); pMarginWnd = GetDlgItem(IDC_EDIT_MARGIN_HEIGHT); pMarginWnd->EnableWindow(bEnable); if (bEnable) CheckOKButton(); else m_btnOK.EnableWindow(TRUE); } void CDocOptions::OnSelchangeCmbPaperSize() { m_cmbPaperType.EnableWindow(m_cmbPaperSize.GetItemData(m_cmbPaperSize.GetCurSel()) == SELPREDEFINED); m_cmbPaperOrient.EnableWindow(m_cmbPaperSize.GetItemData(m_cmbPaperSize.GetCurSel()) == SELPREDEFINED); } void CDocOptions::OnOK() { UpdateData(); m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->PaperSizeMode = (MODE_SELECTOR)m_cmbPaperSize.GetItemData(m_cmbPaperSize.GetCurSel()); m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->PaperType = (PAPER_TYPE)m_cmbPaperType.GetItemData(m_cmbPaperType.GetCurSel()); m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->PaperOrientation = (PAPER_ORIENTATION)m_cmbPaperOrient.GetItemData(m_cmbPaperOrient.GetCurSel()); m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->LanguageMode = (MODE_SELECTOR)m_cmbLangMode.GetItemData(m_cmbLangMode.GetCurSel()); m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->ResultLanguage = (OUTPUT_LANGUAGE)m_cmbLangRes.GetItemData(m_cmbLangRes.GetCurSel()); m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->Color = (OUTPUT_COLOR)m_cmbColorRes.GetItemData(m_cmbColorRes.GetCurSel()); m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->EnableTextInBoxes = m_bEnableTextBox; m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->EnablePageBreaks = m_bEnablePageBreak; m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->TableMethod = (TABLE_METHOD)m_cmbTableMethod.GetItemData(m_cmbTableMethod.GetCurSel()); m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->MarginsMode = (MODE_SELECTOR)m_cmbMarginMode.GetItemData(m_cmbMarginMode.GetCurSel()); m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->MarginLeft = m_nMarginLeft; m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->MarginWidth = m_nMarginWidth; m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->MarginTop = m_nMarginTop; m_pLRasterDoc->GetResultOptions()->GetDocumentOptions()->MarginHeight = m_nMarginHeight; CDialog::OnOK(); }