前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFRBrowserControl
簡易ウェブブラウザコントロールです。
#include <SFRBrowserControl.hpp>
class SFRBrowserControl : public SFRControl;
SFMTYPEDEFCLASS(SFRBrowserControl)

継承図

SFRBrowserControl クラスの継承図

協調図

SFRBrowserControl クラスの協調図

解説

SFRBrowserControl クラスは、以下の機能を備える簡易ウェブブラウザコントロールです。

  • HTTP 通信
  • HTML レンダリング
  • インライン画像表示
  • ハイパーリンク
  • アクセス履歴

SFRBrowserControl クラスは BREW API の IHtmlViewer を使用して実装されているので、HTML レンダリングに関する制限は IHtmlViewer と概ね同等です。

エラー値

SFRBrowserControl クラスのいくつかのメンバ関数は、 エラーが発生すると内部的にその状態を記録します。

メンバ関数で発生したエラーは、 static_catch 関数により取得できます。

エラーが発生しなかった場合は、SFERR_NO_ERROR を返します。

SFRBrowserControl クラスのサンプルコードは以下のようになります。

SFMTYPEDEFCLASS(MyWindow)
class MyWindow : public SFRTitleWindow {
    SFMSEALCOPY(MyWindow)
public:
    MyWindow(Void) static_throws;
    virtual ~MyWindow(Void) { return; }
    
    // 簡易ウェブブラウザをポインタ型のメンバ変数として定義する
    SFRBrowserControlPtr     _browser;      // 簡易ウェブブラウザ

};

// コンストラクタ (エラー処理は省略)
MyWindow::MyWindow(Void) : SFRTitleWindow(SFRApplication::GetInstance(),
    SFXRectangle(20, 20, 200, 250), "my window") static_throws
{
    
    // 表示するブラウザを文字列で入力する
    SFXAnsiString buffer(
         "BrowserControl<br /><br />"
         "<a href=\"/example/tabbrowser/\">ソフィアクレイドル</a><br /><br />"
    );
				
    // 簡易ウェブブラウザの作成
    // 第 1 引数 : 親レスポンダ
    // 第 2 引数 :タブの位置とサイズ
    _browser = ::new SFRBrowserControl(this, rect);
				
    //文字列データを HTML とみなして、レンダリングを開始する
   _browser->Load(buffer);
			
    return;
}

参照

SFRResponder | SFRApplication | SFRWindow | SFRDialog | SFRControl | SFBHTMLViewer | SFBWeb | 簡易ウェブブラウザ

メンバ

コンストラクタ/デストラクタ
SFRBrowserControl( SFRResponderPtr director , SFXRectangleConstRef rect , BehaviorType behavior = BEHAVIOR_SFRBROWSERCONTROL , SFCType attribute = ATTRIBUTE_SFRBROWSERCONTROL )
SFRBrowserControl クラスのコンストラクタです。
~SFRBrowserControl( Void )
SFRBrowserControl クラスのデストラクタです。
パブリック関数
SFCError ClearHistory( Void )
履歴リストを空にします。
SInt32 FindElement( ACharConstPtr element , SInt32 no )
表示中のページから、指定した要素を検索します。
HistoryEntry GetCurrentHistory( Void )
現在表示しているページの URL とタイトルを取得します。
UInt32 GetCurrentHistoryIndex( Void )
現在の履歴番号を取得します。
SFXAnsiString GetElementAttribute( SInt32 elementIndex , ACharConstPtr attr )
指定した要素の属性値を取得します。
SFXAnsiString GetElementText( SInt32 elementIndex )
指定した要素の内容を取得します。
HistoryEntry GetHistory( UInt32 historyIndex = 0 )
指定した履歴番号の履歴内容を取得します。
HistoryEntryConstPtr GetHistoryList( Void )
履歴リストを取得します。
UInt32 GetHistorySize( Void )
履歴リストのエントリ数を取得します。
SInt32 GetIndent( Void )
インデントの幅を取得します。
SFXRGBColor GetLinkColor( Void )
リンク文字列の表示色を取得します。
SInt32 GetParagraphSpacing( Void )
段落間の行間の長さを取得します。
SInt32 GetScrollbarWidth( Void )
スクロールバーの幅を取得します。
SFXRGBColor GetTextColor( Void )
本文の表示色を取得します。
SFBWebSmpConstRef GetWeb( Void )
IWeb インターフェースを取得します。
Bool IsBusy( Void )
通信中、あるいはレンダリング中か判定します。
Bool IsInlineEditEnable( Void )
文字をインラインで入力する設定か判定します。
Bool IsScrollbarEnable( Void )
スクロールバーがあるか判定します。
SFCError Load( SFXAnsiStringConstRef data )
文字列データを HTML とみなして、レンダリングを開始します。
SFCError Load( SFXAnsiStringConstRef data , SFXAnsiStringConstRef url )
文字列データを HTML とみなして、レンダリングを開始します。
SFCError Move( UInt32 historyIndex = 0 )
指定した履歴内のページに移動し、ページの再取得と再レンダリングを行います。
SFCError Next( SInt32 n = 1 )
指定した履歴を進み、ページの再取得と再レンダリングを行います。
SFCError Open( SFXAnsiStringConstRef url )
指定した URL のページを取得して、レンダリングを開始します。
SFCError Open( SFXAnsiStringConstRef url , SFXAnsiStringConstRef method )
指定した URL のページを取得して、レンダリングを開始します。
SFCError Open( SFXAnsiStringConstRef url , SFXAnsiStringConstRef method , SFXAnsiStringConstRef data )
指定した URL のページを取得して、レンダリングを開始します。
SFCError Open( SFXAnsiStringConstRef url , SFXAnsiStringConstRef method , SFXBufferConstRef data )
指定した URL のページを取得して、レンダリングを開始します。
SFCError Open( SFBSourceSmpConstRef source )
指定した URL のページを取得して、レンダリングを開始します。
SFCError Open( SFBSourceSmpConstRef source , SFXAnsiStringConstRef basdUrl )
指定した URL のページを取得して、レンダリングを開始します。
SFCError Open( SFBAStreamSmpConstRef stream )
指定した URL のページを取得して、レンダリングを開始します。
SFCError Open( SFBAStreamSmpConstRef src , SFXAnsiStringConstRef baseUrl )
指定した URL のページを取得して、レンダリングを開始します。
SFCError Previous( SInt32 n = 1 )
指定した履歴を戻り、ページの再取得と再レンダリングを行います。
Void Reload( Void )
現在表示しているページを再取得して再描画します。
SFCError SetAuthorizeData( SFXAnsiStringConstRef user , SFXAnsiStringConstRef passwd , SFXAnsiStringConstRef url )
HTTP ベーシック認証の情報を設定します。
SFCError SetHistorySize( UInt32 size )
履歴リストの大きさを設定します。
SFCError SetIndent( SInt32 pixel )
インデントの幅を設定します。( 単位 : ピクセル )
SFCError SetInlineEditEnable( Bool enable )
文字をインライン入力するか設定します。
SFCError SetLinkColor( SFXRGBColorConstRef color )
リンク文字列の表示色を設定します。
SFCError SetParagraphSpacing( SInt32 pixel )
段落間の行間の長さを設定します。( 単位 : ピクセル )
SFCError SetScrollbarEnable( Bool enable )
スクロールバーの有無を設定します。
SFCError SetScrollbarWidth( SInt32 pixel )
スクロールバーの幅を設定します。( 単位 : ピクセル )
SFCError SetTextColor( SFXRGBColorConstRef color )
テキストの表示色を設定します。
Void SetWeb( SFBWebSmpConstRef web )
IWeb インターフェースを設定します。
Void Stop( Void )
通信、あるいはレンダリングの処理を中断します。
SFCError UnsetAuthorizeData( Void )
HTTP ベーシック認証の情報を設定を取り消します。
Void UnsetWeb( Void )
SetWeb の設定を取り消します。
Bool ClearHandler( Void ) (SFRResponder から継承)
[ハンドラ] ターゲット状態を解除、またはレスポンダを破棄します。
Bool Compare( SFCType type , SFCType attribute , BehaviorType behavior ) (SFRResponder から継承)
タイプ、アトリビュート、振る舞いが一致するか調べます。
Bool FocusDown( Bool repeat = true ) (SFRResponder から継承)
1つ下のレスポンダにフォーカスを移動します。
Bool FocusDownHandler( Void ) (SFRResponder から継承)
[ハンドラ] 1つ下のレスポンダにフォーカスを移動します。
Bool FocusLeft( Bool repeat = true ) (SFRResponder から継承)
1つ左のレスポンダにフォーカスを移動します。
Bool FocusLeftHandler( Void ) (SFRResponder から継承)
[ハンドラ] 1つ左のレスポンダにフォーカスを移動します。
Bool FocusNext( Bool repeat = true ) (SFRResponder から継承)
1つ後の兄弟レスポンダにフォーカスを移動します。
Bool FocusNextHandler( Void ) (SFRResponder から継承)
[ハンドラ] 1つ後の兄弟レスポンダにフォーカスを移動します。
Bool FocusPrevious( Bool repeat = true ) (SFRResponder から継承)
1つ前の兄弟レスポンダにフォーカスに移動します。
Bool FocusPreviousHandler( Void ) (SFRResponder から継承)
[ハンドラ] 1つ前の兄弟レスポンダにフォーカスを移動します。
Bool FocusRight( Bool repeat = true ) (SFRResponder から継承)
1つ右のレスポンダにフォーカスを移動します。
Bool FocusRightHandler( Void ) (SFRResponder から継承)
[ハンドラ] 1つ右のレスポンダにフォーカスを移動します。
Bool FocusUp( Bool repeat = true ) (SFRResponder から継承)
1つ上のレスポンダにフォーカスを移動します。
Bool FocusUpHandler( Void ) (SFRResponder から継承)
[ハンドラ] 1つ上のレスポンダにフォーカスを移動します。
SFCType GetAttribute( Void ) (SFRResponder から継承)
アトリビュートを取得します。
SFRResponderPtr GetBack( SFCType type = TYPE_WILDCARD , SFCType attribute = ATTRIBUTE_WILDCARD , BehaviorType behavior = STATUS_VISIBLE | STATUS_ENABLE ) (SFRResponder から継承)
検索条件に一致する、最背面の子レスポンダを取得します。
SFXRectangleConstRef GetBaseBound( Void ) (SFRResponder から継承)
所有関係の親レスポンダのコンテント座標系でベース領域を取得します。
SFXRectangle GetBaseWorld( Void ) (SFRResponder から継承)
ベース領域を取得します。
SFXRectangleConstRef GetContentBound( Void ) (SFRResponder から継承)
ベース領域の座標系でコンテント領域を取得します。
SFXRectangle GetContentWorld( Void ) (SFRResponder から継承)
コンテント領域を取得します。
SFRResponderPtr GetDirector( Void ) (SFRResponder から継承)
所有関係の親レスポンダを取得します。
SFRResponderPtr GetFocus( Void ) (SFRResponder から継承)
所有関係の子階層のレスポンダでフォーカスを持つレスポンダを取得します。
SFXMargin GetFrameMargin( Void ) (SFRResponder から継承)
ベース領域とコンテント領域の間のマージンを取得します。
SFRResponderPtr GetFront( SFCType type = TYPE_WILDCARD , SFCType attribute = ATTRIBUTE_WILDCARD , BehaviorType behavior = STATUS_VISIBLE | STATUS_ENABLE ) (SFRResponder から継承)
検索条件に一致する、最前面の子レスポンダを取得します。
SInt16 GetIndexBackward( SFCType type = TYPE_WILDCARD , SFCType attribute = ATTRIBUTE_WILDCARD , BehaviorType behavior = STATUS_VISIBLE | STATUS_ENABLE ) (SFRResponder から継承)
検索条件に一致する兄弟レスポンダの中で、最背面から何番目であるかを取得します。
SInt16 GetIndexForward( SFCType type = TYPE_WILDCARD , SFCType attribute = ATTRIBUTE_WILDCARD , BehaviorType behavior = STATUS_VISIBLE | STATUS_ENABLE ) (SFRResponder から継承)
検索条件に一致する兄弟レスポンダの中で、最前面から何番目であるかを取得します。
Bool GetInheritEnable( Void ) (SFRResponder から継承)
所有関係の親レスポンダも含めた、レスポンダの応答可能 / 不可能の状態を取得します。
Bool GetInheritFocus( Void ) (SFRResponder から継承)
所有関係の親レスポンダも含めた、レスポンダのフォーカス / 非フォーカスの状態を取得します。
Bool GetInheritTarget( Void ) (SFRResponder から継承)
所有関係の親レスポンダも含めた、レスポンダのターゲット / 非ターゲットの状態を取得します。
Bool GetInheritVisible( Void ) (SFRResponder から継承)
所有関係の親レスポンダも含めた、レスポンダの可視 / 不可視の状態を取得します。
SFRResponderPtr GetLeft( SFCType type = TYPE_WILDCARD , SFCType attribute = ATTRIBUTE_WILDCARD , BehaviorType behavior = STATUS_VISIBLE | STATUS_ENABLE ) (SFRResponder から継承)
グループ化されているレスポンダのうち、検索条件に一致する、1つ左(1つ前)のレスポンダを取得します。
SInt16 GetMoveInterval( Void ) (SFRResponder から継承)
一回あたりの移動ピクセル数を取得します。
SInt16 GetMoveMargin( Void ) (SFRResponder から継承)
子レスポンダを移動できないコンテント領域(但し、仮想領域が設定されている場合は仮想領域)の縁からのマージンをピクセル数で取得します。
SFRResponderPtr GetNext( SFCType type = TYPE_WILDCARD , SFCType attribute = ATTRIBUTE_WILDCARD , BehaviorType behavior = STATUS_VISIBLE | STATUS_ENABLE , Bool repeat = true ) (SFRResponder から継承)
検索条件に一致する、1つ背面にある兄弟レスポンダを取得します。
SFRResponderPtr GetNthBackward( SInt16 index , SFCType type = TYPE_WILDCARD , SFCType attribute = ATTRIBUTE_WILDCARD , BehaviorType behavior = STATUS_VISIBLE | STATUS_ENABLE ) (SFRResponder から継承)
検索条件に一致する、最背面から N 番目の子レスポンダを取得します。
SFRResponderPtr GetNthForward( SInt16 index , SFCType type = TYPE_WILDCARD , SFCType attribute = ATTRIBUTE_WILDCARD , BehaviorType behavior = STATUS_VISIBLE | STATUS_ENABLE ) (SFRResponder から継承)
検索条件に一致する、最前面から N 番目の子レスポンダを取得します。
SFRResponderPtr GetPrevious( SFCType type = TYPE_WILDCARD , SFCType attribute = ATTRIBUTE_WILDCARD , BehaviorType behavior = STATUS_VISIBLE | STATUS_ENABLE , Bool repeat = true ) (SFRResponder から継承)
検索条件に一致する、1つ前面にある兄弟レスポンダを取得します。
VoidPtr GetReference( Void ) (SFRResponder から継承)
ユーザーが自由に設定できるリファレンス値を取得します。
SFRResponderPtr GetRight( SFCType type = TYPE_WILDCARD , SFCType attribute = ATTRIBUTE_WILDCARD , BehaviorType behavior = STATUS_VISIBLE | STATUS_ENABLE ) (SFRResponder から継承)
グループ化されているレスポンダのうち、検索条件に一致する、1つ右(ひとつ後)のレスポンダを取得します。
SInt16 GetScrollInterval( Void ) (SFRResponder から継承)
仮想領域をスクロールする単位を取得します。(ピクセル数)
Bool GetStatusEnable( Void ) (SFRResponder から継承)
応答可能 / 不可能 フラグを取得します。
Bool GetStatusFocus( Void ) (SFRResponder から継承)
フォーカス / 非フォーカス フラグを取得します。
Bool GetStatusTarget( Void ) (SFRResponder から継承)
ターゲット / 非ターゲット フラグを取得します。
Bool GetStatusVisible( Void ) (SFRResponder から継承)
可視 / 不可視 フラグを取得します。
SFXGrid GetTranslate( Void ) (SFRResponder から継承)
コンテント座標系での仮想領域の原点座標を取得します。
SInt16 GetTravelMargin( Void ) (SFRResponder から継承)
SFRResponder::Travel 関数によって、コンテント領域外にある仮想領域の矩形を 自動的にコンテント領域内にスクロールさせるときのコンテント領域の縁からのマージンをピクセル数で取得します。
SFCType GetType( Void ) (SFRResponder から継承)
タイプを取得します。
SFXRectangleConstRef GetVirtualBound( Void ) (SFRResponder から継承)
仮想領域をコンテント領域の座標系で取得します。
SFXRectangle GetVirtualWorld( Void ) (SFRResponder から継承)
仮想領域を取得します。
Void Group( SFRResponderPtr with ) (SFRResponder から継承)
他のレスポンダとグループ化します。
Void GroupMove( SFXSizeConstRef size ) (SFRResponder から継承)
グループ化されているレスポンダすべてを移動します。
Void GroupScroll( SFXSizeConstRef size ) (SFRResponder から継承)
グループ化されているレスポンダすべての仮想領域をスクロールします。
Void GroupSelect( Void ) (SFRResponder から継承)
グループ化されているレスポンダすべてを最前面に移動します。
Void GroupStatusEnable( Bool enable ) (SFRResponder から継承)
グループ化されているレスポンダすべてに対して、応答可能 / 不可能フラグを設定します。
Void GroupStatusVisible( Bool visible ) (SFRResponder から継承)
グループ化されているレスポンダすべてに対して、可視 / 不可視フラグを設定します。
Void InvalidateBase( Void ) (SFRResponder から継承)
ベース領域内の再描画領域を登録します。
Void InvalidateBase( SFXRectangleConstRef rect ) (SFRResponder から継承)
ベース領域内の再描画領域を登録します。
Void InvalidateContent( Void ) (SFRResponder から継承)
コンテント領域内の再描画領域を登録します。
Void InvalidateContent( SFXRectangleConstRef rect ) (SFRResponder から継承)
コンテント領域内の再描画領域を登録します。
Void InvalidateVirtual( Void ) (SFRResponder から継承)
仮想領域内の再描画領域を登録します。
Void InvalidateVirtual( SFXRectangleConstRef rect ) (SFRResponder から継承)
仮想領域内の再描画領域を登録します。
Bool Invoke( SFXEventConstRef event ) (SFRResponder から継承)
イベントを送信します。
Bool MoveDownHandler( Void ) (SFRResponder から継承)
[ハンドラ] レスポンダを下に移動します。
Bool MoveLeftHandler( Void ) (SFRResponder から継承)
[ハンドラ] レスポンダを左に移動します。
Bool MoveRightHandler( Void ) (SFRResponder から継承)
[ハンドラ] レスポンダを右に移動します。
Bool MoveUpHandler( Void ) (SFRResponder から継承)
[ハンドラ] レスポンダを上に移動します。
SFCError RegisterHandler( HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref ) (SFRHandler から継承)
ハンドラを登録します。
SFCError RegisterHandler( SFCEventEnum type , HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref ) (SFRHandler から継承)
ハンドラを登録します。
SFCError RegisterHandler( SFCEventEnum type , UInt16 p16 , HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref ) (SFRHandler から継承)
ハンドラを登録します。
SFCError RegisterHandler( SFCEventEnum type , UInt16 bp16 , UInt16 ep16 , HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref ) (SFRHandler から継承)
ハンドラを登録します。
SFCError RegisterHandler( SFCEventEnum btype , SFCEventEnum etype , HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref ) (SFRHandler から継承)
ハンドラを登録します。
SFCError RegisterHandler( SFCEventEnum btype , SFCEventEnum endType , UInt16 p16 , HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref ) (SFRHandler から継承)
ハンドラを登録します。
SFCError RegisterHandler( SFCEventEnum btype , SFCEventEnum etype , UInt16 bp16 , UInt16 ep16 , HandlerEnum timing , SFRHandlerSPP spp , VoidPtr ref ) (SFRHandler から継承)
ハンドラを登録します。
SFCError RegisterTracer( BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
SFCError RegisterTracer( SFCEventEnum type , BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
SFCError RegisterTracer( SFCEventEnum type , UInt16 p16 , BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
SFCError RegisterTracer( SFCEventEnum type , UInt16 bgnP16 , UInt16 endP16 , BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
SFCError RegisterTracer( SFCEventEnum bgnType , SFCEventEnum endType , BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
SFCError RegisterTracer( SFCEventEnum bgnType , SFCEventEnum endType , UInt16 p16 , BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
SFCError RegisterTracer( SFCEventEnum bgnType , SFCEventEnum endType , UInt16 bgnP16 , UInt16 endP16 , BehaviorType behavior , TracerEnum trace ) (SFRTracer から継承)
トレーサを登録します。
Void Scroll( SFXSizeConstRef size ) (SFRResponder から継承)
仮想領域をスクロールします。
Bool ScrollDownHandler( Void ) (SFRResponder から継承)
[ハンドラ] 仮想領域を下にスクロールします。
Bool ScrollLeftHandler( Void ) (SFRResponder から継承)
[ハンドラ] 仮想領域を左にスクロールします。
Bool ScrollRightHandler( Void ) (SFRResponder から継承)
[ハンドラ] 仮想領域を右にスクロールします。
Bool ScrollUpHandler( Void ) (SFRResponder から継承)
[ハンドラ] 仮想領域を上にスクロールします。
Void Select( Void ) (SFRResponder から継承)
レスポンダを最前面に移動します。
Bool SelectHandler( Void ) (SFRResponder から継承)
[ハンドラ] レスポンダをターゲット状態にします。
Void SetBaseBound( SFXRectangleConstRef rect ) (SFRResponder から継承)
所有関係の親レスポンダのコンテント座標系でベース領域を設定します。
Void SetContentBound( SFXRectangleConstRef rect ) (SFRResponder から継承)
ベース領域の座標系でコンテント領域を設定します。
Void SetFrameMargin( SFXMarginConstRef param ) (SFRResponder から継承)
ベース領域とコンテント領域の間のマージンを設定します。
Void SetMoveInterval( SInt16 interval ) (SFRResponder から継承)
一回あたりの移動ピクセル数を設定します。
Void SetMoveMargin( SInt16 margin ) (SFRResponder から継承)
子レスポンダを移動できないコンテント領域(但し、仮想領域が設定されている場合は仮想領域)の縁からのマージンをピクセル数で設定します。
Void SetReference( VoidPtr ref ) (SFRResponder から継承)
ユーザーが自由に設定できるリファレンス値を設定します。
Void SetScrollInterval( SInt16 interval ) (SFRResponder から継承)
仮想領域をスクロールする単位を取得します。(ピクセル数)
Void SetStatusEnable( Bool enable ) (SFRResponder から継承)
応答可能 / 不可能フラグを設定します。
Void SetStatusFocus( Bool focus ) (SFRResponder から継承)
フォーカス / 非フォーカス フラグを設定します。
Void SetStatusTarget( Bool target ) (SFRResponder から継承)
ターゲット / 非ターゲット フラグを設定します。
Void SetStatusVisible( Bool visible ) (SFRResponder から継承)
可視 / 不可視フラグを設定します。
Void SetTranslate( SFXGridConstRef point ) (SFRResponder から継承)
コンテント座標系での仮想領域の原点座標を設定します。
Void SetTravelMargin( SInt16 margin ) (SFRResponder から継承)
SFRResponder::Travel 関数によって、コンテント領域外にある仮想領域の矩形を 自動的にコンテント領域内にスクロールさせるときのコンテント領域の縁からのマージンをピクセル数で設定します。
Void SetVirtualBound( SFXRectangleConstRef rect ) (SFRResponder から継承)
仮想領域をコンテント領域の座標系で設定します。
Void Travel( SFXRectangleConstRef rect ) (SFRResponder から継承)
指定した矩形がコンテント領域に入るように、レスポンダの仮想領域をスクロールします。
Void Ungroup( Void ) (SFRResponder から継承)
グループ化したレスポンダを解除します。
Void UnregisterHandler( HandlerEnum timing ) (SFRHandler から継承)
登録されているハンドラを削除します。
Void UnregisterHandler( SFCEventEnum type , HandlerEnum timing ) (SFRHandler から継承)
登録されているハンドラを削除します。
Void UnregisterHandler( SFCEventEnum type , UInt16 p16 , HandlerEnum timing ) (SFRHandler から継承)
登録されているハンドラを削除します。
Void UnregisterHandler( SFCEventEnum type , UInt16 bgnP16 , UInt16 endP16 , HandlerEnum timing ) (SFRHandler から継承)
登録されているハンドラを削除します。
Void UnregisterHandler( SFCEventEnum bgnType , SFCEventEnum endType , HandlerEnum timing ) (SFRHandler から継承)
登録されているハンドラを削除します。
Void UnregisterHandler( SFCEventEnum bgnType , SFCEventEnum endType , UInt16 p16 , HandlerEnum timing ) (SFRHandler から継承)
登録されているハンドラを削除します。
Void UnregisterHandler( SFCEventEnum bgnType , SFCEventEnum endType , UInt16 bgnP16 , UInt16 endP16 , HandlerEnum timing ) (SFRHandler から継承)
登録されているハンドラを削除します。
Void UnregisterTracer( Void ) (SFRTracer から継承)
登録されているトレーサを削除します。
Void UnregisterTracer( SFCEventEnum type ) (SFRTracer から継承)
登録されているトレーサを削除します。
Void UnregisterTracer( SFCEventEnum type , UInt16 p16 ) (SFRTracer から継承)
登録されているトレーサを削除します。
Void UnregisterTracer( SFCEventEnum type , UInt16 bgnP16 , UInt16 endP16 ) (SFRTracer から継承)
登録されているトレーサを削除します。
Void UnregisterTracer( SFCEventEnum bgnType , SFCEventEnum endType ) (SFRTracer から継承)
登録されているトレーサを削除します。
Void UnregisterTracer( SFCEventEnum bgnType , SFCEventEnum endType , UInt16 p16 ) (SFRTracer から継承)
登録されているトレーサを削除します。
Void UnregisterTracer( SFCEventEnum bgnType , SFCEventEnum endType , UInt16 bgnP16 , UInt16 endP16 ) (SFRTracer から継承)
登録されているトレーサを削除します。
プロテクト関数
Void DoneNotifyHandler( DoneNotifyConstRef notify )
[ハンドラ] レンダリングの終了を通知します。
Void FocusNotifyHandler( FocusNotifyConstRef notify )
[ハンドラ] カーソルの移動を通知します。
Void JumpNotifyHandler( JumpNotifyConstRef notify )
[ハンドラ] リンクが押されたことを通知します。
Bool ResponseNotifyHandler( ResponseNotifyConstRef notify )
[ハンドラ] サーバーへの接続が完了したことを通知します。
Bool GetAppearanceTransparent( Void ) (SFRResponder から継承)
APPEARANCE_TRANSPARENT フラグを取得します。
Bool GetPropertyClosable( Void ) (SFRResponder から継承)
PROPERTY_CLOSABLE フラグを取得します。
Bool GetPropertyDirect( Void ) (SFRResponder から継承)
PROPERTY_DIRECT フラグを取得します。
Bool GetPropertyMovable( Void ) (SFRResponder から継承)
PROPERTY_MOVABLE フラグを取得します。
Bool GetPropertyScrollable( Void ) (SFRResponder から継承)
PROPERTY_SCROLLABLE フラグを取得します。
Bool GetPropertySelect( Void ) (SFRResponder から継承)
PROPERTY_SELECT フラグを取得します。
Bool GetPropertyTravel( Void ) (SFRResponder から継承)
PROPERTY_TRAVEL フラグを取得します。
HandlerRecConstPtr SearchHandler( SFXEventConstRef event , HandlerEnum timing ) (SFRHandler から継承)
指定したイベントに一致するハンドラを検索します。
TracerRecConstPtr SearchTracer( SFXEventConstRef event ) (SFRTracer から継承)
指定したイベントに一致するトレーサを検索します。
DEFAULT
パラメータの初期値に関する列挙型です。
DoneNotify
レンダリング終了時の情報を保持するためのクラスです。
FocusNotify
ブラウザのフォーカス移動情報を保持するためのクラスです。
HistoryEntry
履歴の項目を表す構造体です。
JumpNotify
ブラウザで押されたリンクの情報を保持するためのクラスです。
ResponseNotify
レンダリング終了時の情報を保持するためのクラスです。
BehaviorEnum (SFRControl から継承)
コントロールの振る舞いを表します。
HandlerEnum (SFRHandler から継承)
ハンドラの呼び出されるタイミングを表します。
SFRHandlerSPP (SFRHandler から継承)
コールバック関数の型です。
TracerEnum (SFRTracer から継承)
トレース順序を表します。
TracerTraceMPP (SFRTracer から継承)
コールバック関数の型です。

SFRBrowserControl::SFRBrowserControl
SFRBrowserControl クラスのコンストラクタです。
[ public ]
SFRBrowserControl(
    SFRResponderPtr director                             // 親のレスポンダ
    SFXRectangleConstRef rect                            // コントロールのサイズ
    BehaviorType behavior = BEHAVIOR_SFRBROWSERCONTROL   // 振る舞い
    SFCType attribute = ATTRIBUTE_SFRBROWSERCONTROL      // アトリビュート
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMORY
  • 失敗したとき: SFERR_FAILED

解説

データメンバの初期化を行い、ページのレンダリングに使う IHtmlViewer インスタンスを生成します。

通信に使う IWeb インターフェースはここでは生成されません。


SFRBrowserControl::~SFRBrowserControl
SFRBrowserControl クラスのデストラクタです。
[ public, virtual ]
~SFRBrowserControl(Void);

解説

通信、 HTML のレンダリングを中断し、内部で確保した全てのリソースを解放します。


SFRBrowserControl::ClearHistory
履歴リストを空にします。
[ public ]
SFCError ClearHistory(Void);

戻り値

SFERR_NO_ERROR を返します。

解説

現在の履歴番号は 0 に戻ります。

参照

SFRBrowserControl::GetCurrentHistoryIndex


SFRBrowserControl::DoneNotifyHandler
[ハンドラ] レンダリングの終了を通知します。
[ protected, virtual ]
Void DoneNotifyHandler(
    DoneNotifyConstRef notify   // 通知情報
);

引数

notify

通知情報です。 HTTP のレスポンス コード、 BREW のエラーコードを取得できます。

解説

標準の実装では、何も処理しません。

何か処理するには、SFRBrowserControl::DoneNotifyHandler 関数をオーバーロードする必要があります。

SFRBrowserControl::ResponseNotifyHandler とは呼び出されるタイミングが異なります。

使用例

オーバーロードして利用する例です。

#include <SFRResponder/SFRControl/SFRBrowserControl.hpp>

class MyBrowserControl : public SFRBrowserControl {
public:
    MyBrowserControl(SFRResponderPtr director, SFXRectangleConstRef rect)
        : SFRBrowserControl(director, rect) {
    }

protected:
    virtual Void DoneNotifyHandler(DoneNotifyConstRef notify) {
        if (notify.GetErrorCode() != SFERR_NO_ERROR) {
            // 通信エラーならエラーダイアログを表示する
            ErrorDialog(notify.GetErrorCode());
        }
        else if (WEB_SUCCEEDED(notify.GetDoneCode())) {
            // HTTP エラーなら警告ダイアログを表示する
            WarningDialog(notify.GetResposenCode());
        }
    }
};

参照

SFRBrowserControl::DoneNotify | SFRBrowserControl::FocusNotifyHandler | SFRBrowserControl::JumpNotifyHandler | SFRBrowserControl::ResponseNotifyHandler


SFRBrowserControl::FindElement
表示中のページから、指定した要素を検索します。
[ public, const ]
SInt32 FindElement(
    ACharConstPtr element   // 検索する要素名
    SInt32 no               // 取得する要素の番号
);

引数

element

検索する要素名を設定します。

no

検索する要素の何番目の位置を取得するかを設定します。

0 を指定すると、 element と一致する最初の要素の位置を返します。 n を指定すると、 element と一致する n + 1 番目の要素の位置を返します。

戻り値

見つかった要素の位置を返します。 見つからなければ負の値を返します。

解説

現在表示しているページから、指定した要素を検索します。 戻り値(要素の位置)は、SFRBrowserControl::GetElementText 関数や SFRBrowserControl::GetElementAttribute 関数で使います。

参照

SFRBrowserControl::GetElementText | SFRBrowserControl::GetElementAttribute


SFRBrowserControl::FocusNotifyHandler
[ハンドラ] カーソルの移動を通知します。
[ protected, virtual ]
Void FocusNotifyHandler(
    FocusNotifyConstRef notify   // 通知情報
);

引数

notify

通知情報です。 現在カーソルがあたっているタグの位置、種類、状態を取得できます。

解説

標準の関数では、何も処理しません。

何か処理するには、SFRBrowserControl::FocusNotifyHandler 関数をオーバーロードする必要があります。

参照

SFRBrowserControl::FocusNotify | SFRBrowserControl::DoneNotifyHandler | SFRBrowserControl::JumpNotifyHandler | SFRBrowserControl::ResponseNotifyHandler


SFRBrowserControl::GetCurrentHistory
現在表示しているページの URL とタイトルを取得します。
[ public, const ]
HistoryEntry GetCurrentHistory(Void);

戻り値

現在表示しているページの履歴内容を返します。

参照

SFRBrowserControl::GetCurrentHistoryIndex | SFRBrowserControl::GetHistory


SFRBrowserControl::GetCurrentHistoryIndex
現在の履歴番号を取得します。
[ public, const ]
UInt32 GetCurrentHistoryIndex(Void);

戻り値

現在表示しているページの履歴番号を返します。

解説

SFRBrowserControl::Move 関数、 SFRBrowserControl::Previous 関数、 SFRBrowserControl::Next 関数で増減し、 SFRBrowserControl::ClearHistory 関数で 0 に初期化されます。

参照

SFRBrowserControl::Move | SFRBrowserControl::Previous | SFRBrowserControl::Next | SFRBrowserControl::ClearHistory


SFRBrowserControl::GetElementAttribute
指定した要素の属性値を取得します。
[ public, const ]
SFXAnsiString GetElementAttribute(
    SInt32 elementIndex   // 要素の位置
    ACharConstPtr attr    // 属性名
);

引数

elementIndex

要素の位置を指定します。 この引数には、 SFRBrowserControl::FindElement 関数の戻り値を指定します。

attr

属性名を指定します。

戻り値

属性の内容を返します。指定の属性が見付からなければ空文字列を返します。

解説

現在表示しているページから、指定の要素の属性を取得します。 指定の属性が見付からなければ空文字列を返します。

[Important] 値がない属性の取扱い

<HR NOSHADE> のように、値が設定されていない属性がある要素で、 NOSHADE 属性の内容を取得すると、 戻り値は属性名と同じ "NOSHADE" 文字列となります。

参照

SFRBrowserControl::FindElement | SFRBrowserControl::GetElementText


SFRBrowserControl::GetElementText
指定した要素の内容を取得します。
[ public, const ]
SFXAnsiString GetElementText(
    SInt32 elementIndex   // 要素の位置
);

引数

elementIndex

要素の位置を指定します。 この引数には、 SFRBrowserControl::FindElement 関数の戻り値を指定します。

戻り値

要素の内容を返します。要素の中身がない場合は空文字列を返します。

解説

現在表示しているページから、指定の要素の内容を取得します。

参照

SFRBrowserControl::FindElement | SFRBrowserControl::GetElementAttribute


SFRBrowserControl::GetHistory
指定した履歴番号の履歴内容を取得します。
[ public, const ]
HistoryEntry GetHistory(
    UInt32 historyIndex = 0   // 履歴番号
);

引数

historyIndex

履歴番号を指定します。 指定しなければ、履歴番号 0 番(最後に訪れた履歴内容)になります。

戻り値

履歴内容を返します。 履歴情報がない、もしくは無効な履歴番号を指定した場合は、 履歴構造体 SFRBrowserControl::HistoryEntry の url 変数の値は空文字列に設定されます。

参照

SFRBrowserControl::GetHistoryList | SFRBrowserControl::GetCurrentHistory


SFRBrowserControl::GetHistoryList
履歴リストを取得します。
[ public, const ]
HistoryEntryConstPtr GetHistoryList(Void);

戻り値

履歴リストへのポインタです。

履歴リストは SFRBrowserControl::HistoryEntry 構造体の配列です。そのサイズは SFRBrowserControl::GetHistorySize 関数で取得できます。

解説

配列の先頭は一番新しい履歴となっており、履歴番号と配列のインデックスは一致します。

履歴情報が設定されていない部分は、履歴構造体 SFRBrowserControl::HistoryEntry の url 変数は空文字列に設定されます。

[Warning] 使用上の注意

履歴リストの内容は書き換えてはいけません。

使用例

デバッグ用に全履歴のタイトルと URL を表示します。

void PrintHistoryList(SFBrowserControlConstRef browser)
{
    int i;
    SFBrowserControl::HistoryEntryConstPtr historyList = browser.GetHistoryList();
    for (i=0; i < browser.GetHistorySize(); i++) {
        DBGPRINTF("title '%s' url %s",
                  (ACharConstPtr)historyList[i].title, (ConstACharPtr)historyList[i].url); 
    }
}

参照

SFRBrowserControl::GetHistorySize


SFRBrowserControl::GetHistorySize
履歴リストのエントリ数を取得します。
[ public, const ]
UInt32 GetHistorySize(Void);

戻り値

履歴リストのエントリ数を返します。

解説

SFRBrowserControl::Move 関数や SFRBrowserControl::GetHistory 関数などで使用する履歴番号は、履歴リストのエントリ数より小さな値である必要があります。

※ 履歴リストは SFRBrowserControl::GetHistoryList 関数を使用して取得できます。

参照

SFRBrowserControl::GetHistory | SFRBrowserControl::GetHistoryList | SFRBrowserControl::Move | SFRBrowserControl::SetHistorySize


SFRBrowserControl::GetIndent
インデントの幅を取得します。
[ public, const ]
SInt32 GetIndent(Void);

戻り値

インデントの幅を返します。( 単位 : ピクセル )

参照

SFRBrowserControl::SetIndent


SFRBrowserControl::GetLinkColor
リンク文字列の表示色を取得します。
[ public, const ]
SFXRGBColor GetLinkColor(Void);

戻り値

リンク文字列の表示色を返します。

参照

SFRBrowserControl::SetLinkColor | SFRBrowserControl::GetTextColor


SFRBrowserControl::GetParagraphSpacing
段落間の行間の長さを取得します。
[ public, const ]
SInt32 GetParagraphSpacing(Void);

戻り値

段落間の行間の長さを返します。( 単位 : ピクセル )

参照

SFRBrowserControl::SetParagraphSpacing


SFRBrowserControl::GetScrollbarWidth
スクロールバーの幅を取得します。
[ public, const ]
SInt32 GetScrollbarWidth(Void);

戻り値

設定されているスクロールバーの幅を返します。( 単位 : ピクセル )

参照

SFRBrowserControl::SetScrollbarWidth


SFRBrowserControl::GetTextColor
本文の表示色を取得します。
[ public, const ]
SFXRGBColor GetTextColor(Void);

戻り値

HTML 表示の本文の表示色を返します。

参照

SFRBrowserControl::SetTextColor | SFRBrowserControl::GetLinkColor


SFRBrowserControl::GetWeb
IWeb インターフェースを取得します。
[ public, const ]
SFBWebSmpConstRef GetWeb(Void);

戻り値

SFRBrowserControl::SetWeb 関数で設定された IWeb インターフェースを返します。 IWeb インターフェースが設定されていない場合は、null を返します。

解説

[Important] WebOpt 指定時の注意

他の用途で利用するまでは、IWeb インターフェースに設定した WebOpt データを保持する必要があります。

詳しくは、BREW API リファレンス、IWeb インターフェースの「 WEBOPT の寿命に関する注意事項 」を参照してください。

[Important] サスペンド時の振る舞い

サスペンドしたとき、WebOpt の情報はリセットされ IWeb インターフェースを内部で作成する設定(デフォルト状態)に戻ります。

サスペンド前の IWeb インターフェースを使うには、レジューム時に WebOpt データを再設定する必要があります。

参照

SFBWeb | SFRBrowserControl::UnsetWeb | SFRBrowserControl::SetWeb


SFRBrowserControl::IsBusy
通信中、あるいはレンダリング中か判定します。
[ public, const ]
Bool IsBusy(Void);

戻り値

  • 通信中、あるいはレンダリング中のとき: true
  • それ以外のとき: false

SFRBrowserControl::IsInlineEditEnable
文字をインラインで入力する設定か判定します。
[ public, const ]
Bool IsInlineEditEnable(Void);

戻り値

  • インライン入力のとき: true
  • 全画面入力のとき: false

参照

SFRBrowserControl::SetInlineEditEnable


SFRBrowserControl::IsScrollbarEnable
スクロールバーがあるか判定します。
[ public, const ]
Bool IsScrollbarEnable(Void);

戻り値

  • あるとき: true
  • ないとき: false

参照

SFRBrowserControl::SetScrollbarEnable


SFRBrowserControl::JumpNotifyHandler
[ハンドラ] リンクが押されたことを通知します。
[ protected, virtual ]
Void JumpNotifyHandler(
    JumpNotifyConstRef notify   // 通知情報
);

引数

notify

通知情報を返します。 押されたリンクのリンク先 URL、 HTTP メソッド、 POST データを保持しています。

解説

リンク先の url を自動的に Open します。

リンクが http://、https://、file://、res: 以外のスキームのときは何もしません。

標準以外の処理を行うときは、SFRBrowserControl::JumpNotifyHandler 関数をオーバーライドする必要があります。

使用例

SFRBrowserControl::JumpNotifyHandler 関数をオーバーライドして使うサンプルコードです。

#include <SFRResponder/SFRControl/SFRBrowserControl.hpp>

class MyBrowserControl : public SFRBrowserControl {
public:
    MyBrowserControl(SFRResponderPtr director, SFXRectangleConstRef rect)
        : SFRBrowserControl(director, rect) {
    }

protected:
    virtual Void JumpNotifyHandler(JumpNotifyConstRef notify) {
        if (notify.GetUrl().StartWith("mailto:")) {
            // mailto:ならメーラを呼ぶ
            Mailer(notify.GetUrl());
        }
        else {
            // それ以外なら標準ハンドラを呼ぶ
            SFRBrowserControl::JumpNotifyHandler(notify);
        }
    }
};

参照

SFRBrowserControl::JumpNotify | SFRBrowserControl::Open | SFRBrowserControl::DoneNotifyHandler | SFRBrowserControl::FocusNotifyHandler | SFRBrowserControl::ResponseNotifyHandler


SFRBrowserControl::Load
文字列データを HTML とみなして、レンダリングを開始します。
[ public ]
SFCError Load(
    SFXAnsiStringConstRef data   // HTML データ
);
[ public ]
SFCError Load(
    SFXAnsiStringConstRef data   // HTML データ
    SFXAnsiStringConstRef url    // 基準となる URL
);

引数

data

HTML とみなす文字列です。

url

基準となる URL です。 HTML データ内にある相対 URL 表記は、 この引数で指定された URL からの相対パスと解釈されます。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • メモリ不足のとき : SFERR_NO_MEMORY
  • 指定した url が正しくないとき : SFERR_INVALID_PARAM
  • 失敗したとき : SFERR_FAILED

解説

インライン画像は取得できしだい表示されます。

[Important] 通信に関するエラー

通信に関するエラーは戻り値では取得できません。

レンダリングの終了や、通信に関するエラーを取得する場合は、 SFRBrowserControl クラスを継承して、 SFRBrowserControl::DoneNotifyHandler 関数をオーバロードするクラスを作成する必要があります。

参照

SFRBrowserControl::Open | SFRBrowserControl::DoneNotifyHandler


SFRBrowserControl::Move
指定した履歴内のページに移動し、ページの再取得と再レンダリングを行います。
[ public ]
SFCError Move(
    UInt32 historyIndex = 0   // 履歴番号
);

引数

historyIndex

ジャンプ先の履歴番号です。 省略時は、履歴番号 0、最新の履歴に飛びます。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • メモリ不足のとき : SFERR_NO_MEMOERY
  • 履歴番号が履歴リストのサイズより大きいとき: SFERR_INVALID_PARAM
  • 失敗したとき : SFERR_FAILED

解説

指定した履歴番号が履歴リストのサイズより大きかったり、 指定した履歴番号の履歴がまだない場合はエラーとなり、 戻り値として SFERR_INVALID_PARAM を返します。

[Important] 通信に関するエラー

通信に関するエラーは戻り値では取得できません。

レンダリングの終了や、通信に関するエラーを取得する場合は、 SFRBrowserControl クラスを継承して、 SFRBrowserControl::DoneNotifyHandler 関数をオーバロードするクラスを作成する必要があります。

参照

SFRBrowserControl::DoneNotifyHandler | SFRBrowserControl::Open | SFRBrowserControl::Previous | SFRBrowserControl::Next | SFRBrowserControl::Reload


SFRBrowserControl::Next
指定した履歴を進み、ページの再取得と再レンダリングを行います。
[ public ]
SFCError Next(
    SInt32 n = 1   // 履歴を進む数
);

引数

n

履歴をいくつ進むかを指定します。 省略時は履歴を 1 つ進みます。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • メモリ不足のとき : SFERR_NO_MEMOERY
  • 指定した数が大きい、または小さいとき: SFERR_INVALID_PARAM
  • 失敗したとき : SFERR_FAILED

解説

引数に負の値を指定すると、絶対値の数だけ履歴を前に戻ります。 指定した数が履歴リストから外れる場合はエラーとなり、 戻り値として SFERR_INVALID_PARAM を返します。

[Important] 通信に関するエラー

通信に関するエラーは戻り値では取得できません。

レンダリングの終了や、通信に関するエラーを取得する場合は、 SFRBrowserControl クラスを継承して、 SFRBrowserControl::DoneNotifyHandler 関数をオーバロードするクラスを作成する必要があります。

参照

SFRBrowserControl::DoneNotifyHandler | SFRBrowserControl::Open | SFRBrowserControl::Move | SFRBrowserControl::Previous | SFRBrowserControl::Reload


SFRBrowserControl::Open
指定した URL のページを取得して、レンダリングを開始します。
[ public ]
SFCError Open(
    SFXAnsiStringConstRef url   // 開く URL
);
[ public ]
SFCError Open(
    SFXAnsiStringConstRef url      // 開く URL
    SFXAnsiStringConstRef method   // HTTP メソッド
);
[ public ]
SFCError Open(
    SFXAnsiStringConstRef url      // 開く URL
    SFXAnsiStringConstRef method   // HTTP メソッド
    SFXAnsiStringConstRef data     // POST メソッドでサーバーに送るデータ
);
[ public ]
SFCError Open(
    SFXAnsiStringConstRef url      // 開く URL
    SFXAnsiStringConstRef method   // HTTP メソッド
    SFXBufferConstRef data         // POST メソッドでサーバーに送るデータ
);
[ public ]
SFCError Open(
    SFBSourceSmpConstRef source   // HTML のソース
);
[ public ]
SFCError Open(
    SFBSourceSmpConstRef source     // HTML のソース
    SFXAnsiStringConstRef basdUrl   // 基準となる URL
);
[ public ]
SFCError Open(
    SFBAStreamSmpConstRef stream   // HTML のストリーム
);
[ public ]
SFCError Open(
    SFBAStreamSmpConstRef src       // HTML のストリーム
    SFXAnsiStringConstRef baseUrl   // 基準となる URL
);

引数

url

HTTP アクセスする URL を指定します。

スキームは http、https、file と res がサポートされています。

method

HTTP アクセスするメソッドとして、GET または POST を指定します。(省略時は GET )

data

POST メソッドの場合は、サーバーに送るデータを指定します。

baseUrl

基準となる URL です。 HTML データ内にある相対 URL 表記は、 この引数で指定した URL からの相対パスと解釈されます。

source

HTML データを保持した ISource インターフェースです。

指定したインターフェースから HTML データを読み出してレンダリングします。

stream

HTML データを保持した IAStream インターフェースです。

指定したインターフェースから HTML データを読み出してレンダリングします。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • メモリ不足のとき : SFERR_NO_MEMOERY
  • 指定した url が正しくないとき: SFERR_INVALID_PARAM
  • 失敗したとき : SFERR_FAILED

解説

HTML データとインライン画像の読み込みは任意のタイミングで行われ、 取得できしだい表示に反映されます。

[Important] 通信に関するエラー

通信に関するエラーは戻り値では取得できません。

レンダリングの終了や、 通信に関するエラーを取得する場合は、 SFRBrowserControl クラスを継承して、 SFRBrowserControl::DoneNotifyHandler 関数をオーバロードするクラスを作成する必要があります。

参照

SFRBrowserControl::Load | SFRBrowserControl::DoneNotifyHandler


SFRBrowserControl::Previous
指定した履歴を戻り、ページの再取得と再レンダリングを行います。
[ public ]
SFCError Previous(
    SInt32 n = 1   // 履歴を戻る数
);

引数

n

履歴をいくつ戻るかを指定します。 省略時は履歴を 1 つ戻ります。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • メモリ不足のとき : SFERR_NO_MEMOERY
  • 指定した数が大きいまたは小さいとき: SFERR_INVALID_PARAM
  • 失敗したとき : SFERR_FAILED

解説

引数に負の値を指定すると、絶対値の数だけ履歴を前に進みます。

指定した数が履歴リストから外れる場合はエラーとなり、 戻り値として SFERR_INVALID_PARAM を返します。

[Important] 通信に関するエラー

通信に関するエラーは戻り値では取得できません。

レンダリングの終了や、通信に関するエラーを取得する場合は、 SFRBrowserControl クラスを継承して、 SFRBrowserControl::DoneNotifyHandler 関数をオーバロードするクラスを作成する必要があります。

参照

SFRBrowserControl::DoneNotifyHandler | SFRBrowserControl::Open | SFRBrowserControl::Move | SFRBrowserControl::Next | SFRBrowserControl::Reload


SFRBrowserControl::Reload
現在表示しているページを再取得して再描画します。
[ public ]
Void Reload(Void);

解説

現在表示しているページが、 SFRBrowserControl::Load か、IAStream、ISource を引数にした SFRBrowserControl::Open によるものだった場合、 引数の url が適切に設定されていないと再描画に失敗します。

参照

SFRBrowserControl::Load | SFRBrowserControl::Open


SFRBrowserControl::ResponseNotifyHandler
[ハンドラ] サーバーへの接続が完了したことを通知します。
[ protected, virtual ]
Bool ResponseNotifyHandler(
    ResponseNotifyConstRef notify   // 通知情報
);

引数

notify

通知情報です。 HTTP のレスポンス コード、BREW のエラーコードを取得できます。

戻り値

  • HTML のレンダリングをせずに処理を終えたいとき: true
  • 続けて HTML のレンダリングに入りたいとき: false

解説

レンダリングが始まる前に呼び出されます。

標準の実装では、何もせずに false を返します。 標準以外の処理を行うときは、ResponseNotifyHandler 関数をオーバーロードする必要があります。

SFRBrowserControl::DoneNotifyHandler とは 呼び出されるタイミングが違います。

使用例

オーバーロードの例です。

#include <SFRResponder/SFRControl/SFRBrowserControl.hpp>

class MyBrowserControl : public SFRBrowserContorl {
public:
    MyBrowserControl(SFRResponderPtr director, SFXRectangleConstRef rect)
        : SFRBrowserControl(director, rect) {
    }

protected:
    virtual Void ResponseNotifyHandler(ResponseNotifyConstRef notify) {
        if (notify.GetErrorCode() != SFERR_NO_ERROR) {
             // 通信エラーならエラーダイアログを表示し、レンダリングしない 
            ErrorDialog(notify.GetErrorCode());
            return true;
        }
        else if (WEB_SUCCEEDED(notify.GetDoneCode())) {
             // HTTP エラーなら警告ダイアログを表示する 
            WarningDialog(notify.GetResposenCode());
        }
        return false;  // 正常、警告ならば HTML のレンダリングをする 
    }
};

参照

SFRBrowserControl::ResponseNotify | SFRBrowserControl::DoneNotifyHandler | SFRBrowserControl::FocusNotifyHandler | SFRBrowserControl::JumpNotifyHandler


SFRBrowserControl::SetAuthorizeData
HTTP ベーシック認証の情報を設定します。
[ public ]
SFCError SetAuthorizeData(
    SFXAnsiStringConstRef user     // 認証を使うユーザー名
    SFXAnsiStringConstRef passwd   // 認証を使うパスワード
    SFXAnsiStringConstRef url      // 認証を使う URL
);

引数

user

認証に使うユーザー名を設定します。

passwd

認証に使うパスワードを設定します。

url

認証を行う URL を設定します。 この URL から始まるページが、認証の対象となります。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • メモリ不足のとき : SFERR_NO_MEMOERY

SFERR_NO_ERROR 以外を返す場合は、ベーシック認証は行いません。

解説

設定を行った後、url で始まるページのアクセスにはすべて指定した認証情報を持つヘッダーをつけて行います。

url で始まらないページをアクセスした場合、この認証情報は解除されます。

認証を解除する時は、 SFRBrowserControl::UnsetAuthorizeData 関数を使います。

参照

SFRBrowserControl::UnsetAuthorizeData


SFRBrowserControl::SetHistorySize
履歴リストの大きさを設定します。
[ public ]
SFCError SetHistorySize(
    UInt32 size   // 履歴リストのサイズ
);

引数

size

新しい履歴リストのサイズです。 0 や、現在の履歴番号より小さい値を指定できません。

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • メモリ不足のとき : SFERR_NO_MEMOERY
  • 引数が 0、もしくは現在表示中の履歴よりも小さい値のとき: SFERR_INVALID_PARAM

SFERR_NO_ERROR 以外を返す場合は、履歴リストの大きさは変更されません。

解説

現在より小さい値を設定した場合、履歴の大きさが指定したサイズに収まるまで古い履歴情報が捨てられます。

SFRBrowserControl::GetCurrentHistoryIndex 関数で取得できる、現在表示しているページの履歴番号よりも小さな値を設定することはできません。

参照

SFRBrowserControl::GetCurrentHistoryIndex | SFRBrowserControl::GetHistory | SFRBrowserControl::GetHistoryList | SFRBrowserControl::Move | SFRBrowserControl::SetHistorySize


SFRBrowserControl::SetIndent
インデントの幅を設定します。( 単位 : ピクセル )
[ public ]
SFCError SetIndent(
    SInt32 pixel   // インデントの幅
);

引数

pixel

インデントの幅を指定します。( 単位 : ピクセル )

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: SFERR_UNSUPPORTED

参照

SFRBrowserControl::GetIndent


SFRBrowserControl::SetInlineEditEnable
文字をインライン入力するか設定します。
[ public ]
SFCError SetInlineEditEnable(
    Bool enable   // インライン入力
);

引数

enable
  • フォームでの文字入力をインライン入力にする: true
  • フォームでの文字入力をフルスクリーン入力にする: false

戻り値

SFERR_NO_ERROR を返します。

解説

HTML 表示で文字入力をインラインにするか、フルスクリーンにするかを設定します。

参照

SFRBrowserControl::IsInlineEditEnable


SFRBrowserControl::SetLinkColor
リンク文字列の表示色を設定します。
[ public ]
SFCError SetLinkColor(
    SFXRGBColorConstRef color   // リンク色
);

引数

color

リンク文字列の表示色を指定します。

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: SFERR_UNSUPPORTED

参照

SFRBrowserControl::GetLinkColor | SFRBrowserControl::SetTextColor


SFRBrowserControl::SetParagraphSpacing
段落間の行間の長さを設定します。( 単位 : ピクセル )
[ public ]
SFCError SetParagraphSpacing(
    SInt32 pixel   // 段落間の行間の長さ
);

引数

pixel

段落間の行間の長さを指定します。( 単位 : ピクセル )

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: SFERR_UNSUPPORTED

参照

SFRBrowserControl::GetParagraphSpacing


SFRBrowserControl::SetScrollbarEnable
スクロールバーの有無を設定します。
[ public ]
SFCError SetScrollbarEnable(
    Bool enable   // スクロールバー有効
);

引数

enable
  • あり: true
  • なし: false

戻り値

SFERR_NO_ERROR を返します。

解説

この設定で表示されるスクロールバーは、 SophiaFramework UNIVERSE で実装されているものではなく、 BREW が用意しているスクロールバーになります。

参照

SFRBrowserControl::IsScrollbarEnable


SFRBrowserControl::SetScrollbarWidth
スクロールバーの幅を設定します。( 単位 : ピクセル )
[ public ]
SFCError SetScrollbarWidth(
    SInt32 pixel   // スクロールバーの幅
);

引数

pixel

スクロールバーの幅を指定します。 設定する単位はピクセルです

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: SFERR_UNSUPPORTED

解説

HTML 表示のスクロールバーの幅を設定します。( 単位 : ピクセル )

参照

SFRBrowserControl::GetScrollbarWidth


SFRBrowserControl::SetTextColor
テキストの表示色を設定します。
[ public ]
SFCError SetTextColor(
    SFXRGBColorConstRef color   // 表示色
);

引数

color

テキストの表示色を指定します。

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: SFERR_UNSUPPORTED

参照

SFRBrowserControl::GetTextColor | SFRBrowserControl::SetLinkColor


SFRBrowserControl::SetWeb
IWeb インターフェースを設定します。
[ public ]
Void SetWeb(
    SFBWebSmpConstRef web   // IWeb インターフェース
);

引数

web

通信に使う IWeb インターフェースです。

解説

設定した IWeb インターフェースを使用して、HTTP アクセスします。

ネットワークアクセス中、あるいはレンダリング中の場合、それらの処理を中断します。

[Important] WebOpt 指定時の注意

他の用途で利用するまでは、IWeb インターフェースに設定した WebOpt データを保持する必要があります。

詳しくは、BREW API リファレンス、IWeb インターフェースの「 WEBOPT の寿命に関する注意事項 」を参照してください。

[Important] サスペンド時の振る舞い

サスペンドしたとき、WebOpt の情報はリセットされ IWeb インターフェースを内部で作成する設定(デフォルト状態)に戻ります。

サスペンド前の IWeb インターフェースを使うには、レジューム時に WebOpt データを再設定する必要があります。

指定した値は、 SFRBrowserControl::GetWeb 関数で取り出せます。

使用例

ユーザーエージェント名を設定します。

端末がサスペンドすると設定が無効になるので、 レジュームハンドラ内で設定し直す必要があります。

SCError SetUserAgent(SFRBrowserControlRef browser) {
    SFBWebSmp web;
    web = browser.GetWeb();
    if (web == null) {
        web = SFBWeb::Instance();
    }
    
    WebOpt opts[2];
    opts[0].nId = WEB_HEADER;
    // 設定する文字列をヒープに確保する場合、設定が有効な間は解放してはならない
    opts[0].pVal = "User-Agent: ibROWSE/0.1 (SophiaFramework; I; BREW 3.1)\r\n";
    opts[1].nId = WEBOPT_END;
    opts[1].pVal = null;

    int s = web->AddOpt(opts);
    if (s != SFERR_NO_ERROR) {
        return s;
    }
    browser.SetWeb(web);
    return SFERR_NO_ERROR;
}

参照

SFBWeb | SFRBrowserControl::UnsetWeb | SFRBrowserControl::GetWeb


SFRBrowserControl::Stop
通信、あるいはレンダリングの処理を中断します。
[ public ]
Void Stop(Void);

解説

ネットワークアクセス中、もしくはレンダリング中以外ならば何も行いません。 表示済みの部分に対しては、影響を与えません。


SFRBrowserControl::UnsetAuthorizeData
HTTP ベーシック認証の情報を設定を取り消します。
[ public ]
SFCError UnsetAuthorizeData(Void);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • メモリ不足のとき : SFERR_NO_MEMOERY

解説

SFRBrowserControl::SetAuthorizeData 関数で設定した HTTP ベーシック認証の設定を取り消します。

認証情報を持つヘッダーは使いません。

参照

SFRBrowserControl::SetAuthorizeData


SFRBrowserControl::UnsetWeb
SetWeb の設定を取り消します。
[ public ]
Void UnsetWeb(Void);

解説

通信に使う IWeb インターフェースを、コントロール内部で作成するように指示します。

現在通信中、もしくはレンダリング中だった場合は、それらの処理を中断します。

参照

SFBWeb | SFRBrowserControl::SetWeb | SFRBrowserControl::GetWeb


SFRBrowserControl::DEFAULT
パラメータの初期値に関する列挙型です。
enum DEFAULT {
    HISTORY_SIZE = 30
};

解説

履歴リストの大きさのデフォルト値を示す HISTORY_SIZE のみ定義されています。

参照

SFRBrowserControl::GetHistorySize | SFRBrowserControl::SetHistorySize


SFRBrowserControl::DoneNotify
レンダリング終了時の情報を保持するためのクラスです。
[ public ]

SFMTYPEDEFCLASS(DoneNotify)
class DoneNotify : public Notify {
public:
                       DoneNotify     (SFBHTMLViewerConstRef hv, int done_code);
    SInt32             GetDoneCode    (Void) const;
    SFCError           GetErrorCode   (Void) const;
    UInt32             GetResponseCode(Void) const;
};

解説

BREW API の HVNotify から派生しています。

SFRBrowserControl::DoneNotifyHandler 関数の引数として使います。

DoneNotify クラスは以下のメンバ関数から構成されます。

GetDoneCode 通信 / レンダリングの終了コードを取得します。 戻り値を WEB_ERROR_SUCCEEDED 関数に渡すと通信の成否が判定できます。 成功した場合は、サーバーの HTTP ステータスコード、失敗した場合は、負の値になります。 また、戻り値は WEB_ERROR_MAP 関数に渡すと BREW のエラーコードに変換されます。
GetErrorCode 通信 / レンダリングのエラーコードを取得します。 エラーがない場合は SFERR_NO_ERROR を返します。
GetResponseCode サーバーの HTTP ステータスコードを取得します。 通信エラーなどで HTTP セッションが失敗している場合は 0 を返します。

参照

SFRBrowserControl::DoneNotifyHandler


SFRBrowserControl::FocusNotify
ブラウザのフォーカス移動情報を保持するためのクラスです。
[ public ]

SFMTYPEDEFCLASS(FocusNotify)
class FocusNotify : public Notify {
public:
                       FocusNotify  (SFBHTMLViewerConstRef hv, SInt32 elementNo, HVFocusType type, SInt32 state);
    SInt32             GetElementNo(Void) const;
    HVFocusType        GetFocusType(Void) const;
    SInt32             GetState    (Void) const;
};

解説

REW API の HVNotify から派生しています。

SFRBrowserControl::FocusNotifyHandler の引数として使います。

FocusNotify クラスは以下のメンバ関数から構成されます。

GetState フォーカスされている要素の状態を取得します。 取得した値は、 GetFocusType の値が HVFOCUS_CHECKBOX または HVFOCUS_RADIO であるときだけ有効です。 フォーカスされているチェックボックス あるいはラジオボタンが選択されている時は 0 以外の値、されていない時は 0 を返します。
GetElementNo フォーカスされているエレメントの位置を取得します。 戻り値の位置は SFRBrowserControl::FindElement と同じ意味です。
GetFocusType フォーカスされている要素の種類を取得します。 戻り値は、以下のいずれかです。
  • HVFOCUS_NONE
  • HVFOCUS_LINK
  • HVFOCUS_EDIT
  • HVFOCUS_CHECKBOX
  • HVFOCUS_RADIO
  • HVFOCUS_SUBMIT
  • HVFOCUS_RESET
  • HVFOCUS_LIST
詳細情報 : BREW API リファレンスの HVFocusType

参照

SFRBrowserControl::FocusNotifyHandler


SFRBrowserControl::HistoryEntry
履歴の項目を表す構造体です。
[ public ]
struct HistoryEntry {
    SFXAnsiString url;
    SFXAnsiString title;
};

参照

SFRBrowserControl::GetHistory | SFRBrowserControl::GetHistoryList


SFRBrowserControl::JumpNotify
ブラウザで押されたリンクの情報を保持するためのクラスです。
[ public ]

SFMTYPEDEFCLASS(JumpNotify)
class JumpNotify : public Notify {
public:
                       JumpNotify  (SFBHTMLViewerConstRef hv, SInt32 elementNo, ConstACharPtr url, 
                                    ConstACharPtr method=null, ConstACharPtr data=null);
                       JumpNotify  (SFBHTMLViewerConstRef hv, ConstACharPtr url, 
                                    ConstACharPtr method=null, ConstACharPtr data=null);
    SInt32             GetElementNo(Void) const;
    SFXAnsiStringConst GetUrl      (Void) const;
    SFXAnsiStringConst GetMethod   (Void) const;
    SFXAnsiStringConst GetData     (Void) const;
};

解説

BREW API の HVNotify から派生しています。

主に SFRBrowserControl::JumpNotifyHandler の引数として使われます。

JumpNotify クラスは以下のメンバ関数から構成されます。

GetElementNo リンクとして選ばれた要素の位置を取得します。 戻り値の位置は SFRBrowserControl::FindElement と同じ意味です。
GetUrl 選択されたリンクの URL を取得します。
GetMethod 選択されたリンクのサーバーへのアクセス メソッドを取得します。 ( GET と POST がサポートされています)
GetData POST メソッドでサーバーへ送信するデータを取得します。 送信データがない、あるいは POST メソッドでない場合、空文字列を返します。

参照

SFRBrowserControl::JumpNotifyHandler


SFRBrowserControl::ResponseNotify
レンダリング終了時の情報を保持するためのクラスです。
[ public ]

SFMTYPEDEFCLASS(ResponseNotify)
class ResponseNotify : public Notify {
public:
                       ResponseNotify (SFBHTMLViewerConstRef hv, int error_code);
    SFCError           GetErrorCode   (Void) const;
    UInt32             GetResponseCode(Void) const;
};

解説

BREW API の HVNotify から派生しています。

主に SFRBrowserControl::ResponseNotifyHandler の引数として使われます。

ResponseNotify クラスは以下のメンバ関数から構成されます。

GetErrorCode 通信 / レンダリング時のエラーコードを取得します。 エラーがない場合は SFERR_NO_ERROR を返します。
GetResponseCode サーバーの HTTP ステータスコードを取得します。 通信エラーなどで HTTP セッションが失敗している場合は 0 を返します。

参照

SFRBrowserControl::ResponseNotifyHandler