/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
void TitledDockingWindow::SetText( const OUString& i_rText )
{
SfxDockingWindow::SetText( i_rText ); if ( m_sTitle.isEmpty() ) // our text is used as title, too => repaint
Invalidate();
}
// Get the closer bitmap and set it as right most button.
m_aToolbox->InsertItem(ToolBoxItemId(1), Image(StockImage::Yes, SFX_BMP_CLOSE_DOC));
m_aToolbox->SetQuickHelpText(ToolBoxItemId(1), SdResId(STR_CLOSE_PANE));
m_aToolbox->ShowItem( ToolBoxItemId(1) );
}
case StateChangedType::Visible:
{ // The visibility of the docking window has changed. Tell the // ConfigurationController so that it can activate or deactivate // a/the view for the pane. // Without this the side panes remain empty after closing an // in-place slide show.
ViewShellBase* pBase = ViewShellBase::GetViewShellBase(
GetBindings().GetDispatcher()->GetFrame()); if (pBase != nullptr)
{
framework::FrameworkHelper::Instance(*pBase)->UpdateConfiguration();
}
} break;
switch ( i_rDataChangedEvent.GetType() )
{ case DataChangedEventType::SETTINGS: if ( !( i_rDataChangedEvent.GetFlags() & AllSettingsFlags::STYLE ) ) break;
[[fallthrough]]; case DataChangedEventType::FONTS: case DataChangedEventType::FONTSUBSTITUTION:
{
impl_layout();
Invalidate();
} break; default: break;
}
}
void TitledDockingWindow::MouseButtonDown (const MouseEvent& rEvent)
{ if (rEvent.GetButtons() == MOUSE_LEFT)
{ // For some strange reason we have to set the WB_DIALOGCONTROL at // the content window in order to have it pass focus to its content // window. Without setting this flag here that works only on views // that have not been taken from the cash and relocated to this pane // docking window.
GetContentWindow().SetStyle(GetContentWindow().GetStyle() | WB_DIALOGCONTROL);
GetContentWindow().GrabFocus();
}
SfxDockingWindow::MouseButtonDown(rEvent);
}
const sal_uInt16 nId (pSplitWindow->GetItemId(static_cast< vcl::Window*>(this))); const sal_uInt16 nSetId (pSplitWindow->GetSet(nId)); // Because the TitledDockingWindow paints its own decoration, we have // to compensate the valid size range for that. const SvBorder aBorder (GetDecorationBorder());
sal_Int32 nCompensation (pSplitWindow->IsHorizontal()
? aBorder.Top() + aBorder.Bottom()
: aBorder.Left() + aBorder.Right());
pSplitWindow->SetItemSizeRange(
nSetId,
Range(
rValidSizeRange.Min() + nCompensation,
rValidSizeRange.Max() + nCompensation));
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.