| 2800 | } |
| 2801 | |
| 2802 | void CaptureContext::AddDockWindow(QWidget *newWindow, DockReference ref, QWidget *refWindow, |
| 2803 | float percentage) |
| 2804 | { |
| 2805 | if(!newWindow) |
| 2806 | { |
| 2807 | qCritical() << "Unexpected NULL newWindow in AddDockWindow"; |
| 2808 | return; |
| 2809 | } |
| 2810 | setupDockWindow(newWindow, false); |
| 2811 | |
| 2812 | if(ref == DockReference::MainToolArea) |
| 2813 | { |
| 2814 | m_MainWindow->mainToolManager()->addToolWindow(newWindow, m_MainWindow->mainToolArea()); |
| 2815 | return; |
| 2816 | } |
| 2817 | else if(ref == DockReference::LeftToolArea) |
| 2818 | { |
| 2819 | m_MainWindow->mainToolManager()->addToolWindow(newWindow, m_MainWindow->leftToolArea()); |
| 2820 | return; |
| 2821 | } |
| 2822 | else if(ref == DockReference::NewFloatingArea) |
| 2823 | { |
| 2824 | m_MainWindow->mainToolManager()->addToolWindow( |
| 2825 | newWindow, ToolWindowManager::AreaReference(ToolWindowManager::NewFloatingArea)); |
| 2826 | return; |
| 2827 | } |
| 2828 | else if(ref == DockReference::LastUsedArea) |
| 2829 | { |
| 2830 | m_MainWindow->mainToolManager()->addToolWindow( |
| 2831 | newWindow, ToolWindowManager::AreaReference(ToolWindowManager::LastUsedArea)); |
| 2832 | return; |
| 2833 | } |
| 2834 | |
| 2835 | if(!refWindow) |
| 2836 | { |
| 2837 | qCritical() << "Unexpected NULL refWindow in AddDockWindow"; |
| 2838 | return; |
| 2839 | } |
| 2840 | |
| 2841 | if(ref == DockReference::TransientPopupArea) |
| 2842 | { |
| 2843 | BufferViewer *buf = qobject_cast<BufferViewer *>(newWindow); |
| 2844 | |
| 2845 | if(buf && buf->IsCBufferView()) |
| 2846 | { |
| 2847 | ToolWindowManager *manager = ToolWindowManager::managerOf(refWindow); |
| 2848 | |
| 2849 | BufferViewer *cb = BufferViewer::GetFirstCBufferView(buf); |
| 2850 | if(cb) |
| 2851 | { |
| 2852 | if(manager->areaOf(buf) == NULL) |
| 2853 | manager->addToolWindow(newWindow, ToolWindowManager::AreaReference( |
| 2854 | ToolWindowManager::AddTo, manager->areaOf(cb))); |
| 2855 | else |
| 2856 | manager->moveToolWindow(newWindow, ToolWindowManager::AreaReference( |
| 2857 | ToolWindowManager::AddTo, manager->areaOf(cb))); |
| 2858 | return; |
| 2859 | } |
no test coverage detected