src/editmodes/selectMode.cc

changeset 933
f4c80d92e71e
parent 932
738673e8a6b4
child 934
be8128aff739
--- a/src/editmodes/selectMode.cc	Tue Mar 03 17:42:21 2015 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
- *  LDForge: LDraw parts authoring CAD
- *  Copyright (C) 2013 - 2015 Teemu Piippo
- *
- *  This program is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <QMouseEvent>
-#include "selectMode.h"
-#include "../glRenderer.h"
-#include "../addObjectDialog.h"
-#include "../mainWindow.h"
-#include "../glRenderer.h"
-
-SelectMode::SelectMode (GLRenderer* renderer) :
-	Super (renderer),
-	m_rangepick (false) {}
-
-EditModeType SelectMode::type() const
-{
-	return EditModeType::Select;
-}
-
-void SelectMode::render (QPainter& painter) const
-{
-	// If we're range-picking, draw a rectangle encompassing the selection area.
-	if (m_rangepick)
-	{
-		int x0 = m_rangeStart.x(),
-			y0 = m_rangeStart.y(),
-			x1 = renderer()->mousePosition().x(),
-			y1 = renderer()->mousePosition().y();
-
-		QRect rect (x0, y0, x1 - x0, y1 - y0);
-		QColor fillColor = (m_addpick ? "#40FF00" : "#00CCFF");
-		fillColor.setAlphaF (0.2f);
-		painter.setPen (QPen (QColor (0, 0, 0, 208), 2, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
-		painter.setBrush (QBrush (fillColor));
-		painter.drawRect (rect);
-	}
-}
-
-bool SelectMode::mouseReleased (MouseEventData const& data)
-{
-	if (Super::mouseReleased (data))
-		return true;
-
-	if (data.releasedButtons & Qt::LeftButton)
-	{
-		if (not data.mouseMoved)
-			m_rangepick = false;
-
-		if (not m_rangepick)
-			m_addpick = (data.keymods & Qt::ControlModifier);
-
-		if (not data.mouseMoved or m_rangepick)
-		{
-			QRect area;
-			int const mx = data.ev->x();
-			int const my = data.ev->y();
-
-			if (not m_rangepick)
-			{
-				area = QRect (mx, my, 1, 1);
-			}
-			else
-			{
-				int const x = Min (m_rangeStart.x(), mx);
-				int const y = Min (m_rangeStart.y(), my);
-				int const width = Abs (m_rangeStart.x() - mx);
-				int const height = Abs (m_rangeStart.y() - my);
-				area = QRect (x, y, width, height);
-			}
-
-			renderer()->pick (area, m_addpick);
-		}
-
-		m_rangepick = false;
-		return true;
-	}
-
-	return false;
-}
-
-bool SelectMode::mousePressed (QMouseEvent* ev)
-{
-	if (Super::mousePressed (ev))
-		return true;
-
-	if (ev->modifiers() & Qt::ControlModifier)
-	{
-		m_rangepick = true;
-		m_rangeStart.setX (ev->x());
-		m_rangeStart.setY (ev->y());
-		m_addpick = (ev->modifiers() & Qt::AltModifier);
-		return true;
-	}
-
-	return false;
-}
-
-bool SelectMode::mouseDoubleClicked (QMouseEvent* ev)
-{
-	if (Super::mouseDoubleClicked (ev))
-		return true;
-
-	if (ev->buttons() & Qt::LeftButton)
-	{
-		renderer()->document()->clearSelection();
-		LDObjectPtr obj = renderer()->pickOneObject (ev->x(), ev->y());
-
-		if (obj != null)
-		{
-			AddObjectDialog::staticDialog (obj->type(), obj);
-			g_win->endAction();
-			return true;
-		}
-	}
-
-	return false;
-}
-
-bool SelectMode::mouseMoved (QMouseEvent*)
-{
-	return m_rangepick;
-}

mercurial