supercell-wx/scwx-qt/source/scwx/qt/ui/layer_dialog.cpp
2023-10-12 07:26:25 -05:00

64 lines
1.6 KiB
C++

#include "layer_dialog.hpp"
#include "ui_layer_dialog.h"
#include <scwx/qt/model/layer_model.hpp>
#include <scwx/util/logger.hpp>
namespace scwx
{
namespace qt
{
namespace ui
{
static const std::string logPrefix_ = "scwx::qt::ui::layer_dialog";
static const auto logger_ = scwx::util::Logger::Create(logPrefix_);
class LayerDialogImpl
{
public:
explicit LayerDialogImpl(LayerDialog* self) :
layerModel_ {new model::LayerModel(self)}
{
}
~LayerDialogImpl() = default;
model::LayerModel* layerModel_;
};
LayerDialog::LayerDialog(QWidget* parent) :
QDialog(parent),
p {std::make_unique<LayerDialogImpl>(this)},
ui(new Ui::LayerDialog)
{
ui->setupUi(this);
ui->layerTreeView->setModel(p->layerModel_);
auto layerViewHeader = ui->layerTreeView->header();
layerViewHeader->setMinimumSectionSize(10);
// Enabled columns have a fixed size (checkbox)
layerViewHeader->setSectionResizeMode(
static_cast<int>(model::LayerModel::Column::EnabledMap1),
QHeaderView::ResizeMode::ResizeToContents);
layerViewHeader->setSectionResizeMode(
static_cast<int>(model::LayerModel::Column::EnabledMap2),
QHeaderView::ResizeMode::ResizeToContents);
layerViewHeader->setSectionResizeMode(
static_cast<int>(model::LayerModel::Column::EnabledMap3),
QHeaderView::ResizeMode::ResizeToContents);
layerViewHeader->setSectionResizeMode(
static_cast<int>(model::LayerModel::Column::EnabledMap4),
QHeaderView::ResizeMode::ResizeToContents);
}
LayerDialog::~LayerDialog()
{
delete ui;
}
} // namespace ui
} // namespace qt
} // namespace scwx