SophiaFramework UNIVERSE 5.3 |
#include <SFYWebBrowserWidget.h.hpp>
class SFYWebBrowserWidget : public SFYWidget;
SFMTYPEDEFRESPONDER(SFYWebBrowserWidget)
■ 仕様と使い方
SFYWebBrowserWidget クラスは、以下の簡易ウェブブラウズ機能を備えるウィジェットです。
SFYWebBrowserWidget クラスの HTML レンダリングに関する機能は BREW API IHtmlViewer を使用して実装されています。
HTTP/HTTPS 接続のタイムアウト | |
---|---|
接続時のタイムアウトを行うには、SFYWebBrowserWidget::SetTimeoutCallback 関数でコールバックを登録し、SFYWebBrowserWidget::SetTimeoutMillisecond 関数でタイムアウトの時間を設定します。 |
致命的なエラー | |
---|---|
通知コールバック中やレジューム時などで処理を継続できない致命的なエラーが発生したとき、(SFEVT_RESPONDER_BROWSER_NOTIFY, NOTIFY_FATAL_ERROR) イベントが発生します。 このイベントを受信したとき、SFYWebBrowserWidget インスタンスを終了する等の処理を記述する必要があります。 |
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; }
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 から継承)
垂直方向のアライメントを表す定数です。
|
[ protected, explicit ] SFYWebBrowserWidget(Void);
このコンストラクタは、IHTMLViewer インスタンスを作成する等の初期化処理を行います。
[ protected, virtual ] ~SFYWebBrowserWidget(Void);
HTML レンダリングを中止し、HTTP/HTTPS 接続を閉じ、内部で保持する IHTMLViewer インスタンスを解放します。
[ public ] Bool AdjustViewer(Void);
この関数は内部で保持する IHTMLViewer オブジェクトの領域を調整します。
通常は、実領域または仮想領域が変更されたときに自動的に呼び出されるため呼び出す必要がありません。
その他の要因で自身のレスポンダのグローバル領域が変更される場合は、明示的な呼び出しが必要です。
[ public ] Void Cancel(Void);
この関数は、Web サーバーへの接続をキャンセルします。その際、接続タイムアウトのタイマーもキャンセルされます。
この関数は、HTTP/HTTPS 接続が SFXHTTPConnection::STATE_CONNECT の状態のときに有効です。
この関数は、SFYWebBrowserWidget::Close 関数の内部からも呼び出されます。
[ public ] Void ClearHistory(Void);
この関数は、履歴リストを空にします。
[ public ] Void Close(Void);
この関数は、HTTP/HTTPS 接続を閉じます。
HTTP/HTTPS 接続の状態は、SFXHTTPConnection::STATE_CLOSE になります。
[ public, const ] SInt32 FindElement( ACharConstPtr element // 検索する要素名 SInt32 no // 取得する要素の番号 );
検索する要素名を指定します。
検索する要素の何番目の位置を取得するかを指定します。
0 を指定すると、element 引数の名前と一致する最初の要素の位置を返します。 n を指定すると、 element 引数の名前と一致する n + 1 番目の要素の位置を返します。
この関数は、現在表示中のページから、指定された要素を検索します。
注意 | |
---|---|
この関数は、内部で SFBHTMLViewer::FindElem 関数( BREW API IHTMLVIEWER_FindElem)を呼び出します。 |
Tip | |
---|---|
戻り値(要素の位置)は、SFYWebBrowserWidget::GetElementText 関数で使用します。 |
[ public, const ] SFXAnsiStringConstRef GetBaseUrl(Void);
Basic 認証の基準 URL
[ public, const ] SFXAnsiStringConstRef GetContentEncoding(Void);
HTTP レスポンスヘッダーの Content-Encoding フィールドの値
この関数は、HTTP/HTTPS 接続の HTTP レスポンスヘッダーの Content-Encoding フィールドの値を取得します。 HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 空文字列(SFXAnsiString::EmptyInstance())を返します。
[ public, const ] SInt32 GetContentLength(Void);
HTTP レスポンスヘッダーの Content-Length フィールドの値
この関数は、HTTP/HTTPS 接続の HTTP レスポンスヘッダーの Content-Length フィールドの値を取得します。
HTTP レスポンスヘッダーに Content-Length フィールドが存在しない場合、または HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 -1 を返します。
[ public, const ] SFXAnsiStringConstRef GetContentType(Void);
HTTP レスポンスヘッダーの Content-Type フィールド
この関数は、HTTP/HTTPS 接続の HTTP レスポンスヘッダーの Content-Type フィールドを取得します。
HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 空文字列(SFXAnsiString::EmptyInstance) を返します。
[ public, const ] SFXAnsiStringConstRef GetCurrentTitle(Void);
現在表示しているページのタイトル。
この関数は、現在表示しているページのタイトルを取得します。
[ public, const ] SFXAnsiStringConstRef GetCurrentURL(Void);
現在表示しているページの URL。
この関数は、現在表示しているページの URL を取得します。
[ public, const ] SFXDate GetDate(Void);
HTTP レスポンスヘッダーの Date フィールドの値(SFXDate)
この関数は、HTTP/HTTPS 接続の HTTP レスポンスヘッダーの Date フィールドの値(SFXDate)を取得します。
HTTP レスポンスヘッダーに Date フィールドが存在しない場合、 または HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、SFXDate(0) を返します。
[ public, const ] SFXAnsiString GetElementText( SInt32 elementIndex // 要素の位置 );
要素の位置を指定します。 この引数には、 SFYWebBrowserWidget::FindElement 関数の戻り値を指定します。
指定された要素の内容。
この関数は、現在表示しているページから指定された要素の内容を取得します。
要素の中身がない場合は空文字列 SFXAnsiString::EmptyInstance() を返します。
注意 | |
---|---|
この関数は、内部で SFBHTMLViewer::GetElemText 関数( BREW API IHTMLVIEWER_GetElemText)を呼び出します。 |
SFYWebBrowserWidget::FindElement | SFXAnsiString::EmptyInstance | SFBHTMLViewer::GetElemText | BREW API IHTMLVIEWER_GetElemText
[ public, const ] SFXDate GetExpires(Void);
HTTP レスポンスヘッダーの Expires フィールドの値 (SFXDate)
この関数は、HTTP/HTTPS 接続の HTTP レスポンスヘッダーの Expires フィールドの値(SFXDate)を取得します。 HTTP レスポンスヘッダーに Expires フィールドが存在しない場合、 または HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 SFXDate(0) を返します。
[ public, const ] SInt32 GetIndent(Void);
インデントの幅。[単位: ピクセル]
この関数は、HTML 表示のインデントの幅を取得します。[単位: ピクセル]
注意 | |
---|---|
この関数は、内部で引数のオプション ID に "HVOPT_N_INDENT" を指定して BREW API IHTMLVIEWER_GetOption 関数を呼び出します。 |
[ public, const ] SFXDate GetLastModified(Void);
HTTP レスポンスヘッダーの Last-Modified フィールドの値 (SFXDate)
この関数は、HTTP/HTTPS 接続の HTTP レスポンスヘッダーの Last-Modified フィールドの値 (SFXDate) を取得します。
HTTP レスポンスヘッダーに Last-Modified フィールドが存在しない場合、または HTTP 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、SFXDate(0) を返します。
[ public, const ] SFXRGBColor GetLinkColor(Void);
リンク文字列の表示色。
この関数は、HTML 表示のリンクの文字の表示色を取得します。
注意 | |
---|---|
この関数は、内部で引数のオプション ID に "HVOPT_RGB_LINK" を指定して BREW API IHTMLVIEWER_GetOption 関数を呼び出します。 |
SFYWebBrowserWidget::SetLinkColor | SFYWebBrowserWidget::GetTextColor | SFBHTMLViewer::GetOption | BREW API IHTMLVIEWER_GetOption
[ public, const ] SFXAnsiStringConstRef GetMethod(Void);
HTTP リクエストメソッド
この関数は、SFYWebBrowserWidget::SetMethod 関数で設定した、HTTP/HTTPS 接続の HTTP リクエストメソッドを取得します。
HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、空文字列(SFXAnsiString::EmptyInstance())を返します。
[ public, const ] SInt32 GetParagraphSpacing(Void);
段落間の行間の長さ。[単位: ピクセル]
この関数は、HTML 表示の段落間の行間の長さを取得します。[単位: ピクセル]
注意 | |
---|---|
この関数は、内部で引数のオプション ID に "HVOPT_N_VSPACE" を指定して BREW API IHTMLVIEWER_GetOption 関数を呼び出します。 |
SFYWebBrowserWidget::SetParagraphSpacing | SFBHTMLViewer::GetOption | BREW API IHTMLVIEWER_GetOption
[ public, const ] SFXAnsiStringConstRef GetPassword(Void);
Basic 認証のパスワード
[ public, const ] SFXSocketAddressConstRef GetProxyServer(Void);
HTTP/HTTPS 接続のプロキシサーバー(SFXSocketAddress)
この関数は、SFXHTTPConnection::SetProxyServer 関数で設定した、HTTP/HTTPS 接続のプロキシサーバー(SFXSocketAddress)を取得します。
HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、またはプロキシサーバーが設定されていない場合、SFXSocketAddress::EmptyInstance() を返します。
[ public, const ] SFBSourceSmpConstRef GetRequestContent(Void);
HTTP リクエストボディを管理する SFBSource インスタンス
この関数は、SFXHTTPConnection::SetRequestContent 関数を使用して設定した、HTTP/HTTPS 接続の HTTP リクエストボディを管理する SFBSource インスタンスを取得します。
HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、または何も設定されていない場合、SFBSourceSmp::EmptyInstance() の参照を返します。
[ public, const ] UInt32 GetRequestFlag(Void);
HTTP リクエストフラグ
この関数は、SFYWebBrowserWidget::SetRequestFlag 関数で設定した、 HTTP リクエストフラグを取得します。
HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 0 を返します。
[ public, const ] SFXAnsiStringConstRef GetRequestHeader( SFXAnsiStringConstRef key // フィールド名 );
[ public, const ] SFXPropertyConstRef GetRequestHeader(Void);
HTTP リクエストヘッダー
この関数は、HTTP リクエストヘッダーを取得します。 フィールド名を指定して個別に取得することも可能です。 引数に何も指定しない場合は、全ての HTTP リクエストヘッダーを取得します。
HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、、 空文字列(SFXAnsiString::EmptyInstance())、または 空のプロパティ(SFXProperty::EmptyInstance()) を返します。
[ public, const ] SFBSourceSmpConstRef GetResponseContent(Void);
HTTP レスポンスボディを管理する SFBSource インスタンス
この関数は、HTTP/HTTPS 接続の HTTP レスポンスボディを管理する SFBSource インスタンスを取得します。
HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 SFBSourceSmp::EmptyInstance() を返します。
Tip | |
---|---|
HTTP/HTTP 接続確立後、この関数を使用して HTTP レスポンスボディを取得することが可能です。 |
注意 | |
---|---|
SFYWebBrowserWidget::GetStreamReader 関数は、 SFYWebBrowserWidget::GetResponseContent 関数の戻り値である SFBSource インスタンスからストリームを取得しています。 |
HTTP レスポンスボディの読み込み | |
---|---|
SFYWebBrowserWidget::GetResponseContent 関数を使用して HTTP レスポンスボディを読み込む場合は、 SFYWebBrowserWidget::GetStreamReader 関数を使えません。 逆に、SFYWebBrowserWidget::GetStreamReader 関数を使用して HTTP レスポンスボディを読み込む場合は、 SFYWebBrowserWidget::GetResponseContent 関数を使えません。 |
[ public, const ] UInt32 GetResponseFlag(Void);
HTTP レスポンスフラグ
この関数は、HTTP/HTTPS 接続の HTTP レスポンスフラグを取得します。
HTTP レスポンスフラグは、以下のフラグの論理和として表現されます。
HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 0 を返します。
SFYWebBrowserWidget::SetRequestFlag | SFYWebBrowserWidget::Navigate | SFBWebResp | BREW API IWEBRESP_GetOpt
[ public, const ] SFXAnsiStringConstRef GetResponseHeader( SFXAnsiStringConstRef key // フィールド名 );
[ public, const ] SFXPropertyConstRef GetResponseHeader(Void);
HTTP レスポンスヘッダー
この関数は、HTTP レスポンスヘッダーを取得します。 フィールド名を指定して個別に取得することも可能です。 引数に何も指定しない場合は、全ての HTTP レスポンスヘッダーを取得します。
HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 空文字列(SFXAnsiString::EmptyInstance())、 空のプロパティ(SFXProperty::EmptyInstance())を返します。
[ 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() に渡すことによって操作が成功したかどうか判定できます。
注意 | |
---|---|
WEB_ERROR エラーコードの詳細については、 AEEError.h を参照してください。 |
SFYWebBrowserWidget::Navigate | BREW API WebRespInfo | BREW API WEB_ERROR_MAP | BREW API WEB_ERROR_SUCCEEDED
[ public, const ] SFBWebSmpConstRef GetSFBWeb(Void);
内部で使用される SFBWeb インスタンス
この関数は、このコントロールが内部で保持する BREW API IWeb インターフェースを取得します。
BREW API IWeb インターフェースが設定されていない場合は、null を返します。
WebOpt 指定時の注意 | |
---|---|
他の用途で利用するまでは、IWeb インターフェースに設定した WebOpt データを保持する必要があります。 詳しくは、BREW API リファレンス、IWeb インターフェースの「 WEBOPT の寿命に関する注意事項 」を参照してください。 |
サスペンド時の振る舞い | |
---|---|
サスペンドしたとき、WebOpt の情報はリセットされ IWeb インターフェースを内部で作成する設定(デフォルト状態)に戻ります。 サスペンド前の IWeb インターフェースを使うには、レジューム時に WebOpt データを再設定する必要があります。 |
[ public, const ] SFBWebRespSmpConstRef GetSFBWebResp(Void);
この HTTP/HTTPS 接続が内部で管理する SFBWebResp インスタンス
この関数は、HTTP/HTTPS 接続が内部で管理する SFBWebResp インスタンスを取得します。
[ public, const ] SInt32 GetScrollbarWidth(Void);
スクロールバーの幅。[単位: ピクセル]
この関数は、HTML 表示のスクロールバーの幅を取得します。[単位: ピクセル]
注意 | |
---|---|
この関数は、内部で引数のオプション ID に "HVOPT_N_SBWIDTH" を指定して BREW API IHTMLVIEWER_GetOption 関数を呼び出します。 |
SFYWebBrowserWidget::SetScrollbarWidth | SFBHTMLViewer::GetOption | BREW API IHTMLVIEWER_GetOption
[ public ] SFCError GetStreamReader( UInt32 size // バッファサイズ SFXStreamReaderPtr result // データ受信用ストリームへのポインタ );
[ public ] SFCError GetStreamReader( SFXStreamReaderPtr result // データ受信用ストリームへのポインタ );
この関数は、HTTP/HTTPS 接続の HTTP レスポンスボディを読み込むためのデータ受信用ストリームを取得します。
size 引数を指定する場合、ストリームバッファは指定したサイズで固定です。 指定しない場合は、ストリームバッファは可変長になり、 内部的に SFXElasticStreamReader クラスが利用されます。
Tip | |
---|---|
データ受信用ストリームは、受信するデータの種類に応じて SFXBinaryStreamReader、 SFXAnsiStringStreamReader、または SFXWideStringStreamReader クラスを使い分けます。 |
注意 | |
---|---|
SFYWebBrowserWidget::GetStreamReader 関数を使用して取得するストリームは、 SFYWebBrowserWidget::GetResponseContent 関数の戻り値である SFBSource インスタンスから取得しています。 |
HTTP レスポンスボディの読み込み | |
---|---|
SFYWebBrowserWidget::GetResponseContent 関数を使用して HTTP レスポンスボディを読み込む場合は、 SFYWebBrowserWidget::GetStreamReader 関数を使えません。 逆に、SFYWebBrowserWidget::GetStreamReader 関数を使用して HTTP レスポンスボディを読み込む場合は、 SFYWebBrowserWidget::GetResponseContent 関数を使えません。 |
注意 | |
---|---|
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。 |
SFYWebBrowserWidget::GetResponseContent | SFYWebBrowserWidget::GetStreamWriter | SFYWebBrowserWidget::Navigate | SFXBinaryStreamReader | SFXAnsiStringStreamReader | SFXWideStringStreamReader | ストリームバッファ
[ public ] SFCError GetStreamWriter( UInt32 size // バッファサイズ SFXStreamWriterPtr result // データ送信用ストリームへのポインタ );
[ public ] SFCError GetStreamWriter( SFXStreamWriterPtr result // データ送信用ストリームへのポインタ );
この関数は、この HTTP 接続の HTTP リクエストボディにデータを書き込むためのデータ送信用ストリームを取得します。
size 引数を指定する場合、ストリームバッファは指定したサイズで固定です。 指定しない場合は、ストリームバッファは可変長になり、 内部的に SFXElasticStreamWriter クラスが利用されます。
Tip | |
---|---|
データ送信用ストリームは、送信するデータの種類に応じて SFXBinaryStreamWriter、 SFXAnsiStringStreamWriter、または SFXWideStringStreamWriter クラスを使い分けます。 |
Tip | |
---|---|
SFYWebBrowserWidget::GetStreamWriter 関数を使用してデータを送信する場合、 一旦ヒープ上に HTTP リクエストボディが作成されるため、 送信可能なデータサイズは携帯電話に搭載されているメモリ容量に依存することになります。 SFYWebBrowserWidget::SetRequestContent 関数を使用してファイルストレージ(SFXFile)を設定すると、 ファイルから直接ネットーワークへデータが送信可能となり、大きなサイズのデータを送信できます。 |
HTTP リクエストボディの作成 | |
---|---|
SFYWebBrowserWidget::SetRequestContent 関数を使用して HTTP リクエストボディを作成する場合は、 SFYWebBrowserWidget::GetStreamWriter 関数を使えません。 逆に、SFYWebBrowserWidget::GetStreamWriter 関数を使用して HTTP リクエストボディを作成する場合は、 SFYWebBrowserWidget::SetRequestContent 関数を使えません。 |
注意 | |
---|---|
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。 |
SFYWebBrowserWidget::GetStreamReader | SFYWebBrowserWidget::SetRequestContent | SFYWebBrowserWidget::Open | SFXBinaryStreamWriter | SFXAnsiStringStreamWriter | SFXWideStringStreamWriter | ストリームバッファ
[ public, const ] SFXRGBColor GetTextColor(Void);
HTML 表示のテキストの表示色。
この関数は、HTML 表示のテキストの表示色を取得します。
注意 | |
---|---|
この関数は、内部で引数のオプション ID に "HVOPT_RGB_TEXT" を指定して BREW API IHTMLVIEWER_GetOption 関数を呼び出します。 |
SFYWebBrowserWidget::SetTextColor | SFYWebBrowserWidget::GetLinkColor | SFBHTMLViewer::GetOption | BREW API IHTMLVIEWER_GetOption
[ public, const ] UInt32 GetTimeoutMillisecond(Void);
接続タイムアウト時間 [単位: ミリ秒]
この関数は、 接続タイムアウト時間を取得します。 [単位: ミリ秒]
[ public, const ] UInt32 GetTrustMode(Void);
SSL 認証モード
この関数は、HTTPS 通信の SSL 認証モードを取得します。
HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 0 を返します。
以下の 4 種類の SSL 認証モードの何れかが返却されます。
[ public, const ] SFXAnsiStringConstRef GetUser(Void);
ユーザー名
[ public, const ] SFXAnsiStringConstRef GetUserAgent(Void);
ユーザーエージェント
この関数は、HTTP/HTTPS 接続のユーザーエージェントを取得します。
HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でない場合、 空文字列(SFXAnsiString::EmptyInstance()) を返します。
[ public, const ] AEECLSID GetWebClassId(Void);
Web クラス ID
HTTP/HTTPS 接続を開く際の Web クラス ID を取得します。
デフォルト値は、AEECLSID_WEB です。
[ protected, virtual ] Void HandleBoundReal(Void);
この関数は、領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL, rectangle)] を受信したときに呼び出されます。
実領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は、仮想領域を実領域に一致させます。
領域イベント[(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベント] | |
---|---|
SFYResponder::SetRealBound 関数は、この関数内の処理により実領域が変化すると、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL, rectangle)] をレスポンダに送信します。 SFYWidget クラスを継承するレスポンダが領域イベントを受信すると、 SFYWidget::SFYWidget コンストラクタで最初に登録した領域イベント専用ハンドラの処理により、 SFYWidget::HandleBoundReal 仮想関数が呼び出されます。 ※ 領域イベントの P32 パラメータ rectangle には変更後の実領域が設定されています。 |
実領域が変化した時の処理 | |
---|---|
SFYWidget::HandleBoundReal 仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。 実領域の変更処理は、最初に SFYWidget::HandleBoundReal 仮想関数を実行し、 次に領域イベント専用ハンドラを登録した順に実行して行われます。 |
この関数の内部実装は以下の通りです。
/*protected virtual */Void SFYControl::HandleBoundReal(Void) { SetVirtualBound(SFXRectangle(SFXGrid::ZeroInstance(), GetRealBound().GetSize())); return; }// SFYControl::HandleBoundReal //
[ protected, virtual ] Void HandleBoundVirtual(Void);
この関数は、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL, rectangle)] を受信したときに呼び出されます。
仮想領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は、SFYWebBrowserWidget::AdjustViewer 関数を呼び出します。
領域イベント[(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 には変更後の仮想領域が設定されています。 |
仮想領域の変更処理 | |
---|---|
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]
[ protected, virtual, const ] Void HandleRenderRequest( SFXGraphicsPtr graphics // グラフィックスオブジェクト );
この関数は、 描画イベント [SFXEvent(SFEVT_RESPONDER_RENDER, SFP16_RENDER_REQUEST, graphics)] を受信したときに呼び出されます。
レスポンダの描画処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は、内部で保持する IHTMLViewer インスタンスがアクティブであれば、IHTMLViewer_Redraw() 関数を呼び出したのちスナップショット画像を取得します。 アクティブでなければ、スナップショット画像を描画します。
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 関数を使用して設定した背景色(デフォルト値: 白色)で塗り潰されます。 |
レスポンダの描画手順 | |||||
---|---|---|---|---|---|
|
この関数の内部実装は以下の通りです。
/*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] | 描画処理 | イベントループ | レスポンダツリー
[ public, const ] Bool IsBusy(Void);
この関数は、通信中またはレンダリング中であるかどうかを判定をします。
[ public, const ] Bool IsInlineEditEnable(Void);
この関数は、文字をインラインで入力する設定であるかどうかを判定します。
[ public, const ] Bool IsScrollbarEnable(Void);
この関数は、スクロールバーがあるかどうかを判定をします。
[ 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 );
HTML 文書とみなすソースです。
HTML 文書とみなすストリームです。
HTML 文書とみなす文字列です。
基準となる URL です。 HTML 文書内にある相対 URL 表記は、 この引数で指定された URL からの相対パスと解釈されます。
この関数は、指定された HTML 文書を読み込み、レンダリングを開始します。
注意 | |
---|---|
インライン画像は取得できしだい表示されます。 HTTP 接続を要するインライン画像を読み込む可能性があるので、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN でなければなりません。 |
SFYWebBrowserWidget::Navigate | SFYWebBrowserWidget::Notify | SFYWebBrowserWidget::IsBusy | SFYWebBrowserWidget::Stop
[ public ] SFCError LoadCertificate( SInt32 kind // 証明書の種類 SFXPathConstRef path // 証明書のファイルパス );
[ public ] SFCError LoadCertificate( SInt32 kind // 証明書の種類 SFXBufferConstRef buffer // 証明書のバッファ );
証明書の種類: WEBOPT_X509_ROOT_CERT, WEBOPT_X509_LEAF_CERT, WEBOPT_X509_BRANCH_CERT のいずれか
ASN.1/DER 形式の証明書のファイルパス
ASN.1/DER 形式の証明書のバッファ
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/");
}
}
}
}
[ public ] SFCError Navigate( SFXAnsiStringConstRef url // 開く URL );
HTTP アクセスする URL を指定します。
スキームは http、https、file と res がサポートされています。
この関数は、指定された URL のページを取得して、レンダリングを開始します。
この関数を呼び出す前に、SFYWebBrowserWidget::Open 関数で接続を開いて、SFYWebBrowserWidget::SetMethod 関数で HTTP メソッドを設定する必要があります。
また、HTTP メッセージのリクエストコンテンツを利用するときは、SFYWebBrowserWidget::SetRequestContent 関数で事前に設定します。
注意 | |
---|---|
HTML データとインライン画像の読み込みは任意のタイミングで行われ、 取得できしだい表示に反映されます。 |
通信に関するエラー | |
---|---|
通信に関するエラーは戻り値では取得できません。 通信に関するエラーを取得する場合は、(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/"); } } }
[ public, static ] SFYWebBrowserWidgetSmp NewInstance( SFCErrorPtr exception = null // エラー値 );
関数内部で発生したエラー値を返します。
この関数は、SFYWebBrowserWidget クラスの新しいインスタンスを作成します。
インスタンスの作成に成功した場合は null 以外のポインタを返します。 失敗した場合は、null ポインタを返します。
exception 引数を指定した場合、 この引数にはエラー値が返ります。
以下は、ウェブブラウザウィジェットのインスタンスを生成するためのコードです。
// ウェブブラウザウィジェットのインスタンスを生成する SFYWebBrowserWidgetSmp _browser; SFCError error; if ((_browser = SFYWebBrowserWidget::NewInstance(&error)) != null) { // ... }
履歴をいくつ進むかを指定します。 省略時は履歴を 1 つ進みます。
この関数は、指定された値だけ履歴を進み、ページを再取得しレンダリングします。
注意 | |
---|---|
引数に負の値を指定すると、絶対値の数だけ履歴を戻ります。 指定された数が履歴リストから外れる場合はエラーとなり、 戻り値として SFERR_INVALID_PARAM を返します。 |
通信に関するエラー | |
---|---|
通信に関するエラーは戻り値では取得できません。 通信に関するエラーを取得する場合は、(SFEVT_RESPONDER_BROWSER_NOTIFY, NOTIFY_RESPONSE) イベントを処理します。 |
[ public ] SFCError Open(Void);
この関数は、HTTP/HTTPS 接続を開きます。
HTTP/HTTPS 接続の状態は、SFXHTTPConnection::STATE_OPEN になります。
HTTP/HTTPS 接続の状態が既に SFXHTTPConnection::STATE_OPEN だった場合は何も処理を行いません。エラー値は SFERR_NO_ERROR が返ります。
SFYWebBrowserWidget::Navigate 関数や、SFYWebBrowserWidget::Load 関数で実際にページを開く前にこの関数を呼び出す必要があります。
履歴をいくつ戻るかを指定します。 省略時は履歴を 1 つ戻ります。
この関数は、指定された値だけ履歴を戻り、ページを再取得しレンダリングします。
注意 | |
---|---|
引数に負の値を指定すると、絶対値の数だけ履歴を進みます。 指定された数が履歴リストから外れる場合はエラーとなり、 戻り値として SFERR_INVALID_PARAM を返します。 |
通信に関するエラー | |
---|---|
通信に関するエラーは戻り値では取得できません。 通信に関するエラーを取得する場合は、(SFEVT_RESPONDER_BROWSER_NOTIFY, NOTIFY_RESPONSE) イベントを処理します。 |
[ public ] Void Reload(Void);
この関数は、現在表示しているページを再取得して再描画します。
注意 | |
---|---|
現在表示しているページが、 SFYWebBrowserWidget::Load 関数か、 POST メソッド使用した SFYWebBrowserWidget::Navigate 関数によるものである場合、 再描画に失敗します。 |
[ public ] SFCError SetAuthorizeData( SFXAnsiStringConstRef user // ユーザー名 SFXAnsiStringConstRef passwd // パスワード SFXAnsiStringConstRef url // HTTP ベーシック認証の開始 URL );
ユーザー名を指定します。
パスワードを指定します。
URL を指定します。 この URL から始まるページが、認証の対象となります。
この関数は、HTTP ベーシック認証の情報を設定します。
この関数を実行した後、 url 引数に指定した URL で始まるページへのアクセスは、 指定された認証情報を持つヘッダーをつけて行われます。
HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときのみ呼び出しが成功します。
認証情報の設定を解除する時は、空文字列を指定してこの関数を呼び出します。
また、 url 引数に指定した URL で始まらないページをアクセスした場合、 認証情報は使用されません。
注意 | |
---|---|
戻り値が SFERR_NO_ERROR 以外の場合は、ベーシック認証は行われません。 |
インデントの幅を指定します。[単位: ピクセル]
この関数は、HTML 表示のインデントの幅を設定します。[単位: ピクセル]
注意 | |
---|---|
この関数は、内部で引数のオプション ID に "HVOPT_N_INDENT" を指定して BREW API IHTMLVIEWER_SetOption 関数を呼び出します。 |
フォームでの文字入力方法を指定します。
この関数は、HTML 表示の文字入力をインラインにするか、フルスクリーンにするかを設定します。
注意 | |
---|---|
この関数は、内部で BREW API IHTMLVIEWER_SetProperties 関数を呼び出します。 |
SFYWebBrowserWidget::IsInlineEditEnable | SFBControl::SetProperties | BREW API IHTMLVIEWER_SetProperties
[ public ] SFCError SetLinkColor( SFXRGBColorConstRef color // リンク色 );
リンク文字列の表示色を指定します。
この関数は、HTML 表示のリンク文字列の表示色を設定します。
注意 | |
---|---|
この関数は、内部で引数のオプション ID に "HVOPT_RGB_LINK" を指定して BREW API IHTMLVIEWER_SetOption 関数を呼び出します。 |
SFYWebBrowserWidget::GetLinkColor | SFYWebBrowserWidget::SetTextColor | SFBHTMLViewer::SetOption | BREW API IHTMLVIEWER_SetOption
[ public ] SFCError SetMethod( SFXAnsiStringConstRef param // HTTP リクエストメソッド );
この関数は、HTTP/HTTPS 接続の HTTP リクエストメソッドを設定します。
引数には、"GET"、"POST"、"HEAD" など BREW の IWeb インターフェースが対応している HTTP リクエストメソッドを指定できます。
デフォルト値: "GET"
設定された値は、 SFYWebBrowserWidget::Close 関数が呼び出されるまで有効です。
注意 | |
---|---|
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。 |
SFYWebBrowserWidget::GetMethod | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close | SFXAnsiString | BREW API IWeb
段落間の行間の長さを指定します。[単位: ピクセル]
この関数は、HTML 表示の段落間の行間の長さを設定します。[単位: ピクセル]
注意 | |
---|---|
この関数は、内部で引数のオプション ID に "HVOPT_N_VSPACE" を指定して BREW API IHTMLVIEWER_SetOption 関数を呼び出します。 |
SFYWebBrowserWidget::GetParagraphSpacing | SFBHTMLViewer::SetOption | BREW API IHTMLVIEWER_SetOption
[ public ] SFCError SetProxyServer( SFXSocketAddressConstRef param // プロキシサーバー );
この関数は、HTTP/HTTPS 接続のプロキシサーバー(SFXSocketAddress)を設定します。
設定された値は、 SFYWebBrowserWidget::Close 関数が呼び出されるまで有効です。
注意 | |
---|---|
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。 |
SFYWebBrowserWidget::GetProxyServer | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close | SFXSocketAddress
[ 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 // ソースの長さ );
この関数は、 HTTP/HTTPS 接続の HTTP リクエストボディにストレージまたはソースを設定します。
引数にファイルストレージまたはメモリストレージだけを指定したとき、 そのストレージ全体の長さが自動的に設定されます。
length 引数を指定する場合、 ストレージまたはソースの現在の読み書きポインタの位置から指定した長さ分のデータが HTTP リクエストボディに設定されます。
Tip | |
---|---|
SFYWebBrowserWidget::SetRequestContent 関数を使用してファイルストレージ(SFXFile)を設定すると、 ファイルから直接ネットーワークへデータが送信可能となり、 大きなサイズのデータを送信できます。 SFYWebBrowserWidget::GetStreamWriter 関数を使用してデータを送信する場合、 一旦ヒープ上に HTTP リクエストボディが作成されるため、 送信可能なデータサイズは携帯電話に搭載されているメモリ容量に依存することになります。 |
HTTP リクエストボディの作成 | |
---|---|
SFYWebBrowserWidget::SetRequestContent 関数を使用して HTTP リクエストボディを作成する場合は、 SFYWebBrowserWidget::GetStreamWriter 関数を使えません。 逆に、SFYWebBrowserWidget::GetStreamWriter 関数を使用して HTTP リクエストボディを作成する場合は、 SFYWebBrowserWidget::SetRequestContent 関数を使えません。 |
設定された値は、 SFYWebBrowserWidget::Close 関数が呼び出されるまで有効です。
注意 | |
---|---|
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。 |
注意 | |
---|---|
SFYWebBrowserWidget::SetRequestContent 関数は、 SophiaFramework UNIVERSE 5.1.11 以降有効です。 |
SFYWebBrowserWidget::GetRequestContent | SFYWebBrowserWidget::GetStreamWriter | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close | SFBSource | SFXStorage
この関数は、HTTP/HTTPS 接続の HTTP リクエストフラグを設定します。
注意 | |
---|---|
HTTP リクエストフラグは、内部的に IWEB_GetResponse 関数に渡されます。 |
具体的には、以下のフラグの論理和として設定します。
設定された値は、 SFYWebBrowserWidget::Close 関数が呼び出されるまで有効です。
注意 | |
---|---|
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。 |
SFYWebBrowserWidget::GetRequestFlag | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close | BREW API IWEB_GetResponse
[ public ] SFCError SetRequestHeader( SFXAnsiStringConstRef key // ヘッダーの名前 SFXAnsiStringConstRef value // ヘッダーの値 );
この関数は、HTTP/HTTPS 接続の HTTP リクエストヘッダーを設定します。
同一の key で複数回呼ばれた場合は、すべて記憶してリクエスト時に送信されます。
設定された値は、 SFYWebBrowserWidget::Close 関数を呼び出すまで有効です。
注意 | |
---|---|
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。 |
スクロールバーの有無を指定します。
この関数は、スクロールバーの有無を設定します。
注意 | |
---|---|
この設定で表示されるスクロールバーは、 SophiaFramework UNIVERSE で実装されているものではなく、 BREW API IHtmlViewer インターフェースのスクロールバーです。 |
SFYWebBrowserWidget::IsScrollbarEnable | SFBControl::SetProperties | BREW API IHTMLVIEWER_SetProperties
スクロールバーの幅を指定します。[単位: ピクセル]
この関数は、HTML 表示のスクロールバーの幅を設定します。[単位: ピクセル]
注意 | |
---|---|
この関数は、内部で引数のオプション ID に "HVOPT_N_SBWIDTH" を指定して BREW API IHTMLVIEWER_SetOption 関数を呼び出します。 |
SFYWebBrowserWidget::GetScrollbarWidth | SFBHTMLViewer::SetOption | BREW API IHTMLVIEWER_SetOption
[ public ] SFCError SetTextColor( SFXRGBColorConstRef color // 設定する値 );
テキストの表示色を指定します。
この関数は、HTML 表示のテキストの表示色を設定します。
注意 | |
---|---|
この関数は、内部で引数のオプション ID に "HVOPT_RGB_TEXT" を指定して BREW API IHTMLVIEWER_SetOption 関数を呼び出します。 |
SFYWebBrowserWidget::GetTextColor | SFYWebBrowserWidget::SetLinkColor | SFBHTMLViewer::SetOption | BREW API IHTMLVIEWER_SetOption
[ 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)
注意 | |
---|---|
接続タイムアウト時間は、 SFYWebBrowserWidget::SetTimeoutMillisecond 関数を利用して設定します。 |
この関数は、 接続タイムアウト時間を設定します 。[単位: ミリ秒]
デフォルト値: 0(タイムアウト処理を行いません)
通信開始からタイムアウト時間を過ぎても応答がない場合、 SFYWebBrowserWidget::SetTimeoutCallback 関数で設定する接続タイムアウトコールバックが呼び出されます。
注意 | |
---|---|
接続タイムアウト時間が 0 のとき、タイムアウト処理を行いません。 |
以下の 4 種類の何れかの SSL 認証モードを指定します。
この関数は、HTTPS 通信の SSL 認証モードを設定します(HTTPS 通信の場合に有効です)。
デフォルト値: SSL_TRUST_MODE_FAIL
設定可能な SSL 認証モードは、 以下の 4 種類です(参照: BREW API ISSL_NegotiateV)。
設定された値は、 SFYWebBrowserWidget::Close 関数が呼び出されるまで有効です。
実機において、この値を変更した直後の SFYWebBrowserWidget::Navigate 関数の呼び出しでは SSL_RESULT_SERV_VERS エラーが発生することがあります。
エラーを避けるには、一度 SFYWebBrowserWidget::Close 関数を呼び出してからSSL 認証モードを設定し、 SFYWebBrowserWidget::Navigate 関数を呼び出します。
注意 | |
---|---|
詳細情報: BREW API ISSL_NegotiateV |
注意 | |
---|---|
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。 |
SFYWebBrowserWidget::GetTrustMode | SFYWebBrowserWidget::Navigate | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close | BREW API ISSL_NegotiateV
[ public ] SFCError SetUserAgent( SFXAnsiStringConstRef param // ユーザーエージェント );
この関数は、HTTP/HTTPS 接続のユーザーエージェントを設定します。
設定された値は、 SFYWebBrowserWidget::Close 関数が呼び出されるまで有効です。
注意 | |
---|---|
この関数は、HTTP/HTTPS 接続の状態が SFXHTTPConnection::STATE_OPEN のときにのみ有効です。 |
SFYWebBrowserWidget::GetUserAgent | SFYWebBrowserWidget::Open | SFYWebBrowserWidget::Close | SFXAnsiString
HTTP/HTTPS 接続を開く際の Web クラス ID を設定します。
設定内容は、次回 SFYWebBrowserWidget::Open 関数を呼び出す際に有効になります。
デフォルト値は、AEECLSID_WEB です。
[ public ] Void Stop(Void);
この関数は、レンダリングを行っている場合、その処理を中断します。
注意 | |
---|---|
レンダリング中以外ならば何も行いません。 表示済みの部分に対しては、影響を与えません。 |
enum CodeEnum { CODE_TYPE = four_char_code('+', 'w', 'b', 'r') }; SFMTYPEDEFTYPE(CodeEnum)
[ 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 イベントを送信します。
このイベントを処理するには、以下のハンドラマクロを使用します。
例 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
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; }
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |