このブログを検索

ラベル ネムぃ の投稿を表示しています。 すべての投稿を表示
ラベル ネムぃ の投稿を表示しています。 すべての投稿を表示

2010年3月28日

作り直す

ネムぃを作り直す。
というか今のネムぃをこれ以上作れない。
正規表現のテンプレートでコンパイル通らない謎現象が発生したのでもう作んない。

今後はNeGuiをちまちま作っていきたい。

2010年3月12日

作り直したい

ネムぃを作り直したい。
なんかある程度の期間を置くとこの衝動に駆られてる気がする。
取り敢えず衝動に身を任せて作り直したい。
NeGuiも整理して一から作りたい。
あとカレキもなくしてXMLに移行したい。
どうせ趣味だし作り直したい。

そんなこの頃。

2010年1月10日

さみー

ネムぃを全面的に書き直したい。
衝動的に書き直したい。
コンパイル通らないから書き直したい。
なんとなく書き直したい。

2010年1月6日

あけましておめでとうです。

DMD 2.039入れたついでにネムぃコンパイルしてみました。
Bindings for the Windows APIが通らないのはいい、修正されてたしinout->refにするだけだから。
問題はstd.regexで何かしらが死んでたり、deferring EMRPIXELFORMATなるメッセージが表示されるあたり。
いやはや。

2009年12月10日

めんどくなった

付箋やめるー

2009年12月6日

機能追加したい

ちょっくら新しい機能の追加を計画中。
ネムぃはランチャーなんで他のプログラムが処理できることは極力実装しないというスタンスで開発しています。
ただ、他のプログラムで処理できるけどもわざわざインストールとか面倒なプログラムとかもあるわけじゃないですか。
で、試験的に「付箋」を実装しようかと考えてる次第であります。

どういったファイル構造にするかとかどういったタイミングで保存するとかそこらへん色々考えなくちゃならんのでゆっくり作っていくつもり。

2009年12月5日

1.080

ネムぃバージョンアップ。

これといった機能追加じゃなくてバグ修正。
static.akiのバグだったんで結構致命的で笑えた。

ついでにDMD2.037でのコンパイルに対応。

2009年11月22日

ひゃー

ネムぃのバージョンが1.050になったー。

スタートアップからの起動時にネムぃが実行できないバグを修正、
原因はタスクトレイへアイコン追加時に失敗したら例外を投げていたのが原因。
NeGuiでは停止フラグがONの状態でタスクトレイへのアイコン追加に失敗した場合、一定時間停止、再び追加処理、失敗時に一定時間停止…を一定数繰り返すのですがここで正常に追加できなかった場合例外を投げているわけです。
失敗する場合は「タイムアウト」と「タスクバーがまだ存在しない」場合。

本来この例外を止めなきゃいけなかったけどコーディング環境では「常に」タスクバーが生成済みだったのでこの問題が浮上しなかったわけです。
デバッグ時、意図的にExplorerを落として再びタスクバーが生成された場合にうまくアイコンが追加されていたのでここら辺の受け取り処理はうまくいってるもんだとばかり思ってたよ。

今回のバージョンアップの目玉はほとんどこれだけ。
でも機能的には大きな更新だったので1.050に。

後はまぁ、OS情報でエディションを取得+ソース整理。
エディション取得はMSDNライブラリに例があるので打ち込みが面倒なだけで特に問題なし。
問題はソース整理。

NeGuiの識別子や関数のインターフェイスがぐっちゃぐちゃ。
関数にいたってはポインタなのかrefなのか。
統一せねばなー。

2009年11月15日

パンがなければコーラでも飲んどけばいいじゃないか

今日更新した1.021はそんなに重要なアップデートでもないのでパッケージ配布なし。
そろそろネムぃの更新飽きてきたぞー。
とりあえず飽きを忘れるためにVectorライブラリサービスへ登録、掲示板レンタルしたりカウンター設置したり。
そんなこんなしてもやっぱりやる気でない。
NeGuiでもいじろうかなー。

ぬあー。

2009年11月9日

マシュマロってあんましおいしくないと思った

立て続けにネムぃのバージョンアップ。
1.010にアイテムのメモが保持されないバグがあったので1.020もパッケージにて公開。

最近はネムぃの機能からNeGuiに引越しできそうなmoduleを引越し中。
正直GUI以外のmoduleはあんまし移動させたくなかったんですけど今後NeGuiを使用して別ソフトを作る可能性も考えたらpackageまとめておいたほうがいいかと考え決行。
とはいってもNeGuiはネムぃがつくれりゃそれでいいライブラリという位置づけなんで本当に快適に使用できるかは不明なまま一応検証用としてtest.dを作って実行してみた結果がこの画像。





とまぁこんなかんじ。所要時間は10分くらい。
一応ほかのソフトも作れなくもないかなーと思う今日この頃。
下記がそのソース↓


/**

*/
module nemuxi.negui.test;

import nemuxi.negui.allimport;

version(build) {
 pragma(build_def, "EXETYPE NT");
 pragma(build_def, "SUBSYSTEM WINDOWS,5.0");
}

void main() {
 auto aaa=new TestNeGui;
 aaa.execute;
}

class TestNeGui: MainWindow {
 enum CTRL: ITEM_ID {
  HELLO=1,
  EDIT,
  MSGBOX
 }
 private {
  TextLabel label;
  MultiEdit edit;
  Push button;
  
  Font CtrlFont, EditFont;
 }
 this() {
  GUIINFO g;
  super(&g);
 }
 protected override {
  void OnCreate() {
   // メインウィンドウ処理 -------------------------------
   // タイトルバーあり
   caption = true;
   // システムメニューあり
   systemMenu = true;
   // サイズ変更用境界線あり
   frameSize = true;
   // 表示状態
   setShow(SHOW.SHOWNORMAL);
   // 位置とサイズの設定
   move(0, 0, 200, 200);

   // メインウィンドウを親としてラベル作成 ---------------
   label = new TextLabel(this, CTRL.HELLO);
   // 水平位置設定
   label.horizonAlign   = HORIZON_ALIGN.CENTER;
   // 縦位置
   label.verticalCenter = true;
   // 文字設定
   label.text = Text("はろー わーるど");

   // メインウィンドウを親としてエディットボックス作成 ---
   edit = new MultiEdit(this, CTRL.EDIT);
   // 空白にしておく
   edit.text = Text.emptyText;

   // メインウィンドウを親としてボタン作成 ---------------
   button = new Push(this, CTRL.MSGBOX);
   // 文字設定
   button.text = Text("メッセージ表示");

   // フォント生成 ---------------------------------------
   CtrlFont = new Font(Font.STOCK.MESSAGE);
   EditFont = new Font(Font.STOCK.SYSTEM);
   EditFont.pitchAndFamily(Font.PITCH_FAMILY.MODERN);

   // 一括してフォントの設定 -----------------------------
   auto ctrls = new ControlGroup(label, edit, button);
   ctrls.font = CtrlFont;
   // エディットボックスは等幅
   edit.font = EditFont;

   // パネルの設定 ---------------------------------------
   auto panel = new Line(DIRECTION.VERTICAL);
   // ラベルの設定、 あまりの領域
   panel += label;
   panel.sizeInfo(0).absolute = -1;
   // エディットボックスの設定、50%
   panel += edit;
   panel.sizeInfo(1).percent = 50;
   // ボタンの設定、最低限の高さ
   panel += button;
   panel.sizeInfo(2).absolute = button.minContentHeight;
   // それぞれをウィンドウのパネルに設定
   layoutManager.basePanel = panel;
  }

  bool OnCommand(ITEM_ID Id, MESSAGETYPE MessageType, NeGui Sender) {
   if(Sender is button) {
    if(MessageType == Button.EVENT.CLICKED) {
     // メッセージボックス表示
     ShowMessage();
     return true;
    }
   }

   return false;
  }
 }

 private void ShowMessage() {
  // エディットボックスの文字列取得
  auto EditText = edit.text;
  // エディットボックスの改行数取得
  auto LineCount = edit.lineCount-1;
  // 取得文字列から文字列長取得
  auto TextLength = edit.textLength;

  // ダイアログ生成
  auto dialog = new MessageDialog();
  // 表示メッセージを書式付で
  dialog.message = Text(
   "文字列%s%s%s", Text.newline, EditText, Text.newline,
   "%s%s\n", Text.repeat(Text('-'), 40), Text.newline,
   "改行数 = %s\n", LineCount,
   "文字数 = %s\n", TextLength
  );
  // タイトルバーを日時に
  auto time = new DateTime();
  time.format = "[YY]/[M]/[D], [hh]:[mm]:[ss]";
  dialog.text = Text(time);
  // 表示アイコン
  dialog.icon = MessageDialog.ICON.INFORMATION;
  // ボタンの種類
  dialog.button = MessageDialog.BUTTON.OK;
  // 表示
  dialog.show;
 }
}
一応全部で140行くらいでした。

2009年11月7日

寒いでごわす

DMD2.036入れてみたらコンパイル通った。
あっれー?

2009年11月3日

1.000公開

ネムぃを本意じゃないけどまぁいいやと思ってβから1.000に移行しました。
本来ならば1.00β1Aになっていたはずなんだけどね。

今バージョンもDMD最新版ではコンパイルできず2.032を使用。
各モジュールは可能な限り2.035でコンパイル+単体試験はしてるんで早いこと移行したい限りです。

そんだけ。

2009年10月27日

さぶい

久々に更新で10月もそろそろ終了なわけですが特に書くことがありません。

ネムぃの開発の方は依然よく分からない方向に進んでいてワケ分からん。
何だろう、importでDMDが落ちる。
循環とか関係なさそうなんだけど再現方法が分からないんで再現するための最小コードが書けない。
とりあえず以前書いたとおりコンパイラ以外は最新でコンパイラのみ3.032で行く方針で進めていく予定。

うん、謎だ。

2009年10月7日

コンパイルが通らないので一通りモジュールの整理を実施したけど駄目だった。
NeGui自体は(一部思いっきりネムぃに依存してるけど)単独でコンパイルできる状態になった、が、ネムぃのソースは絶望的に無理状態。
言語リソース用のモジュールが引数の問題でごちゃごちゃ循環してるんでそれが足枷になってコンパイル不能。

仕方ないから2.032に戻すかなぁ、と考えもしてみたんですが戻せば戻したでstd.convが死んでるんでその対処もしなくちゃならん。
というわけで現状はライブラリ2.033、コンパイラ2.032で行くことにしました。

まったくめでたくないけど、めでたしめでたし。

2009年10月5日

DMD 2.033


Assertion failure: 'var' on line 3976 in file 'expression.c'


盛大に死んだ。

2009年10月3日

十月だ、お月見だ、寒くなってきた

β19公開です。

機能的には文字列リソース外部化くらいしか追加なし。のはず。
 あーあと二重起動の禁止フラグの追加とか。

特に書くことなし。

2009年9月27日

そろそろ脱βしたい

文字列リソースの表示部分だけは外部へ押しやることが出来ました。
外部にやったはいいんだけれどもそのファイルが存在しない場合は内部の文字列を使用しよう考えたまでは普通なんですが、普通にやるのも面白くないなぁ、とか考えてしまい出来たのがこれ。

無駄に半角カナ。
アホだ。

Dで直に書いててPostfix文字も着けてないんで素直にUTF-8。
一文字3バイトはあるであろうS-JISより無駄豪華な文字列リテラルです。

2009年9月25日

なんかしらんけどkernel panicから復帰した。正直怖い

書いてると疲れてきたんでドキュメント書くのストップ。
文字列リテラルの外部化でもやります。

2009年9月23日

かーねる☆ぱにっく

β18公開~。
取り敢えずUIをちまちま変更。
Lineパネルを改良して若干使いやすくしたもののグループボックスとの相性がよろしくなくて即値(50%とか)が増えた感じ。
でもまぁ本体設定の見栄えが幾分かマシになったので良しとします、うん。

次期バージョンではドキュメントの記述に重点を置きます(やったー、バグで悩まなくて済む!)。

2009年9月21日

うちのCentOSがkernel panicで死んだ

β17だー。

コマンド型の暫定的な実装が主な更新。
DLLも更新したので今回もパッケージ配布で準備が面倒、そろそろ一括バッチでも作ろうか。

今回実装したコマンド型は入力された文字列を正規表現として扱うのでちょっと使いづらいかも知れないので将来的は通常検索・ワイルドカード・正規表現を切り替えられるようにしたい。
Migemoはあまり心惹かれないので実装する気なし。

次バージョンはUIの強化(整理)なんでパネル辺りを重点的にやるかー…。
そのまえにファイルサーバー直さないと…めんど。