diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2017-02-04 09:41:13 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2017-02-04 09:41:13 +0000 |
commit | e7366bf41f68cfe07e9ea03fc4a398baecbae651 (patch) | |
tree | 5bb9c3cbe7eab7e70ff1ebd65d9de59a694762df /documentation/gtk_interface.mdwn | |
download | netsurf-wiki-e7366bf41f68cfe07e9ea03fc4a398baecbae651.tar.gz netsurf-wiki-e7366bf41f68cfe07e9ea03fc4a398baecbae651.tar.bz2 |
Initial conversion from MediaWiki, 20170204
Diffstat (limited to 'documentation/gtk_interface.mdwn')
-rw-r--r-- | documentation/gtk_interface.mdwn | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/documentation/gtk_interface.mdwn b/documentation/gtk_interface.mdwn new file mode 100644 index 0000000..f480a52 --- /dev/null +++ b/documentation/gtk_interface.mdwn @@ -0,0 +1,36 @@ +[[!meta title="Documentation/GTK Interface"]] +[[!meta author="James Bursa"]] +[[!meta date="2010-04-07T17:05:44Z"]] + + +[[!toc]] This page describes the +GTK interface, which lives in the **gtk** directory. This interface is +used on Linux, BSD, and can be used on other platforms which have a port +of GTK. + +Windows and Scaffolding +----------------------- + +A "scaffolding" is a top-level main window, which contains a toolbar, +menu bar, and one or more tabs containing web pages. Each tab +corresponds to a gui\_window (and each frame if frames are present). + +All the UI designs for the main window are in netsurf.glade. +**wndBrowser** is a scaffolding. It contains a VBox containing a +MenuBar, Toolbar, Toolbar for search (normally hidden), and Notebook. + +The **tabContents** GtkTable (in tabContentsWindow) is used for each +tab. It contains a table with two rows and two columns, which contain +(line 1) a Layout, VScrollbar, (line 2) HPaned, and Statusbar (used for +resizing only). The HPaned contains the actual status bar (as a Label), +and a HScrollbar. + +Tab creation is implemented in gui\_create\_browser\_window() in +gtk/gtk\_window.c. The scrollbars are linked to the layout here. + +Frames are implemented as a ScrolledWindow containing a Layout, which is +then placed on the parent's Layout. This is also in +gui\_create\_browser\_window(). + +[[!inline raw=yes pages="Documentation"]] + |