From 4b9dd885cdfef6d73c82bae5f112a063588766a9 Mon Sep 17 00:00:00 2001 From: Diane Trout Date: Tue, 3 Apr 2007 23:38:24 +0000 Subject: [PATCH] delete default layout in MotifEditor Qt was generating warning messages about couldn't set layout on the MotifEditor while one was already set. It turns out you need to delete the default layout before calling setLayout(). --- qui/motif_editor/MotifEditor.cpp | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/qui/motif_editor/MotifEditor.cpp b/qui/motif_editor/MotifEditor.cpp index acde2d3..fec73f7 100644 --- a/qui/motif_editor/MotifEditor.cpp +++ b/qui/motif_editor/MotifEditor.cpp @@ -21,17 +21,6 @@ MotifEditor::MotifEditor(MussaRef m, QWidget *parent) assert (m != 0); const set &motif = analysis->motifs(); vector motif_seq(motif.begin(), motif.end()); - - applyButton->setFocusPolicy(Qt::StrongFocus); - connect(applyButton, SIGNAL(clicked()), this, SLOT(updateAnalysisMotifs())); - button_layout->addStretch(); - button_layout->addWidget(applyButton); - - table->setItemDelegate(delegate); - - editor_layout->addWidget(table); - editor_layout->addLayout(button_layout); - setLayout(editor_layout); updateTitle(); updateModel(); @@ -39,11 +28,25 @@ MotifEditor::MotifEditor(MussaRef m, QWidget *parent) void MotifEditor::setupWidgets() { - editor_layout = new QVBoxLayout(this); - button_layout = new QHBoxLayout(this); - table = new QTableView(this); + editor_layout = new QVBoxLayout; + button_layout = new QHBoxLayout; + // remove default layout (very safely) + if (layout()) delete layout(); + + table = new QTableView; delegate = new MotifEditorDelegate(this); applyButton = new QPushButton("apply"); + + applyButton->setFocusPolicy(Qt::StrongFocus); + connect(applyButton, SIGNAL(clicked()), this, SLOT(updateAnalysisMotifs())); + button_layout->addStretch(); + button_layout->addWidget(applyButton); + + table->setItemDelegate(delegate); + + editor_layout->addWidget(table); + editor_layout->addLayout(button_layout); + setLayout(editor_layout); } void MotifEditor::updateModel() -- 2.30.2