Blame qlo10k1/src/structure.cpp

Packit 427e91
/*
Packit 427e91
 *  qlo10k1 - GUI frontend for ld10k1
Packit 427e91
 *
Packit 427e91
 *  Copyright (c) 2004 by Peter Zubaj
Packit 427e91
 *
Packit 427e91
 *   This program is free software; you can redistribute it and/or modify
Packit 427e91
 *   it under the terms of the GNU General Public License as published by
Packit 427e91
 *   the Free Software Foundation; either version 2 of the License, or
Packit 427e91
 *   (at your option) any later version.
Packit 427e91
 *
Packit 427e91
 *   This program is distributed in the hope that it will be useful,
Packit 427e91
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 427e91
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit 427e91
 *   GNU General Public License for more details.
Packit 427e91
 *
Packit 427e91
 *   You should have received a copy of the GNU General Public License
Packit 427e91
 *   along with this program; if not, write to the Free Software
Packit 427e91
 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
Packit 427e91
 *
Packit 427e91
 */
Packit 427e91
 
Packit 427e91
#include "structure.h"
Packit 427e91
#include "structure_patch.h"
Packit 427e91
#include "structure_io.h"
Packit 427e91
#include "structure_link.h"
Packit 427e91
#include "ld10k1file.h"
Packit 427e91
Packit 427e91
RSItemIO::RSItemIO(RSItemBase *o, bool out, int i, QString d)
Packit 427e91
{
Packit 427e91
	output = out;
Packit 427e91
	idx = i;
Packit 427e91
	desc = d;
Packit 427e91
	owner = o;
Packit 427e91
	connectedTo = NULL;
Packit 427e91
}
Packit 427e91
Packit 427e91
RSItemIO::~RSItemIO()
Packit 427e91
{
Packit 427e91
	if (connectedTo)
Packit 427e91
	{
Packit 427e91
		int r = connectedTo->findRoute(this);
Packit 427e91
		if (r >= 0)
Packit 427e91
			connectedTo->setRoutePoint(r, NULL);
Packit 427e91
	}
Packit 427e91
}
Packit 427e91
Packit 427e91
bool RSItemIO::isOutput()
Packit 427e91
{
Packit 427e91
	return output;
Packit 427e91
}
Packit 427e91
	
Packit 427e91
void RSItemIO::setOutput(bool o)
Packit 427e91
{
Packit 427e91
	output = o;
Packit 427e91
}
Packit 427e91
Packit 427e91
int RSItemIO::getIdx()
Packit 427e91
{
Packit 427e91
	return idx;
Packit 427e91
}
Packit 427e91
	
Packit 427e91
void RSItemIO::setIdx(int i)
Packit 427e91
{
Packit 427e91
	idx = i;
Packit 427e91
}
Packit 427e91
Packit 427e91
QString RSItemIO::getDesc()
Packit 427e91
{
Packit 427e91
	return desc;
Packit 427e91
}
Packit 427e91
	
Packit 427e91
void RSItemIO::setDesc(QString d)
Packit 427e91
{
Packit 427e91
	desc = d;
Packit 427e91
}
Packit 427e91
	
Packit 427e91
RSItemBase *RSItemIO::getOwner()
Packit 427e91
{
Packit 427e91
	return owner;
Packit 427e91
}
Packit 427e91
	
Packit 427e91
void RSItemIO::connectTo(StrLink *to)
Packit 427e91
{
Packit 427e91
	if (connectedTo)
Packit 427e91
	{
Packit 427e91
		int r = connectedTo->findRoute(this);
Packit 427e91
		if (r >= 0)
Packit 427e91
			connectedTo->setRoutePoint(r, NULL);
Packit 427e91
	}
Packit 427e91
	connectedTo = to;
Packit 427e91
}
Packit 427e91
	
Packit 427e91
StrLink *RSItemIO::getConnectedTo()
Packit 427e91
{
Packit 427e91
	return connectedTo;
Packit 427e91
}
Packit 427e91
Packit 427e91
Packit 427e91
Packit 427e91
Packit 427e91
DrawingParams::DrawingParams(float zoom, QWidget *dt, QPaintEvent *pe, QPainter *p)
Packit 427e91
{
Packit 427e91
	zoomKoef = (float)zoom;
Packit 427e91
	drawTo = dt;
Packit 427e91
	paintEvent = pe;
Packit 427e91
	painter = p;
Packit 427e91
}
Packit 427e91
	
Packit 427e91
RSItemBase::RSItemBase()
Packit 427e91
{
Packit 427e91
	fNew = false;
Packit 427e91
	fUsed = false;
Packit 427e91
	fChanged = false;
Packit 427e91
	fSelected = false;
Packit 427e91
}
Packit 427e91
	
Packit 427e91
int RSItemBase::x()
Packit 427e91
{
Packit 427e91
	return position.x();
Packit 427e91
}
Packit 427e91
Packit 427e91
int RSItemBase::y()
Packit 427e91
{
Packit 427e91
	return position.y();
Packit 427e91
}
Packit 427e91
Packit 427e91
void RSItemBase::setPosition(int x, int y)
Packit 427e91
{
Packit 427e91
	if (x < 0)
Packit 427e91
		x = 0;
Packit 427e91
	if (y < 0)
Packit 427e91
		y = 0;
Packit 427e91
	position.setX(x);
Packit 427e91
	position.setY(y);
Packit 427e91
}
Packit 427e91
	
Packit 427e91
int RSItemBase::width()
Packit 427e91
{
Packit 427e91
	return size.width();
Packit 427e91
}
Packit 427e91
Packit 427e91
int RSItemBase::height()
Packit 427e91
{
Packit 427e91
	return size.height();
Packit 427e91
}
Packit 427e91
Packit 427e91
int RSItemBase::minWidth()
Packit 427e91
{
Packit 427e91
	return minSize.width();
Packit 427e91
}
Packit 427e91
Packit 427e91
int RSItemBase::minHeight()
Packit 427e91
{
Packit 427e91
	return minSize.height();
Packit 427e91
}
Packit 427e91
Packit 427e91
void RSItemBase::setSize(int w, int h)
Packit 427e91
{
Packit 427e91
	if (w > minSize.width())
Packit 427e91
		size.setWidth(w);
Packit 427e91
	if (h > minSize.height())
Packit 427e91
		size.setHeight(h);
Packit 427e91
}
Packit 427e91
Packit 427e91
void RSItemBase::moveRel(int dx, int dy)
Packit 427e91
{
Packit 427e91
	setPosition(x() + dx, y() + dy);
Packit 427e91
}
Packit 427e91
Packit 427e91
void RSItemBase::moveHandleRel(int num, int dx, int dy)
Packit 427e91
{
Packit 427e91
}
Packit 427e91
Packit 427e91
void RSItemBase::updateContents(QScrollView *sv, float zoom)
Packit 427e91
{
Packit 427e91
	sv->updateContents((int)(x() * zoom),
Packit 427e91
		(int)(y() * zoom),
Packit 427e91
		(int)(width() * zoom),
Packit 427e91
		(int)(height() * zoom));
Packit 427e91
}
Packit 427e91
Packit 427e91
bool RSItemBase::containsPoint(int xp, int yp)
Packit 427e91
{
Packit 427e91
	return false;
Packit 427e91
}
Packit 427e91
	
Packit 427e91
RSItemIO *RSItemBase::getIOAtPoint(int xp, int yp)
Packit 427e91
{
Packit 427e91
	return NULL;
Packit 427e91
}
Packit 427e91
Packit 427e91
Packit 427e91
bool RSItemBase::containsHandlePoint(int xp, int yp)
Packit 427e91
{
Packit 427e91
	return false;
Packit 427e91
}
Packit 427e91
Packit 427e91
RSItemBase::RSItemHandle RSItemBase::getHandlePoint(int xp, int yp)
Packit 427e91
{
Packit 427e91
	return RSItemBase::None;
Packit 427e91
}
Packit 427e91
Packit 427e91
int RSItemBase::getHandlePointNum(int xp, int yp)
Packit 427e91
{
Packit 427e91
	return -1;
Packit 427e91
}
Packit 427e91
Packit 427e91
bool RSItemBase::flagUsed()
Packit 427e91
{
Packit 427e91
	return fUsed;
Packit 427e91
}
Packit 427e91
Packit 427e91
void RSItemBase::setFlagUsed(bool u)
Packit 427e91
{
Packit 427e91
	fUsed = u;
Packit 427e91
}
Packit 427e91
Packit 427e91
bool RSItemBase::flagNew()
Packit 427e91
{
Packit 427e91
	return fNew;
Packit 427e91
}
Packit 427e91
Packit 427e91
void RSItemBase::setFlagNew(bool n)
Packit 427e91
{
Packit 427e91
	fNew = n;
Packit 427e91
}
Packit 427e91
Packit 427e91
bool RSItemBase::flagChanged()
Packit 427e91
{
Packit 427e91
	return fNew;
Packit 427e91
}
Packit 427e91
Packit 427e91
void RSItemBase::setFlagChanged(bool c)
Packit 427e91
{
Packit 427e91
	fChanged = c;
Packit 427e91
}
Packit 427e91
Packit 427e91
bool RSItemBase::flagSelected()
Packit 427e91
{
Packit 427e91
	return fSelected;
Packit 427e91
}
Packit 427e91
Packit 427e91
void RSItemBase::setFlagSelected(bool s)
Packit 427e91
{
Packit 427e91
	fSelected = s;
Packit 427e91
}
Packit 427e91
Packit 427e91
QString RSItemBase::getDesc()
Packit 427e91
{
Packit 427e91
	return "";
Packit 427e91
}
Packit 427e91
Packit 427e91
void RSItemBase::draw(DrawingParams *dp)
Packit 427e91
{
Packit 427e91
}
Packit 427e91
Packit 427e91
void RSItemBase::calcSize()
Packit 427e91
{
Packit 427e91
	minSize = size;
Packit 427e91
}
Packit 427e91
Packit 427e91
	
Packit 427e91
Packit 427e91
Packit 427e91
RSItemBaseWithType::RSItemBaseWithType(ItemType type)
Packit 427e91
{
Packit 427e91
	iType = type;
Packit 427e91
}
Packit 427e91
Packit 427e91
RSItemBaseWithType::ItemType RSItemBaseWithType::type()
Packit 427e91
{
Packit 427e91
	return iType;
Packit 427e91
}
Packit 427e91
Packit 427e91
int RSItemBaseWithType::getMaxIOIdx(bool out)
Packit 427e91
{
Packit 427e91
	return 0;
Packit 427e91
}
Packit 427e91
Packit 427e91
RSItemIO *RSItemBaseWithType::getIO(bool out, int idx)
Packit 427e91
{
Packit 427e91
	return NULL;
Packit 427e91
}
Packit 427e91
Packit 427e91
void RSItemBaseWithType::getIOPoint(RSItemIO *item, int *xp, int *yp)
Packit 427e91
{
Packit 427e91
}
Packit 427e91
Packit 427e91
RSItemBaseWithType::~RSItemBaseWithType()
Packit 427e91
{
Packit 427e91
}