User forums > Using Code::Blocks

Does Code::Blocks support multiple monitor editing?

(1/3) > >>

ollydbg:
I see some old thread here: multi-monitor editing

But is it possible currently.

Maybe, we can drag the wxAuiNotebook to another monitor?
Or a floating editor window in another monitor?

Miguel Gimenez:
The main editor window seems to be anchored, but other windows (Management, Open Files List, Watches or Logs & others) can be moved to other monitor. I have not tried to save their positions, though.

ollydbg:

--- Quote from: Miguel Gimenez on October 06, 2022, 12:41:45 pm ---The main editor window seems to be anchored, but other windows (Management, Open Files List, Watches or Logs & others) can be moved to other monitor. I have not tried to save their positions, though.

--- End quote ---

Yes, the editor window(I guess it is wxAuiNotebook) is docked, and can't be floated. But even it can be floated, can we make two floated? We have add a new floating wxAuiNotebook window?

I'm going to check whether wx samples.

EDIT

I just checked the wxAui sample project.
In its menu: View->Notebook, a new floating notebook is created, I can maximize the new notebook in the second monitor, and I can drag the editor(panel) between the old and new wxNotebook.

EDIT2

I added the wxAui sample application screen shot.

The code in aui sample looks like simple:


--- Code: ---void MyFrame::OnCreateNotebook(wxCommandEvent& WXUNUSED(event))
{
    m_mgr.AddPane(CreateNotebook(), wxAuiPaneInfo().
                  Caption("Notebook").
                  Float().FloatingPosition(GetStartPosition()).
                  //FloatingSize(FromDIP(wxSize(300,200))).
                  CloseButton(true).MaximizeButton(true));
    m_mgr.Update();
}

--- End code ---

ollydbg:
In the function: void MainFrame::CreateIDE()

There are some code snippets like:


--- Code: ---    // editor manager
    m_LayoutManager.AddPane(m_pEdMan->GetNotebook(), wxAuiPaneInfo().Name("MainPane").
                            CentrePane());

--- End code ---

So, this is the CentrePane, I think we can't make it float.

Edit:
It is a bit complex to construct the cbAuiNotebook, see the code below:


--- Code: ---EditorManager::EditorManager()
        : m_pNotebook(nullptr),
        m_pNotebookStackHead(new cbNotebookStack),
        m_pNotebookStackTail(m_pNotebookStackHead),
        m_nNotebookStackSize(0),
        m_isCheckingForExternallyModifiedFiles(false)
{
    m_pData = new EditorManagerInternalData(this);

    m_pNotebook = new cbAuiNotebook(Manager::Get()->GetAppWindow(), ID_NBEditorManager, wxDefaultPosition, wxDefaultSize,
                                    wxAUI_NB_DEFAULT_STYLE | wxAUI_NB_WINDOWLIST_BUTTON | wxNO_FULL_REPAINT_ON_RESIZE | wxCLIP_CHILDREN);
--- End code ---

ollydbg:
I'm still thinking this feature, I'm not sure how you edit the code, but nowadays, I do have more time to have multiple monitors.

So, is there any way that I can "float" an CbEditor window? Or I can "float" a wxAuiNotebook(cbAuiNotebook) window?

With this way, I can view code on my two monitors.

Navigation

[0] Message Index

[#] Next page

Go to full version