Private-config support for Dynamips IOS

Temperature sensors and power supplies for c7200 routers
Possibility to update the configs and IOS image of a router
This commit is contained in:
grossmj
2014-03-18 18:12:49 -06:00
parent e4f561bab1
commit 50b06d815a
21 changed files with 1207 additions and 436 deletions

View File

@@ -0,0 +1,21 @@
!
kerberos password
crypto RSA-key-pair %h.mydomain.com 0 1014940935
30820155 02010030 0D06092A 864886F7 0D010101 05000482 013F3082 013B0201
00024100 A7EA2920 73033037 689F8166 B6AEA7FF 91015466 7379FA4F D7B175C3
8D5D1E56 89B00E73 D5553491 06D651DA 71213D18 3E4EAF44 8C5F05F1 E8C1FE47
B07D5A1B 02030100 01024049 FE964106 6DD14199 8930ACE2 B3F4B45A 620B9F5A
23D67A78 C26AF2D1 C8C72504 987ADD3E 2755DCC4 70AADB86 679171D7 54A9038F
0EB080E7 8B514EB8 8A038102 2100D588 DF0A6D31 AEF5C231 5A4A3459 5D3FD973
F1A13EA8 2C25D210 6ACD4733 39AF0221 00C94EC2 9428B371 2599E7EA 8C89E86C
E188F689 3AFCFE7A 59B42810 E83DABBD 55022100 944FB792 D75ACDC9 96328F22
C10F5CAC 2F4DCF83 0E30E250 F6813E9D 0B99F1B3 02204863 D126D428 0B05197E
4362FC68 9F56CF18 D0AA6CB5 DA2B8DD4 66980D2D 47ED0221 00991914 B6CDC66E
60AF0332 D5FB2771 B9F0317B 886E6E48 B86CDFDF 3FC1D48E CA
quit
305C300D 06092A86 4886F70D 01010105 00034B00 30480241 00A7EA29 20730330
37689F81 66B6AEA7 FF910154 667379FA 4FD7B175 C38D5D1E 5689B00E 73D55534
9106D651 DA71213D 183E4EAF 448C5F05 F1E8C1FE 47B07D5A 1B020301 0001
quit
end

View File

@@ -738,7 +738,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
if running_nodes:
nodes = "\n".join(running_nodes)
MessageBox(self, "Save project", "Please stop the following nodes before saving the topology", nodes)
MessageBox(self, "Save project", "Please stop the following nodes before saving the topology to a new location", nodes)
return
if self._temporary_project:

View File

@@ -101,16 +101,18 @@ class Dynamips(Module):
path = settings.value("path", "")
image = settings.value("image", "")
startup_config = settings.value("startup_config", "")
private_config = settings.value("private_config", "")
platform = settings.value("platform", "")
chassis = settings.value("chassis", "")
idlepc = settings.value("idlepc", "")
ram = settings.value("ram", 128, type=int)
server = settings.value("server", "local")
server = settings.value("server", "local") # TODO: remote servers
key = "{server}:{image}".format(server=server, image=image)
self._ios_images[key] = {"path": path,
"image": image,
"startup_config": startup_config,
"private_config": private_config,
"platform": platform,
"chassis": chassis,
"idlepc": idlepc,
@@ -316,11 +318,15 @@ class Dynamips(Module):
if not ios_image:
raise ModuleError("No IOS image found for platform {}".format(node.settings()["platform"]))
settings = {}
# set initial settings like an idle-pc value
# set initial settings like the chassis or an idle-pc value etc.
if ios_image["chassis"]:
settings["chassis"] = ios_image["chassis"]
if ios_image["idlepc"]:
settings["idlepc"] = ios_image["idlepc"]
if ios_image["startup_config"]:
settings["startup_config"] = ios_image["startup_config"]
if ios_image["private_config"]:
settings["private_config"] = ios_image["private_config"]
node.setup(ios_image["path"], ios_image["ram"], initial_settings=settings)
else:
node.setup()

View File

@@ -105,9 +105,8 @@ class ATMSwitch(Node):
if error:
log.error("error while deleting {}: {}".format(self.name(), result["message"]))
self.error_signal.emit(self.name(), result["code"], result["message"])
else:
log.info("ATM switch {} has been deleted".format(self.name()))
self.delete_signal.emit()
log.info("ATM switch {} has been deleted".format(self.name()))
self.delete_signal.emit()
def update(self, new_settings):
"""

View File

@@ -39,7 +39,9 @@ class C7200(Router):
"disk1": 0,
"npe": npe,
"midplane": "vxr",
"clock_divisor": 4}
"clock_divisor": 4,
"sensors": [22, 22, 22, 22],
"power_supplies": [1, 1]}
# first slot is a mandatory Input/Output controller (based on NPE type)
if npe == "npe-g2":

View File

@@ -54,6 +54,7 @@ class Cloud(Node):
Cloud._name_instance_count += 1
name = "Cloud {}".format(self._name_id)
self.setStatus(Node.started) # this is an always-on node
self._defaults = {}
self._ports = []
self._module = module

View File

@@ -103,9 +103,8 @@ class EthernetHub(Node):
if error:
log.error("error while deleting {}: {}".format(self.name(), result["message"]))
self.error_signal.emit(self.name(), result["code"], result["message"])
else:
log.info("{} has been deleted".format(self.name()))
self.delete_signal.emit()
log.info("{} has been deleted".format(self.name()))
self.delete_signal.emit()
def update(self, new_settings):
"""

View File

@@ -103,9 +103,8 @@ class EthernetSwitch(Node):
if error:
log.error("error while deleting {}: {}".format(self.name(), result["message"]))
self.error_signal.emit(self.name(), result["code"], result["message"])
else:
log.info("Ethernet switch {} has been deleted".format(self.name()))
self.delete_signal.emit()
log.info("Ethernet switch {} has been deleted".format(self.name()))
self.delete_signal.emit()
def update(self, new_settings):
"""

View File

@@ -105,9 +105,8 @@ class FrameRelaySwitch(Node):
if error:
log.error("error while deleting {}: {}".format(self.name(), result["message"]))
self.error_signal.emit(self.name(), result["code"], result["message"])
else:
log.info("{} has been deleted".format(self.name()))
self.delete_signal.emit()
log.info("{} has been deleted".format(self.name()))
self.delete_signal.emit()
def update(self, new_settings):
"""

View File

@@ -213,9 +213,8 @@ class Router(Node):
if error:
log.error("error while deleting {}: {}".format(self.name(), result["message"]))
self.error_signal.emit(self.name(), result["code"], result["message"])
else:
log.info("router {} has been deleted".format(self.name()))
self.delete_signal.emit()
log.info("router {} has been deleted".format(self.name()))
self.delete_signal.emit()
def setup(self, image, ram, name=None, initial_settings={}):
"""
@@ -242,6 +241,8 @@ class Router(Node):
params["aux"] = self._settings["aux"] = initial_settings.pop("aux")
if "mac_addr" in initial_settings:
params["mac_addr"] = self._settings["mac_addr"] = initial_settings.pop("mac_addr")
if "chassis" in initial_settings:
params["chassis"] = self._settings["chassis"] = initial_settings.pop("chassis")
# other initial settings will be applied when the router has been created
if initial_settings:
@@ -324,10 +325,16 @@ class Router(Node):
if name in self._settings and self._settings[name] != value:
params[name] = value
# push the startup-config
if "startup_config" in new_settings and self._settings["startup_config"] != new_settings["startup_config"] \
and os.path.exists(new_settings["startup_config"]):
params["startup_config_base64"] = self._base64Config(new_settings["startup_config"])
# push the private-config
if "private_config" in new_settings and self._settings["private_config"] != new_settings["private_config"] \
and os.path.exists(new_settings["private_config"]):
params["private_config_base64"] = self._base64Config(new_settings["private_config"])
log.debug("{} is updating settings: {}".format(self.name(), params))
self._server.send_message("dynamips.vm.update", params, self._updateCallback)

View File

@@ -23,15 +23,10 @@ import os
import sys
import re
from gns3.qt import QtGui
from ..settings import PLATFORMS_DEFAULT_RAM
from ..settings import PLATFORMS_DEFAULT_RAM, CHASSIS
from .. import Dynamips
from ..ui.ios_router_preferences_page_ui import Ui_IOSRouterPreferencesPageWidget
# platforms with supported chassis
CHASSIS = {"c1700": ("1720", "1721", "1750", "1751", "1760"),
"c2600": ("2610", "2611", "2620", "2621", "2610XM", "2611XM", "2620XM", "2621XM", "2650XM", "2651XM"),
"c3600": ("3620", "3640", "3660")}
class IOSRouterPreferencesPage(QtGui.QWidget, Ui_IOSRouterPreferencesPageWidget):
"""
@@ -51,6 +46,7 @@ class IOSRouterPreferencesPage(QtGui.QWidget, Ui_IOSRouterPreferencesPageWidget)
self.uiIOSImagesTreeWidget.itemSelectionChanged.connect(self._iosImageChangedSlot)
self.uiIOSPathToolButton.clicked.connect(self._iosImageBrowserSlot)
self.uiStartupConfigToolButton.clicked.connect(self._startupConfigBrowserSlot)
self.uiPrivateConfigToolButton.clicked.connect(self._privateConfigBrowserSlot)
self.uiIdlePCFinderPushButton.clicked.connect(self._idlePCFinderSlot)
self.uiIOSImageTestSettingsPushButton.clicked.connect(self._testSettingsSlot)
@@ -79,6 +75,7 @@ class IOSRouterPreferencesPage(QtGui.QWidget, Ui_IOSRouterPreferencesPageWidget)
self.uiIOSPathLineEdit.setText(ios_image["path"])
self.uiStartupConfigLineEdit.setText(ios_image["startup_config"])
self.uiPrivateConfigLineEdit.setText(ios_image["private_config"])
index = self.uiPlatformComboBox.findText(ios_image["platform"])
if index != -1:
self.uiPlatformComboBox.setCurrentIndex(index)
@@ -106,6 +103,7 @@ class IOSRouterPreferencesPage(QtGui.QWidget, Ui_IOSRouterPreferencesPageWidget)
path = self.uiIOSPathLineEdit.text()
startup_config = self.uiStartupConfigLineEdit.text()
private_config = self.uiPrivateConfigLineEdit.text()
platform = self.uiPlatformComboBox.currentText()
chassis = self.uiChassisComboBox.currentText()
idlepc = self.uiIdlePCLineEdit.text()
@@ -143,6 +141,7 @@ class IOSRouterPreferencesPage(QtGui.QWidget, Ui_IOSRouterPreferencesPageWidget)
self._ios_images[key] = {"path": path,
"image": image,
"startup_config": startup_config,
"private_config": private_config,
"platform": platform,
"chassis": chassis,
"idlepc": idlepc,
@@ -209,14 +208,26 @@ class IOSRouterPreferencesPage(QtGui.QWidget, Ui_IOSRouterPreferencesPageWidget)
return
detected_platform = match.group(1)
detected_chassis = ""
# IOS images for the 3600 platform start with the chassis name (c3620 etc.)
for platform, chassis in CHASSIS.items():
if detected_platform[1:] in chassis:
detected_chassis = detected_platform[1:]
detected_platform = platform
break
if detected_platform not in PLATFORMS_DEFAULT_RAM:
QtGui.QMessageBox.warning(self, "IOS image", "This IOS image is for the {} platform and is not supported by this application!".format(detected_platform))
QtGui.QMessageBox.warning(self, "IOS image", "This IOS image is for the {} platform/chassis and is not supported by this application!".format(detected_platform))
return
index = self.uiPlatformComboBox.findText(detected_platform)
if index != -1:
self.uiPlatformComboBox.setCurrentIndex(index)
index = self.uiChassisComboBox.findText(detected_chassis)
if index != -1:
self.uiChassisComboBox.setCurrentIndex(index)
self.uiRAMSpinBox.setValue(PLATFORMS_DEFAULT_RAM[detected_platform])
def _startupConfigBrowserSlot(self):
@@ -233,16 +244,26 @@ class IOSRouterPreferencesPage(QtGui.QWidget, Ui_IOSRouterPreferencesPageWidget)
QtGui.QMessageBox.critical(self, "Startup configuration", "Cannot read {}".format(path))
return
if sys.platform.startswith('win'):
# Dynamips (Cygwin acutally) doesn't like non ascii paths on Windows
try:
path.encode('ascii')
except UnicodeEncodeError:
QtGui.QMessageBox.warning(self, "Startup configuration", "The startup configuration filename should contains only ascii (English) characters.")
self.uiStartupConfigLineEdit.clear()
self.uiStartupConfigLineEdit.setText(path)
def _privateConfigBrowserSlot(self):
"""
Slot to open a file browser and select a private-config file.
"""
#TODO: current directory for private-config + filter?
path = QtGui.QFileDialog.getOpenFileName(self, "Select a private configuration", ".")
if not path:
return
if not os.access(path, os.R_OK):
QtGui.QMessageBox.critical(self, "Private configuration", "Cannot read {}".format(path))
return
self.uiPrivateConfigLineEdit.clear()
self.uiPrivateConfigLineEdit.setText(path)
def _idlePCFinderSlot(self):
QtGui.QMessageBox.critical(self, "Idle-PC finder", "Sorry, not yet implemented!")

View File

@@ -21,11 +21,11 @@ Configuration page for Dynamips IOS routers.
import os
import re
from gns3.qt import QtGui
from gns3.qt import QtCore, QtGui
from .. import Dynamips
from gns3.node_configurator import ConfigurationError
from ..ui.router_configuration_page_ui import Ui_routerConfigPageWidget
# Network modules for the c2600 platform
C2600_NMS = (
"NM-1FE-TX",
@@ -171,6 +171,43 @@ class RouterConfigurationPage(QtGui.QWidget, Ui_routerConfigPageWidget):
1: self.uiWic1comboBox,
2: self.uiWic2comboBox}
self.uiStartupConfigToolButton.clicked.connect(self._startupConfigBrowserSlot)
self.uiPrivateConfigToolButton.clicked.connect(self._privateConfigBrowserSlot)
def _startupConfigBrowserSlot(self):
"""
Slot to open a file browser and select a startup-config file.
"""
#TODO: current directory for startup-config + filter?
path = QtGui.QFileDialog.getOpenFileName(self, "Select a startup configuration", ".")
if not path:
return
if not os.access(path, os.R_OK):
QtGui.QMessageBox.critical(self, "Startup configuration", "Cannot read {}".format(path))
return
self.uiStartupConfigLineEdit.clear()
self.uiStartupConfigLineEdit.setText(path)
def _privateConfigBrowserSlot(self):
"""
Slot to open a file browser and select a private-config file.
"""
#TODO: current directory for startup-config + filter?
path = QtGui.QFileDialog.getOpenFileName(self, "Select a private configuration", ".")
if not path:
return
if not os.access(path, os.R_OK):
QtGui.QMessageBox.critical(self, "Private configuration", "Cannot read {}".format(path))
return
self.uiPrivateConfigLineEdit.clear()
self.uiPrivateConfigLineEdit.setText(path)
def _loadAdapterConfig(self, platform, chassis, settings):
"""
Loads the adapter and WIC configuration.
@@ -237,18 +274,45 @@ class RouterConfigurationPage(QtGui.QWidget, Ui_routerConfigPageWidget):
self.uiNameLineEdit.setText(settings["name"])
self.uiConsolePortSpinBox.setValue(settings["console"])
self.uiAuxPortSpinBox.setValue(settings["aux"])
# load the startup-config
self.uiStartupConfigTextLabel.setText(settings["startup_config"])
self.uiStartupConfigLineEdit.setText(settings["startup_config"])
# load the private-config
self.uiPrivateConfigLineEdit.setText(settings["private_config"])
# load the MAC address setting
self.uiBaseMACLineEdit.setInputMask("HHHH.HHHH.HHHH;_")
# regexp = QtCore.QRegExp("([0-9a-fA-F]{4}\.){2}[0-9a-fA-F]{4}")
# validator = QtGui.QRegExpValidator(regexp)
# self.uiBaseMACLineEdit.setValidator(validator)
if settings["mac_addr"]:
self.uiBaseMACLineEdit.setText(settings["mac_addr"])
else:
self.uiBaseMACLineEdit.clear()
# load the available IOS images
ios_images = Dynamips.instance().iosImages()
for ios_image in ios_images.values():
if ios_image["platform"] == settings["platform"]:
self.uiIOSImageComboBox.addItem(ios_image["image"], ios_image["path"])
index = self.uiIOSImageComboBox.findText(os.path.basename(settings["image"]))
if index != -1:
self.uiIOSImageComboBox.setCurrentIndex(index)
else:
self.uiNameLabel.hide()
self.uiNameLineEdit.hide()
self.uiIOSImageLabel.hide()
self.uiIOSImageComboBox.hide()
self.uiStartupConfigLabel.hide()
self.uiStartupConfigTextLabel.hide()
self.uiStartupConfigLineEdit.hide()
self.uiStartupConfigToolButton.hide()
self.uiPrivateConfigLabel.hide()
self.uiPrivateConfigLineEdit.hide()
self.uiPrivateConfigToolButton.hide()
self.uiConsolePortLabel.hide()
self.uiConsolePortSpinBox.hide()
self.uiAuxPortLabel.hide()
@@ -262,13 +326,10 @@ class RouterConfigurationPage(QtGui.QWidget, Ui_routerConfigPageWidget):
chassis = ""
if "chassis" in settings:
chassis = settings["chassis"]
self.uiChassisLineEdit.setText(chassis)
self.uiChassisTextLabel.setText(chassis)
else:
self.uiChassisLabel.hide()
self.uiChassisLineEdit.hide()
# load the IOS image name without the full path
self.uiIOSImageTextLabel.setText(os.path.basename(settings["image"]))
self.uiChassisTextLabel.hide()
if platform == "c7200":
@@ -287,6 +348,22 @@ class RouterConfigurationPage(QtGui.QWidget, Ui_routerConfigPageWidget):
if index != -1:
self.uiNPEComboBox.setCurrentIndex(index)
# load the sensor settings
self.uiSensor1SpinBox.setValue(settings["sensors"][0])
self.uiSensor2SpinBox.setValue(settings["sensors"][1])
self.uiSensor3SpinBox.setValue(settings["sensors"][2])
self.uiSensor4SpinBox.setValue(settings["sensors"][3])
if settings["power_supplies"][0] == 1:
self.uiPowerSupply1ComboBox.setCurrentIndex(0)
else:
self.uiPowerSupply1ComboBox.setCurrentIndex(1)
if settings["power_supplies"][1] == 1:
self.uiPowerSupply2ComboBox.setCurrentIndex(0)
else:
self.uiPowerSupply2ComboBox.setCurrentIndex(1)
# all platforms but c7200 have the iomem feature
# let"s hide these widgets.
self.uiIomemLabel.hide()
@@ -297,6 +374,7 @@ class RouterConfigurationPage(QtGui.QWidget, Ui_routerConfigPageWidget):
self.uiMidplaneComboBox.hide()
self.uiNPELabel.hide()
self.uiNPEComboBox.hide()
self.uiTabWidget.removeTab(4) # environment tab
# load the I/O memory setting
self.uiIomemSpinBox.setValue(settings["iomem"])
@@ -310,13 +388,29 @@ class RouterConfigurationPage(QtGui.QWidget, Ui_routerConfigPageWidget):
# load all the slots with configured adapters
self._loadAdapterConfig(platform, chassis, settings)
# load the system ID (processor board ID in IOS) setting
self.uiSystemIdLineEdit.setText(settings["system_id"])
# load the configuration register setting
self.uiConfregLineEdit.setText(settings["confreg"])
# load the Exec Area setting
# load the exec area setting
self.uiExecAreaSpinBox.setValue(settings["exec_area"])
#self.uiTabWidget.removeTab(0)
# load the idle-pc setting
self.uiIdlepcLineEdit.setText(settings["idlepc"])
# load the idlemax setting
self.uiIdlemaxSpinBox.setValue(settings["idlemax"])
# load the idlesleep setting
self.uiIdlesleepSpinBox.setValue(settings["idlesleep"])
# load the mmap setting
self.uiMmapCheckBox.setChecked(settings["mmap"])
# load the sparsemem setting
self.uiSparseMemoryCheckBox.setChecked(settings["sparsemem"])
def _checkForLinkConnectedToAdapter(self, slot_number, settings, node):
"""
@@ -357,7 +451,7 @@ class RouterConfigurationPage(QtGui.QWidget, Ui_routerConfigPageWidget):
if (index != -1):
self._widget_wics[wic_number].setCurrentIndex(index)
QtGui.QMessageBox.critical(self, node.name(), "A link is connected to port {} on {}, please remove it first".format(node_port.name(),
wic))
wic))
raise ConfigurationError()
def saveSettings(self, settings, node, group=False):
@@ -379,30 +473,68 @@ class RouterConfigurationPage(QtGui.QWidget, Ui_routerConfigPageWidget):
settings["console"] = self.uiConsolePortSpinBox.value()
settings["aux"] = self.uiAuxPortSpinBox.value()
startup_config = self.uiStartupConfigLineEdit.text()
if startup_config != settings["startup_config"]:
if os.access(startup_config, os.R_OK):
settings["startup_config"] = startup_config
else:
QtGui.QMessageBox.critical(self, "Startup-config", "Cannot read the startup-config file")
private_config = self.uiPrivateConfigLineEdit.text()
if private_config != settings["private_config"]:
if os.access(private_config, os.R_OK):
settings["private_config"] = private_config
else:
QtGui.QMessageBox.critical(self, "Private-config", "Cannot read the private-config file")
# check and save the base MAC address
mac = self.uiBaseMACLineEdit.text()
if mac and not re.search(r"""^([0-9a-fA-F]{4}\.){2}[0-9a-fA-F]{4}$""", mac):
QtGui.QMessageBox.critical(self, "MAC address", "Invalid MAC address (format required: hhhh.hhhh.hhhh)")
elif mac != "":
settings["mac_addr"] = mac
# save the IOS image path
index = self.uiIOSImageComboBox.currentIndex()
ios_path = self.uiIOSImageComboBox.itemData(index)
settings["image"] = ios_path
else:
del settings["name"]
del settings["console"]
del settings["aux"]
del settings["mac_addr"]
del settings["startup_config"]
del settings["private_config"]
del settings["image"]
#del self._settings["image"]
# get the platform and chassis if applicable
platform = settings["platform"]
chassis = ""
if "chassis" in settings:
settings["chassis"] = self.uiChassisLineEdit.text()
settings["chassis"] = self.uiChassisTextLabel.text()
if platform == "c7200":
# save the midplane and NPE settings
settings["midplane"] = self.uiMidplaneComboBox.currentText()
settings["npe"] = self.uiNPEComboBox.currentText()
sensors = []
sensors.append(self.uiSensor1SpinBox.value())
sensors.append(self.uiSensor2SpinBox.value())
sensors.append(self.uiSensor3SpinBox.value())
sensors.append(self.uiSensor4SpinBox.value())
settings["sensors"] = sensors
power_supplies = []
if self.uiPowerSupply1ComboBox.currentIndex() == 0:
power_supplies.append(1)
else:
power_supplies.append(0)
if self.uiPowerSupply2ComboBox.currentIndex() == 0:
power_supplies.append(1)
else:
power_supplies.append(0)
settings["power_supplies"] = power_supplies
else:
# save the I/O memory setting
settings["iomem"] = self.uiIomemSpinBox.value()
@@ -413,6 +545,9 @@ class RouterConfigurationPage(QtGui.QWidget, Ui_routerConfigPageWidget):
settings["disk0"] = self.uiDisk0SpinBox.value()
settings["disk1"] = self.uiDisk1SpinBox.value()
# save the system ID (processor board ID in IOS) setting
settings["system_id"] = self.uiSystemIdLineEdit.text()
# save the configuration register setting
# TODO: check the format? 0xnnnn
settings["confreg"] = self.uiConfregLineEdit.text()
@@ -420,6 +555,22 @@ class RouterConfigurationPage(QtGui.QWidget, Ui_routerConfigPageWidget):
# save the exec area setting
settings["exec_area"] = self.uiExecAreaSpinBox.value()
# save the idle-pc setting
# TODO: check the format?
settings["idlepc"] = self.uiIdlepcLineEdit.text()
# save the idlemax setting
settings["idlemax"] = self.uiIdlemaxSpinBox.value()
# save the idlesleep setting
settings["idlesleep"] = self.uiIdlesleepSpinBox.value()
# save the mmap setting
settings["mmap"] = self.uiMmapCheckBox.isChecked()
# load the sparsemem setting
settings["sparsemem"] = self.uiSparseMemoryCheckBox.isChecked()
# save the adapters and WICs configuration and
# check if a module port is connected before removing or replacing.
for slot_number, widget in self._widget_slots.items():

View File

@@ -75,3 +75,8 @@ PLATFORMS_DEFAULT_RAM = {"c1700": 64,
"c3725": 128,
"c3745": 128,
"c7200": 256}
# platforms with supported chassis
CHASSIS = {"c1700": ("1720", "1721", "1750", "1751", "1760"),
"c2600": ("2610", "2611", "2620", "2621", "2610XM", "2611XM", "2620XM", "2621XM", "2650XM", "2651XM"),
"c3600": ("3620", "3640", "3660")}

View File

@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file '/home/grossmj/workspace/git/gns3-gui/gns3/modules/dynamips/ui/cloud_configuration_page.ui'
#
# Created: Sun Mar 16 11:16:57 2014
# Created: Mon Mar 17 17:42:16 2014
# by: PyQt4 UI code generator 4.10
#
# WARNING! All changes made in this file will be lost!

View File

@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file '/home/grossmj/workspace/git/gns3-gui/gns3/modules/dynamips/ui/dynamips_preferences_page.ui'
#
# Created: Fri Mar 7 14:47:47 2014
# Created: Mon Mar 17 21:37:06 2014
# by: PyQt4 UI code generator 4.10
#
# WARNING! All changes made in this file will be lost!

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>430</width>
<height>525</height>
<width>420</width>
<height>530</height>
</rect>
</property>
<property name="windowTitle">
@@ -23,8 +23,8 @@
<attribute name="title">
<string>IOS images</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0" colspan="2">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QTreeWidget" name="uiIOSImagesTreeWidget">
<column>
<property name="text">
@@ -43,7 +43,7 @@
</column>
</widget>
</item>
<item row="1" column="0" colspan="2">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Settings</string>
@@ -98,50 +98,68 @@
</layout>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiPrivateConfigLabel">
<property name="text">
<string>Private-config:</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLineEdit" name="uiPrivateConfigLineEdit"/>
</item>
<item>
<widget class="QToolButton" name="uiPrivateConfigToolButton">
<property name="text">
<string>...</string>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextOnly</enum>
</property>
</widget>
</item>
</layout>
</item>
<item row="3" column="0">
<widget class="QLabel" name="uiPlatformLabel">
<property name="text">
<string>Platform:</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="2">
<widget class="QComboBox" name="uiPlatformComboBox"/>
</item>
<item row="3" column="0">
<item row="4" column="0">
<widget class="QLabel" name="uiChassisLabel">
<property name="text">
<string>Chassis:</string>
</property>
</widget>
</item>
<item row="3" column="1" colspan="2">
<widget class="QComboBox" name="uiChassisComboBox"/>
</item>
<item row="4" column="0">
<item row="5" column="0">
<widget class="QLabel" name="uiIdlePCLabel">
<property name="text">
<string>Idle-PC:</string>
</property>
</widget>
</item>
<item row="4" column="1">
<item row="5" column="1">
<widget class="QLineEdit" name="uiIdlePCLineEdit"/>
</item>
<item row="4" column="2">
<item row="5" column="2">
<widget class="QPushButton" name="uiIdlePCFinderPushButton">
<property name="text">
<string>Idle-PC finder</string>
</property>
</widget>
</item>
<item row="5" column="0">
<item row="6" column="0">
<widget class="QLabel" name="uiRAMLabel">
<property name="text">
<string>RAM:</string>
</property>
</widget>
</item>
<item row="5" column="1" colspan="2">
<item row="6" column="1">
<widget class="QSpinBox" name="uiRAMSpinBox">
<property name="suffix">
<string> MB</string>
@@ -157,10 +175,16 @@
</property>
</widget>
</item>
<item row="3" column="1" colspan="2">
<widget class="QComboBox" name="uiPlatformComboBox"/>
</item>
<item row="4" column="1" colspan="2">
<widget class="QComboBox" name="uiChassisComboBox"/>
</item>
</layout>
</widget>
</item>
<item row="2" column="0">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QPushButton" name="uiIOSImageTestSettingsPushButton">

View File

@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file '/home/grossmj/workspace/git/gns3-gui/gns3/modules/dynamips/ui/ios_router_preferences_page.ui'
#
# Created: Thu Jan 30 21:12:48 2014
# Created: Tue Mar 18 16:02:30 2014
# by: PyQt4 UI code generator 4.10
#
# WARNING! All changes made in this file will be lost!
@@ -26,18 +26,18 @@ except AttributeError:
class Ui_IOSRouterPreferencesPageWidget(object):
def setupUi(self, IOSRouterPreferencesPageWidget):
IOSRouterPreferencesPageWidget.setObjectName(_fromUtf8("IOSRouterPreferencesPageWidget"))
IOSRouterPreferencesPageWidget.resize(430, 525)
IOSRouterPreferencesPageWidget.resize(420, 530)
self.vboxlayout = QtGui.QVBoxLayout(IOSRouterPreferencesPageWidget)
self.vboxlayout.setObjectName(_fromUtf8("vboxlayout"))
self.uiTabWidget = QtGui.QTabWidget(IOSRouterPreferencesPageWidget)
self.uiTabWidget.setObjectName(_fromUtf8("uiTabWidget"))
self.uiIOSImagesTabWidget = QtGui.QWidget()
self.uiIOSImagesTabWidget.setObjectName(_fromUtf8("uiIOSImagesTabWidget"))
self.gridLayout_3 = QtGui.QGridLayout(self.uiIOSImagesTabWidget)
self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
self.verticalLayout_2 = QtGui.QVBoxLayout(self.uiIOSImagesTabWidget)
self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
self.uiIOSImagesTreeWidget = QtGui.QTreeWidget(self.uiIOSImagesTabWidget)
self.uiIOSImagesTreeWidget.setObjectName(_fromUtf8("uiIOSImagesTreeWidget"))
self.gridLayout_3.addWidget(self.uiIOSImagesTreeWidget, 0, 0, 1, 2)
self.verticalLayout_2.addWidget(self.uiIOSImagesTreeWidget)
self.groupBox = QtGui.QGroupBox(self.uiIOSImagesTabWidget)
self.groupBox.setObjectName(_fromUtf8("groupBox"))
self.gridLayout_2 = QtGui.QGridLayout(self.groupBox)
@@ -68,37 +68,50 @@ class Ui_IOSRouterPreferencesPageWidget(object):
self.uiStartupConfigToolButton.setObjectName(_fromUtf8("uiStartupConfigToolButton"))
self.horizontalLayout_4.addWidget(self.uiStartupConfigToolButton)
self.gridLayout_2.addLayout(self.horizontalLayout_4, 1, 1, 1, 2)
self.uiPrivateConfigLabel = QtGui.QLabel(self.groupBox)
self.uiPrivateConfigLabel.setObjectName(_fromUtf8("uiPrivateConfigLabel"))
self.gridLayout_2.addWidget(self.uiPrivateConfigLabel, 2, 0, 1, 1)
self.horizontalLayout_6 = QtGui.QHBoxLayout()
self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
self.uiPrivateConfigLineEdit = QtGui.QLineEdit(self.groupBox)
self.uiPrivateConfigLineEdit.setObjectName(_fromUtf8("uiPrivateConfigLineEdit"))
self.horizontalLayout_6.addWidget(self.uiPrivateConfigLineEdit)
self.uiPrivateConfigToolButton = QtGui.QToolButton(self.groupBox)
self.uiPrivateConfigToolButton.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
self.uiPrivateConfigToolButton.setObjectName(_fromUtf8("uiPrivateConfigToolButton"))
self.horizontalLayout_6.addWidget(self.uiPrivateConfigToolButton)
self.gridLayout_2.addLayout(self.horizontalLayout_6, 2, 1, 1, 2)
self.uiPlatformLabel = QtGui.QLabel(self.groupBox)
self.uiPlatformLabel.setObjectName(_fromUtf8("uiPlatformLabel"))
self.gridLayout_2.addWidget(self.uiPlatformLabel, 2, 0, 1, 1)
self.uiPlatformComboBox = QtGui.QComboBox(self.groupBox)
self.uiPlatformComboBox.setObjectName(_fromUtf8("uiPlatformComboBox"))
self.gridLayout_2.addWidget(self.uiPlatformComboBox, 2, 1, 1, 2)
self.gridLayout_2.addWidget(self.uiPlatformLabel, 3, 0, 1, 1)
self.uiChassisLabel = QtGui.QLabel(self.groupBox)
self.uiChassisLabel.setObjectName(_fromUtf8("uiChassisLabel"))
self.gridLayout_2.addWidget(self.uiChassisLabel, 3, 0, 1, 1)
self.uiChassisComboBox = QtGui.QComboBox(self.groupBox)
self.uiChassisComboBox.setObjectName(_fromUtf8("uiChassisComboBox"))
self.gridLayout_2.addWidget(self.uiChassisComboBox, 3, 1, 1, 2)
self.gridLayout_2.addWidget(self.uiChassisLabel, 4, 0, 1, 1)
self.uiIdlePCLabel = QtGui.QLabel(self.groupBox)
self.uiIdlePCLabel.setObjectName(_fromUtf8("uiIdlePCLabel"))
self.gridLayout_2.addWidget(self.uiIdlePCLabel, 4, 0, 1, 1)
self.gridLayout_2.addWidget(self.uiIdlePCLabel, 5, 0, 1, 1)
self.uiIdlePCLineEdit = QtGui.QLineEdit(self.groupBox)
self.uiIdlePCLineEdit.setObjectName(_fromUtf8("uiIdlePCLineEdit"))
self.gridLayout_2.addWidget(self.uiIdlePCLineEdit, 4, 1, 1, 1)
self.gridLayout_2.addWidget(self.uiIdlePCLineEdit, 5, 1, 1, 1)
self.uiIdlePCFinderPushButton = QtGui.QPushButton(self.groupBox)
self.uiIdlePCFinderPushButton.setObjectName(_fromUtf8("uiIdlePCFinderPushButton"))
self.gridLayout_2.addWidget(self.uiIdlePCFinderPushButton, 4, 2, 1, 1)
self.gridLayout_2.addWidget(self.uiIdlePCFinderPushButton, 5, 2, 1, 1)
self.uiRAMLabel = QtGui.QLabel(self.groupBox)
self.uiRAMLabel.setObjectName(_fromUtf8("uiRAMLabel"))
self.gridLayout_2.addWidget(self.uiRAMLabel, 5, 0, 1, 1)
self.gridLayout_2.addWidget(self.uiRAMLabel, 6, 0, 1, 1)
self.uiRAMSpinBox = QtGui.QSpinBox(self.groupBox)
self.uiRAMSpinBox.setMinimum(16)
self.uiRAMSpinBox.setMaximum(65535)
self.uiRAMSpinBox.setProperty("value", 128)
self.uiRAMSpinBox.setObjectName(_fromUtf8("uiRAMSpinBox"))
self.gridLayout_2.addWidget(self.uiRAMSpinBox, 5, 1, 1, 2)
self.gridLayout_3.addWidget(self.groupBox, 1, 0, 1, 2)
self.gridLayout_2.addWidget(self.uiRAMSpinBox, 6, 1, 1, 1)
self.uiPlatformComboBox = QtGui.QComboBox(self.groupBox)
self.uiPlatformComboBox.setObjectName(_fromUtf8("uiPlatformComboBox"))
self.gridLayout_2.addWidget(self.uiPlatformComboBox, 3, 1, 1, 2)
self.uiChassisComboBox = QtGui.QComboBox(self.groupBox)
self.uiChassisComboBox.setObjectName(_fromUtf8("uiChassisComboBox"))
self.gridLayout_2.addWidget(self.uiChassisComboBox, 4, 1, 1, 2)
self.verticalLayout_2.addWidget(self.groupBox)
self.horizontalLayout_5 = QtGui.QHBoxLayout()
self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
self.uiIOSImageTestSettingsPushButton = QtGui.QPushButton(self.uiIOSImagesTabWidget)
@@ -111,7 +124,7 @@ class Ui_IOSRouterPreferencesPageWidget(object):
self.uiDeleteIOSImagePushButton.setEnabled(False)
self.uiDeleteIOSImagePushButton.setObjectName(_fromUtf8("uiDeleteIOSImagePushButton"))
self.horizontalLayout_5.addWidget(self.uiDeleteIOSImagePushButton)
self.gridLayout_3.addLayout(self.horizontalLayout_5, 2, 0, 1, 1)
self.verticalLayout_2.addLayout(self.horizontalLayout_5)
self.uiTabWidget.addTab(self.uiIOSImagesTabWidget, _fromUtf8(""))
self.uiIOSRoutersTabWidget = QtGui.QWidget()
self.uiIOSRoutersTabWidget.setObjectName(_fromUtf8("uiIOSRoutersTabWidget"))
@@ -151,6 +164,8 @@ class Ui_IOSRouterPreferencesPageWidget(object):
self.uiIOSPathToolButton.setText(_translate("IOSRouterPreferencesPageWidget", "...", None))
self.uiStartupConfigLabel.setText(_translate("IOSRouterPreferencesPageWidget", "Startup-config:", None))
self.uiStartupConfigToolButton.setText(_translate("IOSRouterPreferencesPageWidget", "...", None))
self.uiPrivateConfigLabel.setText(_translate("IOSRouterPreferencesPageWidget", "Private-config:", None))
self.uiPrivateConfigToolButton.setText(_translate("IOSRouterPreferencesPageWidget", "...", None))
self.uiPlatformLabel.setText(_translate("IOSRouterPreferencesPageWidget", "Platform:", None))
self.uiChassisLabel.setText(_translate("IOSRouterPreferencesPageWidget", "Chassis:", None))
self.uiIdlePCLabel.setText(_translate("IOSRouterPreferencesPageWidget", "Idle-PC:", None))

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>439</width>
<height>480</height>
<width>419</width>
<height>522</height>
</rect>
</property>
<property name="windowTitle">
@@ -19,7 +19,7 @@
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="uiGeneralTabWidget">
<widget class="QWidget" name="uiGeneralPageWidget">
<attribute name="title">
<string>General</string>
</attribute>
@@ -31,99 +31,9 @@
</property>
</widget>
</item>
<item row="0" column="2">
<item row="0" column="2" colspan="2">
<widget class="QLineEdit" name="uiNameLineEdit"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="uiConsolePortLabel">
<property name="text">
<string>Console port:</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QSpinBox" name="uiConsolePortSpinBox">
<property name="maximum">
<number>65535</number>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<widget class="QLabel" name="uiAuxPortLabel">
<property name="text">
<string>Aux console port:</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QSpinBox" name="uiAuxPortSpinBox">
<property name="maximum">
<number>65535</number>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="uiIOSImageLabel">
<property name="text">
<string>IOS image:</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="uiStartupConfigLabel">
<property name="text">
<string>Startup-config:</string>
</property>
</widget>
</item>
<item row="7" column="2">
<widget class="QLabel" name="uiStartupConfigTextLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="uiMidplaneLabel">
<property name="text">
<string>Midplane:</string>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="uiNPELabel">
<property name="text">
<string>NPE:</string>
</property>
</widget>
</item>
<item row="10" column="1" colspan="2">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>263</width>
<height>151</height>
</size>
</property>
</spacer>
</item>
<item row="6" column="2">
<widget class="QLabel" name="uiIOSImageTextLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="uiPlatformTextLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="uiPlatformLabel">
<property name="text">
@@ -138,10 +48,97 @@
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLineEdit" name="uiChassisLineEdit"/>
<item row="3" column="0">
<widget class="QLabel" name="uiIOSImageLabel">
<property name="text">
<string>IOS image:</string>
</property>
</widget>
</item>
<item row="8" column="2">
<item row="4" column="0">
<widget class="QLabel" name="uiStartupConfigLabel">
<property name="text">
<string>Startup-config:</string>
</property>
</widget>
</item>
<item row="4" column="2" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLineEdit" name="uiStartupConfigLineEdit"/>
</item>
<item>
<widget class="QToolButton" name="uiStartupConfigToolButton">
<property name="text">
<string>...</string>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextOnly</enum>
</property>
</widget>
</item>
</layout>
</item>
<item row="5" column="0">
<widget class="QLabel" name="uiPrivateConfigLabel">
<property name="text">
<string>Private-config:</string>
</property>
</widget>
</item>
<item row="5" column="2" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLineEdit" name="uiPrivateConfigLineEdit"/>
</item>
<item>
<widget class="QToolButton" name="uiPrivateConfigToolButton">
<property name="text">
<string>...</string>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextOnly</enum>
</property>
</widget>
</item>
</layout>
</item>
<item row="6" column="0">
<widget class="QLabel" name="uiConsolePortLabel">
<property name="text">
<string>Console port:</string>
</property>
</widget>
</item>
<item row="6" column="2" colspan="2">
<widget class="QSpinBox" name="uiConsolePortSpinBox">
<property name="maximum">
<number>65535</number>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="uiAuxPortLabel">
<property name="text">
<string>Aux port:</string>
</property>
</widget>
</item>
<item row="7" column="2" colspan="2">
<widget class="QSpinBox" name="uiAuxPortSpinBox">
<property name="maximum">
<number>65535</number>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="uiMidplaneLabel">
<property name="text">
<string>Midplane:</string>
</property>
</widget>
</item>
<item row="8" column="2" colspan="2">
<widget class="QComboBox" name="uiMidplaneComboBox">
<property name="enabled">
<bool>true</bool>
@@ -154,7 +151,14 @@
</property>
</widget>
</item>
<item row="9" column="2">
<item row="9" column="0">
<widget class="QLabel" name="uiNPELabel">
<property name="text">
<string>NPE:</string>
</property>
</widget>
</item>
<item row="9" column="2" colspan="2">
<widget class="QComboBox" name="uiNPEComboBox">
<property name="enabled">
<bool>true</bool>
@@ -167,19 +171,49 @@
</property>
</widget>
</item>
<item row="10" column="2" colspan="2">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>263</width>
<height>151</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="2" colspan="2">
<widget class="QLabel" name="uiPlatformTextLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="2" colspan="2">
<widget class="QComboBox" name="uiIOSImageComboBox"/>
</item>
<item row="2" column="2" colspan="2">
<widget class="QLabel" name="uiChassisTextLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="uiMemoriesTabWidget">
<widget class="QWidget" name="uiMemoriesPageWidget">
<attribute name="title">
<string>Memories and disks</string>
</attribute>
<layout class="QVBoxLayout">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QGroupBox" name="uiMemoriesGroupBox">
<property name="title">
<string>Memories</string>
</property>
<layout class="QGridLayout">
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QLabel" name="uiRamLabel">
<property name="text">
@@ -238,6 +272,38 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiIomemLabel">
<property name="text">
<string>I/O memory :</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="uiIomemSpinBox">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> %</string>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="singleStep">
<number>5</number>
</property>
<property name="value">
<number>5</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
@@ -317,7 +383,7 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="uiSlotsTabWidget">
<widget class="QWidget" name="uiSlotsPageWidget">
<attribute name="title">
<string>Slots</string>
</attribute>
@@ -515,113 +581,188 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="uiAdvancedTabWidget">
<widget class="QWidget" name="uiAdvancedPageWidget">
<attribute name="title">
<string>Advanced</string>
</attribute>
<layout class="QGridLayout">
<item row="0" column="0">
<widget class="QLabel" name="uiConfregLabel">
<property name="text">
<string>Confreg:</string>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QGroupBox" name="uiSystemGroupBox">
<property name="title">
<string>System</string>
</property>
<layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="1">
<widget class="QLineEdit" name="uiSystemIdLineEdit"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="uiConfregLabel">
<property name="text">
<string>Confreg:</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>System ID:</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiBaseMacLabel">
<property name="text">
<string>Base MAC:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="uiBaseMACLineEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string notr="true"/>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="uiConfregLineEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>0x2102</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="uiConfregLineEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>0x2102</string>
<item>
<widget class="QGroupBox" name="uiOptimizationsGroupBox">
<property name="title">
<string>Optimisations</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="3" column="0">
<widget class="QLabel" name="uiExecAreaLabel">
<property name="text">
<string>Exec area:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="uiExecAreaSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> MiB</string>
</property>
<property name="maximum">
<number>4096</number>
</property>
<property name="singleStep">
<number>4</number>
</property>
<property name="value">
<number>64</number>
</property>
</widget>
</item>
<item row="5" column="0" colspan="2">
<widget class="QCheckBox" name="uiSparseMemoryCheckBox">
<property name="text">
<string>Enable sparse memory support</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="uiIdlepcLabel">
<property name="text">
<string>Idle-PC:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="uiIdlepcLineEdit"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="uiIdlemaxLabel">
<property name="text">
<string>Idlemax:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="uiIdlemaxSpinBox">
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="singleStep">
<number>100</number>
</property>
<property name="value">
<number>1500</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiIdlesleepLabel">
<property name="text">
<string>Idlesleep:</string>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<widget class="QCheckBox" name="uiMmapCheckBox">
<property name="text">
<string>Enable mmap support</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="uiIdlesleepSpinBox">
<property name="suffix">
<string> ms</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>500</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
<property name="value">
<number>30</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="uiBaseMacLabel">
<property name="text">
<string>Base MAC:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="uiBaseMACLineEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiExecAreaLabel">
<property name="text">
<string>Exec area:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="uiExecAreaSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> MiB</string>
</property>
<property name="maximum">
<number>4096</number>
</property>
<property name="singleStep">
<number>4</number>
</property>
<property name="value">
<number>64</number>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="uiIomemLabel">
<property name="text">
<string>I/O memory :</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="uiIomemSpinBox">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> %</string>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="singleStep">
<number>5</number>
</property>
<property name="value">
<number>5</number>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<item>
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -636,12 +777,201 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="uiEnvironmentPageWidget">
<attribute name="title">
<string>Environment</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QGroupBox" name="uiPowerSuppliesGroupBox">
<property name="title">
<string>Power supplies</string>
</property>
<layout class="QGridLayout" name="gridLayout_7">
<item row="1" column="0">
<widget class="QLabel" name="uiPowerSupply2Label">
<property name="text">
<string>Power supply 2:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="uiPowerSupply1ComboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>1</number>
</property>
<item>
<property name="text">
<string>on</string>
</property>
</item>
<item>
<property name="text">
<string>off</string>
</property>
</item>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="uiPowerSupply1Label">
<property name="text">
<string>Power supply 1:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="uiPowerSupply2ComboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>1</number>
</property>
<item>
<property name="text">
<string>on</string>
</property>
</item>
<item>
<property name="text">
<string>off</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="uiSensorsGroupBox">
<property name="title">
<string>Temperature sensors</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="uiSensor1Label">
<property name="text">
<string>I/0 controller inlet:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="uiSensor1SpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> C</string>
</property>
<property name="maximum">
<number>100</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="uiSensor2Label">
<property name="text">
<string>I/0 controller outlet:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="uiSensor2SpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> C</string>
</property>
<property name="maximum">
<number>100</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiSensor3Label">
<property name="text">
<string>NPE inlet:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="uiSensor3SpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> C</string>
</property>
<property name="maximum">
<number>100</number>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="uiSensor4Label">
<property name="text">
<string>NPE outlet:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="uiSensor4SpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> C</string>
</property>
<property name="maximum">
<number>100</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>194</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<tabstops>
<tabstop>uiTabWidget</tabstop>
<tabstop>uiMidplaneComboBox</tabstop>
<tabstop>uiNPEComboBox</tabstop>
<tabstop>uiRamSpinBox</tabstop>
@@ -661,7 +991,6 @@
<tabstop>uiConfregLineEdit</tabstop>
<tabstop>uiBaseMACLineEdit</tabstop>
<tabstop>uiExecAreaSpinBox</tabstop>
<tabstop>uiIomemSpinBox</tabstop>
</tabstops>
<resources/>
<connections/>

View File

@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file '/home/grossmj/workspace/git/gns3-gui/gns3/modules/dynamips/ui/router_configuration_page.ui'
#
# Created: Fri Mar 7 14:47:47 2014
# Created: Tue Mar 18 17:23:00 2014
# by: PyQt4 UI code generator 4.10
#
# WARNING! All changes made in this file will be lost!
@@ -26,71 +26,74 @@ except AttributeError:
class Ui_routerConfigPageWidget(object):
def setupUi(self, routerConfigPageWidget):
routerConfigPageWidget.setObjectName(_fromUtf8("routerConfigPageWidget"))
routerConfigPageWidget.resize(439, 480)
routerConfigPageWidget.resize(419, 522)
self.vboxlayout = QtGui.QVBoxLayout(routerConfigPageWidget)
self.vboxlayout.setObjectName(_fromUtf8("vboxlayout"))
self.uiTabWidget = QtGui.QTabWidget(routerConfigPageWidget)
self.uiTabWidget.setObjectName(_fromUtf8("uiTabWidget"))
self.uiGeneralTabWidget = QtGui.QWidget()
self.uiGeneralTabWidget.setObjectName(_fromUtf8("uiGeneralTabWidget"))
self.gridLayout_2 = QtGui.QGridLayout(self.uiGeneralTabWidget)
self.uiGeneralPageWidget = QtGui.QWidget()
self.uiGeneralPageWidget.setObjectName(_fromUtf8("uiGeneralPageWidget"))
self.gridLayout_2 = QtGui.QGridLayout(self.uiGeneralPageWidget)
self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
self.uiNameLabel = QtGui.QLabel(self.uiGeneralTabWidget)
self.uiNameLabel = QtGui.QLabel(self.uiGeneralPageWidget)
self.uiNameLabel.setObjectName(_fromUtf8("uiNameLabel"))
self.gridLayout_2.addWidget(self.uiNameLabel, 0, 0, 1, 1)
self.uiNameLineEdit = QtGui.QLineEdit(self.uiGeneralTabWidget)
self.uiNameLineEdit = QtGui.QLineEdit(self.uiGeneralPageWidget)
self.uiNameLineEdit.setObjectName(_fromUtf8("uiNameLineEdit"))
self.gridLayout_2.addWidget(self.uiNameLineEdit, 0, 2, 1, 1)
self.uiConsolePortLabel = QtGui.QLabel(self.uiGeneralTabWidget)
self.uiConsolePortLabel.setObjectName(_fromUtf8("uiConsolePortLabel"))
self.gridLayout_2.addWidget(self.uiConsolePortLabel, 3, 0, 1, 1)
self.uiConsolePortSpinBox = QtGui.QSpinBox(self.uiGeneralTabWidget)
self.uiConsolePortSpinBox.setMaximum(65535)
self.uiConsolePortSpinBox.setObjectName(_fromUtf8("uiConsolePortSpinBox"))
self.gridLayout_2.addWidget(self.uiConsolePortSpinBox, 3, 2, 1, 1)
self.uiAuxPortLabel = QtGui.QLabel(self.uiGeneralTabWidget)
self.uiAuxPortLabel.setObjectName(_fromUtf8("uiAuxPortLabel"))
self.gridLayout_2.addWidget(self.uiAuxPortLabel, 4, 0, 1, 2)
self.uiAuxPortSpinBox = QtGui.QSpinBox(self.uiGeneralTabWidget)
self.uiAuxPortSpinBox.setMaximum(65535)
self.uiAuxPortSpinBox.setObjectName(_fromUtf8("uiAuxPortSpinBox"))
self.gridLayout_2.addWidget(self.uiAuxPortSpinBox, 4, 2, 1, 1)
self.uiIOSImageLabel = QtGui.QLabel(self.uiGeneralTabWidget)
self.uiIOSImageLabel.setObjectName(_fromUtf8("uiIOSImageLabel"))
self.gridLayout_2.addWidget(self.uiIOSImageLabel, 6, 0, 1, 1)
self.uiStartupConfigLabel = QtGui.QLabel(self.uiGeneralTabWidget)
self.uiStartupConfigLabel.setObjectName(_fromUtf8("uiStartupConfigLabel"))
self.gridLayout_2.addWidget(self.uiStartupConfigLabel, 7, 0, 1, 1)
self.uiStartupConfigTextLabel = QtGui.QLabel(self.uiGeneralTabWidget)
self.uiStartupConfigTextLabel.setText(_fromUtf8(""))
self.uiStartupConfigTextLabel.setObjectName(_fromUtf8("uiStartupConfigTextLabel"))
self.gridLayout_2.addWidget(self.uiStartupConfigTextLabel, 7, 2, 1, 1)
self.uiMidplaneLabel = QtGui.QLabel(self.uiGeneralTabWidget)
self.uiMidplaneLabel.setObjectName(_fromUtf8("uiMidplaneLabel"))
self.gridLayout_2.addWidget(self.uiMidplaneLabel, 8, 0, 1, 1)
self.uiNPELabel = QtGui.QLabel(self.uiGeneralTabWidget)
self.uiNPELabel.setObjectName(_fromUtf8("uiNPELabel"))
self.gridLayout_2.addWidget(self.uiNPELabel, 9, 0, 1, 1)
spacerItem = QtGui.QSpacerItem(263, 151, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_2.addItem(spacerItem, 10, 1, 1, 2)
self.uiIOSImageTextLabel = QtGui.QLabel(self.uiGeneralTabWidget)
self.uiIOSImageTextLabel.setText(_fromUtf8(""))
self.uiIOSImageTextLabel.setObjectName(_fromUtf8("uiIOSImageTextLabel"))
self.gridLayout_2.addWidget(self.uiIOSImageTextLabel, 6, 2, 1, 1)
self.uiPlatformTextLabel = QtGui.QLabel(self.uiGeneralTabWidget)
self.uiPlatformTextLabel.setText(_fromUtf8(""))
self.uiPlatformTextLabel.setObjectName(_fromUtf8("uiPlatformTextLabel"))
self.gridLayout_2.addWidget(self.uiPlatformTextLabel, 1, 2, 1, 1)
self.uiPlatformLabel = QtGui.QLabel(self.uiGeneralTabWidget)
self.gridLayout_2.addWidget(self.uiNameLineEdit, 0, 2, 1, 2)
self.uiPlatformLabel = QtGui.QLabel(self.uiGeneralPageWidget)
self.uiPlatformLabel.setObjectName(_fromUtf8("uiPlatformLabel"))
self.gridLayout_2.addWidget(self.uiPlatformLabel, 1, 0, 1, 1)
self.uiChassisLabel = QtGui.QLabel(self.uiGeneralTabWidget)
self.uiChassisLabel = QtGui.QLabel(self.uiGeneralPageWidget)
self.uiChassisLabel.setObjectName(_fromUtf8("uiChassisLabel"))
self.gridLayout_2.addWidget(self.uiChassisLabel, 2, 0, 1, 1)
self.uiChassisLineEdit = QtGui.QLineEdit(self.uiGeneralTabWidget)
self.uiChassisLineEdit.setObjectName(_fromUtf8("uiChassisLineEdit"))
self.gridLayout_2.addWidget(self.uiChassisLineEdit, 2, 2, 1, 1)
self.uiMidplaneComboBox = QtGui.QComboBox(self.uiGeneralTabWidget)
self.uiIOSImageLabel = QtGui.QLabel(self.uiGeneralPageWidget)
self.uiIOSImageLabel.setObjectName(_fromUtf8("uiIOSImageLabel"))
self.gridLayout_2.addWidget(self.uiIOSImageLabel, 3, 0, 1, 1)
self.uiStartupConfigLabel = QtGui.QLabel(self.uiGeneralPageWidget)
self.uiStartupConfigLabel.setObjectName(_fromUtf8("uiStartupConfigLabel"))
self.gridLayout_2.addWidget(self.uiStartupConfigLabel, 4, 0, 1, 1)
self.horizontalLayout_4 = QtGui.QHBoxLayout()
self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
self.uiStartupConfigLineEdit = QtGui.QLineEdit(self.uiGeneralPageWidget)
self.uiStartupConfigLineEdit.setObjectName(_fromUtf8("uiStartupConfigLineEdit"))
self.horizontalLayout_4.addWidget(self.uiStartupConfigLineEdit)
self.uiStartupConfigToolButton = QtGui.QToolButton(self.uiGeneralPageWidget)
self.uiStartupConfigToolButton.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
self.uiStartupConfigToolButton.setObjectName(_fromUtf8("uiStartupConfigToolButton"))
self.horizontalLayout_4.addWidget(self.uiStartupConfigToolButton)
self.gridLayout_2.addLayout(self.horizontalLayout_4, 4, 2, 1, 2)
self.uiPrivateConfigLabel = QtGui.QLabel(self.uiGeneralPageWidget)
self.uiPrivateConfigLabel.setObjectName(_fromUtf8("uiPrivateConfigLabel"))
self.gridLayout_2.addWidget(self.uiPrivateConfigLabel, 5, 0, 1, 1)
self.horizontalLayout_6 = QtGui.QHBoxLayout()
self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
self.uiPrivateConfigLineEdit = QtGui.QLineEdit(self.uiGeneralPageWidget)
self.uiPrivateConfigLineEdit.setObjectName(_fromUtf8("uiPrivateConfigLineEdit"))
self.horizontalLayout_6.addWidget(self.uiPrivateConfigLineEdit)
self.uiPrivateConfigToolButton = QtGui.QToolButton(self.uiGeneralPageWidget)
self.uiPrivateConfigToolButton.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
self.uiPrivateConfigToolButton.setObjectName(_fromUtf8("uiPrivateConfigToolButton"))
self.horizontalLayout_6.addWidget(self.uiPrivateConfigToolButton)
self.gridLayout_2.addLayout(self.horizontalLayout_6, 5, 2, 1, 2)
self.uiConsolePortLabel = QtGui.QLabel(self.uiGeneralPageWidget)
self.uiConsolePortLabel.setObjectName(_fromUtf8("uiConsolePortLabel"))
self.gridLayout_2.addWidget(self.uiConsolePortLabel, 6, 0, 1, 1)
self.uiConsolePortSpinBox = QtGui.QSpinBox(self.uiGeneralPageWidget)
self.uiConsolePortSpinBox.setMaximum(65535)
self.uiConsolePortSpinBox.setObjectName(_fromUtf8("uiConsolePortSpinBox"))
self.gridLayout_2.addWidget(self.uiConsolePortSpinBox, 6, 2, 1, 2)
self.uiAuxPortLabel = QtGui.QLabel(self.uiGeneralPageWidget)
self.uiAuxPortLabel.setObjectName(_fromUtf8("uiAuxPortLabel"))
self.gridLayout_2.addWidget(self.uiAuxPortLabel, 7, 0, 1, 1)
self.uiAuxPortSpinBox = QtGui.QSpinBox(self.uiGeneralPageWidget)
self.uiAuxPortSpinBox.setMaximum(65535)
self.uiAuxPortSpinBox.setObjectName(_fromUtf8("uiAuxPortSpinBox"))
self.gridLayout_2.addWidget(self.uiAuxPortSpinBox, 7, 2, 1, 2)
self.uiMidplaneLabel = QtGui.QLabel(self.uiGeneralPageWidget)
self.uiMidplaneLabel.setObjectName(_fromUtf8("uiMidplaneLabel"))
self.gridLayout_2.addWidget(self.uiMidplaneLabel, 8, 0, 1, 1)
self.uiMidplaneComboBox = QtGui.QComboBox(self.uiGeneralPageWidget)
self.uiMidplaneComboBox.setEnabled(True)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
@@ -98,8 +101,11 @@ class Ui_routerConfigPageWidget(object):
sizePolicy.setHeightForWidth(self.uiMidplaneComboBox.sizePolicy().hasHeightForWidth())
self.uiMidplaneComboBox.setSizePolicy(sizePolicy)
self.uiMidplaneComboBox.setObjectName(_fromUtf8("uiMidplaneComboBox"))
self.gridLayout_2.addWidget(self.uiMidplaneComboBox, 8, 2, 1, 1)
self.uiNPEComboBox = QtGui.QComboBox(self.uiGeneralTabWidget)
self.gridLayout_2.addWidget(self.uiMidplaneComboBox, 8, 2, 1, 2)
self.uiNPELabel = QtGui.QLabel(self.uiGeneralPageWidget)
self.uiNPELabel.setObjectName(_fromUtf8("uiNPELabel"))
self.gridLayout_2.addWidget(self.uiNPELabel, 9, 0, 1, 1)
self.uiNPEComboBox = QtGui.QComboBox(self.uiGeneralPageWidget)
self.uiNPEComboBox.setEnabled(True)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
@@ -107,19 +113,32 @@ class Ui_routerConfigPageWidget(object):
sizePolicy.setHeightForWidth(self.uiNPEComboBox.sizePolicy().hasHeightForWidth())
self.uiNPEComboBox.setSizePolicy(sizePolicy)
self.uiNPEComboBox.setObjectName(_fromUtf8("uiNPEComboBox"))
self.gridLayout_2.addWidget(self.uiNPEComboBox, 9, 2, 1, 1)
self.uiTabWidget.addTab(self.uiGeneralTabWidget, _fromUtf8(""))
self.uiMemoriesTabWidget = QtGui.QWidget()
self.uiMemoriesTabWidget.setObjectName(_fromUtf8("uiMemoriesTabWidget"))
self.vboxlayout1 = QtGui.QVBoxLayout(self.uiMemoriesTabWidget)
self.vboxlayout1.setObjectName(_fromUtf8("vboxlayout1"))
self.uiMemoriesGroupBox = QtGui.QGroupBox(self.uiMemoriesTabWidget)
self.gridLayout_2.addWidget(self.uiNPEComboBox, 9, 2, 1, 2)
spacerItem = QtGui.QSpacerItem(263, 151, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_2.addItem(spacerItem, 10, 2, 1, 2)
self.uiPlatformTextLabel = QtGui.QLabel(self.uiGeneralPageWidget)
self.uiPlatformTextLabel.setText(_fromUtf8(""))
self.uiPlatformTextLabel.setObjectName(_fromUtf8("uiPlatformTextLabel"))
self.gridLayout_2.addWidget(self.uiPlatformTextLabel, 1, 2, 1, 2)
self.uiIOSImageComboBox = QtGui.QComboBox(self.uiGeneralPageWidget)
self.uiIOSImageComboBox.setObjectName(_fromUtf8("uiIOSImageComboBox"))
self.gridLayout_2.addWidget(self.uiIOSImageComboBox, 3, 2, 1, 2)
self.uiChassisTextLabel = QtGui.QLabel(self.uiGeneralPageWidget)
self.uiChassisTextLabel.setText(_fromUtf8(""))
self.uiChassisTextLabel.setObjectName(_fromUtf8("uiChassisTextLabel"))
self.gridLayout_2.addWidget(self.uiChassisTextLabel, 2, 2, 1, 2)
self.uiTabWidget.addTab(self.uiGeneralPageWidget, _fromUtf8(""))
self.uiMemoriesPageWidget = QtGui.QWidget()
self.uiMemoriesPageWidget.setObjectName(_fromUtf8("uiMemoriesPageWidget"))
self.verticalLayout_2 = QtGui.QVBoxLayout(self.uiMemoriesPageWidget)
self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
self.uiMemoriesGroupBox = QtGui.QGroupBox(self.uiMemoriesPageWidget)
self.uiMemoriesGroupBox.setObjectName(_fromUtf8("uiMemoriesGroupBox"))
self.gridlayout = QtGui.QGridLayout(self.uiMemoriesGroupBox)
self.gridlayout.setObjectName(_fromUtf8("gridlayout"))
self.gridLayout_5 = QtGui.QGridLayout(self.uiMemoriesGroupBox)
self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
self.uiRamLabel = QtGui.QLabel(self.uiMemoriesGroupBox)
self.uiRamLabel.setObjectName(_fromUtf8("uiRamLabel"))
self.gridlayout.addWidget(self.uiRamLabel, 0, 0, 1, 1)
self.gridLayout_5.addWidget(self.uiRamLabel, 0, 0, 1, 1)
self.uiRamSpinBox = QtGui.QSpinBox(self.uiMemoriesGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
@@ -130,10 +149,10 @@ class Ui_routerConfigPageWidget(object):
self.uiRamSpinBox.setSingleStep(4)
self.uiRamSpinBox.setProperty("value", 128)
self.uiRamSpinBox.setObjectName(_fromUtf8("uiRamSpinBox"))
self.gridlayout.addWidget(self.uiRamSpinBox, 0, 1, 1, 1)
self.gridLayout_5.addWidget(self.uiRamSpinBox, 0, 1, 1, 1)
self.uiNvramLabel = QtGui.QLabel(self.uiMemoriesGroupBox)
self.uiNvramLabel.setObjectName(_fromUtf8("uiNvramLabel"))
self.gridlayout.addWidget(self.uiNvramLabel, 1, 0, 1, 1)
self.gridLayout_5.addWidget(self.uiNvramLabel, 1, 0, 1, 1)
self.uiNvramSpinBox = QtGui.QSpinBox(self.uiMemoriesGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
@@ -144,15 +163,30 @@ class Ui_routerConfigPageWidget(object):
self.uiNvramSpinBox.setSingleStep(4)
self.uiNvramSpinBox.setProperty("value", 128)
self.uiNvramSpinBox.setObjectName(_fromUtf8("uiNvramSpinBox"))
self.gridlayout.addWidget(self.uiNvramSpinBox, 1, 1, 1, 1)
self.vboxlayout1.addWidget(self.uiMemoriesGroupBox)
self.uiDisksGroupBox = QtGui.QGroupBox(self.uiMemoriesTabWidget)
self.gridLayout_5.addWidget(self.uiNvramSpinBox, 1, 1, 1, 1)
self.uiIomemLabel = QtGui.QLabel(self.uiMemoriesGroupBox)
self.uiIomemLabel.setObjectName(_fromUtf8("uiIomemLabel"))
self.gridLayout_5.addWidget(self.uiIomemLabel, 2, 0, 1, 1)
self.uiIomemSpinBox = QtGui.QSpinBox(self.uiMemoriesGroupBox)
self.uiIomemSpinBox.setEnabled(True)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.uiIomemSpinBox.sizePolicy().hasHeightForWidth())
self.uiIomemSpinBox.setSizePolicy(sizePolicy)
self.uiIomemSpinBox.setMaximum(100)
self.uiIomemSpinBox.setSingleStep(5)
self.uiIomemSpinBox.setProperty("value", 5)
self.uiIomemSpinBox.setObjectName(_fromUtf8("uiIomemSpinBox"))
self.gridLayout_5.addWidget(self.uiIomemSpinBox, 2, 1, 1, 1)
self.verticalLayout_2.addWidget(self.uiMemoriesGroupBox)
self.uiDisksGroupBox = QtGui.QGroupBox(self.uiMemoriesPageWidget)
self.uiDisksGroupBox.setObjectName(_fromUtf8("uiDisksGroupBox"))
self.gridlayout1 = QtGui.QGridLayout(self.uiDisksGroupBox)
self.gridlayout1.setObjectName(_fromUtf8("gridlayout1"))
self.gridlayout = QtGui.QGridLayout(self.uiDisksGroupBox)
self.gridlayout.setObjectName(_fromUtf8("gridlayout"))
self.uiDisk0Label = QtGui.QLabel(self.uiDisksGroupBox)
self.uiDisk0Label.setObjectName(_fromUtf8("uiDisk0Label"))
self.gridlayout1.addWidget(self.uiDisk0Label, 0, 0, 1, 1)
self.gridlayout.addWidget(self.uiDisk0Label, 0, 0, 1, 1)
self.uiDisk0SpinBox = QtGui.QSpinBox(self.uiDisksGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
@@ -162,10 +196,10 @@ class Ui_routerConfigPageWidget(object):
self.uiDisk0SpinBox.setMaximum(99999)
self.uiDisk0SpinBox.setSingleStep(4)
self.uiDisk0SpinBox.setObjectName(_fromUtf8("uiDisk0SpinBox"))
self.gridlayout1.addWidget(self.uiDisk0SpinBox, 0, 1, 1, 1)
self.gridlayout.addWidget(self.uiDisk0SpinBox, 0, 1, 1, 1)
self.uiDisk1Label = QtGui.QLabel(self.uiDisksGroupBox)
self.uiDisk1Label.setObjectName(_fromUtf8("uiDisk1Label"))
self.gridlayout1.addWidget(self.uiDisk1Label, 1, 0, 1, 1)
self.gridlayout.addWidget(self.uiDisk1Label, 1, 0, 1, 1)
self.uiDisk1SpinBox = QtGui.QSpinBox(self.uiDisksGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
@@ -175,16 +209,16 @@ class Ui_routerConfigPageWidget(object):
self.uiDisk1SpinBox.setMaximum(99999)
self.uiDisk1SpinBox.setSingleStep(4)
self.uiDisk1SpinBox.setObjectName(_fromUtf8("uiDisk1SpinBox"))
self.gridlayout1.addWidget(self.uiDisk1SpinBox, 1, 1, 1, 1)
self.vboxlayout1.addWidget(self.uiDisksGroupBox)
self.gridlayout.addWidget(self.uiDisk1SpinBox, 1, 1, 1, 1)
self.verticalLayout_2.addWidget(self.uiDisksGroupBox)
spacerItem1 = QtGui.QSpacerItem(20, 21, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.vboxlayout1.addItem(spacerItem1)
self.uiTabWidget.addTab(self.uiMemoriesTabWidget, _fromUtf8(""))
self.uiSlotsTabWidget = QtGui.QWidget()
self.uiSlotsTabWidget.setObjectName(_fromUtf8("uiSlotsTabWidget"))
self.verticalLayout = QtGui.QVBoxLayout(self.uiSlotsTabWidget)
self.verticalLayout_2.addItem(spacerItem1)
self.uiTabWidget.addTab(self.uiMemoriesPageWidget, _fromUtf8(""))
self.uiSlotsPageWidget = QtGui.QWidget()
self.uiSlotsPageWidget.setObjectName(_fromUtf8("uiSlotsPageWidget"))
self.verticalLayout = QtGui.QVBoxLayout(self.uiSlotsPageWidget)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.uiAdaptersGroupBox = QtGui.QGroupBox(self.uiSlotsTabWidget)
self.uiAdaptersGroupBox = QtGui.QGroupBox(self.uiSlotsPageWidget)
self.uiAdaptersGroupBox.setObjectName(_fromUtf8("uiAdaptersGroupBox"))
self.gridLayout = QtGui.QGridLayout(self.uiAdaptersGroupBox)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
@@ -266,10 +300,10 @@ class Ui_routerConfigPageWidget(object):
self.uiSlot6comboBox.setObjectName(_fromUtf8("uiSlot6comboBox"))
self.gridLayout.addWidget(self.uiSlot6comboBox, 6, 1, 1, 1)
self.verticalLayout.addWidget(self.uiAdaptersGroupBox)
self.uiWicsGroupBox = QtGui.QGroupBox(self.uiSlotsTabWidget)
self.uiWicsGroupBox = QtGui.QGroupBox(self.uiSlotsPageWidget)
self.uiWicsGroupBox.setObjectName(_fromUtf8("uiWicsGroupBox"))
self.gridlayout2 = QtGui.QGridLayout(self.uiWicsGroupBox)
self.gridlayout2.setObjectName(_fromUtf8("gridlayout2"))
self.gridlayout1 = QtGui.QGridLayout(self.uiWicsGroupBox)
self.gridlayout1.setObjectName(_fromUtf8("gridlayout1"))
self.uiWic0Label = QtGui.QLabel(self.uiWicsGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
@@ -277,10 +311,10 @@ class Ui_routerConfigPageWidget(object):
sizePolicy.setHeightForWidth(self.uiWic0Label.sizePolicy().hasHeightForWidth())
self.uiWic0Label.setSizePolicy(sizePolicy)
self.uiWic0Label.setObjectName(_fromUtf8("uiWic0Label"))
self.gridlayout2.addWidget(self.uiWic0Label, 0, 0, 1, 1)
self.gridlayout1.addWidget(self.uiWic0Label, 0, 0, 1, 1)
self.uiWic0comboBox = QtGui.QComboBox(self.uiWicsGroupBox)
self.uiWic0comboBox.setObjectName(_fromUtf8("uiWic0comboBox"))
self.gridlayout2.addWidget(self.uiWic0comboBox, 0, 1, 1, 1)
self.gridlayout1.addWidget(self.uiWic0comboBox, 0, 1, 1, 1)
self.uiWic1Label = QtGui.QLabel(self.uiWicsGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
@@ -288,10 +322,10 @@ class Ui_routerConfigPageWidget(object):
sizePolicy.setHeightForWidth(self.uiWic1Label.sizePolicy().hasHeightForWidth())
self.uiWic1Label.setSizePolicy(sizePolicy)
self.uiWic1Label.setObjectName(_fromUtf8("uiWic1Label"))
self.gridlayout2.addWidget(self.uiWic1Label, 1, 0, 1, 1)
self.gridlayout1.addWidget(self.uiWic1Label, 1, 0, 1, 1)
self.uiWic1comboBox = QtGui.QComboBox(self.uiWicsGroupBox)
self.uiWic1comboBox.setObjectName(_fromUtf8("uiWic1comboBox"))
self.gridlayout2.addWidget(self.uiWic1comboBox, 1, 1, 1, 1)
self.gridlayout1.addWidget(self.uiWic1comboBox, 1, 1, 1, 1)
self.uiWic2Label = QtGui.QLabel(self.uiWicsGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
@@ -299,33 +333,35 @@ class Ui_routerConfigPageWidget(object):
sizePolicy.setHeightForWidth(self.uiWic2Label.sizePolicy().hasHeightForWidth())
self.uiWic2Label.setSizePolicy(sizePolicy)
self.uiWic2Label.setObjectName(_fromUtf8("uiWic2Label"))
self.gridlayout2.addWidget(self.uiWic2Label, 2, 0, 1, 1)
self.gridlayout1.addWidget(self.uiWic2Label, 2, 0, 1, 1)
self.uiWic2comboBox = QtGui.QComboBox(self.uiWicsGroupBox)
self.uiWic2comboBox.setObjectName(_fromUtf8("uiWic2comboBox"))
self.gridlayout2.addWidget(self.uiWic2comboBox, 2, 1, 1, 1)
self.gridlayout1.addWidget(self.uiWic2comboBox, 2, 1, 1, 1)
self.verticalLayout.addWidget(self.uiWicsGroupBox)
spacerItem2 = QtGui.QSpacerItem(325, 31, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.verticalLayout.addItem(spacerItem2)
self.uiTabWidget.addTab(self.uiSlotsTabWidget, _fromUtf8(""))
self.uiAdvancedTabWidget = QtGui.QWidget()
self.uiAdvancedTabWidget.setObjectName(_fromUtf8("uiAdvancedTabWidget"))
self.gridlayout3 = QtGui.QGridLayout(self.uiAdvancedTabWidget)
self.gridlayout3.setObjectName(_fromUtf8("gridlayout3"))
self.uiConfregLabel = QtGui.QLabel(self.uiAdvancedTabWidget)
self.uiTabWidget.addTab(self.uiSlotsPageWidget, _fromUtf8(""))
self.uiAdvancedPageWidget = QtGui.QWidget()
self.uiAdvancedPageWidget.setObjectName(_fromUtf8("uiAdvancedPageWidget"))
self.verticalLayout_4 = QtGui.QVBoxLayout(self.uiAdvancedPageWidget)
self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
self.uiSystemGroupBox = QtGui.QGroupBox(self.uiAdvancedPageWidget)
self.uiSystemGroupBox.setObjectName(_fromUtf8("uiSystemGroupBox"))
self.gridLayout_6 = QtGui.QGridLayout(self.uiSystemGroupBox)
self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
self.uiSystemIdLineEdit = QtGui.QLineEdit(self.uiSystemGroupBox)
self.uiSystemIdLineEdit.setObjectName(_fromUtf8("uiSystemIdLineEdit"))
self.gridLayout_6.addWidget(self.uiSystemIdLineEdit, 0, 1, 1, 1)
self.uiConfregLabel = QtGui.QLabel(self.uiSystemGroupBox)
self.uiConfregLabel.setObjectName(_fromUtf8("uiConfregLabel"))
self.gridlayout3.addWidget(self.uiConfregLabel, 0, 0, 1, 1)
self.uiConfregLineEdit = QtGui.QLineEdit(self.uiAdvancedTabWidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.uiConfregLineEdit.sizePolicy().hasHeightForWidth())
self.uiConfregLineEdit.setSizePolicy(sizePolicy)
self.uiConfregLineEdit.setObjectName(_fromUtf8("uiConfregLineEdit"))
self.gridlayout3.addWidget(self.uiConfregLineEdit, 0, 1, 1, 1)
self.uiBaseMacLabel = QtGui.QLabel(self.uiAdvancedTabWidget)
self.gridLayout_6.addWidget(self.uiConfregLabel, 1, 0, 1, 1)
self.label = QtGui.QLabel(self.uiSystemGroupBox)
self.label.setObjectName(_fromUtf8("label"))
self.gridLayout_6.addWidget(self.label, 0, 0, 1, 1)
self.uiBaseMacLabel = QtGui.QLabel(self.uiSystemGroupBox)
self.uiBaseMacLabel.setObjectName(_fromUtf8("uiBaseMacLabel"))
self.gridlayout3.addWidget(self.uiBaseMacLabel, 1, 0, 1, 1)
self.uiBaseMACLineEdit = QtGui.QLineEdit(self.uiAdvancedTabWidget)
self.gridLayout_6.addWidget(self.uiBaseMacLabel, 2, 0, 1, 1)
self.uiBaseMACLineEdit = QtGui.QLineEdit(self.uiSystemGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -333,11 +369,24 @@ class Ui_routerConfigPageWidget(object):
self.uiBaseMACLineEdit.setSizePolicy(sizePolicy)
self.uiBaseMACLineEdit.setText(_fromUtf8(""))
self.uiBaseMACLineEdit.setObjectName(_fromUtf8("uiBaseMACLineEdit"))
self.gridlayout3.addWidget(self.uiBaseMACLineEdit, 1, 1, 1, 1)
self.uiExecAreaLabel = QtGui.QLabel(self.uiAdvancedTabWidget)
self.gridLayout_6.addWidget(self.uiBaseMACLineEdit, 2, 1, 1, 1)
self.uiConfregLineEdit = QtGui.QLineEdit(self.uiSystemGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.uiConfregLineEdit.sizePolicy().hasHeightForWidth())
self.uiConfregLineEdit.setSizePolicy(sizePolicy)
self.uiConfregLineEdit.setObjectName(_fromUtf8("uiConfregLineEdit"))
self.gridLayout_6.addWidget(self.uiConfregLineEdit, 1, 1, 1, 1)
self.verticalLayout_4.addWidget(self.uiSystemGroupBox)
self.uiOptimizationsGroupBox = QtGui.QGroupBox(self.uiAdvancedPageWidget)
self.uiOptimizationsGroupBox.setObjectName(_fromUtf8("uiOptimizationsGroupBox"))
self.gridLayout_4 = QtGui.QGridLayout(self.uiOptimizationsGroupBox)
self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
self.uiExecAreaLabel = QtGui.QLabel(self.uiOptimizationsGroupBox)
self.uiExecAreaLabel.setObjectName(_fromUtf8("uiExecAreaLabel"))
self.gridlayout3.addWidget(self.uiExecAreaLabel, 2, 0, 1, 1)
self.uiExecAreaSpinBox = QtGui.QSpinBox(self.uiAdvancedTabWidget)
self.gridLayout_4.addWidget(self.uiExecAreaLabel, 3, 0, 1, 1)
self.uiExecAreaSpinBox = QtGui.QSpinBox(self.uiOptimizationsGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -347,31 +396,143 @@ class Ui_routerConfigPageWidget(object):
self.uiExecAreaSpinBox.setSingleStep(4)
self.uiExecAreaSpinBox.setProperty("value", 64)
self.uiExecAreaSpinBox.setObjectName(_fromUtf8("uiExecAreaSpinBox"))
self.gridlayout3.addWidget(self.uiExecAreaSpinBox, 2, 1, 1, 1)
self.uiIomemLabel = QtGui.QLabel(self.uiAdvancedTabWidget)
self.uiIomemLabel.setObjectName(_fromUtf8("uiIomemLabel"))
self.gridlayout3.addWidget(self.uiIomemLabel, 3, 0, 1, 1)
self.uiIomemSpinBox = QtGui.QSpinBox(self.uiAdvancedTabWidget)
self.uiIomemSpinBox.setEnabled(True)
self.gridLayout_4.addWidget(self.uiExecAreaSpinBox, 3, 1, 1, 1)
self.uiSparseMemoryCheckBox = QtGui.QCheckBox(self.uiOptimizationsGroupBox)
self.uiSparseMemoryCheckBox.setChecked(False)
self.uiSparseMemoryCheckBox.setObjectName(_fromUtf8("uiSparseMemoryCheckBox"))
self.gridLayout_4.addWidget(self.uiSparseMemoryCheckBox, 5, 0, 1, 2)
self.uiIdlepcLabel = QtGui.QLabel(self.uiOptimizationsGroupBox)
self.uiIdlepcLabel.setObjectName(_fromUtf8("uiIdlepcLabel"))
self.gridLayout_4.addWidget(self.uiIdlepcLabel, 0, 0, 1, 1)
self.uiIdlepcLineEdit = QtGui.QLineEdit(self.uiOptimizationsGroupBox)
self.uiIdlepcLineEdit.setObjectName(_fromUtf8("uiIdlepcLineEdit"))
self.gridLayout_4.addWidget(self.uiIdlepcLineEdit, 0, 1, 1, 1)
self.uiIdlemaxLabel = QtGui.QLabel(self.uiOptimizationsGroupBox)
self.uiIdlemaxLabel.setObjectName(_fromUtf8("uiIdlemaxLabel"))
self.gridLayout_4.addWidget(self.uiIdlemaxLabel, 1, 0, 1, 1)
self.uiIdlemaxSpinBox = QtGui.QSpinBox(self.uiOptimizationsGroupBox)
self.uiIdlemaxSpinBox.setMinimum(100)
self.uiIdlemaxSpinBox.setMaximum(10000)
self.uiIdlemaxSpinBox.setSingleStep(100)
self.uiIdlemaxSpinBox.setProperty("value", 1500)
self.uiIdlemaxSpinBox.setObjectName(_fromUtf8("uiIdlemaxSpinBox"))
self.gridLayout_4.addWidget(self.uiIdlemaxSpinBox, 1, 1, 1, 1)
self.uiIdlesleepLabel = QtGui.QLabel(self.uiOptimizationsGroupBox)
self.uiIdlesleepLabel.setObjectName(_fromUtf8("uiIdlesleepLabel"))
self.gridLayout_4.addWidget(self.uiIdlesleepLabel, 2, 0, 1, 1)
self.uiMmapCheckBox = QtGui.QCheckBox(self.uiOptimizationsGroupBox)
self.uiMmapCheckBox.setChecked(True)
self.uiMmapCheckBox.setObjectName(_fromUtf8("uiMmapCheckBox"))
self.gridLayout_4.addWidget(self.uiMmapCheckBox, 4, 0, 1, 2)
self.uiIdlesleepSpinBox = QtGui.QSpinBox(self.uiOptimizationsGroupBox)
self.uiIdlesleepSpinBox.setMinimum(1)
self.uiIdlesleepSpinBox.setMaximum(500)
self.uiIdlesleepSpinBox.setSingleStep(10)
self.uiIdlesleepSpinBox.setProperty("value", 30)
self.uiIdlesleepSpinBox.setObjectName(_fromUtf8("uiIdlesleepSpinBox"))
self.gridLayout_4.addWidget(self.uiIdlesleepSpinBox, 2, 1, 1, 1)
self.verticalLayout_4.addWidget(self.uiOptimizationsGroupBox)
spacerItem3 = QtGui.QSpacerItem(304, 251, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.verticalLayout_4.addItem(spacerItem3)
self.uiTabWidget.addTab(self.uiAdvancedPageWidget, _fromUtf8(""))
self.uiEnvironmentPageWidget = QtGui.QWidget()
self.uiEnvironmentPageWidget.setObjectName(_fromUtf8("uiEnvironmentPageWidget"))
self.verticalLayout_3 = QtGui.QVBoxLayout(self.uiEnvironmentPageWidget)
self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
self.uiPowerSuppliesGroupBox = QtGui.QGroupBox(self.uiEnvironmentPageWidget)
self.uiPowerSuppliesGroupBox.setObjectName(_fromUtf8("uiPowerSuppliesGroupBox"))
self.gridLayout_7 = QtGui.QGridLayout(self.uiPowerSuppliesGroupBox)
self.gridLayout_7.setObjectName(_fromUtf8("gridLayout_7"))
self.uiPowerSupply2Label = QtGui.QLabel(self.uiPowerSuppliesGroupBox)
self.uiPowerSupply2Label.setObjectName(_fromUtf8("uiPowerSupply2Label"))
self.gridLayout_7.addWidget(self.uiPowerSupply2Label, 1, 0, 1, 1)
self.uiPowerSupply1ComboBox = QtGui.QComboBox(self.uiPowerSuppliesGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.uiIomemSpinBox.sizePolicy().hasHeightForWidth())
self.uiIomemSpinBox.setSizePolicy(sizePolicy)
self.uiIomemSpinBox.setMaximum(100)
self.uiIomemSpinBox.setSingleStep(5)
self.uiIomemSpinBox.setProperty("value", 5)
self.uiIomemSpinBox.setObjectName(_fromUtf8("uiIomemSpinBox"))
self.gridlayout3.addWidget(self.uiIomemSpinBox, 3, 1, 1, 1)
spacerItem3 = QtGui.QSpacerItem(304, 251, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridlayout3.addItem(spacerItem3, 4, 0, 1, 2)
self.uiTabWidget.addTab(self.uiAdvancedTabWidget, _fromUtf8(""))
sizePolicy.setHeightForWidth(self.uiPowerSupply1ComboBox.sizePolicy().hasHeightForWidth())
self.uiPowerSupply1ComboBox.setSizePolicy(sizePolicy)
self.uiPowerSupply1ComboBox.setObjectName(_fromUtf8("uiPowerSupply1ComboBox"))
self.uiPowerSupply1ComboBox.addItem(_fromUtf8(""))
self.uiPowerSupply1ComboBox.addItem(_fromUtf8(""))
self.gridLayout_7.addWidget(self.uiPowerSupply1ComboBox, 0, 1, 1, 1)
self.uiPowerSupply1Label = QtGui.QLabel(self.uiPowerSuppliesGroupBox)
self.uiPowerSupply1Label.setObjectName(_fromUtf8("uiPowerSupply1Label"))
self.gridLayout_7.addWidget(self.uiPowerSupply1Label, 0, 0, 1, 1)
self.uiPowerSupply2ComboBox = QtGui.QComboBox(self.uiPowerSuppliesGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.uiPowerSupply2ComboBox.sizePolicy().hasHeightForWidth())
self.uiPowerSupply2ComboBox.setSizePolicy(sizePolicy)
self.uiPowerSupply2ComboBox.setObjectName(_fromUtf8("uiPowerSupply2ComboBox"))
self.uiPowerSupply2ComboBox.addItem(_fromUtf8(""))
self.uiPowerSupply2ComboBox.addItem(_fromUtf8(""))
self.gridLayout_7.addWidget(self.uiPowerSupply2ComboBox, 1, 1, 1, 1)
self.verticalLayout_3.addWidget(self.uiPowerSuppliesGroupBox)
self.uiSensorsGroupBox = QtGui.QGroupBox(self.uiEnvironmentPageWidget)
self.uiSensorsGroupBox.setObjectName(_fromUtf8("uiSensorsGroupBox"))
self.gridLayout_3 = QtGui.QGridLayout(self.uiSensorsGroupBox)
self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
self.uiSensor1Label = QtGui.QLabel(self.uiSensorsGroupBox)
self.uiSensor1Label.setObjectName(_fromUtf8("uiSensor1Label"))
self.gridLayout_3.addWidget(self.uiSensor1Label, 0, 0, 1, 1)
self.uiSensor1SpinBox = QtGui.QSpinBox(self.uiSensorsGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.uiSensor1SpinBox.sizePolicy().hasHeightForWidth())
self.uiSensor1SpinBox.setSizePolicy(sizePolicy)
self.uiSensor1SpinBox.setMaximum(100)
self.uiSensor1SpinBox.setObjectName(_fromUtf8("uiSensor1SpinBox"))
self.gridLayout_3.addWidget(self.uiSensor1SpinBox, 0, 1, 1, 1)
self.uiSensor2Label = QtGui.QLabel(self.uiSensorsGroupBox)
self.uiSensor2Label.setObjectName(_fromUtf8("uiSensor2Label"))
self.gridLayout_3.addWidget(self.uiSensor2Label, 1, 0, 1, 1)
self.uiSensor2SpinBox = QtGui.QSpinBox(self.uiSensorsGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.uiSensor2SpinBox.sizePolicy().hasHeightForWidth())
self.uiSensor2SpinBox.setSizePolicy(sizePolicy)
self.uiSensor2SpinBox.setMaximum(100)
self.uiSensor2SpinBox.setObjectName(_fromUtf8("uiSensor2SpinBox"))
self.gridLayout_3.addWidget(self.uiSensor2SpinBox, 1, 1, 1, 1)
self.uiSensor3Label = QtGui.QLabel(self.uiSensorsGroupBox)
self.uiSensor3Label.setObjectName(_fromUtf8("uiSensor3Label"))
self.gridLayout_3.addWidget(self.uiSensor3Label, 2, 0, 1, 1)
self.uiSensor3SpinBox = QtGui.QSpinBox(self.uiSensorsGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.uiSensor3SpinBox.sizePolicy().hasHeightForWidth())
self.uiSensor3SpinBox.setSizePolicy(sizePolicy)
self.uiSensor3SpinBox.setMaximum(100)
self.uiSensor3SpinBox.setObjectName(_fromUtf8("uiSensor3SpinBox"))
self.gridLayout_3.addWidget(self.uiSensor3SpinBox, 2, 1, 1, 1)
self.uiSensor4Label = QtGui.QLabel(self.uiSensorsGroupBox)
self.uiSensor4Label.setObjectName(_fromUtf8("uiSensor4Label"))
self.gridLayout_3.addWidget(self.uiSensor4Label, 3, 0, 1, 1)
self.uiSensor4SpinBox = QtGui.QSpinBox(self.uiSensorsGroupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.uiSensor4SpinBox.sizePolicy().hasHeightForWidth())
self.uiSensor4SpinBox.setSizePolicy(sizePolicy)
self.uiSensor4SpinBox.setMaximum(100)
self.uiSensor4SpinBox.setObjectName(_fromUtf8("uiSensor4SpinBox"))
self.gridLayout_3.addWidget(self.uiSensor4SpinBox, 3, 1, 1, 1)
self.verticalLayout_3.addWidget(self.uiSensorsGroupBox)
spacerItem4 = QtGui.QSpacerItem(20, 194, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.verticalLayout_3.addItem(spacerItem4)
self.uiTabWidget.addTab(self.uiEnvironmentPageWidget, _fromUtf8(""))
self.vboxlayout.addWidget(self.uiTabWidget)
self.retranslateUi(routerConfigPageWidget)
self.uiTabWidget.setCurrentIndex(0)
self.uiPowerSupply1ComboBox.setCurrentIndex(1)
self.uiPowerSupply2ComboBox.setCurrentIndex(1)
QtCore.QMetaObject.connectSlotsByName(routerConfigPageWidget)
routerConfigPageWidget.setTabOrder(self.uiTabWidget, self.uiMidplaneComboBox)
routerConfigPageWidget.setTabOrder(self.uiMidplaneComboBox, self.uiNPEComboBox)
routerConfigPageWidget.setTabOrder(self.uiNPEComboBox, self.uiRamSpinBox)
routerConfigPageWidget.setTabOrder(self.uiRamSpinBox, self.uiNvramSpinBox)
@@ -390,31 +551,35 @@ class Ui_routerConfigPageWidget(object):
routerConfigPageWidget.setTabOrder(self.uiWic2comboBox, self.uiConfregLineEdit)
routerConfigPageWidget.setTabOrder(self.uiConfregLineEdit, self.uiBaseMACLineEdit)
routerConfigPageWidget.setTabOrder(self.uiBaseMACLineEdit, self.uiExecAreaSpinBox)
routerConfigPageWidget.setTabOrder(self.uiExecAreaSpinBox, self.uiIomemSpinBox)
def retranslateUi(self, routerConfigPageWidget):
routerConfigPageWidget.setWindowTitle(_translate("routerConfigPageWidget", "Dynamips IOS Router configuration", None))
self.uiNameLabel.setText(_translate("routerConfigPageWidget", "Name:", None))
self.uiConsolePortLabel.setText(_translate("routerConfigPageWidget", "Console port:", None))
self.uiAuxPortLabel.setText(_translate("routerConfigPageWidget", "Aux console port:", None))
self.uiIOSImageLabel.setText(_translate("routerConfigPageWidget", "IOS image:", None))
self.uiStartupConfigLabel.setText(_translate("routerConfigPageWidget", "Startup-config:", None))
self.uiMidplaneLabel.setText(_translate("routerConfigPageWidget", "Midplane:", None))
self.uiNPELabel.setText(_translate("routerConfigPageWidget", "NPE:", None))
self.uiPlatformLabel.setText(_translate("routerConfigPageWidget", "Platform:", None))
self.uiChassisLabel.setText(_translate("routerConfigPageWidget", "Chassis:", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiGeneralTabWidget), _translate("routerConfigPageWidget", "General", None))
self.uiIOSImageLabel.setText(_translate("routerConfigPageWidget", "IOS image:", None))
self.uiStartupConfigLabel.setText(_translate("routerConfigPageWidget", "Startup-config:", None))
self.uiStartupConfigToolButton.setText(_translate("routerConfigPageWidget", "...", None))
self.uiPrivateConfigLabel.setText(_translate("routerConfigPageWidget", "Private-config:", None))
self.uiPrivateConfigToolButton.setText(_translate("routerConfigPageWidget", "...", None))
self.uiConsolePortLabel.setText(_translate("routerConfigPageWidget", "Console port:", None))
self.uiAuxPortLabel.setText(_translate("routerConfigPageWidget", "Aux port:", None))
self.uiMidplaneLabel.setText(_translate("routerConfigPageWidget", "Midplane:", None))
self.uiNPELabel.setText(_translate("routerConfigPageWidget", "NPE:", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiGeneralPageWidget), _translate("routerConfigPageWidget", "General", None))
self.uiMemoriesGroupBox.setTitle(_translate("routerConfigPageWidget", "Memories", None))
self.uiRamLabel.setText(_translate("routerConfigPageWidget", "RAM size:", None))
self.uiRamSpinBox.setSuffix(_translate("routerConfigPageWidget", " MiB", None))
self.uiNvramLabel.setText(_translate("routerConfigPageWidget", "NVRAM size:", None))
self.uiNvramSpinBox.setSuffix(_translate("routerConfigPageWidget", " KiB", None))
self.uiIomemLabel.setText(_translate("routerConfigPageWidget", "I/O memory :", None))
self.uiIomemSpinBox.setSuffix(_translate("routerConfigPageWidget", " %", None))
self.uiDisksGroupBox.setTitle(_translate("routerConfigPageWidget", "Disks", None))
self.uiDisk0Label.setText(_translate("routerConfigPageWidget", "PCMCIA disk0 size:", None))
self.uiDisk0SpinBox.setSuffix(_translate("routerConfigPageWidget", " MiB", None))
self.uiDisk1Label.setText(_translate("routerConfigPageWidget", "PCMCIA disk1 size:", None))
self.uiDisk1SpinBox.setSuffix(_translate("routerConfigPageWidget", " MiB", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiMemoriesTabWidget), _translate("routerConfigPageWidget", "Memories and disks", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiMemoriesPageWidget), _translate("routerConfigPageWidget", "Memories and disks", None))
self.uiAdaptersGroupBox.setTitle(_translate("routerConfigPageWidget", "Adapters", None))
self.uiSlot0Label.setText(_translate("routerConfigPageWidget", "slot 0:", None))
self.uiSlot1Label.setText(_translate("routerConfigPageWidget", "slot 1:", None))
@@ -427,13 +592,37 @@ class Ui_routerConfigPageWidget(object):
self.uiWic0Label.setText(_translate("routerConfigPageWidget", "wic 0:", None))
self.uiWic1Label.setText(_translate("routerConfigPageWidget", "wic 1:", None))
self.uiWic2Label.setText(_translate("routerConfigPageWidget", "wic 2:", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiSlotsTabWidget), _translate("routerConfigPageWidget", "Slots", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiSlotsPageWidget), _translate("routerConfigPageWidget", "Slots", None))
self.uiSystemGroupBox.setTitle(_translate("routerConfigPageWidget", "System", None))
self.uiConfregLabel.setText(_translate("routerConfigPageWidget", "Confreg:", None))
self.uiConfregLineEdit.setText(_translate("routerConfigPageWidget", "0x2102", None))
self.label.setText(_translate("routerConfigPageWidget", "System ID:", None))
self.uiBaseMacLabel.setText(_translate("routerConfigPageWidget", "Base MAC:", None))
self.uiConfregLineEdit.setText(_translate("routerConfigPageWidget", "0x2102", None))
self.uiOptimizationsGroupBox.setTitle(_translate("routerConfigPageWidget", "Optimisations", None))
self.uiExecAreaLabel.setText(_translate("routerConfigPageWidget", "Exec area:", None))
self.uiExecAreaSpinBox.setSuffix(_translate("routerConfigPageWidget", " MiB", None))
self.uiIomemLabel.setText(_translate("routerConfigPageWidget", "I/O memory :", None))
self.uiIomemSpinBox.setSuffix(_translate("routerConfigPageWidget", " %", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiAdvancedTabWidget), _translate("routerConfigPageWidget", "Advanced", None))
self.uiSparseMemoryCheckBox.setText(_translate("routerConfigPageWidget", "Enable sparse memory support", None))
self.uiIdlepcLabel.setText(_translate("routerConfigPageWidget", "Idle-PC:", None))
self.uiIdlemaxLabel.setText(_translate("routerConfigPageWidget", "Idlemax:", None))
self.uiIdlesleepLabel.setText(_translate("routerConfigPageWidget", "Idlesleep:", None))
self.uiMmapCheckBox.setText(_translate("routerConfigPageWidget", "Enable mmap support", None))
self.uiIdlesleepSpinBox.setSuffix(_translate("routerConfigPageWidget", " ms", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiAdvancedPageWidget), _translate("routerConfigPageWidget", "Advanced", None))
self.uiPowerSuppliesGroupBox.setTitle(_translate("routerConfigPageWidget", "Power supplies", None))
self.uiPowerSupply2Label.setText(_translate("routerConfigPageWidget", "Power supply 2:", None))
self.uiPowerSupply1ComboBox.setItemText(0, _translate("routerConfigPageWidget", "on", None))
self.uiPowerSupply1ComboBox.setItemText(1, _translate("routerConfigPageWidget", "off", None))
self.uiPowerSupply1Label.setText(_translate("routerConfigPageWidget", "Power supply 1:", None))
self.uiPowerSupply2ComboBox.setItemText(0, _translate("routerConfigPageWidget", "on", None))
self.uiPowerSupply2ComboBox.setItemText(1, _translate("routerConfigPageWidget", "off", None))
self.uiSensorsGroupBox.setTitle(_translate("routerConfigPageWidget", "Temperature sensors", None))
self.uiSensor1Label.setText(_translate("routerConfigPageWidget", "I/0 controller inlet:", None))
self.uiSensor1SpinBox.setSuffix(_translate("routerConfigPageWidget", " C", None))
self.uiSensor2Label.setText(_translate("routerConfigPageWidget", "I/0 controller outlet:", None))
self.uiSensor2SpinBox.setSuffix(_translate("routerConfigPageWidget", " C", None))
self.uiSensor3Label.setText(_translate("routerConfigPageWidget", "NPE inlet:", None))
self.uiSensor3SpinBox.setSuffix(_translate("routerConfigPageWidget", " C", None))
self.uiSensor4Label.setText(_translate("routerConfigPageWidget", "NPE outlet:", None))
self.uiSensor4SpinBox.setSuffix(_translate("routerConfigPageWidget", " C", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiEnvironmentPageWidget), _translate("routerConfigPageWidget", "Environment", None))

View File

@@ -61,6 +61,8 @@ class NodeConfigurator(QtGui.QDialog, Ui_NodeConfiguratorDialog):
# create the parent (group) items
for node_item in self._node_items:
if not node_item.node().initialized():
continue
group_name = " {} group".format(str(node_item.node()))
parent = group_name
if not parent in self._parent_items:
@@ -71,6 +73,8 @@ class NodeConfigurator(QtGui.QDialog, Ui_NodeConfiguratorDialog):
# create the children items (configuration page items)
for node_item in self._node_items:
if not node_item.node().initialized():
continue
parent = " {} group".format(str(node_item.node()))
item = ConfigurationPageItem(self._parent_items[parent], node_item)