前のページ次のページ上に戻るホーム SophiaFramework 2.2
SFRBrowserControl
簡易ウェブブラウザーを実現するコントロールです。
#include <SFRBrowserControl.hpp>
class SFRBrowserControl : public SFRControl;
typedef SFRBrowserControl&          SFRBrowserControlRef;
typedef SFRBrowserControl*          SFRBrowserControlPtr;
typedef SFRBrowserControl**         SFRBrowserControlHandle;
typedef const SFRBrowserControl     ConstSFRBrowserControl;
typedef const SFRBrowserControl&    ConstSFRBrowserControlRef;
typedef const SFRBrowserControl*    ConstSFRBrowserControlPtr;
typedef const SFRBrowserControl**   ConstSFRBrowserControlHandle;

継承図

SFRBrowserControl クラスの継承図

協調図

SFRBrowserControl クラスの協調図

解説

簡易ウェブブラウザーを実現するコントロールクラスです。 このコントロールは、

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

を備えており、このコントロールを張り付けるだけで簡単なウェブブラウザを作成出来ます。

BREW API の IHtmlViewer を基に実装されています。 HTML のレンダリングに関する制限は IHtmlViewer とほぼ同じとなります。

エラー値

SFRBrowserControl クラスのいくつかのメンバ関数は、 エラーが発生すると内部的にその状態を記録します。 直前のメンバ関数呼び出しで発生したエラーは、 Exception 関数により取得することができます。 エラーが発生しなかった場合は、 SFERR_NO_ERROR が返されます。

参照

SFBHtmlViewer | SFBWeb | SFRBrewHtmlControl

メンバ

コンストラクタ/デストラクタ
public
SFRBrowserControl SFRBrowserControl クラスのコンストラクタです。
public
~SFRBrowserControl SFRBrowserControl クラスのデストラクタです。
パブリック関数
public
ClearHistory 履歴リストを空にします。
public
FindElement 表示中のページから、特定の要素を検索します。
public
FocusDown (SFRResponder から継承) 座標上で自分より下に存在するレスポンダにフォーカスを移動します。
public
FocusLeft (SFRResponder から継承) 座標上で自分より左に存在するレスポンダにフォーカスを移動します。
public
FocusNext (SFRResponder から継承) フォーカスを一つ次に進めます。
public
FocusPrevious (SFRResponder から継承) フォーカスを一つ前に戻します。
public
FocusRight (SFRResponder から継承) 座標上で自分より右に存在するレスポンダにフォーカスを移動します。
public
FocusUp (SFRResponder から継承) 座標上で自分より上に存在するレスポンダにフォーカスを移動します。
public
GetAttribute (SFRResponder から継承) アトリビュートを取得します。
public
GetBack (SFRResponder から継承) 子階層のレスポンダのうち検索条件に一致するレスポンダを 後ろから検索します。
public
GetBaseBound (SFRResponder から継承) ベース領域を親レスポンダのコンテント座標系で取得します。
public
GetBaseWorld (SFRResponder から継承) ベース領域を取得します。
public
GetContentBound (SFRResponder から継承) コンテント領域をベース領域の座標系で取得します。
public
GetContentWorld (SFRResponder から継承) コンテント領域を取得します。
public
GetCurrentHistory 現在表示しているページの URL とタイトルを取得します。
public
GetCurrentHistoryIndex 現在の履歴番号を取得します。
public
GetDirector (SFRResponder から継承) 親レスポンダを取得します。
public
GetElementAttribute 指定の要素の属性値を取得します。
public
GetElementText 指定の要素の内容を取得します。
public
GetFocus (SFRResponder から継承) 子階層のレスポンダのうちフォーカスされているレスポンダを取得します。
public
GetFront (SFRResponder から継承) 子階層のレスポンダのうち検索条件に一致するレスポンダを前から検索します。
public
GetHistory ある履歴番号の履歴内容を取得します。
public
GetHistoryList 履歴リストを取得します。
public
GetHistorySize 履歴リストのエントリ数を取得します。
public
GetIndent インデントの幅を取得します。
public
GetIndexBackward (SFRResponder から継承) 同階層のレスポンダのうち自分が背面から数えて何番目かを返します。
public
GetIndexForward (SFRResponder から継承) 同階層のレスポンダのうち自分が前面から数えて何番目かを返します。
public
GetLeft (SFRResponder から継承) グループ化されているレスポンダのうち 自分より前にあるレスポンダで検索条件に一致するレスポンダを検索します。
public
GetLinkColor リンクの文字の表示色を取得します。
public
GetMoveInterval (SFRResponder から継承) MoveUpHandler, MoveDownHandler, MoveLeftHandler, MoveRightHandler に よりレスポンダが移動されるときの移動量を取得します。
public
GetMoveMargin (SFRResponder から継承) Move 関数によりレスポンダが移動されるときに、仮想領域の端から 何ピクセル内側まで移動可能かのマージンを取得します。 またこの設定は、MoveUpHandler, MoveDownHandler, MoveLeftHandler, MoveRightHandler にも 適応されています。
public
GetNext (SFRResponder から継承) 自分より後にあるレスポンダで検索条件に一致するレスポンダを 検索します。
public
GetNthBackward (SFRResponder から継承) 子階層のレスポンダのうち検索条件に一致するレスポンダで 後ろから数えてN番目にあるレスポンダを検索します。
public
GetNthForward (SFRResponder から継承) 子階層のレスポンダのうち検索条件に一致するレスポンダで 前から数えてN番目にあるレスポンダを検索します。
public
GetParagraphSpacing 段落間の行間の長さを取得します。
public
GetPrevious (SFRResponder から継承) 自分より前にあるレスポンダで検索条件に一致するレスポンダを 検索します。
public
GetReference (SFRResponder から継承) ユーザが自由に設定できるリファレンス値を取得します。
public
GetRight (SFRResponder から継承) グループ化されているレスポンダのうち 自分より後にあるレスポンダで検索条件に一致するレスポンダを検索します。
public
GetScrollInterval (SFRResponder から継承) ScrollUpHandler, ScrollDownHandler, ScrollLeftHandler, ScrollRightHandler によりレスポンダの仮想領域がスクロールされるときのスクロール量を取得します。
public
GetScrollbarWidth スクロールバーの幅を取得します。
public
GetStatusEnable (SFRResponder から継承) 応答可能/不可能フラグを取得します。
public
GetStatusFocus (SFRResponder から継承) フォーカス/非フォーカス フラグを取得します。
public
GetStatusTarget (SFRResponder から継承) ターゲット/非ターゲット フラグを取得します。
public
GetStatusVisible (SFRResponder から継承) 可視/不可視フラグを取得します。
public
GetTextColor HTML の本文の表示色を取得します。
public
GetTranslate (SFRResponder から継承) コンテント座標系での仮想領域の原点座標を取得します。
public
GetTravelMargin (SFRResponder から継承) フォーカスされたレスポンダを自動的にコンテント領域内に 移動させるときに、コンテント領域の端から何ピクセル内側に 移動させるかのマージンを取得します。
public
GetType (SFRResponder から継承) タイプを取得します。
public
GetVirtualBound (SFRResponder から継承) 仮想領域をコンテント領域の座標系で取得します。
public
GetVirtualWorld (SFRResponder から継承) 仮想領域を取得します。
public
GetWeb 通信に使用する IWeb インターフェースを取得します。
public
Group (SFRResponder から継承) 他のレスポンダとグループ化します。
public
GroupMove (SFRResponder から継承) グループ化されているレスポンダすべてを移動します。
public
GroupScroll (SFRResponder から継承) グループ化されているレスポンダすべての仮想領域をスクロールします。
public
GroupSelect (SFRResponder から継承) グループ化されているレスポンダすべてを最前面に移動させます。
public
GroupStatusEnable (SFRResponder から継承) グループ化されているレスポンダすべてに対して、応答可能/不可能フラグを設定します。
public
GroupStatusVisible (SFRResponder から継承) グループ化されているレスポンダすべてに対して、可視/不可視フラグを設定します。
public
InvalidateBase (SFRResponder から継承) ベース領域内のアップデート領域を登録します。
public
InvalidateContent (SFRResponder から継承) コンテント領域内のアップデート領域を登録します。
public
InvalidateVirtual (SFRResponder から継承) 仮想領域内のアップデート領域を登録します。
public
Invoke (SFRResponder から継承) イベントを送信します。
public
IsBusy 現在、ネットワークアクセス中、もしくはレンダリング中かどうかを調べます。
public
IsInlineEditEnable 文字をインラインで入力する設定かどうか調べます。
public
IsScrollbarEnable スクロールバーの設定を調べます。
public
Load 文字列データを HTML とみなして、レンダリングを開始します。
public
Move 履歴内の任意のページに飛んで、ページの再取得と再レンダリングを行います。
public
Next 履歴を進み、ページの再取得と再レンダリングを行います。
public
Open 指定された URL のページを取得して、レンダリングを開始します。
public
Previous 履歴を戻り、ページの再取得と再レンダリングを行います。
public
RegisterHandler (SFRHandler から継承) ハンドラを登録します。
public
RegisterIntelligentHandler (SFRResponder から継承) SelectHandler, ClearHandler, FocusUpHandler, FocusDownHandler, FocusLeftHandler, FocusRightHandler をそれぞれ AVK_SELECT, AVK_CLR, AVK_UP, AVK_DOWN, AVK_LEFT, AVK_RIGHT に登録します。
public
RegisterManipulateHandler (SFRResponder から継承) SelectHandler, ClearHandler, FocusNextHandler, FocusPreviousHandler を それぞれ AVK_SELECT, AVK_CLR, AVK_DOWN, AVK_UP に登録します。
public
RegisterMoveHandler (SFRResponder から継承) MoveUpHandler, MoveDownHandler, MoveLeftHandler, MoveRightHandler を それぞれ AVK_2, AVK_8, AVK_4, AVK_6 に登録します。
public
RegisterScrollHandler (SFRResponder から継承) ScrollUpHandler, ScrollDownHandler, ScrollLeftHandler, ScrollRightHandler を それぞれ AVK_2, AVK_8, AVK_4, AVK_6 に登録します。
public
RegisterTracer (SFRTracer から継承) トレーサを登録します。
public
Reload 現在表示しているページを再取得して再描画します。
public
Scroll (SFRResponder から継承) 仮想領域をスクロールします。
public
Select (SFRResponder から継承) レスポンダを最前面に移動させます。
public
SetAuthorizeData HTTP ベーシック認証の情報を設定します。
public
SetBaseBound (SFRResponder から継承) ベース領域を親レスポンダのコンテント座標系で設定します。
public
SetContentBound (SFRResponder から継承) コンテント領域をベース領域の座標系で設定します。
public
SetHistorySize 履歴リストの大きさを設定します。
public
SetIndent インデントの幅を設定します。
public
SetInlineEditEnable 文字をインライン入力するかどうか設定します。
public
SetLinkColor リンクの文字列の表示色を設定します。
public
SetMoveInterval (SFRResponder から継承) MoveUpHandler, MoveDownHandler, MoveLeftHandler, MoveRightHandler に よりレスポンダが移動されるときの移動量を設定します。
public
SetMoveMargin (SFRResponder から継承) Move 関数によりレスポンダが移動されるときに、仮想領域の端から 何ピクセル内側まで移動可能かのマージンを設定します。 またこの設定は、MoveUpHandler, MoveDownHandler, MoveLeftHandler, MoveRightHandler にも 適応されます。
public
SetParagraphSpacing 段落間の行間を設定します。
public
SetReference (SFRResponder から継承) ユーザが自由に設定できるリファレンス値を設定します。
public
SetScrollInterval (SFRResponder から継承) ScrollUpHandler, ScrollDownHandler, ScrollLeftHandler, ScrollRightHandler によりレスポンダの仮想領域がスクロールされるときのスクロール量を設定します。
public
SetScrollbarEnable スクロールバーの有無を設定します。
public
SetScrollbarWidth スクロールバーの幅を設定します。
public
SetStatusEnable (SFRResponder から継承) 応答可能/不可能フラグを設定します。
public
SetStatusFocus (SFRResponder から継承) フォーカス/非フォーカス フラグを設定します。
public
SetStatusTarget (SFRResponder から継承) ターゲット/非ターゲット フラグを設定します。
public
SetStatusVisible (SFRResponder から継承) 可視/不可視フラグを設定します。
public
SetTextColor HTML 本文の表示色を設定します。
public
SetTranslate (SFRResponder から継承) コンテント座標系での仮想領域の原点座標を設定します。
public
SetTravelMargin (SFRResponder から継承) フォーカスされたレスポンダを自動的にコンテント領域内に 移動させるときに、コンテント領域の端から何ピクセル内側に 移動させるかのマージンを設定します。
public
SetVirtualBound (SFRResponder から継承) 仮想領域をコンテント領域の座標系で設定します。
public
SetWeb 通信に使用する IWeb インターフェースを設定します。
public
Stop 現在行っているネットワークアクセス、レンダリング動作を中断します。
public
Travel (SFRResponder から継承) 設定された長方形が可視領域に入るように、レスポンダの 仮想領域をスクロールします。
public
Ungroup (SFRResponder から継承) グループ化を解除します。
public
UnregisterHandler (SFRHandler から継承) 登録されているハンドラを削除します。
public
UnregisterTracer (SFRTracer から継承) 登録されているトレーサを削除します。
public
UnsetAuthorizeData HTTP ベーシック認証の情報を設定を取り消します。
public
UnsetWeb の設定を取り消します。
プロテクト関数
protected
ClearHandler (SFRResponder から継承) クリアキーが押されたときのハンドラです。
protected
DoneNotifyHandler レンダリングが終了時に呼び出されるハンドラです。
protected
FocusDownHandler (SFRResponder から継承) 下矢印キーが押されたときのハンドラです。 座標上で自分より下に存在するレスポンダにフォーカスを移動します。
protected
FocusLeftHandler (SFRResponder から継承) 左矢印キーが押されたときのハンドラです。 座標上で自分より左に存在するレスポンダにフォーカスを移動します。
protected
FocusNextHandler (SFRResponder から継承) 下矢印キーが押されたときのハンドラです。 フォーカスを一つ後に移動します。
protected
FocusNotifyHandler カーソルが移動した際に呼び出されるハンドラです。
protected
FocusPreviousHandler (SFRResponder から継承) 上矢印キーが押されたときのハンドラです。 フォーカスを一つ前に移動します。
protected
FocusRightHandler (SFRResponder から継承) 右矢印キーが押されたときのハンドラです。 座標上で自分より右に存在するレスポンダにフォーカスを移動します。
protected
FocusUpHandler (SFRResponder から継承) 上矢印キーが押されたときのハンドラです。 座標上で自分より上に存在するレスポンダにフォーカスを移動します。
protected
GetAppearanceTransparent (SFRResponder から継承) APPEARANCE_TRANSPARENT フラグが設定されているかどうかを取得します。
protected
GetInheriteEnable (SFRResponder から継承) 現在の応答可能/不可能の状態を取得します。
protected
GetInheriteFocus (SFRResponder から継承) 現在のフォーカス/非フォーカスの状態を取得します。
protected
GetInheriteTarget (SFRResponder から継承) 現在のターゲット/非ターゲットの状態を取得します。
protected
GetInheriteVisible (SFRResponder から継承) 現在の可視/不可視の状態を取得します。
protected
GetPropertyClosable (SFRResponder から継承) PROPERTY_CLOSABLE フラグが設定されているかどうかを取得します。
protected
GetPropertyDirect (SFRResponder から継承) PROPERTY_DIRECT フラグが設定されているかどうかを取得します。
protected
GetPropertyMovable (SFRResponder から継承) PROPERTY_MOVABLE フラグが設定されているかどうかを取得します。
protected
GetPropertyScrollable (SFRResponder から継承) PROPERTY_SCROLLABLE フラグが設定されているかどうかを取得します。
protected
GetPropertySelect (SFRResponder から継承) PROPERTY_SELECT フラグが設定されているかどうかを取得します。
protected
GetPropertyTravel (SFRResponder から継承) PROPERTY_TRAVEL フラグが設定されているかどうかを取得します。
protected
JumpNotifyHandler リンクが押された際に呼び出されるハンドラです。
protected
MoveDownHandler (SFRResponder から継承) 数字の8キーが押されたときのハンドラです。
protected
MoveLeftHandler (SFRResponder から継承) 数字の4キーが押されたときのハンドラです。
protected
MoveRightHandler (SFRResponder から継承) 数字の6キーが押されたときのハンドラです。
protected
MoveUpHandler (SFRResponder から継承) 数字の2キーが押されたときのハンドラです。
protected
ResponseNotifyHandler サーバへの接続が完了した時に呼び出されるハンドラです。
protected
ScrollDownHandler (SFRResponder から継承) 数字の8キーが押されたときのハンドラです。
protected
ScrollLeftHandler (SFRResponder から継承) 数字の4キーが押されたときのハンドラです。
protected
ScrollRightHandler (SFRResponder から継承) 数字の6キーが押されたときのハンドラです。
protected
ScrollUpHandler (SFRResponder から継承) 数字の2キーが押されたときのハンドラです。
protected
SelectHandler (SFRResponder から継承) セレクトキーが押されたときのハンドラです。
protected
UnregisterIntelligentHandler (SFRResponder から継承) AVK_SELECT, AVK_CLR, AVK_UP, AVK_DOWN, AVK_LEFT, AVK_RIGHT に登録されているハンドラを 削除します。
protected
UnregisterManipulateHandler (SFRResponder から継承) AVK_SELECT, AVK_CLR, AVK_DOWN, AVK_UP に登録されているハンドラを 削除します。
protected
UnregisterMoveHandler (SFRResponder から継承) AVK_2, AVK_8, AVK_4, AVK_6 に登録されているハンドラを 削除します。
protected
UnregisterScrollHandler (SFRResponder から継承) AVK_2, AVK_8, AVK_4, AVK_6 に登録されているハンドラを 削除します。
BehaviorEnum (SFRControl から継承) コントロールのデフォルトのビヘイビアを表します。
DEFAULT 各パラメータの初期値を納めた列挙型です。
DoneNotify レンダリング終了時の情報を保持するクラスです。
FocusNotify ブラウザのフォーカス移動情報を保持するクラスです。
HandlerEnum (SFRHandler から継承) ハンドラの呼び出されるタイミングを表します。
HistoryEntry 履歴の項目を表す構造体です。
JumpNotify 利用者がブラウザ上で押したリンクの情報を保持するクラスです。
ResponseNotify レンダリング終了時の情報を保持するクラスです。
TracerEnum (SFRTracer から継承) トレース順序を表します。

SFRBrowserControl::SFRBrowserControl
SFRBrowserControl クラスのコンストラクタです。
[ public ]
SFRBrowserControl(
    SFRResponderPtr director                          // 親のレスポンダ
    ConstSFURectRef rect                              // コントロールのサイズ
    BehaviorType behavior = BEHAVIOR_BROWSERCONTROL   // コントロールの挙動
    SFCType attribute = ATTRIBUTE_BROWSERCONTROL      // コントロールのアトリビュート
);

引数

director

このコントロールの親となるレスポンダを指定します。

rect

このコントロールの描画領域を指定します。

behavior

このコントロールの挙動を指定します。省略可能です。

このコントロールのアトリビュートを指定します。省略可能です。

解説

コンストラクタです。データメンバの初期化を行い、ページのレンダリングに使用する IHtmlViewer インスタンスを生成します。 通信に使用する IWeb インターフェースはここでは生成されません。 初期化に失敗した場合は、エラー値 SFERR_FAILED が Exception に設定されます。 初期化に成功した場合は、エラー値 SFERR_NO_ERROR が Exception に設定されます。


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

解説

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


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

戻り値

エラー情報です。エラーなしなら SFERR_NO_ERROR が返ります。

解説

履歴リストを空にします。現在の履歴番号も 0 に戻ります。

参照

SFRBrowserControl::GetCurrentHistoryIndex


SFRBrowserControl::DoneNotifyHandler
レンダリングが終了時に呼び出されるハンドラです。
[ protected, virtual ]
Void DoneNotifyHandler(
    ConstDoneNotifyRef notify   // 通知情報
);

引数

notify

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

解説

レンダリングが全て終了したときに呼び出されるハンドラです。 標準の実装では、何もしません。 標準以外の処理を行いたいときは、この関数をオーバーロードしてください。

SFRBrowserControl::ResponseNotifyHandlerとは 呼び出されるタイミングが異なることに注意してください。

使用例

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

#include <SFRResponder/SFRControl/SFRBrowserControl.hpp>

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

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

参照

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


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

引数

element

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

no

検索する要素の内、何番目の物の位置を取得するかを設定します。 0 を指定すると、element と一致する要素の内、始めに見付かったものの位置を、 n を指定すると n+1 番目に見付かった要素の位置が戻ります。

戻り値

見つかった要素の位置です。 見つからなければ負の値となります。

解説

現在表示しているページから、特定の要素を検索し、その位置を取得します。 取得した位置は、 GetElementText GetElementAttribute で使用します。

参照

SFRBrowserControl::GetElementText | SFRBrowserControl::GetElementAttribute


SFRBrowserControl::FocusNotifyHandler
カーソルが移動した際に呼び出されるハンドラです。
[ protected, virtual ]
Void FocusNotifyHandler(
     notify   // 通知情報
);

引数

notify

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

解説

ブラウザのカーソルが移動した際に呼び出されるハンドラです。 標準の関数では、何もしません。 標準以外の処理を行いたいときは、この関数をオーバーロードしてください。

参照

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


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

戻り値

履歴内容です。

解説

現在表示しているページの履歴内容を取得します。 この関数は、 GetHistory(GetCurrentHistoryIndex()) と同じです。

参照

SFRBrowserControl::GetCurrentHistoryIndex | SFRBrowserControl::GetHistory


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

戻り値

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

解説

現在表示しているページの履歴番号を取得します。 この値は、 Move, Previous, Next で増減し、 ClearHistory で 0 に初期化されます。

参照

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


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

引数

elementIndex

取得したいデータをもつ要素の位置を指定します。 この引数には、 FindElement の戻り値を指定します。

attr

内容を取得したい属性を指定します。

戻り値

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

解説

現在表示しているページから、指定の要素の属性を取得します。 要素に属性が無い場合は、空文字列が戻ります。

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

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

参照

SFRBrowserControl::FindElement | SFRBrowserControl::GetElementText


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

引数

elementIndex

取得したいデータをもつ要素の位置を指定します。 この引数には、 FindElement の戻り値を指定します。

戻り値

要素の内容が戻ります。要素の中身がない場合は空文字列です。

解説

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

参照

SFRBrowserControl::FindElement | SFRBrowserControl::GetElementAttribute


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

引数

historyIndex

履歴内容を取得したい履歴番号を指定します。 指定しなかった場合は、履歴番号 0 番、 つまりもっとも最後に訪れた履歴内容を指定したことになります。

戻り値

履歴内容です。 履歴情報がない、 もしくは無効な履歴番号を指定した場合は、 戻り値の url メンバが空文字列となります。

解説

指定された履歴番号の履歴内容を取得します。 指定した履歴内容がなかったり、 履歴リストの大きさより大きな履歴番号を指定した場合は、 履歴情報の url メンバが空文字列の履歴情報が返ります。

参照

SFRBrowserControl::GetHistoryList | SFRBrowserControl::GetCurrentHistory


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

戻り値

履歴リストへのポインタです。 履歴リストは HistoryEntry 構造体の配列で、 大きさは GetHistorySize で取得できる大きさとなります。

解説

履歴リストを取得します。 取得できる値は HistoryEntry 構造体の配列で、大きさは GetHistorySize で取得できる大きさです。 配列の先頭が一番新しい履歴となっており、 履歴番号と配列のインデックスは一致することが保証されます。 まだ履歴情報が設定さていない部分は、 履歴構造体の url メンバが空文字列になります。

[Warning] 使用上の注意

この関数で取得した配列を書き換えてはいけません。

使用例

下記のコードは、 デバッグ用に全履歴のタイトルと URL を表示する関数です。

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

参照

SFRBrowserControl::GetHistorySize


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

戻り値

現在の履歴リストのエントリ数が返ります。

解説

現在の履歴リストのエントリ数を取得します。 Move, GetHistory 等で使用する履歴番号は、この関数で取得できるエントリ数未満でなくてはなりません。 また、 GetHistoryList で取得できる履歴リストは、ここで取得した大きさの配列となります。

参照

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


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

戻り値

設定されているインデントの幅が返ります。単位はピクセルです。

解説

HTML 表示のインデントの幅を取得します。 取得した数値の単位は単位はピクセルです。

参照

SFRBrowserControl::SetIndent


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

戻り値

リンクの文字の表示色が返ります。

解説

HTML 表示のリンクの文字の表示色を取得します。

参照

SFRBrowserControl::SetLinkColor | SFRBrowserControl::GetTextColor


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

戻り値

設定されている段落間の行間の長さが返ります。単位はピクセルです。

解説

HTML 表示の段落間の行間の長さを取得します。 取得した値の単位はピクセルです。

参照

SFRBrowserControl::SetParagraphSpacing


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

戻り値

設定されているスクロールバーの幅が返ります。単位はピクセルです。

解説

HTML 表示のスクロールバーの幅を取得します。 取得した数値の単位は単位はピクセルです。

参照

SFRBrowserControl::SetScrollbarWidth


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

戻り値

地の文の表示色が返ります。

解説

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

参照

SFRBrowserControl::SetTextColor, SFRBrowserControl::GetLinkColor


SFRBrowserControl::GetWeb
通信に使用する IWeb インターフェースを取得します。
[ public, const ]
SFUBrewPtr<SFBWeb> GetWeb(Void);

戻り値

通信に使用する IWeb インターフェースです。 SetWeb で使用する IWeb インターフェースを設定しておらず、 内部でまだ IWeb インターフェースを生成していない場合は、 NULL が返ります。

解説

通信に使用する IWeb インターフェースを取得します。

[Important] WebOpt 指定時の注意

取得した IWeb インターフェースに対して、 任意の WebOpt を設定することができますが、 ユーザが設定した WebOpt のデータは、 他の IWeb インターフェイスを使うように設定するまで、 ユーザが保持しなくてはなくてはなりません。 詳しくは、BREW API リファレンス、 IWeb インターフェースの「WEBOPT の寿命に関する注意事項」を参照してください。

[Important] サスペンド時の挙動

サスペンドが起こったときは、 デフォルト状態の IWeb インターフェースを内部で作成する設定に戻ります。 この際に、指定していた WebOpt の情報もリセットされます。 続けてユーザオリジナルの IWeb インターフェイスを使用したいときは、 レジューム ハンドラで設定しなおしてください。

参照

SFBWeb | SFRBrowserControl::UnsetWeb | SFRBrowserControl::SetWeb


SFRBrowserControl::IsBusy
現在、ネットワークアクセス中、もしくはレンダリング中かどうかを調べます。
[ public, const ]
Bool IsBusy(Void);

戻り値

現在ネットワークアクセス中、もしくはレンダリング中ならば TRUE。

解説

現在、ネットワークアクセスかレンダリング中かどうかを取得します。


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

戻り値

設定がインライン入力ならば TRUE、 全画面入力なら FALSE が返ります。

解説

HTML 表示で、文字をインラインで入力する設定か、全画面で入力する設定かを調べます。 インライン入力ならば TRUE、全画面入力なら FALSE となります。

参照

SFRBrowserControl::SetInlineEditEnable


SFRBrowserControl::IsScrollbarEnable
スクロールバーの設定を調べます。
[ public, const ]
Bool IsScrollbarEnable(Void);

戻り値

スクロールバーありなら TRUE、 なしなら FALSE が返ります。

解説

HTML 表示のスクロールバーの設定を調べます。 スクロールバーありなら TRUE、 なしなら FALSE となります。

参照

SFRBrowserControl::SetScrollbarEnable


SFRBrowserControl::JumpNotifyHandler
リンクが押された際に呼び出されるハンドラです。
[ protected, virtual ]
Void JumpNotifyHandler(
    ConstJumpNotifyRef notify   // 通知情報
);

引数

notify

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

解説

コントロール内の HTML のリンクが押された際に呼び出されるハンドラです。 この関数では、リンク先の url を自動的に Open します。 リンクが http://、https://、file://、res: 以外のスキームのときは何もしません。 標準以外の処理を行いたいときは、この関数をオーバーライドしてください。

使用例

下記のコードは、オーバーライドの例です。

#include <SFRResponder/SFRControl/SFRBrowserControl.hpp>

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

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

参照

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


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

引数

data

HTML とみなす文字列です。

url

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

戻り値

エラー情報です。 エラーがないなら SFERR_NO_ERROR、 処理中にメモリが足りなくなったときは SFERR_NO_MEMORY、 指定した url が正しくないときは SFERR_INVALID_PARAM が返ります。

解説

文字列データを HTML とみなして、レンダリングを開始します。 インライン画像の読み込みは任意のタイミングで行われ、取得できしだい表示に反映されます。

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

通信に関するエラーは返値では取得できません。 レンダリングの終了や、通信に関するエラーを取得したい場合は、 本クラスを継承して、 DoneNotifyHandler をオーバロードするクラスを作成してください。

参照

SFRBrowserControl::Open | SFRBrowserControl::DoneNotifyHandler


SFRBrowserControl::Move
履歴内の任意のページに飛んで、ページの再取得と再レンダリングを行います。
[ public ]
SFCError Move(
    UInt32 historyIndex = 0   // 履歴番号
);

引数

historyIndex

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

戻り値

エラー情報です。 エラーがないなら SFERR_NO_ERROR、 履歴番号が大きすぎるときは SFERR_INVALID_PARAM、 メモリ不足ならば SFERR_NO_MEMOERY が返ります。

解説

任意の履歴番号のページに飛んで、ページの再取得と再レンダリングを行います。 指定した履歴番号が履歴リストのサイズより大きかったり、 指定した履歴番号の履歴がまだない場合はエラーとなり、 返値として SFERR_INVALID_PARAM が返ります。

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

通信に関するエラーは返値では取得できません。 レンダリングの終了や、通信に関するエラーを取得したい場合は、 本クラスを継承して、 DoneNotifyHandler をオーバロードするクラスを作成してください。

参照

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


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

引数

n

履歴をいくつ進むかを指定します。 省略時は履歴を一つ戻ります。

戻り値

エラー情報です。 エラーがないなら SFERR_NO_ERROR、 指定した数が大きすぎるか小さすぎる時は SFERR_INVALID_PARAM、 メモリ不足ならば SFERR_NO_MEMOERY が返ります。

解説

指定の数だけ履歴を進み、ページの再取得と再レンダリングを行います。 引数に負の値を指定すると、絶対値の数だけ履歴を前に戻ります。 指定した数が履歴リストから外れる場合はエラーとなり、 返値として SFERR_INVALID_PARAM が返ります。

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

通信に関するエラーは返値では取得できません。 レンダリングの終了や、通信に関するエラーを取得したい場合は、 本クラスを継承して、 DoneNotifyHandler をオーバロードするクラスを作成してください。

参照

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


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

引数

url

アクセスする URL を指定します。 指定した URL で取得できるデータを読み取ってレンダリングします。 現在サポートしているスキームは、http、https、file、res です。

method

HTTP でページにアクセスする際に用いるメソッドを指定します。 現在、BREW でサポートされている GET、POST が使用可能です。 省略した際は、GET が指定された物として扱われます。

data

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

baseUrl

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

source

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

stream

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

戻り値

エラー情報です。 エラーがないなら SFERR_NO_ERROR、 処理中にメモリが足りなくなったときは SFERR_NO_MEMORY、 指定した url が正しくないときは SFERR_INVALID_PARAM が返ります。

解説

ある URL のページを取得して、レンダリングを開始します。 HTML データとインライン画像の読み込みは任意のタイミングで行われ、 取得できしだい表示に反映されます。

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

通信に関するエラーは返値では取得できません。 レンダリングの終了や、 通信に関するエラーを取得したい場合は、 本クラスを継承して、 DoneNotifyHandler をオーバロードするクラスを作成してください。

参照

SFRBrowserControl::Load | SFRBrowserControl::DoneNotifyHandler


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

引数

n

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

戻り値

エラー情報です。 エラーがないなら SFERR_NO_ERROR、 指定した数が大きすぎるか小さすぎる時は SFERR_INVALID_PARAM、 メモリ不足ならば SFERR_NO_MEMOERY が返ります。

解説

指定の数だけ履歴を戻り、ページの再取得と再レンダリングを行います。 引数に負の値を指定すると、絶対値の数だけ履歴を前に進みます。 指定した数が履歴リストから外れる場合はエラーとなり、 返値として SFERR_INVALID_PARAM が返ります。

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

通信に関するエラーは返値では取得できません。 レンダリングの終了や、通信に関するエラーを取得したい場合は、 本クラスを継承して、 DoneNotifyHandler をオーバロードするクラスを作成してください。

参照

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


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

解説

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

参照

SFRBrowserControl::Load | SFRBrowserControl::Open


SFRBrowserControl::ResponseNotifyHandler
サーバへの接続が完了した時に呼び出されるハンドラです。
[ protected, virtual ]
Bool ResponseNotifyHandler(
     notify   // 通知情報
);

引数

notify

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

戻り値

ハンドラから戻った後、続けて HTML のレンダリングに入りたいときは false を、HTML のレンダリングをせずに処理を終えたい時は true を戻します。

解説

サーバへの接続が完了した時に呼び出されるハンドラです。 このハンドラは、レンダリングが始まる前に呼び出されます。 標準の実装では、何もせずに false を戻します。 標準以外の処理を行いたいときは、この関数をオーバーロードしてください。

SFRBrowserControl::DoneNotifyHandlerとは 呼び出されるタイミングが異なることに注意してください。

使用例

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

#include <SFRResponder/SFRControl/SFRBrowserControl.hpp>

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

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

参照

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


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

引数

user

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

passwd

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

url

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

戻り値

エラー情報です。 エラーがないならば SFERR_NO_ERRORが、 内部でメモリが足りなくなった場合は SFERR_NO_MEMORY が返ります。 SFERR_NO_ERROR 以外が返った場合は、ベーシック認証は行いません。

解説

HTTP ベーシック認証の情報を設定します。 設定を行った後、url で始まるページのアクセスにはすべて指定した認証情報を持つヘッダをつけて行います。 url で始まらないページをアクセスした場合、この認証情報は解除されます。 認証を解除したい時は、 UnsetAuthorizeData を使用してください。

参照

SFRBrowserControl::UnsetAuthorizeData


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

引数

size

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

戻り値

エラー情報です。 エラーがないなら SFERR_NO_ERROR、 メモリが足りない場合は SFERR_NO_MEMORY、 引数として 0 をあたえたり、 現在表示中の履歴よりも小さい値をあたえた場合は SFERR_INVALID_PARAM が返ります。 SFERR_NO_ERROR 以外が返った場合は、履歴リストの大きさは変更されません。

解説

履歴リストの大きさを設定します。 現在より小さい値を設定した場合、履歴の大きさが指定したサイズに収まるまで古い履歴情報が捨てられます。 GetCurrentHistoryIndex で取得できる、 現在表示しているページの履歴番号よりも小さな値を設定することはできません。

参照

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


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

引数

pixel

インデントの幅を指定します。単位はピクセルです。

戻り値

エラー情報が返ります。エラーがないなら SFERR_NO_ERROR が返ります。

解説

HTML 表示のインデントの幅を設定します。設定する単位はピクセルです

参照

SFRBrowserControl::GetIndent


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

引数

enable

フォームでの文字入力をインライン入力にする場合は TRUE を、 フルスクリーン入力にする場合は FALSE を指定します。

戻り値

エラー情報が返ります。エラーがないなら SFERR_NO_ERROR が返ります。

解説

HTML 表示で、文字入力をインラインでするか、全画面でするかの設定をします。

参照

SFRBrowserControl::IsInlineEditEnable


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

引数

color

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

戻り値

エラー情報が返ります。エラーがないなら SFERR_NO_ERROR が返ります。

解説

HTML 表示のリンクの文字の表示色を設定します。

参照

SFRBrowserControl::GetLinkColor | SFRBrowserControl::SetTextColor


SFRBrowserControl::SetParagraphSpacing
段落間の行間を設定します。
[ public ]
SFCError SetParagraphSpacing(
    SInt32 pixel   // 段落間の行間
);

引数

pixel

段落間の行間を指定します。単位はピクセルです。

戻り値

エラー情報が返ります。エラーがないなら SFERR_NO_ERROR が返ります。

解説

HTML 表示の段落間の行間を設定します。 設定する単位はピクセルです。

参照

SFRBrowserControl::GetParagraphSpacing


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

引数

enable

スクロールバーを有にしたければ TRUE を、無しにしたければ FALSE を指定します。

戻り値

エラー情報が返ります。エラー無しなら SFERR_NO_ERROR が返ります。

解説

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

参照

SFRBrowserControl::IsScrollbarEnable


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

引数

pixel

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

戻り値

エラー情報が返ります。エラー無しなら SFERR_NO_ERROR が返ります。

解説

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

参照

SFRBrowserControl::GetScrollbarWidth


SFRBrowserControl::SetTextColor
HTML 本文の表示色を設定します。
[ public ]
SFCError SetTextColor(
    ConstSFUColorRef color   // 表示色
);

引数

地の文の文字色を指定します。

戻り値

エラー情報が返ります。エラーなしなら SFERR_NO_ERROR が返ります。

解説

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

参照

SFRBrowserControl::GetTextColor | SFRBrowserControl::SetLinkColor


SFRBrowserControl::SetWeb
通信に使用する IWeb インターフェースを設定します。
[ public ]
Void SetWeb(
    const SFUBrewPtr<SFBWeb>& web   // IWeb インターフェース
);

引数

web

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

解説

通信に使用する IWeb インターフェースを設定します。 以降、本関数で設定した IWeb インターフェースを使用して、HTTP アクセスを行うようになります。 現在通信中、レンダリング中だった場合は、それらの処理を中断します。

[Important] WebOpt 指定時の注意

設定する IWeb インターフェースには任意の WebOpt を設定することができますが、WebOpt のデータは他の IWeb インターフェイスを使うように設定するまで、ユーザが保持しなくてはなくてはなりません。 詳しくは、BREW API リファレンス、IWeb インターフェースの「WEBOPT の寿命に関する注意事項」を参照してください。

[Important] サスペンド時の挙動

また、サスペンドが起こったときは、デフォルト状態の、IWeb インターフェースを内部で作成する設定に戻ります。 続けてユーザオリジナルの IWeb インターフェイスを使用したいときは、レジューム ハンドラで設定しなおしてください。

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

使用例

ユーザエージェント名を設定します。 端末がサスペンドすると設定が無効になるので、 レジュームハンドラー内で再設定する必要があります。

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

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

参照

SFBWeb | SFRBrowserControl::UnsetWeb | SFRBrowserControl::GetWeb


SFRBrowserControl::Stop
現在行っているネットワークアクセス、レンダリング動作を中断します。
[ public ]
Void Stop(Void);

解説

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


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

戻り値

エラー情報です。エラーがないなら SFERR_NO_ERROR が返ります。

解説

SetAuthorizeData で設定した HTTP ベーシック認証の設定を取り消します。 以降、認証情報を持つヘッダは使用しません。

参照

SFRBrowserControl::SetAuthorizeData


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

解説

通信に使用する IWeb インターフェイスを、コントロール内部で作成するように指示します。 現在通信中、レンダリング中だった場合は、それらの処理を中断します。

参照

SFBWeb SFRBrowserControl::SetWeb | SFRBrowserControl::GetWeb


SFRBrowserControl::DEFAULT
各パラメータの初期値を納めた列挙型です。
enum DEFAULT {
    HISTORY_SIZE = 30
};

解説

各パラメータの初期値を納めた列挙型です。 現在は、履歴リストの大きさのデフォルト値を示す HISTORY_SIZE のみ定義されています。

参照

SFRBrowserControl::GetHistorySize | SFRBrowserControl::SetHistorySize


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

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

解説

レンダリング終了時の情報を保持するクラスです。 BREW API の HVNotify から派生しています。 このクラスは、主に SFRBrowserControl::DoneNotifyHandler の引数として使われます。

以下のメンバ関数を持ちます。

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

参照

SFRBrowserControl::DoneNotifyHandler