============================================================================
| 175 | |
| 176 | //============================================================================ |
| 177 | bool AutoHideTabPrivate::startFloating(eDragState DraggingState) |
| 178 | { |
| 179 | auto DockArea = DockWidget->dockAreaWidget(); |
| 180 | ADS_PRINT("isFloating " << dockContainer()->isFloating()); |
| 181 | |
| 182 | ADS_PRINT("startFloating"); |
| 183 | DragState = DraggingState; |
| 184 | IFloatingWidget* FloatingWidget = nullptr; |
| 185 | FloatingWidget = createFloatingWidget(DockArea); |
| 186 | auto Size = DockArea->size(); |
| 187 | auto StartPos = DragStartMousePosition; |
| 188 | auto AutoHideContainer = DockWidget->autoHideDockContainer(); |
| 189 | DragStartOrientation = AutoHideContainer->orientation(); |
| 190 | switch (SideBar->sideBarLocation()) |
| 191 | { |
| 192 | case SideBarLeft: |
| 193 | StartPos.rx() = AutoHideContainer->rect().left() + 10; |
| 194 | break; |
| 195 | |
| 196 | case SideBarRight: |
| 197 | StartPos.rx() = AutoHideContainer->rect().right() - 10; |
| 198 | break; |
| 199 | |
| 200 | case SideBarTop: |
| 201 | StartPos.ry() = AutoHideContainer->rect().top() + 10; |
| 202 | break; |
| 203 | |
| 204 | case SideBarBottom: |
| 205 | StartPos.ry() = AutoHideContainer->rect().bottom() - 10; |
| 206 | break; |
| 207 | |
| 208 | case SideBarNone: |
| 209 | return false; |
| 210 | } |
| 211 | FloatingWidget->startFloating(StartPos, Size, DraggingFloatingWidget, _this); |
| 212 | auto DockManager = DockWidget->dockManager(); |
| 213 | auto Overlay = DockManager->containerOverlay(); |
| 214 | Overlay->setAllowedAreas(OuterDockAreas); |
| 215 | this->FloatingWidget = FloatingWidget; |
| 216 | qApp->postEvent(DockWidget, new QEvent((QEvent::Type)internal::DockedWidgetDragStartEvent)); |
| 217 | |
| 218 | return true; |
| 219 | } |
| 220 | |
| 221 | |
| 222 |
no test coverage detected