From 83c70690e08e959d8904c90ab5a29dfdb294a4e8 Mon Sep 17 00:00:00 2001 From: catdog2 Date: Wed, 10 Dec 2008 14:02:51 +0000 Subject: [PATCH] so aenderungen git-svn-id: http://svn.lsim.tuxzone.org/trunk@30 4bec179b-ab65-46ed-a5f8-55b8b5c735d0 --- src/fielditem.cpp | 18 ++++++++++++++++++ src/fielditem.h | 2 ++ src/graphicsview.cpp | 4 ++-- src/homoefielditem.cpp | 14 +++----------- src/homoefielditem.h | 4 +--- src/homoefieldwidget.cpp | 11 ----------- src/lsim.cpp | 2 +- src/simulscene.cpp | 1 + 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/fielditem.cpp b/src/fielditem.cpp index 1235a62..184affc 100644 --- a/src/fielditem.cpp +++ b/src/fielditem.cpp @@ -138,6 +138,16 @@ void FieldItem::wheelEvent(QGraphicsSceneWheelEvent * event) { } void FieldItem::contextMenuEvent ( QGraphicsSceneContextMenuEvent * event ){ + QMenu menu; + QAction *removeAction = menu.addAction(tr("L\366schen")); + connect(removeAction, SIGNAL(triggered()),this, SLOT(deleteMe())); + + QString selectString; + if(isSelected()) selectString = tr("Abw\344hlen"); + else selectString = tr("Ausw\344hlen"); + QAction *selectAction = menu.addAction(selectString); + connect(selectAction, SIGNAL(triggered()),this, SLOT(toggleSelection())); + QAction *selectedAction = menu.exec(event->screenPos()); } /*! @@ -145,4 +155,12 @@ void FieldItem::contextMenuEvent ( QGraphicsSceneContextMenuEvent * event ){ */ int FieldItem::getRotation() { return myRotation; +} + +void FieldItem::deleteMe() { + delete this; +} + +void FieldItem::toggleSelection() { + setSelected(!isSelected()); } \ No newline at end of file diff --git a/src/fielditem.h b/src/fielditem.h index 40d4cca..2972f33 100644 --- a/src/fielditem.h +++ b/src/fielditem.h @@ -69,6 +69,8 @@ class FieldItem :public QObject, public QGraphicsItem { virtual void setScenePosX(double newXPos); virtual void setScenePosY(double newYPos); virtual void setRotation(int angle); + void deleteMe(); + void toggleSelection(); public slots: //! setzt das rechteck des Widgets diff --git a/src/graphicsview.cpp b/src/graphicsview.cpp index e73e8f5..93c4641 100644 --- a/src/graphicsview.cpp +++ b/src/graphicsview.cpp @@ -84,9 +84,9 @@ void GraphicsView::mouseMoveEvent ( QMouseEvent * e ) { QPointF scenePos = mapToScene(e->pos()); QString posString; posString += "Mausposition: "; - posString += "x: " + QLocale().toString(scenePos.x(),'g') + " px"+QChar(8793); + posString += "x: " + QLocale().toString(scenePos.x(),'g') + " px"+"/"; posString += QLocale().toString(scenePos.x()*simulScene->getMeterPerPx(),'g') + " m"; - posString += " y: " + QLocale().toString(scenePos.y(),'g') + " px"+QChar(8793); + posString += " y: " + QLocale().toString(scenePos.y(),'g') + " px"+"/"; posString += QLocale().toString(scenePos.y()*simulScene->getMeterPerPx(),'g') + " m"; mainWindowStatusBar->showMessage(posString); } diff --git a/src/homoefielditem.cpp b/src/homoefielditem.cpp index 9b5aed6..dea521f 100644 --- a/src/homoefielditem.cpp +++ b/src/homoefielditem.cpp @@ -23,6 +23,7 @@ #include #include #include +#include "simulscene.h" HomoEFieldItem::HomoEFieldItem(QRectF sizeRect) : FieldItem() { @@ -38,9 +39,6 @@ HomoEFieldItem::HomoEFieldItem(QRectF sizeRect) //QGraphicsRectItem * testItem = new QGraphicsRectItem(QRectF(-10,-10,6,6), this); //testItem->setBrush(Qt::SolidPattern); - connect(this, SIGNAL(heightChanged(double)), this, SLOT(handleVoltageChange())); - - @@ -125,17 +123,11 @@ void HomoEFieldItem::setFieldPower (double fieldPower ) { //if (this->fieldPower == fieldPower) return; this->fieldPower = fieldPower; emit fieldPowerChanged(fieldPower); - handleVoltageChange (); -} - -void HomoEFieldItem::setVoltage (double voltage ) { - setFieldPower( voltage/getRectF().height()); } -void HomoEFieldItem::handleVoltageChange () { - emit voltageChanged(getFieldPower()*getRectF().height()); -} + + double HomoEFieldItem::getOuterPenWidth() const { diff --git a/src/homoefielditem.h b/src/homoefielditem.h index 3c1d6b9..995337c 100644 --- a/src/homoefielditem.h +++ b/src/homoefielditem.h @@ -58,15 +58,13 @@ class HomoEFieldItem : public FieldItem { public slots: void setFieldPower (double fieldPower ); - void setVoltage (double voltage ); void setOuterPenWidth ( double theValue ); private slots: - void handleVoltageChange(); + signals: void fieldPowerChanged(double fieldPower); - void voltageChanged(double voltage); private: //! Abstand der Feldlinien in der Zeichnung diff --git a/src/homoefieldwidget.cpp b/src/homoefieldwidget.cpp index efd7942..c065170 100644 --- a/src/homoefieldwidget.cpp +++ b/src/homoefieldwidget.cpp @@ -105,7 +105,6 @@ void HomoEFieldWidget::createWidget() QLabel* fieldPowerLabel = new QLabel(tr("Feldst\344rke(E):")); - QLabel* voltageLabel = new QLabel(tr("Spannung:")); ExpDoubleSpinBox* fieldPowerBox = new ExpDoubleSpinBox; fieldPowerBox->setRange(0,1e+200); @@ -116,21 +115,11 @@ void HomoEFieldWidget::createWidget() connect(homoEField ,SIGNAL(fieldPowerChanged(double)),fieldPowerBox, SLOT(setValue(double)) ); connect(fieldPowerBox, SIGNAL(valueChanged(double)),homoEField ,SLOT(setFieldPower(double)) ); - ExpDoubleSpinBox* voltageBox = new ExpDoubleSpinBox; - voltageBox->setRange(0,1e+200); - voltageBox->setDecimals(35); - voltageBox->setDisplayDecimals(3); - voltageBox->setKeyboardTracking(false); - voltageBox->setSuffix(" V"); - connect(homoEField ,SIGNAL(voltageChanged(double)),voltageBox, SLOT(setValue(double)) ); - connect(voltageBox, SIGNAL(valueChanged(double)),homoEField ,SLOT(setVoltage(double)) ); QGridLayout* constGridLayout = new QGridLayout; //constGridLayout->setSizeConstraint(QLayout::SetFixedSize); constGridLayout->addWidget(fieldPowerBox,0,1); - constGridLayout->addWidget(voltageBox,1,1); constGridLayout->addWidget(fieldPowerLabel,0,0,Qt::AlignRight); - constGridLayout->addWidget(voltageLabel,1,0,Qt::AlignRight); QGroupBox* fieldConstantsBox = new QGroupBox(tr("Feldkonstanten")); fieldConstantsBox->setLayout(constGridLayout); diff --git a/src/lsim.cpp b/src/lsim.cpp index 92d00e6..5ee726e 100644 --- a/src/lsim.cpp +++ b/src/lsim.cpp @@ -439,7 +439,7 @@ void lsim::createDocks() { //description labels QLabel *flight_path_label = new QLabel(tr("Flugbahn anzeigen:")); - QLabel *timer_label = new QLabel(tr("L\344nge der Animation:")); + QLabel *timer_label = new QLabel(tr("Dauer der Animation:")); QLabel *real_simul_time_label = new QLabel(tr("\"Reale\" Simulationsdauer:")); //grid layout diff --git a/src/simulscene.cpp b/src/simulscene.cpp index f7766f8..24aa77a 100644 --- a/src/simulscene.cpp +++ b/src/simulscene.cpp @@ -360,6 +360,7 @@ void SimulScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent) { connect( currHomoEfieldInsertItem, SIGNAL(ScenePosChanged(QPointF)), this, SLOT(moveResizeRects())); //item ueber sceneChange informieren connect(this,SIGNAL(changed(QList)),currHomoEfieldInsertItem,SLOT(handleSceneChange(QList))); + } update(); //moegliche darstellungsprobleme beseitigen QApplication::restoreOverrideCursor();