BayGUIとは何か?
OrangePekoe、Mona用 GUI です(いまのところは)。
オブジェクト指向を使って、やりたいことをシンプルに実現します。
ユーザにやさしいGUIです
- 余計な機能はほとんどありません
- マウスとキーボードを使って直感的に操作できます
アプリ開発者にやさしいGUIです
- Java風のシンプルなAPIです
- C++を知っているひとならすぐに習得できます
- Cしか知らない人でもサンプルを見ればすぐに習得できます
- 見やすい日本語APIドキュメントもついています
独自のGUIライブラリーを作ってみたい人にやさしいGUIです
- 移植性を十分に考えた設計になっています
- シングルプロセス用のOSに依存した部分は10%以下です
- マルチプロセス用のOSに依存した部分は30%以下です
- コメントが事細かに日本語で入っています
- すべてのコンポーネントは十分にモジュール化されているので改造もすぐにできます
Mona0.2.0バンドルBayGUIとMona0.3.0バンドルBayGUIの相違点。
アプリ利用者向け
- ウィンドウのシェードボタンがなくなる
- 複数行テキスト入力部品が追加される
開発者向け
- BayGUIサーバーが廃止され、GUIサーバーと通信を行うようになる
- 上記に伴いMonaFormsアプリとBayGUIアプリを混在させることが可能になる
- すべての部品は個別のウィンドウとして管理される
- 上記に伴い部品ごとのクリッピングがまともになる
- 各部品の描画はオフスクリーンに行われ、親ウィンドウを更新することで表示が更新される
- Mona0.2.1 からのバックポート
- TextArea クラスが追加される
- Graphics::drawCircle() が追加される
- Graphics::fillCircle() が追加される
リファクタリング
- Fontクラスの削除
- Graphics::setFontStyle()が追加される
- Icon、Bitmapクラスの削除
- messages.hの削除
- FontManagerの名称変更
- なんでもかんでも関数にvirtualをつけていましたが、virtual関数が削減される
- なんでもかんでも変数をprotectedにしていましたが、なるべくprivateに変更される
- Stringクラスを積極的に使うようになる
- エンコーディングを考慮したマルチバイト文字をStringクラス内で扱うようにして移植性や使いやすさをあげます
- String::getBytes() でchar*が取れます
- String::toCharArray() でwchar*が取れます
- String[int index] でwcharが取れます
- String::length() はwstrlen()に相当します
- Windowsではwcharは2バイトですが、BayGUIではUCS-4を考慮して4バイトです
- もなーフォント も文字コードは4バイトです(いまのところ上位2バイトは使ってませんが)
更新履歴
- 2004/10/10
- 2004/10/12
- 2004/10/19
- Container, ListBox, WindowManagerを双方向リストを使うように全面書き換え
- 2004/10/20
- GRUNNER.EX5がコマンド履歴に対応
- GLAUNCH.EX5追加(アプリケーションランチャー)
- 2004/11/11
- IME(日本語入力)対応
- 現状はディスクの空き容量がないので機能を削除してあります
- 2004/12/20
- 2005/01/21
機能&動作仕様
Window操作
操作 | 意味 |
タイトルバーをクリック | ウィンドウを切り替える |
タイトルバーをドラッグ | ウィンドウを移動させる |
左上のボタンをクリック | ウィンドウを閉じる |
キー操作
キー操作 | 意味 |
ESC | ウィンドウマネージャ終了 |
ctrl+\ | IMEオン・オフ |
SPACE | 次候補表示(かな漢字変換中) |
文字コード
- デフォルト文字コードはUTF-8です
- デフォルトフォントは第1、第2水準、プロポーショナル表示に対応しています
- 文字コードの自動認識はおこないません
スクリーンショット
旧BayGUI

新BayGUI
ソースコード
バイナリーは MonaADK に取り込まれています。
- &ref(): File not found: "baygui2-041101.zip" at page "BayGUI";
コメント欄
HTML convert time to 0.098 sec.
Copyright(C)2003-2007 MonaProjectTeam, all rights reserved. powered by www.be-interactive.org