X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBOutputPage.py;h=dcfcf38918ae423710f01e4afd3d183fc2c613f5;hb=02c58644efcaf424d9b824d13a16c01d1d95d577;hp=ef3c305af5d1813ea149d8cc6ab757798267aee9;hpb=1e2f7f270e346f7929aae85355aefc4f0a47139c;p=bertos.git diff --git a/wizard/BOutputPage.py b/wizard/BOutputPage.py index ef3c305a..dcfcf389 100644 --- a/wizard/BOutputPage.py +++ b/wizard/BOutputPage.py @@ -1,8 +1,32 @@ #!/usr/bin/env python # encoding: utf-8 # -# Copyright 2009 Develer S.r.l. (http://www.develer.com/) -# All rights reserved. +# This file is part of BeRTOS. +# +# Bertos is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# As a special exception, you may use this file as part of a free software +# library without restriction. Specifically, if other files instantiate +# templates or use macros or inline functions from this file, or you compile +# this file and link it with other files to produce an executable, this +# file does not by itself cause the resulting executable to be covered by +# the GNU General Public License. This exception does not however +# invalidate any other reasons why the executable file might be covered by +# the GNU General Public License. +# +# Copyright 2008 Develer S.r.l. (http://www.develer.com/) # # $Id$ # @@ -42,14 +66,21 @@ class BOutputPage(BWizardPage): Overload of the BWizardPage setupUi method. """ self._plugin_dict = {} - layout = QVBoxLayout() + scrollLayout = QVBoxLayout() + group, check = self.createNewOutput("BeRTOS Build System", + "Classic BeRTOS makefile based project", + True, False) + scrollLayout.addWidget(group) for plugin in self.availablePlugins(): - check = QCheckBox(plugin) - layout.addWidget(check) - check.setCheckState(Qt.Checked) + module = bertos_utils.loadPlugin(plugin) + group, check = self.createNewOutput(module.PLUGIN_NAME, + module.PLUGIN_DESCRIPTION, + True, True) + scrollLayout.addWidget(group) self._plugin_dict[check] = plugin + scrollLayout.addStretch() widget = QWidget() - widget.setLayout(layout) + widget.setLayout(scrollLayout) self.pageContent.scrollArea.setWidget(widget) def reloadData(self): @@ -75,4 +106,25 @@ class BOutputPage(BWizardPage): #### def availablePlugins(self): - return plugins.__all__ \ No newline at end of file + """ + Returns the list of the available plugins. + """ + return plugins.plugin_list + + def createNewOutput(self, name, description, checked=True, enabled=True): + """ + Create a groupBox for the given pieces of information. Returns the + groupBox and the checkBox + """ + check = QCheckBox(description) + if checked: + check.setCheckState(Qt.Checked) + else: + check.setCheckState(Qt.Unchecked) + groupLayout = QVBoxLayout() + groupLayout.addWidget(check) + group = QGroupBox(name) + group.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Maximum) + group.setLayout(groupLayout) + group.setEnabled(enabled) + return group, check \ No newline at end of file