前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFYWebBrowserWidget
簡易ウェブブラウズ機能を提供するウィジェットです。
#include <SFYWebBrowserWidget.h.hpp>
class SFYWebBrowserWidget : public SFYWidget;
SFMTYPEDEFRESPONDER(SFYWebBrowserWidget)
        

継承図

SFYWebBrowserWidget クラスの継承図

協調図

SFYWebBrowserWidget クラスの協調図

解説

■ 仕様と使い方

SFYWebBrowserWidget クラスは、以下の簡易ウェブブラウズ機能を備えるウィジェットです。

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

SFYWebBrowserWidget クラスの HTML レンダリングに関する機能は BREW API IHtmlViewer を使用して実装されています。

[Tip] HTTP/HTTPS 接続のタイムアウト

接続時のタイムアウトを行うには、SFYWebBrowserWidget::SetTimeoutCallback 関数でコールバックを登録し、SFYWebBrowserWidget::SetTimeoutMillisecond 関数でタイムアウトの時間を設定します。

[Note] 致命的なエラー

通知コールバック中やレジューム時などで処理を継続できない致命的なエラーが発生したとき、(SFEVT_RESPONDER_BROWSER_NOTIFY, NOTIFY_FATAL_ERROR) イベントが発生します。 このイベントを受信したとき、SFYWebBrowserWidget インスタンスを終了する等の処理を記述する必要があります。

[Caution] mif ファイルの特権設定

SFYWebBrowserWidget クラスを利用するには、 mif ファイルの特権レベル設定で「Web アクセス」の項目をオンにする必要があります。 SSL 通信のために独自のルート証明書ファイルを読み込む場合は、さらに「ファイル」の項目もオンにします。

■ サンプルコード

以下は、 簡易ブラウザ(SFYWebBrowserWidget クラス)を利用してウィンドウ内に HTML 文書を表示するコードです。

SFMTYPEDEFRESPONDER(MyWindow)
class MyWindow : public SFZWindow{
    SFMSEALRESPONDER(MyWindow)
    SFMRESPONDERINSTANTIATEFOUR(MyWindow, SFZWindow, SFYContainer, SFYWidget, SFYResponder)
public:
    // MyWindow のタイプ
    enum CodeEnum {
        CODE_TYPE = four_char_code('M', 'W', 'N', 'D')
    };
    SFMTYPEDEFTYPE(CodeEnum)
public:
    static MyWindowSmp NewInstance(SFCErrorPtr exception = null);
    // MyWindow 内のレスポンダ(簡易ウェブブラウザ)を作成する関数
    SFCError Make(Void); 

protected:
    explicit MyWindow(Void) static_throws;
    virtual ~MyWindow(Void);

    // 簡易ウェブブラウザ
    SFYWebBrowserWidgetSmp _browser;

};

// コンストラクタ
MyWindow::MyWindow(Void) static_throws
{
    if (static_try()) {
        // レスポンダのタイプを設定する
        SetType(CODE_TYPE);
   }
}

// デストラクタ
MyWindow::~MyWindow(Void)
{
}

// MyWindow 内のレスポンダ(簡易ウェブブラウザ)を作成する関数
SFCError MyWindow::Make(Void)
{
    SFCError error;

    // 簡易ブラウザに表示する HTML 文書
    SFXAnsiString buffer(
         "BrowserControl<br /><br />"
         "<a href=\"/example/tabbrowser/\">ソフィアクレイドル</a><br /><br />"
    );

    // 簡易ウェブブラウザの作成
    if ((_browser = SFYWebBrowserWidget::NewInstance(&error)) != null) {

        // 親レスポンダを MyWindow に設定する
        if ((error = _browser->SetParent(GetThis())) == SFERR_NO_ERROR) {

            // 実領域を MyWindow のローカル領域に設定する
            // ※ 以下の文を実行する前に、MyWindow のローカル領域を設定していないと、
            //    実領域は空の矩形領域となり何も表示されない
            _browser->SetRealBound(GetLocalBound());

            // 状態を「可視+活性+操作可能+フォーカス」にまとめて設定する
            _browser->SetState(true, true, true, true);

            // ブラウザウィジェットを開く
            _browser->Open();

            // HTML 文書を読み込む
            _browser->Load(buffer, "file://localhost/");

            // 簡易ウェブブラウザを最前面に移動する
            // ※ MyWindow の子レスポンダは簡易ウェブブラウザだけなので省略可
            _browser->ToFront();
        }
    }
    return error;
}

図 324. 実行結果

実行結果

参照

SFBHTMLViewer | SFYWebBrowserWidget::SetRequestHeader | SFYWebBrowserWidget::SetTimeoutCallback | SFYWebBrowserWidget::SetTimeoutMillisecond | BREW API IHtmlViewer | BREW API IWeb

メンバ

コンストラクタ/デストラクタ
SFYWebBrowserWidget( Void )
SFYWebBrowserWidget クラスのコンストラクタです。
~SFYWebBrowserWidget( Void )
SFYWebBrowserWidget クラスのデストラクタです。
パブリック関数
Bool AdjustViewer( Void )
内部で保持する IHTMLViewer オブジェクトの領域を調整します。
Void Cancel( Void )
Web サーバーへの接続をキャンセルします。
Void ClearHistory( Void )
履歴リストを空にします。
Void Close( Void )
HTTP/HTTPS 接続を閉じます。
SInt32 FindElement( ACharConstPtr element , SInt32 no )
現在表示中のページから、指定された要素を検索します。
SFXAnsiStringConstRef GetBaseUrl( Void )
Basic 認証の基準 URL を取得します。
SFXAnsiStringConstRef GetContentEncoding( Void )
HTTP レスポンスヘッダーの Content-Encoding フィールドの値を取得します。
SInt32 GetContentLength( Void )
HTTP レスポンスヘッダーの Content-Length フィールドを取得します。
SFXAnsiStringConstRef GetContentType( Void )
HTTP レスポンスヘッダーの Content-Type フィールドを取得します。
SFXAnsiStringConstRef GetCurrentTitle( Void )
現在表示しているページのタイトル取得します。
SFXAnsiStringConstRef GetCurrentURL( Void )
現在表示しているページの URL を取得します。
SFXDate GetDate( Void )
HTTP レスポンスヘッダーの Date フィールドの値を取得します。
SFXAnsiString GetElementText( SInt32 elementIndex )
指定された要素の内容を取得します。
SFXDate GetExpires( Void )
HTTP レスポンスヘッダーの Expires フィールドの値を取得します。
SInt32 GetIndent( Void )
HTML 表示のインデントの幅を取得します。[単位: ピクセル]
SFXDate GetLastModified( Void )
HTTP レスポンスヘッダーの Last-Modified フィールドの値を取得します。
SFXRGBColor GetLinkColor( Void )
HTML 表示のリンクの文字の表示色を取得します。
SFXAnsiStringConstRef GetMethod( Void )
HTTP リクエストメソッドを取得します。
SInt32 GetParagraphSpacing( Void )
HTML 表示の段落間の行間の長さを取得します。[単位: ピクセル]
SFXAnsiStringConstRef GetPassword( Void )
Basic 認証のパスワードを取得します。
SFXSocketAddressConstRef GetProxyServer( Void )
プロキシサーバーを取得します。
SFBSourceSmpConstRef GetRequestContent( Void )
HTTP リクエストボディを管理する SFBSource インスタンスを取得します。
UInt32 GetRequestFlag( Void )
HTTP リクエストフラグを取得します。
SFXAnsiStringConstRef GetRequestHeader( SFXAnsiStringConstRef key )
HTTP リクエストヘッダーを取得します。
SFXPropertyConstRef GetRequestHeader( Void )
HTTP リクエストヘッダーを取得します。
SFBSourceSmpConstRef GetResponseContent( Void )
HTTP レスポンスボディを管理する SFBSource インスタンスを取得します。
UInt32 GetResponseFlag( Void )
HTTP レスポンスフラグを取得します。
SFXAnsiStringConstRef GetResponseHeader( SFXAnsiStringConstRef key )
HTTP レスポンスヘッダーを取得します。
SFXPropertyConstRef GetResponseHeader( Void )
HTTP レスポンスヘッダーを取得します。
SInt32 GetResultCode( Void )
HTTP ステータスコードを取得します。
SFBWebSmpConstRef GetSFBWeb( Void )
SFBWeb インスタンスを取得します。
SFBWebRespSmpConstRef GetSFBWebResp( Void )
内部で管理する SFBWebResp インスタンスを取得します。
SInt32 GetScrollbarWidth( Void )
スクロールバーの幅を取得します。[単位: ピクセル]
SFCError GetStreamReader( UInt32 size , SFXStreamReaderPtr result )
HTTP レスポンスボディを読み込むためのデータ受信用ストリームを取得します。
SFCError GetStreamReader( SFXStreamReaderPtr result )
HTTP レスポンスボディを読み込むためのデータ受信用ストリームを取得します。
SFCError GetStreamWriter( UInt32 size , SFXStreamWriterPtr result )
HTTP リクエストボディにデータを書き込むためのデータ送信用ストリームを取得します。
SFCError GetStreamWriter( SFXStreamWriterPtr result )
HTTP リクエストボディにデータを書き込むためのデータ送信用ストリームを取得します。
SFXRGBColor GetTextColor( Void )
テキストの表示色を取得します。
UInt32 GetTimeoutMillisecond( Void )
接続タイムアウト時間を取得します。 [単位: ミリ秒]
UInt32 GetTrustMode( Void )
HTTPS 通信の SSL 認証モードを取得します。
SFXAnsiStringConstRef GetUser( Void )
Basic 認証のユーザー名を取得します。
SFXAnsiStringConstRef GetUserAgent( Void )
ユーザーエージェントを取得します。
AEECLSID GetWebClassId( Void )
HTTP/HTTPS 接続を開く際の Web クラス ID を取得します。
Bool IsBusy( Void )
通信中またはレンダリング中であるかどうかを判定をします。
Bool IsInlineEditEnable( Void )
文字をインラインで入力する設定であるかどうかを判定します。
Bool IsScrollbarEnable( Void )
スクロールバーがあるかどうかを判定をします。
SFCError Load( SFBSourceSmpConstRef data , SFXAnsiStringConstRef url )
指定された HTML 文書を読み込み、レンダリングを開始します。
SFCError Load( SFBAStreamSmpConstRef stream , SFXAnsiStringConstRef url )
指定された HTML 文書を読み込み、レンダリングを開始します。
SFCError Load( SFXAnsiStringConstRef data , SFXAnsiStringConstRef url )
指定された HTML 文書を読み込み、レンダリングを開始します。
SFCError LoadCertificate( SInt32 kind , SFXPathConstRef path )
ASN.1/DER 形式の証明書のファイルまたはバッファを読み込みます。
SFCError LoadCertificate( SInt32 kind , SFXBufferConstRef buffer )
ASN.1/DER 形式の証明書のファイルまたはバッファを読み込みます。
SFCError Navigate( SFXAnsiStringConstRef url )
指定された URL のページを取得して、レンダリングを開始します。
static
SFYWebBrowserWidgetSmp
NewInstance( SFCErrorPtr exception = null )
新しいインスタンスを作成します。
SFCError Next( SInt32 n = 1 )
指定された値だけ履歴を進み、ページを再取得しレンダリングします。
SFCError Open( Void )
HTTP/HTTPS 接続を開きます。
SFCError Previous( SInt32 n = 1 )
指定された値だけ履歴を戻り、ページを再取得しレンダリングします。
Void Reload( Void )
現在表示しているページを再取得して再描画します。
SFCError SetAuthorizeData( SFXAnsiStringConstRef user , SFXAnsiStringConstRef passwd , SFXAnsiStringConstRef url )
HTTP ベーシック認証の情報を設定します。
SFCError SetIndent( SInt32 pixel )
インデントの幅を設定します。[単位: ピクセル]
Void SetInlineEditEnable( Bool enable )
フォームでの文字入力をインラインするかを設定します。
SFCError SetLinkColor( SFXRGBColorConstRef color )
リンク文字列の表示色を設定します。
SFCError SetMethod( SFXAnsiStringConstRef param )
HTTP リクエストメソッドを設定します。
SFCError SetParagraphSpacing( SInt32 pixel )
段落間の行間の長さを設定します。[単位: ピクセル]
SFCError SetProxyServer( SFXSocketAddressConstRef param )
プロキシサーバーを設定します。
SFCError SetRequestContent( SFXFileConstRef file )
HTTP リクエストボディにストレージまたはソースを設定します。
SFCError SetRequestContent( SFXMemoryConstRef memory )
HTTP リクエストボディにストレージまたはソースを設定します。
SFCError SetRequestContent( SFXStorageConstRef storage , SInt32 length )
HTTP リクエストボディにストレージまたはソースを設定します。
SFCError SetRequestContent( SFBSourceSmpConstRef source , SInt32 length )
HTTP リクエストボディにストレージまたはソースを設定します。
SFCError SetRequestFlag( UInt32 param )
HTTP リクエストフラグを設定します。
SFCError SetRequestHeader( SFXAnsiStringConstRef key , SFXAnsiStringConstRef value )
HTTP リクエストヘッダーを設定します。
Void SetScrollbarEnable( Bool enable )
スクロールバーの有無を設定します。
SFCError SetScrollbarWidth( SInt32 pixel )
スクロールバーの幅を設定します。[単位: ピクセル]
SFCError SetTextColor( SFXRGBColorConstRef color )
テキストの表示色を設定します。
Void SetTimeoutCallback( SFXCallback::CallbackSPP spp , VoidPtr reference )
接続タイムアウトコールバックを設定します。
Void SetTimeoutMillisecond( UInt32 msec )
接続タイムアウト時間を設定します 。[単位: ミリ秒]
SFCError SetTrustMode( UInt32 param )
HTTPS 通信の SSL 認証モードを設定します。
SFCError SetUserAgent( SFXAnsiStringConstRef param )
ユーザーエージェントを設定します。
Void SetWebClassId( AEECLSID id )
HTTP/HTTPS 接続を開く際の Web クラス ID を設定します。
Void Stop( Void )
レンダリングを行っている場合、その処理を中断します。
Void ClearHandler( Void ) (SFYResponder から継承)
このレスポンダのハンドラの登録をすべて解除します。
Void ClearTracer( Void ) (SFYResponder から継承)
このレスポンダのトレーサの配信規則の登録をすべて解除します。
SFCError Distribute( SFXEventConstRef event , BoolPtr result = null ) (SFYResponder から継承)
指定された配信型イベントを SFYDistributer インスタンスと、このレスポンダ以下のレスポンダツリーに配信します。
SFXRGBColorConstRef GetBackgroundColor( Void ) (SFYWidget から継承)
背景の色を取得します。
SFYResponderSmp GetChildBack( Void ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBack( UInt32 id ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SInt32 GetChildCount( Void ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SInt32 GetChildCount( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SInt32 GetChildCount( UInt32 id ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SInt32 GetChildCount( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SFYResponderSmp GetChildForward( SInt32 index ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( Void ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( UInt32 id ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYDistributerPtr GetDistributer( Void ) (SFYResponder から継承)
このレスポンダに設定されている配信エンジンを取得します。
SFYResponderSmp GetFrame( Void ) (SFYResponder から継承)
このレスポンダに装着されたフレームを取得します。
SFXRectangle GetGlobalBound( Void ) (SFYResponder から継承)
このレスポンダのグローバル領域を取得します。
UInt32 GetID( Void ) (SFYResponder から継承)
このレスポンダの ID を取得します。
SFXRectangle GetLocalBound( Void ) (SFYResponder から継承)
このレスポンダのローカル領域を取得します。
SInt32 GetNthBackward( Void ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthBackward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthBackward( UInt32 id ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthBackward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( Void ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( UInt32 id ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SFYResponderSmp GetParent( Void ) (SFYResponder から継承)
このレスポンダの親レスポンダを取得します。
Bool GetPropertyTransparent( Void ) (SFYResponder から継承)
このレスポンダの透過属性を取得します。
SFXRectangleConstRef GetRealBound( Void ) (SFYResponder から継承)
このレスポンダの実領域を取得します。
VoidPtr GetReference( Void ) (SFYResponder から継承)
このレスポンダのリファレンス値を取得します。
SFYRendererPtr GetRenderer( Void ) (SFYResponder から継承)
このレスポンダに設定されている描画エンジンを取得します。
SFYResponderSmp GetRoot( Void ) (SFYResponder から継承)
このレスポンダが所属するレスポンダツリーのルートレスポンダを取得します。
Bool GetStateActive( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの活性状態を取得します。
Bool GetStateEnable( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの操作可能状態を取得します。
Bool GetStateFocus( Bool inherit = false ) (SFYResponder から継承)
このレスポンダのフォーカス状態を取得します。
Bool GetStateValid( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの有効状態を取得します。
Bool GetStateVisible( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの可視状態を取得します。
SFXRectangle GetSuitableBound( Void ) (SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
SFXRectangle GetSuitableBound( SFXRectangleConstRef rectangle ) (SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
SFXRectangle GetSuitableBound( SFXRectangleConstRef param , HorizontalEnum horizontal , VerticalEnum vertical ) (SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
SFXMargin GetSuitableMargin( Void ) (SFYResponder から継承)
このレスポンダのフレーム余白領域を取得します。
SFCType GetType( Void ) (SFYResponder から継承)
このレスポンダのタイプを取得します。
SFXRectangleConstRef GetVirtualBound( Void ) (SFYResponder から継承)
このレスポンダの仮想領域を取得します。
Bool HasFrame( Void ) (SFYResponder から継承)
このレスポンダがコンテントレスポンダであるかどうかを判定します。
Void Initialize( Void ) (SFYResponder から継承)
このレスポンダを初期化します。
Void Invalidate( Void ) (SFYResponder から継承)
指定された領域を再描画領域に登録します。
Void Invalidate( SFXRectangleConstRef param ) (SFYResponder から継承)
指定された領域を再描画領域に登録します。
Void InvokeBackward( SFXEventConstRef event , Bool overload , BoolPtr result = null ) (SFYResponder から継承)
指定されたコールバック型イベントをこのレスポンダに送信します (ハンドラは登録順に起動されます)。
Void InvokeForward( SFXEventConstRef event , Bool overload , BoolPtr result = null ) (SFYResponder から継承)
指定されたコールバック型イベントをこのレスポンダに送信します (ハンドラは登録の逆順に起動されます)。
Bool IsBack( Void ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsBack( UInt32 id ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsFrame( Void ) (SFYResponder から継承)
このレスポンダがアタッチメントフレームであるかどうかを判定します。
Bool IsFront( Void ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsFront( UInt32 id ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsRoot( Void ) (SFYResponder から継承)
このレスポンダがルートレスポンダであるかどうかを判定します。
SFCError Recover( Void ) (SFYResponder から継承)
デバイス画面保存用ビットマップを使用してこのレスポンダとレスポンダ空間との交差領域を復元します。
SFCError RegisterHandler( SFXEventRangeConstRef range , SFYHandler::RuleRecConstRef rule ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterTracer( SFXEventRangeConstRef range , SFYTracer::RuleRecConstRef rule ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError RegisterTracer( SFXEventRangeConstRef range , SFYTracer::OrderEnum order , SFYTracer::StateEnum state , Bool overload ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::OrderEnumConstPtr order , SFYTracer::StateEnumConstPtr state , BoolConstPtr overload , SInt32 length ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError Render( Bool force = false ) (SFYResponder から継承)
このレスポンダ以下のレスポンダツリーをレスポンダ空間に再描画します。
Void SetBackgroundColor( SFXRGBColorConstRef param ) (SFYWidget から継承)
背景の色を設定します。
Void SetDistributer( SFYDistributerPtr param ) (SFYResponder から継承)
指定された配信エンジンをこのレスポンダに設定します。
SFCError SetFrame( SFYResponderSmpConstRef param ) (SFYResponder から継承)
このレスポンダにフレームを装着します。
Void SetID( UInt32 param ) (SFYResponder から継承)
指定された ID をこのレスポンダに設定します。
SFCError SetParent( SFYResponderSmpConstRef param ) (SFYResponder から継承)
指定されたレスポンダをこのレスポンダの親レスポンダに設定します。
Void SetProperty( Bool transparent ) (SFYResponder から継承)
指定された属性をこのレスポンダに設定します。
Void SetPropertyTransparent( Bool param ) (SFYResponder から継承)
指定された透過属性をこのレスポンダに設定します。
Void SetRealBound( SFXRectangleConstRef param ) (SFYResponder から継承)
指定された領域をこのレスポンダの実領域に設定します。
Void SetReference( VoidPtr param ) (SFYResponder から継承)
指定された値をこのレスポンダのリファレンスに設定します。
Void SetRenderer( SFYRendererPtr param ) (SFYResponder から継承)
指定された描画エンジンをこのレスポンダに設定します。
Void SetState( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
指定された値をこのレスポンダの可視、活性、操作可能、フォーカスの各状態フラグに設定します。
Void SetStateActive( Bool param ) (SFYResponder から継承)
指定された値をこのレスポンダの活性状態フラグに設定します。
Void SetStateEnable( Bool param ) (SFYResponder から継承)
指定された値をこのレスポンダの操作可能状態フラグに設定します。
Void SetStateFocus( Bool param ) (SFYResponder から継承)
指定された値をこのレスポンダのフォーカス状態フラグに設定します。
Void SetStateVisible( Bool param ) (SFYResponder から継承)
指定された値をこのレスポンダの可視状態フラグに設定します。
Void SetVirtualBound( SFXRectangleConstRef param ) (SFYResponder から継承)
指定された領域をこのレスポンダの仮想領域に設定します。
SFCError Snapshot( SFBBitmapSmpConstRef bitmap ) (SFYResponder から継承)
デバイス画面保存用ビットマップからこのレスポンダとレスポンダ空間との交差領域のスナップショットを取得します。
Void Terminate( Void ) (SFYResponder から継承)
このレスポンダの終了処理を行います。
Void ToBack( Void ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToBack( UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToFront( Void ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToFront( UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToNthBackward( SInt32 index ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::RuleRecConstRef rule ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterTracer( SFXEventRangeConstRef range ) (SFYResponder から継承)
このレスポンダのトレーサから指定された配信規則の登録を解除します。
Void UnregisterTracer( SFXEventRangeConstPtr range , SInt32 length ) (SFYResponder から継承)
このレスポンダのトレーサから指定された配信規則の登録を解除します。
プロテクト関数
Void HandleBoundReal( Void )
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントを受信したときに呼び出される関数です (実領域が変化したときの処理を行います)。
Void HandleBoundVirtual( Void )
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントを受信したときに呼び出される関数です (仮想領域が変化したときの処理を行います)。
Void HandleRenderRequest( SFXGraphicsPtr graphics )
描画イベントを受信したときに呼び出される関数です(レスポンダを描画します)。
static
SFYResponderSmp
Factory( SFYResponderPtr responder , SFCErrorPtr exception = null ) (SFYResponder から継承)
NewInstance 関数の実装を補助します。
SFYResponderSmp GetThis( Void ) (SFYResponder から継承)
このレスポンダのスマートポインタを取得します。
Void HandleBoundGlobal( SFXRectangleConstRef rectangle ) (SFYWidget から継承)
[非推奨(廃止予定 API)] グローバル領域が変化したときに呼び出される関数です。
Void HandleBoundOptimize( SFXRectanglePtr rectangle ) (SFYWidget から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベントを受信したときに呼び出される関数です(指定した矩形に収まる範囲内で最適な領域を計算します)。
Void HandleBoundRequest( SFXRectanglePtr rectangle ) (SFYWidget から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベントを受信したときに呼び出される関数です(最適な領域を計算します)。
Void SetType( SFCType param ) (SFYResponder から継承)
指定された値をこのレスポンダのタイプに設定します。
CodeEnum
SFYWebBrowserWidget クラスを表す定数です。
Notify
ビューアや通信コールバックから通知される構造体です。
NotifyEnum
IHTMLViewer からの通知や通信コールバックからの通知を表す定数です。
HorizontalEnum (SFYResponder から継承)
水平方向のアライメントを表す定数です。
VerticalEnum (SFYResponder から継承)
垂直方向のアライメントを表す定数です。

SFYWebBrowserWidget::SFYWebBrowserWidget
SFYWebBrowserWidget クラスのコンストラクタです。
[ protected, explicit ]
SFYWebBrowserWidget(Void);

解説

このコンストラクタは、IHTMLViewer インスタンスを作成する等の初期化処理を行います。


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

解説

HTML レンダリングを中止し、HTTP/HTTPS 接続を閉じ、内部で保持する IHTMLViewer インスタンスを解放します。

参照

SFZWebBrowserControl::Stop | SFZWebBrowserControl::Close


SFYWebBrowserWidget::AdjustViewer
内部で保持する IHTMLViewer オブジェクトの領域を調整します。
[ public ]
Bool AdjustViewer(Void);

戻り値

  • 領域変更に成功したとき: true
  • 失敗したとき: false

解説

この関数は内部で保持する IHTMLViewer オブジェクトの領域を調整します。

通常は、実領域または仮想領域が変更されたときに自動的に呼び出されるため呼び出す必要がありません。

その他の要因で自身のレスポンダのグローバル領域が変更される場合は、明示的な呼び出しが必要です。


SFYWebBrowserWidget::Cancel
Web サーバーへの接続をキャンセルします。
[ public ]
Void Cancel(Void);

解説

この関数は、Web サーバーへの接続をキャンセルします。その際、接続タイムアウトのタイマーもキャンセルされます。

この関数は、HTTP/HTTPS 接続が SFXHTTPConnection::STATE_CONNECT の状態のときに有効です。

この関数は、SFYWebBrowserWidget::Close 関数の内部からも呼び出されます。

参照

SFYWebBrowserWidget::Close


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

解説

この関数は、履歴リストを空にします。

参照

SFYWebBrowserWidget::ClearHistory


SFYWebBrowserWidget::Close
HTTP/HTTPS 接続を閉じます。
[ public ]
Void Close(Void);

解説

この関数は、HTTP/HTTPS 接続を閉じます。

HTTP/HTTPS 接続の状態は、SFXHTTPConnection::STATE_CLOSE になります。

参照

SFYWebBrowserWidget::Close


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

引数

element

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

no

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

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

戻り値

  • 見つかった場合: 要素の位置
  • 見つからなかった場合: IHTMLVIEWER_NOTFOUND
  • element 引数の値が認識可能な要素名ではない場合: IHTMLVIEWER_BADELEMENT

解説

この関数は、現在表示中のページから、指定された要素を検索します。

[Note] 注意

この関数は、内部で SFBHTMLViewer::FindElem 関数( BREW API IHTMLVIEWER_FindElem)を呼び出します。

[Tip] Tip

戻り値(要素の位置)は、SFYWebBrowserWidget::GetElementText 関数で使用します。

参照

SFYWebBrowserWidget::GetElementText | BREW API IHTMLVIEWER_FindElem


SFYWebBrowserWidget::GetBaseUrl
Basic 認証の基準 URL を取得します。
[ public, const ]
SFXAnsiStringConstRef GetBaseUrl(Void);

戻り値

Basic 認証の基準 URL

解説

Basic 認証の基準 URL を取得します。

SFYWebBrowserWidget::SetAuthorizeData 関数で設定された値が取得されます。

参照

SFYWebBrowserWidget::SetAuthorizeData


SFYWebBrowserWidget::GetContentEncoding
HTTP レスポンスヘッダーの Content-Encoding フィールドの値を取得します。
[ public, const ]
SFXAnsiStringConstRef GetContentEncoding(Void);

戻り値

HTTP レスポンスヘッダーの Content-Encoding フィールドの値

解説

この関数は、HTTP/HTTPS 接続の HTTP レスポンスヘッダーの Content-Encoding フィールドの値を取得します。 HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 空文字列(SFXAnsiString::EmptyInstance())を返します。


SFYWebBrowserWidget::GetContentLength
HTTP レスポンスヘッダーの Content-Length フィールドを取得します。
[ public, const ]
SInt32 GetContentLength(Void);

戻り値

HTTP レスポンスヘッダーの Content-Length フィールドの値

解説

この関数は、HTTP/HTTPS 接続の HTTP レスポンスヘッダーの Content-Length フィールドの値を取得します。

HTTP レスポンスヘッダーに Content-Length フィールドが存在しない場合、または HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 -1 を返します。


SFYWebBrowserWidget::GetContentType
HTTP レスポンスヘッダーの Content-Type フィールドを取得します。
[ public, const ]
SFXAnsiStringConstRef GetContentType(Void);

戻り値

HTTP レスポンスヘッダーの Content-Type フィールド

解説

この関数は、HTTP/HTTPS 接続の HTTP レスポンスヘッダーの Content-Type フィールドを取得します。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 空文字列(SFXAnsiString::EmptyInstance) を返します。


SFYWebBrowserWidget::GetCurrentTitle
現在表示しているページのタイトル取得します。
[ public, const ]
SFXAnsiStringConstRef GetCurrentTitle(Void);

戻り値

現在表示しているページのタイトル。

解説

この関数は、現在表示しているページのタイトルを取得します。

参照

SFYWebBrowserWidget::GetCurrentURL


SFYWebBrowserWidget::GetCurrentURL
現在表示しているページの URL を取得します。
[ public, const ]
SFXAnsiStringConstRef GetCurrentURL(Void);

戻り値

現在表示しているページの URL。

解説

この関数は、現在表示しているページの URL を取得します。

参照

SFYWebBrowserWidget::GetCurrentTitle


SFYWebBrowserWidget::GetDate
HTTP レスポンスヘッダーの Date フィールドの値を取得します。
[ public, const ]
SFXDate GetDate(Void);

戻り値

HTTP レスポンスヘッダーの Date フィールドの値(SFXDate)

解説

この関数は、HTTP/HTTPS 接続の HTTP レスポンスヘッダーの Date フィールドの値(SFXDate)を取得します。

HTTP レスポンスヘッダーに Date フィールドが存在しない場合、 または HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、SFXDate(0) を返します。

参照

SFXDate


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

引数

elementIndex

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

戻り値

指定された要素の内容。

解説

この関数は、現在表示しているページから指定された要素の内容を取得します。

要素の中身がない場合は空文字列 SFXAnsiString::EmptyInstance() を返します。

[Note] 注意

この関数は、内部で SFBHTMLViewer::GetElemText 関数( BREW API IHTMLVIEWER_GetElemText)を呼び出します。

参照

SFYWebBrowserWidget::FindElement | SFXAnsiString::EmptyInstance | SFBHTMLViewer::GetElemText | BREW API IHTMLVIEWER_GetElemText


SFYWebBrowserWidget::GetExpires
HTTP レスポンスヘッダーの Expires フィールドの値を取得します。
[ public, const ]
SFXDate GetExpires(Void);

戻り値

HTTP レスポンスヘッダーの Expires フィールドの値 (SFXDate)

解説

この関数は、HTTP/HTTPS 接続の HTTP レスポンスヘッダーの Expires フィールドの値(SFXDate)を取得します。 HTTP レスポンスヘッダーに Expires フィールドが存在しない場合、 または HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 SFXDate(0) を返します。

参照

SFYWebBrowserWidget::GetExpires


SFYWebBrowserWidget::GetIndent
HTML 表示のインデントの幅を取得します。[単位: ピクセル]
[ public, const ]
SInt32 GetIndent(Void);

戻り値

インデントの幅。[単位: ピクセル]

解説

この関数は、HTML 表示のインデントの幅を取得します。[単位: ピクセル]

[Note] 注意

この関数は、内部で引数のオプション ID に "HVOPT_N_INDENT" を指定して BREW API IHTMLVIEWER_GetOption 関数を呼び出します。

参照

SFYWebBrowserWidget::SetIndent | SFBHTMLViewer::GetOption | BREW API IHTMLVIEWER_GetOption


SFYWebBrowserWidget::GetLastModified
HTTP レスポンスヘッダーの Last-Modified フィールドの値を取得します。
[ public, const ]
SFXDate GetLastModified(Void);

戻り値

HTTP レスポンスヘッダーの Last-Modified フィールドの値 (SFXDate)

解説

この関数は、HTTP/HTTPS 接続の HTTP レスポンスヘッダーの Last-Modified フィールドの値 (SFXDate) を取得します。

HTTP レスポンスヘッダーに Last-Modified フィールドが存在しない場合、または HTTP 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、SFXDate(0) を返します。

参照

SFYWebBrowserWidget::GetLastModified


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

戻り値

リンク文字列の表示色。

解説

この関数は、HTML 表示のリンクの文字の表示色を取得します。

[Note] 注意

この関数は、内部で引数のオプション ID に "HVOPT_RGB_LINK" を指定して BREW API IHTMLVIEWER_GetOption 関数を呼び出します。

参照

SFYWebBrowserWidget::SetLinkColor | SFYWebBrowserWidget::GetTextColor | SFBHTMLViewer::GetOption | BREW API IHTMLVIEWER_GetOption


SFYWebBrowserWidget::GetMethod
HTTP リクエストメソッドを取得します。
[ public, const ]
SFXAnsiStringConstRef GetMethod(Void);

戻り値

HTTP リクエストメソッド

解説

この関数は、SFYWebBrowserWidget::SetMethod 関数で設定した、HTTP/HTTPS 接続の HTTP リクエストメソッドを取得します。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、空文字列(SFXAnsiString::EmptyInstance())を返します。

参照

SFYWebBrowserWidget::SetMethod


SFYWebBrowserWidget::GetParagraphSpacing
HTML 表示の段落間の行間の長さを取得します。[単位: ピクセル]
[ public, const ]
SInt32 GetParagraphSpacing(Void);

戻り値

段落間の行間の長さ。[単位: ピクセル]

解説

この関数は、HTML 表示の段落間の行間の長さを取得します。[単位: ピクセル]

[Note] 注意

この関数は、内部で引数のオプション ID に "HVOPT_N_VSPACE" を指定して BREW API IHTMLVIEWER_GetOption 関数を呼び出します。

参照

SFYWebBrowserWidget::SetParagraphSpacing | SFBHTMLViewer::GetOption | BREW API IHTMLVIEWER_GetOption


SFYWebBrowserWidget::GetPassword
Basic 認証のパスワードを取得します。
[ public, const ]
SFXAnsiStringConstRef GetPassword(Void);

戻り値

Basic 認証のパスワード

解説

Basic 認証のパスワードを取得します。

SFYWebBrowserWidget::SetAuthorizeData 関数で設定された値が取得されます。

参照

SFYWebBrowserWidget::SetAuthorizeData


SFYWebBrowserWidget::GetProxyServer
プロキシサーバーを取得します。
[ public, const ]
SFXSocketAddressConstRef GetProxyServer(Void);

戻り値

HTTP/HTTPS 接続のプロキシサーバー(SFXSocketAddress)

解説

この関数は、SFXHTTPConnection::SetProxyServer 関数で設定した、HTTP/HTTPS 接続のプロキシサーバー(SFXSocketAddress)を取得します。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、またはプロキシサーバーが設定されていない場合、SFXSocketAddress::EmptyInstance() を返します。

参照

SFXSocketAddress | SFXHTTPConnection::SetProxyServer


SFYWebBrowserWidget::GetRequestContent
HTTP リクエストボディを管理する SFBSource インスタンスを取得します。
[ public, const ]
SFBSourceSmpConstRef GetRequestContent(Void);

戻り値

HTTP リクエストボディを管理する SFBSource インスタンス

解説

この関数は、SFXHTTPConnection::SetRequestContent 関数を使用して設定した、HTTP/HTTPS 接続の HTTP リクエストボディを管理する SFBSource インスタンスを取得します。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、または何も設定されていない場合、SFBSourceSmp::EmptyInstance() の参照を返します。

参照

SFXHTTPConnection::SetRequestContent | SFBSource


SFYWebBrowserWidget::GetRequestFlag
HTTP リクエストフラグを取得します。
[ public, const ]
UInt32 GetRequestFlag(Void);

戻り値

HTTP リクエストフラグ

解説

この関数は、SFYWebBrowserWidget::SetRequestFlag 関数で設定した、 HTTP リクエストフラグを取得します。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 0 を返します。

参照

SFYWebBrowserWidget::SetRequestFlag | SFYWebBrowserWidget::Open | BREW API IWEB_GetResponse


SFYWebBrowserWidget::GetRequestHeader
HTTP リクエストヘッダーを取得します。
[ public, const ]
SFXAnsiStringConstRef GetRequestHeader(
    SFXAnsiStringConstRef key   // フィールド名
);
[ public, const ]
SFXPropertyConstRef GetRequestHeader(Void);

戻り値

HTTP リクエストヘッダー

解説

この関数は、HTTP リクエストヘッダーを取得します。 フィールド名を指定して個別に取得することも可能です。 引数に何も指定しない場合は、全ての HTTP リクエストヘッダーを取得します。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、、 空文字列(SFXAnsiString::EmptyInstance())、または 空のプロパティ(SFXProperty::EmptyInstance()) を返します。

参照

SFYWebBrowserWidget::SetRequestHeader | SFXProperty | SFXAnsiString


SFYWebBrowserWidget::GetResponseContent
HTTP レスポンスボディを管理する SFBSource インスタンスを取得します。
[ public, const ]
SFBSourceSmpConstRef GetResponseContent(Void);

戻り値

HTTP レスポンスボディを管理する SFBSource インスタンス

解説

この関数は、HTTP/HTTPS 接続の HTTP レスポンスボディを管理する SFBSource インスタンスを取得します。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 SFBSourceSmp::EmptyInstance() を返します。

[Tip] Tip
HTTP/HTTP 接続確立後、この関数を使用して HTTP レスポンスボディを取得することが可能です。
[Note] 注意

SFYWebBrowserWidget::GetStreamReader 関数は、 SFYWebBrowserWidget::GetResponseContent 関数の戻り値である SFBSource インスタンスからストリームを取得しています。

[Caution] HTTP レスポンスボディの読み込み

SFYWebBrowserWidget::GetResponseContent 関数を使用して HTTP レスポンスボディを読み込む場合は、 SFYWebBrowserWidget::GetStreamReader 関数を使えません。

逆に、SFYWebBrowserWidget::GetStreamReader 関数を使用して HTTP レスポンスボディを読み込む場合は、 SFYWebBrowserWidget::GetResponseContent 関数を使えません。

参照

SFYWebBrowserWidget::GetStreamReader | SFBSource | SFYWebBrowserWidget::Navigate


SFYWebBrowserWidget::GetResponseFlag
HTTP レスポンスフラグを取得します。
[ public, const ]
UInt32 GetResponseFlag(Void);

戻り値

HTTP レスポンスフラグ

解説

この関数は、HTTP/HTTPS 接続の HTTP レスポンスフラグを取得します。

HTTP レスポンスフラグは、以下のフラグの論理和として表現されます。

  • WEBRESPONSE_REDIRECTED : IWeb インターフェースによりリダイレクトされました。BREW の HTTP プロトコルエンジンには実装されていません。
  • WEBRESPONSE_COOKIES : HTTP リクエストでクッキーを送信しました。BREW の HTTP プロトコルエンジンには実装されていません。
  • WEBRESPONSE_CACHED : ローカル キャッシュにからデータを取得しました。ネットワーク通信は行っていません。
  • WEBRESPONSE_KEEPALIVE : 接続はキープアライブ状態にあります。
  • WEBRESPONSE_HTTP09 : HTTP 0.9 のレスポンスを受信しました。ヘッダーがありません。ステータスコード 200 として処理しました。
  • WEBRESPONSE_LOCAL : ローカルで生成されたコンテンツです。ネットワーク通信は行っていません。
  • WEBRESPONSE_PROXIED : プロキシ経由でデータを受信しました。
  • WEBRESPONSE_AUTHBASIC : BASIC 認証のための情報を送信しました。BREW の HTTP プロトコルエンジンには実装されていません。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 0 を返します。

参照

SFYWebBrowserWidget::SetRequestFlag | SFYWebBrowserWidget::Navigate | SFBWebResp | BREW API IWEBRESP_GetOpt


SFYWebBrowserWidget::GetResponseHeader
HTTP レスポンスヘッダーを取得します。
[ public, const ]
SFXAnsiStringConstRef GetResponseHeader(
    SFXAnsiStringConstRef key   // フィールド名
);
[ public, const ]
SFXPropertyConstRef GetResponseHeader(Void);

戻り値

HTTP レスポンスヘッダー

解説

この関数は、HTTP レスポンスヘッダーを取得します。 フィールド名を指定して個別に取得することも可能です。 引数に何も指定しない場合は、全ての HTTP レスポンスヘッダーを取得します。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 空文字列(SFXAnsiString::EmptyInstance())、 空のプロパティ(SFXProperty::EmptyInstance())を返します。

参照

SFYWebBrowserWidget::Navigate | SFXProperty | SFXAnsiString


SFYWebBrowserWidget::GetResultCode
HTTP ステータスコードを取得します。
[ public, const ]
SInt32 GetResultCode(Void);

戻り値

HTTP ステータスコード

解説

この関数は、HTTP ステータスコードを取得します。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 -1 を返します。

HTTP/HTTPS 接続が確立されている場合、 この関数の戻り値は、BREW API の WebRespInfo 内のフィールド nCode と同じです。

nCode は、プロトコルエラーコードまたは「負の」 WEB_ERROR エラーコードを表します。 正の値はサーバーから返された値であり、負のエラーコードはシステムエラーを表します。 戻り値を WEB_ERROR_MAP() に渡すことによって、BREW の WEB_ERROR エラーコードを取得できます。 また、WEB_ERROR_SUCCEEDED() に渡すことによって操作が成功したかどうか判定できます。

[Note] 注意
WEB_ERROR エラーコードの詳細については、 AEEError.h を参照してください。

参照

SFYWebBrowserWidget::Navigate | BREW API WebRespInfo | BREW API WEB_ERROR_MAP | BREW API WEB_ERROR_SUCCEEDED


SFYWebBrowserWidget::GetSFBWeb
SFBWeb インスタンスを取得します。
[ public, const ]
SFBWebSmpConstRef GetSFBWeb(Void);

戻り値

内部で使用される SFBWeb インスタンス

解説

この関数は、このコントロールが内部で保持する  BREW API IWeb インターフェースを取得します。

BREW API IWeb インターフェースが設定されていない場合は、null を返します。

[Important] WebOpt 指定時の注意

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

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

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

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

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

参照

SFBWeb | BREW API IWeb


SFYWebBrowserWidget::GetSFBWebResp
内部で管理する SFBWebResp インスタンスを取得します。
[ public, const ]
SFBWebRespSmpConstRef GetSFBWebResp(Void);

戻り値

この HTTP/HTTPS 接続が内部で管理する SFBWebResp インスタンス

解説

この関数は、HTTP/HTTPS 接続が内部で管理する SFBWebResp インスタンスを取得します。

参照

SFBWebResp | BREW API IWebResp


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

戻り値

スクロールバーの幅。[単位: ピクセル]

解説

この関数は、HTML 表示のスクロールバーの幅を取得します。[単位: ピクセル]

[Note] 注意

この関数は、内部で引数のオプション ID に "HVOPT_N_SBWIDTH" を指定して BREW API IHTMLVIEWER_GetOption 関数を呼び出します。

参照

SFYWebBrowserWidget::SetScrollbarWidth | SFBHTMLViewer::GetOption | BREW API IHTMLVIEWER_GetOption


SFYWebBrowserWidget::GetStreamReader
HTTP レスポンスボディを読み込むためのデータ受信用ストリームを取得します。
[ public ]
SFCError GetStreamReader(
    UInt32 size                 // バッファサイズ
    SFXStreamReaderPtr result   // データ受信用ストリームへのポインタ
);
[ public ]
SFCError GetStreamReader(
    SFXStreamReaderPtr result   // データ受信用ストリームへのポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • result 引数が null のとき: SFERR_INVALID_PARAM
  • HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、HTTP/HTTPS 接続の HTTP レスポンスボディを読み込むためのデータ受信用ストリームを取得します。

size 引数を指定する場合、ストリームバッファは指定したサイズで固定です。 指定しない場合は、ストリームバッファは可変長になり、 内部的に SFXElasticStreamReader クラスが利用されます。

[Tip] Tip
データ受信用ストリームは、受信するデータの種類に応じて SFXBinaryStreamReaderSFXAnsiStringStreamReader、または SFXWideStringStreamReader クラスを使い分けます。
[Note] 注意

SFYWebBrowserWidget::GetStreamReader 関数を使用して取得するストリームは、 SFYWebBrowserWidget::GetResponseContent 関数の戻り値である SFBSource インスタンスから取得しています。

[Caution] HTTP レスポンスボディの読み込み

SFYWebBrowserWidget::GetResponseContent 関数を使用して HTTP レスポンスボディを読み込む場合は、 SFYWebBrowserWidget::GetStreamReader 関数を使えません。

逆に、SFYWebBrowserWidget::GetStreamReader 関数を使用して HTTP レスポンスボディを読み込む場合は、 SFYWebBrowserWidget::GetResponseContent 関数を使えません。

[Note] 注意
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。

参照

SFYWebBrowserWidget::GetResponseContent | SFYWebBrowserWidget::GetStreamWriter | SFYWebBrowserWidget::Navigate | SFXBinaryStreamReader | SFXAnsiStringStreamReader | SFXWideStringStreamReader | ストリームバッファ


SFYWebBrowserWidget::GetStreamWriter
HTTP リクエストボディにデータを書き込むためのデータ送信用ストリームを取得します。
[ public ]
SFCError GetStreamWriter(
    UInt32 size                 // バッファサイズ
    SFXStreamWriterPtr result   // データ送信用ストリームへのポインタ
);
[ public ]
SFCError GetStreamWriter(
    SFXStreamWriterPtr result   // データ送信用ストリームへのポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • result 引数が null のとき: SFERR_INVALID_PARAM
  • HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、この HTTP 接続の HTTP リクエストボディにデータを書き込むためのデータ送信用ストリームを取得します。

size 引数を指定する場合、ストリームバッファは指定したサイズで固定です。 指定しない場合は、ストリームバッファは可変長になり、 内部的に SFXElasticStreamWriter クラスが利用されます。

[Tip] Tip
データ送信用ストリームは、送信するデータの種類に応じて SFXBinaryStreamWriterSFXAnsiStringStreamWriter、または SFXWideStringStreamWriter クラスを使い分けます。
[Tip] Tip

SFYWebBrowserWidget::GetStreamWriter 関数を使用してデータを送信する場合、 一旦ヒープ上に HTTP リクエストボディが作成されるため、 送信可能なデータサイズは携帯電話に搭載されているメモリ容量に依存することになります。

SFYWebBrowserWidget::SetRequestContent 関数を使用してファイルストレージ(SFXFile)を設定すると、 ファイルから直接ネットーワークへデータが送信可能となり、大きなサイズのデータを送信できます。

[Caution] HTTP リクエストボディの作成

SFYWebBrowserWidget::SetRequestContent 関数を使用して HTTP リクエストボディを作成する場合は、 SFYWebBrowserWidget::GetStreamWriter 関数を使えません。

逆に、SFYWebBrowserWidget::GetStreamWriter 関数を使用して HTTP リクエストボディを作成する場合は、 SFYWebBrowserWidget::SetRequestContent 関数を使えません。

[Note] 注意
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。

参照

SFYWebBrowserWidget::GetStreamReader | SFYWebBrowserWidget::SetRequestContent | SFYWebBrowserWidget::Open | SFXBinaryStreamWriter | SFXAnsiStringStreamWriter | SFXWideStringStreamWriter | ストリームバッファ


SFYWebBrowserWidget::GetTextColor
テキストの表示色を取得します。
[ public, const ]
SFXRGBColor GetTextColor(Void);

戻り値

HTML 表示のテキストの表示色。

解説

この関数は、HTML 表示のテキストの表示色を取得します。

[Note] 注意

この関数は、内部で引数のオプション ID に "HVOPT_RGB_TEXT" を指定して BREW API IHTMLVIEWER_GetOption 関数を呼び出します。

参照

SFYWebBrowserWidget::SetTextColor | SFYWebBrowserWidget::GetLinkColor | SFBHTMLViewer::GetOption | BREW API IHTMLVIEWER_GetOption


SFYWebBrowserWidget::GetTimeoutMillisecond
接続タイムアウト時間を取得します。 [単位: ミリ秒]
[ public, const ]
UInt32 GetTimeoutMillisecond(Void);

戻り値

接続タイムアウト時間 [単位: ミリ秒]

解説

この関数は、 接続タイムアウト時間を取得します。 [単位: ミリ秒]

参照

SFYWebBrowserWidget::SetTimeoutMillisecond | SFYWebBrowserWidget::SetTimeoutCallback


SFYWebBrowserWidget::GetTrustMode
HTTPS 通信の SSL 認証モードを取得します。
[ public, const ]
UInt32 GetTrustMode(Void);

戻り値

SSL 認証モード

解説

この関数は、HTTPS 通信の SSL 認証モードを取得します。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 0 を返します。

以下の 4 種類の SSL 認証モードの何れかが返却されます。

  • SSL_TRUST_MODE_FAIL: トラストエラーがあると接続が失敗します。[デフォルト]
  • SSL_TRUST_MODE_CHECK: トラストエラーの場合、チェックまたは無視できるように中断します。
  • SSL_TRUST_MODE_IGNORE: すべてのトラストエラーを無視します。
  • SSL_TRUST_MODE_ALWAYS: トラストをチェックできるように常に中断します。

参照

SFYWebBrowserWidget::SetTrustMode | SFYWebBrowserWidget::Open | BREW API ISSL_NegotiateV


SFYWebBrowserWidget::GetUser
Basic 認証のユーザー名を取得します。
[ public, const ]
SFXAnsiStringConstRef GetUser(Void);

戻り値

ユーザー名

解説

Basic 認証のユーザー名を取得します。

SFYWebBrowserWidget::SetAuthorizeData 関数で設定された値が取得されます。

参照

SFYWebBrowserWidget::SetAuthorizeData


SFYWebBrowserWidget::GetUserAgent
ユーザーエージェントを取得します。
[ public, const ]
SFXAnsiStringConstRef GetUserAgent(Void);

戻り値

ユーザーエージェント

解説

この関数は、HTTP/HTTPS 接続のユーザーエージェントを取得します。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 空文字列(SFXAnsiString::EmptyInstance()) を返します。

参照

SFYWebBrowserWidget::SetUserAgent | SFYWebBrowserWidget::Open | SFXAnsiString


SFYWebBrowserWidget::GetWebClassId
HTTP/HTTPS 接続を開く際の Web クラス ID を取得します。
[ public, const ]
AEECLSID GetWebClassId(Void);

戻り値

Web クラス ID

解説

HTTP/HTTPS 接続を開く際の Web クラス ID を取得します。

デフォルト値は、AEECLSID_WEB です。

参照

SFYWebBrowserWidget::SetWebClassId


SFYWebBrowserWidget::HandleBoundReal
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントを受信したときに呼び出される関数です (実領域が変化したときの処理を行います)。
[ protected, virtual ]
Void HandleBoundReal(Void);

解説

この関数は、領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL, rectangle)] を受信したときに呼び出されます。

実領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は、仮想領域を実領域に一致させます。

[Note] 領域イベント[(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベント]

SFYResponder::SetRealBound 関数は、この関数内の処理により実領域が変化すると、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL, rectangle)] をレスポンダに送信します。

SFYWidget クラスを継承するレスポンダが領域イベントを受信すると、 SFYWidget::SFYWidget コンストラクタで最初に登録した領域イベント専用ハンドラの処理により、 SFYWidget::HandleBoundReal 仮想関数が呼び出されます。

※ 領域イベントの P32 パラメータ rectangle には変更後の実領域が設定されています。

[Note] 実領域が変化した時の処理

SFYWidget::HandleBoundReal 仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。

実領域の変更処理は、最初に SFYWidget::HandleBoundReal 仮想関数を実行し、 次に領域イベント専用ハンドラを登録した順に実行して行われます。

内部実装

この関数の内部実装は以下の通りです。

/*protected virtual */Void SFYControl::HandleBoundReal(Void)
{
    SetVirtualBound(SFXRectangle(SFXGrid::ZeroInstance(), GetRealBound().GetSize()));
    return;
}// SFYControl::HandleBoundReal //

参照

SFYResponder::SetRealBound | 実領域 | 仮想領域 | 領域イベント[SFEVT_RESPONDER_BOUND]


SFYWebBrowserWidget::HandleBoundVirtual
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントを受信したときに呼び出される関数です (仮想領域が変化したときの処理を行います)。
[ protected, virtual ]
Void HandleBoundVirtual(Void);

解説

この関数は、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL, rectangle)] を受信したときに呼び出されます。

仮想領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は、SFYWebBrowserWidget::AdjustViewer 関数を呼び出します。

[Note] 領域イベント[(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベント]

SFYResponder::SetRealBound / SFYResponder::SetVirtualBound 関数は、 この関数内の処理により仮想領域が変化すると、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL, rectangle)] をレスポンダに送信します。

SFYWidget クラスを継承するレスポンダが領域イベントを受信すると、 SFYWidget::SFYWidget コンストラクタで最初に登録した領域イベント専用ハンドラの処理により、 SFYWidget::HandleBoundVirtual 仮想関数が呼び出されます。

※ 領域イベントの P32 パラメータ rectangle には変更後の仮想領域が設定されています。

[Note] 仮想領域の変更処理

SFYWidget::HandleBoundVirtual 仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。

仮想領域の変更処理は、最初に SFYWidget::HandleBoundVirtual 仮想関数を実行し、 次に領域イベント専用ハンドラを登録した順に実行して行われます。

領域イベント専用ハンドラを宣言し登録する手間が省けるので、 通常は SFYWidget::HandleBoundVirtual 仮想関数をオーバーライドして処理を記述します。

内部実装

この関数の内部実装は以下の通りです。

/*protected virtual */Void SFYWidget::HandleBoundVirtual(Void)
{
    AdjustViewer();
    return;
}// SFYWidget::HandleBoundVirtual //

参照

SFYResponder::SetRealBound | SFYResponder::SetVirtualBound | 仮想領域 | 領域イベント[SFEVT_RESPONDER_BOUND]


SFYWebBrowserWidget::HandleRenderRequest
描画イベントを受信したときに呼び出される関数です(レスポンダを描画します)。
[ protected, virtual, const ]
Void HandleRenderRequest(
    SFXGraphicsPtr graphics   // グラフィックスオブジェクト
);

解説

この関数は、 描画イベント [SFXEvent(SFEVT_RESPONDER_RENDER, SFP16_RENDER_REQUEST, graphics)] を受信したときに呼び出されます。

レスポンダの描画処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は、内部で保持する IHTMLViewer インスタンスがアクティブであれば、IHTMLViewer_Redraw() 関数を呼び出したのちスナップショット画像を取得します。 アクティブでなければ、スナップショット画像を描画します。

[Tip] Tip

SFYWidget::HandleRenderRequest 関数は、 レスポンダが描画イベントを受信したとき、 最初に起動される下記の SFYWidget クラスに登録されているデフォルトの描画ハンドラから呼び出されます。

// 最初に呼び出される SFYWidget クラスに登録されているデフォルトの描画ハンドラ
/*private */XANDLER_IMPLEMENT_VOIDRENDER(SFYWidget, OnRenderRequest, invoker, reason, graphics)
{
    unused(invoker);
    unused(reason);

    if (!GetPropertyTransparent()) { // 透過属性が設定されていないなら

        // レスポンダの領域を SetBackgroundColor() を利用して設定した背景色で塗り潰す
        graphics->FillRectangle(GetLocalBound(), _color.background);
    }

    // レスポンダを描画する仮想関数を呼び出す
    HandleRenderRequest(graphics);

    return;
}// XANDLER_IMPLEMENT_VOIDRENDER(SFYWidget, OnRenderRequest) //

SFYResponder::SetPropertyTransparent 関数を使用して透過属性を設定していない場合、 レスポンダの領域は SFYWidget::HandleRenderRequest 関数を実行する前に SFYWidget::SetBackgroundColor 関数を使用して設定した背景色(デフォルト値: 白色)で塗り潰されます。

[Note] レスポンダの描画手順

  1. SFYResponder::Invalidate 関数を使用して再描画領域を登録します。
  2. イベントループの最後、 アプリ開始/レジュームまたは優先的イベントハンドラ終了のタイミング、 あるいは、コールバックなどのイベントループの外で、 自動的に、あるいは、明示的に SFYResponder::Render 関数を呼び出します。
  3. 描画エンジンが起動されます。
  4. 再描画が必要なレスポンダだけが描画イベントを受信します。
  5. SFYWidget クラスを継承するレスポンダが描画イベントを受信すると、 SFYWidget::SFYWidget コンストラクタで最初に登録した描画ハンドラの処理により、 SFYWidget::HandleRenderRequest 仮想関数が呼び出されます。 その後、描画ハンドラが登録した順に呼び出されます。
  6. 実際にレスポンダが描画されます。

[Tip] Tip
描画ハンドラの宣言と登録の手間を省けるので、 通常は SFYWidget::HandleRenderRequest 仮想関数だけを利用してレスポンダを描画します。

内部実装

この関数の内部実装は以下の通りです。

/*protected virtual */Void SFYWebBrowserWidget::HandleRenderRequest(SFXGraphicsPtr graphics) const
{
    if (_viewer != null) {
        if (_viewer->IsActive()) {
            _redrawing = true;
            _viewer->Redraw();
            if (_bitmap != null) {
                Snapshot(_bitmap);
            }
            _redrawing = false;
        }
        else {
            if (_bitmap != null) {
                graphics->DrawBitmap(_bitmap, GetLocalBound());
            }
        }
    }
    return;
}// SFYWebBrowserWidget::HandleRenderRequest //

参照

SFYResponder::Invalidate | SFYResponder::Render | SFYWidget::SetBackgroundColor | 描画イベント[SFEVT_RESPONDER_RENDER] | 描画イベント専用ハンドラ[XANDLER_DECLARE_VOIDRENDER] | 描画処理 | イベントループ | レスポンダツリー


SFYWebBrowserWidget::IsBusy
通信中またはレンダリング中であるかどうかを判定をします。
[ public, const ]
Bool IsBusy(Void);

戻り値

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

解説

この関数は、通信中またはレンダリング中であるかどうかを判定をします。

参照

SFYWebBrowserWidget::IsBusy


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

戻り値

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

解説

この関数は、文字をインラインで入力する設定であるかどうかを判定します。

参照

SFYWebBrowserWidget::SetInlineEditEnable


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

戻り値

  • あるとき: true
  • そうでないとき: false

解説

この関数は、スクロールバーがあるかどうかを判定をします。

参照

SFYWebBrowserWidget::SetScrollbarEnable


SFYWebBrowserWidget::Load
指定された HTML 文書を読み込み、レンダリングを開始します。
[ public ]
SFCError Load(
    SFBSourceSmpConstRef data   // HTML 文書
    SFXAnsiStringConstRef url   // 基準となる URL
);
[ public ]
SFCError Load(
    SFBAStreamSmpConstRef stream   // HTML 文書
    SFXAnsiStringConstRef url      // 基準となる URL
);
[ public ]
SFCError Load(
    SFXAnsiStringConstRef data   // HTML 文書
    SFXAnsiStringConstRef url    // 基準となる URL
);

引数

source

HTML 文書とみなすソースです。

source

HTML 文書とみなすストリームです。

data

HTML 文書とみなす文字列です。

url

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

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMORY
  • 指定された url が正しくないとき: SFERR_INVALID_PARAM
  • HTTP/HTTPS 接続の状態が STATE_OPEN でないとき: SFERR_INVALID_STATE
  • その他失敗したとき: SFERR_FAILED

解説

この関数は、指定された HTML 文書を読み込み、レンダリングを開始します。

[Note] 注意

インライン画像は取得できしだい表示されます。 HTTP 接続を要するインライン画像を読み込む可能性があるので、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でなければなりません。

参照

SFYWebBrowserWidget::Navigate | SFYWebBrowserWidget::Notify | SFYWebBrowserWidget::IsBusy | SFYWebBrowserWidget::Stop


SFYWebBrowserWidget::LoadCertificate
ASN.1/DER 形式の証明書のファイルまたはバッファを読み込みます。
[ public ]
SFCError LoadCertificate(
    SInt32 kind            // 証明書の種類
    SFXPathConstRef path   // 証明書のファイルパス
);
[ public ]
SFCError LoadCertificate(
    SInt32 kind                // 証明書の種類
    SFXBufferConstRef buffer   // 証明書のバッファ
);

引数

kind

証明書の種類: WEBOPT_X509_ROOT_CERT, WEBOPT_X509_LEAF_CERT, WEBOPT_X509_BRANCH_CERT のいずれか

path

ASN.1/DER 形式の証明書のファイルパス

buffer

ASN.1/DER 形式の証明書のバッファ

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • HTTP/HTTPS 接続の状態が STATE_CLOSE でないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY
  • サポートされていないとき: SFERR_UNSUPPORTED
  • その他失敗したとき: SFERR_FAILED

解説

ASN.1/DER 形式の証明書のファイルまたはバッファを読み込みます。

HTTP/HTTPS 接続を開く前に実行する必要があります。

使用例

ルート証明書を読み込む

SFYWebBrowserWidgetSmp browser;
SFCError error;

if ((browser = SFYWebBrowserWidget::NewInstance(&error)) != null) {
    // 接続を開く前にルート証明書を読み込む
    if ((error = browser->LoadCertificate(WEBOPT_X509_ROOT_CERT, SFXPath("scradle.der"))) == SFERR_NO_ERROR) {
        if ((error = browser->Open()) == SFERR_NO_ERROR) {
            if ((error = browser->SetMethod("GET")) == SFERR_NO_ERROR) {
                error = browser->Navigate("https://www.s-cradle.com/example/tabbrowser/");
            }
        }
    }
}

参照

SFBX509Chain::AddCert


SFYWebBrowserWidget::Navigate
指定された URL のページを取得して、レンダリングを開始します。
[ public ]
SFCError Navigate(
    SFXAnsiStringConstRef url   // 開く URL
);

引数

url

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

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

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY
  • url 引数の値が正しくないとき: SFERR_INVALID_PARAM
  • HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でないとき: SFERR_INVALID_STATE
  • 失敗したとき: SFERR_FAILED

解説

この関数は、指定された URL のページを取得して、レンダリングを開始します。

この関数を呼び出す前に、SFYWebBrowserWidget::Open 関数で接続を開いて、SFYWebBrowserWidget::SetMethod 関数で HTTP メソッドを設定する必要があります。

また、HTTP メッセージのリクエストコンテンツを利用するときは、SFYWebBrowserWidget::SetRequestContent 関数で事前に設定します。

[Note] 注意

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

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

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

通信に関するエラーを取得する場合は、(SFEVT_RESPONDER_BROWSER_NOTIFY, NOTIFY_RESPONSE) イベントを処理します。

使用例

SFYWebBrowserWidgetSmp browser;
SFCError error;

if ((browser = SFYWebBrowserWidget::NewInstance(&error)) != null) {
    if ((error = browser->Open()) == SFERR_NO_ERROR) {
        if ((error = browser->SetMethod("GET")) == SFERR_NO_ERRROR) {
            error = browser->Navigate("/example/tabbrowser/");
        }
    }
}

参照

SFYWebBrowserWidget::Load


SFYWebBrowserWidget::NewInstance
新しいインスタンスを作成します。
[ public, static ]
SFYWebBrowserWidgetSmp NewInstance(
    SFCErrorPtr exception = null   // エラー値
);

引数

exception

関数内部で発生したエラー値を返します。

戻り値

  • 成功したとき: null 以外のポインタ
  • 失敗したとき: null ポインタ

解説

この関数は、SFYWebBrowserWidget クラスの新しいインスタンスを作成します。

インスタンスの作成に成功した場合は null 以外のポインタを返します。 失敗した場合は、null ポインタを返します。

exception 引数を指定した場合、 この引数にはエラー値が返ります。

使用例

以下は、ウェブブラウザウィジェットのインスタンスを生成するためのコードです。

// ウェブブラウザウィジェットのインスタンスを生成する
SFYWebBrowserWidgetSmp _browser;
SFCError error;

if ((_browser = SFYWebBrowserWidget::NewInstance(&error)) != null) {
    // ...
}

SFYWebBrowserWidget::Next
指定された値だけ履歴を進み、ページを再取得しレンダリングします。
[ public ]
SFCError Next(
    SInt32 n = 1   // 履歴を進む数
);

引数

n

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

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY
  • n 引数に指定した値だけ進んだ位置に履歴が存在しない、または 0 を指定したとき: SFERR_INVALID_PARAM
  • 失敗したとき: SFERR_FAILED

解説

この関数は、指定された値だけ履歴を進み、ページを再取得しレンダリングします。

[Note] 注意

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

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

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

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

通信に関するエラーを取得する場合は、(SFEVT_RESPONDER_BROWSER_NOTIFY, NOTIFY_RESPONSE) イベントを処理します。

参照

SFYWebBrowserWidget::Previous | SFYWebBrowserWidget::Navigate | SFYWebBrowserWidget::Reload


SFYWebBrowserWidget::Open
HTTP/HTTPS 接続を開きます。
[ public ]
SFCError Open(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_CONNECT のとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、HTTP/HTTPS 接続を開きます。

HTTP/HTTPS 接続の状態は、SFXHTTPConnection::STATE_OPEN になります。

HTTP/HTTPS 接続の状態が既に SFXHTTPConnection::STATE_OPEN だった場合は何も処理を行いません。エラー値は SFERR_NO_ERROR が返ります。

SFYWebBrowserWidget::Navigate 関数や、SFYWebBrowserWidget::Load 関数で実際にページを開く前にこの関数を呼び出す必要があります。

参照

SFYWebBrowserWidget::Navigate | SFYWebBrowserWidget::Load


SFYWebBrowserWidget::Previous
指定された値だけ履歴を戻り、ページを再取得しレンダリングします。
[ public ]
SFCError Previous(
    SInt32 n = 1   // 履歴を戻る数
);

引数

n

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

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY
  • n 引数に指定した値だけ戻った位置に履歴が存在しない、または 0 のとき: SFERR_INVALID_PARAM
  • 失敗したとき: SFERR_FAILED

解説

この関数は、指定された値だけ履歴を戻り、ページを再取得しレンダリングします。

[Note] 注意

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

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

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

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

通信に関するエラーを取得する場合は、(SFEVT_RESPONDER_BROWSER_NOTIFY, NOTIFY_RESPONSE) イベントを処理します。

参照

SFYWebBrowserWidget::Next | SFYWebBrowserWidget::Navigate | SFYWebBrowserWidget::Reload


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

解説

この関数は、現在表示しているページを再取得して再描画します。

[Caution] 注意

現在表示しているページが、 SFYWebBrowserWidget::Load 関数か、 POST メソッド使用した SFYWebBrowserWidget::Navigate 関数によるものである場合、 再描画に失敗します。

参照

SFYWebBrowserWidget::Load | SFYWebBrowserWidget::Navigate


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

引数

user

ユーザー名を指定します。

passwd

パスワードを指定します。

url

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

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY
  • HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でないとき: SFERR_INVALID_STATE

解説

この関数は、HTTP ベーシック認証の情報を設定します。

この関数を実行した後、 url 引数に指定した URL で始まるページへのアクセスは、 指定された認証情報を持つヘッダーをつけて行われます。

HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときのみ呼び出しが成功します。

認証情報の設定を解除する時は、空文字列を指定してこの関数を呼び出します。

また、 url 引数に指定した URL で始まらないページをアクセスした場合、 認証情報は使用されません。

[Note] 注意

戻り値が SFERR_NO_ERROR 以外の場合は、ベーシック認証は行われません。

参照

SFYWebBrowserWidget::Open


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

引数

pixel

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

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 内部で呼び出す BREW API IHTMLVIEWER_SetOption 関数の引数に指定したオプション ID がサポートされていないとき: SFERR_UNSUPPORTED

解説

この関数は、HTML 表示のインデントの幅を設定します。[単位: ピクセル]

[Note] 注意

この関数は、内部で引数のオプション ID に "HVOPT_N_INDENT" を指定して BREW API IHTMLVIEWER_SetOption 関数を呼び出します。

参照

SFYWebBrowserWidget::GetIndent | SFBHTMLViewer::SetOption | BREW API IHTMLVIEWER_SetOption


SFYWebBrowserWidget::SetInlineEditEnable
フォームでの文字入力をインラインするかを設定します。
[ public ]
Void SetInlineEditEnable(
    Bool enable   // 設定する値: インラインの場合は true、フルスクリーンの場合は false
);

引数

enable

フォームでの文字入力方法を指定します。

  • インラインの場合: true
  • フルスクリーンの場合: false

解説

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

[Note] 注意

この関数は、内部で BREW API IHTMLVIEWER_SetProperties 関数を呼び出します。

参照

SFYWebBrowserWidget::IsInlineEditEnable | SFBControl::SetProperties | BREW API IHTMLVIEWER_SetProperties


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

引数

color

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

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 内部で呼び出す BREW API IHTMLVIEWER_SetOption 関数の引数に指定したオプション ID がサポートされていないとき: SFERR_UNSUPPORTED

解説

この関数は、HTML 表示のリンク文字列の表示色を設定します。

[Note] 注意

この関数は、内部で引数のオプション ID に "HVOPT_RGB_LINK" を指定して BREW API IHTMLVIEWER_SetOption 関数を呼び出します。

参照

SFYWebBrowserWidget::GetLinkColor | SFYWebBrowserWidget::SetTextColor | SFBHTMLViewer::SetOption | BREW API IHTMLVIEWER_SetOption


SFYWebBrowserWidget::SetMethod
HTTP リクエストメソッドを設定します。
[ public ]
SFCError SetMethod(
    SFXAnsiStringConstRef param   // HTTP リクエストメソッド
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、HTTP/HTTPS 接続の HTTP リクエストメソッドを設定します。

引数には、"GET"、"POST"、"HEAD" など BREW の IWeb インターフェースが対応している HTTP リクエストメソッドを指定できます。

デフォルト値: "GET"

設定された値は、 SFYWebBrowserWidget::Close 関数が呼び出されるまで有効です。

[Note] 注意
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。

参照

SFYWebBrowserWidget::GetMethod | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close | SFXAnsiString | BREW API IWeb


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

引数

pixel

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

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 内部で呼び出す BREW API IHTMLVIEWER_SetOption 関数の引数に指定したオプション ID がサポートされていないとき: SFERR_UNSUPPORTED

解説

この関数は、HTML 表示の段落間の行間の長さを設定します。[単位: ピクセル]

[Note] 注意

この関数は、内部で引数のオプション ID に "HVOPT_N_VSPACE" を指定して BREW API IHTMLVIEWER_SetOption 関数を呼び出します。

参照

SFYWebBrowserWidget::GetParagraphSpacing | SFBHTMLViewer::SetOption | BREW API IHTMLVIEWER_SetOption


SFYWebBrowserWidget::SetProxyServer
プロキシサーバーを設定します。
[ public ]
SFCError SetProxyServer(
    SFXSocketAddressConstRef param   // プロキシサーバー
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、HTTP/HTTPS 接続のプロキシサーバー(SFXSocketAddress)を設定します。

設定された値は、 SFYWebBrowserWidget::Close 関数が呼び出されるまで有効です。

[Note] 注意
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。

参照

SFYWebBrowserWidget::GetProxyServer | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close | SFXSocketAddress


SFYWebBrowserWidget::SetRequestContent
HTTP リクエストボディにストレージまたはソースを設定します。
[ public ]
SFCError SetRequestContent(
    SFXFileConstRef file   // HTTP リクエストボディに設定するファイルストレージ
);
[ public ]
SFCError SetRequestContent(
    SFXMemoryConstRef memory   // HTTP リクエストボディに設定するメモリストレージ
);
[ public ]
SFCError SetRequestContent(
    SFXStorageConstRef storage   // HTTP リクエストボディに設定するストレージ
    SInt32 length                // ストレージの長さ
);
[ public ]
SFCError SetRequestContent(
    SFBSourceSmpConstRef source   // HTTP リクエストボディに設定するソース
    SInt32 length                 // ソースの長さ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が null のとき: SFERR_INVALID_PARAM
  • HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でないとき、または引数に指定したストレージ/SFBSource インスタンスが開いていないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、 HTTP/HTTPS 接続の HTTP リクエストボディにストレージまたはソースを設定します。

引数にファイルストレージまたはメモリストレージだけを指定したとき、 そのストレージ全体の長さが自動的に設定されます。

length 引数を指定する場合、 ストレージまたはソースの現在の読み書きポインタの位置から指定した長さ分のデータが HTTP リクエストボディに設定されます。

[Tip] Tip

SFYWebBrowserWidget::SetRequestContent 関数を使用してファイルストレージ(SFXFile)を設定すると、 ファイルから直接ネットーワークへデータが送信可能となり、 大きなサイズのデータを送信できます。

SFYWebBrowserWidget::GetStreamWriter 関数を使用してデータを送信する場合、 一旦ヒープ上に HTTP リクエストボディが作成されるため、 送信可能なデータサイズは携帯電話に搭載されているメモリ容量に依存することになります。

[Caution] HTTP リクエストボディの作成

SFYWebBrowserWidget::SetRequestContent 関数を使用して HTTP リクエストボディを作成する場合は、 SFYWebBrowserWidget::GetStreamWriter 関数を使えません。

逆に、SFYWebBrowserWidget::GetStreamWriter 関数を使用して HTTP リクエストボディを作成する場合は、 SFYWebBrowserWidget::SetRequestContent 関数を使えません。

設定された値は、 SFYWebBrowserWidget::Close 関数が呼び出されるまで有効です。

[Note] 注意
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。
[Note] 注意

SFYWebBrowserWidget::SetRequestContent 関数は、 SophiaFramework UNIVERSE 5.1.11 以降有効です。

参照

SFYWebBrowserWidget::GetRequestContent | SFYWebBrowserWidget::GetStreamWriter | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close | SFBSource | SFXStorage


SFYWebBrowserWidget::SetRequestFlag
HTTP リクエストフラグを設定します。
[ public ]
SFCError SetRequestFlag(
    UInt32 param   // HTTP リクエストフラグ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でないとき: SFERR_INVALID_STATE

解説

この関数は、HTTP/HTTPS 接続の HTTP リクエストフラグを設定します。

[Note] 注意
HTTP リクエストフラグは、内部的に IWEB_GetResponse 関数に渡されます。

具体的には、以下のフラグの論理和として設定します。

  • WEBREQUEST_REDIRECT: リダイレクトを自動的に処理します。 (BREW の HTTP プロトコルエンジンには実装されていない)
  • WEBREQUEST_NOCOOKIES: クッキーを処理せずに、ヘッダをそのまま渡します。 (BREW の HTTP プロトコルエンジンには実装されていないが、この動作はデフォルト)
  • WEBREQUEST_NOCACHE: プロキシを使用する場合に、"Pragma: no-cache" を送信します。 (BREW の HTTP プロトコルエンジンには実装されていない)
  • WEBREQUEST_NOKEEPALIVE: キープアライブを無効にします。
  • WEBREQUEST_FORCENEWCONN: 新規接続を強制します。
  • WEBREQUEST_NOWAITCONN: 再利用可能な接続を待たずに、新規接続を行います。
  • WEBREQUEST_HTTPBOGUSCRLF: CERN Webserver のバグを回避するために、余分な CRLF を追加します。

設定された値は、 SFYWebBrowserWidget::Close 関数が呼び出されるまで有効です。

[Note] 注意
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。

参照

SFYWebBrowserWidget::GetRequestFlag | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close | BREW API IWEB_GetResponse


SFYWebBrowserWidget::SetRequestHeader
HTTP リクエストヘッダーを設定します。
[ public ]
SFCError SetRequestHeader(
    SFXAnsiStringConstRef key     // ヘッダーの名前
    SFXAnsiStringConstRef value   // ヘッダーの値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ヘッダーの名前が User-Agent、Content-Length、Connection のいずれかであったとき:SFERR_INVALID_PARAM
  • HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、HTTP/HTTPS 接続の HTTP リクエストヘッダーを設定します。

同一の key で複数回呼ばれた場合は、すべて記憶してリクエスト時に送信されます。

設定された値は、 SFYWebBrowserWidget::Close 関数を呼び出すまで有効です。

[Note] 注意
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。

参照

SFYWebBrowserWidget::GetRequestHeader | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close


SFYWebBrowserWidget::SetScrollbarEnable
スクロールバーの有無を設定します。
[ public ]
Void SetScrollbarEnable(
    Bool enable   // 設定する値: スクロールバー有りの場合は true、無しの場合は false
);

引数

enable

スクロールバーの有無を指定します。

  • スクロールバー有りの場合: true
  • スクロールバー無しの場合: false

解説

この関数は、スクロールバーの有無を設定します。

[Note] 注意

この設定で表示されるスクロールバーは、 SophiaFramework UNIVERSE で実装されているものではなく、 BREW API IHtmlViewer インターフェースのスクロールバーです。

参照

SFYWebBrowserWidget::IsScrollbarEnable | SFBControl::SetProperties | BREW API IHTMLVIEWER_SetProperties


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

引数

pixel

スクロールバーの幅を指定します。[単位: ピクセル]

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 内部で呼び出す BREW API IHTMLVIEWER_SetOption 関数の引数に指定したオプション ID がサポートされていないとき: SFERR_UNSUPPORTED

解説

この関数は、HTML 表示のスクロールバーの幅を設定します。[単位: ピクセル]

[Note] 注意

この関数は、内部で引数のオプション ID に "HVOPT_N_SBWIDTH" を指定して BREW API IHTMLVIEWER_SetOption 関数を呼び出します。

参照

SFYWebBrowserWidget::GetScrollbarWidth | SFBHTMLViewer::SetOption | BREW API IHTMLVIEWER_SetOption


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

引数

color

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

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 内部で呼び出す BREW API IHTMLVIEWER_SetOption 関数の引数に指定したオプション ID がサポートされていないとき: SFERR_UNSUPPORTED

解説

この関数は、HTML 表示のテキストの表示色を設定します。

[Note] 注意

この関数は、内部で引数のオプション ID に "HVOPT_RGB_TEXT" を指定して BREW API IHTMLVIEWER_SetOption 関数を呼び出します。

参照

SFYWebBrowserWidget::GetTextColor | SFYWebBrowserWidget::SetLinkColor | SFBHTMLViewer::SetOption | BREW API IHTMLVIEWER_SetOption


SFYWebBrowserWidget::SetTimeoutCallback
接続タイムアウトコールバックを設定します。
[ public ]
Void SetTimeoutCallback(
    SFXCallback::CallbackSPP spp   // コールバック関数
    VoidPtr reference              // コールバック関数に渡すデータ(参照値)
);

解説

この関数は、 通信開始から接続タイムアウト時間を過ぎても応答がない場合に呼び出されるコールバック関数を設定します。

コールバック関数を設定しなかった場合は、 SFXHTTPConnection::OnTimeoutDefault 関数が登録されていることになります。

SFXHTTPConnection::OnTimeoutDefault 関数は、以下の内部実装コードにあるように、 SFXHTTPConnection::Cancel 関数を呼び出して通信をキャンセルします。

/*private */XALLBACK_IMPLEMENT_SFXTIMER(SFXHTTPConnection, OnTimeoutDefault)
{
    Cancel();
    return;
}// XALLBACK_IMPLEMENT_SFXTIMER(SFXHTTPConnection, OnTimeoutDefault)
[Note] 注意

接続タイムアウト時間は、 SFYWebBrowserWidget::SetTimeoutMillisecond 関数を利用して設定します。

参照

SFYWebBrowserWidget::SetTimeoutMillisecond | SFXHTTPConnection::Cancel


SFYWebBrowserWidget::SetTimeoutMillisecond
接続タイムアウト時間を設定します 。[単位: ミリ秒]
[ public ]
Void SetTimeoutMillisecond(
    UInt32 msec   // 接続タイムアウト時間 [単位: ミリ秒]
);

解説

この関数は、 接続タイムアウト時間を設定します 。[単位: ミリ秒]

デフォルト値: 0(タイムアウト処理を行いません)

通信開始からタイムアウト時間を過ぎても応答がない場合、 SFYWebBrowserWidget::SetTimeoutCallback 関数で設定する接続タイムアウトコールバックが呼び出されます。

[Note] 注意

接続タイムアウト時間が 0 のとき、タイムアウト処理を行いません。

参照

SFYWebBrowserWidget::GetTimeoutMillisecond | SFYWebBrowserWidget::SetTimeoutCallback


SFYWebBrowserWidget::SetTrustMode
HTTPS 通信の SSL 認証モードを設定します。
[ public ]
SFCError SetTrustMode(
    UInt32 param   // SSL 認証モード
);

引数

param

以下の 4 種類の何れかの SSL 認証モードを指定します。

  • SSL_TRUST_MODE_FAIL: デフォルトです。認証エラーがあると接続が失敗します。
  • SSL_TRUST_MODE_CHECK: 認証エラーの場合、チェックまたは無効にできるように中断します。
  • SSL_TRUST_MODE_IGNORE: すべての認証エラーを無効にします。
  • SSL_TRUST_MODE_ALWAYS: 認証をチェックできるように常に中断します。

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でないとき: SFERR_INVALID_STATE

解説

この関数は、HTTPS 通信の SSL 認証モードを設定します(HTTPS 通信の場合に有効です)。

デフォルト値: SSL_TRUST_MODE_FAIL

設定可能な SSL 認証モードは、 以下の 4 種類です(参照: BREW API ISSL_NegotiateV)。

  • SSL_TRUST_MODE_FAIL: トラストエラーがあると接続が失敗します。[デフォルト]
  • SSL_TRUST_MODE_CHECK: トラストエラーの場合、チェックまたは無視できるように中断します。
  • SSL_TRUST_MODE_IGNORE: すべてのトラストエラーを無視します。
  • SSL_TRUST_MODE_ALWAYS: トラストをチェックできるように常に中断します。

設定された値は、 SFYWebBrowserWidget::Close 関数が呼び出されるまで有効です。

実機において、この値を変更した直後の SFYWebBrowserWidget::Navigate 関数の呼び出しでは SSL_RESULT_SERV_VERS エラーが発生することがあります。

エラーを避けるには、一度 SFYWebBrowserWidget::Close 関数を呼び出してからSSL 認証モードを設定し、 SFYWebBrowserWidget::Navigate 関数を呼び出します。

[Note] 注意

詳細情報: BREW API ISSL_NegotiateV

[Note] 注意

この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。

参照

SFYWebBrowserWidget::GetTrustMode | SFYWebBrowserWidget::Navigate | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close | BREW API ISSL_NegotiateV


SFYWebBrowserWidget::SetUserAgent
ユーザーエージェントを設定します。
[ public ]
SFCError SetUserAgent(
    SFXAnsiStringConstRef param   // ユーザーエージェント
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でないとき: SFERR_INVALID_STATE
  • メモリ不足のとき: SFERR_NO_MEMORY

解説

この関数は、HTTP/HTTPS 接続のユーザーエージェントを設定します。

設定された値は、 SFYWebBrowserWidget::Close 関数が呼び出されるまで有効です。

[Note] 注意
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。

参照

SFYWebBrowserWidget::GetUserAgent | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close | SFXAnsiString


SFYWebBrowserWidget::SetWebClassId
HTTP/HTTPS 接続を開く際の Web クラス ID を設定します。
[ public ]
Void SetWebClassId(
    AEECLSID id   // Web クラス ID
);

解説

HTTP/HTTPS 接続を開く際の Web クラス ID を設定します。

設定内容は、次回 SFYWebBrowserWidget::Open 関数を呼び出す際に有効になります。

デフォルト値は、AEECLSID_WEB です。

参照

SFYWebBrowserWidget::GetWebClassId | SFYWebBrowserWidget::Open


SFYWebBrowserWidget::Stop
レンダリングを行っている場合、その処理を中断します。
[ public ]
Void Stop(Void);

解説

この関数は、レンダリングを行っている場合、その処理を中断します。

[Note] 注意

レンダリング中以外ならば何も行いません。 表示済みの部分に対しては、影響を与えません。

参照

SFYWebBrowserWidget::~SFYWebBrowserWidget


SFYWebBrowserWidget::CodeEnum
SFYWebBrowserWidget クラスを表す定数です。
enum CodeEnum {
    CODE_TYPE = four_char_code('+', 'w', 'b', 'r')
};
SFMTYPEDEFTYPE(CodeEnum)

参照

SFYResponder::GetType | SFYResponder::SetType


SFYWebBrowserWidget::Notify
ビューアや通信コールバックから通知される構造体です。
[ public ]
SFMTYPEDEFSTRUCT(Extension)
struct Extension {
    SFXAnsiString       absoluteURL;
};

SFMTYPEDEFSTRUCT(Notify)
class Notify : public HViewNotify {
public:
    Extension           ex;
                        Notify          (HViewNotify const& hvNotify);
                        Notify          (NotifyConstRef notify);
};

// HViewNotify:  notification data
//
typedef struct {
    HVNotifyCode        code;           // notification code
    IHtmlViewer*        phv;            // identifies IHtmlViewer that sent the notification

    union {
      HViewJump         jump;           // HVN_JUMP
      HViewJump         submit;         // HVN_SUBMIT
      int               nDone;          // HVN_DONE
      HViewFocus        focus;          // HVN_FOCUS
    } u;
} HViewNotify;

#ifdef _WIN32
typedef unsigned HVNotifyCode;
#else
typedef int8 HVNotifyCode;
#endif

解説

この型は、 BREW API HViewNotify から派生しています。

SFEVT_RESPONDER_BROWSER_NOTIFY イベント(後述)の 32 ビット値が、この型のポインタ値となります。

Notify 構造体は、HViewNotify 構造体に Extension 構造体が追加された形になります。

ex.absoluteURL はリンク先にジャンプまたは、サブミットするとき (NOTIFY_JUMPSUBMIT) のみ使用され、ジャンプ先の絶対 URL を表します。

通信コールバックからの通知 (NOTIFY_RESPONSE) では、u.nDone に HTTP 通信の結果コードが格納されます。

その他の通知コールバック関数におけるメンバ変数の役割は、IHTMLViewer の BREW API HViewNotify の仕様に準じます。

ブラウザ通知イベント (SFEVT_RESPONDER_BROWSER_NOTIFY)

SFYWebBrowserWidget クラスは IHTMLViewer からの通知や、通信コールバック、および致命的なエラーが発生したときに SFEVT_RESPONDER_BROWSER_NOTIFY イベントを送信します。

このイベントを処理するには、以下のハンドラマクロを使用します。

例 892. ハンドラ宣言

XANDLER_DECLARE_VOIDBROWSERNOTIFY(FUNCTION)

表 250. 宣言マクロ引数

番号 内容 解説
1 関数名 ハンドラに用いるクラス関数名を表します。

例 893. ハンドラ実装

XANDLER_IMPLEMENT_VOIDBROWSERNOTIFY(CLASS, FUNCTION, invoker, reason, notify)
{
    switch (reason) {
        case SFYWebBrowserWidget::NOTIFY_DONE:
            // .. (省略) ..
            break;

        // .. (省略) ..
    }
}

表 251. 実装マクロ引数

番号 内容 解説
1 クラス名 ハンドラが所属するクラス名を表します。
2 関数名 ハンドラに用いるクラス関数名を表します。
3 SFYResponderPtr 型変数名 ハンドラの呼び出し元レスポンダを表します。
4 UInt16 型変数名 ブラウザ通知コード (SFYWebBrowserWidget::NotifyEnum) を表します。
5 NotifyPtr ブラウザ通知構造体 (SFYWebBrowserWidget::Notify) のポインタ値を表します。

参照

SFYWebBrowserWidget::NotifyEnum | BREW API HViewNotify | BREW API WEB_ERROR_SUCCEEDED | BREW API WEB_ERROR_MAP


SFYWebBrowserWidget::NotifyEnum
IHTMLViewer からの通知や通信コールバックからの通知を表す定数です。
enum NotifyEnum {
    NOTIFY_RESPONSE = 0,    // 通信コールバックからの通知
    NOTIFY_DONE,            // レンダリングが完了した通知
    NOTIFY_JUMP_SUBMIT,     // リンク先にジャンプまたはサブミットする通知
    NOTIFY_FOCUS,           // フォーカス移動が起こった通知
    NOTIFY_PAGE_DONE,       // ページ読み込みが完了した通知
    NOTIFY_CONTENT_DONE,    // コンテンツ読み込みが完了した通知
    NOTIFY_FATAL_ERROR      // 致命的エラーが発生した通知
};
SFMTYPEDEFTYPE(NotifyEnum)

解説

NOTIFY_RESPONSE と NOTIFY_FATAL_ERROR 以外は、IHTMLViewer からの通知を表します。

NOTIFY_FATAL_ERROR が通知されたときは、これ以上処理の継続が不可能なため、SFYWebBrowserWidget インスタンスを終了する必要があります。

使用例

SFYWebBrowserWidgetSmp browser;

browser = SFYWebBrowserWidget::NewInstance();
browser->SetParent(GetThis());
browser->RegisterHandler(
    SFXEventRange(SFEVT_RESPONDER_BROWSER_NOTIFY, SFEVT_RESPONDER_BROWSER_NOTIFY, SFP16_BEGIN, SFP16_END),
    XANDLER_INTERAL(OnBrowserNotify)
);
browser->SetState(true, true, true, true);

XANDLER_IMPLEMENT_VOIDBROWSERNOTIFY(UserWindow, OnBrowserNotify, invoker, reason, notify)
{
    switch(reason) {
        case SFYWebBrowserWidget::NOTIFY_RESPONSE:
            // 通信コールバックの通知
            break;
        case SFYWebBrowserWidget::NOTIFY_DONE:
            // ページ読み完了の通知
            break;
        case SFYWebBrowserWidget::NOTIFY_JUMP_SUBMIT:
            // リンク先にジャンプ、またはサブミットする通知
            break;

        // .. (省略) ..

    }
    return;
}