libxviews を使用して Rogue Wave Views を X アプリケーションと統合する
Xlib バージョンでは、Xlib ベースのアプリケーションに Display オブジェクトへのポインター、描画先の Window、およびそのアプリケーションからイベントを受信する方法が指定されると、すぐにこのアプリケーションを統合することができます。
以下のセクションには、次のトピックに関する情報が記載されています。
統合手順
Rogue Wave Views を Xlib ベースのツールキットを使用するには、次を行う必要があります。
IlvDisplay::IlvDisplay(IlAny exitingXDisplay, const char* name);
例:
Display* xdisplay;
// ... initialize this Display*: xdisplay = XOpenDisplay(...);
IlvDisplay* ilvdisplay = new IlvDisplay((IlAny)xdisplay, "Views");
IlvView::IlvView(IlvDisplay* display,
IlvSystemView existingXWindow)
例:
IlvDisplay* display;
// initialize this 'display'
Window xWindow;
// initialize this X window
IlvView* view = new IlvView(display, (IlvSystemView)xWindow);
または
IlvContainer* container = new IlvContainer(display,
(IlvSystemView)xWindow);
X イベント受信後に、次を呼び出す必要があります。
IlvEventLoop::getEventLoop()->dispatchEvent(&xevent);
完全なテンプレート
メイン・プロシージャーは、以下のようになっています。
main()
{
// Initialize your toolkit
Display* xdisplay;
xdisplay = // XOpenDisplay...;
// Initialize an IlvDisplay
IlvDisplay* ilvdisplay = new IlvDisplay((IlAny)xdisplay, "Views");
// Create an X window:
Window xwindow;
xwindow = // ...;
// Create an IlvContainer
IlvContainer* container = new IlvContainer(display,(IlvSystemView)xwindow);
container->addObject(new IlvLabel(...));
// Now call the toolkit main event loop
}
Version 5.6
Copyright © 2012, Rogue Wave Software, Inc. All Rights Reserved.