UIM/X – Motif 対応 GUI 構築ツール
このたび諸般の事情によりUIM/X の販売を2023 年 3 月末に終了することといたしました。
詳細は「UIM/X ライセンスおよび保守、販売終了のお知らせ」(PDF)をご参照いただきますようお願いいたします。
UIM/X は、最小の開発時間で最高のグラフィカルユーザーインタフェースを作成し、テストすることができます。
UIM/X製品概要
UIM/Xは、 さまざまな分野で利用できる GUIビルダです。アプリケーションのユーザーインタフェース部分の新規作成、修正、テスト、コードの自動生成などを会話的に行うことができます。これにより、ソフトウェア開発の工数と経費を削減し、生産性を高めることができます。

UIM/Xでは、 操作手順や表示などを統一しようというグラフィカルユーザインタフェース (GUI) 規格であるOSF/Motif1.2 のツールキットの機能をすべて利用できます。WYSIWYG(What You See Is What You Get) のエディタを使い、画面を見ながら OSF/Motifの任意のウィジェット(ひと目で情報を得られるように小型化されたアプリ)を選んで、ユーザーインタフェースを作成できます。
UIM/Xは、 Ux 簡易関数と呼ばれる関数群を提供しています。これにより、Xm やXt だけを使うよりも簡単に GUIを利用するアプリケーションのプログラミングを行なうことができます。
UIM/Xは、 C/C++インタプリタ を内蔵しています。そのため、ユーザーインタフェースを変更しても、ただちに動作を確認できます。UIM/Xを使えば、GUI を持つソフトウェアの開発で時間のかかる [コード生成→再コンパイル→再リンク→再実行→テスト ] というサイクルをたどる必要はありません。
UIM/Xで生成するコードには、 ユーザーが UIM/Xの中で作成したコードもすべて含まれています。そのため、生成されたソースコードに対してそのまま make を実行すれば、最終的なアプリケーションの実行ファイルが作られます。もちろん、このアプリケーションの動作は、UIM/Xのインタプリタで確認したときとまったく同じです。
UIM/Xでは、 GUI オブジェクトを組み合わせて部品を作ることができます。この部品を UIM/Xに登録して、すべての UIM/X ユーザーで再利用することができます。同じ部品を使用して効率的にユーザーインタフェースの統一を図ることができます。
UIM/Xは、 GUI 部品を C++のクラスとして考え、そのインスタンスやサブクラスを作成して利用することもできます。実際に C++でコード生成した場合には、GUI部品はクラスとして出力されます。
UIM/Xは、 アプリケーションレベルのオブジェクトを、GUI オブジェクトのように扱うことができます。アプリケーションレベルのオブジェクト とは、サーバーオブジェクトやデータベースオブジェクトのように GUI を持たないオブジェクトです。
UIM/Xには、 新しいクラスや独自開発のウィジェット、他のアプリケーションのオブジェクトコードなどをリンクして、拡張することができます。これにより、クラスのメソッドやオブジェクトコードで定義されている関数をインタプリタから呼び出せるようになります。
UIM/X の Connection Editor は、 インタフェースの動作を定義するコールバックコードを視覚的な操作で生成します。この機能を使えば、GUIのレイアウトだけでなく動作までも含めたアプリケーションのプロトタイプを、開発者に頼ることなくすばやく作ることができます。
UIM/X の Constraint Editor は、 インタフェース上の各コンポーネントのコンストレイントを視覚的に設定できます。思い通りのコンストレイントを手早く正確に設定できるので、高品質の Motif アプリケーションを容易に構築できます。
UIM/XのConnection Editor
UIM/XのConstraint Editor
UIM/X の動作環境
UIM/X が動作するプラットフォームとコンパイラの組み合わせです。
記載以外の対応状況については、弊社までお問い合わせください。
x86 または x86_64 アーキテクチャ(もしくはそれらの互換)のPCシステム
プラットフォーム名 | OS | コンパイラ | 対応ウィジェットセット |
---|---|---|---|
Red Hat Enterprise Linux 7 版 | RedHat Enterprise Linux 7 | OS 付属の gcc 4.8.5 | Motif 2.3.4 |
Red Hat Enterprise Linux 6 版 | RedHat Enterprise Linux 6 | OS 付属の gcc 4.4.6 | Motif 2.3 |
Red Hat Enterprise Linux 5 版 | RedHat Enterprise Linux 5 | OS 付属の gcc 4.1.2 | Motif 2.2.3 |
- ※UIM/X の内蔵インタプリタは C のみ (C++ インタプリタの機能はありません )
- ※C インタプリタは gcc の拡張機能をサポートしません ( 他プラットフォーム版と互換相当 )
Sun SPARC ワークステーション
プラットフォーム名 | OS | 動作確認済みの OS | コンパイラ |
---|---|---|---|
SPARC Solaris 2.x 版 | SPARC Solaris 2.5、2.5.1、2.6 | SPARC Solaris 7、8、9、10 | SPARCompiler C/C++ 4.X |
- ※SPARCompiler 4.x 以外のコンパイラと組み合わせて UIM/X を利用される場合は、C++ コンパイラの 4.0 互換モードを利用するよう UIM/X をインストールする必要があります。
HP9000/700シリーズ
プラットフォーム名 | OS | 動作確認済みの OS | コンパイラ |
---|---|---|---|
HP-UX 版 | HP-UX10.20 | HP-UX 11.0、11i v1 | HP ANSI C compiler、 HP ANSI C++ Compiler |
UIM/Xを用いた64ビットアプリケーション開発
UIM/X 自身は、64ビットOSの下でも 32 ビットアプリケーションとして動作します。
以下のプラットフォームでは、UIM/Xで生成したコードを 64 ビットアプリケーションとしてコンパイル/リンクできます。
プラットフォーム | 補足 |
---|---|
Red Hat Enterprise Linux 6 版 | 標準で64ビットアプリケーションとしてコンパイル/リンクします。32ビットアプリケーションを開発するためには Makefile を修正します。 |
Sun SPARC Solaris 2.x 版 | 生成したコードを 64 ビットアプリケーションとしてコンパイル/リンクするためのキットがパッケージに含まれています。 |
HP-UX 版 |
UIM/X で生成したソースコードの移植について
UIM/X が生成するコード自体は、基本的にプラットフォームに依存しません。ソースコードは、そのままコンパイル・リンクして実行形式を作成できる可能性があります。リソースの設定やコールバックのコードなどにプラットフォームに依存するものが含まれている場合には、コードの修正等の作業が必要です。
また、アプリケーションが UIM/X の Ux 簡易関数ライブラリを使用している場合は、ターゲットプラットフォーム上にも同ライブラリを用意する必要があります。UIM/X が対応していないプラットフォームをターゲットとする場合は Ux 簡易関数ライブラリのソースコードをご利用ください。
OSの動作環境、開発環境の違いによって以下のような影響を受ける可能性が考えられます。
Motif ライブラリの違い
Motif ライブラリのバージョンの違いによりウィジェットの見た目や細かな動作が異なることがあります。
必要に応じて修正をおこなってください。
デスクトップ環境の違い
ご利用のデスクトップ環境が変わる場合は、その違いが動作に影響をおよぼす可能性があります。
旧バージョンのUIM/Xからの移行
旧バージョンの UIM/X で保存したプロジェクトファイルやインタフェースファイルは、新しいバージョンの UIM/X で読み込むことができます。移行にあたって、次のような作業が必要な場合があります。
大域的なswidgetを利用する場合
C++で開発する場合には、 swidget の外部宣言の宣言方法を変更する作業が発生することがあります。
プログラムレイアウトエディタの記述
UIM/X のプロジェクトファイルには、プログラムレイアウトエディタで編集された main プログラムや Makefile の内容などが保存されている場合があります。そのような場合は、テキストエディタなどを用いて、プロジェクトファイルに記録されている main プログラムと Makefile の内容を一旦削除する必要があります。新しいバージョンのUIM/Xにプロジェクトファイルを読み込んでから、プログラムレイアウトエディタで必要な変更を反映してください。
インタプリタの違い
インタプリタが C++ をサポートしているプラットフォームでは、インタプリタの標準のモードは C++ モードです。
C言語モードで開発したプロジェクトファイルやインタフェースファイルを読み込む場合には、 UIM/X を起動する際に “-language ansic” などのコマンド行オプションを指定します。
Sunのバージョン5以降のコンパイラと組み合わせて利用するには
Solaris版 UIM/X 3.0 J2.05 は、以下の C/C++ コンパイラと組み合わせて使用できます。XRTウィジェットなどとの統合を含めた UIM/X の再構築作業も可能です。
- Sun WorkShop Compiler 5.0
- Forte 6 Compiler
- Sun ONE Studio 7 Compiler
- Sun ONE Studio 8 Compiler
- Sun ONE Studio 9 Compiler
- Sun Studio 11 Compiler
以下の手順に従ってUIM/Xをインストールします。
すでにインストールされている場合は、UIM/Xをいったん削除してから、再インストールしてください。
- 『UIM/X 3.0 のインストールと設定』にしたがって、媒体を読み込み、インストールスクリプトを起動します。
- インストールスクリプトの指示通りに入力していきます。ただし、コンパイラの設定については次のようにします。
コンパイラのパスをデフォルトのパスから変更するかどうか尋ねてきた際に yes と答えます。
そして、下記のようにパスを指定します。
・ C++の実行形式のパスを入力する際に、コンパイラの実行形式パスに加えて -compat=4 オプションを指定します。
・ C++のヘッダファイルのパスを入力する際に、 パスの最後の CC を CC4 と入力します。
上記以外のパスについては、インストールスクリプトの指示に従います。
例えばSun ONE Studio 9 Compiler が /opt/SUNWspro にインストールされている場合、 コンパイラの各パスを次のように入力します。
C の実行形式のパス | /opt/SUNWspro/prod/bin/cc -xc99=none (※1) |
---|---|
C++ の実行形式のパス | /opt/SUNWspro/prod/bin/CC -compat=4 (※2) |
C のヘッダファイルのパス | /opt/SUNWspro/prod/include/cc |
C++ のヘッダファイルのパス | /opt/SUNWspro/prod/include/CC4 |
ライブラリのパス | /opt/SUNWspro/prod/lib |
- (※1) C++ コンパイラの 4.0 互換モードを設定します。
- (※2) 1999 C 標準に固有の機能を使わないように設定します。
- 1999 C 標準規格(ISO/IEC 9899:1999 C 言語規格) 準拠のモードでは、 マニュアル『UIM/X 3.0 入門』のチュートリアルや一部のサンプルソフトのコンパイルに失敗することがあります。
マシン情報の取得について
UIM/X のライセンスキーを申請するには、下記の情報が必要です。
- ライセンスサーバーのホスト名
- ライセンスサーバーのホストID
ホスト名、ホストID の取得の仕方
プラットフォーム | ホスト名の取得 | ホストIDの取得 |
---|---|---|
SUN Solaris | /usr/ucb/hostname | /usr/ucb/hostid |
HP-UX | /bin/hostname | /bin/uname -i |
Red Hat Enterprise Linux | /bin/hostname | $UIMXDIR/bin/uxhostid (※) |
※ Red Hat Enterprise Linux 版は、 UIM/X のパッケージに付属する uxhostid
コマンドを利用します ($UIMXDIR は、UIM/Xをインストールしたディレクトリを指します)。
uxhostid は、こちらからダウンロードすることも可能です。
Ux 簡易関数ライブラリ ソースコード
Ux 簡易関数ライブラリは UIM/X に付属するライブラリで、Motif や Xt ライブラリの細かな知識が無くても、素早く簡単に Motif アプリケーションを作れるようにするものです。
Ux 簡易関数ライブラリのソースコードは、 現在 UIM/X が対応しているプラットフォームのみ対応しておりますので、 それ以外のプラットフォームでご利用の場合は、 ターゲットプラットフォーム用に移植していただく必要があります。 UIM/X は移植性の高いソースコードを生成するので、 ターゲットプラットフォームに Ux 簡易関数ライブラリを用意すれば、 比較的容易に移植できます。
ソースコードのパッケージには以下が含まれます。
- Ux 簡易関数ライブラリのソースコード (C言語 )
- Makefile のサンプル (UIM/X が対応しているプラットフォームのもの)
- 英語および日本語のメッセージカタログのソースファイル
XRT ウィジェットファミリ
XRTウィジェットの概要
Motif 標準のウィジェットにはないグラフ、表、タブ、入力チェックなどの機能を提供します。
XRT ウィジェットファミリは、Motif のウィジェットと一緒に使うことができます。
XRT を UIM/X 3.0 に統合すれば、 Motif のウィジェットを使う場合と同様に、UIM/X の機能を使ってアプリケーションの開発を行うことができます。
XRT ウィジェットには、次のようなものがあります。
- XRT/graph
- さまざまな 2 次元データのグラフ表示を行います。
- XRT/3d
- 対話的に 3 次元データを表示します。
- XRT/table
- あらゆる表形式のデータを表示することができます。
- XRT/gear
- タブコントロール機能を提供します。
- XRT/field
- 入力フィールドの表示とチェックを行います。
- XRT/guage
- ダイアルとゲ-ジの表示を行います。
データ表示用のウィジェット(graph、3d、table) は、印刷機能 (EPS 形式 ) を標準装備しています。
XRT/graph
XRT/graph は2 次元データのグラフ表示を行います。
以下のグラフ形式を用意しています。
- 折れ線グラフ
- 積み上げ折れ線グラフ
- 棒グラフ
- 積み上げ棒グラフ
- 円グラフ
XRT/graph は、以下の機能を用意しています。
- 複合グラフ
- 3D効果(円グラフ、棒グラフ)
- 対数軸
- 二番目のY軸

XRT/3d
XRT/3dは、対話的に視点を変えて、3 次元データを表示するウィジェットです。回転、スケーリング、ラべリング、陰線消去や透視図法の計算を自動的に行います。 XRT/3dは、以下のような基本形式を用意しています。
- 3 次サーフェスプロット
- 等高線図
- 3D 棒グラフ
XRT/3d は、色で四番目の次元を表すことで4Dグラフを作成できます。

XRT/table
XRT/tableは、あらゆる表形式のデータを表示することができるウィジェットです。
行と列に対して以下の操作が可能です。
- 追加
- 削除
- 移動
- 表示/非表示
- 色の指定
- 枠の表示方法の指定
XRT/tableは、以下のような操作が可能です。
- セルの編集
- 行と列のリサイズ
- マウスによるセルの範囲選択

XRT/gear
XRT/gearは、直感的な操作を支援するウィジェット群です。 以下のようなウィジェットを提供します。
- 拡張したラベル
- 拡張したプッシュボタン
- 拡張したトグルボタン
- 複数のタブを表示するためのタブマネージャ
- メニューバーの代わりとして使えるToolbar
- ラベルと入力ウィジェットを対にしたAligner
- 階層データを表示するOutliner
- タスクの状況を表示するProgress
- 選択肢から選ぶためのComboBox
- 複数のウィジェットをタイルのように並べるPaned Window

XRT/field
XRT/fieldは、ユーザーに日付、金額など特定の形式のデータの入力をうながし、入力されたデータのチェックを行うウィジェットです。
ユーザーが文字を入力した瞬間に、形式的なエラーを検出します。
XRT/fieldは、以下のウィジェットを提供します。
- 文字列を記憶できるよう拡張した Field
- 選択肢から選ぶための ComboBox
- 矢印ボタンで選択肢を変更するSpinBox
- 日付を入力するためのCalender
XRT/fieldは、以下の機能を提供します。
- 日付、整数、浮動小数点などへの自動変換
- 編集および表示の書式指定

XRT/guage
XRT/guageは、7つのダイアルとゲージの表示や、その値を変更するなどのルーチンを提供するウィジェットです。
コントロールパネルやシミュレーションのインタフェースの構築に適しています。
UIM/X用 XRT ウィジェット統合キット
統合キットの概要
UIM/X 3.0 用 XRTウィジェット統合キットは、XRT ウィジェットをUIM/X 3.0に統合するためのソフトウェアパッケージです。
このキットを使えば、UIM/Xのもとで、XRT ウィジェットを使ったインタフェースを対話的に開発できます。
統合キットの動作環境
UIM/X 3.0 用 XRT ウィジェット統合キットは、以下の環境を対象としています。
機種と OS
- RedHat Enterprise Linux 3、4、5、6、7
- Sun SPARC ワークステーション Solaris 2.5、2.5.1、2.6、7、8、9、10
- HP9000/700 シリーズ HP-UX 10.10、10.20、11.0、11i v1
UIM/X のバージョン
弊社が日本語化した UIM/X 3.0 J2.05 および UIM/X 3.0 J2.06
XRT ウィジェットのバージョン
XRT PDS (Professional Development Suite) 2.0J(CD13J) 、2.0.2J(CD15J)、2.1.0J(CD16J)、2.2.0J(CD17J) 、2.3.0 でご利用いただけます。
XRTウィジェット単体製品名 | バージョン |
---|---|
XRT/graph | 4.X |
XRT/table | 3.X |
XRT/3d | 3.X |
XRT/gear | 3.X |
XRT/field | 2.X |
注意 : XRT/guage には対応していません。
統合キットを用いた64ビットアプリケーション開発
64 ビットの動作環境を持つ Solaris および HP-UX では、 XRT ウィジェットを使った 64 ビットアプリケーションの開発も可能です。必要な環境と注意事項は下記をご覧ください。
動作環境
- Solaris 7 以降、または、HP-UX 11.0 以降
- OS が 64 ビットカーネルで動作している必要があります。
- 64 ビットの開発環境がインストールされている必要があります。
UIM/X
UIM/X 3.0J2.05 のパッケージに含まれている 64 ビットアプリケーション開発キットを予めインストールする必要があります。
XRTウィジェット
XRT ウィジェット は、32 ビットライブラリと 64 ビットライブラリの両方をインストールする必要があります。32 ビットライブラリは UIM/X との統合のために、64 ビットライブラリはアプリケーションとリンクするために必要です。
よくあるご質問
- UIM/Xで設計しているときと、コンパイル・リンクしたアプリケーションとで、見た目が違います。
-
プラットフォームによっては、複数の Motif ライブラリが付属していることがあります。UIM/Xにリンクされているライブラリと、生成したアプリケーションにリンクされるライブラリとでバージョンが違う場合、設計時と見た目が変わる場合があります。たとえばSolairs9ではMotif2.1とMotif1.2のライブラリが付属しており、アプリケーションをMotif1.2のライブラリとリンクすることで設計時の見た目に近づけることができます。
- XRT と統合したUIM/Xで作成したアプリケーションを移植できますか。
-
Ux簡易関数ライブラリを用いて開発する場合には、ターゲットプラットフォームにも、XRTウィジェットを拡張したUx簡易関数ライブラリを用意する必要があります。
- デスクトップ環境を変えたら、アプリケーションの見た目が変わってしまいました。
-
Motif を用いたアプリケーションは、組み合わせるデスクトップ環境によって、見た目や動作が影響をうけます。
例えば、次のような点が知られています。- 標準的な背景色
- トグルボタンの形状
- 標準的なフォント
- 標準状態のファイルセレクションボックス
- VendorShellのMwmDecolationsプロパティによる効果
- モーダルなダイアログを表示したときの動作
背景色やフォントについては、設定することで似たような見た目にできる可能性があります。
Contactお問い合わせ
お見積もり・ご相談など、お気軽にお問い合わせください。