428827 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

ZIGENのプラグイン開発 for Eclipse

ZIGENのプラグイン開発 for Eclipse

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2005.12.27
XML
現在、実装している機能を紹介します。

1.自動コミットモードの切り替え機能
2.SQL実行時間の表示(SQL実行・ビューで発行するSQLのみ)

です。

DBViewerPluginのSQL実行・ビューで発行されるSQL文は
デフォルトで、手動コミットモードで発行されますが、

自動コミットにしたい場合もあるということから
モードを切り替えできるようにしています。


開発TIPSを紹介しておきます。

1.ステータスバーへのアクセス方法(Viewの場合)

 protected IStatusLineManager getIStatusLineManager() {
  IViewSite vieweSite = super.getViewSite();
  IActionBars actionBars = vieweSite.getActionBars();
  return actionBars.getStatusLineManager();
 }
 
2.IStatusLineManagerへのオブジェクト登録方法

  上記メソッドからIStatusLineManagerを取得し、addメソッドを使えば
  IActionやIContributionItemを登録することができる。
  
  今回のような場合は、ControlContributionを継承したクラスを実装する
  ことになるが、ここで注意することがある。
  
  Label commitMode;
  Label responseTime;
  manager.add(new ControlContribution("ID1") {
   protected Control createControl(Composite parent) {
    Label sep = new Label(parent, SWT.SEPARATOR); // セパレータを入れる
    commitMode = new Label(parent, SWT.NONE);
    commitMode.setText("コミットモード");
    return parent;
   }
  });
  
  manager.add(new ControlContribution("ID2") {
   protected Control createControl(Composite parent) {
    Label sep = new Label(parent, SWT.SEPARATOR); // セパレータを入れる
    responseTime = new Label(parent, SWT.NONE);
    responseTime.setText("処理時間");
    return parent;
   }
  });
  
  という実装により、ステータスバーにItemを配置することができるが
  この実装は「完全ではない」。
  
  Eclipseのワークベンチを起動し、ウィンドウサイズを変更(最大化、縮小化)する
  とステータスバーの高さが2倍になるという現象が発生する。(私の環境だけ?)
  
  「セパレータ用のIDを個別にaddする」、とか
  「1つのIDで、コミットモードと処理時間を配置する」とか、
  試してみたが、どれもうまくいかなかった。
  
  ネットで調べてみたところ、なかなか良い情報は見つからず
  結局は、Eclipseのソースを調査し、どういう実装をしているか調べ、
  org.eclipse.ui.internal.util.StatusLineContributionItemを見つけた。
  internalパッケージのため、ソースを流用して実装することにした。
  
  public void fill(Composite parent) メソッド内で
  コンポーネントの幅、高さを設定することがポイントのようである。

  








お気に入りの記事を「いいね!」で応援しよう

Last updated  2005.12.28 08:29:45
コメント(0) | コメントを書く


PR

Calendar

Comments

名前なし@ Re:テーブルのデータをエクセル風に編集できない?(03/27) ExcelでOracle,MySQLのデータを取得/更新…
ZIGEN@ Re:いつも使ってます!!(04/14) ヘタグラマさん こんにちは^^ コメ…
ヘタグラマ@ いつも使ってます!! いつも便利に使ってます。 もう手放せな…
★みゆきち★@ 性感エステってもったいないよね ムラムラってきたら性感エステに通ってた…
ZIGEN_M@ Re[2]:4000行はないけれど、(03/13) こんにちは、ZIGENです。 そ、そうです…

Category

Freepage List

Favorite Blog

松のページブログ 松-booleanさん

Profile

ZIGEN_M

ZIGEN_M


© Rakuten Group, Inc.