Rogue Wave Views を X Window システムで使用する > libxviews を使用して Rogue Wave Views を X アプリケーションと統合する
 
libxviews を使用して Rogue Wave Views を X アプリケーションと統合する
Xlib バージョンでは、Xlib ベースのアプリケーションに Display オブジェクトへのポインター、描画先の Window、およびそのアプリケーションからイベントを受信する方法が指定されると、すぐにこのアプリケーションを統合することができます。
以下のセクションには、次のトピックに関する情報が記載されています。
*統合手順
*完全なテンプレート
*Motif による完全な例
統合手順
Rogue Wave Views を Xlib ベースのツールキットを使用するには、次を行う必要があります。 
1. 既存の X Display を使用して IlvDisplay インスタンスを作成する。
IlvDisplay コンストラクターを使用する。 
IlvDisplay::IlvDisplay(IlAny exitingXDisplay, const char* name);
例:
Display* xdisplay;
// ... initialize this Display*: xdisplay = XOpenDisplay(...);
IlvDisplay* ilvdisplay = new IlvDisplay((IlAny)xdisplay, "Views");
2. 既存の X Window を使用していずれかの IlvView インスタンスまたは IlvContainer インスタンスを作成する。 
IlvView コンストラクターを使用する。
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);
3. これらの IlvView ビューでイベントを管理する。 
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.