ソースファイルの純粋仮想関数上で"Ctr + t"を押下すると実装先の一覧が表示され、選択してそこにジャンプできる。
2011年6月13日月曜日
2011年6月11日土曜日
Eclipse > CDT > マクロの展開
ソースファイル上のマクロにマウスポインタをのせるとツールチップに展開された形が表示される。さらにF2キーを押すと、ポップアップで表示され、下部にあるボタンを押せば、マクロが展開されていく過程を知ることができる。
2011年6月8日水曜日
GTK HelloWorld
Eclipseを使ってGTKのHelloWorldをやってみた(WindowsXP、MinGW導入済み)。
- Eclipseをダウンロード(CDTが同梱されているタイプ)して、インストール(解凍)。
http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/heliossr2
- GTKをダンロード(All-in-one(全部入り)タイプ)して、インストール(解凍)。
http://www.gtk.org/download/win32.php
- GTKインストールディレクトリにある
"gtk+-bundle_2.22.0-20101016_win32.README.txt" ファイルに記載されているように、パスを通して(後のために環境変数に登録)、手始めにコマンドを入力する。
>pkg-config --cflags gtk+-2.0
>gtk-demo
- デモが問題なく表示されたので、Eclipseを起動、適当にC,C++プロジェクトを作成。
- GTKサイトのサンプルソースを作成。
http://developer.gnome.org/gtk-tutorial/stable/c39.html#SEC-HELLOWORLD
- プロジェクトのプロパティからインクルードパスを通す。
C/C++ Build > Settings ---Tool Settingタブ > GCC C++ Compiler > Includes にてパスを通す。
%GTK_HOME%\Include\gtk-2.0
%GTK_HOME%\Include\glib-2.0
%GTK_HOME%\lib\gtk-2.0\include
すべて通すのは手間がかかるので、コード補完がある程度出来る程度にしておく。コンパイルに必要なパスは、Build Variablesにて設定する。
- コマンドプロンプトにて以下を実行
>pkg-config --cflags gtk+-2.0 > a.txt
>pkg-config --libs gtk+-2.0 > b.txt - コマンドでリダイレクトしたテキストファイルの内容をBuild Variablesに追加
(プロジェクトのプロパティ > C/C++ Build > Build Variables)。最初のコマンドの内容を
gtk-inc,次のコマンドの内容をgtk-libとでもしておく。 - プロジェクトのプロパティ > C/C++ Build > Settings --- Tool Settingタブ
GCC C++ Compiler > Commandline pattern と
MinGW C++ Linker > Commandline pattern の末尾に ${gtk-inc}と${gtk-lib}を追加。 - プロジェクトのビルド、実行。
久しぶりにEclipseCDTを触ってみたが、以前と比べるとIndexerが固まることがなくなったような気がする。Ctr + o でアウトラインがポップアップで表示されると、やっぱEclipseっていいなぁって思う。
2011年6月7日火曜日
エクスプローラーからカレントフォルダを選択してコマンドプロンプトを開く
ずっとこういう機能があればっと思っていたが、やっと見つけることができた。
http://www.atmarkit.co.jp/fwin2k/win2ktips/325openhere/openhere.html
ソースファイルをエディタで開くときにコンテキストメニューの"送る"を利用していたが、この記事を応用して、コマンドを追加し、ステップを減らすことができた。
環境変数PATHへの追加もやってみたがこれはできなかった(set path=%path%;%L)。
http://www.atmarkit.co.jp/fwin2k/win2ktips/325openhere/openhere.html
ソースファイルをエディタで開くときにコンテキストメニューの"送る"を利用していたが、この記事を応用して、コマンドを追加し、ステップを減らすことができた。
環境変数PATHへの追加もやってみたがこれはできなかった(set path=%path%;%L)。
2011年6月5日日曜日
vim taglistのインストール
- taglistをダウンロードする
- $HOME\vimfilesに解凍しdocとpluginフォルダを生成
- ctags等にパスを通す環境変数PATHに定義するか、_vimrcにて変数Tlist_Ctags_Cmdで実行ファイルを指定($HOME\vimfiles\plugin\taglist.vim の最初の方を読むとよくわかる)
- vimを起動
- コマンドを実行してヘルプタグを生成:helptags $HOME\vimfiles\doc
- 試してみる:e 何かのソースファイル:Tlist (Tは大文字で)
ウィンドウが分割されてメソッドやフィールドが表示されたときは感動した(*^^*)
2011年6月4日土曜日
OpenOffice > Python, C++ > 複雑なツールバーの作成
テキストボックスやコンボボックスを持つツールバーを作成するチュートリアルをやってみた。
DeveloperGuide
http://wiki.services.openoffice.org/wiki/Framework/Article/Generic_UNO_Interfaces_for_complex_toolbar_controls
SDKのexampleの中に対応するサンプルソースがある(example\cpp\complextoolbarcontrols)。C++で実装してある。
http://hermione.s41.xrea.com/pukiwiki/index.php?Extensions%2FComplexToolbar
Pythonで実装してある。
C++, Pythonともによく知らないので、サンプルコードを流用してイベントを拾ったら、OpenOffice BasicのマクロにDispatchしてしまえば、簡単に面白いツールが作れると思う(DeveloperGuideのサンプルならBaseDispatch#dispatch内で)。
DeveloperGuide
http://wiki.services.openoffice.org/wiki/Framework/Article/Generic_UNO_Interfaces_for_complex_toolbar_controls
SDKのexampleの中に対応するサンプルソースがある(example\cpp\complextoolbarcontrols)。C++で実装してある。
http://hermione.s41.xrea.com/pukiwiki/index.php?Extensions%2FComplexToolbar
Pythonで実装してある。
C++, Pythonともによく知らないので、サンプルコードを流用してイベントを拾ったら、OpenOffice BasicのマクロにDispatchしてしまえば、簡単に面白いツールが作れると思う(DeveloperGuideのサンプルならBaseDispatch#dispatch内で)。
2011年6月3日金曜日
OpenOffice > Basic > 選択された文字列を取得
'文字列を取得する
'Calcの場合は選択されているセルの文字列
'Writerの場合は選択されている文字列
'Calcのセル内で選択されている文字のみを抽出する機能はない
Function GetSelectedText
controller = ThisComponent.CurrentController
selection = controller.getSelection()
iName = selection.ImplementationName
If iName="SwXTextRanges" Then
GetSelectedText = selection.getbyindex(0).String
ElseIf iName="ScCellObj" Then
GetSelectedText = selection.String
Else
GetSelectedText = ""
End If
End Function
'Calcの場合は選択されているセルの文字列
'Writerの場合は選択されている文字列
'Calcのセル内で選択されている文字のみを抽出する機能はない
Function GetSelectedText
controller = ThisComponent.CurrentController
selection = controller.getSelection()
iName = selection.ImplementationName
If iName="SwXTextRanges" Then
GetSelectedText = selection.getbyindex(0).String
ElseIf iName="ScCellObj" Then
GetSelectedText = selection.String
Else
GetSelectedText = ""
End If
End Function
vim ctags
- タグファイルの設定:set tags=tagfile1,tagfile2...
- タグジャンプするCtr + ]
- 元の位置に戻るCtr + t
- タグファイルの作成(vimのコマンドではない)ctags -R -f outputfile_name search_directory_path例 ctags -R -f c:\tags c:\project1\src-R 再帰
2011年6月2日木曜日
OpenOffice > Python > Eclipseでデバッグ
OpenOfficeのPythonマクロをEclipseでデバッグする方法
EclipseにPydevプラグインをインストールし、Pydevプラグインの機能であるデバッグサーバーを使用することでリモートデバッグできる。あくまでもサーバーであるため、シグナルを送るのはクライアントであるPythonマクロということになる。つまりPythonマクロにサーバーにリクエストを送るためのコードを埋めこまなくてはならない。(Eclipse上でブレイクポイントも貼っても意味が無い。)
参考
http://pydev.org/manual_adv_remote_debugger.html
EclipseにPydevプラグインをインストールし、Pydevプラグインの機能であるデバッグサーバーを使用することでリモートデバッグできる。あくまでもサーバーであるため、シグナルを送るのはクライアントであるPythonマクロということになる。つまりPythonマクロにサーバーにリクエストを送るためのコードを埋めこまなくてはならない。(Eclipse上でブレイクポイントも貼っても意味が無い。)
参考
http://pydev.org/manual_adv_remote_debugger.html
vim 基本
- ディレクトリの移動
:cd directory - ファイルを開く
:e filename
- バッファを切り替える
:b filename - 次のバッファ
:bn - 前のバッファ
:bp
- ファイルの先頭に移動
gg - ファイルの末尾に移動
G
- 直前の操作を取り消す(アンドゥ)
u - リドゥ
Ctr + r
- 上書きモードに移行する
R
- 行をコピー(ヤンク)
yy - 貼りつけ(ヤンクしたものを)
p - 選択範囲をクリップボードにコピー
Ctr + Insert - クリップボードから貼りつけ
Shift + Insert
登録:
投稿 (Atom)