summaryrefslogtreecommitdiff
path: root/documentation/gtk_interface.mdwn
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2017-02-04 09:41:13 +0000
committerDaniel Silverstone <dsilvers@digital-scurf.org>2017-02-04 09:41:13 +0000
commite7366bf41f68cfe07e9ea03fc4a398baecbae651 (patch)
tree5bb9c3cbe7eab7e70ff1ebd65d9de59a694762df /documentation/gtk_interface.mdwn
downloadnetsurf-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.mdwn36
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"]]
+