University of Buea
CSC 404
Software Engineering
Patriott Web Browser
Implementation Document
Version <1.0>
http://www.patriott.zzl.org
GROUP MEMBERS
Name Student ID
MADI WAMBA GILLES SC08A738
TCHAMDOU TCHATAT JULES AUDREY SC08A800
TONKEU NENDA FRANCE CYNTICHE SC08A810
NDANGANG YAMPA HAROLD SC08A757
Revision History
Date Version Description Author
INDEX
1. INTRODUCTION
2. PAGE
2.1 Attributes
2.2 Methods/Slots
3. TABULATIONS
3.1 Attributes
3.2 Methods/Slots
4. OPTIONS
6. BOOKMARKS
7. HISTORY
8. DOWNLOAD
9. MAINPAGE
1. INTRODUCTION
Patriott is software developed in an Object-Oriented language, the number of objects used in the codes
is very large, and for the corresponding classes for each object sometimes contain many attributes and
methods. For these raisons, here we will consider only some of those objects, those that play an
essential role in the functioning of the Program as well as their most important attributes and methods.
1. PAGE
The object page is parent to all button displayed in the browser window, it also manages the
content that is displayed after a request is send by the user, following are its attributes and
mathods.
2-1 Attributes:
● Name
This attribute holds the name of an instance of page.
● Webview
This is the most important attribute of any Page instance, it is inherited from the Webkit
module, it is the decoded content that is displayed to the user.
● Back
It is a button, it will emit a signal to the slot responsible for the display of the previous item in
the webview history.
● Forward
It is a button, it will emit a signal to the slot responsible for the display of the next item in the
webview history.
● Reload
It is a button, it will emit a signal to the slot responsible for the reload of the current item
displayed by the webview .
● Stop
It is a button, it will emit a signal to the slot responsible for the stopping the loading of a
webview item.
● Home
It is a button, it will emit a signal to the slot responsible for the display of the home item.
Note: In our language, a webview item represents a webpage.
2.2 Methods/Slots
● load(url)
This is the method that loads and display the webview item with address url
● home(void)
This is the slot that loads and display the home item.
● back(void)
This is the slot that loads and display of the previous item in the webview history.
● forward(void)
This is the slot that loads and display of the next item in the webview history.
● reload(void)
This is the slot that reloads and redisplay of the current item displayed by the webview .
● stop(void)
This is the slot that stops the loading of a webview item.
3. TABULATIONS
Patriott is a tabbed-browsing web browser, there comes the necessity of a structure to
handle the differents tabulations.
3.1 Attributes:
● Name
This attribute holds the name of the instance of the tabulation object used in Patriott.
● Page
This attributes hold an instance of the page object in each tab.
● addTab
It is a button, it will emit a signal to the slot responsible for adding a new tab to the
tabulations widget.
● closeTab
It is a button, it will emit a signal to the slot responsible for removing a tab from the
tabulations widget.
3.2 Methods/Slots
● addTab(void)
This slot adds a new empty tab to the tabulations object and create a page for that tab.
● addTab(url)
This slot adds a new tab to the tabulations object and load the item with address url to the
page attribute of that tab.
● closeTab(index)
This slot removes the tab at position index from the tabulations object.
● closeTab(void)
This slot removes the currently viewed tab from the tabulations object
Tabulations object
Attributes
Buttons
*addTab *closeTab *Page
Page
Attributes
*webview,
*back, *forward, *backward, *stop, *home
Methods/Slots
*load(url), *forward(void), *backward(void), *stop(void), *home(void)
Methods/Slots
*addTab(void) , *addTab(url) , *closeTab(index), *closeTab(void)
The Tabulations Object
4. OPTIONS
This is an object of type QWidget, it is the dialog where the user customizes the browser, it
stores all the settings of the browser locally, and loads them when the program starts.
5. BOOKMARKS
This is an object of type QWidget, it is the dialog where the user can manage its navigation
bookmarks. It stores them locally and loads them when the program starts.
6. HISTORY
This is an object of type QWidget, it is the dialog where the user can see and manage the
history of all page visited. Each time a web page is loaded into the PAGE object, a signal is
sent to the HISTORY object, it then adds information on that web page into the history list.
It stores them locally and loads them when the program starts.
7. DOWNLOAD
This is an object of type QWidget, it is the dialog that show to the user information about a
download in progress. Each time a web content is to be loaded into the PAGE object, the
DOWNLOAD object first check if that this content has a particular extension ( *.exe, *.rar,
*.zip, …) in which case, it stops the loading of that contents, and instead prompt the user to
download the content, and handle the download.
8. MAINPAGE
This is the main object of the page, it is of type QMainWindow; it is the main window of the
browser, it is parent to all other objects mentioned here, it connects them together, and
handle different signals emitted by each object. Mentioned here.