📄 mainpage.dox
字号:
/*! \mainpage Browser Control Sample Application
*
* \ref intro_sec
* \n\ref Pre_sec
* \n\ref Design_sec
* \n\ref Hierarchy_sec
*
* <HR>
*
* \section intro_sec 1. About the Browser Control Sample Application Example
*
* This example shows how easy it is to create a browser control that will enable you to display
* web related content. In addition, this sample application demonstrates how to
* customize the browser control to fit the unique needs of your host application, by showing you
* how to customize soft keys, dialogs, scroll bars, etc.
*
* <HR>
*
* \section Pre_sec 2. Prerequisites
* Symbian OS key concepts
*
*
* <HR>
*
* \section Design_sec 3. Design and Implementation
*
* The Browser Control Sample Application was designed to accompany the Browser Control API
* Developers Guide. Each of the menu options in the Sample App Menu 1 and 2 demonstrate various
* functional use cases that could be useful when developing your own application. For a more detailed
* explaination of these use cases please refer to the API Guide.
*
* \subsection Sub31 3.1 Application Menu Choices
*
* When you start the Browser Control Sample Application you will notice the Options softkey.
*
* Opening the Options menu displays 3 menu choices:
*
* 1. Tools
*
* 2. Sample App Menu 1
*
* 3. Sample App Menu 2
*
* 4. Exit
*
* Tools menu options:
*
* 1. Restore settings
*
* - Restores the settings for small screen, security warnings, loading images, and enabling ecma script
*
* 2. Reload
*
* - Reloads the page
*
* 3. Back
*
* - Loads the previous page in the history stack
*
* 4. Forward
*
* - Loads the next page in the history stack
*
*
* Sample App Menu 1 options:
*
* 1. Basic BrCtl
*
* 2. BrCtl Observers
*
* 3. Load Content using File Handle
*
* 4. Load Content using Buffer
*
* 5. Incremental Loading
*
* 6. Special Load Requests
*
* 7. Customized Dialogs
*
* 8. Customized Softkeys
*
* 9. Embedded Links
*
* 10. Customized Scrollbars
*
* Sample App Menu 2 options:
*
* 1. Handle State Changed
*
* 2. Change Size Extents
*
* 3. Page Info
*
* 4. Content Size and Image Count
*
*
* \subsubsection Sub331 3.3.1 Basic BrCtl
*
* Basic Browser Control functionality includes:
* - Downloading and displaying Web content
*
* - Resolving links
*
* - Retrieving the following information about the downloaded content:
*
* - Display size needed to see all of the content (ContentSize function)
*
* - WML options associated with the current page (WMLOptionMenuItemsL function)
*
* - Value of a specified browser setting (BrowserSettingL function)
*
* - Indication of whether or not a particular URL is in the cache (IsUrlInCache function)
*
* - Information about the page, such as its title, URL, and content (PageInfoLC function)
*
* - Indication of whether there is a previous or next element in the history stack (NavigationAvailable function)
*
* - Build version of the Browser Control (VersionInfoLC function)
*
* - Number of images in the current page (ImageCountL function)
*
* - Type of focused element (FocusedElementType function)
*
* - Minimum size of the Browser Control (MinimumSize function)
*
* To create a basic Browser Control within your application to display Web-related content, call the following function of the CBrCtlInterface class:
*
* - CreateBrowserControlL() which creates an instance of a basic Browser Control.
*
* To call this function, supply the following data:
*
* - Parent window of the Browser Control which is a pointer to the parent of the Browser Control window.
*
* - Bounding rectangle of the Browser Control which is the size and location of the Browser Control window.
*
* - Capabilities desired for the Browser Control, for example, displaying scroll bars, allowing network access for HTTP requests.
*
* The Basic BrCtl menu option in the sample application creates an instance of a basic Browser Control. In this sample, the capabilities are set so that the Browser Control can:
*
* - Make external HTTP requests (ECapabilityLoadHttpFw)
*
* - Handle scroll bars (ECapabilityDisplayBar)
*
* This relieves the host application of these responsibilities.
*
*
* \subsubsection Sub332 3.3.2 BrCtl Observers
*
* An observer is an interface, implemented by the host application, which listens for Browser Control events and performs customized actions based on those events. Table 6 lists and describes the observer interfaces.
*
* - Dialogs Provider Provides the dialogs used by the Browser Control.
*
* Implement this interface if you wish to customize the dialogs.
*
* - Download Observer Handles download events received from the Download Manager. It provides a callback mechanism that enables the Download Manager to inform the host application about new downloads and downloads to resume.
*
* Implement this interface if you wish to display the content progressively as it is downloading.
*
* - Layout Observer Receives scrolling events and updates the scroll bar.
*
* Implement this interface if you wish to customize the scroll bars.
*
* - Link Resolver Provides a callback mechanism for receiving the content of an embedded link or the content of a user-initiated load request.
*
* Implement this interface if the host application must control page navigation or if the host application stores its content in a private store.
*
* - Load Event Observer Receives load progress events and updates the progress bar every time the Browser Control receives a data chunk.
*
* Implement this interface if the host application implements a progress bar.
*
* - Softkey Observer Listens for events and changes the softkeys based on those events.Handles requests from the Browser Control for the host application to change one or both softkeys.
*
* Implement this interface if changes in the state of the Browser Control require the host application to change the softkeys.
*
* - Special Load Observer Handles special load requests.
*
* Implement this interface if the host application requires:
*
* - Control over network connections
*
* - Non-markup content
*
* - Non-HTTP(S) requests
*
* - State Change Observer Receives state-changed events.
*
* Implement this interface if the Browser Control switches to and from the Image Map view.
*
* - Window Observer is reserved for future use.
*
*
* To create a Browser Control with observer interfaces, follow these steps:
*
* 1. Select the observer class you wish to add.
*
* 2. Implement the functions defined for the observer class you selected in step1.
*
* 3. Call the CreateBrowserControlL() function of the CBrCtlInterface class with the pointers to the newly created interface class(es).
*
*
* <b>Note:</b> The LoadEventObserver class can be added and removed dynamically. The other observers must be created and passed in to the CreateBrowserControlL function.
*
* The BrCtl Observers menu option in the sample application creates an instance of a Browser Control with observer interfaces.
*
* \subsubsection Sub333 3.3.3 Load Content using File Handle
*
* A host application can load content by calling a number of different load methods on the Browser Control.
* In the Load Content using File Handle menu option, we call LoadFileL() and pass it a RFile handle to an already open file.
* An RFile is a Symbian object that contains a handle to a resource that is maintained by the file server.
*
* \subsubsection Sub334 3.3.4 Load Content using Buffer
*
* A host application can load content by calling a number of different load methods on the Browser Control.
* In the Load Content using Buffer menu option, we call LoadDataL() and pass it a data buffer.
*
* \subsubsection Sub335 3.3.5 Incremental Loading
*
* The host application can pass content to the Browser Control in small chunks, if desired. The Browser Control displays this content incrementally.
* To pass content from the host application to the Browser Control incrementally, follow these steps:
*
* 1. Inherit from the MBrCtlDataLoadSupplier class and implement the CancelLoad() function to stop the load operation.
*
* 2. Call the InitLoadDataL() function of the CBrCtlInterface class to request the Browser Control to display content incrementally. *
*
* 3. Call the HandleNextDataChunk() function of the MBrCtlDataLoadConsumer class to pass the data chunks to the Browser Control.
*
* 4. Call the HandleLoadComplete() function when the data chunk has finished loading.
*
* 5. If an error occurs, call the HandleError() function.
*
* In the Incremental Loading menu option, we demonstrate how to pass content to the Browser Control incrementally.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -