DockPanel Suiteの使い方 その2

WeifenLuo.WinFormsUI.Docking.dllをツールボックスに追加すると、DockPanelコントロールが現れます。
これがドッキングのベースになるわけですが、その構成は次のようになっていました。

まず、DockPanelが一番外の枠になります。
DockPanelは、Top/Right/Left/Bottom/Documentの5つのDockWindowを持っています。
そして、DockWindowは、DockPaneを持ち、ここに、ドッキングフォームが現れるようになっています。
(ドッキングフォームの作成は、http://www.crystal-creation.com/software/technical-information/library/dockpanel.htmにも書かれていますが、DockContentクラスのフォームになります。)

You can access the contained collection of IDockContent forms through the Contents property of class DockPane, and you can access a IDockContent's containing DockPane through its DockContentHandler's Pane, PanelPane or FloatPane properties.

と、リファレンスにもあるように、DockContentフォームには、DockPane.Contentsプロパティからアクセスすることができます。


ドッキングフォームは、入れ子にいくらでもできるため、それぞれのクラスはコレクションとして、子供を持ちます。
ということは、DockWindowは複数のDockPaneをもって、更にその各DockPaneが複数のDockContentを持てるということになりますが・・・。
ここに来て、私の頭のバッファがオーバーフローを起こしました:-p
一体どれをどう管理して、どう表示しているのでしょうか。
いくらかテストをしなければならないようです。

DockPanel Suiteの使い方 その1

DockPanel Suiteを少し触ってみました。
配布サイトでダウンロードできるCookbookは、勿論英語な上に、2005年発行となっていたため、まだ、ちゃんと読んでいません。


とりあえず、
http://www.crystal-creation.com/software/technical-information/library/dockpanel.htm
.NETでDocking Windowを使う - .NET Tips (VB.NET,C#...)
を読みつつ、頑張ってみたのですが・・・。

続きを読む

仕様考察001 -VisualStudioのようなIDEライクな環境

実装したいことをつらつらと書き出したので、次は、具体的にどのような内容にするかを考えます。
まずは、「VisualStudioのようなIDEライクな環境」についてです。

大まかに、次の5つのエリアに区切ろうと考えています。

  1. メニュー部
  2. エクスプローラ
  3. エディタ部
  4. ツール部
  5. 出力部
続きを読む

使用するコンポーネント その1

(勉強のためとはいえ、)一から全てをコーディングしようと思ったら、時間がいくらあっても足りません。
そこで、公開されているコンポーネント/ライブラリを使用することにします。

続きを読む

実装したいことリスト Ver0.0.1

まず、どこを目標にするかのゴールを定めなければいけません。
思いつくままに、現時点で考えている実装したいことを書き出してみます。

  1. VisualStudioのようなIDEライクな環境
  2. コメント部分の表示・非表示切替
  3. 任意の範囲のみ目立つように背景変更
  4. アウトライン解析
  5. カーソル下のメソッド・プロパティ・変数メンバーの定義位置にジャンプ
  6. 閲覧モード(編集不許可)
  7. 検索開始位置の記憶(検索遷移履歴)
  8. 正規表現での検索
  9. 対括弧検索
  10. 検索語句のハイライト
  11. キーワードハイライト
  12. GREP検索(取り込みプロジェクト内)
  13. ブックマーク(しおり機能)
  14. プロジェクト単位でのソースコード取り込み(フォルダ指定)
  15. 世代管理(オプション指定/ソースコード取り込み設定時のみ)
  16. ファイル比較
  17. フォルダ比較
  18. 無制限のRedo/Undo
  19. インターネットリファレンスでのヘルプ機能
  20. 複数エンコードの対応

とりあえずはこんなところでしょうか。
実装したいことが増える度に、随時更新していきたいと思います。

Project Somaliとは?

Project Somaliとは、ソースコード解析用エディタの開発を目指すものです。


人の書いたソースコードを読むのって大変じゃありませんか?
しかも、(ライセンスの問題で)VisualStudioのようなIDEも使えなくって、テキストエディタで読まなきゃいけないとなると、更にモチベーションが下がります。
少なくとも、私はそうです。
どうにかこうにか、ソースコードを読みやすくデザインしてくれるエディタが欲しくなったのですが、私のGoogle力では見つけることは叶いませんでした。
そこで、無いなら自分なりに作ってみよう、と思い立ったのが、このブログの発足理由です。


開発言語には、C#を選択します。開発環境 - Project Somali - C#でソースコード解析用エディタの開発を目指すBlog
VBJavaもさわり程度しか経験がない私ですが、試行錯誤しながら頑張っていきたいと思います。
稚拙な内容になるかとは思いますが、少しでも関心を惹けるようになれば幸いです。

開発環境

2005を使用しているため、ターゲットプラットフォームは.NET Framework 2.0とします。
(パッチをあてると3.0も対象にできるようですが・・)