summaryrefslogtreecommitdiff
path: root/win32/makedrop/settingspage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'win32/makedrop/settingspage.cpp')
-rw-r--r--win32/makedrop/settingspage.cpp100
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