« 2017年1月 | トップページ | 2017年3月 »

2017年2月

2017年2月23日 (木)

TransferHandler#getVisualRepresentation から setDragImage へ

Java 1.6 の時代から,Drag & Drop の際に,ドラッグ中のイメージを表示するのに,PatchedTransferHandler を使って,getVisualRepresentation を使用していた。
 しかし,最近 PatchedTransferHandler が頻繁に InvalidDnDOperationException ("Drag and drop in progress" exception) を出すようになったため,TransferHandler のソースを読んで解決策を探っていたところ,TransferHandler#setDragImage なるメソッドがあることに気付いた。調べてみたら Java 1.7 からこんな素敵なメソッドが標準で用意されていたのであった。早速,これを使ってソースリファクタリングして,PatchedTransferHandler は引退となった。
 なお,Windows では TransferHandler#setDragImageOffset の offset 方向が Mac と逆になるのに気付いて,そんなところにも文化の違いがあるのだなと思った。
 ちなみに,最近はダブルクリックCodeHelper での入力が多く,Drag & Drop はほとんど使わなくなってしまっている。

2017年2月 9日 (木)

9年目の運用まとめ

9年目はクライアントの結構大きな改造,OS X Sierra へのアップグレード, Retina iMac の購入プリンタの更新などがあった。トラブルとしては,Orca がメモリ不足で止まったのが最大のトラブルだったが,downtime は5分くらいで済んだ。あとは Ethernet が突然つながらなくなったり,iMac のヒンジが折れたりしたが,診療には影響がなかった。
いよいよ今月から OpenDolphin 運用 10年目に突入である。

  • データベースの PatientModel の件数
    dolphin=# select count(*) from d_patient;
     count
    -------
     26879
    (1 row)
    
  • データベースの ModuleModel の件数
    dolphin=# select count(*) from d_module;
     count
    --------
     1023447
    (1 row)
    
  • Dolphin サーバの df。used が 14G→15G に増加。
    Filesystem      Size  Used Avail Use% Mounted on
    udev            971M  4.0K  971M   1% /dev
    tmpfs           200M  196K  200M   1% /run
    /dev/xvda1       46G   15G   30G  33% /
    none            4.0K     0  4.0K   0% /sys/fs/cgroup
    none            5.0M     0  5.0M   0% /run/lock
    none            997M     0  997M   0% /run/shm
    none            100M     0  100M   0% /run/user
    
  • Orca サーバの df。used が 12G → 19G に増加。
    Filesystem      Size  Used Avail Use% Mounted on
    udev            3.0G  4.0K  3.0G   1% /dev
    tmpfs           601M  228K  601M   1% /run
    /dev/xvda1       46G   19G   25G  43% /
    none            4.0K     0  4.0K   0% /sys/fs/cgroup
    none            5.0M     0  5.0M   0% /run/lock
    none            3.0G     0  3.0G   0% /run/shm
    none            100M     0  100M   0% /run/user
    
  • データベースの dump ファイルのサイズ。
    dolphin_db.dump.gpg 2,046,631,802 
    orca_db.dump.gpg 101,284,291
    
  • 作成したスタンプ数。CodeHelper の改造に伴って,スタンプを整理したため,昨年の 2104 から減少した。
    $ grep -c stampInfo stamp.xml 
    1984
    

2017年2月 7日 (火)

カレンダーの改造

カレンダーのコードを大幅に改造した。
  • 年月は,インスペクタのタイトル部分に西暦と,薄くバックグランドで和暦も出すようにした。1ヶ月送り(Mdfb2Mdfb1)だけでなく,1週送り(Mdb2Mdb1)もできるようにした。ボタンクリックだけでなく,マウスホイールでも1週毎にスクロールできるようにした。イベントを表すバックグランドは円で出すようにした。

    Calendar1

    3週戻したところ。ピンクは受診日。

    Calendar2_2

  • 休日データベースを更新して,自院の休日も出るようにした(自分だけ使うものなので当然ハードコード)。ToolTip で休日名も出るようにした。

    Obon_3

  • Mdejectで1年分のカレンダーが出るようにした。

    Oneyear_2

  • インスペクタのカレンダー(LiteCalendarPanel/CalendarCardPanel系)と CareMapDocument のカレンダー(SimpleCalendarPanel系)が,別々のシステムになっていたのを,今回作成したカレンダーパッケージで統一した。

    Caremap_2

2017年2月 6日 (月)

DiagnosisInspector の ToolTipText

DiagnosisInspector で開始日/終了日を,年号で ToolTip 表示するようにした。

Tooltips

ToolTip 情報を見ながら書類を書いているときなどに ToolTip が消えてしまうとストレスたまるので,ToolTip を自動で消えないようにした。
// ToolTip を自然に消えないようにする
ToolTipManager manager = ToolTipManager.sharedInstance();
manager.setDismissDelay(Integer.MAX_VALUE);

« 2017年1月 | トップページ | 2017年3月 »