Skip to content
Snippets Groups Projects
Commit 768a11ae authored by Anders H. Rebner's avatar Anders H. Rebner
Browse files

#95 funksjonene read_from_dialog og create_tables er endret

parent 16c7e9f4
No related branches found
No related tags found
1 merge request!74#95 Forhåndsavtalte koder
Pipeline #83391 failed
......@@ -120,10 +120,10 @@ class PredefinedCodesModule(ModuleBase, QWidget, metaclass=Meta):
dialog.exec_()
# Read dialog-input
self.categories, expressions = self.read_from_dialog(dialog)
categories_and_expressions = self.read_from_dialog(dialog)
# Create tables and set layout
self.create_tables(self.categories, expressions)
self.create_tables(categories_and_expressions)
self.create_and_set_layout()
def read_from_dialog(self, dialog):
......@@ -136,48 +136,48 @@ class PredefinedCodesModule(ModuleBase, QWidget, metaclass=Meta):
Returns
-------
tuple
Containing two lists: one containing categories, the other
containing all expressions.
dict
With categories as keys and list of expressions as values.
"""
self.headline = QLabel(dialog.edit_headline.text())
self.warning_word = QLabel(dialog.edit_warning_word.text())
self.maximum_column_height = dialog.edit_column_height.value()
categories = []
# Read categories in order
self.categories.clear()
for i in range(dialog.list_category_order.count()):
categories.append(dialog.list_category_order.item(i).text())
self.categories.append(dialog.list_category_order.item(i).text())
# Get expressions for all categories from database
all_expressions = []
for category in categories:
# Get expressions in category
# Create dict containing categories and their expressions
categories_and_expressions = {}
for category in self.categories:
expressions = self.database.get_codebook_expressions_in_category(
category, small=True
)
# Randomly sort expressions
all_expressions.append(sample(expressions, len(expressions)))
return categories, all_expressions
# Add expressions sorted randomly
categories_and_expressions[category] = sample(
expressions, len(expressions)
)
def create_tables(self, categories, expressions):
return categories_and_expressions
def create_tables(self, categories_and_expressions):
"""Create PredefinedCodesTable-objects.
Parameters
----------
categories : list
Containing categories (string).
expressions : list
Containing list of expressions (string) in each category.
expressions[i] is a list of expressions from categories[i].
categories_and_expressions : dict
With categories as keys and list of expressions as values.
"""
# Delete previous tables
del self.tables[:]
# Create new tables
for i, category in enumerate(categories):
for i, category in enumerate(categories_and_expressions.keys()):
headline = " " + ALPHABET[i] + " " + category
table = PredefinedCodesTable(headline, expressions[i])
table = PredefinedCodesTable(
headline, categories_and_expressions[category]
)
self.tables.append(table)
def create_tables_from_data(self, data):
......@@ -413,9 +413,9 @@ class PredefinedCodesModule(ModuleBase, QWidget, metaclass=Meta):
# If user accepted, read dialog, create tables and set a
# new table-layout
if dialog_code == QDialog.DialogCode.Accepted:
self.categories, expressions = self.read_from_dialog(dialog)
categories_and_expressions = self.read_from_dialog(dialog)
self.create_tables(self.categories, expressions)
self.create_tables(categories_and_expressions)
self.new_table_layout()
super().keyPressEvent(event)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment