summaryrefslogtreecommitdiff
path: root/NxWidgets/nxwm/include
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-05-19 01:01:00 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-05-19 01:01:00 +0000
commita591b9ca86b86684f2804cedf5d0c17a3614e913 (patch)
treeb60235b0a038088298aa0f5497411fcb453c424d /NxWidgets/nxwm/include
parent6cf694d2da5a661373a58c70e3d8e07cc8223eed (diff)
downloadnuttx-a591b9ca86b86684f2804cedf5d0c17a3614e913.tar.gz
nuttx-a591b9ca86b86684f2804cedf5d0c17a3614e913.tar.bz2
nuttx-a591b9ca86b86684f2804cedf5d0c17a3614e913.zip
NxWM: Add a missing part of the message blocking logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4748 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'NxWidgets/nxwm/include')
-rw-r--r--NxWidgets/nxwm/include/capplicationwindow.hxx4
-rw-r--r--NxWidgets/nxwm/include/cfullscreenwindow.hxx4
-rw-r--r--NxWidgets/nxwm/include/cwindowmessenger.hxx18
-rw-r--r--NxWidgets/nxwm/include/iapplication.hxx8
-rw-r--r--NxWidgets/nxwm/include/iapplicationwindow.hxx12
5 files changed, 31 insertions, 15 deletions
diff --git a/NxWidgets/nxwm/include/capplicationwindow.hxx b/NxWidgets/nxwm/include/capplicationwindow.hxx
index 686150d14..46e4e90d2 100644
--- a/NxWidgets/nxwm/include/capplicationwindow.hxx
+++ b/NxWidgets/nxwm/include/capplicationwindow.hxx
@@ -162,9 +162,11 @@ namespace NxWM
/**
* Block further activity on this window in preparation for window
* shutdown.
+ *
+ * @param app. The application to be blocked
*/
- void block(void);
+ void block(IApplication *app);
/**
* Set the window label
diff --git a/NxWidgets/nxwm/include/cfullscreenwindow.hxx b/NxWidgets/nxwm/include/cfullscreenwindow.hxx
index 1bab37543..70da9fee5 100644
--- a/NxWidgets/nxwm/include/cfullscreenwindow.hxx
+++ b/NxWidgets/nxwm/include/cfullscreenwindow.hxx
@@ -126,9 +126,11 @@ namespace NxWM
/**
* Block further activity on this window in preparation for window
* shutdown.
+ *
+ * @param app. The application to be blocked
*/
- void block(void);
+ void block(IApplication *app);
/**
* Set the window label
diff --git a/NxWidgets/nxwm/include/cwindowmessenger.hxx b/NxWidgets/nxwm/include/cwindowmessenger.hxx
index 645e750cb..0aa8961bb 100644
--- a/NxWidgets/nxwm/include/cwindowmessenger.hxx
+++ b/NxWidgets/nxwm/include/cwindowmessenger.hxx
@@ -98,6 +98,14 @@ namespace NxWM
void handleKeyboardEvent(void);
#endif
+ /**
+ * Handle a NX window blocked event
+ *
+ * @param arg - User provided argument (see nx_block or nxtk_block)
+ */
+
+ void handleBlockedEvent(FAR void *arg);
+
public:
/**
@@ -111,16 +119,6 @@ namespace NxWM
*/
~CWindowMessenger(void);
-
- /**
- * Destroy the application window and everything in it. This is
- * handled by CWindowMessenger (vs just calling the destructors) because
- * in the case where an application destroys itself (because of pressing
- * the stop button), then we need to unwind and get out of the application
- * logic before destroying all of its objects.
- */
-
- void destroy(IApplication *app);
};
}
#endif // __cplusplus
diff --git a/NxWidgets/nxwm/include/iapplication.hxx b/NxWidgets/nxwm/include/iapplication.hxx
index 28e50e013..456202c6d 100644
--- a/NxWidgets/nxwm/include/iapplication.hxx
+++ b/NxWidgets/nxwm/include/iapplication.hxx
@@ -45,8 +45,6 @@
#include "cnxstring.hxx"
#include "ibitmap.hxx"
-#include "iapplicationwindow.hxx"
-
/****************************************************************************
* Pre-Processor Definitions
****************************************************************************/
@@ -60,6 +58,12 @@
namespace NxWM
{
/**
+ * Foward references
+ */
+
+ class IApplicationWindow;
+
+ /**
* IApplication provides the abstract base class for each NxWM application.
*/
diff --git a/NxWidgets/nxwm/include/iapplicationwindow.hxx b/NxWidgets/nxwm/include/iapplicationwindow.hxx
index ed221797d..60f1b332c 100644
--- a/NxWidgets/nxwm/include/iapplicationwindow.hxx
+++ b/NxWidgets/nxwm/include/iapplicationwindow.hxx
@@ -46,6 +46,8 @@
#include "cnxstring.hxx"
#include "cwidgetcontrol.hxx"
+#include "iapplication.hxx"
+
/****************************************************************************
* Pre-Processor Definitions
****************************************************************************/
@@ -59,6 +61,12 @@
namespace NxWM
{
/**
+ * Foward references
+ */
+
+ class IApplication;
+
+ /**
* This callback class is used by the application to get notification of toolbar
* related events.
*/
@@ -137,9 +145,11 @@ namespace NxWM
/**
* Block further activity on this window in preparation for window
* shutdown.
+ *
+ * @param app. The application to be blocked
*/
- virtual void block(void) = 0;
+ virtual void block(IApplication *app) = 0;
/**
* Set the window label