diff -r ab77deb851fa -r 8d98ee0dc917 src/editmodes/selectMode.cc
--- a/src/editmodes/selectMode.cc Tue Mar 03 16:50:39 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 .
- */
-
-#include
-#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;
-}