From ed4ba15d2a27c7efbfe1994551272d3f6ba33b07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Fri, 8 Jun 2018 11:36:49 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/libs@400 a8b55f48-bf90-11e4-a774-851b48703e85 --- qad/blockview/blockview.cpp | 20 ++++++++++++++++++++ qad/blockview/blockview.h | 4 ++++ qcd_utils/pult/cddirectk.cpp | 12 ++++++------ 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/qad/blockview/blockview.cpp b/qad/blockview/blockview.cpp index f2d029b..b7bda26 100644 --- a/qad/blockview/blockview.cpp +++ b/qad/blockview/blockview.cpp @@ -32,6 +32,7 @@ void BlockView::_init() { match_bus = bus_from = 0; mm_ci = 0; hpin = 0; + ghost_ = 0; grid_step = 10.; grid_points = 1; grid_pen = QPen(Qt::lightGray, 1, Qt::NoPen); @@ -319,6 +320,9 @@ bool BlockView::eventFilter(QObject * o, QEvent * e) { break; case QEvent::GraphicsSceneMouseMove: //qDebug() << "move" << (mm_ci != 0 ? mm_ci : 0); + /*if (ghost_) { + ghost_->setPos(quantize(me->scenePos(), grid_step)); + }*/ if (mm_ci) if (mm_ci->data(1008).toBool()) break; @@ -732,6 +736,22 @@ void BlockView::emitActionEvent(BlockItemBase::Action action, QListsetOpacity(0.5); + addItem(item); +} + + +void BlockView::clearGhost() { + if (!ghost_) return; + delete ghost_; + ghost_ = 0; +} + + void BlockView::drawThumb() { if (!minimap) return; QPainter p(&widget_thumb); diff --git a/qad/blockview/blockview.h b/qad/blockview/blockview.h index c14a602..9f710ff 100644 --- a/qad/blockview/blockview.h +++ b/qad/blockview/blockview.h @@ -144,6 +144,9 @@ protected: void scrollFromThumb(); void deleteCopyTemp(); void emitActionEvent(BlockItemBase::Action action, QList items); + void setGhost(BlockItem * item); + void clearGhost(); + BlockItem * ghost() const {return ghost_;} virtual void loadBus(BlockBusItem * bus) {} virtual void copyBlocks(QList items, QPointF offset) {} @@ -158,6 +161,7 @@ protected: QList copy_buses; BlockBusItem tmp_bus, * match_bus, * bus_from; BlockItemPin * hpin; + BlockItem * ghost_; BlockViewWavetrace wavetrace; QPoint press_point, screen_point, thumb_press; QPointF scene_point, trace_from, last_trace_from, trace_to, copy_dp; diff --git a/qcd_utils/pult/cddirectk.cpp b/qcd_utils/pult/cddirectk.cpp index 7f63c5d..621f31d 100644 --- a/qcd_utils/pult/cddirectk.cpp +++ b/qcd_utils/pult/cddirectk.cpp @@ -96,9 +96,9 @@ void KDockWidget::clear() { void KDockWidget::changedGlobal() { - piCout << "changedGlobal ..." << k_list.size_s() << info_list.size() << lay->count() << lay->rowCount(); + //piCout << "changedGlobal ..." << k_list.size_s() << info_list.size() << lay->count() << lay->rowCount(); for (int i = 0; i < k_list.size_s(); ++i) { - piCout << "update" << i << "0"; + //piCout << "update" << i << "0"; if (!K.exists(k_list[i])) { k_list.remove(i); info_list.remove(i); @@ -106,13 +106,13 @@ void KDockWidget::changedGlobal() { --i; continue; } - piCout << "update" << i << "1"; + //piCout << "update" << i << "1"; QLabel * lbl = qobject_cast(lay->itemAt(i, QFormLayout::LabelRole)->widget()); - piCout << "update" << i << "2"; + //piCout << "update" << i << "2"; if (lbl) lbl->setText(PI2QString(K[k_list[i]].pathString().join(".")) + ":"); - piCout << "update" << i << "3"; + //piCout << "update" << i << "3"; } - piCout << "changedGlobal ok"; + //piCout << "changedGlobal ok"; }