1 /*
2  * Copyright (C) 2021 Damir Porobic <damir.porobic@gmx.com>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation; either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18  */
19 
20 #include "AbstractAnnotationDockWidgetContent.h"
21 
22 namespace kImageAnnotator {
23 
setOrientation(Qt::Orientation orientation)24 void AbstractAnnotationDockWidgetContent::setOrientation(Qt::Orientation orientation)
25 {
26 	auto mainLayout = dynamic_cast<QBoxLayout*>(layout());
27 
28 	if(mainLayout != nullptr) {
29 		if(orientation == Qt::Horizontal) {
30 			mainLayout->setDirection(QBoxLayout::LeftToRight);
31 			mainLayout->setAlignment(Qt::AlignLeft | Qt::AlignCenter);
32 		} else {
33 			mainLayout->setDirection(QBoxLayout::TopToBottom);
34 			mainLayout->setAlignment(Qt::AlignTop | Qt::AlignCenter);
35 		}
36 
37 		for (auto widget : mExpandingWidget) {
38 			widget->setExpanding(orientation != Qt::Horizontal);
39 		}
40 
41 		adjustSize();
42 	}
43 }
44 
addExpandingWidget(AbstractExpandingWidget * widget)45 void AbstractAnnotationDockWidgetContent::addExpandingWidget(AbstractExpandingWidget *widget)
46 {
47 	mExpandingWidget.append(widget);
48 }
49 
50 } // namespace kImageAnnotator