BayGUIとは何か? †
OrangePekoe、Mona用 GUI です(いまのところは)。
オブジェクト指向を使って、やりたいことをシンプルに実現します。
ユーザにやさしいGUIです †
- 余計な機能はほとんどありません
- マウスとキーボードを使って直感的に操作できます
アプリ開発者にやさしいGUIです †
- Java風のシンプルなAPIです
- C++を知っているひとならすぐに習得できます
- Cしか知らない人でもサンプルを見ればすぐに習得できます
- 見やすい日本語APIドキュメントもついています
独自のGUIライブラリーを作ってみたい人にやさしいGUIです †
- 移植性を十分に考えた設計になっています
- コメントが事細かに日本語で入っています
- すべてのコンポーネントは十分にモジュール化されているので改造もすぐにできます
機能&動作仕様 †
構造 †
- GUIサーバー+BayGUIライブラリ
- マルチプロセス
- マルチウィンドウ
- キーボード対応
- マウス対応
互換性 †
- MonaFormsアプリと共存可能です
- BayGUI0.2.2とBayGUI0.3.Xの互換性はありません
- 現状はソースを少量書き換えるだけで対応可能ですが、将来的には未定です
使用可能な部品一覧 †
- ボタン
- チェックボックス(オンとオフ)
- チェックボックスグループ
- コンテナー(ほかの部品を内部に配置できる部品)
- コントロール(単体部品)
- イメージ(BMPとJPEG)
- ラベル(左寄せ、中央寄せ、右寄せ)
- リストボックス(現状スクロール未対応)
- スクロールバー(現状マウスのドラッグ未対応)
- テキストフィールド(現状1行のみ)
- ウィンドウ(現状各プロセスにつき1つのみ)
Window操作 †
操作 | 意味 |
タイトルバーをクリック | ウィンドウを切り替える |
タイトルバーをドラッグ | ウィンドウを移動させる |
左上のボタンをクリック | ウィンドウを閉じる |
文字コード †
- UTF-8です
- JIS第1、第2水準、プロポーショナル表示に対応しています
- AAも表示可能です
- 文字コードの自動認識はおこないません
スクリーンショット †

ソースコード †
- ソースコードはMona本体に取り込まれています。
- バイナリーは MonaADK に取り込まれています。
コメント欄 †
- ここをみてもらえば分かると思うけど、削除したつもりのファイルも全部残っていてそれらは管理者しか削除することができないから、同じファイル名で消してアップし続けるより、バージョン番号を付けて積み重ねていく方が良いと思いますが。バージョン番号付けるのが面倒なら日付でもいいわけだし。 -- 2004-10-06 (水) 23:02:36
- ちょっと前に2000年問題で大騒ぎになったばかりで、それをリアルで経験した身としては、年号を2桁で表記するのは感心しない。まだ100年近くある?2000年問題を引き起こしたプログラムを書いた昔の人もあと何十年もあるって思ってたんだろうね。 -- 2004-10-08 (金) 16:54:40
- 表示だけなら人間側の問題ですけどね。内部で4桁なら問題ないかと思います。 -- Zakky 2004-10-10 (日) 10:22:50
- ファイル名モナー -- 2004-10-10 (日) 18:56:58
- マルチプロセス化しないと使ってやらないという意見が多いようなので、今のは破棄予定。 -- bayside 2004-10-11 (月) 02:55:54
- ひげぽんにもらったサンプルコードを試してみました(snap02.gif)。 -- bayside 2004-10-11 (月) 03:38:53
- マルチプロセス化実験中 -- bayside 2004-10-12 (火) 12:52:54
- 私製ランチャーができたのでサーバーはいじる必要がありません。 -- bayside 2004-10-18 (月) 13:30:34
- ちょっと遊んでみたくて、β18 のBayGui版をダウンロードして、上のスクリーンショットのように、/apps/gversion.ex2 でEnter と押しても反応がありません。どうやって、GUIアプリ起動させたらいいのでしょうか? -- Yamami 2004-10-18 (月) 18:33:22
- すみません。 EX5ですね。自己解決です。 -- Yamami
- わかりづらかったですね。近いうちにスクリーンショットかえときます。 -- bayside
- 双方向リストとイベント系全面書き換えのためにかなりバグバグ orz -- bayside 2004-10-20 (水) 17:41:27
- 一応重大なバグは大方つぶしたつもり。 -- bayside 2004-10-21 (木) 09:41:23
- BayGUIの質問場所は、ここでいいですかね。 -- Yamami 2004-11-02 (火) 14:20:51
- 1.フォント フォントの指定はできますか?BayGUI API ドキュメントにはFontクラスが容易されていますが、それを例えばラベルに、どうやって指定すればいいですか? -- Yamami 2004-11-02 (火) 14:21:58
- 2.Color 色(ラベルの背景色や、前景色の指定)って多分今は未サポートだとは思いますが、サポート予定はありますか? -- Yamami 2004-11-02 (火) 14:22:48
- 1について。フォントは現状ではMONA-12.MF2固定です。フォントスタイルも固定のみです。太字だけのサポートなら割と簡単にできるので要望があれば追加します。 -- bayside 2004-11-02 (火) 15:37:46
- 2について。現状はインターフェースがないですが、要望があればすぐに追加できます。 -- bayside 2004-11-02 (火) 15:38:19
- GCHATのテキスト入力欄で長い文字列を打つと落ちるようです。念のため報告いたします。 -- ひげぽん 2004-11-13 (土) 17:35:24
- GOを移植してほすぃ -- 2004-11-13 (土) 18:32:30
- 現状のテキストバッファーは64バイトしかないので長い文章を打つと落ちます(汗)入力できないようにしないとな・・ -- bayside 2004-11-13 (土) 19:58:15
- お時間のあるときにご対応頂けると助かります。-- ひげぽん
- 新BayGUIのランチャーはまだ見た目だけ変えた張りぼてです(libgui.aにリンクされています)。 -- bayside 2004-12-21 (火) 23:51:22
- 複数行テキストボックスのコントロールを添付しておきました。multi.zip 一部のキーが拿捕できないため未実装です。代替TABをつけてみたけどどのキーがいいんでしょうかね? -- Hossy? 2005-01-16 (日) 01:46:28
- バッファはコンストラクタで動的確保しています。テンプレートでもいいんですけどね。バッファオーバーフローのチェック忘れてた… -- Hossy? 2005-01-16 (日) 01:48:03
- 判定つけました。multi2.zip です。実機テストはしてませんのであしからず。(ぉ -- Hossy? 2005-01-16 (日) 01:52:35
- Hossyさんありがとうございます。キーの認識の件Mona側の問題であればお知らせください>baysideさん -- ひげぽん 2005-01-16 (日) 11:57:42
- キーコードがqemuと実機でぜんぜん違うのが原因です。qemuにあわせるのはよくないと思いますが、一応対策して0.2.1にいれておきます。あとMultiTextFieldはTextAreaと改名して0.2.1にいれさせていただきます。 -- bayside 2005-01-16 (日) 14:20:51
- baysideさん、Hossyさんありがとうございました。 -- ひげぽん 2005-01-16 (日) 15:49:11
- あらあら、そうでしたか。#define でごまかしながら DELETE HOME END PGUP PGDOWN を実装して、ついでにキャレット移動のコードを整頓してきました。multi3.zip クラス名変え忘れた... -- Hossy
- 上書きモードの追加とマウスでのキャレット移動を実装しました。ついでに repaint() を整頓。クラス名も変えました。TextArea.zip です。 -- Hossy
- お疲れ様です。すばらしい!! -- ひげぽん 2005-01-18 (火) 00:54:42
- TextArea のほう、こっちの手元で細々と改良してるんですけど、新GUI 移行、ってなにか移行作業いりますか? -- Hossy? 2005-01-26 (水) 20:17:00
- 特にはないですけど、本体も見てもらうと嬉しいかなと(汗)おかしなところがあったらぜひ指摘ください。あともし興味がありましたらエディタの実装をぜひ(汗) -- bayside 2005-01-26 (水) 23:01:00
- 本体って BayGUI 本体かな?開発環境がないんで、とりあえず各種コントロール群を充実させようかと。さしあたっての目標はエディタだったり…行番号表示に成功・・・ -- Hossy? 2005-01-28 (金) 01:20:18
- これから先あったらいいと思われるコントロール(暇ができたらそのうち作ります) -- bayside 2005-01-28 (金) 19:29:19
CheckBox
CheckBoxGroup
ScrollBar
- Choice
- TabPanel
- Menu
- MenuBar
- MenuItem
- Dialog
- TextArea2.zip 行番号追加。デバッグとか。未実装:「範囲選択・コピーペースト・スクロールバー・undo/redo」こいつら後回し、っと。 -- Hossy? 2005-02-02 (水) 23:44:14
- Hossyさん精力的ですねぇ(;´Д`) -- ひげぽん 2005-03-02 (水) 09:45:26
- >baysideさん。バグではないのですが、BayGUI版のとけいが起動時に時刻が表示されるまで時間がかかります。ソースを見る限りではタイマイベント設定のため1秒後にしか表示できていないようです。時刻表示部を関数化して、コンストラクタ内でも表示するとよいのではないでしょうか。 -- ひげぽん 2005-03-02 (水) 09:49:32
- 残念ながらコンストラクタ内で表示系はまずいです。Window::onStart() が呼ばれたあとでないと、ウィンドウの実体がないため、いろいろと面倒なことになります。あ、でもsetText()するだけならいいか。検討いたします。 -- bayside 2005-03-02 (水) 11:27:27
- 一度baysideさんが、本気度の高いアプリケーションを作成してBayGUIをブラッシュアップしてはみるのはどうでしょう。人に使ってもらう前に本格的なアプリケーションを作ってみて不足点などを補った方が良いかと。例えばエディタなど。今のサンプルはあまりにおもちゃ過ぎて「こんなことができます」というのは伝わるものの「こんなことができるんだ!!」という驚きは少ないです。どこまでポテンシャルがあるかが分かりづらいかなと。 -- Geesk?
- 賛成。サンプルが小さいものだと何ができるかがわかりにくいです。 --
- ご意見ありがとうございます。baysideさんはただいま旅に出ておりますので回答はしばらくお待ちください。-- ひげぽん
- BayGUIは自分には使いやすいように作っているので、個人的にはこれ以上ブラッシュアップする必要性は感じていません。実際に使っている人からみてこうしてほしいという要望は入れていく予定です。それから、本気度の高いアプリの件ですが、私にはそのようなセンスも体力もありませんので遠慮させていただきます。商用に耐えかねるプログラムを一人でかつ無償で作るのははっきりいって無理です・・・ -- bayside
- 無理ですか。。。ありがとうございました。--Geesk?
- もちろん「一緒にこういうの作ろうよ」という申し出でしたら喜んで受けさせていただきます。 -- bayside
- ボタンをクリックした後、ウィンドウ内をクリックするとイベントの発生元が最後にクリックしたボタンになっていると思います。ソースを見たところ、Windowクラスでイベントを拾ったときにeventのイベント元ソースプロパティを初期化すればいいのかな?と思いました。(Window.cppの320行あたりにme->setSource(this);みたいなのがあるといいのかな?) -- Renya
- ご指摘ありがとうございます。次回リリース時には直したいと思います。 -- bayside
- bayguiで動くマインスイーパを作ってみました。http://www.eonet.ne.jp/~mizyo/mine.html -- mizyo
- すばらしいものをありがとうございます。 -- bayside
HTML convert time to 0.089 sec.
Copyright(C)2003-2007 MonaProjectTeam, all rights reserved. powered by www.be-interactive.org