複数のビューが開ける
Eclipse RCPのブラウザサンプルで、ビューが複数開けるのがなんでだろー
と思ってよく見ると、plugin.xmlのviewにallowMulipleとかいう属性が追加(前から?)されてるではありませんか。
<view id="org.eclipse.ui.examples.rcp.browser.browserView" name="%views.browser.name" icon="icons/eclipse.gif" class="org.eclipse.ui.examples.rcp.browser.BrowserView" category="org.eclipse.ui.examples.rcp.browser" allowMultiple="true"/>
開くコードはこんなのみたい。
window.getActivePage().showView(BrowserApp.BROWSER_VIEW_ID, secondaryId, IWorkbenchPage.VIEW_ACTIVATE);
ビューとエディタの区別がだんだんなくなってくる。。。
3.0日本語化パッチ
http://sourceforge.jp/projects/mergedoc/
本家Language Pack出るまでのつなぎとしてはいい出来だ。
↑いつでるのかなー。9月?
Java読書会
http://www.javareading.com/bof/
先週(7/31)行った。
UMLだよUML。
モデリングの出来は熟練モデラーしか測れないものか。
ちゃんと実装コードまで落とせるかどうかはどうやって判断するんだろー。
初対面のMLなどでよく名前を見かける人がちらほら。
オレンジニュース( http://secure.ddo.jp/~kaku/tdiary/ )の人もいた。
どっちかというと読書より打ち上げの方が面白かったりして。
Hibernate Synchronizer
http://www.binamics.com/hibernatesync/
けっこう使えますぜ。うちのEclipse3でも動いてます。
以下の記事が簡単なチュートリアル。
Working with Hibernate in Eclipse
http://www.onjava.com/pub/a/onjava/2004/06/23/hibernate.html
既存のDB→hbm→Javaクラスというボトムアップな開発が可能。
しかしhbmをschemaExportでDBに戻すと元のスキーマと変わっちゃう場合あり(泣)
CHARのカラムとか復元できるんだろうか。
Mavenの日本語ML
ってないのかなー。
IAdaptableの用途
http://d.hatena.ne.jp/muimy/20040803#1091537308
のつづき
objectContributionのアクションで、adaptable="true" して、
<objectContribution objectClass="org.eclipse.core.resources.IContainer" id="com.muimi.puchi.objectContribution2" adaptable="true" > <action label="Explorer" class="com.muimi.puchi.OpenExplorerAction" id="com.muimi.puchi.OpenExplorerAction" menubarPath="additions" /> </objectContribution>
うけとる側で getAdapter() すると、Javaフラグメントでも IResourceになっちゃったりして便利。
public class OpenExplorerAction implements IObjectActionDelegate{ private ISelection selection; public void setActivePart(IAction action, IWorkbenchPart targetPart) { } public void run(IAction action) { IContainer container = (IContainer) ( (IAdaptable) ( (IStructuredSelection)selection).getFirstElement() ).getAdapter(IResource.class); String location = container.getLocation().toOSString(); try { Runtime.getRuntime().exec( MessageFormat.format("explorer.exe {0}", new String[]{location}) ); } catch (IOException e) { PuchiToolsPlugin.logError("error in launch. dir=" + location ,e); } } public void selectionChanged(IAction action, ISelection selection) { this.selection = selection; } }
なお、Explorer開くコードのは、EasyExplorerのパクリです。