📄 mainpage.dox
字号:
*
* \subsubsection Sub336 3.3.6 Special Load Requests
*
* Special load requests consist of the following:
*
* - Non-HTTP(S) load requests
*
* - Non-HTML content
*
* - Control over network connections
*
* In these cases, the host application can handle the requests instead of the Browser Control.
*
* HandleDownloadL() requests the host application to handle a download.
* The host application should call the Download Manager to handle non-HTML content. Only GET requests are supported because the Browser Control must cancel the transaction before the Download Manager can take over.
* In the case of a POST request, the Browser Control downloads the content and passes it to the host application.
* The host application should look for the parameter EParamLocalFileName to determine whether or not the Browser Control downloaded the content.
*
* HandleRequestL() checks the scheme of a URL to determine whether or not the Browser Control supports it.
* If the Browser Control does not support it, then the host application should pass the content to an application that does support that scheme.
*
* NetworkConnectionNeededL() requests a new network connection.
* The Browser Control calls this function for each HTTP(S) load request. It is up to the host application to ensure that the network connection is available.
*
* In the Special Load Requests menu option we demonstrate how to handle a request to load non-HTML content.
*
* <b>Note:</b> Because there is no Scheme Handler API shipped with the SDK, you as a developer are responsible for implementing
* your own scheme handling mechanism. By this we mean, inspecting the file type, and then trying to locate the appropriate
* application to handle this file. There are comments in the code as to where this implementation should take place.
* Without a scheme handler, this code is unable to locate the appropriate application that would handle this unknown scheme, so the
* unknown scheme is ignored.
*
* \subsubsection Sub337 3.3.7 Customized Dialogs
*
* The Browser Control provides dialogs to communicate with the user of the host application. You can customize these dialogs by implementing the MBrCtlDialogsProvider interface to:
*
* - Remove one or more dialogs
*
* - Change the format or content of dialogs
*
* - Selectively implement some of the default dialogs
*
*
* The Customized Dialogs menu option demonstrates how to customize the alert dialog.
*
* \subsubsection Sub338 3.3.8 Customized Softkeys
*
* The host application can change the labels of the softkeys as a response to softkey events received from the Browser Control. The Browser Control transmits one or more softkey events under the following conditions:
* - A document is displayed
*
* - A plug-in control is activated or deactivated
*
* - An input box is activated or deactivated
*
* - The browser view changes to and from the Image Map view
*
* To specify the softkeys, follow these steps:
*
* 1. Implement the UpdateSoftkeyL() function to change the softkeys.
*
* 2. Use the event to query the FocusedElementType() function to learn what the focused element is. All events are issued the EChangeReasonIdle reason code.
*
* 3. Change the softkeys based on the focused element.
*
* The Customized Softkeys menu option demonstrates how to customize the softkeys.
*
* \subsubsection Sub339 3.3.9 Embedded Links
*
* If the content of an embedded link is to be loaded from the private store of a host application, such as an e-mail application, then the developer should implement the MBrCtlLinkResolver class.
* This interface provides a callback mechanism to the host application to transmit the content of an embedded link or the content of a user-initiated load request to the Browser Control.
* To enable this callback mechanism, the host application must set the ECapabilityClientResolveEmbeddedURL capability or the ECapabilityClientNotifyURL capability.
* If the host application is unable to resolve the embedded link, then the Browser Control tries to handle the request through the HTTP framework.
* The following functions of the MBrCtlLinkResolver interface provide the content of an embedded link.
*
* - CancelAll() cancels all outstanding link resolution operations.
*
* - ResolveEmbeddedLinkL() retrieves the content of an embedded link. For example, the Browser Control calls this function to display images embedded within an e-mail message.
*
*
* The Browser Control implements this interface after a link is resolved or an error occurs. Table 16 lists the functions called by the host application after a link is resolved or after an error occurs in resolving the link.
*
* - HandleResolveComplete() called by the host application when the content of a link has finished loading.
*
* - HandleResolveError() Called by the host application if an error occurred while downloading the content of a link.
*
*
* The Embedded Links menu option demonstrates how to resolve an embedded link.
*
* \subsubsection Sub3310 3.3.10 Customized Scrollbars
*
* To customize a scroll bar based upon one or more layout (scrolling) events, follow these steps:
*
* 1. When you create the Browser Control, do not specify the EcapabilityDisplayScrollBar flag.
*
* 2. Implement the MBrCtlLayoutObserver interface.
*
* This enables the host application to display and update the scroll bars.
* If you wish to have no scroll bars at all, follow step 1 but do not implement step 2.
* The following functions of the MBrCtlLayoutObserver interface receive scrolling events when the host application draws the scrollbar.
*
* - NotifyLayoutChange() determines whether the page is to be read from right-to-left or from left-to-right.
*
* - UpdateBrowserHScrollBarL() updates the position of the horizontal scrollbar.
*
* - UpdateBrowserVScrollBarL() updates the position of the vertical scrollbar.
*
* - UpdateTitleL() updates the page title in the History view.
*
* The Customized Scrollbars menu option demonstrates how you would go about customizing a scroll bar.
*
* <b>Note:</b> This sample doesn't acutally customize the scrollbars, that is left as an excercise for the reader, so to speak.
* What we do in this example is to show you how to set up the observer interface in order to receive these layout events.
* You will notice that we resize the browser control screen and write a text string below the browser control. This is
* to show that the methods on this observer are getting called. There are comments in the code which tell you that this
* is where you would implement your own scrolling implementation, if that is what you wish to do with the layout events.
*
* \subsubsection Sub3311 3.3.11 Handle State Changed
*
* A change-of-state-event indicates that the state of the browser has changed. For example, the browser may switch to or from the Image Map view.
* To receive change-of-state events, inherit from the MBrCtlStateChangeObserver interface and implement the StateChanged function.
* The following function indicates that the browser has changed its state:
*
* - StateChanged() called by the browser when its state has changed.
*
* NOTE: The only state change currently supported is the change to and from the Image Map view.
*
* The Handle State Changed menu option demonstrates how to receive an event that indicates that the state of the browser has changed.
*
* \subsubsection Sub3312 3.3.12 Change Size Extents
*
* The Change Size Extents menu options, allows you to change the size of the browser control.
*
* \subsubsection Sub3313 3.3.13 Page Info
*
* The Page Info menu option, uses the PageInfoLC() method on the Browser Control to
* request the Browser Control to return information about the page, such as the page title, URL, or content.
*
* \subsubsection Sub3314 3.3.14 Content Size and Image Count
*
* The Content Size and Image Count menu option uses the ContentSize() and ImageCountL() methods on the Browser Control
* to return this information to the host application.
*
* \subsection Sub32 3.2 Capabilities
*
* NetworkServices
*
* \subsection Sub33 3.3 ScalableUI
*
* This sample application handles multiple screen modes and the screen size can change dynamically.
*
* \subsection Sub34 3.4 Known Issues
*
* The right softkey with the title "Back" is not integrated into the application and
* will not take you back to the previous page in the history list. If you want to go to
* the previous page in the history list please go to Options->Tools->Back
*
* \subsection Sub34 3.4 Installation Instructions
*
*
* EMULATOR SDK
*
* ------------------
*
* cd to \BrCtlSampleApp\group
*
* bldmake bldfiles
*
* abld build winscw udeb
*
* start the emulator
*
*
* HARDWARE (ARMV5)
*
* ------------------
*
* cd to \BrCtlSampleApp\group
*
* bldmake bldfiles
*
* abld build armv5 urel
*
* makesis BrCtlSampleApp_armv5.pkg
*
*
* HARDWARE (GCCE)
*
* ------------------
*
* cd to \BrCtlSampleApp\group
*
* bldmake bldfiles
*
* abld build gcce urel
*
* makesis BrCtlSampleApp_gcce.pkg
*
*
* HARDWARE (ARMV5_ABIV2)
*
* ------------------
*
* cd to \BrCtlSampleApp\group
*
* bldmake bldfiles
*
* abld build armv5_abiv2 urel
*
* makesis BrCtlSampleApp_armv5_abiv2.pkg
*
*
* Copy the sis file to the phone (memory card, bluetooth, etc)
* Run the sis file to install the application
*
* <HR>
*
* \section Hierarchy_sec 4. Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
<li><a class="el" href="class_c_br_ctl_sample_app.html">CBrCtlSampleApp</a>
<li><a class="el" href="class_c_br_ctl_sample_app_container.html">CBrCtlSampleAppContainer</a>
<li><a class="el" href="class_c_br_ctl_sample_app_dialogs_provider.html">CBrCtlSampleAppDialogsProvider</a>
<li><a class="el" href="class_c_br_ctl_sample_app_document.html">CBrCtlSampleAppDocument</a>
<li><a class="el" href="class_c_br_ctl_sample_app_layout_observer.html">CBrCtlSampleAppLayoutObserver</a>
<li><a class="el" href="class_c_br_ctl_sample_app_link_resolver.html">CBrCtlSampleAppLinkResolver</a>
<li><a class="el" href="class_c_br_ctl_sample_app_load_event_observer.html">CBrCtlSampleAppLoadEventObserver</a>
<li><a class="el" href="class_c_br_ctl_sample_app_query_dialog.html">CBrCtlSampleAppQueryDialog</a>
<li><a class="el" href="class_c_br_ctl_sample_app_softkeys_observer.html">CBrCtlSampleAppSoftkeysObserver</a>
<li><a class="el" href="class_c_br_ctl_sample_app_special_load_observer.html">CBrCtlSampleAppSpecialLoadObserver</a>
<li><a class="el" href="class_c_br_ctl_sample_app_state_change_observer.html">CBrCtlSampleAppStateChangeObserver</a>
<li><a class="el" href="class_c_br_ctl_sample_app_ui.html">CBrCtlSampleAppUi</a>
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -