NxWM update

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4676 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2012-04-29 22:10:52 +00:00
parent 2788274ea6
commit ff3967512e
9 changed files with 290 additions and 115 deletions

View File

@ -36,8 +36,7 @@
-include $(TOPDIR)/.config
-include $(TOPDIR)/Make.defs
NXWDIR := ${shell pwd | sed -e 's/ /\\ /g'}
NXWIDGETDIR := ${shell pwd | sed -e 's/ /\\ /g'}
ASRCS =
CSRCS =
@ -76,8 +75,12 @@ OBJS = $(AOBJS) $(COBJS) $(CXXOBJS)
BIN = libnxwidgets$(LIBEXT)
CFLAGS += -I include
CXXFLAGS += -I include
ifeq ($(WINTOOL),y)
INCDIROPT = -w
endif
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(NXWIDGETDIR)/include}
CXXFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(NXWIDGETDIR)/include}
DEPPATH = --dep-path src
VPATH = src
@ -97,7 +100,7 @@ check_nuttx:
@( \
if [ -z "$(TOPDIR)" ]; then \
echo "The path to the nuttx directory must be provided on the command line."; \
echo "Usage: make -C $(NXWDIR) TOPDIR=\"<nuttx directory>\""; \
echo "Usage: make -C $(NXWIDGETDIR) TOPDIR=\"<nuttx directory>\""; \
exit 1; \
fi; \
if [ ! -d "$(TOPDIR)" ]; then \

121
nxwm/Makefile Normal file
View File

@ -0,0 +1,121 @@
#################################################################################
# NxWidgets/nxwm/Makefile
#
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX, NxWidgets, nor the names of its contributors
# me be used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
#################################################################################
-include $(TOPDIR)/.config
-include $(TOPDIR)/Make.defs
NXWMDIR := ${shell pwd | sed -e 's/ /\\ /g'}
NXWIDGETDIR := $(NXWMDIR)/../libnxwidgets
ASRCS =
CSRCS =
# Window Manager
CXXSRCS = capplicationwindow.cxx cnxconsole.cxx cnxtaskbar.cxx
# Images
CXXSRCS += glyph_minimize.cxx glyph_nsh.cxx glyph_start.cxx glyph_stop.cxx
SRCS = $(ASRCS) $(CSRCS) $(CXXSRCS)
AOBJS = $(ASRCS:.S=$(OBJEXT))
COBJS = $(CSRCS:.c=$(OBJEXT))
CXXOBJS = $(CXXSRCS:.cxx=$(OBJEXT))
OBJS = $(AOBJS) $(COBJS) $(CXXOBJS)
BIN = libnxwm$(LIBEXT)
ifeq ($(WINTOOL),y)
INCDIROPT = -w
endif
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(NXWMDIR)/include}
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(NXWIDGETDIR)/include}
CXXFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(NXWMDIR)/include}
CXXFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(NXWIDGETDIR)/include}
DEPPATH = --dep-path src
VPATH = src
all: $(BIN)
.PHONY = check_nuttx depend clean distclean export
$(AOBJS): %$(OBJEXT): %.S
$(call ASSEMBLE, $<, $@)
$(COBJS): %$(OBJEXT): %.c
$(call COMPILE, $<, $@)
$(CXXOBJS): %$(OBJEXT): %.cxx
$(call COMPILEXX, $<, $@)
check_nuttx:
@( \
if [ -z "$(TOPDIR)" ]; then \
echo "The path to the nuttx directory must be provided on the command line."; \
echo "Usage: make -C $(NXWMDIR) TOPDIR=\"<nuttx directory>\""; \
exit 1; \
fi; \
if [ ! -d "$(TOPDIR)" ]; then \
echo "The nuttx directory (TOPDIR) does not exist: $(TOPDIR)"; \
exit 1; \
fi; \
if [ ! -f "$(TOPDIR)/.config" ]; then \
echo "The nuttx directory (TOPDIR) has not been configured"; \
echo "Please configure NuttX and try again"; \
exit 1; \
fi; \
)
$(BIN): check_nuttx $(OBJS)
@( for obj in $(OBJS) ; do \
$(call ARCHIVE, $@, $${obj}); \
done ; )
.depend: Makefile $(SRCS)
@$(MKDEP) $(DEPPATH) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
@touch $@
depend: .depend
clean:
@rm -f $(BIN) *.a *.o *~ .*.sw*
$(call CLEAN)
distclean: clean
@rm -f Make.dep .depend
export: $(BIN)
zip -r nxwidgets-export.zip include $(BIN) COPYING
-include Make.dep

View File

@ -43,6 +43,12 @@
#include <nuttx/config.h>
#include "cnxtkwindow.hxx"
#include "cnxtoolbar.hxx"
#include "cwidgeteventargs.hxx"
#include "cwidgeteventhandler.hxx"
#include "cimage.hxx"
#include "clabel.hxx"
#include "crlepalettebitmap.hxx"
/****************************************************************************
* Pre-Processor Definitions
@ -56,8 +62,6 @@
namespace NxWM
{
class CNxtkWindow;
/**
* This callback class is used by the application to get notification of toolbar
* related events.
@ -85,44 +89,43 @@ namespace NxWM
* and close buttions and passes these to the application via callbacks.
*/
class CApplicationWindow : public INxApplication
class CApplicationWindow : private NXWidgets::CWidgetEventHandler
{
protected:
NxWidgets::CNxTkWindow *m_window; /**< The framed window used by the application */
NxWidgets::CNxToolbar *m_toolbar; /**< The toolbar */
NxWidgets::CImage *m_minimizeImage; /**< The minimize icon */
NxWidgets::CImage *m_stopImage; /**< The close icon */
NxWidgets::CLabel *m_windowLabel; /**< The window title */
NxWidgets::CRlePaletteBitmap *m_minimizeBitmap; /**< The minimize icon bitmap */
NxWidgets::CRlePaletteBitmap *m_stopBitmap; /**< The stop icon bitmap */
NxWidgets::CRlePaletteBitmap *m_minimizeBitmap; /**< The minimize icon bitmap */
NxWidgets::CNxFont *m_windowFont; /**< The font used to rend the window label */
NXWidgets::CNxTkWindow *m_window; /**< The framed window used by the application */
NXWidgets::CNxToolbar *m_toolbar; /**< The toolbar */
NXWidgets::CImage *m_minimizeImage; /**< The minimize icon */
NXWidgets::CImage *m_stopImage; /**< The close icon */
NXWidgets::CLabel *m_windowLabel; /**< The window title */
NXWidgets::CRlePaletteBitmap *m_minimizeBitmap; /**< The minimize icon bitmap */
NXWidgets::CRlePaletteBitmap *m_stopBitmap; /**< The stop icon bitmap */
NXWidgets::CNxFont *m_windowFont; /**< The font used to rend the window label */
IApplicationCallback *m_callback; /**< Toolbar action callbacks */
/**
* Configure the standard application toolbar
* Handle a mouse button click event.
*
* @return True if the toolcar was successfully initialized.
* @param e The event data.
*/
bool configureToolbar(void);
void handleClickEvent(const NXWidgets::CWidgetEventArgs &e);
/**
* CNxApplicationWindow Destructor
* CApplicationWindow Destructor
*/
~CNxApplicationWindow(void);
~CApplicationWindow(void);
public:
/**
* CNxApplicationWindow Constructor
* CApplicationWindow Constructor
*
* @param taskbar. A pointer to the parent task bar instance
* @param window. The window to be used by this application.
*/
CNxApplicationWindow(NxWidgets::CNxTkWindow *window);
CApplicationWindow(NXWidgets::CNxTkWindow *window);
/**
* Initialize window. Window initialization is separate from
@ -139,7 +142,7 @@ namespace NxWM
* @return. The window used by this application
*/
inline NxWidgets::CNxTkWindow *getWindow(void) const
inline NXWidgets::CNxTkWindow *getWindow(void) const
{
return m_window;
}
@ -150,7 +153,7 @@ namespace NxWM
* @param appname. The name of the application to place on the window
*/
inline void setWindowLabel(NxWidgets::CNxString &appname)
inline void setWindowLabel(NXWidgets::CNxString &appname)
{
m_windowLabel->setText(appname);
}
@ -161,7 +164,7 @@ namespace NxWM
void registerCallbacks(IApplicationCallback *callback)
{
m_callback = callback
m_callback = callback;
}
};
}

View File

@ -64,10 +64,10 @@ namespace NxWM
* This class describes the NX windo manager's background image.
*/
class CNxBackImage : public NxWidgets::CImage
class CNxBackImage : public NXWidgets::CImage
{
private:
NxWidgets::CWidgetControl *m_widgetControl; // The controlling widget for the window
NXWidgets::CWidgetControl *m_widgetControl; // The controlling widget for the window
public:
/**

View File

@ -60,11 +60,11 @@ namespace NxWM
* This class describes the NX window manager's task bar
*/
class CNxTaskBar : public NxWidgets::CNxServer
class CNxTaskBar : public NXWidgets::CNxServer, private NXWidgets::CWidgetEventHandler
{
private:
NxWidgets:INxWindow *m_taskbar; /**< The toolbar window */
NxWidgets:INxWindow *m_background; /**< The background window */
NXWidgets:INxWindow *m_taskbar; /**< The toolbar window */
NXWidgets:INxWindow *m_background; /**< The background window */
INxApplication *m_start; /**< The start window */
/**
@ -110,7 +110,7 @@ namespace NxWM
* @param window. The window to be resized and repositioned
*/
void setApplicationGeometry(NxWidgets::INxWindow *window);
void setApplicationGeometry(NXWidgets::INxWindow *window);
/**
* Create the toolbar window.
@ -128,6 +128,15 @@ namespace NxWM
bool createBackgroundWindow(void);
/**
* Handle a mouse button click event.
*
* @param e The event data.
*/
void handleClickEvent(const CWidgetEventArgs &e);
/**
* CNxTaskBar Destructor
*/

View File

@ -33,8 +33,8 @@
*
****************************************************************************/
#ifndef __INCLUDE_NXWM_CONFIG_HXX
#define __INCLUDE_NXWM_CONFIG_HXX
#ifndef __INCLUDE_NXWMCONFIG_HXX
#define __INCLUDE_NXWMCONFIG_HXX
/****************************************************************************
* Included Files
@ -43,6 +43,7 @@
#include <nuttx/config.h>
#include "nxconfig.hxx"
#include "crlepalettebitmap.hxx"
/****************************************************************************
* Pre-Processor Definitions
@ -141,6 +142,12 @@
# define CONFIG_NXWM_TASKBAR_TOP 1
#endif
/* Tool Bar Configuration ***************************************************/
#ifndef CONFIG_NXWM_TOOLBAR_HEIGHT
# define CONFIG_NXWM_TOOLBAR_HEIGHT CONFIG_NXWM_TASKBAR_WIDTH
#endif
/* Colors *******************************************************************/
#endif // __INCLUDE_NXWM_CONFIG_HXX
#endif // __INCLUDE_NXWMCONFIG_HXX

View File

@ -33,8 +33,8 @@
*
****************************************************************************/
#ifndef __INCLUDE_NXWM_CONFIG_HXX
#define __INCLUDE_NXWM_CONFIG_HXX
#ifndef __INCLUDE_NXWMGLYPHS_HXX
#define __INCLUDE_NXWMGLYPHS_HXX
/****************************************************************************
* Included Files
@ -56,11 +56,11 @@
namespace NxWM
{
extern const struct NxWidgets::SRlePaletteBitmap g_nshBitmap;
extern const struct NxWidgets::SRlePaletteBitmap g_minimizeBitmap;
extern const struct NxWidgets::SRlePaletteBitmap g_startBitmap;
extern const struct NxWidgets::SRlePaletteBitmap g_stopBitmap;
extern const struct NXWidgets::SRlePaletteBitmap g_nshBitmap;
extern const struct NXWidgets::SRlePaletteBitmap g_minimizeBitmap;
extern const struct NXWidgets::SRlePaletteBitmap g_startBitmap;
extern const struct NXWidgets::SRlePaletteBitmap g_stopBitmap;
}
#endif // __cplusplus
#endif // __INCLUDE_NXWM_CONFIG_HXX
#endif // __INCLUDE_NXWMGLYPHS_HXX

View File

@ -39,28 +39,30 @@
#include <nuttx/config.h>
#include <nuttx/nx/nxglib.h>
#include "nxwmconfig.hxx"
#include "nxwmglyphs.hxx"
#include "cappliationwinow.hxx"
#include "capplicationwindow.hxx"
/********************************************************************************************
* Pre-Processor Definitions
********************************************************************************************/
/********************************************************************************************
* CNxApplicationWindow Method Implementations
* CApplicationWindow Method Implementations
********************************************************************************************/
using namespace NxWM;
/**
* CNxApplicationWindow Constructor
* CApplicationWindow Constructor
*
* @param taskbar. A pointer to the parent task bar instance
* @param window. The window to be used by this application.
*/
CNxApplicationWindow::CNxApplicationWindow(NxWidgets::CNxTkWindow *window);
CApplicationWindow::CApplicationWindow(NXWidgets::CNxTkWindow *window)
{
// Save the window for later use
@ -68,16 +70,16 @@ CNxApplicationWindow::CNxApplicationWindow(NxWidgets::CNxTkWindow *window);
// These will be created with the open method is called
m_toolbar = (NxWidgets::CNxToolbar *)0;
m_toolbar = (NXWidgets::CNxToolbar *)0;
m_minimizeImage = (NxWidgets::CImage *)0;
m_stopImage = (NxWidgets::CImage *)0;
m_windowLabel = (NxWidgets::CLabel *)0;
m_minimizeImage = (NXWidgets::CImage *)0;
m_stopImage = (NXWidgets::CImage *)0;
m_windowLabel = (NXWidgets::CLabel *)0;
m_minimizeBitmap = (NxWidgets::CRlePaletteBitmap *)0;
m_stopBitmap = (NxWidgets::CRlePaletteBitmap *)0;
m_minimizeBitmap = (NXWidgets::CRlePaletteBitmap *)0;
m_stopBitmap = (NXWidgets::CRlePaletteBitmap *)0;
m_windowFont = (NxWidgets::CNxFont *)0;
m_windowFont = (NXWidgets::CNxFont *)0;
// This will be initialized when the registerCallbacks() method is called
@ -85,10 +87,10 @@ CNxApplicationWindow::CNxApplicationWindow(NxWidgets::CNxTkWindow *window);
}
/**
* CNxApplicationWindow Destructor
* CApplicationWindow Destructor
*/
CNxApplicationWindow::~CNxApplicationWindow(void)
CApplicationWindow::~CApplicationWindow(void)
{
// Free the resources that we are responsible for
@ -143,29 +145,11 @@ CNxApplicationWindow::~CNxApplicationWindow(void)
* @return True if the window was successfully initialized.
*/
bool CNxApplicationWindow::open(void)
{
/* Configure the toolbar */
if (!configureToolbar())
{
return false;
}
return true;
}
/**
* Configure the standard application toolbar
*
* @return True if the toolcar was successfully initialized.
*/
bool configureToolbar(void)
bool CApplicationWindow::open(void)
{
// Open the toolbar
m_toolbar = m_window->openToolbar();
m_toolbar = m_window->openToolbar(CONFIG_NXWM_TOOLBAR_HEIGHT);
if (!m_toolbar)
{
// We failed to open the toolbar
@ -183,7 +167,7 @@ bool configureToolbar(void)
// Get the CWidgetControl associated with this window
NxWidgets::CWidgetControl *control = m_toolbar->getWidgetControl();
NXWidgets::CWidgetControl *control = m_toolbar->getWidgetControl();
if (control)
{
return false;
@ -191,7 +175,7 @@ bool configureToolbar(void)
// Create STOP bitmap container
m_stopBitmap = new NxWidgets::CRlePaletteBitmap(&g_stopBitmap);
m_stopBitmap = new NXWidgets::CRlePaletteBitmap(&g_stopBitmap);
if (!m_stopBitmap)
{
return false;
@ -199,8 +183,8 @@ bool configureToolbar(void)
// Create the STOP application icon at the right of the toolbar
nxgl_point_t iconPos;
nxgl_size_t iconSize;
struct nxgl_point_s iconPos;
struct nxgl_size_s iconSize;
// Get the height and width of the stop bitmap
@ -218,7 +202,7 @@ bool configureToolbar(void)
// Pick an X/Y position such that the image will position at the right of
// the toolbar and centered vertically.
iconPos.x = windowSize.w - iconsize.w;
iconPos.x = windowSize.w - iconSize.w;
if (iconSize.h >= windowSize.h)
{
@ -231,15 +215,20 @@ bool configureToolbar(void)
// Now we have enough information to create the image
m_stopImage = new CImage(control, iconPos.x, iconPos.y, iconSize.w, iconSize.h, m_stopBitmap);
m_stopImage = new NXWidgets::CImage(control, iconPos.x, iconPos.y, iconSize.w,
iconSize.h, m_stopBitmap);
if (!m_stopImage)
{
return false;
}
// Configure 'this' to receive mouse click inputs from the image
m_stopImage->addWidgetEventHandler(this);
// Create MINIMIZE application bitmap container
m_minimizeBitmap = new NxWidgets::CRlePaletteBitmap(&g_minimizeBitmap);
m_minimizeBitmap = new NXWidgets::CRlePaletteBitmap(&g_minimizeBitmap);
if (!m_minimizeBitmap)
{
return false;
@ -261,7 +250,7 @@ bool configureToolbar(void)
// Pick an X/Y position such that the image will position at the right of
// the toolbar and centered vertically.
iconPos.x -= iconsize.w;
iconPos.x -= iconSize.w;
if (iconSize.h >= windowSize.h)
{
@ -274,42 +263,40 @@ bool configureToolbar(void)
// Now we have enough information to create the image
m_minimizeImage = new CImage(control, iconPos.x, iconPos.y, iconSize.w, iconSize.h, m_minimizeBitmap);
m_minimizeImage = new NXWidgets::CImage(control, iconPos.x, iconPos.y, iconSize.w,
iconSize.h, m_minimizeBitmap);
if (!m_minimizeImage)
{
return false;
}
// Configure 'this' to receive mouse click inputs from the image
m_minimizeImage->addWidgetEventHandler(this);
// The rest of the toolbar will hold the left-justified application label
// Create the default font instance
m_windowFont = new CNxFont(CONFIG_NXWM_DEFAULT_FONTID,
CONFIG_NXWM_DEFAULT_FONTCOLOR,
CONFIG_NXWM_TRANSPARENT_COLOR);
m_windowFont = new NXWidgets::CNxFont(CONFIG_NXWM_DEFAULT_FONTID,
CONFIG_NXWM_DEFAULT_FONTCOLOR,
CONFIG_NXWM_TRANSPARENT_COLOR);
if (!m_windowFont)
{
return false;
}
// Get the width of the display
struct nxgl_size_s windowSize;
if (!m_bgWindow->getSize(&windowSize))
{
printf("CLabelTest::createGraphics: Failed to get window size\n");
return (CLabel *)NULL;
}
// Get the height and width of the text display area
size.w = pos.x
size.h = windowSize.h;
iconSize.w = iconPos.x;
iconSize.h = windowSize.h;
pos.x = 0;
pos.y = 0;
iconPos.x = 0;
iconPos.y = 0;
// Now we have enough information to create the label
m_windowLabel = new CLabel(control, pos.x, pos.y, size.w, size.h, "");
m_windowLabel = new NXWidgets::CLabel(control, iconPos.x, iconPos.y,
iconSize.w, iconSize.h, "");
if (!m_windowLabel)
{
return false;
@ -317,10 +304,42 @@ bool configureToolbar(void)
// Configure the label
m_windowLabel->setBorderLess(true);
m_windowLabel->setTextAlignmentHoriz(NxWidgets::TEXT_ALIGNMENT_HORIZ_LEFT);
m_windowLabel->setTextAlignmentVert(NxWidgets::TEXT_ALIGNMENT_VERT_CENTER);
m_windowLabel->setBorderless(true);
m_windowLabel->setTextAlignmentHoriz(NXWidgets::CLabel::TEXT_ALIGNMENT_HORIZ_LEFT);
m_windowLabel->setTextAlignmentVert(NXWidgets::CLabel::TEXT_ALIGNMENT_VERT_CENTER);
m_windowLabel->setRaisesEvents(false);
return true;
}
/**
* Handle a mouse button click event.
*
* @param e The event data.
*/
void CApplicationWindow::handleClickEvent(const NXWidgets::CWidgetEventArgs &e)
{
// Ignore the event if no callback is registered
if (m_callback)
{
// Check the stop application image
if (m_stopImage->isClicked())
{
// Notify the controlling logic that the application should be stopped
m_callback->close();
}
// Check the minimize image (only if the stop application image is not pressed)
else if (m_minimizeImage->isClicked())
{
// Notify the controlling logic that the application should be miminsed
m_callback->minimize();
}
}
}

View File

@ -202,7 +202,7 @@ void CNxTaskBar::disconnect(void)
// Close the windows
NxWidgets::CWidgetControl *control;
NXWidgets::CWidgetControl *control;
if (m_taskbar)
{
// Delete the contained widget control. We are responsible for it
@ -273,12 +273,12 @@ NXWidgets::CNxWindow *CNxTaskBar::openRawWindow(void)
{
// Initialize the widget control using the default style
NxWidgets::CWidgetControl *widgetControl = new CWidgetControl((CWidgetStyle *)NULL);
NXWidgets::CWidgetControl *widgetControl = new CWidgetControl((CWidgetStyle *)NULL);
// Get an (uninitialized) instance of the background window as a class
// that derives from INxWindow.
NxWidgets::CNxWindow window = createRawWindow(widgetControl);
NXWidgets::CNxWindow window = createRawWindow(widgetControl);
if (!window)
{
message("CNxwm::createGraphics: Failed to create background window\n");
@ -312,12 +312,12 @@ NXWidgets::CNxTkWindow *CNxTaskBar::openFramedWindow(void)
{
// Initialize the widget control using the default style
NxWidgets::CWidgetControl *widgetControl = new CWidgetControl((CWidgetStyle *)NULL);
NXWidgets::CWidgetControl *widgetControl = new CWidgetControl((CWidgetStyle *)NULL);
// Get an (uninitialized) instance of the background window as a class
// that derives from INxWindow.
NxWidgets:CNxTkWindow window = createRawWindow(widgetControl);
NXWidgets:CNxTkWindow window = createRawWindow(widgetControl);
if (!window)
{
message("CNxwm::createGraphics: Failed to create background window\n");
@ -347,12 +347,12 @@ NXWidgets::CNxTkWindow *CNxTaskBar::openFramedWindow(void)
* @return true on success
*/
bool CNxTaskBar::setApplicationGeometry(NxWidgets::INxWindow *window)
bool CNxTaskBar::setApplicationGeometry(NXWidgets::INxWindow *window)
{
// Get the widget control from the toolbar window. The physical window geometry
// should be the same for all windows.
NxWidgets::CWidgetControl *control = m_taskbar->getWidgetControl();
NXWidgets::CWidgetControl *control = m_taskbar->getWidgetControl();
// Now position and size the application. This will depend on the position and
// orientation of the toolbar.
@ -415,7 +415,7 @@ bool CNxTaskBar::createToolbarWindow(void)
// Get the contained widget control
NxWidgets::CWidgetControl *control = m_taskbar->getWidgetControl();
NXWidgets::CWidgetControl *control = m_taskbar->getWidgetControl();
// Get the size of the window from the widget control
@ -490,7 +490,7 @@ bool CNxTaskBar::createBackgroundWindow(void)
// Set the geometry to fit in the application window space
setApplicationGeometry(static_cast<NxWidgets::INxWidget>(m_background));
setApplicationGeometry(static_cast<NXWidgets::INxWidget>(m_background));
/* And lower the background window to the bottom of the display */
@ -518,7 +518,7 @@ bool CNxTaskBar::createStartWindow(void)
// Set the geometry to fit in the application window space
setApplicationGeometry(static_cast<NxWidgets::INxWidget>(m_start));
setApplicationGeometry(static_cast<NXWidgets::INxWidget>(m_start));
/* And lower the background window to the top of the display */
@ -530,3 +530,16 @@ bool CNxTaskBar::createStartWindow(void)
// m_start
return true;
}
/**
* Handle a mouse button click event.
*
* @param e The event data.
*/
void CNxApplicationWindow::handleClickEvent(const NXWidgets::CWidgetEventArgs &e)
{
#warning "Missing logic"
}