統合開発環境Eclipseプラグイン開発QAat TECH
統合開発環境Eclipseプラグイン開発QA - 暇つぶし2ch39:デフォルトの名無しさん
04/04/15 13:02
>>37

微妙に違うけど、そんなに激しくは変わらない
3.0になっても別に新しいトピックは無い

40:37
04/04/15 15:20
>>38 >>39
どうもありがとう。安心しました。


41:デフォルトの名無しさん
04/04/24 15:19
pascal用がさらに強化されることを祈る。

42:デフォルトの名無しさん
04/05/02 00:18
ツールバーの位置に、コンボボックスを配置できずに困っています。
Cool Barというものを利用すればいろんなコントロールを貼り付けられるという情報を聞いたのですが、イマイチ情報が少なくて。
どなたかご経験がおありなら、ぜひともご教授お願いします。

43:デフォルトの名無しさん
04/05/02 00:49
>>42

スタンドアロンアプリならわからんが、WorkbenchWindowにはムリだろうなぁ

44:デフォルトの名無しさん
04/05/02 01:51
>>42
スタンドアロンアプリで試しましたが確かにComboは
ToolBarには乗らずCoolBarに乗りました。
追試したいなら、CoolBarサンプルソースの
shell.setSize(200, 80);の直前にComboのコードを追加してください。
SWTのサンプルは「SWTサンプル集」と「SWT Tips and Samples」に大量にあります。

CoolBarサンプルソース
URLリンク(amateras.sourceforge.jp)

追加コード
Combo combo3 = new Combo(coolbar,SWT.READ_ONLY);
combo3.add("Item1");
combo3.add("Item2");
combo3.select(0);
CoolItem item3 = new CoolItem(coolbar,SWT.PUSH);
item3.setControl(combo3);
Point pt3 = combo3.computeSize(SWT.DEFAULT,SWT.DEFAULT);
pt3 = item3.computeSize(pt3.x,pt3.y);
item3.setSize(pt3);

SWTサンプル集 (移転しています)
URLリンク(amateras.sourceforge.jp)
SWT Tips and Samples
URLリンク(cjasmin.fc2web.com)

>>43
Eclipseツールバーは裸のToolBaでなくCoolBarにToolBarをぶらさげているので
ComboをToolBarをはさまずCoolBarに直接ぶらさげれば良いのですが、
そんなextension pointがあるかどうかが問題ですね。
extension pointに詳しい方どうぞー。

45:デフォルトの名無しさん
04/05/02 02:23
>>44
extension pointって
リファレンス見れ。そんなもんあるわけないだろ

46:44
04/05/02 18:29
>>42
そんな特殊なextension pointはないという事で
CoolBarインスタンスに直接アクセスするしかなさそうです。
WorkbenchインスタンスからたどればCoolBarのインスタンスを取得できます。

Workbenchのメソッド
 public static final Workbench getInstance() //クラスメソッド
 public IWorkbenchWindow[] getWorkbenchWindows() // WorkbenchWindowはWorkbench内に複数
 public IWorkbenchWindow getActiveWorkbenchWindow() // ActiveWorkbenchWindowはWorkbench内に一つ
WorkbenchWindowのメソッド
 public CoolBarManager getCoolBarManager() // 親クラスのApplicationWindowで定義
 public boolean isApplicationMenu(String menuID) // 指定したメニューが含まれているか判定
CoolBarManagerのメソッド
 public CoolBar getControl()

複数WorkbenchWindowから目的のWorkbenchWindowを見つけるには
isApplicationMenu()で特定のメニューが含まれているか調べるのが簡単かと思います。
ActiveWorkbenchWindowのCoolBarなら1行で取得できます。
CoolBar coolBar = Workbench.getInstance().getActiveWorkbenchWindow().getCoolBarManager().getControl();

このレスはソースを調べただけで書いており、動作検証はしていません。
バイナリと同じページから落とせるSource BuildにExplorer検索をかけて調べました。

47:デフォルトの名無しさん
04/05/04 17:19
>>43-46
情報ありがとうございます。
連休あけたら試してみます。

48:デフォルトの名無しさん
04/05/06 20:21
>>46
>>CoolBar coolBar = Workbench.getInstance().getActiveWorkbenchWindow().getCoolBarManager().getControl();

getControl()というメソッドがなく、getItems()というメソッドならありました。
これだとIContributionItemの配列が返ってくるのですが、IContributionItemはCompositeをextendsした型では
ないので、
Comboのコンストラクタで指定できませんでした・・・




49:44
04/05/07 01:57
>>48
今までEclipse3.0M8のCoolBarManager.javaを見ていたのですが、
Eclipse2.1.3の方を確認するとgetControl()がデフォルトメソッドですね。
従ってEclipse2.1.3ではパッケージorg.eclipse.ui.internalに属さないクラスから
CoolBarManager#getControl()を直接呼び出せません。

Eclipse3.0M8の場合
public CoolBar getControl() {
  return coolBar;
}
// Eclipse2.1.3の場合
/* package */ CoolBar getControl() {
  return coolBar;
}

むりやりな方法ですがパッケージorg.eclipse.ui.internalに属し
CoolBarManager#getControl()の返り値を返すpubliceメソッドを持つクラスを作れば
Eclipse3.0M8とEclipse2.1.3とで同じコードでCoolBarを取得できます。

50:デフォルトの名無しさん
04/05/07 11:51
>>49
UIガイドラインを無視しなきゃinternal叩くほどのことはないと思う

51:デフォルトの名無しさん
04/05/13 08:32
>>49
>>むりやりな方法ですがパッケージorg.eclipse.ui.internalに属し
>>CoolBarManager#getControl()の返り値を返すpubliceメソッドを持つクラスを作れば
>>Eclipse3.0M8とEclipse2.1.3とで同じコードでCoolBarを取得できます。

報告遅れました。
その方法で、確かに無理やりですができました。
例外が発生していて、描画も少しおかしいですが、いたしかたないです。
あとはワークベンチの生成とのタイミングの問題のような気がします。
ありがとうございました。

52:デフォルトの名無しさん
04/05/26 20:51
プラグインで、

右クリックのコンテキストメニューは動的に生成可能みたいだけど、
画面一番上のメニュー項目の動的生成はできないのかなぁ?
いろいろ調べたんだが、どうしてもだめだった。

IActionFilterインターフェイスを実装するのが近いのかな?


53:デフォルトの名無しさん
04/05/26 20:52
プラグインで、

右クリックのコンテキストメニューは動的に生成可能みたいだけど、
画面一番上のメニュー項目の動的生成はできないのかなぁ?
いろいろ調べたんだが、どうしてもだめだった。

IActionFilterインターフェイスを実装するのが近いのかな?

54:デフォルトの名無しさん
04/05/27 12:25
>>53
IMenuManager.add(IAction action)


55:54
04/05/27 12:26
目的によってはRetargetActionをつかうほうが
よい場合もあり。

56:53
04/05/27 12:35
>>54-55
Thx. ためしてみますです。

57:53
04/05/28 12:26
MenuManagerを利用することで、最上段に動的に
メニューを追加したり削除することができました。どうもです。

でも、Plugin-XMLで最初に追加するメニュー項目について、そこにアイテムを動的に追加したり
削除することはできないです。これはどうでしょう?

あと、RetargetActionの使い方がちょっと現在理解不能。
ちなみにこれは、例えば最初にアクションとして登録した
クラスを別のクラスのアクションに登録しなおすみたいなイメージですかねー。


58:デフォルトの名無しさん
04/05/28 13:14
>>57
正しいmenubar pathを指定していないから。

RetargetActionはまあそんな感じ。
たとえばEdit->Copyなんかは各種プラグインで共有するから
この手の仕組みがないと整合が取れない。

59:53
04/05/28 21:31
>>58
いえいえ、正しいmenubarPathからIMenuManager が取得できないんですよ。実際。
本国サイトにもおんなじことで悩んでる人がいました。。。
なんとかならないもんですかねぇ。

----------
[news.eclipse.platform] Re: How to use findMenuUsingPath(argument)?again

thanks.
I use findUsingPath("org.eclipse.examples.view.menu"),the return value is
IContributionItem.But I want to get the menu item of
"org.eclipse.examples.view.menu".With the IContributionItem I found
nothing.
If I use findMenuUsingPath("org.eclipse.examples.view.menu") which I want
to return IMenuManager.But its value is null.
When I use findMenuUsingPath(IWorkbenchActionConstants.M_EDIT),its return
value is IMenuManager which I can use it to add submenu dynamically.
I think if Eclipse allow us to use findMenuUsingPath to find the inherent
IMenuManager such as M_EDIT,M_FILE,M_WINDOW etc.The menu which is added
from the plugin.xml cannot be find.
I don't know if I am right?
can you give me some suggestions.
My goal is to dynamically add menu to the menu declared in plugin.xml.
thanks

> Daniel wrote:
> > How can I get the MenuManager of the menu?
> I'm not sure, but have you tried debugging a bit to see what happens?
> I'd recommend trying something like
> 'menuManager.findUsingPath("org.eclipse.examples.view.menu")' -- and seeing
> what value is returned. Also, is your menu visible when you make this call
> (i.e., is the action set enabled)?

60:53
04/05/28 21:34
>>58
いえいえ、正しいmenubarPathからIMenuManager が取得できないんですよ。実際。
本国サイトにもおんなじことで悩んでる人がいました。。。
なんとかならないもんですかねぇ。

----------
[news.eclipse.platform] Re: How to use findMenuUsingPath(argument)?again

thanks.
I use findUsingPath("org.eclipse.examples.view.menu"),the return value is
IContributionItem.But I want to get the menu item of
"org.eclipse.examples.view.menu".With the IContributionItem I found
nothing.
If I use findMenuUsingPath("org.eclipse.examples.view.menu") which I want
to return IMenuManager.But its value is null.
When I use findMenuUsingPath(IWorkbenchActionConstants.M_EDIT),its return
value is IMenuManager which I can use it to add submenu dynamically.
I think if Eclipse allow us to use findMenuUsingPath to find the inherent
IMenuManager such as M_EDIT,M_FILE,M_WINDOW etc.The menu which is added
from the plugin.xml cannot be find.
I don't know if I am right?
can you give me some suggestions.
My goal is to dynamically add menu to the menu declared in plugin.xml.
thanks

> Daniel wrote:
> > How can I get the MenuManager of the menu?
> I'm not sure, but have you tried debugging a bit to see what happens?
> I'd recommend trying something like
> 'menuManager.findUsingPath("org.eclipse.examples.view.menu")' -- and seeing
> what value is returned. Also, is your menu visible when you make this call
> (i.e., is the action set enabled)?

61:53
04/05/28 21:38
調子が悪いみたいです。連投になっててゴメンね

62:デフォルトの名無しさん
04/05/29 07:48
リストにいれた要素の各背景色を変える手段ってないですか?
全体として1色にしかできないのかなぁ・・・orz

63:デフォルトの名無しさん
04/05/29 08:26
>>62

ListのかわりにTableではどうか

64:62
04/05/29 08:47
>>63
そか。Tableがあったんだ。 
はげしくさんくすです。(*´д`*)

こうなったらListViewerでも使ってILabelProviderのgetTextみたいな感じでなんとか
ならんかとか考えてたよ。。。orz

65:デフォルトの名無しさん
04/05/29 09:42
ああ、なんか作りたくなってきたよ
多分今夜あたり質問することになるけど
そんときはヨロピクメカゴジラ
さてどんなプラグインつくりましょうかぇ~。。。com



66:デフォルトの名無しさん
04/05/29 10:33
>>65
そう易々と作れるもんじゃない
あの大量のAPIを使うことを考えて冷静に見積もってみれ 個人じゃ不可能

67:デフォルトの名無しさん
04/05/29 10:38
>65
D言語用プラグイン
キボンヌ

68:67
04/05/29 10:39
ただハイライトつけるだけのやつじゃダメね
JDTみたく必要なものだけコンパイルしてくれるやつ

69:デフォルトの名無しさん
04/05/29 10:41
>>66
あ、そうなんですか?
僕、趣味感覚で出来るのかなとも思ってました・・・
Javaプログラミング経験も5年あるのでスキル的には問題ないのかなと買いかぶっていました

んじゃあとりあえずSWTのみのスタンドアロンから初めて
その後移植するって言うのが普通の覚え方なんすかねぇ
とりあえず午前中はEclipseヘルプ見ていますが・・・

70:デフォルトの名無しさん
04/05/29 10:44
てか、プラグイン作るっていうのは
みんなが欲しい機能を作るってことだから
そういうのって自分がひらめく前に
誰かがもう作っちゃってるのかなぁ・・・


71:デフォルトの名無しさん
04/05/29 10:56
いや、オレしか要らない機能を作るのだよ。
ラーメン・おふろタイマーでプリセットの時間しか測れないようなものとか。
プリセット増やすには、ソース書き換えてコンパイルで。

72:デフォルトの名無しさん
04/05/29 11:03
いまさらそんんなのつくるんですか?
新しい言語覚えるときでも
そんなの飛ばしますよマジで・・・

73:デフォルトの名無しさん
04/05/29 12:04
>>64
何かビューの中で選択可能なものなら、(ISelectionProviderやIAdapterあたりの関係で)
TableViewerで作ったほうがいいと思うけどね。

74:デフォルトの名無しさん
04/05/30 03:09
>>72
べつに、勉強のために作るわけじゃないからな。
あれば便利なものを作るだけだ。

75:デフォルトの名無しさん
04/05/30 04:05
>>66
確かに易々と作れないが、だからといってツールを作る場合に、
eclipseのリソース管理機能とか土台を再発明することはさらに非現実的。

76:デフォルトの名無しさん
04/05/30 08:40
そういうのは再発明っていわない。
再実装だ。

77:デフォルトの名無しさん
04/05/31 08:10
まあ、どっちにしてもあるもんを使えよって話だな。

78:デフォルトの名無しさん
04/05/31 09:28
再実装は、すでにある実装が用件をみたしているとは限らないし、勉強になるから、>>65のようになんかつくりたくなった、という場合には、問題ない。
むしろ、すでに実装があるものの自分にあわせたサブセットを実装するのは、趣味のプログラムとしてはいいかもしれない。
行き詰まったらすでにある実装みればいいし。

すでに実装があることをしらずに、「こいつで世の中をあっといわせてやるぜ」とかやるのはバカだけど。

79:デフォルトの名無しさん
04/06/25 19:35
VC++で作成したWin32DLLにeclipseプラグインからアクセスするために、
JNI(これもVC++で作ったスタブDLL)を利用してるんですけど、
このスタブDLLをソースレベルでデバッグする方法を模索中です。

通常のSWTアプリとかJavaアプリなら、VC++のデバッグ対象を
java.exeにして、コマンドラインに アプリケーションの.jarファイルを
指定すれば、ソースレベルデバッグ可能ですが、プラグインではどうにも
なりません。ランタイムワークベンチをVC++のデバッガから「プロセスに
アタッチ」すると、TRACEマクロとかは利用できますが、アセンブラコードの
デバッグになってしまします。

なにかいい方法をしっている人いませんか?


80:デフォルトの名無しさん
04/06/25 21:11
eclipse.exeは実はjava.exe読んでるだけなので、
java.exe -cp startup.jar org.eclipse.core.launcher.Main -os win32 -ws win32 -arch x86 -install file:c:/eclipse/
で起動してデバッガにかければいいんじゃないの?

81:79
04/06/28 10:55
>>80
どうもです。試してみました。起動はするのですが、やはりデバッグ不可でした。
接続先が通常のワークベンチではなく、ランタイム
ワークベンチの方と接続できないとだめなんですかねー。


82:デフォルトの名無しさん
04/06/28 13:00
>>81
じゃ、起動オプションを全てruntimeworkbenchにあわせましょう。
起動オプションはオンラインマニュアルのどっかに書いてあります。
ランタイムワークベンチでdetail configurationでも出てきたかな?

83:デフォルトの名無しさん
04/07/10 22:26
よくあるUIプラグインのアイコンフォルダ

icons/full/obj16/nn.gif

とか、このfullっていうのは、どういう意味あるんだ?

84:デフォルトの名無しさん
04/07/14 00:52
Mac版のeclipse3ってどうやって日本語化するんですか?


85:デフォルトの名無しさん
04/07/14 01:01
>>84
翻訳して、xx_ja.properties ファイルを作って、unicodeエスケープして
もとのxx.properties ファイルと同じディレクトリに置く。

86:デフォルトの名無しさん
04/07/19 21:06
>>84
URLリンク(pcweb.mycom.co.jp)

87:デフォルトの名無しさん
04/07/21 14:20
誰か助けてくれ。
マーカを自作したんだが、自作アイコンがつかない。
<extension point="org.eclipse.ui.ide.markerImageProviders">
<imageprovider
markertype="org.mymarker"
icon="icons/myicon.gif"
id="org.mymarker.icon">
</imageprovider>
</extension>
とやったんだが、何がいけないんだか、わかんない。
iconsフォルダは開発しているプラグインのフォルダ内に作った。
gifは動いているプラグインのを実験用にパクって来た。

だ、誰か。教えてくだされ。

88:デフォルトの名無しさん
04/07/21 14:22
↑ Eclipse3.0RC+日本語パッチです。

89:デフォルトの名無しさん
04/07/21 21:09
>>87 それ気づいたときにかなり脱力するだろうな...

90:87
04/07/22 14:43
>>89
え?わかるんですか?
教えてください。もう、悩みぬいて、倒れそうです。

91:デフォルトの名無しさん
04/07/22 22:23
よく知らんけど extention じゃないの?

92:デフォルトの名無しさん
04/07/22 23:09
>>91
いくらなんでも違うだろ。

93:デフォルトの名無しさん
04/07/23 10:11
"extensions point" じゃないの?

94:デフォルトの名無しさん
04/07/24 14:33
いや、 Conquerors expanssionだろ

95:デフォルトの名無しさん
04/07/24 14:34
exception
expection

96:デフォルトの名無しさん
04/07/24 14:34
Eclipse3.0からはプラグインの開発スタイルも変わってしまったのだろうか?

97:デフォルトの名無しさん
04/07/31 09:32
プラグインを作っていますが、エキスポートして配布するところでつまづいています。
配布zipのエキスポートがうまくいかないので、jarを作ってplugin.xmlと一緒に手動で
インストールしていますが、起動時にクラスをロードできませんといって怒られます。
試しにウィザードで生成したHelloWorldを同じ手順でインストールしてみても同じでした。
何か心当たりがあるかた、教えてくださいませ。

バージョンは2.1.2です。

98:デフォルトの名無しさん
04/07/31 13:53
多国語パック入れてたら、known bugに引っ掛かっている可能性大。要確認。

99:97
04/08/03 20:34
ご指摘どもです。
LangPack当てずにやってみましたが、状況変わらずです。
作成したウィザードを開こうとすると「Plugin hoge was unable to load class hoge.wizard」と出るので、hogePlugin.classがロードされていないような感じです。
jarにhogePlugin.classが含まれているか、plugin.xmlの指定は正しいか、など気をつけてはいるのですが…。


100:デフォルトの名無しさん
04/08/03 21:53
Error Log viewみた?

101:97
04/08/03 22:27
似た感じのメッセージが出ているようです。
Message:
Plug-in hoge was unable to load class hoge.Wizard
Exception:
org.eclipse.core.internal.boot.Delegating.URLClassLoader$DelegatingLoaderException:
Attempt to load class "hoge.LoadWizard" from deactivated plug-in "hoge"

hogePlugin.classがeclipse起動時に読まれると思うのですが、これができていないのはなぜなんでしょうか。

102:デフォルトの名無しさん
04/08/03 22:39
>>99
PDE + language packのknown bugってのは
>配布zipのエキスポートがうまくいかないので、
こっちの「export時に裏で走るbuildがうまくいかない」ってほうの話。
あなたが手動でパッケージングしたときにうまくいかないのとは別の話だからね。
で、これが原因のエラーもエラーログビューで出ているはずなんだけどな。

>hogePlugin.classがeclipse起動時に読まれると思うのですが、これができていないのはなぜなんでしょうか。
<runtime>の記述とかいろいろありそうだけど、とりあえず
HelloWorldやったときのplugin.xmlを貼り付けてみたら?

103:デフォルトの名無しさん
04/08/03 22:49
大事なこと忘れてた。で、export時にbuild.xmlの生成で
こけるやつは2.1.3ではなおってたはず。

104:デフォルトの名無しさん
04/08/03 23:04
>>101
1.hogePluginってクラス名が不思議。PDEで生成するとHogePluginになるはず。
2.本当にhogePlugin.classが読まれてないのならそのエラーとは別のエラーも
 記録されているはず。

105:97
04/08/03 23:43
>>102
>あなたが手動でパッケージングしたときにうまくいかないのとは別の話だからね。

了解です。export時のエラーメッセージは見忘れていましたが…。

>HelloWorldやったときのplugin.xmlを貼り付けてみたら?

いろいろやってみたのですが…。

む?もしかしてHogePluginクラスの属性に、自作クラスやら、IWorkbenchやらの変数を置くとまずいことが起こりますか?
これを除外すると動いたような気がするんですが。


106:97
04/08/03 23:47
>>104
1.そのとおりです。すんません書き間違い
2.下記のエラーが出るときもあるようです

Message:"" Exception:java.lang.IllegalArgumentException
Message:Unhandled exception caught in event loop.
Message:Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench" Exception:java.lang.UnsupportedClassVersionError: com/hitachi/itg/rapid21/developer/DeveloperPlugin (Unsupported major.minor version 48.0)


107:デフォルトの名無しさん
04/08/04 00:00
>>105-106
105の後半が本当なら最初の質問にあるパッケージングの
問題じゃないだろう。質問全然切り分けられてないよ。
つーかHelloWorldが動かせないのに自分でコード書いてもだめでしょ。
大体106から読み取れるけどセルフホスティング以外で開発環境と
テスト環境を同じにするなんてのは論外。
#106の例外自体はまた別の話だからおいとくけど。
あなたはもう、2.1.3をクリーンインストールしたのを二つ用意して
それぞれ開発環境とテスト環境にしてHelloWorldのサンプルを動かす
ところからやりなおしたほうが結果的に近道。

108:97
04/08/04 01:02
>>107
仰る通りです。申し訳ない。
環境作り直して出直してきます。

109:デフォルトの名無しさん
04/08/04 21:54
eclipse3.0の公式FAQ本、買ってみた。あえて一般ユーザを
対象読者から外しただけあって、2/3はプラグイン
の作成に必要な内容になってる。なお付属CDには本誌の内容の
プラグイン版も収録されていて実際に読むにはこっちのほうが快適。
3.0のプラグイン作るなら一冊買っておいていい本だと思うけど、
JDTまわりのFAQが極端に少ないのが残念。なお広告つきのWeb版もあり。

110:デフォルトの名無しさん
04/08/06 00:08
>>109
情報ありがとうございます。
検索しやすいように書名は正確にお願いします。

Official Eclipse 3.0 Faq (通販\4020)
URLリンク(www.amazon.co.jp)
Official Eclipse 3.0 Faq Web版
URLリンク(www.eclipsefaq.org)

111:デフォルトの名無しさん
04/08/11 01:57
プラグイン作成でCで書かれたライブラリをJNI経由で呼び出したいのですが、
eclipseでコレをサポートする仕組みみたいなのってありますか?

無いとしても、こうすると便利みたいなテクがありましたら、
是非教えていただきたいです

環境はWindowsです


112:デフォルトの名無しさん
04/08/14 13:00
 プラグインからJNIってWindowsでしか考えてないのならノウハウが
必要なものでもないからなあ。しいていうなら、DLLをロードするとき
プラグインの場所からDLLのフルパスを計算しないといけないくらいで。
 そのうちWindows以外のOS用のも作るなら、いまのうちから各クラス
の実装はプラグインじゃなくフラグメントに入れとけとかあるけど。


113:デフォルトの名無しさん
04/08/24 10:25
org.eclipse.ui.popupMenusを拡張して、viewerContributionで
javaエディタ上のコンテキストメニューに独自メニューを追加しました。

アクションクラスであるIEditorActionDelegateの実装クラスで、
javaエディタに表示されているソースのICompilationUnitオブジェクトを
取得したいのですが、方法がわかりません。

ご存じの方ご教授お願いします。

114:デフォルトの名無しさん
04/08/24 11:15
>>113 やったことないけど、エディタパートから
中身を引っ張る定石としては
getEditorInput().getAdapter(Class class)
かな。適当にIJavaElementとかICompilationUnitのクラス
入れてひっぱってみれば? あと実際のJavaエディタの
実装クラスはCompilationUnitEditorだから
CompilationUnitEditor.getEditorInput()
実行時に返すインスタンスがどのクラスかを調べて
それのgetAdapter()の中を見るほうがはやいかも。

あともしFileEditorInputが返って来てたら
Fileオブジェクトから再度ICompilationUnitの
インスタンスを生成する手もある。

115:113
04/08/24 17:10
>>114さん

おかげさまで、CompilationUnitEditorから
ICompilationUnitを取得できました。
internalなパッケージを使って、ですが。。。

他にもIWorkingCopyManagerなんかからも
ICompilationUnitを取得できました。
こちらも正しい取り方しているかわかりませんが。。。

ところで。もしかして、
>>114さんは
URLリンク(yoichiro.cocolog-nifty.com)
の著者さんですか?

116:デフォルトの名無しさん
04/08/24 17:18
>>115
え、CompilationUnitEditorの名前を出したのはあくまでも
ソース読むのは実装クラスのそこねって意味であって、
実際に自分が書くコードはinternalクラスには依存しなく
てもいいはずだけど。でもうごいてるならべつにいいか。

|>>114さんは
|URLリンク(yoichiro.cocolog-nifty.com)
|の著者さんですか?

違います。

117:113
04/08/24 17:25
>>114さん

すいません、まずはお礼を申し上げます。
ありがとうございました。

internalを使う方法はやっぱりアレなんで、
別の手段でやってみます。

>違います。
あまりにもタイムリーでしたので、勘違いしてしまいました。

118:デフォルトの名無しさん
04/08/24 19:05
タイムリーなのはむしろ113が質問したタイミングだろうな。
IAdaptable.getAdapter()はFAQだし。

119:デフォルトの名無しさん
04/08/30 22:12
Rich Client Platformもこのスレの守備範囲?

120:デフォルトの名無しさん
04/08/30 22:24
ネタ振って反応あれば守備範囲ってことでいいんでね。

121:デフォルトの名無しさん
04/10/05 17:35:53
SWTスレで紹介されていたEclipse関連サイトを転載します。
GEFをこれほど詳しく解説したサイトがあるとは知りませんでした。

ObserveEclipse
URLリンク(www13.plala.or.jp)

122:デフォルトの名無しさん
04/10/06 13:44:27
org.eclipse.jdt.core.dom.MethodInvocationから、このメソッドを修飾しているアノテーションの情報を(例えばorg.eclipse.jdt.core.dom.Annotationのインスタンスなどで)得る方法はあるでしょうか?
org.eclipse.jdt.core.dom.IMethodBinding method = MethodInvocation.resolveMethodBinding()として、このmethodが使えないかと思って調べたのですが見つかりませんでした。
どなたかご存知ですか?

123:122
04/10/06 13:52:21
>>122の環境はWin98SE&Eclipse3.1M2&Java SDK1.5.0です。

124:122
04/10/08 21:44:23
どうもすみません。

Current estimates (still draft) for full JDT/Core support (i.e. compiler, search, codeassist, codeselect, formatting, model, dom ast).
M3(nov05) - generics
M4(dec17) - autoboxing, static imports
M5(feb18) - varargs, enums
M6(apr01) - annotations
URLリンク(bugs.eclipse.org)

ということでEclipse3.1M6以降のバージョンを待つ事にして、それまではリフレクションを使おうと思います。
お騒がせしました。

125:カズヲ
04/11/14 02:57:21
eclipse3.0.1を使っているんですが日本語表示パックをインストールすると
GUIプラグインはインストールできません(反映されない)。
逆にGUIプラグインをインストールした後、
日本語表示パックはインストール(eclipseの画面表示に反映)されませんでした。
LanguageパックとGUIプラグインを双方インストールすることってできないのですか?

インストールパックは以下の通りです。
エクリプス:Eclipse ver.3.0.1
日本語パック:SDK-3.0.x-win32
GUIプラグインインストールのパックは以下の通りです。
Visual Editor ver.1.0
EMF build 2.0.1
GEF Build 3.0.

126:122
04/11/14 10:51:02
>>125
スレ違い
【Java/C/PHP/D/他】統合開発環境Eclipse M15
スレリンク(tech板)

127:デフォルトの名無しさん
04/11/22 15:47:49


128:デフォルトの名無しさん
04/11/23 21:54:31
eclipse3.0で
jakarta-tomcat-5.5.4
プラグインはcom.sysdeo.eclipse.tomcat_3.0.0
設定も特にパスなどは通していますが
tomcat起動ボタンを押下すると下記のメッセージが出現します

This release of Apache Tomcat was packaged to run on J2SE 5.0
or later. It can be run on earlier JVMs by downloading and
installing a compatibility package from the Apache Tomcat
binary download page.

よくわからないのですがEclipse3ではjakarta-tomcat-5.5.4
は未対応なんでしょうか?

129:デフォルトの名無しさん
04/11/23 21:59:01
>>128 スレ違い。だいたい、そのメッセージ、原因から対応法まで
親切に書いてくれていると思うぞ。

130:デフォルトの名無しさん
04/11/23 22:00:57
アパッチ雄ネコのこのリリースはJ2SE 5.0の上で、あるいはその後走るために
パッケージにされました。それは、アパッチの雄ネコの2進法のダウンロード
ページからの互換性パッケージのダウンロードおよびインストールにより、
初期のJVM上で実行することができます。

131:デフォルトの名無しさん
04/11/23 22:17:16
>>128
あとは、TomcatのWebサイト・ドキュメント見れ

132:デフォルトの名無しさん
04/11/24 09:41:25
eclipse version 2.1.2
で、タブや改行を表示する設定はどこでやればよいでしょうか?

133:デフォルトの名無しさん
04/11/24 11:33:17
>>132
タブや改行を表示する必要があるのか?
秀丸などを使っていた人は慣れの問題から表示したがることがあるが
しばらく使っていればそんなものは不要なことに気づくのがよくあるパターン。

134:デフォルトの名無しさん
04/11/24 12:30:43
コーディング規約に空行に空白やタブを残さない。
行末に余分な空白やタブを残さない。
というのがあるので面倒なのです。

135:デフォルトの名無しさん
04/11/24 12:40:24
>>134
フォーマット機能でどうにでもなりそうなものだが?

136:デフォルトの名無しさん
04/11/24 12:48:48
それは何ですか?

137:デフォルトの名無しさん
04/11/24 13:00:39
おまえらスレタイ嫁

138:デフォルトの名無しさん
04/11/24 15:44:06
次のようなプラグインを作ろうと思っていますが、
参考にするために既存のプラグインで似たようなやつを探しています。

作ろうとしてるプラグインの概要:

o 状態遷移表から State パターンのソースコードを出力
o 状態遷移表は GUI で記述できる (Visio ライクな画面)
o 状態の遷移はちょうどアドベンチャーゲームのような感じ
(複数の項目からどれかひとつ、もしくは複数項目を選ぶ。
選んだ項目によって別の状態に遷移)

ひとまず GUI から作ろうと思ってて、
Visio のように状態をあらわす四角を置いて、そいつらを矢印で
くっつけていくようなのをさがしてるんですが。。。どうもみつかりません。

もしどなたかご存知でしたらおしえてください。


139:デフォルトの名無しさん
04/11/24 19:51:20
>>138
GEF

140:デフォルトの名無しさん
04/12/07 23:43:25
質問

RCPで作ってるんだけど
ビューのタブの形を3.0風にしたい。

どうしたらよい?

141:デフォルトの名無しさん
04/12/08 13:01:38
これは読んだ?
URLリンク(yoichiro.cocolog-nifty.com)

142:デフォルトの名無しさん
04/12/08 14:36:26
最近やたらコピー&ペーストがおかしくなる。。。
これってどうすればいいの?

143:デフォルトの名無しさん
04/12/08 15:49:21
レバー&ペーストはうまいよ

144:140
04/12/08 21:21:53
>>141

ここは以前に読んだ。

しかし、どこでviewのタブのタイプを設定するかが
わからない。
or2

145:デフォルトの名無しさん
04/12/08 21:39:17
>>144
RCP FAQに書いてあった。

146:デフォルトの名無しさん
04/12/08 23:19:17
宮川と申します。質問させてください
//-----------------------------------------------------------
環境:
 ●OS⇒WinXPPro-SP2
 ●Eclipse⇒バージョン2系統、3系統全て試したがだめ。
 ●cvs(※)⇒Freebsd(※)
 ●samba(※)⇒でFreeBSDを読み行ってます。
  (※)すいません、ちょっと今会社じゃないのでバージョンわからないです。
//-----------------------------------------------------------
症状:
 ●別名チェックアウトで必ず失敗して、困ってます。
   しかも、エラーが、フォルダを作れませんでした(しかも毎回違うフォルダでこける)
   だったり、ファイルを全部チェックアウトしたと思ったら、
   更新情報を取得できませんでしたったり。
 ●ただ、別名チェックアウトでこけても、latest from headersを選べる場合と、
  選べない(グレーアウト)してるときがあり、
  選べる場合は100%「latest from headers」は成功している
 ●今までもたまにそういう状況においってたが、
   最新表示や、laset from headerなどを繰り返して、なんとかごまかしてきた
 ●しかし、ここ数日、急に数台のマシンで頻発しています
●とはいえ、なんも問題のないマシンもあります。
  (それのバージョンは2.1.0ですが、そのeclipseフォルダをそのまま別のマシンに持ってきても、
  症状変わらず。)

 ここ数日で急にこういう事態になったので、sambaがあやしいんではないかとおもったりもしてるのですが、
 しかし、ぐぐっても、Eclipseとsambaとcvsの組み合わせでのバグが見あたらない。
  ⇒となると、CSVがぶっこわれちゃってる???
//-----------------------------------------------------------
どうなんでしょう?どなたか、解決策や、sambaがらみのbug事例など教えていただければ幸いです。

147:デフォルトの名無しさん
04/12/08 23:25:15
>>146 スレ違い。

eclipseと古いCVSとの組み合わせでは動かないからバージョンは重要。
あとどうしてsambaがこの文脈で出てくるのかよくわからんが、
もしかしてCVSリポジトリをsambaで直接いじるようなことを
やってるんだろうか。だとしたら根本的にCVSの使い方まちがっとる。

どっちにしろちゃんと質問の体裁をまとめなおして、eclipseスレか
cvsスレか適切なスレで質問しなおすように。

148:140
04/12/10 01:02:10
>>145

サンクス、わかったよ。

すごく簡単なことだった。or2

149:デフォルトの名無しさん
04/12/20 00:49:48
evalの使い方がさぱりわかりません。
URLリンク(help.eclipse.org)
Object createObject(void)な関数を実行したいだけなんです。


150:デフォルトの名無しさん
04/12/20 11:11:16
>>149
org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippertEditor.evaluateから
LocalEvaluateEngine.evaluateにいたるまでのソースを読む。

151:デフォルトの名無しさん
04/12/23 14:11:50
推薦図書/必読書のためのスレッド PART 21
スレリンク(tech板:388-番)

↑で挙がってたけど、このプラグイン開発の本もう買った?

152:デフォルトの名無しさん
04/12/25 21:53:50
exeファイルを実行するとエラーが出てしまいます。
自分でもJDKやXMLparserをインストールしたりしたのですが解決出来ません。
解決策を教えて下さい。

!SESSION 12 24, 2004 03:18:00.710 ----------------------------------------------
eclipse.buildId=M200409161125
java.version=1.3.1_01
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP

!ENTRY org.eclipse.osgi 12 24, 2004 03:18:00.710
!MESSAGE Error registering XML parser services.
!STACK 0
java.lang.ClassNotFoundException: javax.xml.parsers.SAXParserFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
・・・

!ENTRY org.eclipse.osgi 12 24, 2004 03:18:01.40
!MESSAGE Bundle initial@reference:file:c:/Program Files/eclipse/plugins/org.eclipse.core.runtime_3.0.1/ [1] was not resolved.

■環境
Windows98SE,JRE1.1.7&1.2.2&1.4.1,JDK1.2.2&1.4.1,xmlsdk.msi
※WindowsXP HomeEditonでは問題無くインストールと実行は可能でした。

153:デフォルトの名無しさん
04/12/26 00:15:19
>>152 スレ違い。どういうスレか確認してから書き込むこと。
あと、
>eclipse.buildId=M200409161125
>java.version=1.3.1_01
ソフトをインストールするときには動作環境を確認してから
インストールすること。つーかさ、
>JRE1.1.7&1.2.2&1.4.1,JDK1.2.2&1.4.1,
自分で複数の環境をインストールしているのに、どれが使われているか
チェックしないってのは間抜けすぎ。

154:152
04/12/26 16:29:20
>>153
スレ違い失礼しました。
ただ、実装済みのJDK及びJREと、ログで示されているjava.versionが、
異なっている原因がイマイチよく分からないのですが・・・。

155:デフォルトの名無しさん
04/12/26 16:53:18
スレ違いって言われてるんだから場所かえるくらいの知性は働かせようぜ。

156:152
04/12/26 18:19:38
スレを変えて質問すると、マルチだなんだと言われますから。
何にしろ立ち去ります。どうも。

157:デフォルトの名無しさん
04/12/26 18:25:15
>>156
○○から誘導されてきました、と一言添えればOKじゃない?

158:デフォルトの名無しさん
05/01/02 13:25:58
>>151
買った。超わかりやすい。
サンプルも3.0系に直したものが訳者のHPからDLできる。

159:デフォルトの名無しさん
05/01/02 22:52:29
>>151
The Eclipse Seriesと呼ばれる人気シリーズがあり、その中に
Contributing to Eclipse: Principles, Patterns, and Plug-Insがあります。

The Eclipse Series
URLリンク(www.awprofessional.com)
Contributing to Eclipse: Principles, Patterns, and Plug-Ins
URLリンク(www.amazon.co.jp)
URLリンク(www.awprofessional.com)
Download the archive (ZIP, 170K) (Eclipse2.1用)
URLリンク(www.awprofessional.com)

これを翻訳したのがEclipseプラグイン開発です。

Eclipseプラグイン開発
URLリンク(www.amazon.co.jp)
URLリンク(store.sbpnet.jp)
訳者サポートページ
URLリンク(www.asahi-net.or.jp)
サンプルコード (Eclipse3.0用)
URLリンク(www.asahi-net.or.jp)
URLリンク(www.asahi-net.or.jp)
URLリンク(www.asahi-net.or.jp)
URLリンク(www.asahi-net.or.jp)
URLリンク(www.asahi-net.or.jp)

160:デフォルトの名無しさん
05/01/02 22:53:43
●The Eclipse Series
URLリンク(www.awprofessional.com)
1: Eclipse Modeling Framework: A Developer's Guide
URLリンク(www.amazon.co.jp)
2: Contributing to Eclipse: Principles, Patterns, and Plug-Ins
URLリンク(www.amazon.co.jp)
2: Eclipseプラグイン開発 (和訳)
URLリンク(www.amazon.co.jp)
3: Eclipse: Building Commercial Quality Plug-ins
URLリンク(www.amazon.co.jp)
3: SEclipse: Building Commercial Quality Plug-ins (Web)
URLリンク(www.qualityeclipse.com)
4: Swt: The Standard Widget Toolkit
URLリンク(www.amazon.co.jp)
5: Official Eclipse 3.0 Faq
URLリンク(www.amazon.co.jp)
5: Official Eclipse 3.0 Faq (Web)
URLリンク(www.eclipsefaq.org)
6: Eclipse AspectJ: AOP with AspectJ and the Eclipse AJDT
URLリンク(www.amazon.co.jp)

●その他
7: The Java Developer's Guide to Eclipse
URLリンク(www.amazon.co.jp)
7: Java開発者のためのEclipseエキスパートガイド (和訳)
URLリンク(www.amazon.co.jp)
8: Eclipse Development using Graphical Editing Framework and Eclipse Modeling Framework
URLリンク(www.redbooks.ibm.com)
8: Eclipse Development using Graphical Editing Framework and Eclipse Modeling Framework (Web)
URLリンク(www.redbooks.ibm.com)
8: Eclipse Development using Graphical Editing Framework and Eclipse Modeling Framework (PDF)
URLリンク(www.redbooks.ibm.com)

161:589
05/01/11 14:04:27
今、作っているプラグインから、コンパイルを行ないたいのですが、
どうすればよいでしょうか?

162:デフォルトの名無しさん
05/01/11 23:56:12
>>161 JDTのマニュアルに書いてある。

163:デフォルトの名無しさん
05/01/16 15:48:03
cdtを使っているんですが,
改行した時の自動インデントをTabではなく空白にする方法はありますか?

164:デフォルトの名無しさん
05/01/19 16:47:30
age

165:デフォルトの名無しさん
05/01/22 21:15:34
URLリンク(eclipsefaq.org)
が新装開店してた。元々Official Eclipse 3.0 FAQsのサンプルの
ひとつで、plugin.xmlとJavaコードをごちゃまぜにしたようなスクリプトを
元にプラグインを生成するやつ。ちょっと前の話だとOSGiの機能を生かして
ワークベンチの再起動なしでスクリプトの登録・実行ができるようにしたい
とかいってたけど、そこまで実装すすんだんだろうか。

166:161
05/01/24 15:40:15
>>162さん
遅くなりましたが、レスありがとうございます。
マニュアル見直したら、確かにありました。

それを見て、何とか、コンパイルはできるようになりましたが、
あるプロジェクトが、存在するかどうかを調べたいんですが、
どうすれば出来ますか?

167:デフォルトの名無しさん
05/01/24 20:32:57
>>166 オンラインマニュアルのリソースのとこに書いてある。
重要なのはワークスペースの中のものはプロジェクトでもファイルでも
全て仮想的な空間に存在し、それへのアクセスはリソースAPIによってのみ
行わなければならないこと。例えばfooProjectという名前のプロジェクト
の存在を確認するのに、パスがeclipse/workspace/fooProjectであるだろう
と勝手に仮定してjava.io.File#exists()を使って調べるようなことは
してはいけない。必ずしも全てのプロジェクトがファイルシステム上で
workspaceの下にあるわけじゃないから。

168:161
05/01/25 12:24:28
>>167レスありがとうございます。参考にさせていただきます

169:デフォルトの名無しさん
05/01/31 14:41:11
Javaリソースの生成について解説しているサイトとかあります?

170:169
05/02/03 16:19:01
自己解決しました。板汚しすみませんでした。


171:デフォルトの名無しさん
05/02/03 18:42:48
>>170
自己解決したのはいいけど、よかったら書いておいてもらえると
他の人のためになるのではないかと。

172:デフォルトの名無しさん
05/02/03 19:59:56
>>171
オンラインマニュアル読めばわかるレベルの話だから別にいい
んじゃない?
ちなみにわからなければ>>151でリンク貼ってる本読むと実例
挙がってる。

173:172
05/02/03 20:03:52
すまん、dat落ちしてるのか。えと、エリック ガンマとケント ベックが
共著のEclipseプラグイン開発とかいう本。あとOfficial eclipse 3.0 FAQs
って本にものってる。こっちのほうは上のほうに誰かがWeb版にリンク貼ってるから
そっちみてもいい。でもこの二冊は買っておいたほうがいいね。

174:デフォルトの名無しさん
05/02/05 19:46:48
ビューのウィンドウを最小化する方法について、誰か知りませんか?

175:デフォルトの名無しさん
05/02/05 19:49:45
最小化ボタン押す。

176:デフォルトの名無しさん
05/02/10 19:00:02
自分のPG内でディレクトリを指定してNavigetorを開くのは、どうやったらできますか?

177:デフォルトの名無しさん
05/02/10 19:00:59
↑ Navigatorの間違い

178:デフォルトの名無しさん
05/02/10 20:12:01
>>176 findView()かshowView()でナビゲータを取得したら、
そこからさらにTreeViewerを取得。あとは煮るなり焼くなり。

179:デフォルトの名無しさん
05/02/10 20:16:21
>>178
ありがとうございます。
findView()、showView()とはどこのメソッドなんですか?

180:デフォルトの名無しさん
05/02/10 20:34:24
>>179
スイマセン、自己レスです。
どこのメソッドだかは分かりました。

181:デフォルトの名無しさん
05/02/11 07:50:53
Visual Editorにて独自のカスタムWidgetを編集可能に
するためのプラグインを追加しました。
しかし、Widgetを張り付けると白くなります。
実行時は間題なく表示されます。何が悪いのでしょうか?
実装した拡張ポイントは2つです
org.eclipse.jem.beaninfo.registrations
org.eclipse.ve.java.core.contributors

182:デフォルトの名無しさん
05/02/12 20:33:49
>>181
それ、パレットに登録するしないの問題以前に、そもそも
パレットの「Beanの選択」を使って設計ビューに貼り付け
たときにはウィジットの描画は行われるの?

183:181
05/02/13 00:15:38
再描画されません。
再描画するにはどうすればよいのでしょうか?


184:デフォルトの名無しさん
05/02/13 00:22:13
逆に再描画されないほうが不思議なんだけど。ソース貼っちゃったら?
つーかSWTかSwingかも書いてないし。

185:181
05/02/13 00:28:35
SWTです。
どの辺のソースを貼ればいいんでしょうか?
とりあえずplugin.xmlを貼ります。

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
id="org.xxx.ve.swtex"
name="プラグイン"
version="1.0.0"
provider-name=""
class="org.xxx.ve.internal.swt.SwtPlugin">

<runtime>
<library name="ve_swtex.jar">
<export name="*"/>
<packages prefixes="org.xxx.ve.internal.swt,org.xxx.jem.internal"/>
</library>
</runtime>

<requires>
省略
</requires>


186:181
05/02/13 00:30:37

<extension point="org.eclipse.jem.proxy.contributors">
<contributor
container="SWT_CONTAINER"
class="org.xxx.ve.internal.swt.SWTConfigurationContributor"
plugin="org.xxx.swtex">
</contributor>
</extension>
<extension point="org.eclipse.jem.beaninfo.registrations">
<registration container="SWT_CONTAINER" plugin="org.xxx.swtex">
<beaninfo path="vm/swtexbeaninfo.jar">
<searchpath package="org.xxx.swtex.widgets.beaninfo">
</searchpath>
</beaninfo>
<override package="org.xxx.swtex.widgets" path="overrides/org/xxx/swtex/widgets">
</override>
</registration>
</extension>
<extension point="org.eclipse.ve.java.core.contributors">
<palette container="SWT_CONTAINER" categories="swtpalette.xmi" plugin="org.xxx.swtex">
</palette>
</extension>
</plugin>

187:デフォルトの名無しさん
05/02/13 00:33:10
んー、プラグインの問題じゃないのにplugin.xml貼っても
意味ないでしょう? そうじゃなくて問題を確認する最小限
の機能を持つウィジットのソースをよろしく。

188:181
05/02/13 00:33:33
自作のwidgetsはひたすらDelegateしただけです。
public ButtonEx(Composite parent, int style) {
super(parent, style);
// TODO Auto-generated constructor stub
button = new Button(parent, style);
}

private Button button;

/* (non-Javadoc)
* @see org.eclipse.swt.widgets.Control#addControlListener(org.eclipse.swt.events.ControlListener)
*/
public void addControlListener(ControlListener listener) {
button.addControlListener(listener);
}
/* (non-Javadoc)
* @see org.eclipse.swt.widgets.Widget#addDisposeListener(org.eclipse.swt.events.DisposeListener)
*/
public void addDisposeListener(DisposeListener listener) {
button.addDisposeListener(listener);
}
省略

189:デフォルトの名無しさん
05/02/13 00:35:33
それなにを継承した?

190:181
05/02/13 00:36:49
Compositeです。

191:デフォルトの名無しさん
05/02/13 00:45:20
なんか断片だけでよくわからない。
とりあえず、そのソース刈り込んでいって現象(再描画されないこと)を
確認するのに必要最小限なものだけにしていったら?
#普通はこの作業だけで自己解決するもんだけどね。

ちなみにうちだと、適当にVEが生成した
public class TestComposite extends Composite {
 private Button button = null;
 public TestComposite(Composite parent, int style) {
  super(parent, style);
  initialize();
 }

 private void initialize() {
  button = new Button(this, SWT.NONE);
  
  button.setBounds(new org.eclipse.swt.graphics.Rectangle(51,40,71,22));
  button.setText("Test");
  setSize(new org.eclipse.swt.graphics.Point(300,200));
 }
}
みたいなやつを貼り付けてもちゃんと再描画する。

192:181
05/02/13 00:53:38
ありがとう。いろいろ試してみます。

193:デフォルトの名無しさん
05/02/13 01:02:44
>>188
VEは触ったことないが,styleをsuperとButtonの両方に丸投げしてるのは
SWT的に明らかにおかしい.

194:デフォルトの名無しさん
05/02/14 20:26:42
>>176で「自分のPG内でディレクトリを指定してNavigatorを開くのは、どうやったらできますか? 」
と聞いた者です。
>>178さんが教えてくれた方法でTreeViewerは取得できたのですが、そこから先の調査をしてて止まってしまいました・・

そもそもナビゲータではできないんでしょうか?

195:デフォルトの名無しさん
05/02/15 11:53:40
ナビゲータからselectRevealするなり
TreeViewerからsetSelectionするなり
やりようはいくつもあるのになんで
できないなんて話になるんだろ。
APIリファレンス読んでる?

196:デフォルトの名無しさん
05/02/16 01:13:23
Omondoでgif出力したら文字化けしたんだけど、これの解決策はある?

197:デフォルトの名無しさん
05/02/20 15:01:13
Omondoは前から2byte文字をあんまり考慮してないな。
かなり前は、jarを解凍して.propertiesからフォント定義を探し出して
日本語フォントに書き直してから再jarしてた。
今でもこの方法が通用するかはワカランが。

198:デフォルトの名無しさん
05/02/23 01:12:24
Java Spiderプラグインをダウンロードしたいんだが、公式サイトのどこから落とせるのか知ってる?
URLリンク(www.javaspider.org)

199:デフォルトの名無しさん
05/02/23 01:42:29
へ? Java SpiderってSourceForgeのプロジェクトだけど?

200:デフォルトの名無しさん
05/02/23 02:09:38
確かにSourceForgeのプロジェクトにあった・・・ URLリンク(sourceforge.net)
ありがとう。

Erich Gamma著のEclipseプラグイン開発には、
SpiderはURLリンク(www.javaspider.org) からダウンロードできる・・・
って書いてあったんだが。


201:デフォルトの名無しさん
05/02/23 22:36:58
EclipseRCPで開発してます。
質問です。

ボタンを押すなどのアクションによってパースペクティブのレイアウト
を変えたり、ビューを閉じたり、開いたりすることは可能でしょうか?
ビューを開く際はタブを増やすのではなく、開いてるタブを閉じてから
開くようにしたいのですが。

202:デフォルトの名無しさん
05/02/27 19:01:29
WEB+DB PRESS Vol.24の記事が公開されていました。

Eclipse RCP によるリッチクライアント開発入門
URLリンク(www.mamezou.com)

203:デフォルトの名無しさん
05/02/28 21:01:53
FTP & Web サポートってあるじゃないですか?
あれって、Eclipse 3.0.1だと、「チーム」から「Target Site」ってでてこないんだけど 3.0.1はサポート使えんの?

204:デフォルトの名無しさん
05/02/28 21:07:30
>>203 使える。あとスレ違い。

205:デフォルトの名無しさん
05/03/02 18:15:34
質問です。

プラグインのパスを取得して、その中にあるjarファイルをビルド・パスに追加したいんですけど、どうすればよいですか?

206:デフォルトの名無しさん
05/03/02 20:18:32
>>205 パスを取得したいプラグインが自分で作ったものかどうかで
話は違ってくるね。

207:デフォルトの名無しさん
05/03/02 20:19:30
あ、あと新たにさらにプラグインを自分で作るつもりかどうかでも
違ってくる。

208:205
05/03/02 21:02:09
自作のプラグインです。というか、今作っているプラグインです。
自分のパスを取得して、同梱したjarをビルド・パスに追加したいんです。

209:デフォルトの名無しさん
05/03/02 21:21:19
>>208 コンテナを登録する拡張ポイントがあるから、
それでそのjarを登録する。あとはユーザにそのコンテナを
自分のプロジェクトに追加させるか、「新規作成」のウィザード
であらかじめコンテナを登録済みのプロジェクトを生成するか
させればよい。

とおもったが、質問が二通りに解釈できる気がするので一応確認すると、
ビルドパスを追加する対象のプロジェクトは、プラグインをインストールした
ユーザのワークスペース内の任意のプロジェクトだよね?

210:205
05/03/02 22:02:19
というか、プラグインでボタンを追加して、それを押すと、ビルド・パスを追加した状態のプロジェクトを生成するってことをやりたいんです。

211:デフォルトの名無しさん
05/03/02 22:12:48
>>210 じゃ209で書いた感じでおーけー。
クラスパス変数を定義する手もあるけど、後々の拡張のことを考えたら
コンテナ作っておいたほうがいいね。
ただ新規作成するボタンを押させるのはEclipseの標準的なインター
フェースとはなじまないから、ウィザードを拡張したほうがいいかと。
どっちにしろJDTとPlatformのマニュアルを参照のこと。

212:205
05/03/02 22:21:18
>>211
ありがとうございました。頑張ってみます。

213:205
05/03/03 06:33:05
すみません。あの後、頑張ってみたのですがプラグインのパスの取得がわかりません。どうすれば出来るでしょうか?

214:デフォルトの名無しさん
05/03/03 07:51:20
>>213 バージョンによって違う。2.xならIPluginDescriptorから。
URLリンク(help.eclipse.org)()
3.xならbundleから。↑に書いてある。

215:205
05/03/03 07:52:45
ありがとうございます。

216:デフォルトの名無しさん
05/03/04 21:32:23
お世話さまです。
ツリービューのノードのアイコンのラベル装飾をやっています。
ノードが IProject など IResouce 管理下のものの場合のラベル装飾は、ヘルプやサイト等の情報で比較的に簡単にできました。
(拡張 org.eclipse.ui.decorators にて必要事項を記述する)
しかし、自作のクラスのオブジェクトをノードにした場合、同様の手立てでは装飾されません。

非宣言型ライト・ウェイト・デコレータの方法で実装を試みています
上記の拡張にて、adaptable を falseに、objectClass を自作のクラスの完全修飾名にすればいけそうに思えたのですが、ダメでした。
どなたか同じような経験をお持ちの方がいましたら、よろしくお願いしますm(_ _)m

217:デフォルトの名無しさん
05/03/04 21:42:17
>>216

メーリングリストで、もう少し詳細教えてよ

218:デフォルトの名無しさん
05/03/04 22:48:44
>>217
メーリングリストとは、eclipseの?
利用してないからよく知らないのですが・・

219:デフォルトの名無しさん
05/03/09 22:40:24
>>216です。
入念な調査のうえ解決しました。

装飾対象のツリービューのラベルプロバイダが、DecoratingLabelProviderなど、
IViewerLabelProviderを実装したクラスでないと、ライトウェイトデコレータの機構は利用できないようです。

220:デフォルトの名無しさん
05/03/10 22:48:01
プラグイン中でImageやColorを新規作成したら、
どこで破棄すればいいの?

プラグインの作成時にcreatePartControlが呼ばれるのは理解できるんだが、
破棄のとき呼ばれるメソッドがないから、さっぱりわからん・・・

221:デフォルトの名無しさん
05/03/10 23:12:14
>>220 使い終わったら破棄すればいいよ。見通しのいい短いスコープだったら
その最後でdispose()すればいい。ViewPartの生存中、ずっと保持する必要が
あるんだったら、WorkbenchPart#createPartControlやEditorPart#init()で生成して、
WorkbenchPart#dispose()で破棄でもいい。ただcreatePartControl()
が一度も呼ばれていない状態でもdispose()が呼ばれることがあるのには注意。

最後はsleakっていうSWTリソースのリークをモニタするツールで抜けがないかチェック。

222:デフォルトの名無しさん
05/03/20 14:43:56
>>221 dispose()メソッドなんてあるのね。さんくす。
他にImageRegistoryとかDisposeListenerとか、いろいろやりかたがあるみたい。


223:デフォルトの名無しさん
05/03/20 14:52:23
複数のビューで同じImageを使いたい場合、いったいどこでImageを
呼び出したらよいのでしょう・・・

たとえば一つのビューで画像を編集したら、もう一方のビューで
編集が反映されるといったことをやりたい。

224:デフォルトの名無しさん
05/03/20 22:01:13
>>223
お好きなように。ContentProviderみたいな仕組み使ってもいいし、
addHogehoge/fireHogehogeみたいな仕組みを自分で作ってもいいし。

225:デフォルトの名無しさん
05/03/24 02:38:34
あかん、ContentProviderでいくつか調べたけど、
どのオブジェクトで定義してて、どのオブジェクトで管理してるんか
理解できひん。

自分はドットエディタみたいなのを作りたいです。
View1で全体の画面を表示して、View2でその一部を拡大、
編集します。編集するとView1に反映します。

でも、View2からView1の画像を取得したり、再描画のために
Viewそのものを取得したりする方法がわかりません。

もしかしたら、複数のビューを統括する親オブジェクト(ワークスペース?)
が、あるのでしょうか。

なにか調べるきっかけのようなものでもあれば、教えて

226:デフォルトの名無しさん
05/03/24 09:28:55
PlatformUI.getWorkbench()
 + getActiveWorkbenchWindow() 現在のワークベンチウインドウ
  + getActivePage() -> ウインドウのページ (ページ != パースペクティブ? この概念がいまいち不明・・・)
   + getActiveEditor()
   + getActivePart() (ビューなど)
   + etc...

ヘルプ見ればもっと詳しく書いてあったはず

227:デフォルトの名無しさん
05/03/24 09:34:27
>>225
とりあえずView2にsetParentView()みたいなメソッドを定義して、
ワークベンチからshowViewやfindViewでview2を開いた後view1へ
の参照を渡しておけばいいんじゃないの? 本当はオブザーバーパターン
使ったほうが後々楽だと思うけどね。
あとPlatformUIのAPIリファレンスからいろいろメソッド
たどって概要をつかむことをすすめるよ。

228:デフォルトの名無しさん
05/03/29 09:07:08
ワークベンチとかワークベンチウィンドウとかいうのが
統括してんのね。ちょっとわかりかけたかも。
みんなありがとなー

229:デフォルトの名無しさん
05/04/06 11:16:20
なかなか良いツートリアルがありましたよ
URLリンク(www.eclipsecon.org)

3.1系対応という事で、3.0系より少し拡張されてるようだけど
基本的な概念は同じなので参考にしてみては

230:デフォルトの名無しさん
05/04/06 14:40:18
チュートリアルといえば、eclipse.orgにはその手の教育用リソース
をつくるサブプロジェクトがあるけど、和訳されていないせいか
ほとんど話題にならないな。

231:デフォルトの名無しさん
05/04/09 18:57:43
lombozってなんて読むの?

232:デフォルトの名無しさん
05/04/09 18:59:03
ろむぼっつかな?

233:デフォルトの名無しさん
05/04/09 22:07:08
漏れの脳内では「ろんばづ」

234:デフォルトの名無しさん
05/04/10 02:12:58
>>231
URLリンク(www.eclipsewiki.net)
の途中にそのネタはあるな。

俺は「ロンボス」に一票。「ロンボズ」かも知れんが、語源があるかどうかもわからん。

235:デフォルトの名無しさん
05/04/17 07:06:18
png等の透明色指定する方法誰かわかりませんか?

236:ero 61-26-185-190.rev.home.ne.jp/
05/04/17 07:16:35
         ぉ         k w  う       w                
   っしと      ハ             う    w                 
  け            は    w w     っ                    
 ぇ    る    ァ  う  wお      ぇ    w                  
え       の ハ  ァ  w          ぇ                     
     

237:デフォルトの名無しさん
05/04/18 09:16:54
>>235
誤爆か?
CG板で聞いたほうがいいぞ。

238:デフォルトの名無しさん
05/04/19 22:56:54
eclipseみたいなプラグイン機構を持つアプリ作りたいんだけど
どうやんの?
土台があって、あとはプラグインをぽんぽんってかんじぃ。

239:デフォルトの名無しさん
05/04/19 23:54:00
>>238 マジレスだとURLClassLoaderを使ったクラスのロードを覚えろって
話になるが、スレ的にはIPlatformRunnableを実装しろって話になるな。
後々のことまで考えると後者をすすめる。

でも個人的にはOscarとか使ってみたい気もする。

240:デフォルトの名無しさん
05/04/20 16:21:56
すいません、Junitでprivateのテストを行おうとしているのですが、
ブレイクし、ステップインしていくと
「ソースファイルが見つかりません。
JARファイルjunit.jarにソース添付がありません。
・・・・」
と表示されるのですが、回避方法を教えていただけませんか?」
すれ違いでしたら、申し訳ございません

241:デフォルトの名無しさん
05/04/20 16:50:56
確かにスレ違いだ。
jarに対応するバージョンのjunitのソースをattach.

242:デフォルトの名無しさん
05/04/25 18:18:28
RCPでいろいろ試してるんですが、知ってる人がいたら教えてください。
こいつらで頭を悩ませてます。
get/savePluginPreferences()
get/saveDialogSettings()
get/savePreferenceStore()

PreferencePageではIPreferenceStoreを使うようになっているのに、savePreferenceStore()は3.0からdeprecatedなのですが
これはPluginPreferencesに格納しなおして保存しろという事なんでしょうか?
また、DialogSettingsもAPIで保存可能ですが、PluginPreferencesとの使い分けがよくわかりません。
「これ読め」 でもいいので、何かヒントありませんか?

243:デフォルトの名無しさん
05/04/25 21:23:53
>>242 AbstractUIPluginのリファレンスの冒頭部分が一番親切で
手取り足取り書いてあると思う。

244:242
05/04/26 09:38:53
>>243
どうもです。 javadoc読んでみました。
この辺は3.0から現在進行形でリファクタリング中っぽいですね。
PreferenceStoreはJFaceのためにあるもので、coreRuntime的には
PluginPreferencesを使え、って感じでしょうか。
DialogSettingsとの使い分けはちょっとまだ理解できません。
news://news.eclipse.org/eclipse.platform と news://news.eclipse.org/eclipse.platform.rcp も読んでるんですが
未だ決定的な回答が出てませんね。 (読めてないだけですか orz)
ヘタに両方使うと管理が面倒なんでやめようかな。
PreferencePageとの使用の違いを、現実的にどう解決するかは書いてないので
とりあえずPlatformをデバッガで追ってみます。

245:デフォルトの名無しさん
05/04/26 10:55:56
なんでそんな難しく考えるのかなあ.
Pluginが持っている「設定」ページの情報はgetPluginPreferencesStoreで
取得できる場所に保管してあるってだけだよね.そうすれば
自分でいろいろ管理しなくてもFieldEditorとか使う限りは
何もしなくてもいいし,自分でウィジットつかってUI作ったときは
上述のメソッドで取得したインスタンスにデータを放り込めってことでしょ.

で,汎用的なダイアログとかウィザードとかの設定は
DialogSetting使えと.

あとOfficialEclipseFAQs 3.0とか定番FAQは読んだ?
Webでもお試し版が読めるけど,書籍のCDROMにプラグイン版
が入ってるから買っちゃったほうがいいね.

246:242
05/04/26 12:34:07
すんません。 大ボケをかましておりました。 逝ってきます。 orz

自分のとこだと、PreferenceStoreに入れたはずの設定が保管されないので
プラグインのstop()でsavePreferenceStore()してみたら、内部的にsavePluginPreferencesを呼んでたので
PluginPreferencesに入れなおさないとダメなんか~ と思ってました。
で、ふと思い出して確認すると、実行時にワークスペースをクリアしてました・・・ orz

ダイアログやウィザードの設定、って今のところ保存したいような物は作ってないので
現段階では俺にDialogSettingsは必要無い、ってことですね。 これですっきりしました。

OfficialEclipseFAQのWeb版は読んだんですが、やっぱ書籍が欲しいですね。 買ってみます。
ありがとうございました。

247:デフォルトの名無しさん
05/05/15 16:37:15
メインのエディタ部分の上部タブを切り替えたときのイベントってどのように拾えばいいのでしょうか?
composite.getParent()
composite.getParent().getParent()
composite.getParent().getParent().getParent()
上の三つに対してあらゆるListenerをaddしてみたのですが
拾えませんでした

メインのエディタ部分の上部タブを切り替えるって言うことは
他のプラグインの動作にもかかわるので、出来ないようになっているのでしょうか?

248:デフォルトの名無しさん
05/05/15 20:50:06
>>247 そうやってMVCでいうところのビューの一番下の層である
SWT層で解決するのは間違っているけど、とりあえず質問に答えるならば
あのタブの部分はSWT層ではCTabFolderで実装されているので
editor内のcompositeの直系の祖先だけ調べても駄目。それぞれの祖先の
兄弟にCTabFolderがいるか調べないと。
public void printControlNameTree(Control control) {
if (control == null)
return;
System.err.println(control);
if (control instanceof Composite) {
Composite composite = (Composite) control;
Control[] controls = composite.getChildren();
for (int i = 0; i < controls.length; i++) {
Control control2 = controls[i];
System.err.println("\t" + control2);
if (control2 instanceof CTabFolder) {
CTabFolder folder = (CTabFolder) control2;
CTabItem[] items = folder.getItems();
for (int j = 0; j < items.length; j++) {
CTabItem item = items[j];
System.err.println("\t\t" + item);
}
}
}
}
printControlNameTree(control.getParent());
}
こんな感じのメソッドにcompositeを渡して調べてごらん。
あとはCTabFolderのAPIリファレンス見れ。

249:デフォルトの名無しさん
05/05/16 12:09:11
ああ,べつにSWTにこだわってるわけでもないのね,ごめん.
ならIWorkbenchPage#addPartListenerで各Partに関する
イベントが取得できる。ただし,WorkbenchPageはワークベンチ
ウィンドウを新しく生成したりするとこちらも動的に生成される.
いちどリスナを登録した後でWindow->New Window...したら
新しいウィンドウのほうでイベントがとれないとかそういう
ことがないよう気を付けること。

250:デフォルトの名無しさん
05/05/17 20:18:46
あまねく【遍く・普く】
[意]ひろく。
[例]あまねく天下に名が通っている。

251:デフォルトの名無しさん
05/05/18 00:26:06
見事な誤爆

252:デフォルトの名無しさん
05/05/20 23:36:44
JSFプラグインの開発止まっているのかなぁ・・・
おれ・・作っちゃうよほんとにつーかできているんだが
出し方を考えている
儲かるならそのほうがいいし 

253:デフォルトの名無しさん
05/05/24 23:33:42
ファイルの読み書きをしないエディタってどうやるんでしょうか?

254:デフォルトの名無しさん
05/05/24 23:38:34
それはエディタじゃない

255:デフォルトの名無しさん
05/05/25 00:12:09
>>253 基本的な作り方はファイルに対するエディタと同じ。ただ、
編集したい何かを読むためのIEditorInputを実装したクラス
と、そのクラスを使って何かを読み込むIEditorPartを実装した
エディタクラスを実装する必要がある。

ファイルの場合は、FileEditorInputがあらかじめ用意されていて、
それを扱えるエディタクラスがいくつも用意されているから自分で
用意する必要がないだけで、基本的な構造は同じ。

256:デフォルトの名無しさん
05/05/25 09:44:51
>>253-254
ヒント:チラシの裏

257:デフォルトの名無しさん
05/05/25 21:57:04
>>253
俺もオブジェクトにIEditorInputを実装して
エディタで編集してDBを読み書きさせてるが、正直かなり面倒。
そのエディタを作るのもかなり面倒。

IResourceとか、もっと抽象化してファイルの概念から離れればいいのにねー。


258:デフォルトの名無しさん
05/05/26 11:34:28
とりあえず、ちらしの裏にでも書いてろ。な?

URLリンク(yuukiremix.s33.xrea.com)


259:デフォルトの名無しさん
05/05/26 14:03:04
これはjavaで動いているのですか?

260:253
05/05/26 22:50:45
>>255
>>257

ありがとうございます。
やりたいのはDBの読み書きなのですが
ファイルを読み書きしないので、どのようにして
エディタを立ち上げてよいかわからないのです。

261:デフォルトの名無しさん
05/05/26 22:56:44
>>260
それはエディタプラグインではなくビュープラグインとかにすれば?

262:デフォルトの名無しさん
05/05/26 23:27:52
>>260 まあビューでいい気もするけど、エディタでやるなら
IWorkbenchPage#openEditorするアクションでも作ったら?

263:257
05/05/26 23:38:31
>>260
エディタだと拡張子での関連付けになるからねー。
一旦ローカルにファイルとして保存して、
最後にDBに書き出す方法も考えたけども
ロックとか競合の処理が面倒なんでやめた。

今のところ、openEditorするアクション作って開いてる。

始めはビューにしてたんだけど、isDirtyとか保存の処理を考えると
エディタの方が使いやすい気がする。 しかし作るのは面倒な罠。

264:デフォルトの名無しさん
05/05/26 23:42:16
ただのエディタ作るのそんな面倒かなあ。単にエディタの構成を
しらないだけで下調べとかで時間とってるだけなんじゃないの?

265:
05/05/26 23:47:41
262のいうとおり適当なIEditorInputを実装したクラスを作ってそれとエディタのIDを指定してIWorkbenchPage#openEditorを呼び出せばいいのでは。


266:257
05/05/27 01:10:36
>>264
テキストエディタじゃなくて、フォームエディタなんです。
で、複数のページにGUI部品を配置してエンヤコラ、と。
PDEのplugin.xmlエディタみたいな感じですね。
やってみると結構手間ですよ。

267:デフォルトの名無しさん
05/05/27 08:36:53
>>266
それはエディタだからとかビューだからって観点とは
外れているよね。同じことをビューでやったら楽になる
わけではないし。ちなみにフォーム自体のコードは
「俺は」見通しよくて好き。

268:デフォルトの名無しさん
05/05/28 00:30:24
>>257
>PDEのplugin.xmlエディタみたいな感じですね。
それってマルチページエディタとかいうやつか?

269:デフォルトの名無しさん
05/05/28 00:45:32
>>268
だね。
つーかマルチページでないフォームエディタが欲しい。
1ページしか使わないのに、下にタブがあると邪魔なので。

270:デフォルトの名無しさん
05/05/30 15:40:46
internalAPI使うと警告出るようになったね。

271:デフォルトの名無しさん
05/05/30 20:35:20
eclipseのソースみながらFormEditor実装しようとしてるがワカンネ

272:デフォルトの名無しさん
05/05/31 02:02:22
すごい基本的な質問かもしれないけど、GEFの画像データをGIFやBMPに出力する方法ってある?

273:デフォルトの名無しさん
05/05/31 23:19:00
>>272
ImageからGCを生成して、paint(GC gc)でImageに書き込み、
ImageLoaderでファイル出力じゃ駄目かな。

274:デフォルトの名無しさん
05/06/01 22:25:11
>>273
サンキュ、試してみます

275:デフォルトの名無しさん
05/06/02 00:57:55
>>273
ImageLoader GCあたりでググッタラ、それっぽいソースを見つけたのでコピペで解決しました。

URLリンク(springide.org)

なぜかGIFやPNGだとエラーがでるけど、BMPやJPGはちゃんと動いているので問題なし。
感謝!!

276:デフォルトの名無しさん
05/06/09 22:47:50
ヘルプを開いた時に右ペインに表示されるHTMLを変更しようと
org.eclipse.core.runtime.products を拡張して、
preferenceCustomizationで設定ファイルを指定、
workspace\.metadata\.plugins\org.eclipse.pde.core\xxxx\config.iniに
eclipse.productの設定を追加した。

が、まったく反映されない。
どうもconfig.iniが実行するたびに更新されて、
eclipse.productが消されるのだが、どうすればいいんでしょうか?


277:デフォルトの名無しさん
05/06/09 23:18:50
>>276 config.iniの自動生成をやめさせるだけだったら、Eclipseアプリケーションの
実行設定の中にオプションがあるのでそれを切る。
ただし、Eclipseのbrandingをやるのだったら、プロジェクト中に
.productファイルを作りその中でconfig.iniも含めてPDEを使って管理すべきだと思う。
workspace\.metadata\.plugins\org.eclipse.pde.core\ はPDEを通さずに
自分で触っていい場所ではないから、このままだと同様のトラブルは続くよ。

278:276
05/06/10 00:07:06
>>277

すばやいレスありがとうございます。
.productファイルを作り~
以降がよくわからないのです、よければ教えてください。

279:デフォルトの名無しさん
05/06/11 16:54:46
基本的な話だろうが、Javaプロジェクトの作り方が分からん。
IProjectをcreateしてからどうしたらいいんだ。
ネイチャとかそのへん?

280:デフォルトの名無しさん
05/06/11 17:16:10
>>279
Official eclipse 3.0 FAQsのFAQ351

281:デフォルトの名無しさん
05/06/11 18:00:44
Web版に載ってない……。

282:デフォルトの名無しさん
05/06/11 18:33:23
Webにはないの? まあ書籍版は一冊買っておいたほうがいいよ。
Javaプロジェクト作るだけならnature ID設定しとけって話だけど、
そのほかにも設定項目あるし。
URLリンク(help.eclipse.org)

283:デフォルトの名無しさん
05/06/25 15:44:40
Eclipse RCPをつかったリッチクライアントで、
右上?のアイコンとテキストのパースペクティブ一覧が表示されません。
どうすれば表示できるのでしょうか?

バージョンはEclipse 3.0です。



284:デフォルトの名無しさん
05/06/25 16:07:33
>>283
setShowPerspectiveBar(true)

285:デフォルトの名無しさん
05/06/25 16:23:34
ステータスバーにテキストを表示って
位置指定ってできないの?

addしていくと右から詰まっていくのだが
左端からテキストを表示したい。
どうやって指定するんでしょうか?

286:デフォルトの名無しさん
05/06/25 17:15:16
>>285
addじゃなくてinsertBefore

287:デフォルトの名無しさん
05/06/25 23:15:39
3.1から、ステータスバーに漏れなくメモリメーターが付いてきた。
結構喰らってるのね。 俺のアプリだと10~11MBぐらい炒ってる。
このメモリ使用量はEMFのせいか?
まあ、こまめにGCされてるようで、派手に増えたりする事はないし
数千件のListをぐるぐる回してても結構軽い。


288:283
05/06/26 16:30:43
>>284
ありがとう。

289:デフォルトの名無しさん
05/06/27 23:05:28
ビューの最大化、最小化のアイコンを非表示にできますか?
また、必ず表示していたいビューの一部があるのですが、これ以上小さく
リサイズできないようにするといった設定は可能でしょうか?
バージョンは3.0です。


290:285
05/06/28 23:23:44
>>286
確かに左から詰まっていった。
でも左端の1/3程が依然余白がある。

StatusLineContributionItem作る時に幅を大きくとっても埋まらない。
なんか気持ち悪い。

291:デフォルトの名無しさん
05/06/29 01:09:45
FastViewが埋まる場所ではなくて ?

292:デフォルトの名無しさん
05/06/29 06:40:22
子の方にプラグインしてるか、自分の後にプラグインしている奴がいるかどちらかだろうな。

293:285
05/06/29 21:10:39
>>291,292
FastView

294:285
05/06/29 21:11:12
>>291,292
FastView

295:285
05/06/29 21:15:54
>>291,292
書き込みミスった。
FastViewを表示してみたけど、FastViewの領域とinsertBeforeした
ステータスの間があいている。
WorkbenchAdvisorを継承したクラスで
IStatusLineManager statusLine = configurer.getStatusLineManager();
で取得したstatusLineにステータスをaddしてんだけど
何か根本的に間違ってるのかな?

296:デフォルトの名無しさん
05/06/30 05:22:13
RCPならさきにそういえよ。それなら他のプラグインとかぶる心配が
ないから、素直にstatusLine.setMessage()でいいだろ。

297:デフォルトの名無しさん
05/07/21 23:33:12
PDE JUnitでキーイベント処理のテスト書きたいのですが、
イベントを発火させる方法がわかりません。
スタティックメソッドかなんかで提供されてないでしょうか?

298:デフォルトの名無しさん
05/07/24 20:22:13
ビュータブの×ボタン押下でビューが閉じるが
それをキャンセルすることはできるのでしょうか?

299:デフォルトの名無しさん
05/07/25 00:08:21
>>297 キーイベントの概念はSWTレベルまで降りることになるから、
目的のWidgetをpublicでさらさないとJUnitでテストできなくなるんじゃないかな。
それでもいいなら、Widget#notifyListenersでいいかと。

300:デフォルトの名無しさん
05/07/25 21:39:25
同期について質問

Eclipse のヘルプに、
「リソース変更リスナは、スレッドセーフである必要があります」
とか書いてあるのだけど、
標準に用意されているEclipseのプラグインに含まれるクラスで、
どのメソッドがスレッドセーフに呼べるかが分からない。

勘だと、リソース関係のプラグインはスレッドセーフに呼べそうな気が
するのだけど、なかなかソースが複雑でよく分からない。

お手本にしていた「Eclipseプラグイン開発」という本では、後半で、
作成したイベントの仕組みが、実は複数のスレッドからトリガーされる、
みたいなことが書いてあるが、
リスナーを蓄えるために作成したコレクションの
同期の必要性については指摘していないし、
やっぱり、この程度のいい加減さでいいんでしょうか?


301:デフォルトの名無しさん
05/07/26 00:00:08
>標準に用意されているEclipseのプラグインに含まれるクラスで、
>どのメソッドがスレッドセーフに呼べるかが分からない。

UI周りのAPIに関しては、「リソース変更リスナは、スレッドセーフである必要があります
(Some resource change events are triggered during processing that occurs in a
background thread. Resource change listeners `should be' thread-safe.)」
のもうちょっと先に
>See Threading issues for a discussion about thread safety with
>the UI.
って書いてあって、このリンク先に大体書いてある。

>勘だと、リソース関係のプラグインはスレッドセーフに呼べそうな気が
>するのだけど、なかなかソースが複雑でよく分からない。

元々複数のスレッドからリソース触るやつがいるからリスナは
どのスレッドから呼ばれてもいいように作っておけって話だからね。

ただリソースデルタが絡む処理の非同期実行は内容がワークスペースの
状態といつでも対応取れている保証がされないからやらないこと。
あとリソース変更のときはちゃんとRule使って排他制御しておけば
深刻な事態にはならないような気がする。狭義のスレッドセーフ
とは外れるけど。

302:デフォルトの名無しさん
05/08/07 02:48:36
とりあえずおまいらのおきにのプラグインおしえれ!


303:デフォルトの名無しさん
05/08/07 03:16:50
スレ違い

304:デフォルトの名無しさん
05/08/16 14:51:01
RCP (3.1)でハマってます。 プロジェクト内のjarにクラスパスを通すと単体起動できません。

テンプレートのMailerとか適当なのからプラグインプロジェクトを作って、.productファイルを作って
Launch Productで動作、Export Eclipse Productで単体起動し正常動作を確認しました。
このプロジェクトでcommonsのライブラリを使用したかったので、./libを作りjarを置いて
MANIFEST.MFのRuntimeでクラスパスに追加し、BuildでBinaryBuildに./libを追加しました。

この状態で、Launch Productすると正常動作します。
ですが、Exportしたexeを起動すると、エラーログを吐いて終了します。
ログにはMANIFEST.MFのOverviewで指定したプラグインクラスがClassNotFoundExceptionになってます。

何か根本的に見落としてたり、間違ってたりしてるんでしょうか?

305:デフォルトの名無しさん
05/08/16 16:24:00
>>304
一応自分でも手を動かして確認したけど、jarが入っているプラグインが
アプリケーションプラグインではなく、かつjar'd pluginではなく、
かつライブラリ指定がMANIFEST.MFではなく2.x世代のようにplugin.xml中で
宣言されていることを守れば自分で作ったプラグインでも外部jarの同梱が出来た。

でもまあeclipse同梱のapache commonsのプラグインをつかうのがてっとり早いね。

306:デフォルトの名無しさん
05/08/16 22:03:13
>>305
検証してもらってどうもすみません。 ありがとうございます。

jar'dはダメぽでしたか。JWSで配布しようと思ってたんですが、
ちょっと手間隙かけないといけない感じですね。 将来のバージョンアップに期待。
apache commonsプラグインの存在は知りませんでした。チェックしてみます。

307:デフォルトの名無しさん
05/08/27 22:54:59
毎度お世話になっとります。

EclipseRCPで開発してます。
質問です。

ボタンを押すなどのアクションによってビューを閉じたり、
最小化したりすることは可能でしょうか?


308:デフォルトの名無しさん
05/08/29 09:46:33
ダメっぽい。
org.eclipse.ui.internal.WorkbenchPage.toggleZoom で定義されてる。
そういう操作はユーザーにまかせる方針らしい。

代わりに hide show は使えるので、そっちを使えということかな。

309:307
05/08/29 22:26:16
>>308
サンクスコ

意外と出来ないこと多いな…


310:デフォルトの名無しさん
05/09/02 23:19:21
age

311:デフォルトの名無しさん
05/09/06 17:10:26
Java質問スレからコピペで申し訳ない・・・。

今、Struts×eclipsで開発やってるけど
立ち上げたらコンソールにこんなメッセージが・・・

2005/09/06 16:54:29 org.apache.struts.tiles.TilesRequestProcessor initDefinitionsMapping
情報: Tiles definition factory found for request processor ''.

どなたかご教授おながいしまつ!

ああ~、マッピングうまくいかねーよ畜生!orz

312:デフォルトの名無しさん
05/09/06 17:20:05
スレ違い。

313:デフォルトの名無しさん
05/09/06 17:33:00
>>312
すまん、間違えてしまったよ・・・
回線切ってつ(ry

314:奈々氏
05/09/12 15:21:23
PDE開発でToolBarにはアイコン付のボタンをセット出来ますが
アイコンだけでなく文字列も表示するにはどうすればいいのでしょうか。


315:デフォルトの名無しさん
05/09/12 15:54:16
ツールバーってってプルダウンさせてメニュー開かないと
ラベルが表示されないと思ってたんだけど違った?

316:315
05/09/12 16:00:54
失礼。コード上からアイテムを追加したら普通にラベルの
表示はできるね。拡張ポイントで定義したアクションの
ラベルを表示するやり方は知らないけど。

317:奈々氏
05/09/12 17:16:51
どうも、奈々です。
IEなどのようにアイコンとそのアイコンが示す文字名を表示する
コードが知りたいです。
アイコンもいいけど初心者や年配者には文字のがわかりすい
そのほうが親切じゃないでしょうか。
そういうことがEclpseで表現するのが難しい。

318:デフォルトの名無しさん
05/09/12 17:25:10
iconを空にしておくとlabelだけ表示されたような気がする。
ソース追ってないから詳しい動作はわからんけど。
どっちか片方・両方と使い分けたいよねぇ。

319:奈々氏
05/09/12 18:43:51
どうも、奈々です。
まあ、妥協して文字だけは表示したいのでその方法で検討してみます。
でも両方表示する方法はなものか?

320:デフォルトの名無しさん
05/09/13 09:55:23
ツールバーを取得してToolItem追加すればなんでもできる。

321:奈々氏
05/09/13 11:33:33
デフォルトの名無しさんどうも、奈々です。
そこをもう少し詳しく

322:318
05/09/13 13:19:51
気になったのでソース追ってみた。 ちなみにeclipse3.1/jface3.1.0。
org.eclipse.jface.action.ActionContributionItem の680行あたりだな。
コメントに書いてあった。
「テキストが表示されるのは、imageを持っていないか、MODE_FORCE_TEXT が指定された時」

たぶんビューなんかだと
getViewSite().getActionBars().getMenuManager().getItems()[]
をActionContributionItemにキャストして
setMode(ActionContributionItem.MODE_FORCE_TEXT)
すればいいらしい。 はーめんどくせ。

323:318
05/09/13 13:41:37
動作検証したからこれあげる。
パラメータはIMenuManagerとかIToolbarManagerとかブチ込んで。
setMode()内部でupdate()かけてたけど、表示がかわらんようなら自力update(true)してくれ。

private void showText(IContributionManager manager) {
IContributionItem[] items = manager.getItems();
for (int i = 0; i < items.length; i++) {
if (items[i] instanceof ActionContributionItem) {
ActionContributionItem ac = (ActionContributionItem) items[i];
ac.setMode(ActionContributionItem.MODE_FORCE_TEXT);
}
}
}

324:奈々氏
05/09/13 18:47:42
どうも、奈々です。
アイコンを指定しないと文字が表示されました。
その式だとアイコンも文字も両方表示されるのですか。


325:デフォルトの名無しさん
05/09/13 20:14:25
開発環境のプラグイン開発に忙しくてなかなか本題の開発に進めない人たちのスレ…

326:奈々氏
05/09/13 20:32:52
どうも、奈々です。
実は今、Eclipse RCPで開発しています。
なかなか日本語の資料がなくこまっています。
プラグインは奥が深いです。


327:デフォルトの名無しさん
05/09/13 23:14:58
イチロー永田のネカマモードみたいな名前だ
ばれそうになって慌ててどっかのおばはんをナナに仕立てたみたいな

328:デフォルトの名無しさん
05/09/18 02:09:36
ファイルに関連付けられたエディターを開くにはどうすればいいのでしょうか?


329:デフォルトの名無しさん
05/09/18 09:33:32
IWorkbenchPage.openEditor

330:デフォルトの名無しさん
05/09/18 14:30:31
openEditorでファイルを開くときにjava.io.FileをIFileに変換
したいのですが、どうすればいいのでしょうか
IDE.openEditor(page, file);



331:デフォルトの名無しさん
05/09/18 14:35:00
そもそも質問の前提が間違ってる。
リファレンスマニュアルくらいまともに読め。

332:デフォルトの名無しさん
05/09/18 14:58:45
ごめんなさい。マニュアル読みます。

外部ファイルをEclipseのエディターで開きたいのです。
メニューの「File」→「Open File...」の動作を
実装したいのですが。マニュアル読んでもさっぱり。


333:ta ◆kMUdcU2Mqo
05/09/18 17:27:43
俺もEclipseプラグイン作りやってみよーかと。

334:デフォルトの名無しさん
05/09/18 22:03:05
>>332 なんか最初の質問とかわってねー? 条件の後出しは
悪い質問の典型例。ま いいけど。とりあえずOpenExternalFileActionよめ

335:デフォルトの名無しさん
05/09/18 22:26:04
最近、いい本でないねぇ。
プラグイン開発の流行去ったかな?

336:デフォルトの名無しさん
05/09/18 22:31:06
そうか? 結構出続けていると思うけどな。
定番のthe eclipse seriesからも今度
Eclipse Rich Client Platform: Designing, Coding, And Packaging Java Applications
Jeff Mcaffer, Jean-michel Lemieux
0321334612
が出るし期待している。


337:デフォルトの名無しさん
05/09/19 10:16:24
>>336
お薦めとかあったらおせーて

338:奈々氏
05/09/19 11:51:32
それはアマゾンで注文しました。
予定は10月20ごろです。
ただバージョンは3.01ぽい

339:奈々氏
05/09/19 12:03:02
Eclipseプラグイン開発をする初心者ですが拡張ポイントや関連の関数
を調べるのに検索機能を使用にて何か関連するキーワードで検索するのですが
うまくゲット出来ません。
例えば「自動的に新規更新を検索して通知する」で検索する場合です。
ちょっとスレッドが違うかもしれないが。

あと、お薦めの本ですが技術評論社の「Eclipseパーフェクトマニュアル」
Ver1.5がお薦めです。

340:デフォルトの名無しさん
05/09/19 12:16:58
>>337
URLリンク(www.awprofessional.com)
の4, 5, 7は実際買ってみて必須だと思った。1は発注中。8はEMFをやるなら必須。
というかこのへんは買っておかないとnewsgroupでの話について
いけない。「the book嫁」とか出てくるし。7と8は邦訳あり。
特に8は邦訳のほうでかなり補足されているからそっちのほうがいい。

あとは
URLリンク(www.awprofessional.com)
をつまみ食いで読む感じ? 邦訳もあるけど版が古いからできれば原著で。

>>338
3.1向け

341:デフォルトの名無しさん
05/09/19 12:37:14
>>339
とりあえず340で挙げたerich gammaとkent beck両巨匠の本読んだら?
プラグイン開発に必要な項目を一冊の本に全て盛り込むのは不可能なので
どう必要な情報を集めていくかという視点で書かれている。eclipseの
ソースを実際に追ったりね。

342:デフォルトの名無しさん
05/09/19 14:15:36
全然関係ないけど聞いてくれ
あれだけの洋書を買ってまで読もうとする忍耐・やる気のある人は
Eclipseのソースを読まないのかなと思う・・・
俺なら洋書読むよりEclipseのソース見ると思う(英語わかんないから
Eclipseのヘルプだけ読んでも足りないってことなのか?

実際そういう洋書にはプログラムコードが多くはいっているのか不安だ


343:デフォルトの名無しさん
05/09/19 15:28:05
プラグイン開発もけっこう大変なんだな。
eclipseプラグインだけで1つの領域を形成してる。

UMLとソースを連携するオリジナルのプラグインを趣味で作ろうと
思ってるんだけど、敷居高いのかも。

344:デフォルトの名無しさん
05/09/19 16:29:11
誰もソース読む必要がないなんてことは言ってないよな。

345:デフォルトの名無しさん
05/09/19 16:36:24
>>344
じゃあなぜ本読む
ソース見ればわかるのでは?

346:デフォルトの名無しさん
05/09/19 16:42:55
ソースに必要なことが全部かかれていたら、eclipse.orgの開発陣だって
自ら本を書こうなんて思わないよな。それこそ「ソース読め」で終わらせたい
はず。the eclipse seriesの本はそういう本なんだよ。

347:デフォルトの名無しさん
05/09/19 16:53:48
>俺なら洋書読むよりEclipseのソース見ると思う(英語わかんないから
すまん、英語わかんないっての読み逃してた。
そりゃソース読むしかないよな。

348:デフォルトの名無しさん
05/09/19 18:06:40
eclipseプラグイン開発って本はどうなんでしょう?
今ぱらぱら読んでるんですけど。

349:デフォルトの名無しさん
05/09/19 18:40:14
なんつーか、ガンマたんとベックたんの本だなあって感じ。

350:デフォルトの名無しさん
05/09/19 18:53:57
二人のモノしゃぶった事あるぐらい馴れ馴れしいな

351:奈々氏
05/09/19 22:17:55
そのソースのどこを見ればいいかがわからんのです。
自動更新をしたい場合、どこに手がかりがあるか調べる方法をしりたい。
そうすればあまり本を参考しなくてもいいのでは

352:341
05/09/19 23:16:50
>>351 gamma&beckの本はなにをとっかかりにしてeclipseのソースをどう
追いかけるかについてまで述べられているって書いたつもりだったが伝わらんかったかな。
351が知りたいのってそういうことでしょ?
俺がよくやるのはplugin registry view使って拡張ポイント絡みから追いかける
とか、ワークスペースにインポートしてAPIリファレンスのそれっぽい
メソッドに対して検索かけるとかかな。F4とCtrl + Alt + H押しまくり。

で更新自体は、いまソース追った感じだとorg.eclipse.update.configurator.ConfiguratorUtils
で現設定を取得してorg.eclipse.update.standalone.UpdateCommandを
参考にして各フィーチャーのアップデートをかければよさそうだけどね。

353:341
05/09/20 00:07:07
って、UpdateJobってそのもののクラスあるじゃん。
Job job = new UpdateJob("update",true,true);
job.schedule();
で終了。

354:奈々氏
05/09/24 10:06:26
至急お願いします。
メニューの表示、非表示はマニフェストファイルで設定できますが。
動的につまり実行中にメニューの表示、非表示を制御できますか。
たとえばあるボタンが押されたらメニューを非表示にするとかです。

355:デフォルトの名無しさん
05/09/24 11:28:58
できます。

356:奈々氏
05/09/24 11:32:45
教えてください。

357:デフォルトの名無しさん
05/09/24 11:46:48
これがわからんってことはこれまでの質問の中からIMenuManagerとか
IContributionManagerがなにかとかメニューやツールバー周り全然
調べずにコピペでしのいでいたってことね。答える気失せるやつ多そうだ。

358:奈々氏
05/09/24 12:12:01
たしかに素人ですみません。
RCPではメニューの生成をApplicationActionBarAdvisorクラスのfillMenuBarなどで
作成するのですが、そこで作成したメニューを開いたパースペクティブの中のビューなどから
制御または参照する方法がわからないのです。
たしかにプラグイン開発は素人でわからないことばかりでIContributionManagerが
なんであるかもよくわかりません。


359:デフォルトの名無しさん
05/09/24 12:31:06
ここの作業をちゃんと理解しつつ進めていれば、MenuBarへの
参照を使いまわすとか後で検索しなおすとかやりようはいくつか
自分で思いつくだろうに。

大体、至急とかいうなら354で聞くときに358の内容を全部
かいとけよ。それだから「できます」とかふざけた回答しかでてこねーんだお。

360:奈々氏
05/09/24 12:58:21
自己レスです。
Singletonクラスの内部でメニューのアクションクラスを保持して
ビューの方で参照すればいいようだ。



次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch