コード例 #1
0
void TransferFunctions3DPresets::deletePresetData(QString name, bool _2D, bool _3D)
{
	//todo rewrite
	std::cout << "TODO rewrite TransferFunctions3DPresets::deletePresetData(QString name, bool _2D, bool _3D)" << std::endl;
	XmlOptionFile node = this->getPresetNode(name);

	if (_2D)
		node.descend("lookuptable2D").deleteNode();
	if (_3D)
		node.descend("transferfunctions").deleteNode();
	if (_2D && _3D)
		node.deleteNode();

	emit changed();
}
コード例 #2
0
void TransferFunctions3DPresets::save3D(QString name, ImagePtr image)
{
	//create the node to be saved
	XmlOptionFile file = this->getCustomFile();
	file = file.descend("Preset", "name", name);

	QDomNode tf3DNode = file.getElement("transferfunctions");
	while (tf3DNode.hasChildNodes())
		tf3DNode.removeChild(tf3DNode.firstChild());

	ImageTF3DPtr transferFunctions = image->getTransferFunctions3D();

	// For unsigned CT: Modify transfer function values temporarily prior to save
	if ((0 <= image->getMin()) && ("CT" == image->getModality()))
	{
		transferFunctions->unsignedCT(false);
	}

	transferFunctions->addXml(file.getElement("transferfunctions"));
	image->getShading().addXml(file.getElement("shading"));

	// Revert the transfer function values back again
	if ((0 <= image->getMin()) && ("CT" == image->getModality()))
	{
		transferFunctions->unsignedCT(true);
	}

	file.getElement().setAttribute("modality", image->getModality());
	file.save();
}
コード例 #3
0
void TransferFunctions3DPresets::save2D(QString name, ImagePtr image)
{
	XmlOptionFile file = this->getCustomFile();
	file = file.descend("Preset", "name", name);

	QDomNode tf2DNode = file.getElement("lookuptable2D");
	while (tf2DNode.hasChildNodes())
		tf2DNode.removeChild(tf2DNode.firstChild());

	ImageLUT2DPtr LUT2D = image->getLookupTable2D();

	// For unsigned CT: Modify transfer function values temporarily prior to save
	if ((0 <= image->getMin()) && ("CT" == image->getModality()))
	{
		LUT2D->unsignedCT(false);
	}

	LUT2D->addXml(file.getElement("lookuptable2D"));

	// Revert the transfer function values back again
	if ((0 <= image->getMin()) && ("CT" == image->getModality()))
	{
		LUT2D->unsignedCT(true);
	}

	file.getElement().setAttribute("modality", image->getModality());
	file.save();

//	emit changed();
}
コード例 #4
0
void LayoutRepository::save(XmlOptionFile file)
{
	XmlOptionFile layoutsNode = file.descend("layouts");
	layoutsNode.removeChildren();
	for (LayoutDataVector::iterator iter = mLayouts.begin(); iter != mLayouts.end(); ++iter)
	{
		if (!this->isCustom(iter->getUid()))
			continue; // dont store default layouts - they are created automatically.

		QDomElement layoutNode = file.getDocument().createElement("layout");
		layoutsNode.getElement().appendChild(layoutNode);
		iter->addXml(layoutNode);
	}
}
コード例 #5
0
NetworkConnectionHandle::NetworkConnectionHandle(QString threadname, XmlOptionFile options)
{
	mThread.reset(new QThread());
	mThread->setObjectName(threadname);
	mClient.reset(new NetworkConnection(threadname));
	connect(mClient.get(), &NetworkConnection::connectionInfoChanged, this, &NetworkConnectionHandle::onConnectionInfoChanged);
	mClient->moveToThread(mThread.get());

	mOptions = options.descend(mClient->getUid());

	mIp = this->createIpOption();
	mPort = this->createPortOption();
    mProtocols = this->createDialectOption();
	mRole = this->createRoleOption();

	this->onPropertiesChanged();

	mThread->start();
}
コード例 #6
0
TreeItemModel::TreeItemModel(XmlOptionFile options, VisServicesPtr services, QObject* parent) :
	QAbstractItemModel(parent),
	mServices(services),
	mOptions(options)
{
	mSelectionModel = NULL;
	mNameIndex = 1;
	mColorIndex = 0;
	mViewGroupIndex = 2;
	mViewGroupCount = 3;

	this->createShowColumnsProperty();
	this->onShowColumnsChanged();

	mRepository = TreeRepository::create(options.descend("repository"), services);
	connect(mRepository.get(), &TreeRepository::invalidated, this, &TreeItemModel::beginResetModel);
	connect(mRepository.get(), &TreeRepository::loaded, this, &TreeItemModel::loaded);
	connect(mRepository.get(), &TreeRepository::changed, this, &TreeItemModel::onRepositoryChanged);
}