changeset 103:59f9c8888e0a

Fix type error, need a button specific handler for the exit button.
author Brian Smith <brian@dbsoft.org>
date Mon, 08 Nov 2021 17:52:27 -0600
parents 76331c5ba1ac
children c3b5fae31eda
files dwtest/dwtest.go
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/dwtest/dwtest.go	Mon Nov 08 17:18:57 2021 -0600
+++ b/dwtest/dwtest.go	Mon Nov 08 17:52:27 2021 -0600
@@ -150,6 +150,13 @@
 	return TRUE
 }
 
+func exit_button_callback(window dw.HBUTTON, data dw.POINTER) int {
+	if dw.Messagebox("dwtest", dw.MB_YESNO|dw.MB_QUESTION, "Are you sure you want to exit?") != 0 {
+		dw.Main_quit()
+	}
+	return TRUE
+}
+
 func switch_page_callback(window dw.HNOTEBOOK, page_num dw.HNOTEPAGE, itemdata dw.POINTER) int {
 	fmt.Printf("DW_SIGNAL_SWITCH_PAGE: PageNum: %d\n", dw.HNOTEPAGE_TO_UINT(page_num))
 	return FALSE
@@ -978,6 +985,7 @@
 }
 
 var exit_callback_func = exit_callback
+var exit_button_callback_func = exit_button_callback
 var copy_clicked_callback_func = copy_clicked_callback
 var paste_clicked_callback_func = paste_clicked_callback
 var browse_file_callback_func = browse_file_callback
@@ -1141,7 +1149,7 @@
 	dw.Signal_connect(copybutton, dw.SIGNAL_CLICKED, dw.SIGNAL_FUNC(copy_clicked_callback_func), dw.HANDLE_TO_POINTER(copypastefield))
 	dw.Signal_connect(pastebutton, dw.SIGNAL_CLICKED, dw.SIGNAL_FUNC(paste_clicked_callback_func), dw.HANDLE_TO_POINTER(copypastefield))
 	dw.Signal_connect(okbutton, dw.SIGNAL_CLICKED, dw.SIGNAL_FUNC(beep_callback_func), nil)
-	dw.Signal_connect(cancelbutton, dw.SIGNAL_CLICKED, dw.SIGNAL_FUNC(exit_callback_func), dw.HANDLE_TO_POINTER(mainwindow))
+	dw.Signal_connect(cancelbutton, dw.SIGNAL_CLICKED, dw.SIGNAL_FUNC(exit_button_callback_func), dw.HANDLE_TO_POINTER(mainwindow))
 	dw.Signal_connect(cursortogglebutton, dw.SIGNAL_CLICKED, dw.SIGNAL_FUNC(cursortoggle_callback_func), dw.HANDLE_TO_POINTER(mainwindow))
 	dw.Signal_connect(colorchoosebutton, dw.SIGNAL_CLICKED, dw.SIGNAL_FUNC(colorchoose_callback_func), dw.HANDLE_TO_POINTER(mainwindow))
 }