/* * AUTHOR * N. Nielsen * * LICENSE * This software is in the public domain. * * The software is provided "as is", without warranty of any kind, * express or implied, including but not limited to the warranties * of merchantability, fitness for a particular purpose, and * noninfringement. In no event shall the author(s) be liable for any * claim, damages, or other liability, whether in an action of * contract, tort, or otherwise, arising from, out of, or in connection * with the software or the use or other dealings in the software. * * SUPPORT * Send bug reports to: */ #include "stdafx.h" #include "SettingsPage.h" // (Con|De)struction: ---------------------------------------------------- SettingsPage::SettingsPage(Droplet& droplet) : CPropertyPage(IDD_SETTINGS, _T("Settings")), m_droplet(droplet) { m_inited = false; } // loadData: ------------------------------------------------------------- // Load info from droplet onto page void SettingsPage::loadData() { m_inited = false; SetDlgItemText(IDC_TITLE, m_droplet.getTitle()); CheckDlgButton(IDC_BACKUP, m_droplet.keepBackups()); m_inited = true; updateControls(); } // onQuerySiblings: ------------------------------------------------------ // Broadcast from parent sheet when we have to reload droplet data LRESULT SettingsPage::onQuerySiblings(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { loadData(); return 0; } // onInitDialog: --------------------------------------------------------- // Page Initialization LRESULT SettingsPage::onInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { loadData(); return 0; } // onApply: -------------------------------------------------------------- // Save data to droplet LRESULT SettingsPage::onApply(int idCtrl, LPNMHDR pnmh, BOOL& bHandled) { string title; GetDlgItemText(IDC_TITLE, title.get_buffer(MAX_PATH), MAX_PATH); title.release_buffer(); m_droplet.setTitle(title); m_droplet.setBackups(IsDlgButtonChecked(IDC_BACKUP) ? true : false); return PSNRET_NOERROR; } // onChange: ------------------------------------------------------------- // Signal to parent when changes happen LRESULT SettingsPage::onChange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { if(m_inited) { SetModified(TRUE); updateControls(); } return 0; } // updateControls: ------------------------------------------------------- // Keep page status in sync void SettingsPage::updateControls() { }