From b49d8ebefe9b10c53a6a09ad564e22111b7b25c6 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Sat, 20 Sep 2003 07:12:49 +0000 Subject: Initial Import --- win32/makedrop/settingspage.cpp | 100 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 win32/makedrop/settingspage.cpp (limited to 'win32/makedrop/settingspage.cpp') diff --git a/win32/makedrop/settingspage.cpp b/win32/makedrop/settingspage.cpp new file mode 100644 index 0000000..953eebd --- /dev/null +++ b/win32/makedrop/settingspage.cpp @@ -0,0 +1,100 @@ +/* + * 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() +{ + +} \ No newline at end of file -- cgit v1.2.3