def __init__(self, parent=None):
        QtGui.QDialog.__init__(self, parent)
        self.setupUi(self)

        self.setWindowFlags(self.windowFlags() | Qt.WindowMaximizeButtonHint | Qt.WindowMinimizeButtonHint)
        self._acceptButton = self.buttonBox.button(QtGui.QDialogButtonBox.Ok)
        self._acceptButton.setText('Run report')

        self.instancesTree.header().setResizeMode(0, QtGui.QHeaderView.Stretch)

        user_config = get_config('userconfig', config_dir=get_config_dir())
        for env_name, env in user_config['environments'].iteritems():
            env_item = QtGui.QTreeWidgetItem(self.instancesTree)
            env_item.setText(0, env_name)
            env_item.setText(1, 'Environment')
            env_item.setFlags(env_item.flags() | Qt.ItemIsTristate)
            for instance_name in env.get('ags_instances'):
                instance_item = QtGui.QTreeWidgetItem(env_item)
                instance_item.setText(0, instance_name)
                instance_item.setText(1, 'AGS Instance')
                instance_item.setCheckState(0, Qt.Unchecked)

        self.update_accept_button_state()
        self.outputfileButton.clicked.connect(self.select_output_filename)
        self.buttonBox.accepted.connect(self.run_report_on_selected_items)
        self.instancesTree.itemChanged.connect(self.update_accept_button_state)
Пример #2
0
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self, parent)
        self.setupUi(self)
        self.actionPublish_Services.triggered.connect(self.show_publish_dialog)
        self.actionMXD_Data_Sources_Report.triggered.connect(
            self.show_mxd_report_dialog)
        self.actionDataset_Usages_Report.triggered.connect(
            self.show_dataset_usages_report_dialog)
        self.actionData_Stores_Report.triggered.connect(
            self.show_data_stores_report_dialog)
        self.actionGetInstallInfo.triggered.connect(self.get_install_info)
        self.actionGetExecutablePath.triggered.connect(
            self.get_executable_path)
        self.actionAbout.triggered.connect(self.about)
        self.actionTestLogWindow.triggered.connect(self.test_log_window)
        self.actionExit.triggered.connect(self.close)

        self.worker_pool = WorkerPool()

        self.log_handler = QtLogHandler()
        self.log_handler.messageEmitted.connect(self.log_message)
        root_logger.addHandler(self.log_handler)

        self.config_dir = get_config_dir()
        self.log_dir = get_log_dir()
        self.report_dir = get_report_dir()
    def __init__(self, parent=None):
        super(ServiceSelector, self).__init__(parent)

        self.layout = QtGui.QVBoxLayout()
        self.layout.setContentsMargins(0, 0, 0, 0)
        self.setLayout(self.layout)

        self.tab_widget = QtGui.QTabWidget(self)
        self.layout.addWidget(self.tab_widget)

        self.model = ServiceModel(0, 3, self)
        self.model.setHeaderData(self.NAME, QtCore.Qt.Horizontal, 'Name')
        self.model.setHeaderData(self.TYPE, QtCore.Qt.Horizontal, 'Type')
        self.model.setHeaderData(self.CATEGORY, QtCore.Qt.Horizontal, 'Category')

        configs = get_configs(config_dir=get_config_dir())
        categories = []
        no_category_count = 0

        for config_name, config in configs.iteritems():
            category = config.get('category')
            if category:
                if category not in categories:
                    categories.append(category)
            else:
                no_category_count += 1

            config_item = CheckableItem(config_name)
            config_item.setFlags(config_item.flags() | QtCore.Qt.ItemIsTristate)

            services = config.get('services')
            default_service_properties = config.get('default_service_properties')
            for service_name, service_type, _ in normalize_services(services, default_service_properties):
                service_item = CheckableItem(service_name)
                config_item.appendRow((service_item, QtGui.QStandardItem('{} Service'.format(service_type)), QtGui.QStandardItem(category)))
            self.model.appendRow((config_item, QtGui.QStandardItem('Config Name'), QtGui.QStandardItem(category)))

        self.add_tab(self.model, 'All')

        for category in categories:
            proxy_model = QtGui.QSortFilterProxyModel(self)
            proxy_model.setSourceModel(self.model)
            proxy_model.setFilterKeyColumn(self.CATEGORY)
            proxy_model.setFilterRegExp(QtCore.QRegExp(category, QtCore.Qt.CaseSensitive, QtCore.QRegExp.FixedString))
            self.add_tab(proxy_model, category)

        if no_category_count > 0:
            proxy_model = NoCategoryFilterProxyModel(self)
            proxy_model.setSourceModel(self.model)
            proxy_model.category_column = self.CATEGORY
            self.add_tab(proxy_model, '(none)')

        self.model.checkedItemsChanged.connect(self.selected_items_changed)