root/branch/PreferencesWindow/umitPreferences/VTabManager.py @ 3611

Revision 3611, 3.5 kB (checked in by luis, 5 years ago)

Fixed shadow on tabbox

Line 
1# Copyright (C) 2008 Adriano Monteiro Marques.
2#
3# Author: Luis A. Bastiao Silva <luis.kop@gmail.com>
4#
5# This program is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 2 of the License, or
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program; if not, write to the Free Software
17# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
19import os
20import gtk
21import gobject
22
23
24from umitCore.UmitLogging import log
25from umitCore.I18N import _
26
27############
28# Get Class
29from umitPreferences.GeneralSettings import *
30from umitPreferences.Interfaces import InterfaceDetails
31from umitPreferences.Expose import ExposeGeneral
32
33import umitPreferences.Interfaces
34import umitPreferences.Expose
35##############
36from umitPreferences.widgets.VTab import IconScroller
37
38from umitCore.Paths import Path
39pixmap = Path.pixmaps_dir
40
41class VTabManager(gtk.VBox):
42    def __init__(self):
43        gtk.VBox.__init__(self)
44        self.set_spacing(10)
45        self.set_border_width(0)
46        self.grab_focus()
47        self.fields = []
48       
49       
50       
51        # General:
52        self.fields.append({'name':_('General'),
53                            'image':'general-m.svg',
54                            'class': GeneralSettings,
55                            'cb':self._change_page_general})
56       
57        # Expose :
58       
59        items = [] 
60        factory = umitPreferences.Expose.Factory()
61       
62        items.append({'name':_('Window'),
63                      'box': factory.create("window")})
64       
65        items.append({'name':_('Scan Settings'),
66                      'box': factory.create("settings")})
67       
68       
69       
70        self.fields.append({'name':_('Expose'),
71                            'image':'expose-m.svg',
72                            'class': ExposeGeneral,
73                            'cb':self._change_page_expose, 
74                            'items':items})
75       
76        # Interface / Details :
77       
78        items = [] 
79        factory = umitPreferences.Interfaces.Factory()
80       
81        items.append({'name':_('Diff Colours'),
82                      'box': factory.create("diff")})
83       
84        items.append({'name':_('Nmap Results'),
85                      'box': factory.create("nmap")})
86       
87       
88        items.append({'name':_('Search'),
89                      'box': factory.create("search")})
90       
91       
92        self.fields.append({'name':_('Nmap/Interface'),
93                            'image':'fonts-m.svg',
94                            'items':items,
95                            'class': InterfaceDetails,
96                            'cb':self._change_page_interface})
97       
98        for i in self.fields:
99            if i.has_key('items'):
100                item = i['items']
101            else:
102                item = None 
103            icont = IconScroller(i['name'],\
104                                 os.path.join(pixmap, \
105                                              "Preferences" , i['image']),
106                                 item)
107            i['icont'] = icont
108            icont.set_size_request(-1,25)
109            self.pack_start(icont, False, False)
110            icont.connect("changed", i['cb'])
111    def _change_page_interface(self, widget, num):
112        if num == 0:
113            return False
114        menu = self.fields[2]
115        page = menu['items'][num-1]
116        self.change_page(page['box'])
117       
118       
119       
120    def _change_page_expose(self, widget, num):
121       
122        if num == 0:
123            return False
124        menu = self.fields[1]
125        page = menu['items'][num-1]
126        self.change_page(page['box'])
127       
128    def _change_page_general(self, widget, num):
129        self.change_page(GeneralSettings(_('General Settings')))
130       
131    def change_page(self, page):
132        """
133        Change page on main window
134        """
135       
136        # Get main window
137        pw = self.get_main_window()
138        pw.change_page(page)
139       
140    def get_main_window(self):
141        return self.get_parent().get_parent()
Note: See TracBrowser for help on using the browser.