| 1 |
# Copyright 1999-2005 Gentoo Foundation |
| 2 |
# This source code is distributed under the terms of version 2 of the GNU |
| 3 |
# General Public License as published by the Free Software Foundation, a copy |
| 4 |
# of which can be found in the main directory of this project. |
| 5 |
|
| 6 |
import gtk |
| 7 |
import GLIScreen |
| 8 |
from Widgets import Widgets |
| 9 |
|
| 10 |
class Panel(GLIScreen.GLIScreen): |
| 11 |
""" |
| 12 |
The summary of all installation options. |
| 13 |
|
| 14 |
@author: John N. Laliberte <allanonl@bu.edu> |
| 15 |
@license: GPL |
| 16 |
""" |
| 17 |
# Attributes: |
| 18 |
title="Summary of Installation Options" |
| 19 |
_helptext = """ |
| 20 |
<b><u>Review</u></b> |
| 21 |
|
| 22 |
The review screen currently doesn't do anything. This is still a work in |
| 23 |
progress, and is almost completed. If you want to review any of your settings |
| 24 |
you can use the back arrow and go to them. Otherwise, you have reached the point |
| 25 |
of no return. Click Install to begin the installation. This is the point at |
| 26 |
which changes are made to your disk and your system will be completely installed |
| 27 |
without any user intervention necessary. There will be an overall progress bar |
| 28 |
at the bottom as well as a sub-progress bar above it giving progress for that |
| 29 |
individual step. |
| 30 |
|
| 31 |
The log output is shown on the main tab, but compile output is also available in |
| 32 |
the Output tab. If an installation fails, these tabs will usually contain the |
| 33 |
relevant error information necessary to provide to the developers when reporting |
| 34 |
a bug. |
| 35 |
""" |
| 36 |
|
| 37 |
# Operations |
| 38 |
def __init__(self, controller): |
| 39 |
GLIScreen.GLIScreen.__init__(self, controller) |
| 40 |
|
| 41 |
vert = gtk.VBox(False, 10) # This box is content so it should fill space to force title to top |
| 42 |
horiz = gtk.HBox(False, 10) |
| 43 |
|
| 44 |
content_str = """ |
| 45 |
If you click Install here, the installer will generate the xml profile. |
| 46 |
""" |
| 47 |
# pack the description |
| 48 |
vert.pack_start(gtk.Label(content_str), expand=False, fill=False, padding=10) |
| 49 |
|
| 50 |
widgets=Widgets() |
| 51 |
self.treestore = gtk.TreeStore(str) |
| 52 |
|
| 53 |
# we'll add some data now - 4 rows with 3 child rows each |
| 54 |
#for parent in range(5): |
| 55 |
# piter = self.treestore.append(None, ['parent %i' % parent]) |
| 56 |
# for child in range(4): |
| 57 |
# self.treestore.append(piter, ['child %i of parent %i' % (child, parent)]) |
| 58 |
for item in self.controller.menuItems: |
| 59 |
self.treestore.append(None, [item['text']]) |
| 60 |
self.treeview = gtk.TreeView(self.treestore) |
| 61 |
self.tvcolumn = gtk.TreeViewColumn('Current Install Options') |
| 62 |
self.treeview.append_column(self.tvcolumn) |
| 63 |
self.cell = gtk.CellRendererText() |
| 64 |
self.tvcolumn.pack_start(self.cell, True) |
| 65 |
self.tvcolumn.add_attribute(self.cell, 'text', 0) |
| 66 |
self.treeview.set_search_column(0) |
| 67 |
|
| 68 |
scrolled_window = gtk.ScrolledWindow() |
| 69 |
scrolled_window.set_border_width(10) |
| 70 |
scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) |
| 71 |
vert.pack_start(scrolled_window, True, True, 0) |
| 72 |
scrolled_window.show() |
| 73 |
scrolled_window.add_with_viewport(self.treeview) |
| 74 |
#vert.pack_start(self.treeview, expand=False, fill=False, padding=10) |
| 75 |
|
| 76 |
self.add_content(vert) |
| 77 |
|
| 78 |
def activate(self): |
| 79 |
self.controller.SHOW_BUTTON_EXIT = True |
| 80 |
# self.controller.SHOW_BUTTON_HELP = True |
| 81 |
self.controller.SHOW_BUTTON_BACK = True |
| 82 |
self.controller.SHOW_BUTTON_FORWARD = False |
| 83 |
self.controller.SHOW_BUTTON_FINISH = True |