SearchOptionsPane.cpp
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:11k
- // SearchOptionsPane.cpp : implementation file
- //
- // This file is a part of the XTREME TOOLKIT PRO MFC class library.
- // (c)1998-2008 Codejock Software, All Rights Reserved.
- //
- // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
- // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
- // CONSENT OF CODEJOCK SOFTWARE.
- //
- // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
- // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
- // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
- // SINGLE COMPUTER.
- //
- // CONTACT INFORMATION:
- // support@codejock.com
- // http://www.codejock.com
- //
- /////////////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "searchoptions.h"
- #include "SearchOptionsPane.h"
- #include "MainFrm.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CSearchOptionsPane
- IMPLEMENT_DYNCREATE(CSearchOptionsPane, CXTSearchOptionsView)
- CSearchOptionsPane::CSearchOptionsPane()
- : CXTSearchOptionsView(CSearchOptionsPane::IDD)
- , m_bFirstTime(true)
- {
- //{{AFX_DATA_INIT(CSearchOptionsPane)
- //}}AFX_DATA_INIT
- // load the search icon that is displayed in the upper left corner.
- m_hIcon = (HICON)::LoadImage(AfxGetInstanceHandle(),
- MAKEINTRESOURCE(IDI_SEARCH), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
- }
- CSearchOptionsPane::~CSearchOptionsPane()
- {
- // free GDI
- if (m_hIcon != NULL)
- ::DestroyIcon(m_hIcon);
- CXTRegistryManager regManager;
- regManager.WriteProfileInt(_T("Settings"), _T("Keyword"), m_expKeywords.IsExpanded());
- regManager.WriteProfileInt(_T("Settings"), _T("Filters"), m_expFilters.IsExpanded());
- }
- void CSearchOptionsPane::DoDataExchange(CDataExchange* pDX)
- {
- CXTSearchOptionsView::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CSearchOptionsPane)
- DDX_Control(pDX, IDC_TXT_SEP, m_txtSep);
- DDX_Control(pDX, IDC_EXP_KEYWORD, m_expKeywords);
- DDX_Control(pDX, IDC_EXP_FILTERS, m_expFilters);
- DDX_Control(pDX, IDC_COMBO_FAVORITES, m_combFavorites);
- DDX_Control(pDX, IDC_COMBO_ATMOST, m_combAtMost);
- DDX_Control(pDX, IDC_COMBO_ATLEAST, m_combAtLeast);
- DDX_Control(pDX, IDC_CHK_ATMOST, m_chkAtMost);
- DDX_Control(pDX, IDC_CHK_ATLEAST, m_chkAtLeast);
- DDX_Control(pDX, IDC_BTN_SEARCH, m_btnSearch);
- DDX_Control(pDX, IDC_BTN_SAVE, m_btnSave);
- DDX_Control(pDX, IDC_BTN_DELETE, m_btnDelete);
- DDX_Control(pDX, IDC_BTN_CLEAR, m_btnClear);
- DDX_Control(pDX, IDC_TXT_BUTNOT, m_txtButNot);
- DDX_Control(pDX, IDC_TXT_CONTAINING, m_txtContaining);
- DDX_Control(pDX, IDC_ICO_SEARCH, m_icoSearch);
- DDX_Control(pDX, IDC_TXT_WORDS, m_txtWords);
- DDX_Control(pDX, IDC_TXT_LETTERS, m_txtLetters);
- DDX_Control(pDX, IDC_TXT_HIDE_WORDS, m_txtHideWords);
- DDX_Control(pDX, IDC_TXT_HIDE_LETTERS, m_txtHideLetters);
- DDX_Control(pDX, IDC_TXT_FAVORITES, m_txtFavorites);
- DDX_Control(pDX, IDC_EDIT_WORDS, m_editWords);
- DDX_Control(pDX, IDC_EDIT_LETTERS, m_editLetters);
- DDX_Control(pDX, IDC_EDIT_CONTAINING, m_editContaining);
- DDX_Control(pDX, IDC_EDIT_BUTNOT, m_editButNot);
- DDX_Control(pDX, IDC_EDIT_ATMOST, m_editAtMost);
- DDX_Control(pDX, IDC_EDIT_ATLEAST, m_editAtLeast);
- DDX_Control(pDX, IDC_TXT_SEARCHTITLE, m_txtTitle);
- //}}AFX_DATA_MAP
- }
- BEGIN_MESSAGE_MAP(CSearchOptionsPane, CXTSearchOptionsView)
- //{{AFX_MSG_MAP(CSearchOptionsPane)
- ON_WM_CREATE()
- //}}AFX_MSG_MAP
- ON_BN_CLICKED(IDC_CAPTION, OnCaptionClose)
- ON_SON_XT_ITEMCONTRACTING(IDC_EXP_FILTERS, OnFiltersContracting)
- ON_SON_XT_ITEMCONTRACT(IDC_EXP_FILTERS, OnFiltersContract)
- ON_SON_XT_ITEMEXPANDING(IDC_EXP_FILTERS, OnFiltersExpanding)
- ON_SON_XT_ITEMEXPAND(IDC_EXP_FILTERS, OnFiltersExpand)
- ON_SON_XT_ITEMCONTRACTING(IDC_EXP_KEYWORD, OnKeywordContracting)
- ON_SON_XT_ITEMCONTRACT(IDC_EXP_KEYWORD, OnKeywordContract)
- ON_SON_XT_ITEMEXPANDING(IDC_EXP_KEYWORD, OnKeywordExpanding)
- ON_SON_XT_ITEMEXPAND(IDC_EXP_KEYWORD, OnKeywordExpand)
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CSearchOptionsPane diagnostics
- #ifdef _DEBUG
- void CSearchOptionsPane::AssertValid() const
- {
- CXTSearchOptionsView::AssertValid();
- }
- void CSearchOptionsPane::Dump(CDumpContext& dc) const
- {
- CXTSearchOptionsView::Dump(dc);
- }
- #endif //_DEBUG
- /////////////////////////////////////////////////////////////////////////////
- // CSearchOptionsPane message handlers
- int CSearchOptionsPane::OnCreate(LPCREATESTRUCT lpCreateStruct)
- {
- if (CXTSearchOptionsView::OnCreate(lpCreateStruct) == -1)
- return -1;
- // Create the caption.
- if (!m_wndCaption.Create(this, _T("Search"), CPWS_EX_RAISED_EDGE|CPWS_EX_CLOSEBUTTON,
- WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN|SS_CENTER|SS_CENTERIMAGE, CRect(0,0,0,0), IDC_CAPTION))
- {
- TRACE0( "Unable to create caption.n" );
- return -1;
- }
- // Move the caption to its default location.
- CRect rect;
- GetClientRect(&rect);
- rect.bottom = 19;
- rect.right += 2;
- m_wndCaption.MoveWindow(&rect);
- return 0;
- }
- void CSearchOptionsPane::OnCaptionClose()
- {
- // get a pointer to the application's frame window
- CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();
- ASSERT_VALID(pMainFrame);
- // hide this pane.
- pMainFrame->ToggleSearchPane();
- }
- void CSearchOptionsPane::OnInitialUpdate()
- {
- CXTSearchOptionsView::OnInitialUpdate();
- if ( m_bFirstTime )
- {
- // set the title icon.
- m_icoSearch.SetIcon(m_hIcon);
- // set the font for the search title.
- m_txtTitle.SetFont(&XTAuxData().fontBold);
- m_txtTitle.ModifyStyle(NULL, SS_ELLIPSISMASK);
- m_txtContaining.ModifyStyle(NULL, SS_ELLIPSISMASK);
- m_txtButNot.ModifyStyle(NULL, SS_ELLIPSISMASK);
- // Set control resizing.
- SetResize(IDC_CAPTION, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_TXT_SEARCHTITLE, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_TXT_SEP, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_TXT_CONTAINING, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_EDIT_CONTAINING, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_TXT_BUTNOT, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_EDIT_BUTNOT, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_BTN_SEARCH, SZ_TOP_RIGHT, SZ_TOP_RIGHT);
- SetResize(IDC_EXP_FILTERS, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_EDIT_ATLEAST, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_COMBO_ATLEAST, SZ_TOP_RIGHT, SZ_TOP_RIGHT);
- SetResize(IDC_EDIT_ATMOST, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_COMBO_ATMOST, SZ_TOP_RIGHT, SZ_TOP_RIGHT);
- SetResize(IDC_EXP_KEYWORD, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_EDIT_WORDS, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_TXT_WORDS, SZ_TOP_RIGHT, SZ_TOP_RIGHT);
- SetResize(IDC_EDIT_LETTERS, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_TXT_LETTERS, SZ_TOP_RIGHT, SZ_TOP_RIGHT);
- SetResize(IDC_TXT_FAVORITES, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_COMBO_FAVORITES, SZ_TOP_LEFT, SZ_TOP_RIGHT);
- SetResize(IDC_BTN_DELETE, SZ_TOP_RIGHT, SZ_TOP_RIGHT);
- SetResize(IDC_BTN_SAVE, SZ_TOP_RIGHT, SZ_TOP_RIGHT);
- // initialize the file and keyword filters search
- // option controls.
- InitFileFilters();
- InitKeywordFilters();
- // Show keywords conracted?
- CXTRegistryManager regManager;
- if (!regManager.GetProfileInt(_T("Settings"), _T("Keyword"), FALSE)) {
- m_expKeywords.Contract();
- }
- // Show filters conracted?
- if (!regManager.GetProfileInt(_T("Settings"), _T("Filters"), FALSE)) {
- m_expFilters.Contract();
- }
- m_bFirstTime = false;
- }
- }
- void CSearchOptionsPane::InitFileFilters()
- {
- // set the expand / contract text labels.
- m_expFilters.SetLabelText(
- _T("File Filters <<"), _T("File Filters >>"));
- // add the controls to the search options control,
- // these are the controls that are show and hidden when
- // the search options control is expanded or contracted.
- m_expFilters.AddControl(&m_chkAtLeast);
- m_expFilters.AddControl(&m_editAtLeast);
- m_expFilters.AddControl(&m_combAtLeast);
- m_expFilters.AddControl(&m_chkAtMost);
- m_expFilters.AddControl(&m_editAtMost);
- m_expFilters.AddControl(&m_combAtMost);
- // add the controls to the search options control that
- // are to be moved up or down in relation to the search
- // options control whenever the control is expanded or
- // contracted.
- m_expFilters.MoveControl(&m_expKeywords);
- m_expFilters.MoveControl(&m_txtHideWords);
- m_expFilters.MoveControl(&m_editWords);
- m_expFilters.MoveControl(&m_txtWords);
- m_expFilters.MoveControl(&m_txtHideLetters);
- m_expFilters.MoveControl(&m_editLetters);
- m_expFilters.MoveControl(&m_txtLetters);
- m_expFilters.MoveControl(&m_txtFavorites);
- m_expFilters.MoveControl(&m_combFavorites);
- m_expFilters.MoveControl(&m_btnDelete);
- m_expFilters.MoveControl(&m_btnSave);
- }
- void CSearchOptionsPane::InitKeywordFilters()
- {
- // set the expand / contract text labels.
- m_expKeywords.SetLabelText(
- _T("Keyword / Spam Filters <<"), _T("Keyword / Spam Filters >>"));
- // add the controls to the search options control,
- // these are the controls that are show and hidden when
- // the search options control is expanded or contracted.
- m_expKeywords.AddControl(&m_txtHideWords);
- m_expKeywords.AddControl(&m_editWords);
- m_expKeywords.AddControl(&m_txtWords);
- m_expKeywords.AddControl(&m_txtHideLetters);
- m_expKeywords.AddControl(&m_editLetters);
- m_expKeywords.AddControl(&m_txtLetters);
- // add the controls to the search options control that
- // are to be moved up or down in relation to the search
- // options control whenever the control is expanded or
- // contracted.
- m_expKeywords.MoveControl(&m_txtFavorites);
- m_expKeywords.MoveControl(&m_combFavorites);
- m_expKeywords.MoveControl(&m_btnDelete);
- m_expKeywords.MoveControl(&m_btnSave);
- }
- void CSearchOptionsPane::OnFiltersContracting()
- {
- //TODO: handle notification
- }
- void CSearchOptionsPane::OnFiltersContract()
- {
- AdjustScrollSizes(&m_expFilters, false);
- }
- void CSearchOptionsPane::OnFiltersExpanding()
- {
- //TODO: handle notification
- }
- void CSearchOptionsPane::OnFiltersExpand()
- {
- AdjustScrollSizes(&m_expFilters, true);
- }
- void CSearchOptionsPane::OnKeywordContracting()
- {
- //TODO: handle notification
- }
- void CSearchOptionsPane::OnKeywordContract()
- {
- AdjustScrollSizes(&m_expKeywords, false);
- }
- void CSearchOptionsPane::OnKeywordExpanding()
- {
- //TODO: handle notification
- }
- void CSearchOptionsPane::OnKeywordExpand()
- {
- AdjustScrollSizes(&m_expKeywords, true);
- }