diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-12-17 17:27:30 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-12-19 22:07:19 +0100 |
commit | e3a002c53a544de02e5119c5b0a2fd4f972156a8 (patch) | |
tree | d6bd55210bb93fdc2aae2e398b63c3dddeb38326 /extensions | |
parent | e994b3fc3b2c9b7d39a715fc4d9453e06434d457 (diff) |
get native gtk widgets in sidebars working
Change-Id: If65aef1249f54a87d7854c3fa2db4319a24a5a05
Reviewed-on: https://gerrit.libreoffice.org/85326
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/source/propctrlr/browserline.cxx | 6 | ||||
-rw-r--r-- | extensions/source/propctrlr/browserline.hxx | 2 | ||||
-rw-r--r-- | extensions/source/propctrlr/browserlistbox.cxx | 6 | ||||
-rw-r--r-- | extensions/source/propctrlr/browserlistbox.hxx | 3 | ||||
-rw-r--r-- | extensions/source/propctrlr/browserpage.cxx | 8 | ||||
-rw-r--r-- | extensions/source/propctrlr/browserpage.hxx | 4 | ||||
-rw-r--r-- | extensions/source/propctrlr/browserview.cxx | 4 | ||||
-rw-r--r-- | extensions/source/propctrlr/browserview.hxx | 2 | ||||
-rw-r--r-- | extensions/source/propctrlr/handlerhelper.cxx | 14 | ||||
-rw-r--r-- | extensions/source/propctrlr/handlerhelper.hxx | 2 | ||||
-rw-r--r-- | extensions/source/propctrlr/propcontroller.cxx | 5 | ||||
-rw-r--r-- | extensions/source/propctrlr/propcontroller.hxx | 1 | ||||
-rw-r--r-- | extensions/source/propctrlr/propertyeditor.cxx | 7 | ||||
-rw-r--r-- | extensions/source/propctrlr/propertyeditor.hxx | 3 |
14 files changed, 22 insertions, 45 deletions
diff --git a/extensions/source/propctrlr/browserline.cxx b/extensions/source/propctrlr/browserline.cxx index 10beadbc3ba7..9b45c0c9e3f5 100644 --- a/extensions/source/propctrlr/browserline.cxx +++ b/extensions/source/propctrlr/browserline.cxx @@ -52,11 +52,9 @@ namespace pcr namespace PropertyLineElement = ::com::sun::star::inspection::PropertyLineElement; OBrowserLine::OBrowserLine(const OUString& rEntryName, weld::Container* pParent, weld::SizeGroup* pLabelGroup, - weld::Container* pInitialControlParent, bool bInterimBuilder) + weld::Container* pInitialControlParent) : m_sEntryName(rEntryName) - , m_xBuilder(bInterimBuilder - ? Application::CreateInterimBuilder(pParent, "modules/spropctrlr/ui/browserline.ui") - : Application::CreateBuilder(pParent, "modules/spropctrlr/ui/browserline.ui")) + , m_xBuilder(Application::CreateBuilder(pParent, "modules/spropctrlr/ui/browserline.ui")) , m_xContainer(m_xBuilder->weld_container("BrowserLine")) , m_xFtTitle(m_xBuilder->weld_label("label")) , m_xBrowseButton(m_xBuilder->weld_button("browse")) diff --git a/extensions/source/propctrlr/browserline.hxx b/extensions/source/propctrlr/browserline.hxx index e3e668a26bb7..cbe577e58da6 100644 --- a/extensions/source/propctrlr/browserline.hxx +++ b/extensions/source/propctrlr/browserline.hxx @@ -70,7 +70,7 @@ namespace pcr public: OBrowserLine(const OUString& rEntryName, weld::Container* pParent, weld::SizeGroup* pLabelGroup, - weld::Container* pInitialControlParent, bool bInterimBuilder); + weld::Container* pInitialControlParent); ~OBrowserLine(); void setControl( const css::uno::Reference< css::inspection::XPropertyControl >& rxControl ); diff --git a/extensions/source/propctrlr/browserlistbox.cxx b/extensions/source/propctrlr/browserlistbox.cxx index b626731b3c4c..a50d93c6f4aa 100644 --- a/extensions/source/propctrlr/browserlistbox.cxx +++ b/extensions/source/propctrlr/browserlistbox.cxx @@ -298,7 +298,7 @@ namespace pcr } } - OBrowserListBox::OBrowserListBox(weld::Builder& rBuilder, weld::Container* pContainer, bool bInterimBuilder) + OBrowserListBox::OBrowserListBox(weld::Builder& rBuilder, weld::Container* pContainer) : m_xScrolledWindow(rBuilder.weld_scrolled_window("scrolledwindow")) , m_xLinesPlayground(rBuilder.weld_container("playground")) , m_xSizeGroup(rBuilder.create_size_group()) @@ -308,7 +308,6 @@ namespace pcr , m_pControlObserver( nullptr ) , m_nTheNameSize(0) , m_nRowHeight(0) - , m_bInterimBuilder(bInterimBuilder) , m_pControlContextImpl( new PropertyControlContext_Impl( *this ) ) { m_xScrolledWindow->set_size_request(-1, m_xScrolledWindow->get_text_height() * 20); @@ -465,8 +464,7 @@ namespace pcr { // create a new line BrowserLinePointer pBrowserLine(new OBrowserLine(rPropertyData.sName, m_xLinesPlayground.get(), - m_xSizeGroup.get(), m_pInitialControlParent, - m_bInterimBuilder)); + m_xSizeGroup.get(), m_pInitialControlParent)); // check that the name is unique for (auto const& line : m_aLines) diff --git a/extensions/source/propctrlr/browserlistbox.hxx b/extensions/source/propctrlr/browserlistbox.hxx index 1a1b63aaf2ef..ad0a3aab6c64 100644 --- a/extensions/source/propctrlr/browserlistbox.hxx +++ b/extensions/source/propctrlr/browserlistbox.hxx @@ -84,7 +84,6 @@ namespace pcr m_xActiveControl; sal_uInt16 m_nTheNameSize; int m_nRowHeight; - bool m_bInterimBuilder; ::rtl::Reference< PropertyControlContext_Impl > m_pControlContextImpl; @@ -92,7 +91,7 @@ namespace pcr void ShowEntry(sal_uInt16 nPos); public: - explicit OBrowserListBox(weld::Builder& rBuilder, weld::Container* pContainer, bool bInterimBuilder); + explicit OBrowserListBox(weld::Builder& rBuilder, weld::Container* pContainer); ~OBrowserListBox(); void SetListener( IPropertyLineListener* _pListener ); diff --git a/extensions/source/propctrlr/browserpage.cxx b/extensions/source/propctrlr/browserpage.cxx index 9bba600f6a0d..183743ee0e04 100644 --- a/extensions/source/propctrlr/browserpage.cxx +++ b/extensions/source/propctrlr/browserpage.cxx @@ -22,13 +22,11 @@ namespace pcr { - OBrowserPage::OBrowserPage(weld::Container* pParent, weld::Container* pInitialControlContainer, bool bInterimBuilder) + OBrowserPage::OBrowserPage(weld::Container* pParent, weld::Container* pInitialControlContainer) : m_pParent(pParent) - , m_xBuilder(bInterimBuilder - ? Application::CreateInterimBuilder(pParent, "modules/spropctrlr/ui/browserpage.ui") - : Application::CreateBuilder(pParent, "modules/spropctrlr/ui/browserpage.ui")) + , m_xBuilder(Application::CreateBuilder(pParent, "modules/spropctrlr/ui/browserpage.ui")) , m_xContainer(m_xBuilder->weld_container("BrowserPage")) - , m_xListBox(std::make_unique<OBrowserListBox>(*m_xBuilder, pInitialControlContainer, bInterimBuilder)) + , m_xListBox(std::make_unique<OBrowserListBox>(*m_xBuilder, pInitialControlContainer)) { } diff --git a/extensions/source/propctrlr/browserpage.hxx b/extensions/source/propctrlr/browserpage.hxx index 4018a6b6c3e6..8ab95cb17115 100644 --- a/extensions/source/propctrlr/browserpage.hxx +++ b/extensions/source/propctrlr/browserpage.hxx @@ -36,8 +36,8 @@ namespace pcr OUString m_aPageTitle; public: - // if bInterimBuilder wasn't needed this could inherit from BuilderPage - explicit OBrowserPage(weld::Container* pParent, weld::Container* pContainer, bool bInterimBuilder); + // TODO inherit from BuilderPage + explicit OBrowserPage(weld::Container* pParent, weld::Container* pContainer); ~OBrowserPage(); void SetPageTitle(const OUString& rPageTitle) { m_aPageTitle = rPageTitle; } diff --git a/extensions/source/propctrlr/browserview.cxx b/extensions/source/propctrlr/browserview.cxx index 35d062653d88..fb4c28d827e5 100644 --- a/extensions/source/propctrlr/browserview.cxx +++ b/extensions/source/propctrlr/browserview.cxx @@ -29,8 +29,8 @@ namespace pcr using namespace ::com::sun::star::uno; using namespace ::com::sun::star::lang; - OPropertyBrowserView::OPropertyBrowserView(css::uno::Reference<css::uno::XComponentContext>& rContext, weld::Builder& rBuilder, bool bInterimBuilder) - : m_xPropBox(new OPropertyEditor(rContext, rBuilder, bInterimBuilder)) + OPropertyBrowserView::OPropertyBrowserView(css::uno::Reference<css::uno::XComponentContext>& rContext, weld::Builder& rBuilder) + : m_xPropBox(new OPropertyEditor(rContext, rBuilder)) , m_nActivePage(0) { m_xPropBox->SetHelpId(HID_FM_PROPDLG_TABCTR); diff --git a/extensions/source/propctrlr/browserview.hxx b/extensions/source/propctrlr/browserview.hxx index c26f57dd1edf..22f897114687 100644 --- a/extensions/source/propctrlr/browserview.hxx +++ b/extensions/source/propctrlr/browserview.hxx @@ -35,7 +35,7 @@ namespace pcr Link<LinkParamNone*,void> m_aPageActivationHandler; public: - explicit OPropertyBrowserView(css::uno::Reference<css::uno::XComponentContext>& rContext, weld::Builder& rBuilder, bool bInterimBuilder); + explicit OPropertyBrowserView(css::uno::Reference<css::uno::XComponentContext>& rContext, weld::Builder& rBuilder); ~OPropertyBrowserView(); OPropertyEditor& getPropertyBox() { return *m_xPropBox; } diff --git a/extensions/source/propctrlr/handlerhelper.cxx b/extensions/source/propctrlr/handlerhelper.cxx index 0f2981971351..18a575d6dbad 100644 --- a/extensions/source/propctrlr/handlerhelper.cxx +++ b/extensions/source/propctrlr/handlerhelper.cxx @@ -296,23 +296,14 @@ namespace pcr std::unique_ptr<weld::Builder> PropertyHandlerHelper::makeBuilder(const OUString& rUIFile, const Reference<XComponentContext>& rContext) { - bool bInterimBuilder(true); - Any aReturn = rContext->getValueByName("InterimBuilder"); - aReturn >>= bInterimBuilder; - Reference<XWindow> xWindow(rContext->getValueByName("BuilderParent"), UNO_QUERY_THROW); weld::TransportAsXWindow& rTunnel = dynamic_cast<weld::TransportAsXWindow&>(*xWindow); - - // bInterimBuilder for the hosted in sidebar in basic IDE case - if (!bInterimBuilder) - return std::unique_ptr<weld::Builder>(Application::CreateBuilder(rTunnel.getWidget(), rUIFile)); - return std::unique_ptr<weld::Builder>(Application::CreateInterimBuilder(rTunnel.getWidget(), rUIFile)); + return std::unique_ptr<weld::Builder>(Application::CreateBuilder(rTunnel.getWidget(), rUIFile)); } - void PropertyHandlerHelper::setBuilderParent(css::uno::Reference<css::uno::XComponentContext>& rContext, weld::Widget* pParent, bool bInterimBuilder) + void PropertyHandlerHelper::setBuilderParent(css::uno::Reference<css::uno::XComponentContext>& rContext, weld::Widget* pParent) { Reference<css::container::XNameContainer> xName(rContext, UNO_QUERY_THROW); - xName->insertByName("InterimBuilder", makeAny(bInterimBuilder)); Reference<XWindow> xWindow(new weld::TransportAsXWindow(pParent)); xName->insertByName("BuilderParent", makeAny(xWindow)); } @@ -320,7 +311,6 @@ namespace pcr void PropertyHandlerHelper::clearBuilderParent(css::uno::Reference<css::uno::XComponentContext>& rContext) { Reference<css::container::XNameContainer> xName(rContext, UNO_QUERY_THROW); - xName->removeByName("InterimBuilder"); xName->removeByName("BuilderParent"); } diff --git a/extensions/source/propctrlr/handlerhelper.hxx b/extensions/source/propctrlr/handlerhelper.hxx index c170538f52a1..bf2aec5baf9c 100644 --- a/extensions/source/propctrlr/handlerhelper.hxx +++ b/extensions/source/propctrlr/handlerhelper.hxx @@ -215,7 +215,7 @@ namespace pcr static std::unique_ptr<weld::Builder> makeBuilder(const OUString& rUIFile, const css::uno::Reference<css::uno::XComponentContext>& rContext); - static void setBuilderParent(css::uno::Reference<css::uno::XComponentContext>& rContext, weld::Widget* pParent, bool bInterim); + static void setBuilderParent(css::uno::Reference<css::uno::XComponentContext>& rContext, weld::Widget* pParent); static void clearBuilderParent(css::uno::Reference<css::uno::XComponentContext>& rContext); diff --git a/extensions/source/propctrlr/propcontroller.cxx b/extensions/source/propctrlr/propcontroller.cxx index 885e7efa8574..88b38e22c554 100644 --- a/extensions/source/propctrlr/propcontroller.cxx +++ b/extensions/source/propctrlr/propcontroller.cxx @@ -90,7 +90,6 @@ namespace pcr ,m_bSuspendingPropertyHandlers( false ) ,m_bConstructed( false ) ,m_bBindingIntrospectee( false ) - ,m_bInterimBuilder( false ) { } @@ -360,7 +359,6 @@ namespace pcr if (weld::TransportAsXWindow* pTunnel = dynamic_cast<weld::TransportAsXWindow*>(xContainerWindow.get())) { xBuilder.reset(Application::CreateBuilder(pTunnel->getWidget(), sUIFile)); - m_bInterimBuilder = false; } else { @@ -369,7 +367,6 @@ namespace pcr if (!pParentWin) throw RuntimeException("The frame is invalid. Unable to extract the container window.",*this); xBuilder.reset(Application::CreateInterimBuilder(pParentWin, sUIFile)); - m_bInterimBuilder = true; } Construct(xContainerWindow, std::move(xBuilder)); @@ -658,7 +655,7 @@ namespace pcr m_xBuilder = std::move(xBuilder); - m_xPropView.reset(new OPropertyBrowserView(m_xContext, *m_xBuilder, m_bInterimBuilder)); + m_xPropView.reset(new OPropertyBrowserView(m_xContext, *m_xBuilder)); m_xPropView->setPageActivationHandler(LINK(this, OPropertyBrowserController, OnPageActivation)); // add as dispose listener for our view. The view is disposed by the frame we're plugged into, diff --git a/extensions/source/propctrlr/propcontroller.hxx b/extensions/source/propctrlr/propcontroller.hxx index ee35d796ecca..7cfeba92030e 100644 --- a/extensions/source/propctrlr/propcontroller.hxx +++ b/extensions/source/propctrlr/propcontroller.hxx @@ -134,7 +134,6 @@ namespace pcr bool m_bSuspendingPropertyHandlers; bool m_bConstructed; bool m_bBindingIntrospectee; - bool m_bInterimBuilder; protected: DECLARE_XINTERFACE() diff --git a/extensions/source/propctrlr/propertyeditor.cxx b/extensions/source/propctrlr/propertyeditor.cxx index 41a7be1d3547..e102a4de21a8 100644 --- a/extensions/source/propctrlr/propertyeditor.cxx +++ b/extensions/source/propctrlr/propertyeditor.cxx @@ -31,7 +31,7 @@ namespace pcr using ::com::sun::star::inspection::XPropertyControl; using ::com::sun::star::uno::Reference; - OPropertyEditor::OPropertyEditor(css::uno::Reference<css::uno::XComponentContext>& rContext, weld::Builder& rBuilder, bool bInterimBuilder) + OPropertyEditor::OPropertyEditor(css::uno::Reference<css::uno::XComponentContext>& rContext, weld::Builder& rBuilder) : m_xContainer(rBuilder.weld_container("box")) , m_xTabControl(rBuilder.weld_notebook("tabcontrol")) , m_xControlHoldingParent(rBuilder.weld_container("controlparent")) // controls initially have this parent before they are moved @@ -40,11 +40,10 @@ namespace pcr , m_pObserver(nullptr) , m_nNextId(1) , m_bHasHelpSection(false) - , m_bInterimBuilder(bInterimBuilder) , m_nMinHelpLines(0) , m_nMaxHelpLines(0) { - PropertyHandlerHelper::setBuilderParent(rContext, m_xControlHoldingParent.get(), bInterimBuilder); + PropertyHandlerHelper::setBuilderParent(rContext, m_xControlHoldingParent.get()); m_xTabControl->connect_leave_page(LINK(this, OPropertyEditor, OnPageDeactivate)); m_xTabControl->connect_enter_page(LINK(this, OPropertyEditor, OnPageActivate)); @@ -127,7 +126,7 @@ namespace pcr m_xTabControl->append_page(sIdent, rText); // create a new page - auto xPage = std::make_unique<OBrowserPage>(m_xTabControl->get_page(sIdent), m_xControlHoldingParent.get(), m_bInterimBuilder); + auto xPage = std::make_unique<OBrowserPage>(m_xTabControl->get_page(sIdent), m_xControlHoldingParent.get()); xPage->SetPageTitle(rText); // some knittings xPage->getListBox().SetListener(m_pListener); diff --git a/extensions/source/propctrlr/propertyeditor.hxx b/extensions/source/propctrlr/propertyeditor.hxx index d04ab25fc9c0..f0e1b994e23d 100644 --- a/extensions/source/propctrlr/propertyeditor.hxx +++ b/extensions/source/propctrlr/propertyeditor.hxx @@ -59,7 +59,6 @@ namespace pcr sal_uInt16 m_nNextId; Link<LinkParamNone*,void> m_aPageActivationHandler; bool m_bHasHelpSection; - bool m_bInterimBuilder; sal_Int32 m_nMinHelpLines; sal_Int32 m_nMaxHelpLines; @@ -68,7 +67,7 @@ namespace pcr std::map<sal_uInt16, PropertyPage> m_aHiddenPages; public: - explicit OPropertyEditor(css::uno::Reference<css::uno::XComponentContext>& rContext, weld::Builder& rBuilder, bool bInterimBuilder); + explicit OPropertyEditor(css::uno::Reference<css::uno::XComponentContext>& rContext, weld::Builder& rBuilder); ~OPropertyEditor(); void SetLineListener( IPropertyLineListener* ); |