MCPcopy Create free account
hub / github.com/KDE/labplot / doResizing

Method doResizing

src/3rdparty/Qt-Advanced-Docking-System/src/ResizeHandle.cpp:106–161  ·  view source on GitHub ↗

============================================================================

Source from the content-addressed store, hash-verified

104
105//============================================================================
106void ResizeHandlePrivate::doResizing(QMouseEvent* e, bool ForceResize)
107{
108 int pos = pick(e->pos()) - MouseOffset;
109 auto OldGeometry = Target->geometry();
110 auto NewGeometry = OldGeometry;
111 switch (HandlePosition)
112 {
113 case Qt::LeftEdge:
114 {
115 NewGeometry.adjust(pos, 0, 0, 0);
116 int Size = qBound(MinSize, NewGeometry.width(), MaxSize);
117 pos += (NewGeometry.width() - Size);
118 NewGeometry.setWidth(Size);
119 NewGeometry.moveTopRight(OldGeometry.topRight());
120 }
121 break;
122
123
124 case Qt::RightEdge:
125 {
126 NewGeometry.adjust(0, 0, pos, 0);
127 int Size = qBound(MinSize, NewGeometry.width(), MaxSize);
128 pos -= (NewGeometry.width() - Size);
129 NewGeometry.setWidth(Size);
130 }
131 break;
132
133 case Qt::TopEdge:
134 {
135 NewGeometry.adjust(0, pos, 0, 0);
136 int Size = qBound(MinSize, NewGeometry.height(), MaxSize);
137 pos += (NewGeometry.height() - Size);
138 NewGeometry.setHeight(Size);
139 NewGeometry.moveBottomLeft(OldGeometry.bottomLeft());
140 }
141 break;
142
143 case Qt::BottomEdge:
144 {
145 NewGeometry.adjust(0, 0, 0, pos);
146 int Size = qBound(MinSize, NewGeometry.height(), MaxSize);
147 pos -= (NewGeometry.height() - Size);
148 NewGeometry.setHeight(Size);
149 }
150 break;
151 }
152
153 if (_this->opaqueResize() || ForceResize)
154 {
155 Target->setGeometry(NewGeometry);
156 }
157 else
158 {
159 setRubberBand(pos);
160 }
161}
162
163

Callers 2

mouseMoveEventMethod · 0.80
mouseReleaseEventMethod · 0.80

Calls 6

geometryMethod · 0.80
heightMethod · 0.80
setHeightMethod · 0.80
opaqueResizeMethod · 0.80
widthMethod · 0.45
setWidthMethod · 0.45

Tested by

no test coverage detected