OpenOffice.org Basicでガントチャート
OpenOffice.org Basicを使ってガントチャート作成用マクロ ガントチャートforOOoを開発する手順を紹介していきます。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Dbg_Methods - オブジェクトのメソッドを調べる

Dbg_Propertiesと同様にオブジェクトの取得ができれば、「Dbg_Methods」でメソッドを調べる事もできます。

Dbg_Propertiesと同様にダイアログのメソッドを調べてみます。下記のコードを実行してみて下さい。

Sub Test
    Dim oDialog As Object
    oDialog = createUnoDialog(DialogLibraries.Standard.dlgSample)
    MsgBox oDialog.Dbg_Methods
End Sub

結果は下記のようになります。

Methods of object 
"stardiv.Toolkit.UnoDialogControl":
SbxEMPTY queryInterface ( SbxOBJECT ) ;
SbxVOID disposing ( SbxOBJECT ) ;
SbxVOID elementInserted ( SbxOBJECT ) ;
SbxVOID elementRemoved ( SbxOBJECT ) ;
SbxVOID elementReplaced ( SbxOBJECT ) ;
SbxVOID addTopWindowListener ( SbxOBJECT ) ;
SbxVOID removeTopWindowListener ( SbxOBJECT ) ;
SbxVOID toFront ( void ) ;
SbxVOID toBack ( void ) ;
SbxVOID setMenuBar ( SbxOBJECT ) ;
SbxVOID setTitle ( SbxSTRING ) ;
SbxSTRING getTitle ( void ) ;
SbxINTEGER execute ( void ) ;
SbxVOID endExecute ( void ) ;
SbxVOID changesOccurred ( SbxOBJECT ) ;
SbxARRAY getTypes ( void ) ;
SbxARRAY getImplementationId ( void ) ;
SbxVOID setTabControllers ( SbxARRAY ) ;
SbxARRAY getTabControllers ( void ) ;
SbxVOID addTabController ( SbxOBJECT ) ;
SbxVOID removeTabController ( SbxOBJECT ) ;
SbxVOID setStatusText ( SbxSTRING ) ;
SbxARRAY getControls ( void ) ;
SbxOBJECT getControl ( SbxSTRING ) ;
SbxVOID addControl ( SbxSTRING, SbxOBJECT ) ;
SbxVOID removeControl ( SbxOBJECT ) ;
SbxVOID addContainerListener ( SbxOBJECT ) ;
SbxVOID removeContainerListener ( SbxOBJECT ) ;
SbxVOID dispose ( void ) ;
SbxVOID addEventListener ( SbxOBJECT ) ;
SbxVOID removeEventListener ( SbxOBJECT ) ;
SbxVOID setContext ( SbxOBJECT ) ;
SbxOBJECT getContext ( void ) ;
SbxVOID createPeer ( SbxOBJECT, SbxOBJECT ) ;
SbxOBJECT getPeer ( void ) ;
SbxBOOL setModel ( SbxOBJECT ) ;
SbxOBJECT getModel ( void ) ;
SbxOBJECT getView ( void ) ;
SbxVOID setDesignMode ( SbxBOOL ) ;
SbxBOOL isDesignMode ( void ) ;
SbxBOOL isTransparent ( void ) ;
SbxVOID setPosSize ( SbxLONG, SbxLONG, SbxLONG, SbxLONG, SbxINTEGER ) ;
SbxOBJECT getPosSize ( void ) ;
SbxVOID setVisible ( SbxBOOL ) ;
SbxVOID setEnable ( SbxBOOL ) ;
SbxVOID setFocus ( void ) ;
SbxVOID addWindowListener ( SbxOBJECT ) ;
SbxVOID removeWindowListener ( SbxOBJECT ) ;
SbxVOID addFocusListener ( SbxOBJECT ) ;
SbxVOID removeFocusListener ( SbxOBJECT ) ;
SbxVOID addKeyListener ( SbxOBJECT ) ;
SbxVOID removeKeyListener ( SbxOBJECT ) ;
SbxVOID addMouseListener ( SbxOBJECT ) ;
SbxVOID removeMouseListener ( SbxOBJECT ) ;
SbxVOID addMouseMotionListener ( SbxOBJECT ) ;
SbxVOID removeMouseMotionListener ( SbxOBJECT ) ;
SbxVOID addPaintListener ( SbxOBJECT ) ;
SbxVOID removePaintListener ( SbxOBJECT ) ;
SbxBOOL setGraphics ( SbxOBJECT ) ;
SbxOBJECT getGraphics ( void ) ;
SbxOBJECT getSize ( void ) ;
SbxVOID draw ( SbxLONG, SbxLONG ) ;
SbxVOID setZoom ( SbxSINGLE, SbxSINGLE ) ;
SbxVOID propertiesChange ( SbxARRAY ) ;
SbxSTRING getImplementationName ( void ) ;
SbxBOOL supportsService ( SbxSTRING ) ;
SbxARRAY getSupportedServiceNames ( void ) ;
SbxOBJECT getAccessibleContext ( void ) ;
SbxVOID addModeChangeListener ( SbxOBJECT ) ;
SbxVOID removeModeChangeListener ( SbxOBJECT ) ;
SbxVOID addModeChangeApproveListener ( SbxOBJECT ) ;
SbxVOID removeModeChangeApproveListener ( SbxOBJECT ) ;
SbxOBJECT queryAdapter ( void ) ;
SbxVOID setDelegator ( SbxOBJECT ) ;
SbxEMPTY queryAggregation ( SbxOBJECT )

出力される文字列は改行がきちんとされていないので、Dbg_Propertiesの結果より読みづらいですが読んで読めない事も無い。また、「;」が区切り文字になっているので、これを改行に変換すればより見やすくなります。

この中を精査してみると、表示や表示に関わる情報の取得、リスナーの登録など様々なメソッドが用意されているのがわかります。ここで、型名が「SbxVOID」となっているものは戻り値がないことを意味します。

また、Dbg_Methodsはリスナーを調べる際にとても有効で、リスナーの持っている動作の一覧を取得する事ができます。

アクションリスナーを調べると、

Methods of object 
"com.sun.star.awt.XActionListener":
SbxEMPTY queryInterface ( SbxOBJECT ) ; 
SbxVOID disposing ( SbxOBJECT ) ; 
SbxVOID actionPerformed ( SbxOBJECT )
となり、disposingとacttionPerformedの2つがあることがわかります。
次にマウスリスナーを調べてみると、
Methods of object 
"com.sun.star.awt.XMouseListener":
SbxEMPTY queryInterface ( SbxOBJECT ) ; 
SbxVOID disposing ( SbxOBJECT ) ; 
SbxVOID mousePressed ( SbxOBJECT ) ; 
SbxVOID mouseReleased ( SbxOBJECT ) ; 
SbxVOID mouseEntered ( SbxOBJECT ) ; 
SbxVOID mouseExited ( SbxOBJECT ) 
となり、disposing、mousePressed(ボタンを押した時)、mouseReleased(ボタンを放した時)、mouseEntered(カーソルがオブジェクトの上に来た時)、mouseExited(カーソルがオブジェクトの上から外れた時)の5つがあることがわかります。
これがわかれば、リスナーを使用する場合にも予め必要な関数を宣言しておくことができますので、よけいなエラーに煩わされることが少なくなるのではないでしょうか。

スポンサーサイト

テーマ:OpenOffice.org - ジャンル:コンピュータ

コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://shinob.blog42.fc2.com/tb.php/44-8ca8a0d6
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
COPYRIGHT(C) 2004 POWERD BY FC2 ALLRIGHT RESERVED.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。