diff options
Diffstat (limited to 'win32/makedrop/settingspage.cpp')
-rw-r--r-- | win32/makedrop/settingspage.cpp | 100 |
1 files changed, 100 insertions, 0 deletions
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: <nielsen@memberwebs.com> + */ + +#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 |