03.01.2013 Views

Chapter 1

Chapter 1

Chapter 1

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

In the last chapter, we concentrated on the drawing-related interactions between<br />

CCoeControl and RWindow (and, occasionally, RBackedUp-Window). In this chapter,<br />

we've introduced key processing, which brings in RWindowGroup and CCoeAppUi. The<br />

window server classes involved here are part of a small window class hierarchy, defined in<br />

w32std.h, and illustrated in Figure 12.7:<br />

Figure 12.7<br />

For much of the time, you can call these classes' functions through the control environment.<br />

Nevertheless, it is useful to understand them because the control environment is not<br />

designed to encapsulate the window server. Rather, the control environment provides a<br />

convenience layer for lodger controls and compound controls, and for the window server's<br />

major functions such as drawing, pointer, and key event handling.<br />

I won't be providing detailed information on these facilities but I'll give enough of an overview<br />

that you can understand what's available and find the information you need in the SDK.<br />

Class Name Description<br />

RWindowTreeNode Base class for all windows: a node in the tree that defines z-order<br />

RWindowGroup Unit of keyboard focus, and top-level owner of displayable<br />

windows<br />

RWindowBase Base class for all displayable windows<br />

RBlankWindow Entirely blank window<br />

RDrawableWindow Base class that defines windows which support drawing<br />

RBackedUpWindow Backed-up window: window server redraws invalid areas<br />

RWindow Standard window: application redraws invalid areas<br />

For most application programming, the most important concrete classes are RWindow and<br />

RWindowGroup. These are described in more detail in the following two sections.<br />

Because all displayable windows are ultimately owned by a window group, a window group<br />

is the top-level node in the tree that defines z-order. This means that all windows belonging<br />

to an application move back and forth in the z-order as a group. We can therefore use the<br />

terms 'foreground application' and 'application whose window group has focus'<br />

interchangeably.<br />

Note<br />

The window server allows applications to have more than one window group,<br />

but the control environment supports only a single window group per

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!