/*****************************************************************************/
/* test.cpp - Change the properties to be the same of first selected */
/* */
/* Copyright (C) 2011 Rallaz, rallazz@gmail.com */
/* */
/* This library is free software, licensed under the terms of the GNU */
/* General Public License as published by the Free Software Foundation, */
/* either version 2 of the License, or (at your option) any later version. */
/* You should have received a copy of the GNU General Public License */
/* along with this program. If not, see . */
/*****************************************************************************/
#include
#include
#include "document_interface.h"
#include "sameprop.h"
QString LC_SameProp::name() const
{
return (tr("Same properties"));
}
PluginCapabilities LC_SameProp::getCapabilities() const
{
PluginCapabilities pluginCapabilities;
pluginCapabilities.menuEntryPoints
<< PluginMenuLocation("Modify", tr("Same properties"));
return pluginCapabilities;
}
void LC_SameProp::execComm(Document_Interface *doc,
QWidget *parent, QString cmd)
{
Q_UNUSED(parent);
QHash data, moddata;
QList obj;
QVariant lay, col, ltype, lwidth;
Plug_Entity *ent, *modent;
ent = doc->getEnt("select original entity:");
if (!ent) return;
bool yes = doc->getSelect(&obj, "select entities to change");
if (!yes || obj.isEmpty()) {
delete ent;
return;
}
ent->getData(&data);
lay = data.value(DPI::LAYER);
col = data.value(DPI::COLOR);
ltype = data.value(DPI::LTYPE);
lwidth = data.value(DPI::LWIDTH);
for (int i = 0; i < obj.size(); ++i) {
modent = obj.at(i);
modent->getData(&moddata);
moddata.insert(DPI::LAYER, lay );
moddata.insert(DPI::LTYPE, ltype );
moddata.insert(DPI::LWIDTH, lwidth );
moddata.insert(DPI::COLOR, col );
modent->updateData(&moddata);
}
while (!obj.isEmpty())
delete obj.takeFirst();
}
Q_EXPORT_PLUGIN2(lc_sameprop, LC_SameProp);