2003-06-16 [長年日記]
@ 今月のUNIX USER
Gaucheの記事があったので買いました。今までLisp系にはまったく興味がなかったけど、GaucheのCGIライブラリに惹かれています。Xi-2.0はどのScheme実行環境を使っているのだろうか...Gaucheだと自分もやる気が出ます。
@ 本日
22:30ぐらいまで仕事して、その後飲み。んで終電がなくなって、六本木にラーメンを喰いに行きつつ車で送ってもらった。明日(今日)は朝起きれなさそうねぇ、と言ってみるテスト。
@ 朝
案の定起きれませんでした。スマソ...
2003-06-17 [長年日記]
@ [scheme] Gauche-0.7
インスコしてみました。
$ ./configure --with-slib $ make # make install
とりあえず今日はHello Worldで止めておくということで。しかしイマイチ用語が分からん。
@ 某原稿の印税
お金に関してはあまり考えていなかったので、印税がもらえるというだけでも嬉しいです。今期も少なそうな某茄子のたしには十分な金額です。
2003-06-18 [長年日記]
2003-06-20 [長年日記]
@ nCommons
jFFFTPのソースツリーから分離させました。今週末 *休みが取れれば* alpha版を公開できそう。
@ 30代で「年収1000万円」を狙えるエンジニアとは?
まぁうちのヨーダが言う「30歳で年収1000万」は夢物語にすぎない、ということでしょうかねぇ。
2003-06-21 [長年日記]
@ nCommons
とりあえずここに上げてみるテスト。Xercesを含んでいるので2MBもありますが...
あとはプロジェクトのページを作らんと。何気にFSWiki-3.4.1待ちだったりもするんですが。
@ ついでに
一言書き添えておくと、org.homeunix.kazz.ncommons.concurrentパッケージ内のクラスは結城浩さんのJava言語で学ぶデザインパターン入門 マルチスレッド編をほとんどそのまま拝借しているので、著作権自体は結城浩さんにあります(なはず)。
2003-06-26 [長年日記]
@ 徹夜じゃごるぁ
今月何回目だろうか。そろそろ体力の限界が来ているような...
@ ベイキットのWebページ
リニューアルされたので見てみると...左側のフレームが文字化けしている... フレームのheadにmetaタグで文字コードの指定がないのが原因かな。
それと、Not Foundが連発しているので、家帰ったら*1MLで指摘しておこう。
*1 帰れたら
@ ベイキットのWebページ(2)
と思ったら文字化けしてないですね。キャッシュにへんなデータが残っていたのかな...
2003-06-29 [長年日記]
@ [jface] TitleAreaDialog
テキストが入力されていない場合に、自動的にOKボタンを非活性にするのはこんな感じかな?
package demo;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.TitleAreaDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
/**
* TitleAreaDialogのサンプル。
*/
public class MyTitleAreaDialog extends TitleAreaDialog {
private Text messageText;
public MyTitleAreaDialog(Shell shell) {
super(shell);
}
/**
* Shellの設定。
*/
protected void configureShell(Shell newShell) {
final String title = "TitleAreaDialogサンプル";
newShell.setText(title);
// Shellが活性化されたときにメッセージを表示
newShell.addShellListener(new ShellAdapter() {
public void shellActivated(ShellEvent ev) {
setDialogComplete(false);
setTitle(title);
setMessage("メッセージを入力して下さい");
}
});
super.configureShell(newShell);
}
/**
* ダイアローグ表示部分の描画の設定。
*/
protected Control createDialogArea(Composite parent) {
Composite parentComposite = (Composite)super.createDialogArea(parent);
Composite container = new Composite(parentComposite, SWT.NONE);
GridLayout layout = new GridLayout();
container.setLayout(layout);
layout.numColumns = 2;
layout.verticalSpacing = 9;
Label label = new Label(container, SWT.NULL);
label.setText("メッセージ");
messageText = new Text(container, SWT.BORDER | SWT.SINGLE);
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.widthHint = 200;
messageText.setLayoutData(gd);
messageText.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent ev) {
validateInput();
}
});
return parentComposite;
}
/**
* OKボタンを活性化する。
*/
protected void setDialogComplete(boolean complete) {
Button ok = getButton(IDialogConstants.OK_ID);
if (ok != null) {
ok.setEnabled(complete);
}
}
/**
* 入力されたテキストをチェックする。
*/
private void validateInput() {
if (messageText.getText().length() == 0) {
updateStatus("メッセージが空です");
return;
}
updateStatus(null);
}
/**
* ステータスを更新する。
*/
private void updateStatus(String message) {
setErrorMessage(message);
setDialogComplete(false);
}
}
実行イメージはこんな感じ。もちろんテキストボックスに何か入力されるとOKボタンが活性化される。参考文献としてはdeveloperWorksのDeveloping JFace wizards。これはウィザードの話だけど。
@ それにしても
やっぱりGUIアプリってのはコーディングが面倒ですねぇ。こんなん手でコーディングしてたらたまんねぇっすよ。
# まこと [えっ、辛かったですか?余談ですが、この日報、RSS吐けますか?]
# おいぬめ [辛いというより、自分の書いたものを何度も読み返して、「才能ねぇなぁ」と思ったもので... ちなみにRSSは吐けません..]
# まことす [今回はちとリファレンスぽかったので、もっと読み物的なものに一度トライされてみれば?<作家業。http://www.m..]
# おいぬめ [うーん、読みもの的なものだと文章力がないのでもっと苦手なんです(^^;]