summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/app/AppTitleWindow.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/ui/app/AppTitleWindow.cxx')
-rw-r--r--dbaccess/source/ui/app/AppTitleWindow.cxx161
1 files changed, 22 insertions, 139 deletions
diff --git a/dbaccess/source/ui/app/AppTitleWindow.cxx b/dbaccess/source/ui/app/AppTitleWindow.cxx
index d6d121ba4909..d5e604394b2f 100644
--- a/dbaccess/source/ui/app/AppTitleWindow.cxx
+++ b/dbaccess/source/ui/app/AppTitleWindow.cxx
@@ -17,166 +17,49 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "AppTitleWindow.hxx"
#include <core_resource.hxx>
#include <vcl/svapp.hxx>
-#include <vcl/settings.hxx>
-#include <vcl/event.hxx>
+#include "AppTitleWindow.hxx"
namespace dbaui
{
-
-OTitleWindow::OTitleWindow(vcl::Window* _pParent, const char* pTitleId, WinBits _nBits, bool _bShift)
-: Window(_pParent,_nBits | WB_DIALOGCONTROL)
-, m_aSpace1(VclPtr<FixedText>::Create(this))
-, m_aSpace2(VclPtr<FixedText>::Create(this))
-, m_aTitle(VclPtr<FixedText>::Create(this))
-, m_pChild(nullptr)
-, m_bShift(_bShift)
+OTitleWindow::OTitleWindow(weld::Container* pParent, TranslateId pTitleId)
+ : m_xBuilder(Application::CreateBuilder(pParent, "dbaccess/ui/titlewindow.ui"))
+ , m_xContainer(m_xBuilder->weld_container("TitleWindow"))
+ , m_xTitleFrame(m_xBuilder->weld_container("titleparent"))
+ , m_xTitle(m_xBuilder->weld_label("title"))
+ , m_xChildContainer(m_xBuilder->weld_container("box"))
{
setTitle(pTitleId);
- SetBorderStyle(WindowBorderStyle::MONO);
- ImplInitSettings();
-
- const StyleSettings& rStyle = Application::GetSettings().GetStyleSettings();
- vcl::Window* pWindows[] = { m_aSpace1.get(), m_aSpace2.get(), m_aTitle.get() };
- for (vcl::Window* pWindow : pWindows)
- {
- vcl::Font aFont = pWindow->GetControlFont();
- aFont.SetWeight(WEIGHT_BOLD);
- pWindow->SetControlFont(aFont);
- pWindow->SetControlForeground(rStyle.GetLightColor());
- pWindow->SetControlBackground(rStyle.GetShadowColor());
- pWindow->Show();
- }
-}
-
-OTitleWindow::~OTitleWindow()
-{
- disposeOnce();
-}
-void OTitleWindow::dispose()
-{
- if ( m_pChild )
- {
- m_pChild->Hide();
- }
- m_pChild.disposeAndClear();
- m_aSpace1.disposeAndClear();
- m_aSpace2.disposeAndClear();
- m_aTitle.disposeAndClear();
- vcl::Window::dispose();
-}
-
-void OTitleWindow::setChildWindow(vcl::Window* _pChild)
-{
- m_pChild = _pChild;
+ m_xContainer->set_stack_background();
+ m_xTitleFrame->set_title_background();
+ m_xTitle->set_label_type(weld::LabelType::Title);
}
-#define SPACE_BORDER 1
-void OTitleWindow::Resize()
-{
- // parent window dimension
- Size aOutputSize( GetOutputSize() );
- long nOutputWidth = aOutputSize.Width();
- long nOutputHeight = aOutputSize.Height();
-
- Size aTextSize = LogicToPixel(Size(6, 3), MapMode(MapUnit::MapAppFont));
- sal_Int32 nXOffset = aTextSize.Width();
- sal_Int32 nYOffset = aTextSize.Height();
- sal_Int32 nHeight = GetTextHeight() + 2*nYOffset;
+OTitleWindow::~OTitleWindow() {}
- m_aSpace1->SetPosSizePixel( Point(SPACE_BORDER, SPACE_BORDER ),
- Size(nXOffset , nHeight - SPACE_BORDER) );
- m_aSpace2->SetPosSizePixel( Point(nXOffset + SPACE_BORDER, SPACE_BORDER ),
- Size(nOutputWidth - nXOffset - 2*SPACE_BORDER, nYOffset) );
- m_aTitle->SetPosSizePixel( Point(nXOffset + SPACE_BORDER, nYOffset + SPACE_BORDER),
- Size(nOutputWidth - nXOffset - 2*SPACE_BORDER, nHeight - nYOffset - SPACE_BORDER) );
- if ( m_pChild )
- {
- m_pChild->SetPosSizePixel( Point(m_bShift ? (nXOffset+SPACE_BORDER) : sal_Int32(SPACE_BORDER), nHeight + nXOffset + SPACE_BORDER),
- Size(nOutputWidth - ( m_bShift ? (2*nXOffset - 2*SPACE_BORDER) : sal_Int32(SPACE_BORDER) ), nOutputHeight - nHeight - 2*nXOffset - 2*SPACE_BORDER) );
- }
-}
+weld::Container* OTitleWindow::getChildContainer() { return m_xChildContainer.get(); }
-void OTitleWindow::setTitle(const char* pTitleId)
+void OTitleWindow::setChildWindow(const std::shared_ptr<OChildWindow>& rChild)
{
- if (pTitleId)
- {
- m_aTitle->SetText(DBA_RES(pTitleId));
- }
+ m_xChild = rChild;
}
-void OTitleWindow::GetFocus()
+void OTitleWindow::setTitle(TranslateId pTitleId)
{
- Window::GetFocus();
- if ( m_pChild )
- m_pChild->GrabFocus();
+ if (!pTitleId)
+ return;
+ m_xTitle->set_label(DBA_RES(pTitleId));
}
-long OTitleWindow::GetWidthPixel() const
+void OTitleWindow::GrabFocus()
{
- Size aTextSize = LogicToPixel(Size(12, 0), MapMode(MapUnit::MapAppFont));
- sal_Int32 nWidth = GetTextWidth(m_aTitle->GetText()) + 2*aTextSize.Width();
-
- return nWidth;
+ if (m_xChild)
+ m_xChild->GrabFocus();
}
-void OTitleWindow::DataChanged( const DataChangedEvent& rDCEvt )
-{
- Window::DataChanged( rDCEvt );
-
- if ( (rDCEvt.GetType() == DataChangedEventType::FONTS) ||
- (rDCEvt.GetType() == DataChangedEventType::DISPLAY) ||
- (rDCEvt.GetType() == DataChangedEventType::FONTSUBSTITUTION) ||
- ((rDCEvt.GetType() == DataChangedEventType::SETTINGS) &&
- (rDCEvt.GetFlags() & AllSettingsFlags::STYLE)) )
- {
- ImplInitSettings();
- Invalidate();
- }
-}
-
-void OTitleWindow::ImplInitSettings()
-{
- // FIXME RenderContext
- AllSettings aAllSettings = GetSettings();
- StyleSettings aStyle = aAllSettings.GetStyleSettings();
- aStyle.SetMonoColor(aStyle.GetActiveBorderColor());//GetMenuBorderColor());
- aAllSettings.SetStyleSettings(aStyle);
- SetSettings(aAllSettings);
-
- const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
- vcl::Font aFont = rStyleSettings.GetFieldFont();
- aFont.SetColor( rStyleSettings.GetWindowTextColor() );
- SetPointFont(*this, aFont);
-
- SetTextColor( rStyleSettings.GetFieldTextColor() );
- SetTextFillColor();
-
- SetBackground( rStyleSettings.GetFieldColor() );
-}
-
-void OTitleWindow::ApplySettings(vcl::RenderContext& rRenderContext)
-{
- // FIXME RenderContext
- AllSettings aAllSettings = rRenderContext.GetSettings();
- StyleSettings aStyle = aAllSettings.GetStyleSettings();
- aStyle.SetMonoColor(aStyle.GetActiveBorderColor());//GetMenuBorderColor());
- aAllSettings.SetStyleSettings(aStyle);
- rRenderContext.SetSettings(aAllSettings);
-
- const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
- vcl::Font aFont = rStyleSettings.GetFieldFont();
- aFont.SetColor(rStyleSettings.GetWindowTextColor());
- SetPointFont(*this, aFont);
-
- rRenderContext.SetTextColor(rStyleSettings.GetFieldTextColor());
- rRenderContext.SetTextFillColor();
-
- rRenderContext.SetBackground(rStyleSettings.GetFieldColor());
-}
+bool OTitleWindow::HasChildPathFocus() const { return m_xChild && m_xChild->HasChildPathFocus(); }
} // namespace dbaui
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */