VkWindow(3x) VkWindow(3x)
VkWindow - Base class for all top-level windows with menus
VkSimpleWindow : VkComponent : VkCallbackObject
#include <Vk/VkWindow.h>
PUBLIC PROTOCOL SUMMARY
Constructor/Destructor
VkWindow(const char *name,
ArgList args = NULL,
Cardinal argCount = 0);
virtual ~VkWindow();
Constructor - ViewKit 2.1 only [Toc] [Back]
VkWindow(const char *name,
VkScreen *screen,
ArgList args = NULL,
Cardinal argCount = 0);
Adding menus [Toc] [Back]
void setMenuBar(VkMenuBar *menuObj);
void setMenuBar(VkMenuDesc *menudesc);
void setMenuBar(VkMenuDesc *menudesc,
XtPointer clientData);
VkSubMenu *addMenuPane(const char *name);
VkSubMenu *addMenuPane(const char *name,
VkMenuDesc *desc);
VkRadioSubMenu *addRadioMenuPane(const char *name);
VkRadioSubMenu *addRadioMenuPane(const char *name,
VkMenuDesc *desc);
Access Functions [Toc] [Back]
virtual VkMenuBar *menu() const;
virtual const char *className();
static VkMenuBar *getMenu(VkComponent *object);
static VkWindow *getWindow(VkComponent *component);
The VkWindow class exhibits similar behavior as VkSimpleWindow except
that it provides additional support for a menubar, based on the VkMenuBar
class and related VkMenuItem classes. Menus can be added from outside the
class, using the public protocol, but it is generally recommended that
Page 1
VkWindow(3x) VkWindow(3x)
menus be added by derived classes to maintain encapsulation of all
operations associated with a window. The VkWindow class automatically
causes a help menu pane to be added to all menu bars.
Deriving Subclasses [Toc] [Back]
Class can be derived in much the same way as classes derived from
VkSimpleWindow. Views can be added by either calling addView in the
constructor or by defining a setUpInterface() member function. Menus may
also be added either in the constructor, or in the setUpInterface()
member function, depending on whether or not there is an advantage to
delaying menu creation until the window is shown. The cost of creating
menus in advance is small, since the widgets associated with a hierarchy
of VkMenuItems is never built until the menu is displayed.
The following example adds a menu pane named "Application" to a window's
menubar. The pane supports a single action, which exits the application.
#include <Vk/VkApp.h>
#include <Vk/VkSimpleWindow.h>
#include <Vk/VkRadioBox.h>
#include <Vk/VkSubMenu.h>
class SampleWindow: public VkSimpleWindow {
private:
static void quitCallback(Widget, XtPointer, XtPointer);
public:
SampleWindow ( const char *name ) : VkSimpleWindow ( name )
{
VkRadioBox *rb = new VkRadioBox("check", mainWindowWidget());
rb->addItem("one");
rb->addItem("two");
rb->addItem("three");
rb->addItem("four");
addView(rb);
// Add a menu pane
VkSubMenu *pane = addMenuPane("Application");
pane->addAction("Quit", &SampleWindow::quitCallback, (XtPointer) this);
}
// Destructor, className() functions not provided
};
Page 2
VkWindow(3x) VkWindow(3x)
FUNCTION DESCRIPTIONS [Toc] [Back] VkWindow
VkWindow(const char *name,
ArgList argList = NULL,
Cardinal argCount = 0);
The VkWindow constructor simply initializes internal data members
and calls the VkSimpleWindow constructor.
VkWindow - ViewKit 2.1 only [Toc] [Back]
VkWindow(const char *name,
VkScreen *screen,
ArgList argList = NULL,
Cardinal argCount = 0);
Creates an instance of VkWindow on the specified VkScreen.
~VkWindow
virtual ~VkWindow();
Destroys all memory allocated by this class. If this object has an
of instance of VkMenuBar installed, it is destroyed as well,
regardless of who created it.
setMenuBar
void setMenuBar(VkMenuBar *menuObj);
void setMenuBar(VkMenuDesc *menudesc);
This function installs a VkMenuBar object as the window's menubar.
The menubar may be specified as an instance of VkMenuBar, or
provided as a description of a menu hierarchy. See VkMenuBar(3X).
addMenuPane
VkSubMenu *addMenuPane(const char *name);
VkSubMenu *addMenuPane(const char *name, VkMenuDesc *desc);
This function adds a named menu pane to the window's menu bar An
optional menu description of the contents may be supplied. If no
menu bar is currently installed, one is created automatically.
addRadioMenuPane
VkRadioSubMenu *addRadioMenuPane(const char *name);
VkRadioSubMenu *addRadioMenuPane(const char *name, VkMenuDesc *desc);
Page 3
VkWindow(3x) VkWindow(3x)
This function adds a menu pane that supports toggle items and has
radio behavior. An optional menu description of the contents may be
supplied. If no menu bar is currently installed, one is created
automatically.
menu()
virtual VkMenuBar *menu() const;
Returns a pointer to a VkWindow object's menu instance.
getMenu()
static VkMenuBar *getMenu(VkComponent *object);
This static member function returns the menubar used by the window
that contains the given VkComponent. This allows components to add
items to menubars of windows in which they are placed, without a
hard coded connection between the window and the component.
getWindow()
static VkSimpleWindow *getWindow(VkComponent *component);
Returns the VkWindow object (or subclass) that contains the given
VkComponent. This allows components to operate on the window in
which they are contained, without a hard coded connection between
the window and the component.
className
virtual const char* className();
This class's class name is "VkWindow".
INHERITED MEMBER FUNCTIONS
Inherited from VkSimpleWindow
afterRealizeHook(), show(), hide(), *(), setUpWindowProperties(),
stateChanged(), handleWmDeleteMessage(), handleRawEvent(),
VkSimpleWindow(), ~VkSimpleWindow(), addView(), addView(),
removeView(), open(), raise(), lower(), iconize(), iconify(),
getTitle(), setTitle(), setIconName(), setClassHint(), iconic(),
visible(), mainWindowWidget(), viewWidget(), _iconState,
_visibleState, _stackingState, _mainWindowWidget,
Inherited from VkComponent [Toc] [Back]
installDestroyHandler(), removeDestroyHandler(), widgetDestroyed(),
setDefaultResources(), getResources(), realize(), manage(),
unmanage(), name(), baseWidget(), okToQuit(), isComponent(), _name,
_baseWidget, _w, deleteCallback
Page 4
VkWindow(3x) VkWindow(3x)
Inherited from VkCallbackObject [Toc] [Back]
callCallbacks(), addCallback(), removeCallback(),
removeAllCallbacks()
KNOWN DERIVED CLASSES [Toc] [Back] VkMsgWindow
CLASSES USED BY THIS CLASS
VkMenu, VkMenuBar, VkMenuItem
KNOWN CLASSES THAT USE THIS CLASS [Toc] [Back] VkGraph
VkSimpleWindow, VkComponent, VkCallbackObject, VkGraph, VkMenu,
VkMenuBar, VkMenuItem
ViewKit Programmer's Guide
The X Window System, DEC Press, Bob Sheifler and Jim Gettys
The X Window System Toolkit, DEC Press, Paul Asente and Ralph Swick
The OSF/Motif Programmers Reference, Prentice Hall, OSF
PPPPaaaaggggeeee 5555 [ Back ]
|