mirror of
https://github.com/ra3xdh/qucs_s
synced 2025-03-28 21:13:26 +00:00
Fixed displacement of cursor symbols on different actions while zoomed
This commit is contained in:
parent
c658f5eb49
commit
d4073cb03a
@ -340,11 +340,11 @@ void MouseActions::MMoveWire2(Schematic *Doc, QMouseEvent *Event)
|
||||
void MouseActions::MMoveWire1(Schematic *Doc, QMouseEvent *Event)
|
||||
{
|
||||
//QPainter painter(Doc->viewport());
|
||||
Doc->PostPaintEvent (_DotLine);
|
||||
Doc->PostPaintEvent (_NotRop);
|
||||
Doc->PostPaintEvent (_DotLine,0,0,0,0,0,0,true);
|
||||
Doc->PostPaintEvent (_NotRop,0,0,0,0,0,0,true);
|
||||
if(drawn) {
|
||||
Doc->PostPaintEvent (_Line, 0, MAy3, MAx2, MAy3); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3, 0, MAx3, MAy2);
|
||||
Doc->PostPaintEvent (_Line, 0, MAy3, MAx2, MAy3,0,0,true); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3, 0, MAx3, MAy2,0,0,true);
|
||||
}
|
||||
|
||||
MAx3 = DOC_X_POS(Event->pos().x());
|
||||
@ -357,8 +357,8 @@ void MouseActions::MMoveWire1(Schematic *Doc, QMouseEvent *Event)
|
||||
MAy2 = Doc->visibleHeight();
|
||||
|
||||
drawn = true;
|
||||
Doc->PostPaintEvent (_Line, 0, MAy3, MAx2, MAy3); // paint
|
||||
Doc->PostPaintEvent (_Line, MAx3, 0, MAx3, MAy2);
|
||||
Doc->PostPaintEvent (_Line, 0, MAy3, MAx2, MAy3, 0,0, true); // paint
|
||||
Doc->PostPaintEvent (_Line, MAx3, 0, MAx3, MAy2, 0,0, true);
|
||||
Doc->viewport()->update();
|
||||
}
|
||||
|
||||
@ -532,19 +532,19 @@ void MouseActions::MMoveScrollBar(Schematic *Doc, QMouseEvent *Event)
|
||||
void MouseActions::MMoveDelete(Schematic *Doc, QMouseEvent *Event)
|
||||
{
|
||||
//QPainter painter(Doc->viewport());
|
||||
Doc->PostPaintEvent (_NotRop);
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0,0,0,true);
|
||||
|
||||
if(drawn) {
|
||||
Doc->PostPaintEvent (_Line, MAx3-15, MAy3-15, MAx3+15, MAy3+15); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3-15, MAy3+15, MAx3+15, MAy3-15);
|
||||
Doc->PostPaintEvent (_Line, MAx3-15, MAy3-15, MAx3+15, MAy3+15,0,0,true); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3-15, MAy3+15, MAx3+15, MAy3-15,0,0,true);
|
||||
}
|
||||
drawn = true;
|
||||
|
||||
MAx3 = Event->pos().x() - Doc->contentsX();
|
||||
MAy3 = Event->pos().y() - Doc->contentsY();
|
||||
|
||||
Doc->PostPaintEvent (_Line, MAx3-15, MAy3-15, MAx3+15, MAy3+15); // paint
|
||||
Doc->PostPaintEvent (_Line, MAx3-15, MAy3+15, MAx3+15, MAy3-15);
|
||||
Doc->PostPaintEvent (_Line, MAx3-15, MAy3-15, MAx3+15, MAy3+15,0,0,true); // paint
|
||||
Doc->PostPaintEvent (_Line, MAx3-15, MAy3+15, MAx3+15, MAy3-15,0,0,true);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------
|
||||
@ -552,28 +552,28 @@ void MouseActions::MMoveDelete(Schematic *Doc, QMouseEvent *Event)
|
||||
void MouseActions::MMoveLabel(Schematic *Doc, QMouseEvent *Event)
|
||||
{
|
||||
//QPainter painter(Doc->viewport());
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0);
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0,0,0,true);
|
||||
if(drawn) {
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3, MAx3+10, MAy3-10); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3-10, MAx3+20, MAy3-10);
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3-10, MAx3+10, MAy3-17);
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3, MAx3+10, MAy3-10,0,0,true); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3-10, MAx3+20, MAy3-10,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3-10, MAx3+10, MAy3-17,0,0,true);
|
||||
|
||||
Doc->PostPaintEvent (_Line, MAx3+12, MAy3-12, MAx3+15, MAy3-23); // "A"
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3-17, MAx3+17, MAy3-17);
|
||||
Doc->PostPaintEvent (_Line, MAx3+19, MAy3-12, MAx3+16, MAy3-23);
|
||||
Doc->PostPaintEvent (_Line, MAx3+12, MAy3-12, MAx3+15, MAy3-23,0,0,true); // "A"
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3-17, MAx3+17, MAy3-17,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+19, MAy3-12, MAx3+16, MAy3-23,0,0,true);
|
||||
}
|
||||
drawn = true;
|
||||
|
||||
MAx3 = Event->pos().x() - Doc->contentsX();
|
||||
MAy3 = Event->pos().y() - Doc->contentsY();
|
||||
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3, MAx3+10, MAy3-10); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3-10, MAx3+20, MAy3-10);
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3-10, MAx3+10, MAy3-17);
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3, MAx3+10, MAy3-10,0,0,true); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3-10, MAx3+20, MAy3-10,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3-10, MAx3+10, MAy3-17,0,0,true);
|
||||
|
||||
Doc->PostPaintEvent (_Line, MAx3+12, MAy3-12, MAx3+15, MAy3-23); // "A"
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3-17, MAx3+17, MAy3-17);
|
||||
Doc->PostPaintEvent (_Line, MAx3+19, MAy3-12, MAx3+16, MAy3-23);
|
||||
Doc->PostPaintEvent (_Line, MAx3+12, MAy3-12, MAx3+15, MAy3-23,0,0,true); // "A"
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3-17, MAx3+17, MAy3-17,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+19, MAy3-12, MAx3+16, MAy3-23,0,0,true);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------
|
||||
@ -581,20 +581,20 @@ void MouseActions::MMoveLabel(Schematic *Doc, QMouseEvent *Event)
|
||||
void MouseActions::MMoveMarker(Schematic *Doc, QMouseEvent *Event)
|
||||
{
|
||||
//QPainter painter(Doc->viewport());
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0);
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0,0,0,true);
|
||||
if(drawn) {
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3-2, MAx3-8, MAy3-10); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3+1, MAy3-3, MAx3+8, MAy3-10);
|
||||
Doc->PostPaintEvent (_Line, MAx3-7, MAy3-10, MAx3+7, MAy3-10);
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3-2, MAx3-8, MAy3-10,0,0,true); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3+1, MAy3-3, MAx3+8, MAy3-10,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3-7, MAy3-10, MAx3+7, MAy3-10,0,0,true);
|
||||
}
|
||||
drawn = true;
|
||||
|
||||
MAx3 = Event->pos().x() - Doc->contentsX();
|
||||
MAy3 = Event->pos().y() - Doc->contentsY();
|
||||
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3-2, MAx3-8, MAy3-10); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3+1, MAy3-3, MAx3+8, MAy3-10);
|
||||
Doc->PostPaintEvent (_Line, MAx3-7, MAy3-10, MAx3+7, MAy3-10);
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3-2, MAx3-8, MAy3-10,0,0,true); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3+1, MAy3-3, MAx3+8, MAy3-10,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3-7, MAy3-10, MAx3+7, MAy3-10,0,0,true);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------
|
||||
@ -603,24 +603,24 @@ void MouseActions::MMoveMarker(Schematic *Doc, QMouseEvent *Event)
|
||||
void MouseActions::MMoveMirrorY(Schematic *Doc, QMouseEvent *Event)
|
||||
{
|
||||
//QPainter painter(Doc->viewport());
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0);
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0,0,0,true);
|
||||
if(drawn) {
|
||||
Doc->PostPaintEvent (_Line, MAx3-11, MAy3-4, MAx3-9, MAy3-9); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3-11, MAy3-3, MAx3-6, MAy3-3);
|
||||
Doc->PostPaintEvent (_Line, MAx3+11, MAy3-4, MAx3+9, MAy3-9);
|
||||
Doc->PostPaintEvent (_Line, MAx3+11, MAy3-3, MAx3+6, MAy3-3);
|
||||
Doc->PostPaintEvent (_Arc, MAx3-10, MAy3-8, 21, 10, 16*20, 16*140);
|
||||
Doc->PostPaintEvent (_Line, MAx3-11, MAy3-4, MAx3-9, MAy3-9,0,0,true); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3-11, MAy3-3, MAx3-6, MAy3-3,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+11, MAy3-4, MAx3+9, MAy3-9,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+11, MAy3-3, MAx3+6, MAy3-3,0,0,true);
|
||||
Doc->PostPaintEvent (_Arc, MAx3-10, MAy3-8, 21, 10, 16*20, 16*140,true);
|
||||
}
|
||||
drawn = true;
|
||||
|
||||
MAx3 = Event->pos().x() - Doc->contentsX();
|
||||
MAy3 = Event->pos().y() - Doc->contentsY();
|
||||
|
||||
Doc->PostPaintEvent (_Line, MAx3-11, MAy3-4, MAx3-9, MAy3-9); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3-11, MAy3-3, MAx3-6, MAy3-3);
|
||||
Doc->PostPaintEvent (_Line, MAx3+11, MAy3-4, MAx3+9, MAy3-9);
|
||||
Doc->PostPaintEvent (_Line, MAx3+11, MAy3-3, MAx3+6, MAy3-3);
|
||||
Doc->PostPaintEvent (_Arc, MAx3-10, MAy3-8, 21, 10, 16*20, 16*140);
|
||||
Doc->PostPaintEvent (_Line, MAx3-11, MAy3-4, MAx3-9, MAy3-9,0,0,true); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3-11, MAy3-3, MAx3-6, MAy3-3,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+11, MAy3-4, MAx3+9, MAy3-9,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+11, MAy3-3, MAx3+6, MAy3-3,0,0,true);
|
||||
Doc->PostPaintEvent (_Arc, MAx3-10, MAy3-8, 21, 10, 16*20, 16*140,true);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------
|
||||
@ -629,24 +629,24 @@ void MouseActions::MMoveMirrorY(Schematic *Doc, QMouseEvent *Event)
|
||||
void MouseActions::MMoveMirrorX(Schematic *Doc, QMouseEvent *Event)
|
||||
{
|
||||
//QPainter painter(Doc->viewport());
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0);
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0,0,0,true);
|
||||
if(drawn) {
|
||||
Doc->PostPaintEvent (_Line, MAx3-4, MAy3-11, MAx3-9, MAy3-9); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3-3, MAy3-11, MAx3-3, MAy3-6);
|
||||
Doc->PostPaintEvent (_Line, MAx3-4, MAy3+11, MAx3-9, MAy3+9);
|
||||
Doc->PostPaintEvent (_Line, MAx3-3, MAy3+11, MAx3-3, MAy3+6);
|
||||
Doc->PostPaintEvent (_Arc, MAx3-8, MAy3-10, 10, 21, 16*110, 16*140);
|
||||
Doc->PostPaintEvent (_Line, MAx3-4, MAy3-11, MAx3-9, MAy3-9,0,0,true); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3-3, MAy3-11, MAx3-3, MAy3-6,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3-4, MAy3+11, MAx3-9, MAy3+9,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3-3, MAy3+11, MAx3-3, MAy3+6,0,0,true);
|
||||
Doc->PostPaintEvent (_Arc, MAx3-8, MAy3-10, 10, 21, 16*110, 16*140,true);
|
||||
}
|
||||
drawn = true;
|
||||
|
||||
MAx3 = Event->pos().x() - Doc->contentsX();
|
||||
MAy3 = Event->pos().y() - Doc->contentsY();
|
||||
|
||||
Doc->PostPaintEvent (_Line, MAx3-4, MAy3-11, MAx3-9, MAy3-9); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3-3, MAy3-11, MAx3-3, MAy3-6);
|
||||
Doc->PostPaintEvent (_Line, MAx3-4, MAy3+11, MAx3-9, MAy3+9);
|
||||
Doc->PostPaintEvent (_Line, MAx3-3, MAy3+11, MAx3-3, MAy3+6);
|
||||
Doc->PostPaintEvent (_Arc, MAx3-8, MAy3-10, 10, 21, 16*110, 16*140);
|
||||
Doc->PostPaintEvent (_Line, MAx3-4, MAy3-11, MAx3-9, MAy3-9,0,0,true); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3-3, MAy3-11, MAx3-3, MAy3-6,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3-4, MAy3+11, MAx3-9, MAy3+9,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3-3, MAy3+11, MAx3-3, MAy3+6,0,0,true);
|
||||
Doc->PostPaintEvent (_Arc, MAx3-8, MAy3-10, 10, 21, 16*110, 16*140,true);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------
|
||||
@ -654,20 +654,20 @@ void MouseActions::MMoveMirrorX(Schematic *Doc, QMouseEvent *Event)
|
||||
void MouseActions::MMoveRotate(Schematic *Doc, QMouseEvent *Event)
|
||||
{
|
||||
//QPainter painter(Doc->viewport());
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0);
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0,0,0,true);
|
||||
if(drawn) {
|
||||
Doc->PostPaintEvent (_Line, MAx3-6, MAy3+8, MAx3-6, MAy3+1); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3-7, MAy3+8, MAx3-12, MAy3+8);
|
||||
Doc->PostPaintEvent (_Arc, MAx3-10, MAy3-10, 21, 21, -16*20, 16*240);
|
||||
Doc->PostPaintEvent (_Line, MAx3-6, MAy3+8, MAx3-6, MAy3+1,0,0,true); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3-7, MAy3+8, MAx3-12, MAy3+8,0,0,true);
|
||||
Doc->PostPaintEvent (_Arc, MAx3-10, MAy3-10, 21, 21, -16*20, 16*240,true);
|
||||
}
|
||||
drawn = true;
|
||||
|
||||
MAx3 = Event->pos().x() - Doc->contentsX();
|
||||
MAy3 = Event->pos().y() - Doc->contentsY();
|
||||
|
||||
Doc->PostPaintEvent (_Line, MAx3-6, MAy3+8, MAx3-6, MAy3+1); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3-7, MAy3+8, MAx3-12, MAy3+8);
|
||||
Doc->PostPaintEvent (_Arc, MAx3-10, MAy3-10, 21, 21, -16*20, 16*240);
|
||||
Doc->PostPaintEvent (_Line, MAx3-6, MAy3+8, MAx3-6, MAy3+1,0,0,true); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3-7, MAy3+8, MAx3-12, MAy3+8,0,0,true);
|
||||
Doc->PostPaintEvent (_Arc, MAx3-10, MAy3-10, 21, 21, -16*20, 16*240,true);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------
|
||||
@ -675,20 +675,20 @@ void MouseActions::MMoveRotate(Schematic *Doc, QMouseEvent *Event)
|
||||
void MouseActions::MMoveActivate(Schematic *Doc, QMouseEvent *Event)
|
||||
{
|
||||
//QPainter painter(Doc->viewport());
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0);
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0,0,0,true);
|
||||
if(drawn) {
|
||||
Doc->PostPaintEvent (_Rect, MAx3, MAy3-9, 14, 10); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3-9, MAx3+13, MAy3);
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3, MAx3+13, MAy3-9);
|
||||
Doc->PostPaintEvent (_Rect, MAx3, MAy3-9, 14, 10, 0, 0, true); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3-9, MAx3+13, MAy3,0, 0, true);
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3, MAx3+13, MAy3-9,0, 0, true);
|
||||
}
|
||||
drawn = true;
|
||||
|
||||
MAx3 = Event->pos().x() - Doc->contentsX();
|
||||
MAy3 = Event->pos().y() - Doc->contentsY();
|
||||
|
||||
Doc->PostPaintEvent (_Rect, MAx3, MAy3-9, 14, 10); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3-9, MAx3+13, MAy3);
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3, MAx3+13, MAy3-9);
|
||||
Doc->PostPaintEvent (_Rect, MAx3, MAy3-9, 14, 10, 0, 0, true); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3-9, MAx3+13, MAy3, 0, 0, true);
|
||||
Doc->PostPaintEvent (_Line, MAx3, MAy3, MAx3+13, MAy3-9, 0, 0, true);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------
|
||||
@ -696,26 +696,26 @@ void MouseActions::MMoveActivate(Schematic *Doc, QMouseEvent *Event)
|
||||
void MouseActions::MMoveOnGrid(Schematic *Doc, QMouseEvent *Event)
|
||||
{
|
||||
//QPainter painter(Doc->viewport());
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0);
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0,0,0,true);
|
||||
if(drawn) {
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3+ 3, MAx3+25, MAy3+3); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3+ 7, MAx3+25, MAy3+7);
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3+11, MAx3+25, MAy3+11);
|
||||
Doc->PostPaintEvent (_Line, MAx3+13, MAy3, MAx3+13, MAy3+15);
|
||||
Doc->PostPaintEvent (_Line, MAx3+17, MAy3, MAx3+17, MAy3+15);
|
||||
Doc->PostPaintEvent (_Line, MAx3+21, MAy3, MAx3+21, MAy3+15);
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3+ 3, MAx3+25, MAy3+3,0,0,true); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3+ 7, MAx3+25, MAy3+7,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3+11, MAx3+25, MAy3+11,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+13, MAy3, MAx3+13, MAy3+15,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+17, MAy3, MAx3+17, MAy3+15,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+21, MAy3, MAx3+21, MAy3+15,0,0,true);
|
||||
}
|
||||
drawn = true;
|
||||
|
||||
MAx3 = Event->pos().x() - Doc->contentsX();
|
||||
MAy3 = Event->pos().y() - Doc->contentsY();
|
||||
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3+ 3, MAx3+25, MAy3+3); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3+ 7, MAx3+25, MAy3+7);
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3+11, MAx3+25, MAy3+11);
|
||||
Doc->PostPaintEvent (_Line, MAx3+13, MAy3, MAx3+13, MAy3+15);
|
||||
Doc->PostPaintEvent (_Line, MAx3+17, MAy3, MAx3+17, MAy3+15);
|
||||
Doc->PostPaintEvent (_Line, MAx3+21, MAy3, MAx3+21, MAy3+15);
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3+ 3, MAx3+25, MAy3+3,0,0,true); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3+ 7, MAx3+25, MAy3+7,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+10, MAy3+11, MAx3+25, MAy3+11,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+13, MAy3, MAx3+13, MAy3+15,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+17, MAy3, MAx3+17, MAy3+15,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+21, MAy3, MAx3+21, MAy3+15,0,0,true);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------
|
||||
@ -723,30 +723,30 @@ void MouseActions::MMoveOnGrid(Schematic *Doc, QMouseEvent *Event)
|
||||
void MouseActions::MMoveMoveTextB(Schematic *Doc, QMouseEvent *Event)
|
||||
{
|
||||
//QPainter painter(Doc->viewport());
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0);
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0,0,0,true);
|
||||
if(drawn) {
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3 , MAx3+16, MAy3); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3+23, MAy3 , MAx3+25, MAy3);
|
||||
Doc->PostPaintEvent (_Line, MAx3+13, MAy3 , MAx3+13, MAy3+ 3);
|
||||
Doc->PostPaintEvent (_Line, MAx3+13, MAy3+ 7, MAx3+13, MAy3+10);
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3+10, MAx3+16, MAy3+10);
|
||||
Doc->PostPaintEvent (_Line, MAx3+23, MAy3+10, MAx3+25, MAy3+10);
|
||||
Doc->PostPaintEvent (_Line, MAx3+26, MAy3 , MAx3+26, MAy3+ 3);
|
||||
Doc->PostPaintEvent (_Line, MAx3+26, MAy3+ 7, MAx3+26, MAy3+10);
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3 , MAx3+16, MAy3,0,0,true); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3+23, MAy3 , MAx3+25, MAy3,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+13, MAy3 , MAx3+13, MAy3+ 3,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+13, MAy3+ 7, MAx3+13, MAy3+10,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3+10, MAx3+16, MAy3+10,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+23, MAy3+10, MAx3+25, MAy3+10,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+26, MAy3 , MAx3+26, MAy3+ 3,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+26, MAy3+ 7, MAx3+26, MAy3+10,0,0,true);
|
||||
}
|
||||
drawn = true;
|
||||
|
||||
MAx3 = Event->pos().x() - Doc->contentsX();
|
||||
MAy3 = Event->pos().y() - Doc->contentsY();
|
||||
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3 , MAx3+16, MAy3); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3+23, MAy3 , MAx3+25, MAy3);
|
||||
Doc->PostPaintEvent (_Line, MAx3+13, MAy3 , MAx3+13, MAy3+ 3);
|
||||
Doc->PostPaintEvent (_Line, MAx3+13, MAy3+ 7, MAx3+13, MAy3+10);
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3+10, MAx3+16, MAy3+10);
|
||||
Doc->PostPaintEvent (_Line, MAx3+23, MAy3+10, MAx3+25, MAy3+10);
|
||||
Doc->PostPaintEvent (_Line, MAx3+26, MAy3 , MAx3+26, MAy3+ 3);
|
||||
Doc->PostPaintEvent (_Line, MAx3+26, MAy3+ 7, MAx3+26, MAy3+10);
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3 , MAx3+16, MAy3,0,0,true); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3+23, MAy3 , MAx3+25, MAy3,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+13, MAy3 , MAx3+13, MAy3+ 3,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+13, MAy3+ 7, MAx3+13, MAy3+10,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3+10, MAx3+16, MAy3+10,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+23, MAy3+10, MAx3+25, MAy3+10,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+26, MAy3 , MAx3+26, MAy3+ 3,0,0,true);
|
||||
Doc->PostPaintEvent (_Line, MAx3+26, MAy3+ 7, MAx3+26, MAy3+10,0,0,true);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------
|
||||
@ -756,7 +756,7 @@ void MouseActions::MMoveMoveText(Schematic *Doc, QMouseEvent *Event)
|
||||
//setPainter(Doc, &painter);
|
||||
|
||||
if(drawn)
|
||||
Doc->PostPaintEvent (_Rect, MAx1, MAy1, MAx2, MAy2); // erase old
|
||||
Doc->PostPaintEvent (_Rect, MAx1, MAy1, MAx2, MAy2,0,0,true); // erase old
|
||||
drawn = true;
|
||||
|
||||
int newX = DOC_X_POS(Event->pos().x());
|
||||
@ -766,7 +766,7 @@ void MouseActions::MMoveMoveText(Schematic *Doc, QMouseEvent *Event)
|
||||
MAx3 = newX;
|
||||
MAy3 = newY;
|
||||
|
||||
Doc->PostPaintEvent (_Rect, MAx1, MAy1, MAx2, MAy2); // paint new
|
||||
Doc->PostPaintEvent (_Rect, MAx1, MAy1, MAx2, MAy2,0,0,true); // paint new
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------
|
||||
@ -774,20 +774,20 @@ void MouseActions::MMoveMoveText(Schematic *Doc, QMouseEvent *Event)
|
||||
void MouseActions::MMoveZoomIn(Schematic *Doc, QMouseEvent *Event)
|
||||
{
|
||||
//QPainter painter(Doc->viewport());
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0);
|
||||
Doc->PostPaintEvent (_NotRop, 0,0,0,0,0,0,true);
|
||||
if(drawn) {
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3 , MAx3+22, MAy3); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3+18, MAy3-4 , MAx3+18, MAy3+4);
|
||||
Doc->PostPaintEvent (_Ellipse, MAx3+12, MAy3-6, 13, 13);
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3 , MAx3+22, MAy3,0,0,true); // erase old
|
||||
Doc->PostPaintEvent (_Line, MAx3+18, MAy3-4 , MAx3+18, MAy3+4,0,0,true);
|
||||
Doc->PostPaintEvent (_Ellipse, MAx3+12, MAy3-6, 13, 13,0,0,true);
|
||||
}
|
||||
drawn = true;
|
||||
|
||||
MAx3 = Event->pos().x() - Doc->contentsX();
|
||||
MAy3 = Event->pos().y() - Doc->contentsY();
|
||||
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3 , MAx3+22, MAy3); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3+18, MAy3-4 , MAx3+18, MAy3+4);
|
||||
Doc->PostPaintEvent (_Ellipse, MAx3+12, MAy3-6, 13, 13);
|
||||
Doc->PostPaintEvent (_Line, MAx3+14, MAy3 , MAx3+22, MAy3,0,0,true); // paint new
|
||||
Doc->PostPaintEvent (_Line, MAx3+18, MAy3-4 , MAx3+18, MAy3+4,0,0,true);
|
||||
Doc->PostPaintEvent (_Ellipse, MAx3+12, MAy3-6, 13, 13,0,0,true);
|
||||
Doc->viewport()->update();
|
||||
}
|
||||
|
||||
|
@ -99,15 +99,26 @@ function dataSet = loadQucsDataSet(dataSetFile)
|
||||
end
|
||||
else
|
||||
if idata > 0
|
||||
[val,cnt] = sscanf(line,'%f');
|
||||
if cnt ~= 1
|
||||
fprintf(1,'Invalid data in data set %s\n',dataSetFile);
|
||||
error = 1;
|
||||
break;
|
||||
end
|
||||
if idata > length(dataSet(idx).data)
|
||||
dataSet(idx).data = [dataSet(idx).data zeros(1,10000)];
|
||||
% check if number is complex
|
||||
jloc = strfind(line, 'j');
|
||||
if isempty(jloc)
|
||||
[val,cnt] = sscanf(line,'%f');
|
||||
if cnt ~= 1
|
||||
error('QUCS:laoddataset:badnum','Invalid data in data set %s\n', dataSetFile);
|
||||
end
|
||||
else
|
||||
line(jloc) = line(jloc-1);
|
||||
line(jloc-1) = ' ';
|
||||
[val,cnt] = sscanf(line,'%f');
|
||||
if cnt ~= 2
|
||||
error('QUCS:laoddataset:badnum', 'Invalid data in data set %s\n', dataSetFile);
|
||||
end
|
||||
val = complex(val(1), val(2));
|
||||
end
|
||||
|
||||
% if idata > length(dataSet(idx).data)
|
||||
% dataSet(idx).data = [dataSet(idx).data zeros(1,10000)];
|
||||
% end
|
||||
dataSet(idx).data(idata) = val;
|
||||
idata = idata + 1;
|
||||
end
|
||||
|
@ -478,22 +478,38 @@ void Schematic::drawContents(QPainter *p, int, int, int, int)
|
||||
{
|
||||
PostedPaintEvent p = PostedPaintEvents[i];
|
||||
QPainter painter2(viewport());
|
||||
|
||||
switch(p.pe)
|
||||
{
|
||||
case _NotRop:
|
||||
Painter.Painter->setCompositionMode(QPainter::RasterOp_SourceAndNotDestination);
|
||||
if(p.PaintOnViewport)
|
||||
painter2.setCompositionMode(QPainter::RasterOp_SourceAndNotDestination);
|
||||
else
|
||||
Painter.Painter->setCompositionMode(QPainter::RasterOp_SourceAndNotDestination);
|
||||
break;
|
||||
case _Rect:
|
||||
Painter.drawRect(p.x1, p.y1, p.x2, p.y2);
|
||||
if(p.PaintOnViewport)
|
||||
painter2.drawRect(p.x1, p.y1, p.x2, p.y2);
|
||||
else
|
||||
Painter.drawRect(p.x1, p.y1, p.x2, p.y2);
|
||||
break;
|
||||
case _Line:
|
||||
Painter.drawLine(p.x1, p.y1, p.x2, p.y2);
|
||||
if(p.PaintOnViewport)
|
||||
painter2.drawLine(p.x1, p.y1, p.x2, p.y2);
|
||||
else
|
||||
Painter.drawLine(p.x1, p.y1, p.x2, p.y2);
|
||||
break;
|
||||
case _Ellipse:
|
||||
Painter.drawEllipse(p.x1, p.y1, p.x2, p.y2);
|
||||
if(p.PaintOnViewport)
|
||||
painter2.drawEllipse(p.x1, p.y1, p.x2, p.y2);
|
||||
else
|
||||
Painter.drawEllipse(p.x1, p.y1, p.x2, p.y2);
|
||||
break;
|
||||
case _Arc:
|
||||
Painter.drawArc(p.x1, p.y1, p.x2, p.y2, p.a, p.b);
|
||||
if(p.PaintOnViewport)
|
||||
painter2.drawArc(p.x1, p.y1, p.x2, p.y2, p.a, p.b);
|
||||
else
|
||||
Painter.drawArc(p.x1, p.y1, p.x2, p.y2, p.a, p.b);
|
||||
break;
|
||||
case _DotLine:
|
||||
Painter.Painter->setPen(Qt::DotLine);
|
||||
@ -512,9 +528,9 @@ void Schematic::drawContents(QPainter *p, int, int, int, int)
|
||||
|
||||
}
|
||||
|
||||
void Schematic::PostPaintEvent (PE pe, int x1, int y1, int x2, int y2, int a, int b)
|
||||
void Schematic::PostPaintEvent (PE pe, int x1, int y1, int x2, int y2, int a, int b, bool PaintOnViewport)
|
||||
{
|
||||
PostedPaintEvent p = {pe, x1,y1,x2,y2,a,b};
|
||||
PostedPaintEvent p = {pe, x1,y1,x2,y2,a,b,PaintOnViewport};
|
||||
PostedPaintEvents.push_back(p);
|
||||
viewport()->update();
|
||||
update();
|
||||
|
@ -52,7 +52,7 @@ struct DigSignal {
|
||||
};
|
||||
typedef QMap<QString, DigSignal> DigMap;
|
||||
typedef enum {_NotRop, _Rect, _Line, _Ellipse, _Arc, _DotLine, _Translate, _Scale}PE;
|
||||
typedef struct {PE pe; int x1; int y1;int x2;int y2;int a; int b;}PostedPaintEvent;
|
||||
typedef struct {PE pe; int x1; int y1;int x2;int y2;int a; int b; bool PaintOnViewport;}PostedPaintEvent;
|
||||
|
||||
// subcircuit, vhdl, etc. file structure
|
||||
struct SubFile {
|
||||
@ -75,7 +75,7 @@ public:
|
||||
void setChanged(bool, bool fillStack=false, char Op='*');
|
||||
void paintGrid(ViewPainter*, int, int, int, int);
|
||||
void print(QPrinter*, QPainter*, bool, bool);
|
||||
void PostPaintEvent(PE pe, int x1=0, int y1=0, int x2=0, int y2=0, int a=0, int b=0);
|
||||
void PostPaintEvent(PE pe, int x1=0, int y1=0, int x2=0, int y2=0, int a=0, int b=0,bool PaintOnViewport=false);
|
||||
|
||||
float textCorr();
|
||||
void sizeOfAll(int&, int&, int&, int&);
|
||||
|
Loading…
x
Reference in New Issue
Block a user