minimap editor: basic selection functionality
This commit is contained in:
@@ -189,6 +189,40 @@ namespace noggit
|
||||
}
|
||||
);
|
||||
|
||||
connect(remove_btn, &QPushButton::clicked,
|
||||
[=]()
|
||||
{
|
||||
for (auto item : _m2_model_filter_include->selectedItems())
|
||||
{
|
||||
auto item_ = _m2_model_filter_include->takeItem(_m2_model_filter_include->row(item));
|
||||
delete item_;
|
||||
}
|
||||
|
||||
if (!world->has_selection())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for (auto& selection : world->current_selection())
|
||||
{
|
||||
if (selection.which() == eEntry_MapChunk)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
std::string path;
|
||||
|
||||
if (selection.which() == eEntry_Model)
|
||||
{
|
||||
path = boost::get<selected_model_type>(selection)->model->filename;
|
||||
unincludeM2Model(path);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
connect ( _radius_spin, qOverload<double> (&QDoubleSpinBox::valueChanged)
|
||||
, [&] (double v)
|
||||
{
|
||||
@@ -342,6 +376,23 @@ namespace noggit
|
||||
|
||||
void MinimapCreator::includeM2Model(std::string filename)
|
||||
{
|
||||
bool already_added = false;
|
||||
|
||||
for (int i = 0; i < _m2_model_filter_include->count(); ++i)
|
||||
{
|
||||
if (!reinterpret_cast<MinimapM2ModelFilterEntry*>(_m2_model_filter_include->itemWidget(
|
||||
_m2_model_filter_include->item(i)))->getFileName().toStdString().compare(filename))
|
||||
{
|
||||
already_added = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (already_added)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
auto item = new QListWidgetItem();
|
||||
_m2_model_filter_include->addItem(item);
|
||||
auto entry_wgt = new MinimapM2ModelFilterEntry(this);
|
||||
@@ -350,6 +401,21 @@ namespace noggit
|
||||
_m2_model_filter_include->setItemWidget(item, entry_wgt);
|
||||
}
|
||||
|
||||
void MinimapCreator::unincludeM2Model(std::string filename)
|
||||
{
|
||||
|
||||
for (int i = 0; i < _m2_model_filter_include->count(); ++i )
|
||||
{
|
||||
if (!reinterpret_cast<MinimapM2ModelFilterEntry*>(_m2_model_filter_include->itemWidget(
|
||||
_m2_model_filter_include->item(i)))->getFileName().toStdString().compare(filename))
|
||||
{
|
||||
auto item = _m2_model_filter_include->takeItem(i);
|
||||
delete item;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
MinimapM2ModelFilterEntry::MinimapM2ModelFilterEntry(MinimapCreator* parent) : QWidget(parent)
|
||||
{
|
||||
auto layout = new QHBoxLayout(this);
|
||||
|
||||
@@ -81,6 +81,7 @@ namespace noggit
|
||||
void progressUpdate(int value) { _progress_bar->setValue(value); };
|
||||
|
||||
void includeM2Model(std::string filename);
|
||||
void unincludeM2Model(std::string filename);
|
||||
|
||||
private:
|
||||
float _radius = 0.01f;
|
||||
|
||||
Reference in New Issue
Block a user