Files
libreoffice/vcl/source/window/brdwin.cxx

2202 lines
82 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
re-base on ALv2 code. Includes (at least) relevant parts of: linecap: Reintegrating finished LineCap feature Patch contributed by Regina Henschel http://svn.apache.org/viewvc?view=revision&revision=1232507 Patches contributed by Sven Jacobi impress212: #i81610# fixed animation export http://svn.apache.org/viewvc?view=revision&revision=1167620 impress212: drawinglayer gbuild environment changes http://svn.apache.org/viewvc?view=revision&revision=1167627 http://svn.apache.org/viewvc?view=revision&revision=1167628 impress212: DffPropSet -> minor code improvements, removing table http://svn.apache.org/viewvc?view=revision&revision=1167634 impress212: #158494# fixed excel import (text rotation) http://svn.apache.org/viewvc?view=revision&revision=1167638 Patches contributed by Armin Le Grand Svg: Reintegrated Svg replacement from /branches/alg/svgreplavement http://svn.apache.org/viewvc?view=revision&revision=1220836 #118728# changed indentifying definitions for Svg file detection http://svn.apache.org/viewvc?view=revision&revision=1229961 #118838# LineGeometry creation for complicated cases optimized to create single Polygons http://svn.apache.org/viewvc?view=revision&revision=1236232 #119176# corrected file type detection for SVG for svg files without xml header http://svn.apache.org/viewvc?view=revision&revision=1309445 #118728# Extended Svg file detection http://svn.apache.org/viewvc?view=revision&revision=1230531 #118529# solve break converters and convert commands for OLEs and images http://svn.apache.org/viewvc?view=revision&revision=1186168 svg: added WaE changes from branch svgreplacement to trunc http://svn.apache.org/viewvc?view=revision&revision=1222974 svg: corrected missing member initialization http://svn.apache.org/viewvc?view=revision&revision=1226134 fix for #118525#: Using primitives for chart sub-geometry visualisation http://svn.apache.org/viewvc?view=revision&revision=1226879 #118898# Adapted ImpGraphic::ImplGetBitmap to correctly convert metafiles to bitmapEx ... http://svn.apache.org/viewvc?view=revision&revision=1293316 fix for #118525#: removed no longer used variable maOriginalMapMode, one more exception eliminated http://svn.apache.org/viewvc?view=revision&revision=1227097 #16758# Added buffering to the VDev usages of the VclProcessor2D derivates... http://svn.apache.org/viewvc?view=revision&revision=1229521 #116758# Secured VDev buffer device to Vcl deinit http://svn.apache.org/viewvc?view=revision&revision=1230574 #116758# added remembering allocated VDevs for VDevBuffer to be able to also delete these when vcl goes down; it should never happen, but You never know http://svn.apache.org/viewvc?view=revision&revision=1230927 #118730# Changed SvgClipPathNode to use MaskPrimitive2D for primitive representation instead of TransparencePrimitive2D http://svn.apache.org/viewvc?view=revision&revision=1231198 #118822# secured 3D geometry creation (slices) by subdividing the 2D source polyPolygon early http://svn.apache.org/viewvc?view=revision&revision=1234749 #118829# enhanced Svg gradient quality, obstacles avoided http://svn.apache.org/viewvc?view=revision&revision=1235361 #118834# Unified usage of TextBreakupHelper as single tooling class for i18n text primitive breakup http://svn.apache.org/viewvc?view=revision&revision=1236110 #118853# added square pixel size limit to conversion of TransparencePrimitive2D to Metafile action http://svn.apache.org/viewvc?view=revision&revision=1237656 #118824# coreccted mirroring and boundrect when the graphicmanager is used for bitmap output http://svn.apache.org/viewvc?view=revision&revision=1240097 #115092# Corrected VclProcessor2D::RenderPolygonStrokePrimitive2D for various optimization scenarios http://svn.apache.org/viewvc?view=revision&revision=1241434 #118783# Corrected errors in ID strings, corrected Svg line/fill export, corrected polygon close state http://svn.apache.org/viewvc?view=revision&revision=1232006 #118796# corrected null-pointer usage in SVG text exporter http://svn.apache.org/viewvc?view=revision&revision=1240262 #118729# Use GraphicStreamUrl and GraphicUrl to allow multi image import with linked graphics, too http://svn.apache.org/viewvc?view=revision&revision=1229962 #118898# corrected error in GDIMetaFile::GetBoundRect in handling MetaFloatTransparentAction http://svn.apache.org/viewvc?view=revision&revision=1293349 #118855# Corrected handling of possibly created empty clipRegions after PolyPolygon clipping http://svn.apache.org/viewvc?view=revision&revision=1237725 #115962# Better (but not yet optimal, see comments in task) handling of MetaFloatTransparentAction in PDF export http://svn.apache.org/viewvc?view=revision&revision=1241078 IP clearance: #118466# This patch removes librsvg, libcroco, libgsf, ... http://svn.apache.org/viewvc?view=revision&revision=1200879 118779# Added svg content streaming in/out to ImpGraphic stream operators http://svn.apache.org/viewvc?view=revision&revision=1231908 linecap: correctons for WaE and mac drawing http://svn.apache.org/viewvc?view=revision&revision=1232793 svg: uses current system Dpi for Svg replacement image creation http://svn.apache.org/viewvc?view=revision&revision=1233948 Patches contributed by Mathias Bauer (and others) gnumake4 work variously http://svn.apache.org/viewvc?view=revision&revision=1394326 http://svn.apache.org/viewvc?view=revision&revision=1396797 http://svn.apache.org/viewvc?view=revision&revision=1397315 http://svn.apache.org/viewvc?view=revision&revision=1394326 Remove duplicate header includes. cws mba34issues01: #i117720#: convert assertion into warning http://svn.apache.org/viewvc?view=revision&revision=1172352 118485 - Styles for OLEs are not saved. Submitted by Armin Le Grand. http://svn.apache.org/viewvc?view=revision&revision=1182166 cws mba34issues01: #i117714#: remove assertion http://svn.apache.org/viewvc?view=revision&revision=1172357 Patch contributed by Jurgen Schmidt add some additional checks to ensure proper reading operations http://svn.apache.org/viewvc?view=revision&revision=1209022 mostly prefer our stream / bounds checking work. Patches contributed by Herbert Duerr #i118816# add clarifying comment regarding Font::*Color*() methods http://svn.apache.org/viewvc?view=revision&revision=1233833 extend macro->string handling for empty strings http://svn.apache.org/viewvc?view=revision&revision=1175801 avoid magic constants for SALCOLOR_NONE http://svn.apache.org/viewvc?view=revision&revision=1177543 initialize slant properly in ImplFontMetricData constructor (author=iorsh) http://svn.apache.org/viewvc?view=revision&revision=1177551 #i118675# make check for extension updates more stable http://svn.apache.org/viewvc?view=revision&revision=1214797 #a118617# remove VBasicEventListener.dll binary There are no known users depending on its CLSID http://svn.apache.org/viewvc?view=revision&revision=1203697 Patches contributed by Ariel Constenla-Haile Fix build breaker on Linux/gcc http://svn.apache.org/viewvc?view=revision&revision=1221104 Fix crash when trying to instantiate css.graphic.GraphicRasterizer_RSVG http://svn.apache.org/viewvc?view=revision&revision=1215559 Patches contributed by Oliver-Rainer Wittmann sw34bf06: #i117962# - method <SwFlyFrm::IsPaint(..)> - consider instances of <SwFlyDrawObj> http://svn.apache.org/viewvc?view=revision&revision=1172120 sw34bf06: #i117783# - Writer's implementation of XPagePrintable - apply print settings to new printing routines http://svn.apache.org/viewvc?view=revision&revision=1172115 gnumake4 work variously from Hans-Joachim Lankenau http://svn.apache.org/viewvc?view=revision&revision=1397315 http://svn.apache.org/viewvc?view=revision&revision=1396797 http://svn.apache.org/viewvc?view=revision&revision=1396782 http://svn.apache.org/viewvc?view=revision&revision=1394707 plus some amount of re-splitting of legacy headers. Patch contributed by Pavel Janik WaE: Remove unused variables. http://svn.apache.org/viewvc?view=revision&revision=1230697 Patches contributed by Takashi Ono mingwport35: i#117795: MinGW port fix for vcl2gnumake http://svn.apache.org/viewvc?view=revision&revision=1172091 mingwport35: i#117795: MinGW port fix for vcl2gnumake http://svn.apache.org/viewvc?view=revision&revision=1172091 Patch contributed by Christian Lippka impress212: #i98044# re enable Text menu for outline and title shapes http://svn.apache.org/viewvc?view=revision&revision=1167639 Patch contributed by Andre Fischer 118674: Made category B code optional and disabled by default. http://svn.apache.org/viewvc?view=revision&revision=1215131 118881: Ignore empty paragraphs after bullets. http://svn.apache.org/viewvc?view=revision&revision=1296205 Patches contributed by Philipp Lohmann ooo340fixes: #i117780# use rtl allocator http://svn.apache.org/viewvc?view=revision&revision=1172087 ooo34gsl02: #i117807# fix an off by one error (index actually inside the pfb section header) http://svn.apache.org/viewvc?view=revision&revision=1167576 various cleanups, related compilation fixes, warning cleanups, re-working of obsolete stl template pieces to use boost instead, changed string classes, re-adapt KDE about data, about dialog, fixing warnings, and other fixes & improvements. Disable svg import / render for about/ branding code-paths for now. Restore full icon theme set. Remove OS/2 conditionals and sources. Remove conflicting gtk/full-screen monitors support. Retain existing svg rasterizer files - temporarily disabled. Standardize stringificaiton and fixup dllpostfix issues. Rename SvgGradientHelper::== to equalTo to avoid overloading issues. Use the flat GdiPlus API for LineCaps calls.
2012-10-09 12:22:23 +01:00
/*
* 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 .
*/
#include <svids.hrc>
#include <svdata.hxx>
#include <brdwin.hxx>
#include <window.h>
#include <vcl/event.hxx>
#include <vcl/decoview.hxx>
#include <vcl/syswin.hxx>
#include <vcl/dockwin.hxx>
#include <vcl/floatwin.hxx>
#include <vcl/bitmap.hxx>
#include <vcl/gradient.hxx>
#include <vcl/image.hxx>
#include <vcl/virdev.hxx>
#include <vcl/help.hxx>
#include <vcl/edit.hxx>
#include <vcl/metric.hxx>
#include <vcl/settings.hxx>
2000-09-18 16:07:07 +00:00
using namespace ::com::sun::star::uno;
// useful caption height for title bar buttons
#define MIN_CAPTION_HEIGHT 18
static void ImplGetPinImage( DrawButtonFlags nStyle, bool bPinIn, Image& rImage )
2000-09-18 16:07:07 +00:00
{
// load ImageList if not available yet
2000-09-18 16:07:07 +00:00
ImplSVData* pSVData = ImplGetSVData();
if ( !pSVData->maCtrlData.mpPinImgList )
{
ResMgr* pResMgr = ImplGetResMgr();
pSVData->maCtrlData.mpPinImgList = new ImageList();
if( pResMgr )
{
Color aMaskColor( 0x00, 0x00, 0xFF );
pSVData->maCtrlData.mpPinImgList->InsertFromHorizontalBitmap
( ResId( SV_RESID_BITMAP_PIN, *pResMgr ), 4,
&aMaskColor, NULL, NULL, 0);
}
2000-09-18 16:07:07 +00:00
}
// get and return Image
sal_uInt16 nId;
if ( nStyle & DrawButtonFlags::Pressed )
2000-09-18 16:07:07 +00:00
{
if ( bPinIn )
nId = 4;
else
nId = 3;
}
else
{
if ( bPinIn )
nId = 2;
else
nId = 1;
}
rImage = pSVData->maCtrlData.mpPinImgList->GetImage( nId );
}
namespace vcl {
2000-09-18 16:07:07 +00:00
void Window::ImplCalcSymbolRect( Rectangle& rRect )
{
// Add border, not shown in the non-default representation,
// as we want to use it for small buttons
2000-09-18 16:07:07 +00:00
rRect.Left()--;
rRect.Top()--;
rRect.Right()++;
rRect.Bottom()++;
// we leave 5% room between the symbol and the button border
2000-09-18 16:07:07 +00:00
long nExtraWidth = ((rRect.GetWidth()*50)+500)/1000;
long nExtraHeight = ((rRect.GetHeight()*50)+500)/1000;
rRect.Left() += nExtraWidth;
rRect.Right() -= nExtraWidth;
rRect.Top() += nExtraHeight;
rRect.Bottom() -= nExtraHeight;
}
} /* namespace vcl */
static void ImplDrawBrdWinSymbol( vcl::RenderContext* pDev,
2000-09-18 16:07:07 +00:00
const Rectangle& rRect, SymbolType eSymbol )
{
// we leave 5% room between the symbol and the button border
2000-09-18 16:07:07 +00:00
DecorationView aDecoView( pDev );
Rectangle aTempRect = rRect;
vcl::Window::ImplCalcSymbolRect( aTempRect );
2000-09-18 16:07:07 +00:00
aDecoView.DrawSymbol( aTempRect, eSymbol,
pDev->GetSettings().GetStyleSettings().GetButtonTextColor() );
2000-09-18 16:07:07 +00:00
}
static void ImplDrawBrdWinSymbolButton( vcl::RenderContext* pDev,
2000-09-18 16:07:07 +00:00
const Rectangle& rRect,
SymbolType eSymbol, DrawButtonFlags nState )
2000-09-18 16:07:07 +00:00
{
bool bMouseOver(nState & DrawButtonFlags::Highlight);
nState &= ~DrawButtonFlags::Highlight;
Rectangle aTempRect;
vcl::Window *pWin = dynamic_cast< vcl::Window* >(pDev);
if( pWin )
{
if( bMouseOver )
{
// provide a bright background for selection effect
pDev->SetFillColor( pDev->GetSettings().GetStyleSettings().GetWindowColor() );
pDev->SetLineColor();
pDev->DrawRect( rRect );
pWin->DrawSelectionBackground( rRect, 2, bool(nState & DrawButtonFlags::Pressed),
true, false );
}
aTempRect = rRect;
aTempRect.Left()+=3;
aTempRect.Right()-=4;
aTempRect.Top()+=3;
aTempRect.Bottom()-=4;
}
else
{
DecorationView aDecoView( pDev );
aTempRect = aDecoView.DrawButton( rRect, nState|DrawButtonFlags::Flat );
}
2000-09-18 16:07:07 +00:00
ImplDrawBrdWinSymbol( pDev, aTempRect, eSymbol );
}
// - ImplBorderWindowView -
2000-09-18 16:07:07 +00:00
ImplBorderWindowView::~ImplBorderWindowView()
{
}
bool ImplBorderWindowView::MouseMove( const MouseEvent& )
2000-09-18 16:07:07 +00:00
{
return false;
2000-09-18 16:07:07 +00:00
}
bool ImplBorderWindowView::MouseButtonDown( const MouseEvent& )
2000-09-18 16:07:07 +00:00
{
return false;
2000-09-18 16:07:07 +00:00
}
bool ImplBorderWindowView::Tracking( const TrackingEvent& )
2000-09-18 16:07:07 +00:00
{
return false;
2000-09-18 16:07:07 +00:00
}
OUString ImplBorderWindowView::RequestHelp( const Point&, Rectangle& )
2000-09-18 16:07:07 +00:00
{
return OUString();
2000-09-18 16:07:07 +00:00
}
Rectangle ImplBorderWindowView::GetMenuRect() const
{
return Rectangle();
}
void ImplBorderWindowView::ImplInitTitle(ImplBorderFrameData* pData)
2000-09-18 16:07:07 +00:00
{
ImplBorderWindow* pBorderWindow = pData->mpBorderWindow;
if ( !(pBorderWindow->GetStyle() & (WB_MOVEABLE | WB_POPUP)) ||
2000-09-18 16:07:07 +00:00
(pData->mnTitleType == BORDERWINDOW_TITLE_NONE) )
{
pData->mnTitleType = BORDERWINDOW_TITLE_NONE;
pData->mnTitleHeight = 0;
}
else
{
const StyleSettings& rStyleSettings = pData->mpOutDev->GetSettings().GetStyleSettings();
if (pData->mnTitleType == BORDERWINDOW_TITLE_TEAROFF)
2000-09-18 16:07:07 +00:00
pData->mnTitleHeight = rStyleSettings.GetTearOffTitleHeight();
else
{
if (pData->mnTitleType == BORDERWINDOW_TITLE_SMALL)
2000-09-18 16:07:07 +00:00
{
pBorderWindow->SetPointFont(*pBorderWindow, rStyleSettings.GetFloatTitleFont() );
2000-09-18 16:07:07 +00:00
pData->mnTitleHeight = rStyleSettings.GetFloatTitleHeight();
}
else // pData->mnTitleType == BORDERWINDOW_TITLE_NORMAL
{
// FIXME RenderContext
pBorderWindow->SetPointFont(*pBorderWindow, rStyleSettings.GetTitleFont());
2000-09-18 16:07:07 +00:00
pData->mnTitleHeight = rStyleSettings.GetTitleHeight();
}
long nTextHeight = pBorderWindow->GetTextHeight();
if (nTextHeight > pData->mnTitleHeight)
2000-09-18 16:07:07 +00:00
pData->mnTitleHeight = nTextHeight;
}
}
}
sal_uInt16 ImplBorderWindowView::ImplHitTest( ImplBorderFrameData* pData, const Point& rPos )
2000-09-18 16:07:07 +00:00
{
ImplBorderWindow* pBorderWindow = pData->mpBorderWindow;
if ( pData->maTitleRect.IsInside( rPos ) )
{
if ( pData->maCloseRect.IsInside( rPos ) )
return BORDERWINDOW_HITTEST_CLOSE;
else if ( pData->maRollRect.IsInside( rPos ) )
return BORDERWINDOW_HITTEST_ROLL;
else if ( pData->maMenuRect.IsInside( rPos ) )
return BORDERWINDOW_HITTEST_MENU;
2000-09-18 16:07:07 +00:00
else if ( pData->maDockRect.IsInside( rPos ) )
return BORDERWINDOW_HITTEST_DOCK;
else if ( pData->maHideRect.IsInside( rPos ) )
return BORDERWINDOW_HITTEST_HIDE;
else if ( pData->maHelpRect.IsInside( rPos ) )
return BORDERWINDOW_HITTEST_HELP;
else if ( pData->maPinRect.IsInside( rPos ) )
return BORDERWINDOW_HITTEST_PIN;
else
return BORDERWINDOW_HITTEST_TITLE;
}
if ( (pBorderWindow->GetStyle() & WB_SIZEABLE) &&
!pBorderWindow->mbRollUp )
{
long nSizeWidth = pData->mnNoTitleTop+pData->mnTitleHeight;
if ( nSizeWidth < 16 )
nSizeWidth = 16;
// no corner resize for floating toolbars, which would lead to jumps while formatting
// setting nSizeWidth = 0 will only return pure left,top,right,bottom
if( pBorderWindow->GetStyle() & (WB_OWNERDRAWDECORATION | WB_POPUP) )
nSizeWidth = 0;
2000-09-18 16:07:07 +00:00
if ( rPos.X() < pData->mnLeftBorder )
{
if ( rPos.Y() < nSizeWidth )
return BORDERWINDOW_HITTEST_TOPLEFT;
else if ( rPos.Y() >= pData->mnHeight-nSizeWidth )
return BORDERWINDOW_HITTEST_BOTTOMLEFT;
else
return BORDERWINDOW_HITTEST_LEFT;
}
else if ( rPos.X() >= pData->mnWidth-pData->mnRightBorder )
{
if ( rPos.Y() < nSizeWidth )
return BORDERWINDOW_HITTEST_TOPRIGHT;
else if ( rPos.Y() >= pData->mnHeight-nSizeWidth )
return BORDERWINDOW_HITTEST_BOTTOMRIGHT;
else
return BORDERWINDOW_HITTEST_RIGHT;
}
else if ( rPos.Y() < pData->mnNoTitleTop )
{
if ( rPos.X() < nSizeWidth )
return BORDERWINDOW_HITTEST_TOPLEFT;
else if ( rPos.X() >= pData->mnWidth-nSizeWidth )
return BORDERWINDOW_HITTEST_TOPRIGHT;
else
return BORDERWINDOW_HITTEST_TOP;
}
else if ( rPos.Y() >= pData->mnHeight-pData->mnBottomBorder )
{
if ( rPos.X() < nSizeWidth )
return BORDERWINDOW_HITTEST_BOTTOMLEFT;
else if ( rPos.X() >= pData->mnWidth-nSizeWidth )
return BORDERWINDOW_HITTEST_BOTTOMRIGHT;
else
return BORDERWINDOW_HITTEST_BOTTOM;
}
}
return 0;
}
bool ImplBorderWindowView::ImplMouseMove( ImplBorderFrameData* pData, const MouseEvent& rMEvt )
2000-09-18 16:07:07 +00:00
{
DrawButtonFlags oldCloseState = pData->mnCloseState;
DrawButtonFlags oldMenuState = pData->mnMenuState;
pData->mnCloseState &= ~DrawButtonFlags::Highlight;
pData->mnMenuState &= ~DrawButtonFlags::Highlight;
2000-09-18 16:07:07 +00:00
Point aMousePos = rMEvt.GetPosPixel();
sal_uInt16 nHitTest = ImplHitTest( pData, aMousePos );
PointerStyle ePtrStyle = PointerStyle::Arrow;
2000-09-18 16:07:07 +00:00
if ( nHitTest & BORDERWINDOW_HITTEST_LEFT )
ePtrStyle = PointerStyle::WindowWSize;
2000-09-18 16:07:07 +00:00
else if ( nHitTest & BORDERWINDOW_HITTEST_RIGHT )
ePtrStyle = PointerStyle::WindowESize;
2000-09-18 16:07:07 +00:00
else if ( nHitTest & BORDERWINDOW_HITTEST_TOP )
ePtrStyle = PointerStyle::WindowNSize;
2000-09-18 16:07:07 +00:00
else if ( nHitTest & BORDERWINDOW_HITTEST_BOTTOM )
ePtrStyle = PointerStyle::WindowSSize;
2000-09-18 16:07:07 +00:00
else if ( nHitTest & BORDERWINDOW_HITTEST_TOPLEFT )
ePtrStyle = PointerStyle::WindowNWSize;
2000-09-18 16:07:07 +00:00
else if ( nHitTest & BORDERWINDOW_HITTEST_BOTTOMRIGHT )
ePtrStyle = PointerStyle::WindowSESize;
2000-09-18 16:07:07 +00:00
else if ( nHitTest & BORDERWINDOW_HITTEST_TOPRIGHT )
ePtrStyle = PointerStyle::WindowNESize;
2000-09-18 16:07:07 +00:00
else if ( nHitTest & BORDERWINDOW_HITTEST_BOTTOMLEFT )
ePtrStyle = PointerStyle::WindowSWSize;
else if ( nHitTest & BORDERWINDOW_HITTEST_CLOSE )
pData->mnCloseState |= DrawButtonFlags::Highlight;
else if ( nHitTest & BORDERWINDOW_HITTEST_MENU )
pData->mnMenuState |= DrawButtonFlags::Highlight;
2000-09-18 16:07:07 +00:00
pData->mpBorderWindow->SetPointer( Pointer( ePtrStyle ) );
if( pData->mnCloseState != oldCloseState )
pData->mpBorderWindow->Invalidate( pData->maCloseRect );
if( pData->mnMenuState != oldMenuState )
pData->mpBorderWindow->Invalidate( pData->maMenuRect );
return true;
2000-09-18 16:07:07 +00:00
}
OUString ImplBorderWindowView::ImplRequestHelp( ImplBorderFrameData* pData,
const Point& rPos,
Rectangle& rHelpRect )
2000-09-18 16:07:07 +00:00
{
sal_uInt16 nHelpId = 0;
OUString aHelpStr;
sal_uInt16 nHitTest = ImplHitTest( pData, rPos );
if ( nHitTest )
2000-09-18 16:07:07 +00:00
{
if ( nHitTest & BORDERWINDOW_HITTEST_CLOSE )
{
nHelpId = SV_HELPTEXT_CLOSE;
rHelpRect = pData->maCloseRect;
2000-09-18 16:07:07 +00:00
}
else if ( nHitTest & BORDERWINDOW_HITTEST_ROLL )
{
if ( pData->mpBorderWindow->mbRollUp )
nHelpId = SV_HELPTEXT_ROLLDOWN;
else
nHelpId = SV_HELPTEXT_ROLLUP;
rHelpRect = pData->maRollRect;
2000-09-18 16:07:07 +00:00
}
else if ( nHitTest & BORDERWINDOW_HITTEST_DOCK )
{
nHelpId = SV_HELPTEXT_MAXIMIZE;
rHelpRect = pData->maDockRect;
}
2000-09-18 16:07:07 +00:00
else if ( nHitTest & BORDERWINDOW_HITTEST_HIDE )
{
nHelpId = SV_HELPTEXT_MINIMIZE;
rHelpRect = pData->maHideRect;
2000-09-18 16:07:07 +00:00
}
else if ( nHitTest & BORDERWINDOW_HITTEST_HELP )
{
nHelpId = SV_HELPTEXT_HELP;
rHelpRect = pData->maHelpRect;
2000-09-18 16:07:07 +00:00
}
else if ( nHitTest & BORDERWINDOW_HITTEST_PIN )
{
nHelpId = SV_HELPTEXT_ALWAYSVISIBLE;
rHelpRect = pData->maPinRect;
2000-09-18 16:07:07 +00:00
}
else if ( nHitTest & BORDERWINDOW_HITTEST_TITLE )
2000-09-18 16:07:07 +00:00
{
if( !pData->maTitleRect.IsEmpty() )
2000-09-18 16:07:07 +00:00
{
// tooltip only if title truncated
if( pData->mbTitleClipped )
2000-09-18 16:07:07 +00:00
{
rHelpRect = pData->maTitleRect;
// no help id, use window title as help string
aHelpStr = pData->mpBorderWindow->GetText();
}
}
}
2000-09-18 16:07:07 +00:00
}
if( nHelpId && ImplGetResMgr() )
aHelpStr = ResId(nHelpId, *ImplGetResMgr()).toString();
return aHelpStr;
2000-09-18 16:07:07 +00:00
}
long ImplBorderWindowView::ImplCalcTitleWidth( const ImplBorderFrameData* pData )
2000-09-18 16:07:07 +00:00
{
// title is not visible therefore no width
2000-09-18 16:07:07 +00:00
if ( !pData->mnTitleHeight )
return 0;
ImplBorderWindow* pBorderWindow = pData->mpBorderWindow;
long nTitleWidth = pBorderWindow->GetTextWidth( pBorderWindow->GetText() )+6;
nTitleWidth += pData->maPinRect.GetWidth();
nTitleWidth += pData->maCloseRect.GetWidth();
nTitleWidth += pData->maRollRect.GetWidth();
nTitleWidth += pData->maDockRect.GetWidth();
nTitleWidth += pData->maMenuRect.GetWidth();
2000-09-18 16:07:07 +00:00
nTitleWidth += pData->maHideRect.GetWidth();
nTitleWidth += pData->maHelpRect.GetWidth();
nTitleWidth += pData->mnLeftBorder+pData->mnRightBorder;
return nTitleWidth;
}
// - ImplNoBorderWindowView -
ImplNoBorderWindowView::ImplNoBorderWindowView( ImplBorderWindow* )
2000-09-18 16:07:07 +00:00
{
}
void ImplNoBorderWindowView::Init( OutputDevice*, long, long )
2000-09-18 16:07:07 +00:00
{
}
void ImplNoBorderWindowView::GetBorder( sal_Int32& rLeftBorder, sal_Int32& rTopBorder,
sal_Int32& rRightBorder, sal_Int32& rBottomBorder ) const
2000-09-18 16:07:07 +00:00
{
rLeftBorder = 0;
rTopBorder = 0;
rRightBorder = 0;
rBottomBorder = 0;
}
long ImplNoBorderWindowView::CalcTitleWidth() const
{
return 0;
}
void ImplNoBorderWindowView::DrawWindow(vcl::RenderContext&, sal_uInt16, const Point*)
2000-09-18 16:07:07 +00:00
{
}
// - ImplSmallBorderWindowView -
ImplSmallBorderWindowView::ImplSmallBorderWindowView( ImplBorderWindow* pBorderWindow )
: mpBorderWindow(pBorderWindow)
, mpOutDev(NULL)
, mnWidth(0)
, mnHeight(0)
, mnLeftBorder(0)
, mnTopBorder(0)
, mnRightBorder(0)
, mnBottomBorder(0)
, mbNWFBorder(false)
2000-09-18 16:07:07 +00:00
{
}
void ImplSmallBorderWindowView::Init( OutputDevice* pDev, long nWidth, long nHeight )
{
mpOutDev = pDev;
mnWidth = nWidth;
mnHeight = nHeight;
mbNWFBorder = false;
2000-09-18 16:07:07 +00:00
vcl::Window *pWin = NULL, *pCtrl = NULL;
if (mpOutDev->GetOutDevType() == OUTDEV_WINDOW)
pWin = static_cast<vcl::Window*>(mpOutDev.get());
if (pWin)
pCtrl = mpBorderWindow->GetWindow(GetWindowType::Client);
long nOrigLeftBorder = mnLeftBorder;
long nOrigTopBorder = mnTopBorder;
long nOrigRightBorder = mnRightBorder;
long nOrigBottomBorder = mnBottomBorder;
WindowBorderStyle nBorderStyle = mpBorderWindow->GetBorderStyle();
if ( nBorderStyle & WindowBorderStyle::NOBORDER )
2000-09-18 16:07:07 +00:00
{
mnLeftBorder = 0;
mnTopBorder = 0;
mnRightBorder = 0;
mnBottomBorder = 0;
}
else
{
// FIXME: this is currently only on OS X, check with other
// platforms
if( ImplGetSVData()->maNWFData.mbNoFocusRects && !( nBorderStyle & WindowBorderStyle::NWF ) )
{
// for native widget drawing we must find out what
// control this border belongs to
ControlType aCtrlType = 0;
if (pCtrl)
{
switch( pCtrl->GetType() )
{
case WINDOW_LISTBOX:
if( pCtrl->GetStyle() & WB_DROPDOWN )
{
aCtrlType = CTRL_LISTBOX;
mbNWFBorder = true;
}
break;
case WINDOW_COMBOBOX:
if( pCtrl->GetStyle() & WB_DROPDOWN )
{
aCtrlType = CTRL_COMBOBOX;
mbNWFBorder = true;
}
break;
case WINDOW_MULTILINEEDIT:
aCtrlType = CTRL_MULTILINE_EDITBOX;
mbNWFBorder = true;
break;
case WINDOW_EDIT:
case WINDOW_PATTERNFIELD:
case WINDOW_METRICFIELD:
case WINDOW_CURRENCYFIELD:
case WINDOW_DATEFIELD:
case WINDOW_TIMEFIELD:
case WINDOW_LONGCURRENCYFIELD:
case WINDOW_NUMERICFIELD:
case WINDOW_SPINFIELD:
case WINDOW_CALCINPUTLINE:
mbNWFBorder = true;
if (pCtrl->GetStyle() & WB_SPIN)
aCtrlType = CTRL_SPINBOX;
else
aCtrlType = CTRL_EDITBOX;
break;
default:
break;
}
}
if( mbNWFBorder )
{
ImplControlValue aControlValue;
Rectangle aCtrlRegion( (const Point&)Point(), Size( mnWidth < 10 ? 10 : mnWidth, mnHeight < 10 ? 10 : mnHeight ) );
Rectangle aBounds( aCtrlRegion );
Rectangle aContent( aCtrlRegion );
if( pWin->GetNativeControlRegion( aCtrlType, PART_ENTIRE_CONTROL, aCtrlRegion,
ControlState::ENABLED, aControlValue, OUString(),
aBounds, aContent ) )
{
mnLeftBorder = aContent.Left() - aBounds.Left();
mnRightBorder = aBounds.Right() - aContent.Right();
mnTopBorder = aContent.Top() - aBounds.Top();
mnBottomBorder = aBounds.Bottom() - aContent.Bottom();
if( mnWidth && mnHeight )
{
mpBorderWindow->SetPaintTransparent( true );
mpBorderWindow->SetBackground();
pCtrl->SetPaintTransparent( true );
vcl::Window* pCompoundParent = NULL;
if( pWin->GetParent() && pWin->GetParent()->IsCompoundControl() )
pCompoundParent = pWin->GetParent();
if( pCompoundParent )
pCompoundParent->SetPaintTransparent( true );
if( mnWidth < aBounds.GetWidth() || mnHeight < aBounds.GetHeight() )
{
if( ! pCompoundParent ) // compound controls have to fix themselves
{
Point aPos( mpBorderWindow->GetPosPixel() );
if( mnWidth < aBounds.GetWidth() )
aPos.X() -= (aBounds.GetWidth() - mnWidth) / 2;
if( mnHeight < aBounds.GetHeight() )
aPos.Y() -= (aBounds.GetHeight() - mnHeight) / 2;
mpBorderWindow->SetPosSizePixel( aPos, aBounds.GetSize() );
}
}
}
}
else
mbNWFBorder = false;
}
}
if( ! mbNWFBorder )
{
DrawFrameStyle nStyle = DrawFrameStyle::NONE;
DrawFrameFlags nFlags = DrawFrameFlags::NoDraw;
// move border outside if border was converted or if the BorderWindow is a frame window,
if ( mpBorderWindow->mbSmallOutBorder )
nStyle = DrawFrameStyle::DoubleOut;
else if ( nBorderStyle & WindowBorderStyle::NWF )
nStyle = DrawFrameStyle::NWF;
else
nStyle = DrawFrameStyle::DoubleIn;
if ( nBorderStyle & WindowBorderStyle::MONO )
nFlags |= DrawFrameFlags::Mono;
DecorationView aDecoView( mpOutDev );
Rectangle aRect( 0, 0, 10, 10 );
Rectangle aCalcRect = aDecoView.DrawFrame( aRect, nStyle, nFlags );
mnLeftBorder = aCalcRect.Left();
mnTopBorder = aCalcRect.Top();
mnRightBorder = aRect.Right()-aCalcRect.Right();
mnBottomBorder = aRect.Bottom()-aCalcRect.Bottom();
}
2000-09-18 16:07:07 +00:00
}
if (pCtrl)
{
//fdo#57090 If the borders have changed, then trigger a queue_resize on
//the bordered window, which will resync its borders at that point
if (nOrigLeftBorder != mnLeftBorder ||
nOrigTopBorder != mnTopBorder ||
nOrigRightBorder != mnRightBorder ||
nOrigBottomBorder != mnBottomBorder)
{
pCtrl->queue_resize();
}
}
2000-09-18 16:07:07 +00:00
}
void ImplSmallBorderWindowView::GetBorder( sal_Int32& rLeftBorder, sal_Int32& rTopBorder,
sal_Int32& rRightBorder, sal_Int32& rBottomBorder ) const
2000-09-18 16:07:07 +00:00
{
rLeftBorder = mnLeftBorder;
rTopBorder = mnTopBorder;
rRightBorder = mnRightBorder;
rBottomBorder = mnBottomBorder;
}
long ImplSmallBorderWindowView::CalcTitleWidth() const
{
return 0;
}
void ImplSmallBorderWindowView::DrawWindow(vcl::RenderContext& rRenderContext, sal_uInt16 nDrawFlags, const Point*)
2000-09-18 16:07:07 +00:00
{
WindowBorderStyle nBorderStyle = mpBorderWindow->GetBorderStyle();
if (nBorderStyle & WindowBorderStyle::NOBORDER)
2000-09-18 16:07:07 +00:00
return;
bool bNativeOK = false;
// for native widget drawing we must find out what
// control this border belongs to
vcl::Window* pCtrl = mpBorderWindow->GetWindow(GetWindowType::Client);
ControlType aCtrlType = 0;
ControlPart aCtrlPart = PART_ENTIRE_CONTROL;
if (pCtrl)
{
switch (pCtrl->GetType())
{
case WINDOW_MULTILINEEDIT:
aCtrlType = CTRL_MULTILINE_EDITBOX;
break;
case WINDOW_EDIT:
case WINDOW_PATTERNFIELD:
case WINDOW_METRICFIELD:
case WINDOW_CURRENCYFIELD:
case WINDOW_DATEFIELD:
case WINDOW_TIMEFIELD:
case WINDOW_LONGCURRENCYFIELD:
case WINDOW_NUMERICFIELD:
case WINDOW_SPINFIELD:
case WINDOW_CALCINPUTLINE:
if (pCtrl->GetStyle() & WB_SPIN)
aCtrlType = CTRL_SPINBOX;
else
aCtrlType = CTRL_EDITBOX;
break;
case WINDOW_LISTBOX:
case WINDOW_MULTILISTBOX:
case WINDOW_TREELISTBOX:
aCtrlType = CTRL_LISTBOX;
if (pCtrl->GetStyle() & WB_DROPDOWN)
aCtrlPart = PART_ENTIRE_CONTROL;
else
aCtrlPart = PART_WINDOW;
break;
case WINDOW_LISTBOXWINDOW:
aCtrlType = CTRL_LISTBOX;
aCtrlPart = PART_WINDOW;
break;
case WINDOW_COMBOBOX:
case WINDOW_PATTERNBOX:
case WINDOW_NUMERICBOX:
case WINDOW_METRICBOX:
case WINDOW_CURRENCYBOX:
case WINDOW_DATEBOX:
case WINDOW_TIMEBOX:
case WINDOW_LONGCURRENCYBOX:
if (pCtrl->GetStyle() & WB_DROPDOWN)
{
aCtrlType = CTRL_COMBOBOX;
aCtrlPart = PART_ENTIRE_CONTROL;
}
else
{
aCtrlType = CTRL_LISTBOX;
aCtrlPart = PART_WINDOW;
}
break;
default:
break;
}
}
if (aCtrlType && pCtrl->IsNativeControlSupported(aCtrlType, aCtrlPart))
{
ImplControlValue aControlValue;
ControlState nState = ControlState::ENABLED;
if (!mpBorderWindow->IsEnabled())
nState &= ~ControlState::ENABLED;
if (mpBorderWindow->HasFocus())
nState |= ControlState::FOCUSED;
else if(mbNWFBorder)
{
// FIXME: this is currently only on OS X, see if other platforms can profit
// FIXME: for OS X focus rings all controls need to support GetNativeControlRegion
// for the dropdown style
if (pCtrl->HasFocus() || pCtrl->HasChildPathFocus())
nState |= ControlState::FOCUSED;
}
bool bMouseOver = false;
vcl::Window *pCtrlChild = pCtrl->GetWindow(GetWindowType::FirstChild);
while(pCtrlChild && !(bMouseOver = pCtrlChild->IsMouseOver()))
{
pCtrlChild = pCtrlChild->GetWindow(GetWindowType::Next);
}
if (bMouseOver)
nState |= ControlState::ROLLOVER;
Point aPoint;
Rectangle aCtrlRegion(aPoint, Size(mnWidth, mnHeight));
Rectangle aBoundingRgn(aPoint, Size(mnWidth, mnHeight));
Rectangle aContentRgn(aCtrlRegion);
if (!ImplGetSVData()->maNWFData.mbCanDrawWidgetAnySize &&
rRenderContext.GetNativeControlRegion(aCtrlType, aCtrlPart, aCtrlRegion,
nState, aControlValue, OUString(),
aBoundingRgn, aContentRgn))
{
aCtrlRegion=aContentRgn;
}
bNativeOK = rRenderContext.DrawNativeControl(aCtrlType, aCtrlPart, aCtrlRegion, nState, aControlValue, OUString());
// if the native theme draws the spinbuttons in one call, make sure the proper settings
// are passed, this might force a redraw though.... (TODO: improve)
if ((aCtrlType == CTRL_SPINBOX) && !pCtrl->IsNativeControlSupported(CTRL_SPINBOX, PART_BUTTON_UP))
{
Edit* pEdit = static_cast<Edit*>(pCtrl)->GetSubEdit();
if (pEdit && !pEdit->SupportsDoubleBuffering())
pCtrl->Paint(*pCtrl, Rectangle()); // make sure the buttons are also drawn as they might overwrite the border
}
}
if (bNativeOK)
return;
if (nDrawFlags & BORDERWINDOW_DRAW_FRAME)
2000-09-18 16:07:07 +00:00
{
DrawFrameStyle nStyle = DrawFrameStyle::NONE;
DrawFrameFlags nFlags = DrawFrameFlags::NONE;
// move border outside if border was converted or if the border window is a frame window,
if (mpBorderWindow->mbSmallOutBorder)
nStyle = DrawFrameStyle::DoubleOut;
else if (nBorderStyle & WindowBorderStyle::NWF)
nStyle = DrawFrameStyle::NWF;
2000-09-18 16:07:07 +00:00
else
nStyle = DrawFrameStyle::DoubleIn;
if (nBorderStyle & WindowBorderStyle::MONO)
nFlags |= DrawFrameFlags::Mono;
if (nBorderStyle & WindowBorderStyle::MENU)
nFlags |= DrawFrameFlags::Menu;
// tell DrawFrame that we're drawing a window border of a frame window to avoid round corners
if (mpBorderWindow == mpBorderWindow->ImplGetFrameWindow())
nFlags |= DrawFrameFlags::WindowBorder;
DecorationView aDecoView(&rRenderContext);
Point aTmpPoint;
Rectangle aInRect(aTmpPoint, Size(mnWidth, mnHeight));
aDecoView.DrawFrame(aInRect, nStyle, nFlags);
2000-09-18 16:07:07 +00:00
}
}
// - ImplStdBorderWindowView -
2000-09-18 16:07:07 +00:00
ImplStdBorderWindowView::ImplStdBorderWindowView( ImplBorderWindow* pBorderWindow )
{
maFrameData.mpBorderWindow = pBorderWindow;
maFrameData.mbDragFull = false;
2000-09-18 16:07:07 +00:00
maFrameData.mnHitTest = 0;
maFrameData.mnPinState = DrawButtonFlags::NONE;
maFrameData.mnCloseState = DrawButtonFlags::NONE;
maFrameData.mnRollState = DrawButtonFlags::NONE;
maFrameData.mnDockState = DrawButtonFlags::NONE;
maFrameData.mnMenuState = DrawButtonFlags::NONE;
maFrameData.mnHideState = DrawButtonFlags::NONE;
maFrameData.mnHelpState = DrawButtonFlags::NONE;
maFrameData.mbTitleClipped = false;
2000-09-18 16:07:07 +00:00
mpATitleVirDev = NULL;
mpDTitleVirDev = NULL;
}
ImplStdBorderWindowView::~ImplStdBorderWindowView()
{
mpATitleVirDev.disposeAndClear();
mpDTitleVirDev.disposeAndClear();
2000-09-18 16:07:07 +00:00
}
bool ImplStdBorderWindowView::MouseMove( const MouseEvent& rMEvt )
2000-09-18 16:07:07 +00:00
{
return ImplMouseMove( &maFrameData, rMEvt );
}
bool ImplStdBorderWindowView::MouseButtonDown( const MouseEvent& rMEvt )
2000-09-18 16:07:07 +00:00
{
ImplBorderWindow* pBorderWindow = maFrameData.mpBorderWindow;
2000-09-18 16:07:07 +00:00
if ( rMEvt.IsLeft() || rMEvt.IsRight() )
{
maFrameData.maMouseOff = rMEvt.GetPosPixel();
maFrameData.mnHitTest = ImplHitTest( &maFrameData, maFrameData.maMouseOff );
if ( maFrameData.mnHitTest )
{
DragFullOptions nDragFullTest = DragFullOptions::NONE;
bool bTracking = true;
bool bHitTest = true;
if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_CLOSE )
{
maFrameData.mnCloseState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
else if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_ROLL )
{
maFrameData.mnRollState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
else if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_DOCK )
{
maFrameData.mnDockState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
else if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_MENU )
{
maFrameData.mnMenuState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
// call handler already on mouse down
if ( pBorderWindow->ImplGetClientWindow()->IsSystemWindow() )
{
SystemWindow* pClientWindow = static_cast<SystemWindow*>(pBorderWindow->ImplGetClientWindow());
pClientWindow->TitleButtonClick( TitleButton::Menu );
}
}
else if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_HIDE )
{
maFrameData.mnHideState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
else if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_HELP )
{
maFrameData.mnHelpState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
else if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_PIN )
{
maFrameData.mnPinState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
else
{
if ( rMEvt.GetClicks() == 1 )
{
if ( bTracking )
{
Point aPos = pBorderWindow->GetPosPixel();
Size aSize = pBorderWindow->GetOutputSizePixel();
maFrameData.mnTrackX = aPos.X();
maFrameData.mnTrackY = aPos.Y();
maFrameData.mnTrackWidth = aSize.Width();
maFrameData.mnTrackHeight = aSize.Height();
if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_TITLE )
nDragFullTest = DragFullOptions::WindowMove;
else
nDragFullTest = DragFullOptions::WindowSize;
}
}
else
{
bTracking = false;
if ( (maFrameData.mnHitTest & BORDERWINDOW_DRAW_TITLE) &&
((rMEvt.GetClicks() % 2) == 0) )
{
maFrameData.mnHitTest = 0;
bHitTest = false;
if ( pBorderWindow->ImplGetClientWindow()->IsSystemWindow() )
{
SystemWindow* pClientWindow = static_cast<SystemWindow*>(pBorderWindow->ImplGetClientWindow());
if ( true /*pBorderWindow->mbDockBtn*/ ) // always perform docking on double click, no button required
pClientWindow->TitleButtonClick( TitleButton::Docking );
else if ( pBorderWindow->GetStyle() & WB_ROLLABLE )
{
if ( pClientWindow->IsRollUp() )
pClientWindow->RollDown();
else
pClientWindow->RollUp();
pClientWindow->Roll();
}
}
}
}
}
if ( bTracking )
{
maFrameData.mbDragFull = false;
if ( nDragFullTest != DragFullOptions::NONE )
maFrameData.mbDragFull = true; // always fulldrag for proper docking, ignore system settings
pBorderWindow->StartTracking();
}
else if ( bHitTest )
maFrameData.mnHitTest = 0;
}
}
return true;
}
bool ImplStdBorderWindowView::Tracking( const TrackingEvent& rTEvt )
{
ImplBorderWindow* pBorderWindow = maFrameData.mpBorderWindow;
if ( rTEvt.IsTrackingEnded() )
{
sal_uInt16 nHitTest = maFrameData.mnHitTest;
maFrameData.mnHitTest = 0;
if ( nHitTest & BORDERWINDOW_HITTEST_CLOSE )
{
if ( maFrameData.mnCloseState & DrawButtonFlags::Pressed )
{
maFrameData.mnCloseState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
// do not call a Click-Handler when aborting
if ( !rTEvt.IsTrackingCanceled() )
{
// dispatch to correct window type (why is Close() not virtual ??? )
// TODO: make Close() virtual
vcl::Window *pWin = pBorderWindow->ImplGetClientWindow()->ImplGetWindow();
SystemWindow *pSysWin = dynamic_cast<SystemWindow* >(pWin);
DockingWindow *pDockWin = dynamic_cast<DockingWindow*>(pWin);
if ( pSysWin )
pSysWin->Close();
else if ( pDockWin )
pDockWin->Close();
}
}
}
else if ( nHitTest & BORDERWINDOW_HITTEST_ROLL )
{
if ( maFrameData.mnRollState & DrawButtonFlags::Pressed )
{
maFrameData.mnRollState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
// do not call a Click-Handler when aborting
if ( !rTEvt.IsTrackingCanceled() )
{
if ( pBorderWindow->ImplGetClientWindow()->IsSystemWindow() )
{
SystemWindow* pClientWindow = static_cast<SystemWindow*>(pBorderWindow->ImplGetClientWindow());
if ( pClientWindow->IsRollUp() )
pClientWindow->RollDown();
else
pClientWindow->RollUp();
pClientWindow->Roll();
}
}
}
}
else if ( nHitTest & BORDERWINDOW_HITTEST_DOCK )
{
if ( maFrameData.mnDockState & DrawButtonFlags::Pressed )
{
maFrameData.mnDockState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
// do not call a Click-Handler when aborting
if ( !rTEvt.IsTrackingCanceled() )
{
if ( pBorderWindow->ImplGetClientWindow()->IsSystemWindow() )
{
SystemWindow* pClientWindow = static_cast<SystemWindow*>(pBorderWindow->ImplGetClientWindow());
pClientWindow->TitleButtonClick( TitleButton::Docking );
}
}
}
}
else if ( nHitTest & BORDERWINDOW_HITTEST_MENU )
{
if ( maFrameData.mnMenuState & DrawButtonFlags::Pressed )
{
maFrameData.mnMenuState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
// handler already called on mouse down
}
}
else if ( nHitTest & BORDERWINDOW_HITTEST_HIDE )
{
if ( maFrameData.mnHideState & DrawButtonFlags::Pressed )
{
maFrameData.mnHideState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
// do not call a Click-Handler when aborting
if ( !rTEvt.IsTrackingCanceled() )
{
if ( pBorderWindow->ImplGetClientWindow()->IsSystemWindow() )
{
SystemWindow* pClientWindow = static_cast<SystemWindow*>(pBorderWindow->ImplGetClientWindow());
pClientWindow->TitleButtonClick( TitleButton::Hide );
}
}
}
}
else if ( nHitTest & BORDERWINDOW_HITTEST_HELP )
{
if ( maFrameData.mnHelpState & DrawButtonFlags::Pressed )
{
maFrameData.mnHelpState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
// do not call a Click-Handler when aborting
if ( !rTEvt.IsTrackingCanceled() )
{
}
}
}
else if ( nHitTest & BORDERWINDOW_HITTEST_PIN )
{
if ( maFrameData.mnPinState & DrawButtonFlags::Pressed )
{
maFrameData.mnPinState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
// do not call a Click-Handler when aborting
if ( !rTEvt.IsTrackingCanceled() )
{
if ( pBorderWindow->ImplGetClientWindow()->IsSystemWindow() )
{
SystemWindow* pClientWindow = static_cast<SystemWindow*>(pBorderWindow->ImplGetClientWindow());
pClientWindow->SetPin( !pClientWindow->IsPinned() );
pClientWindow->Pin();
}
}
}
}
else
{
if ( maFrameData.mbDragFull )
{
// restore old state when aborting
if ( rTEvt.IsTrackingCanceled() )
pBorderWindow->SetPosSizePixel( Point( maFrameData.mnTrackX, maFrameData.mnTrackY ), Size( maFrameData.mnTrackWidth, maFrameData.mnTrackHeight ) );
}
else
{
pBorderWindow->HideTracking();
if ( !rTEvt.IsTrackingCanceled() )
pBorderWindow->SetPosSizePixel( Point( maFrameData.mnTrackX, maFrameData.mnTrackY ), Size( maFrameData.mnTrackWidth, maFrameData.mnTrackHeight ) );
}
if ( !rTEvt.IsTrackingCanceled() )
{
if ( pBorderWindow->ImplGetClientWindow()->ImplIsFloatingWindow() )
{
if ( static_cast<FloatingWindow*>(pBorderWindow->ImplGetClientWindow())->IsInPopupMode() )
static_cast<FloatingWindow*>(pBorderWindow->ImplGetClientWindow())->EndPopupMode( FloatWinPopupEndFlags::TearOff );
}
}
}
}
else if ( !rTEvt.GetMouseEvent().IsSynthetic() )
{
Point aMousePos = rTEvt.GetMouseEvent().GetPosPixel();
if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_CLOSE )
{
if ( maFrameData.maCloseRect.IsInside( aMousePos ) )
{
if ( !(maFrameData.mnCloseState & DrawButtonFlags::Pressed) )
{
maFrameData.mnCloseState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
else
{
if ( maFrameData.mnCloseState & DrawButtonFlags::Pressed )
{
maFrameData.mnCloseState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
}
else if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_ROLL )
{
if ( maFrameData.maRollRect.IsInside( aMousePos ) )
{
if ( !(maFrameData.mnRollState & DrawButtonFlags::Pressed) )
{
maFrameData.mnRollState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
else
{
if ( maFrameData.mnRollState & DrawButtonFlags::Pressed )
{
maFrameData.mnRollState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
}
else if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_DOCK )
{
if ( maFrameData.maDockRect.IsInside( aMousePos ) )
{
if ( !(maFrameData.mnDockState & DrawButtonFlags::Pressed) )
{
maFrameData.mnDockState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
else
{
if ( maFrameData.mnDockState & DrawButtonFlags::Pressed )
{
maFrameData.mnDockState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
}
else if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_MENU )
{
if ( maFrameData.maMenuRect.IsInside( aMousePos ) )
{
if ( !(maFrameData.mnMenuState & DrawButtonFlags::Pressed) )
{
maFrameData.mnMenuState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
else
{
if ( maFrameData.mnMenuState & DrawButtonFlags::Pressed )
{
maFrameData.mnMenuState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
}
else if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_HIDE )
{
if ( maFrameData.maHideRect.IsInside( aMousePos ) )
{
if ( !(maFrameData.mnHideState & DrawButtonFlags::Pressed) )
{
maFrameData.mnHideState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
else
{
if ( maFrameData.mnHideState & DrawButtonFlags::Pressed )
{
maFrameData.mnHideState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
}
else if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_HELP )
{
if ( maFrameData.maHelpRect.IsInside( aMousePos ) )
{
if ( !(maFrameData.mnHelpState & DrawButtonFlags::Pressed) )
{
maFrameData.mnHelpState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
else
{
if ( maFrameData.mnHelpState & DrawButtonFlags::Pressed )
{
maFrameData.mnHelpState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
}
else if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_PIN )
{
if ( maFrameData.maPinRect.IsInside( aMousePos ) )
{
if ( !(maFrameData.mnPinState & DrawButtonFlags::Pressed) )
{
maFrameData.mnPinState |= DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
else
{
if ( maFrameData.mnPinState & DrawButtonFlags::Pressed )
{
maFrameData.mnPinState &= ~DrawButtonFlags::Pressed;
pBorderWindow->InvalidateBorder();
}
}
}
else
{
aMousePos.X() -= maFrameData.maMouseOff.X();
aMousePos.Y() -= maFrameData.maMouseOff.Y();
if ( maFrameData.mnHitTest & BORDERWINDOW_HITTEST_TITLE )
{
maFrameData.mpBorderWindow->SetPointer( Pointer( PointerStyle::Move ) );
Point aPos = pBorderWindow->GetPosPixel();
aPos.X() += aMousePos.X();
aPos.Y() += aMousePos.Y();
if ( maFrameData.mbDragFull )
{
pBorderWindow->SetPosPixel( aPos );
pBorderWindow->ImplUpdateAll();
pBorderWindow->ImplGetFrameWindow()->ImplUpdateAll();
}
else
{
maFrameData.mnTrackX = aPos.X();
maFrameData.mnTrackY = aPos.Y();
pBorderWindow->ShowTracking( Rectangle( pBorderWindow->ScreenToOutputPixel( aPos ), pBorderWindow->GetOutputSizePixel() ), SHOWTRACK_BIG );
}
}
else
{
Point aOldPos = pBorderWindow->GetPosPixel();
Size aSize = pBorderWindow->GetSizePixel();
Rectangle aNewRect( aOldPos, aSize );
long nOldWidth = aSize.Width();
long nOldHeight = aSize.Height();
long nBorderWidth = maFrameData.mnLeftBorder+maFrameData.mnRightBorder;
long nBorderHeight = maFrameData.mnTopBorder+maFrameData.mnBottomBorder;
long nMinWidth = pBorderWindow->mnMinWidth+nBorderWidth;
long nMinHeight = pBorderWindow->mnMinHeight+nBorderHeight;
long nMinWidth2 = nBorderWidth;
long nMaxWidth = pBorderWindow->mnMaxWidth+nBorderWidth;
long nMaxHeight = pBorderWindow->mnMaxHeight+nBorderHeight;
if ( maFrameData.mnTitleHeight )
{
nMinWidth2 += 4;
if ( pBorderWindow->GetStyle() & WB_CLOSEABLE )
nMinWidth2 += maFrameData.maCloseRect.GetWidth();
}
if ( nMinWidth2 > nMinWidth )
nMinWidth = nMinWidth2;
if ( maFrameData.mnHitTest & (BORDERWINDOW_HITTEST_LEFT | BORDERWINDOW_HITTEST_TOPLEFT | BORDERWINDOW_HITTEST_BOTTOMLEFT) )
{
aNewRect.Left() += aMousePos.X();
if ( aNewRect.GetWidth() < nMinWidth )
aNewRect.Left() = aNewRect.Right()-nMinWidth+1;
else if ( aNewRect.GetWidth() > nMaxWidth )
aNewRect.Left() = aNewRect.Right()-nMaxWidth+1;
}
else if ( maFrameData.mnHitTest & (BORDERWINDOW_HITTEST_RIGHT | BORDERWINDOW_HITTEST_TOPRIGHT | BORDERWINDOW_HITTEST_BOTTOMRIGHT) )
{
aNewRect.Right() += aMousePos.X();
if ( aNewRect.GetWidth() < nMinWidth )
aNewRect.Right() = aNewRect.Left()+nMinWidth+1;
else if ( aNewRect.GetWidth() > nMaxWidth )
aNewRect.Right() = aNewRect.Left()+nMaxWidth+1;
}
if ( maFrameData.mnHitTest & (BORDERWINDOW_HITTEST_TOP | BORDERWINDOW_HITTEST_TOPLEFT | BORDERWINDOW_HITTEST_TOPRIGHT) )
{
aNewRect.Top() += aMousePos.Y();
if ( aNewRect.GetHeight() < nMinHeight )
aNewRect.Top() = aNewRect.Bottom()-nMinHeight+1;
else if ( aNewRect.GetHeight() > nMaxHeight )
aNewRect.Top() = aNewRect.Bottom()-nMaxHeight+1;
}
else if ( maFrameData.mnHitTest & (BORDERWINDOW_HITTEST_BOTTOM | BORDERWINDOW_HITTEST_BOTTOMLEFT | BORDERWINDOW_HITTEST_BOTTOMRIGHT) )
{
aNewRect.Bottom() += aMousePos.Y();
if ( aNewRect.GetHeight() < nMinHeight )
aNewRect.Bottom() = aNewRect.Top()+nMinHeight+1;
else if ( aNewRect.GetHeight() > nMaxHeight )
aNewRect.Bottom() = aNewRect.Top()+nMaxHeight+1;
}
// call Resizing-Handler for SystemWindows
if ( pBorderWindow->ImplGetClientWindow()->IsSystemWindow() )
{
// adjust size for Resizing-call
aSize = aNewRect.GetSize();
aSize.Width() -= nBorderWidth;
aSize.Height() -= nBorderHeight;
static_cast<SystemWindow*>(pBorderWindow->ImplGetClientWindow())->Resizing( aSize );
aSize.Width() += nBorderWidth;
aSize.Height() += nBorderHeight;
if ( aSize.Width() < nMinWidth )
aSize.Width() = nMinWidth;
if ( aSize.Height() < nMinHeight )
aSize.Height() = nMinHeight;
if ( aSize.Width() > nMaxWidth )
aSize.Width() = nMaxWidth;
if ( aSize.Height() > nMaxHeight )
aSize.Height() = nMaxHeight;
if ( maFrameData.mnHitTest & (BORDERWINDOW_HITTEST_LEFT | BORDERWINDOW_HITTEST_TOPLEFT | BORDERWINDOW_HITTEST_BOTTOMLEFT) )
aNewRect.Left() = aNewRect.Right()-aSize.Width()+1;
else
aNewRect.Right() = aNewRect.Left()+aSize.Width()-1;
if ( maFrameData.mnHitTest & (BORDERWINDOW_HITTEST_TOP | BORDERWINDOW_HITTEST_TOPLEFT | BORDERWINDOW_HITTEST_TOPRIGHT) )
aNewRect.Top() = aNewRect.Bottom()-aSize.Height()+1;
else
aNewRect.Bottom() = aNewRect.Top()+aSize.Height()-1;
}
if ( maFrameData.mbDragFull )
{
// no move (only resize) if position did not change
if( aOldPos != aNewRect.TopLeft() )
pBorderWindow->setPosSizePixel( aNewRect.Left(), aNewRect.Top(),
aNewRect.GetWidth(), aNewRect.GetHeight(), PosSizeFlags::PosSize );
else
pBorderWindow->setPosSizePixel( aNewRect.Left(), aNewRect.Top(),
aNewRect.GetWidth(), aNewRect.GetHeight(), PosSizeFlags::Size );
pBorderWindow->ImplUpdateAll();
pBorderWindow->ImplGetFrameWindow()->ImplUpdateAll();
if ( maFrameData.mnHitTest & (BORDERWINDOW_HITTEST_RIGHT | BORDERWINDOW_HITTEST_TOPRIGHT | BORDERWINDOW_HITTEST_BOTTOMRIGHT) )
maFrameData.maMouseOff.X() += aNewRect.GetWidth()-nOldWidth;
if ( maFrameData.mnHitTest & (BORDERWINDOW_HITTEST_BOTTOM | BORDERWINDOW_HITTEST_BOTTOMLEFT | BORDERWINDOW_HITTEST_BOTTOMRIGHT) )
maFrameData.maMouseOff.Y() += aNewRect.GetHeight()-nOldHeight;
}
else
{
maFrameData.mnTrackX = aNewRect.Left();
maFrameData.mnTrackY = aNewRect.Top();
maFrameData.mnTrackWidth = aNewRect.GetWidth();
maFrameData.mnTrackHeight = aNewRect.GetHeight();
pBorderWindow->ShowTracking( Rectangle( pBorderWindow->ScreenToOutputPixel( aNewRect.TopLeft() ), aNewRect.GetSize() ), SHOWTRACK_BIG );
}
}
}
}
return true;
2000-09-18 16:07:07 +00:00
}
OUString ImplStdBorderWindowView::RequestHelp( const Point& rPos, Rectangle& rHelpRect )
2000-09-18 16:07:07 +00:00
{
return ImplRequestHelp( &maFrameData, rPos, rHelpRect );
}
Rectangle ImplStdBorderWindowView::GetMenuRect() const
{
return maFrameData.maMenuRect;
}
2000-09-18 16:07:07 +00:00
void ImplStdBorderWindowView::Init( OutputDevice* pDev, long nWidth, long nHeight )
{
ImplBorderFrameData* pData = &maFrameData;
ImplBorderWindow* pBorderWindow = maFrameData.mpBorderWindow;
const StyleSettings& rStyleSettings = pDev->GetSettings().GetStyleSettings();
DecorationView aDecoView( pDev );
Rectangle aRect( 0, 0, 10, 10 );
Rectangle aCalcRect = aDecoView.DrawFrame( aRect, DrawFrameStyle::DoubleOut, DrawFrameFlags::NoDraw );
2000-09-18 16:07:07 +00:00
pData->mpOutDev = pDev;
pData->mnWidth = nWidth;
pData->mnHeight = nHeight;
pData->mnTitleType = pBorderWindow->mnTitleType;
pData->mbFloatWindow = pBorderWindow->mbFloatWindow;
if ( !(pBorderWindow->GetStyle() & (WB_MOVEABLE | WB_POPUP)) || (pData->mnTitleType == BORDERWINDOW_TITLE_NONE) )
2000-09-18 16:07:07 +00:00
pData->mnBorderSize = 0;
else if ( pData->mnTitleType == BORDERWINDOW_TITLE_TEAROFF )
pData->mnBorderSize = 0;
else
pData->mnBorderSize = rStyleSettings.GetBorderSize();
pData->mnLeftBorder = aCalcRect.Left();
pData->mnTopBorder = aCalcRect.Top();
pData->mnRightBorder = aRect.Right()-aCalcRect.Right();
pData->mnBottomBorder = aRect.Bottom()-aCalcRect.Bottom();
pData->mnLeftBorder += pData->mnBorderSize;
pData->mnTopBorder += pData->mnBorderSize;
pData->mnRightBorder += pData->mnBorderSize;
pData->mnBottomBorder += pData->mnBorderSize;
pData->mnNoTitleTop = pData->mnTopBorder;
ImplInitTitle(&maFrameData);
if (pData->mnTitleHeight)
2000-09-18 16:07:07 +00:00
{
// to improve symbol display force a minum title height
if( pData->mnTitleHeight < MIN_CAPTION_HEIGHT )
pData->mnTitleHeight = MIN_CAPTION_HEIGHT;
// set a proper background for drawing
// highlighted buttons in the title
pBorderWindow->SetBackground( rStyleSettings.GetFaceColor() );
2000-09-18 16:07:07 +00:00
pData->maTitleRect.Left() = pData->mnLeftBorder;
pData->maTitleRect.Right() = nWidth-pData->mnRightBorder-1;
pData->maTitleRect.Top() = pData->mnTopBorder;
pData->maTitleRect.Bottom() = pData->maTitleRect.Top()+pData->mnTitleHeight-1;
if ( pData->mnTitleType & (BORDERWINDOW_TITLE_NORMAL | BORDERWINDOW_TITLE_SMALL) )
{
long nLeft = pData->maTitleRect.Left();
long nRight = pData->maTitleRect.Right();
long nItemTop = pData->maTitleRect.Top();
long nItemBottom = pData->maTitleRect.Bottom();
nLeft += 1;
nRight -= 3;
nItemTop += 2;
nItemBottom -= 2;
if ( pBorderWindow->GetStyle() & WB_PINABLE )
{
Image aImage;
ImplGetPinImage( DrawButtonFlags::NONE, false, aImage );
2000-09-18 16:07:07 +00:00
pData->maPinRect.Top() = nItemTop;
pData->maPinRect.Bottom() = nItemBottom;
pData->maPinRect.Left() = nLeft;
pData->maPinRect.Right() = pData->maPinRect.Left()+aImage.GetSizePixel().Width();
nLeft += pData->maPinRect.GetWidth()+3;
}
if ( pBorderWindow->GetStyle() & WB_CLOSEABLE )
{
pData->maCloseRect.Top() = nItemTop;
pData->maCloseRect.Bottom() = nItemBottom;
pData->maCloseRect.Right() = nRight;
pData->maCloseRect.Left() = pData->maCloseRect.Right()-pData->maCloseRect.GetHeight()+1;
nRight -= pData->maCloseRect.GetWidth()+3;
}
if ( pBorderWindow->mbMenuBtn )
{
pData->maMenuRect.Top() = nItemTop;
pData->maMenuRect.Bottom() = nItemBottom;
pData->maMenuRect.Right() = nRight;
pData->maMenuRect.Left() = pData->maMenuRect.Right()-pData->maMenuRect.GetHeight()+1;
nRight -= pData->maMenuRect.GetWidth();
}
2000-09-18 16:07:07 +00:00
if ( pBorderWindow->mbDockBtn )
{
pData->maDockRect.Top() = nItemTop;
pData->maDockRect.Bottom() = nItemBottom;
pData->maDockRect.Right() = nRight;
pData->maDockRect.Left() = pData->maDockRect.Right()-pData->maDockRect.GetHeight()+1;
nRight -= pData->maDockRect.GetWidth();
if ( !pBorderWindow->mbHideBtn &&
!(pBorderWindow->GetStyle() & WB_ROLLABLE) )
nRight -= 3;
}
if ( pBorderWindow->mbHideBtn )
{
pData->maHideRect.Top() = nItemTop;
pData->maHideRect.Bottom() = nItemBottom;
pData->maHideRect.Right() = nRight;
pData->maHideRect.Left() = pData->maHideRect.Right()-pData->maHideRect.GetHeight()+1;
nRight -= pData->maHideRect.GetWidth();
if ( !(pBorderWindow->GetStyle() & WB_ROLLABLE) )
nRight -= 3;
}
if ( pBorderWindow->GetStyle() & WB_ROLLABLE )
{
pData->maRollRect.Top() = nItemTop;
pData->maRollRect.Bottom() = nItemBottom;
pData->maRollRect.Right() = nRight;
pData->maRollRect.Left() = pData->maRollRect.Right()-pData->maRollRect.GetHeight()+1;
nRight -= pData->maRollRect.GetWidth();
}
}
else
{
pData->maPinRect.SetEmpty();
pData->maCloseRect.SetEmpty();
pData->maDockRect.SetEmpty();
pData->maMenuRect.SetEmpty();
2000-09-18 16:07:07 +00:00
pData->maHideRect.SetEmpty();
pData->maRollRect.SetEmpty();
pData->maHelpRect.SetEmpty();
}
pData->mnTopBorder += pData->mnTitleHeight;
}
else
{
pData->maTitleRect.SetEmpty();
pData->maPinRect.SetEmpty();
pData->maCloseRect.SetEmpty();
pData->maDockRect.SetEmpty();
pData->maMenuRect.SetEmpty();
2000-09-18 16:07:07 +00:00
pData->maHideRect.SetEmpty();
pData->maRollRect.SetEmpty();
pData->maHelpRect.SetEmpty();
}
}
void ImplStdBorderWindowView::GetBorder( sal_Int32& rLeftBorder, sal_Int32& rTopBorder,
sal_Int32& rRightBorder, sal_Int32& rBottomBorder ) const
2000-09-18 16:07:07 +00:00
{
rLeftBorder = maFrameData.mnLeftBorder;
rTopBorder = maFrameData.mnTopBorder;
rRightBorder = maFrameData.mnRightBorder;
rBottomBorder = maFrameData.mnBottomBorder;
}
long ImplStdBorderWindowView::CalcTitleWidth() const
{
return ImplCalcTitleWidth( &maFrameData );
}
void ImplStdBorderWindowView::DrawWindow(vcl::RenderContext& rRenderContext, sal_uInt16 nDrawFlags, const Point* pOffset)
2000-09-18 16:07:07 +00:00
{
ImplBorderFrameData* pData = &maFrameData;
ImplBorderWindow* pBorderWindow = pData->mpBorderWindow;
Point aTmpPoint = pOffset ? Point(*pOffset) : Point();
Rectangle aInRect( aTmpPoint, Size( pData->mnWidth, pData->mnHeight ) );
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
DecorationView aDecoView(&rRenderContext);
Color aFaceColor(rStyleSettings.GetFaceColor());
Color aFrameColor(aFaceColor);
aFrameColor.DecreaseContrast(sal_uInt8(0.5 * 255));
2000-09-18 16:07:07 +00:00
// Draw Frame
if (nDrawFlags & BORDERWINDOW_DRAW_FRAME)
{
vcl::Region oldClipRgn(rRenderContext.GetClipRegion());
// for popups, don't draw part of the frame
if (pData->mnTitleType == BORDERWINDOW_TITLE_POPUP)
{
FloatingWindow* pWin = dynamic_cast<FloatingWindow*>(pData->mpBorderWindow->GetWindow(GetWindowType::Client));
if (pWin)
{
vcl::Region aClipRgn(aInRect);
Rectangle aItemClipRect(pWin->ImplGetItemEdgeClipRect());
if (!aItemClipRect.IsEmpty())
{
aItemClipRect.SetPos(pData->mpBorderWindow->AbsoluteScreenToOutputPixel(aItemClipRect.TopLeft()));
aClipRgn.Exclude(aItemClipRect);
rRenderContext.SetClipRegion(aClipRgn);
}
}
}
// single line frame
rRenderContext.SetLineColor(aFrameColor);
rRenderContext.SetFillColor();
rRenderContext.DrawRect(aInRect);
++aInRect.Left();
--aInRect.Right();
++aInRect.Top();
--aInRect.Bottom();
// restore
if (pData->mnTitleType == BORDERWINDOW_TITLE_POPUP)
rRenderContext.SetClipRegion(oldClipRgn);
}
2000-09-18 16:07:07 +00:00
else
aInRect = aDecoView.DrawFrame(aInRect, DrawFrameStyle::DoubleOut, DrawFrameFlags::NoDraw);
2000-09-18 16:07:07 +00:00
// Draw Border
rRenderContext.SetLineColor();
2000-09-18 16:07:07 +00:00
long nBorderSize = pData->mnBorderSize;
if ((nDrawFlags & BORDERWINDOW_DRAW_BORDER) && nBorderSize)
2000-09-18 16:07:07 +00:00
{
rRenderContext.SetFillColor(rStyleSettings.GetFaceColor());
rRenderContext.DrawRect(Rectangle(Point(aInRect.Left(), aInRect.Top()),
Size(aInRect.GetWidth(), nBorderSize)));
rRenderContext.DrawRect(Rectangle(Point(aInRect.Left(), aInRect.Top() + nBorderSize),
Size(nBorderSize, aInRect.GetHeight() - nBorderSize)));
rRenderContext.DrawRect(Rectangle(Point(aInRect.Left(), aInRect.Bottom() - nBorderSize + 1),
Size(aInRect.GetWidth(), nBorderSize)));
rRenderContext.DrawRect(Rectangle(Point(aInRect.Right()-nBorderSize + 1, aInRect.Top() + nBorderSize),
Size(nBorderSize, aInRect.GetHeight() - nBorderSize)));
2000-09-18 16:07:07 +00:00
}
// Draw Title
if ((nDrawFlags & BORDERWINDOW_DRAW_TITLE) && !pData->maTitleRect.IsEmpty())
2000-09-18 16:07:07 +00:00
{
aInRect = pData->maTitleRect;
// use no gradient anymore, just a static titlecolor
if (pData->mnTitleType != BORDERWINDOW_TITLE_POPUP)
rRenderContext.SetFillColor(aFrameColor);
else
rRenderContext.SetFillColor(aFaceColor);
rRenderContext.SetTextColor(rStyleSettings.GetButtonTextColor());
Rectangle aTitleRect(pData->maTitleRect);
if(pOffset)
aTitleRect.Move(pOffset->X(), pOffset->Y());
rRenderContext.DrawRect(aTitleRect);
2000-09-18 16:07:07 +00:00
if (pData->mnTitleType != BORDERWINDOW_TITLE_TEAROFF)
2000-09-18 16:07:07 +00:00
{
aInRect.Left() += 2;
aInRect.Right() -= 2;
if (!pData->maPinRect.IsEmpty())
aInRect.Left() = pData->maPinRect.Right() + 2;
if (!pData->maHelpRect.IsEmpty())
aInRect.Right() = pData->maHelpRect.Left() - 2;
else if (!pData->maRollRect.IsEmpty())
aInRect.Right() = pData->maRollRect.Left() - 2;
else if (!pData->maHideRect.IsEmpty())
aInRect.Right() = pData->maHideRect.Left() - 2;
else if (!pData->maDockRect.IsEmpty())
aInRect.Right() = pData->maDockRect.Left() - 2;
else if (!pData->maMenuRect.IsEmpty())
aInRect.Right() = pData->maMenuRect.Left() - 2;
else if (!pData->maCloseRect.IsEmpty())
aInRect.Right() = pData->maCloseRect.Left() - 2;
if (pOffset)
aInRect.Move(pOffset->X(), pOffset->Y());
DrawTextFlags nTextStyle = DrawTextFlags::Left | DrawTextFlags::VCenter | DrawTextFlags::EndEllipsis | DrawTextFlags::Clip;
// must show tooltip ?
TextRectInfo aInfo;
rRenderContext.GetTextRect(aInRect, pBorderWindow->GetText(), nTextStyle, &aInfo);
pData->mbTitleClipped = aInfo.IsEllipses();
rRenderContext.DrawText(aInRect, pBorderWindow->GetText(), nTextStyle);
2000-09-18 16:07:07 +00:00
}
}
if (((nDrawFlags & BORDERWINDOW_DRAW_CLOSE) || (nDrawFlags & BORDERWINDOW_DRAW_TITLE))
&& !pData->maCloseRect.IsEmpty())
{
Rectangle aSymbolRect(pData->maCloseRect);
if (pOffset)
aSymbolRect.Move(pOffset->X(), pOffset->Y());
ImplDrawBrdWinSymbolButton(&rRenderContext, aSymbolRect, SymbolType::CLOSE, pData->mnCloseState);
}
if (((nDrawFlags & BORDERWINDOW_DRAW_DOCK) || (nDrawFlags & BORDERWINDOW_DRAW_TITLE))
&& !pData->maDockRect.IsEmpty())
{
Rectangle aSymbolRect(pData->maDockRect);
if (pOffset)
aSymbolRect.Move(pOffset->X(), pOffset->Y());
ImplDrawBrdWinSymbolButton(&rRenderContext, aSymbolRect, SymbolType::DOCK, pData->mnDockState);
}
if (((nDrawFlags & BORDERWINDOW_DRAW_MENU) || (nDrawFlags & BORDERWINDOW_DRAW_TITLE))
&& !pData->maMenuRect.IsEmpty())
{
Rectangle aSymbolRect(pData->maMenuRect);
if (pOffset)
aSymbolRect.Move(pOffset->X(), pOffset->Y());
ImplDrawBrdWinSymbolButton(&rRenderContext, aSymbolRect, SymbolType::MENU, pData->mnMenuState);
}
if (((nDrawFlags & BORDERWINDOW_DRAW_HIDE) || (nDrawFlags & BORDERWINDOW_DRAW_TITLE))
&& !pData->maHideRect.IsEmpty())
{
Rectangle aSymbolRect(pData->maHideRect);
if (pOffset)
aSymbolRect.Move(pOffset->X(), pOffset->Y());
ImplDrawBrdWinSymbolButton(&rRenderContext, aSymbolRect, SymbolType::HIDE, pData->mnHideState);
}
if (((nDrawFlags & BORDERWINDOW_DRAW_ROLL) || (nDrawFlags & BORDERWINDOW_DRAW_TITLE))
&& !pData->maRollRect.IsEmpty())
2000-09-18 16:07:07 +00:00
{
SymbolType eType;
if (pBorderWindow->mbRollUp)
eType = SymbolType::ROLLDOWN;
2000-09-18 16:07:07 +00:00
else
eType = SymbolType::ROLLUP;
Rectangle aSymbolRect(pData->maRollRect);
if (pOffset)
aSymbolRect.Move(pOffset->X(), pOffset->Y());
ImplDrawBrdWinSymbolButton(&rRenderContext, aSymbolRect, eType, pData->mnRollState);
2000-09-18 16:07:07 +00:00
}
if (((nDrawFlags & BORDERWINDOW_DRAW_HELP) || (nDrawFlags & BORDERWINDOW_DRAW_TITLE))
&& !pData->maHelpRect.IsEmpty())
{
Rectangle aSymbolRect(pData->maHelpRect);
if (pOffset)
aSymbolRect.Move(pOffset->X(), pOffset->Y());
ImplDrawBrdWinSymbolButton(&rRenderContext, aSymbolRect, SymbolType::HELP, pData->mnHelpState);
}
if (((nDrawFlags & BORDERWINDOW_DRAW_PIN) || (nDrawFlags & BORDERWINDOW_DRAW_TITLE))
&& !pData->maPinRect.IsEmpty())
2000-09-18 16:07:07 +00:00
{
Image aImage;
ImplGetPinImage(pData->mnPinState, pBorderWindow->mbPinned, aImage);
2000-09-18 16:07:07 +00:00
Size aImageSize = aImage.GetSizePixel();
long nRectHeight = pData->maPinRect.GetHeight();
Point aPos(pData->maPinRect.TopLeft());
if (pOffset)
aPos.Move(pOffset->X(), pOffset->Y());
if (nRectHeight < aImageSize.Height())
2000-09-18 16:07:07 +00:00
{
rRenderContext.DrawImage(aPos, Size( aImageSize.Width(), nRectHeight ), aImage);
2000-09-18 16:07:07 +00:00
}
else
{
aPos.Y() += (nRectHeight-aImageSize.Height()) / 2;
rRenderContext.DrawImage(aPos, aImage);
2000-09-18 16:07:07 +00:00
}
}
}
void ImplBorderWindow::ImplInit( vcl::Window* pParent,
WinBits nStyle, sal_uInt16 nTypeStyle,
const ::com::sun::star::uno::Any& )
2000-09-18 16:07:07 +00:00
{
ImplInit( pParent, nStyle, nTypeStyle, NULL );
}
void ImplBorderWindow::ImplInit( vcl::Window* pParent,
WinBits nStyle, sal_uInt16 nTypeStyle,
2000-09-18 16:07:07 +00:00
SystemParentData* pSystemParentData
)
{
// remove all unwanted WindowBits
2000-09-18 16:07:07 +00:00
WinBits nOrgStyle = nStyle;
WinBits nTestStyle = (WB_MOVEABLE | WB_SIZEABLE | WB_ROLLABLE | WB_PINABLE | WB_CLOSEABLE | WB_STANDALONE | WB_DIALOGCONTROL | WB_NODIALOGCONTROL | WB_SYSTEMFLOATWIN | WB_INTROWIN | WB_DEFAULTWIN | WB_TOOLTIPWIN | WB_NOSHADOW | WB_OWNERDRAWDECORATION | WB_SYSTEMCHILDWINDOW | WB_NEEDSFOCUS | WB_POPUP);
2000-09-18 16:07:07 +00:00
if ( nTypeStyle & BORDERWINDOW_STYLE_APP )
nTestStyle |= WB_APP;
nStyle &= nTestStyle;
mpWindowImpl->mbBorderWin = true;
mbSmallOutBorder = false;
2000-09-18 16:07:07 +00:00
if ( nTypeStyle & BORDERWINDOW_STYLE_FRAME )
{
if( (nStyle & WB_SYSTEMCHILDWINDOW) )
{
mpWindowImpl->mbOverlapWin = true;
mpWindowImpl->mbFrame = true;
mbFrameBorder = false;
}
else if( (nStyle & (WB_OWNERDRAWDECORATION | WB_POPUP)) )
{
mpWindowImpl->mbOverlapWin = true;
mpWindowImpl->mbFrame = true;
mbFrameBorder = (nOrgStyle & WB_NOBORDER) == 0;
}
else
{
mpWindowImpl->mbOverlapWin = true;
mpWindowImpl->mbFrame = true;
mbFrameBorder = false;
// closeable windows may have a border as well, eg. system floating windows without caption
if ( (nOrgStyle & (WB_BORDER | WB_NOBORDER | WB_MOVEABLE | WB_SIZEABLE/* | WB_CLOSEABLE*/)) == WB_BORDER )
mbSmallOutBorder = true;
}
2000-09-18 16:07:07 +00:00
}
else if ( nTypeStyle & BORDERWINDOW_STYLE_OVERLAP )
{
mpWindowImpl->mbOverlapWin = true;
mbFrameBorder = true;
2000-09-18 16:07:07 +00:00
}
else
mbFrameBorder = false;
2000-09-18 16:07:07 +00:00
if ( nTypeStyle & BORDERWINDOW_STYLE_FLOAT )
mbFloatWindow = true;
2000-09-18 16:07:07 +00:00
else
mbFloatWindow = false;
2000-09-18 16:07:07 +00:00
Window::ImplInit( pParent, nStyle, pSystemParentData );
SetBackground();
SetTextFillColor();
mpMenuBarWindow = NULL;
mnMinWidth = 0;
mnMinHeight = 0;
mnMaxWidth = SHRT_MAX;
mnMaxHeight = SHRT_MAX;
2000-09-18 16:07:07 +00:00
mnRollHeight = 0;
mnOrgMenuHeight = 0;
mbPinned = false;
mbRollUp = false;
mbMenuHide = false;
mbDockBtn = false;
mbMenuBtn = false;
mbHideBtn = false;
2000-09-18 16:07:07 +00:00
mbDisplayActive = IsActive();
if ( nTypeStyle & BORDERWINDOW_STYLE_FLOAT )
mnTitleType = BORDERWINDOW_TITLE_SMALL;
else
mnTitleType = BORDERWINDOW_TITLE_NORMAL;
mnBorderStyle = WindowBorderStyle::NORMAL;
2000-09-18 16:07:07 +00:00
InitView();
}
ImplBorderWindow::ImplBorderWindow( vcl::Window* pParent,
2000-09-18 16:07:07 +00:00
SystemParentData* pSystemParentData,
WinBits nStyle, sal_uInt16 nTypeStyle
2000-09-18 16:07:07 +00:00
) : Window( WINDOW_BORDERWINDOW )
{
ImplInit( pParent, nStyle, nTypeStyle, pSystemParentData );
}
ImplBorderWindow::ImplBorderWindow( vcl::Window* pParent, WinBits nStyle ,
sal_uInt16 nTypeStyle ) :
2000-09-18 16:07:07 +00:00
Window( WINDOW_BORDERWINDOW )
{
ImplInit( pParent, nStyle, nTypeStyle, ::com::sun::star::uno::Any() );
}
ImplBorderWindow::~ImplBorderWindow()
{
disposeOnce();
}
void ImplBorderWindow::dispose()
2000-09-18 16:07:07 +00:00
{
delete mpBorderView;
mpBorderView = NULL;
vclwidget: change all vcl::window fields to be wrapped in VclPtr and update the VclWidget clang plugin to - warn about unconverted fields - .clear() all VclPtr fields in dispose() methods Change-Id: I6e657c215bc6807efd992555399b3b1fc16c89b5 2 1 accessibility/inc/accessibility/extended/accessibleiconchoicectrlentry.hxx 2 1 accessibility/inc/accessibility/extended/accessibletabbarbase.hxx 1 1 accessibility/inc/accessibility/extended/accessibletablistbox.hxx 1 1 accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx 3 2 accessibility/inc/accessibility/extended/listboxaccessible.hxx 1 1 accessibility/inc/accessibility/extended/textwindowaccessibility.hxx 2 1 accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx 2 1 accessibility/inc/accessibility/standard/vclxaccessiblestatusbar.hxx 4 4 accessibility/inc/accessibility/standard/vclxaccessiblestatusbaritem.hxx 2 1 accessibility/inc/accessibility/standard/vclxaccessibletabcontrol.hxx 2 1 accessibility/inc/accessibility/standard/vclxaccessibletabpage.hxx 3 2 accessibility/inc/accessibility/standard/vclxaccessibletabpagewindow.hxx 7 6 accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx 3 3 accessibility/source/extended/AccessibleToolPanelDeck.cxx 2 2 accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx 2 2 accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx 1 1 accessibility/source/extended/accessibleiconchoicectrlentry.cxx 3 3 accessibility/source/extended/textwindowaccessibility.cxx 3 3 accessibility/source/standard/vclxaccessibleradiobutton.cxx 1 1 accessibility/source/standard/vclxaccessibletabpagewindow.cxx 1 1 avmedia/inc/mediacontrol.hxx 1 2 avmedia/source/framework/mediacontrol.cxx 1 1 avmedia/source/framework/mediaplayer.cxx 7 7 avmedia/source/viewer/mediaevent_impl.cxx 2 1 avmedia/source/viewer/mediaevent_impl.hxx 1 2 avmedia/source/viewer/mediawindow_impl.cxx 1 1 avmedia/source/viewer/mediawindow_impl.hxx 1 1 basctl/source/basicide/basicrenderable.hxx 1 0 basctl/source/basicide/baside2.cxx 7 5 basctl/source/basicide/baside2.hxx 13 2 basctl/source/basicide/baside2b.cxx 3 3 basctl/source/basicide/baside3.cxx 14 14 basctl/source/basicide/basides1.cxx 4 4 basctl/source/basicide/basides2.cxx 2 2 basctl/source/basicide/basides3.cxx 6 6 basctl/source/basicide/basidesh.cxx 14 1 basctl/source/basicide/bastypes.cxx 15 0 basctl/source/basicide/brkdlg.cxx 8 6 basctl/source/basicide/brkdlg.hxx 11 0 basctl/source/basicide/layout.cxx 5 2 basctl/source/basicide/layout.hxx 11 0 basctl/source/basicide/linenumberwindow.cxx 3 1 basctl/source/basicide/linenumberwindow.hxx 14 0 basctl/source/basicide/macrodlg.cxx 15 15 basctl/source/basicide/macrodlg.hxx 45 1 basctl/source/basicide/moduldl2.cxx 32 1 basctl/source/basicide/moduldlg.cxx 36 26 basctl/source/basicide/moduldlg.hxx 20 0 basctl/source/dlged/managelang.cxx 2 1 basctl/source/inc/accessibledialogcontrolshape.hxx 2 1 basctl/source/inc/accessibledialogwindow.hxx 2 2 basctl/source/inc/baside3.hxx 4 4 basctl/source/inc/basidesh.hxx 5 4 basctl/source/inc/bastypes.hxx 3 2 basctl/source/inc/dlged.hxx 12 10 basctl/source/inc/managelang.hxx 1 1 chart2/inc/ChartModel.hxx 2 1 chart2/source/controller/accessibility/AccessibleViewForwarder.hxx 2 2 chart2/source/controller/dialogs/ChartTypeDialogController.hxx 1 2 chart2/source/controller/dialogs/dlg_ChartType.cxx 2 10 chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx 1 0 chart2/source/controller/dialogs/dlg_DataEditor.cxx 4 6 chart2/source/controller/dialogs/dlg_DataSource.cxx 17 0 chart2/source/controller/dialogs/dlg_InsertAxis_Grid.cxx 6 8 chart2/source/controller/dialogs/dlg_View3D.cxx 2 2 chart2/source/controller/dialogs/res_BarGeometry.hxx 19 19 chart2/source/controller/dialogs/res_DataLabel.hxx 23 23 chart2/source/controller/dialogs/res_Trendline.hxx 14 0 chart2/source/controller/dialogs/tp_3D_SceneAppearance.cxx 6 4 chart2/source/controller/dialogs/tp_3D_SceneAppearance.hxx 18 0 chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx 9 7 chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx 14 1 chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx 16 16 chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx 17 0 chart2/source/controller/dialogs/tp_AxisLabel.cxx 17 17 chart2/source/controller/dialogs/tp_AxisLabel.hxx 24 0 chart2/source/controller/dialogs/tp_AxisPositions.cxx 20 18 chart2/source/controller/dialogs/tp_AxisPositions.hxx 44 19 chart2/source/controller/dialogs/tp_ChartType.cxx 3 3 chart2/source/controller/dialogs/tp_ChartType.hxx 28 0 chart2/source/controller/dialogs/tp_DataSource.cxx 22 20 chart2/source/controller/dialogs/tp_DataSource.hxx 12 0 chart2/source/controller/dialogs/tp_LegendPosition.cxx 3 1 chart2/source/controller/dialogs/tp_LegendPosition.hxx 16 0 chart2/source/controller/dialogs/tp_PolarOptions.cxx 8 6 chart2/source/controller/dialogs/tp_PolarOptions.hxx 24 0 chart2/source/controller/dialogs/tp_RangeChooser.cxx 15 13 chart2/source/controller/dialogs/tp_RangeChooser.hxx 35 0 chart2/source/controller/dialogs/tp_Scale.cxx 34 32 chart2/source/controller/dialogs/tp_Scale.hxx 24 0 chart2/source/controller/dialogs/tp_SeriesToAxis.cxx 19 17 chart2/source/controller/dialogs/tp_SeriesToAxis.hxx 7 0 chart2/source/controller/dialogs/tp_TitleRotation.cxx 7 7 chart2/source/controller/dialogs/tp_TitleRotation.hxx 13 0 chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.cxx 5 3 chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.hxx 1 1 chart2/source/controller/inc/dlg_ChartType.hxx 1 1 chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx 1 1 chart2/source/controller/inc/dlg_DataEditor.hxx 4 4 chart2/source/controller/inc/dlg_DataSource.hxx 8 6 chart2/source/controller/inc/dlg_InsertAxis_Grid.hxx 4 4 chart2/source/controller/inc/dlg_View3D.hxx 27 27 chart2/source/controller/inc/res_ErrorBar.hxx 5 5 chart2/source/controller/inc/res_LegendPosition.hxx 14 14 chart2/source/controller/inc/res_Titles.hxx 1 1 chart2/source/controller/main/ChartController.hxx 2 3 chart2/source/controller/main/ChartWindow.cxx 1 1 chart2/source/controller/main/ChartWindow.hxx 6 6 chart2/source/controller/main/ShapeController.cxx 1 1 chart2/source/view/charttypes/GL3DBarChart.cxx 1 1 chart2/source/view/inc/GL3DBarChart.hxx 1 1 chart2/source/view/main/ChartView.cxx 155 50 compilerplugins/clang/vclwidgets.cxx 23 0 cui/source/customize/acccfg.cxx 95 20 cui/source/customize/cfg.cxx 1 0 cui/source/customize/cfgutil.cxx 1 0 cui/source/customize/eventdlg.cxx 1 1 cui/source/customize/eventdlg.hxx 12 0 cui/source/customize/macropg.cxx 8 6 cui/source/customize/macropg_impl.hxx 17 0 cui/source/customize/selector.cxx 20 0 cui/source/dialogs/SpellDialog.cxx 17 0 cui/source/dialogs/about.cxx 56 26 cui/source/dialogs/colorpicker.cxx 19 0 cui/source/dialogs/cuicharmap.cxx 29 1 cui/source/dialogs/cuifmsearch.cxx 84 2 cui/source/dialogs/cuigaldlg.cxx 72 0 cui/source/dialogs/cuigrfflt.cxx 15 0 cui/source/dialogs/cuiimapwnd.cxx 11 0 cui/source/dialogs/cuitbxform.cxx 41 0 cui/source/dialogs/dlgname.cxx 79 5 cui/source/dialogs/hangulhanjadlg.cxx 5 0 cui/source/dialogs/hldocntp.cxx 15 0 cui/source/dialogs/hldoctp.cxx 20 1 cui/source/dialogs/hlinettp.cxx 14 0 cui/source/dialogs/hlmailtp.cxx 15 0 cui/source/dialogs/hlmarkwn.cxx 9 5 cui/source/dialogs/hltpbase.cxx 18 0 cui/source/dialogs/hyphen.cxx 18 2 cui/source/dialogs/iconcdlg.cxx 45 0 cui/source/dialogs/insdlg.cxx 13 0 cui/source/dialogs/insrc.cxx 20 0 cui/source/dialogs/linkdlg.cxx 13 8 cui/source/dialogs/multipat.cxx 12 0 cui/source/dialogs/newtabledlg.cxx 9 9 cui/source/dialogs/passwdomdlg.cxx 13 0 cui/source/dialogs/pastedlg.cxx 7 0 cui/source/dialogs/postdlg.cxx 18 0 cui/source/dialogs/scriptdlg.cxx 11 0 cui/source/dialogs/showcols.cxx 14 0 cui/source/dialogs/splitcelldlg.cxx 25 0 cui/source/dialogs/srchxtra.cxx 39 0 cui/source/dialogs/thesdlg.cxx 13 0 cui/source/dialogs/zoom.cxx 29 0 cui/source/factory/cuiexp.cxx 0 2 cui/source/factory/dlgfact.cxx 2 3 cui/source/factory/dlgfact.hxx 3 1 cui/source/inc/ControlFocusHelper.hxx 20 20 cui/source/inc/SpellDialog.hxx 9 7 cui/source/inc/about.hxx 14 12 cui/source/inc/acccfg.hxx 26 26 cui/source/inc/align.hxx 62 52 cui/source/inc/autocdlg.hxx 29 29 cui/source/inc/backgrnd.hxx 34 32 cui/source/inc/border.hxx 44 33 cui/source/inc/cfg.hxx 1 1 cui/source/inc/cfgutil.hxx 95 85 cui/source/inc/chardlg.hxx 14 12 cui/source/inc/connect.hxx 12 10 cui/source/inc/cuicharmap.hxx 27 27 cui/source/inc/cuifmsearch.hxx 41 29 cui/source/inc/cuigaldlg.hxx 24 10 cui/source/inc/cuigrfflt.hxx 1 1 cui/source/inc/cuihyperdlg.hxx 7 5 cui/source/inc/cuiimapwnd.hxx 3 1 cui/source/inc/cuioptgenrl.hxx 3 1 cui/source/inc/cuisrchdlg.hxx 145 135 cui/source/inc/cuitabarea.hxx 57 53 cui/source/inc/cuitabline.hxx 3 1 cui/source/inc/cuitbxform.hxx 5 5 cui/source/inc/dbregister.hxx 17 12 cui/source/inc/dlgname.hxx 15 11 cui/source/inc/dstribut.hxx 21 21 cui/source/inc/grfpage.hxx 49 43 cui/source/inc/hangulhanjadlg.hxx 5 5 cui/source/inc/hldocntp.hxx 7 5 cui/source/inc/hldoctp.hxx 11 9 cui/source/inc/hlinettp.hxx 6 4 cui/source/inc/hlmailtp.hxx 7 5 cui/source/inc/hlmarkwn.hxx 7 7 cui/source/inc/hltpbase.hxx 10 8 cui/source/inc/hyphen.hxx 14 12 cui/source/inc/iconcdlg.hxx 29 25 cui/source/inc/insdlg.hxx 5 3 cui/source/inc/insrc.hxx 12 10 cui/source/inc/labdlg.hxx 12 10 cui/source/inc/linkdlg.hxx 19 17 cui/source/inc/measure.hxx 6 6 cui/source/inc/multipat.hxx 4 2 cui/source/inc/newtabledlg.hxx 30 30 cui/source/inc/numfmt.hxx 64 64 cui/source/inc/numpages.hxx 13 13 cui/source/inc/optasian.hxx 17 13 cui/source/inc/optdict.hxx 18 18 cui/source/inc/optlingu.hxx 4 4 cui/source/inc/optpath.hxx 29 29 cui/source/inc/page.hxx 71 59 cui/source/inc/paragrph.hxx 6 4 cui/source/inc/pastedlg.hxx 7 7 cui/source/inc/postdlg.hxx 11 9 cui/source/inc/scriptdlg.hxx 9 7 cui/source/inc/selector.hxx 4 2 cui/source/inc/showcols.hxx 6 4 cui/source/inc/splitcelldlg.hxx 10 6 cui/source/inc/srchxtra.hxx 28 26 cui/source/inc/swpossizetabpage.hxx 29 27 cui/source/inc/tabstpge.hxx 20 17 cui/source/inc/textanim.hxx 19 16 cui/source/inc/textattr.hxx 15 8 cui/source/inc/thesdlg.hxx 34 28 cui/source/inc/transfrm.hxx 5 5 cui/source/inc/treeopt.hxx 13 13 cui/source/inc/zoom.hxx 4 2 cui/source/options/certpath.cxx 4 4 cui/source/options/certpath.hxx 17 0 cui/source/options/connpooloptions.cxx 10 8 cui/source/options/connpooloptions.hxx 11 0 cui/source/options/cuisrchdlg.cxx 5 2 cui/source/options/dbregister.cxx 14 0 cui/source/options/doclinkdialog.cxx 6 4 cui/source/options/doclinkdialog.hxx 10 2 cui/source/options/fontsubs.cxx 12 12 cui/source/options/fontsubs.hxx 26 0 cui/source/options/optaboutconfig.cxx 10 6 cui/source/options/optaboutconfig.hxx 9 0 cui/source/options/optaccessibility.cxx 9 9 cui/source/options/optaccessibility.hxx 13 0 cui/source/options/optasian.cxx 16 0 cui/source/options/optbasic.cxx 8 6 cui/source/options/optbasic.hxx 5 0 cui/source/options/optchart.cxx 5 5 cui/source/options/optchart.hxx 29 32 cui/source/options/optcolor.cxx 4 4 cui/source/options/optcolor.hxx 16 0 cui/source/options/optctl.cxx 8 6 cui/source/options/optctl.hxx 31 0 cui/source/options/optdict.cxx 21 2 cui/source/options/optfltr.cxx 12 10 cui/source/options/optfltr.hxx 54 0 cui/source/options/optgdlg.cxx 47 45 cui/source/options/optgdlg.hxx 12 2 cui/source/options/optgenrl.cxx 26 0 cui/source/options/opthtml.cxx 18 16 cui/source/options/opthtml.hxx 45 4 cui/source/options/optinet2.cxx 37 35 cui/source/options/optinet2.hxx 29 6 cui/source/options/optjava.cxx 23 21 cui/source/options/optjava.hxx 28 0 cui/source/options/optjsearch.cxx 22 20 cui/source/options/optjsearch.hxx 31 4 cui/source/options/optlingu.cxx 17 0 cui/source/options/optmemory.cxx 9 7 cui/source/options/optmemory.hxx 44 5 cui/source/options/optopencl.cxx 21 20 cui/source/options/optopencl.hxx 4 2 cui/source/options/optpath.cxx 17 0 cui/source/options/optsave.cxx 19 19 cui/source/options/optsave.hxx 19 0 cui/source/options/optupdt.cxx 12 10 cui/source/options/optupdt.hxx 39 0 cui/source/options/personalization.cxx 20 16 cui/source/options/personalization.hxx 18 0 cui/source/options/securityoptions.cxx 10 8 cui/source/options/securityoptions.hxx 11 10 cui/source/options/treeopt.cxx 4 2 cui/source/options/webconninfo.cxx 4 4 cui/source/options/webconninfo.hxx 24 0 cui/source/tabpages/align.cxx 106 7 cui/source/tabpages/autocdlg.cxx 27 0 cui/source/tabpages/backgrnd.cxx 34 0 cui/source/tabpages/border.cxx 115 1 cui/source/tabpages/chardlg.cxx 22 0 cui/source/tabpages/connect.cxx 32 0 cui/source/tabpages/dstribut.cxx 18 0 cui/source/tabpages/grfpage.cxx 20 0 cui/source/tabpages/labdlg.cxx 10 10 cui/source/tabpages/macroass.cxx 25 0 cui/source/tabpages/measure.cxx 25 1 cui/source/tabpages/numfmt.cxx 60 1 cui/source/tabpages/numpages.cxx 29 0 cui/source/tabpages/page.cxx 99 0 cui/source/tabpages/paragrph.cxx 37 0 cui/source/tabpages/swpossizetabpage.cxx 34 1 cui/source/tabpages/tabstpge.cxx 26 0 cui/source/tabpages/textanim.cxx 24 0 cui/source/tabpages/textattr.cxx 72 0 cui/source/tabpages/tparea.cxx 14 1 cui/source/tabpages/tpbitmap.cxx 28 4 cui/source/tabpages/tpcolor.cxx 28 0 cui/source/tabpages/tpgradnt.cxx 21 0 cui/source/tabpages/tphatch.cxx 29 0 cui/source/tabpages/tpline.cxx 25 0 cui/source/tabpages/tplnedef.cxx 18 0 cui/source/tabpages/tplneend.cxx 17 0 cui/source/tabpages/tpshadow.cxx 58 0 cui/source/tabpages/transfrm.cxx 42 0 dbaccess/source/ext/macromigration/macromigrationpages.cxx 20 14 dbaccess/source/ext/macromigration/macromigrationpages.hxx 1 1 dbaccess/source/ext/macromigration/rangeprogressbar.hxx 0 1 dbaccess/source/ui/app/AppDetailPageHelper.cxx 2 1 dbaccess/source/ui/app/AppDetailView.cxx 2 2 dbaccess/source/ui/app/AppDetailView.hxx 1 1 dbaccess/source/ui/app/AppTitleWindow.cxx 1 1 dbaccess/source/ui/app/AppTitleWindow.hxx 4 10 dbaccess/source/ui/app/AppView.cxx 4 4 dbaccess/source/ui/app/AppView.hxx 1 0 dbaccess/source/ui/app/subcomponentmanager.cxx 7 16 dbaccess/source/ui/browser/brwview.cxx 1 2 dbaccess/source/ui/browser/dbtreeview.cxx 1 1 dbaccess/source/ui/browser/dbtreeview.hxx 10 0 dbaccess/source/ui/browser/genericcontroller.cxx 68 41 dbaccess/source/ui/control/FieldDescControl.cxx 2 2 dbaccess/source/ui/control/TableGrantCtrl.cxx 3 1 dbaccess/source/ui/control/VertSplitView.cxx 3 3 dbaccess/source/ui/control/curledit.cxx 1 0 dbaccess/source/ui/control/sqledit.cxx 16 0 dbaccess/source/ui/dlg/CollectionView.cxx 4 8 dbaccess/source/ui/dlg/ConnectionHelper.cxx 4 5 dbaccess/source/ui/dlg/ConnectionHelper.hxx 19 0 dbaccess/source/ui/dlg/ConnectionPage.cxx 13 11 dbaccess/source/ui/dlg/ConnectionPage.hxx 12 0 dbaccess/source/ui/dlg/ConnectionPageSetup.cxx 4 2 dbaccess/source/ui/dlg/ConnectionPageSetup.hxx 113 1 dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx 61 48 dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx 2 1 dbaccess/source/ui/dlg/DbAdminImpl.hxx 13 0 dbaccess/source/ui/dlg/QueryPropertiesDialog.cxx 20 0 dbaccess/source/ui/dlg/RelationDlg.cxx 30 1 dbaccess/source/ui/dlg/TextConnectionHelper.cxx 21 19 dbaccess/source/ui/dlg/TextConnectionHelper.hxx 19 5 dbaccess/source/ui/dlg/UserAdmin.cxx 4 4 dbaccess/source/ui/dlg/UserAdmin.hxx 22 0 dbaccess/source/ui/dlg/admincontrols.cxx 14 13 dbaccess/source/ui/dlg/admincontrols.hxx 1 1 dbaccess/source/ui/dlg/adminpages.hxx 6 0 dbaccess/source/ui/dlg/adtabdlg.cxx 57 31 dbaccess/source/ui/dlg/advancedsettings.cxx 28 28 dbaccess/source/ui/dlg/advancedsettings.hxx 19 0 dbaccess/source/ui/dlg/dbfindex.cxx 11 9 dbaccess/source/ui/dlg/dbfindex.hxx 7 4 dbaccess/source/ui/dlg/dbwizsetup.cxx 86 16 dbaccess/source/ui/dlg/detailpages.cxx 45 35 dbaccess/source/ui/dlg/detailpages.hxx 7 0 dbaccess/source/ui/dlg/directsql.cxx 8 8 dbaccess/source/ui/dlg/dlgsave.cxx 13 0 dbaccess/source/ui/dlg/dlgsize.cxx 14 0 dbaccess/source/ui/dlg/dsselect.cxx 6 5 dbaccess/source/ui/dlg/dsselect.hxx 30 0 dbaccess/source/ui/dlg/generalpage.cxx 15 11 dbaccess/source/ui/dlg/generalpage.hxx 9 0 dbaccess/source/ui/dlg/indexdialog.cxx 2 2 dbaccess/source/ui/dlg/indexfieldscontrol.cxx 5 0 dbaccess/source/ui/dlg/paramdialog.cxx 21 0 dbaccess/source/ui/dlg/queryfilter.cxx 18 0 dbaccess/source/ui/dlg/queryorder.cxx 9 2 dbaccess/source/ui/dlg/sqlmessage.cxx 3 0 dbaccess/source/ui/dlg/tablespage.cxx 3 3 dbaccess/source/ui/dlg/tablespage.hxx 11 0 dbaccess/source/ui/dlg/textconnectionsettings.cxx 8 7 dbaccess/source/ui/inc/CollectionView.hxx 2 1 dbaccess/source/ui/inc/ConnectionLine.hxx 2 1 dbaccess/source/ui/inc/ConnectionLineAccess.hxx 35 35 dbaccess/source/ui/inc/FieldDescControl.hxx 2 1 dbaccess/source/ui/inc/JAccess.hxx 1 1 dbaccess/source/ui/inc/JoinController.hxx 2 2 dbaccess/source/ui/inc/JoinDesignView.hxx 13 13 dbaccess/source/ui/inc/JoinTableView.hxx 1 1 dbaccess/source/ui/inc/QueryDesignView.hxx 5 4 dbaccess/source/ui/inc/QueryPropertiesDialog.hxx 1 1 dbaccess/source/ui/inc/QueryTextView.hxx 2 2 dbaccess/source/ui/inc/QueryViewSwitch.hxx 3 3 dbaccess/source/ui/inc/RelationControl.hxx 11 9 dbaccess/source/ui/inc/RelationDlg.hxx 1 1 dbaccess/source/ui/inc/RelationTableView.hxx 1 1 dbaccess/source/ui/inc/TableConnection.hxx 1 1 dbaccess/source/ui/inc/TableDesignHelpBar.hxx 3 3 dbaccess/source/ui/inc/TableDesignView.hxx 2 1 dbaccess/source/ui/inc/TableFieldDescription.hxx 2 2 dbaccess/source/ui/inc/TableGrantCtrl.hxx 1 1 dbaccess/source/ui/inc/TableWindow.hxx 2 1 dbaccess/source/ui/inc/TableWindowAccess.hxx 2 2 dbaccess/source/ui/inc/TableWindowListBox.hxx 1 1 dbaccess/source/ui/inc/TableWindowTitle.hxx 1 1 dbaccess/source/ui/inc/TokenWriter.hxx 3 3 dbaccess/source/ui/inc/VertSplitView.hxx 13 11 dbaccess/source/ui/inc/WCPage.hxx 6 6 dbaccess/source/ui/inc/WColumnSelect.hxx 5 5 dbaccess/source/ui/inc/WCopyTable.hxx 12 11 dbaccess/source/ui/inc/WNameMatch.hxx 3 1 dbaccess/source/ui/inc/WTabPage.hxx 13 9 dbaccess/source/ui/inc/WTypeSelect.hxx 6 6 dbaccess/source/ui/inc/adtabdlg.hxx 5 5 dbaccess/source/ui/inc/brwview.hxx 1 1 dbaccess/source/ui/inc/curledit.hxx 4 3 dbaccess/source/ui/inc/datasourceconnector.hxx 3 3 dbaccess/source/ui/inc/dbwizsetup.hxx 7 7 dbaccess/source/ui/inc/directsql.hxx 4 2 dbaccess/source/ui/inc/dlgsize.hxx 9 9 dbaccess/source/ui/inc/indexdialog.hxx 2 2 dbaccess/source/ui/inc/indexfieldscontrol.hxx 2 1 dbaccess/source/ui/inc/linkeddocuments.hxx 5 5 dbaccess/source/ui/inc/paramdialog.hxx 2 2 dbaccess/source/ui/inc/querycontainerwindow.hxx 13 11 dbaccess/source/ui/inc/queryfilter.hxx 10 8 dbaccess/source/ui/inc/queryorder.hxx 1 1 dbaccess/source/ui/inc/sqledit.hxx 3 1 dbaccess/source/ui/inc/textconnectionsettings.hxx 2 1 dbaccess/source/ui/inc/undosqledit.hxx 5 5 dbaccess/source/ui/inc/unodatbr.hxx 1 1 dbaccess/source/ui/misc/ToolBoxHelper.cxx 23 0 dbaccess/source/ui/misc/WCPage.cxx 17 0 dbaccess/source/ui/misc/WColumnSelect.cxx 5 5 dbaccess/source/ui/misc/WCopyTable.cxx 20 0 dbaccess/source/ui/misc/WNameMatch.cxx 41 13 dbaccess/source/ui/misc/WTypeSelect.cxx 1 0 dbaccess/source/ui/misc/singledoccontroller.cxx 5 4 dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx 1 1 dbaccess/source/ui/querydesign/JoinController.cxx 2 4 dbaccess/source/ui/querydesign/JoinDesignView.cxx 25 25 dbaccess/source/ui/querydesign/JoinTableView.cxx 1 1 dbaccess/source/ui/querydesign/QTableWindow.cxx 1 1 dbaccess/source/ui/querydesign/QueryDesignFieldUndoAct.hxx 2 1 dbaccess/source/ui/querydesign/QueryDesignUndoAction.hxx 29 30 dbaccess/source/ui/querydesign/QueryDesignView.cxx 1 1 dbaccess/source/ui/querydesign/QueryMoveTabWinUndoAct.hxx 1 1 dbaccess/source/ui/querydesign/QuerySizeTabWinUndoAct.hxx 9 9 dbaccess/source/ui/querydesign/QueryTabConnUndoAction.cxx 1 1 dbaccess/source/ui/querydesign/QueryTabConnUndoAction.hxx 3 5 dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx 3 3 dbaccess/source/ui/querydesign/QueryTabWinUndoAct.hxx 24 30 dbaccess/source/ui/querydesign/QueryTableView.cxx 1 2 dbaccess/source/ui/querydesign/QueryTextView.cxx 12 10 dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx 6 6 dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx 1 1 dbaccess/source/ui/querydesign/TableConnection.cxx 1 0 dbaccess/source/ui/querydesign/TableFieldDescription.cxx 2 3 dbaccess/source/ui/querydesign/TableWindow.cxx 4 4 dbaccess/source/ui/querydesign/TableWindowAccess.cxx 1 1 dbaccess/source/ui/querydesign/TableWindowListBox.cxx 3 5 dbaccess/source/ui/querydesign/TableWindowTitle.cxx 1 2 dbaccess/source/ui/querydesign/limitboxcontroller.cxx 2 1 dbaccess/source/ui/querydesign/limitboxcontroller.hxx 2 3 dbaccess/source/ui/querydesign/querycontainerwindow.cxx 5 0 dbaccess/source/ui/querydesign/querydlg.cxx 5 5 dbaccess/source/ui/querydesign/querydlg.hxx 3 2 dbaccess/source/ui/relationdesign/RelationTableView.cxx 1 2 dbaccess/source/ui/tabledesign/FieldDescGenWin.cxx 1 1 dbaccess/source/ui/tabledesign/FieldDescGenWin.hxx 5 4 dbaccess/source/ui/tabledesign/TEditControl.cxx 6 6 dbaccess/source/ui/tabledesign/TEditControl.hxx 1 2 dbaccess/source/ui/tabledesign/TableDesignHelpBar.cxx 3 14 dbaccess/source/ui/tabledesign/TableDesignView.cxx 3 12 dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx 3 3 dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx 4 3 dbaccess/source/ui/tabledesign/TableUndo.hxx 1 1 dbaccess/source/ui/uno/DBTypeWizDlgSetup.cxx 3 3 dbaccess/source/ui/uno/composerdialogs.cxx 1 1 dbaccess/source/ui/uno/copytablewizard.cxx 4 4 desktop/source/app/cmdlinehelp.hxx 10 0 desktop/source/deployment/gui/dp_gui_dependencydialog.cxx 3 1 desktop/source/deployment/gui/dp_gui_dependencydialog.hxx 36 7 desktop/source/deployment/gui/dp_gui_dialog2.cxx 22 20 desktop/source/deployment/gui/dp_gui_dialog2.hxx 3 11 desktop/source/deployment/gui/dp_gui_extlistbox.cxx 3 3 desktop/source/deployment/gui/dp_gui_extlistbox.hxx 5 12 desktop/source/deployment/gui/dp_gui_theextmgr.cxx 3 3 desktop/source/deployment/gui/dp_gui_theextmgr.hxx 15 1 desktop/source/deployment/gui/dp_gui_updatedialog.cxx 15 15 desktop/source/deployment/gui/dp_gui_updatedialog.hxx 7 0 desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx 7 7 desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx 22 7 desktop/source/deployment/gui/license_dialog.cxx 2 1 editeng/source/editeng/impedit.hxx 2 1 editeng/source/editeng/textconv.hxx 1 1 editeng/source/misc/hangulhanja.cxx 2 2 editeng/source/misc/splwrap.cxx 6 0 extensions/source/abpilot/abpfinalpage.cxx 7 6 extensions/source/abpilot/abpfinalpage.hxx 2 1 extensions/source/abpilot/admininvokationimpl.hxx 10 1 extensions/source/abpilot/admininvokationpage.cxx 4 3 extensions/source/abpilot/admininvokationpage.hxx 12 0 extensions/source/abpilot/fieldmappingpage.cxx 5 3 extensions/source/abpilot/fieldmappingpage.hxx 10 0 extensions/source/abpilot/tableselectionpage.cxx 4 2 extensions/source/abpilot/tableselectionpage.hxx 11 0 extensions/source/abpilot/typeselectionpage.cxx 13 12 extensions/source/abpilot/typeselectionpage.hxx 1 1 extensions/source/abpilot/unodialogabp.cxx 4 3 extensions/source/bibliography/bibbeam.cxx 2 2 extensions/source/bibliography/bibbeam.hxx 5 2 extensions/source/bibliography/bibcont.cxx 2 2 extensions/source/bibliography/bibcont.hxx 1 0 extensions/source/bibliography/bibmod.cxx 1 1 extensions/source/bibliography/bibshortcuthandler.hxx 18 9 extensions/source/bibliography/bibview.cxx 23 11 extensions/source/bibliography/bibview.hxx 85 35 extensions/source/bibliography/datman.cxx 3 2 extensions/source/bibliography/datman.hxx 1 0 extensions/source/bibliography/framectr.cxx 55 7 extensions/source/bibliography/general.cxx 57 41 extensions/source/bibliography/general.hxx 1 0 extensions/source/bibliography/toolbar.cxx 2 2 extensions/source/bibliography/toolbar.hxx 39 0 extensions/source/dbpilots/commonpagesdbp.cxx 17 11 extensions/source/dbpilots/commonpagesdbp.hxx 12 0 extensions/source/dbpilots/controlwizard.cxx 7 6 extensions/source/dbpilots/controlwizard.hxx 15 0 extensions/source/dbpilots/gridwizard.cxx 8 6 extensions/source/dbpilots/gridwizard.hxx 48 2 extensions/source/dbpilots/groupboxwiz.cxx 18 10 extensions/source/dbpilots/groupboxwiz.hxx 33 0 extensions/source/dbpilots/listcombowizard.cxx 12 6 extensions/source/dbpilots/listcombowizard.hxx 7 6 extensions/source/plugin/inc/plugin/plctrl.hxx 3 4 extensions/source/propctrlr/browserline.cxx 4 4 extensions/source/propctrlr/browserline.hxx 2 2 extensions/source/propctrlr/browserview.cxx 1 1 extensions/source/propctrlr/browserview.hxx 2 7 extensions/source/propctrlr/commoncontrol.cxx 1 1 extensions/source/propctrlr/commoncontrol.hxx 1 1 extensions/source/propctrlr/controlfontdialog.cxx 25 2 extensions/source/propctrlr/formlinkdialog.cxx 6 5 extensions/source/propctrlr/formlinkdialog.hxx 11 0 extensions/source/propctrlr/listselectiondlg.cxx 3 1 extensions/source/propctrlr/listselectiondlg.hxx 11 0 extensions/source/propctrlr/newdatatype.cxx 4 2 extensions/source/propctrlr/newdatatype.hxx 1 0 extensions/source/propctrlr/propcontroller.cxx 2 2 extensions/source/propctrlr/propcontroller.hxx 1 5 extensions/source/propctrlr/propertyeditor.cxx 1 1 extensions/source/propctrlr/propertyeditor.hxx 3 0 extensions/source/propctrlr/selectlabeldialog.cxx 3 3 extensions/source/propctrlr/selectlabeldialog.hxx 5 11 extensions/source/propctrlr/standardcontrol.cxx 2 2 extensions/source/propctrlr/standardcontrol.hxx 5 0 extensions/source/propctrlr/taborder.cxx 5 5 extensions/source/propctrlr/taborder.hxx 14 0 extensions/source/scanner/grid.cxx 6 5 extensions/source/scanner/grid.hxx 31 1 extensions/source/scanner/sanedlg.cxx 24 24 extensions/source/scanner/sanedlg.hxx 13 0 filter/source/flash/impswfdialog.cxx 9 8 filter/source/flash/impswfdialog.hxx 1 1 filter/source/flash/swfdialog.cxx 122 2 filter/source/pdf/impdialog.cxx 99 93 filter/source/pdf/impdialog.hxx 1 1 filter/source/pdf/pdfdialog.cxx 2 2 filter/source/pdf/pdffilter.cxx 1 1 filter/source/svg/svgdialog.cxx 3 7 filter/source/xsltdialog/xmlfilterdialogcomponent.cxx 29 2 filter/source/xsltdialog/xmlfiltersettingsdialog.cxx 17 13 filter/source/xsltdialog/xmlfiltersettingsdialog.hxx 4 2 filter/source/xsltdialog/xmlfiltertabdialog.cxx 4 4 filter/source/xsltdialog/xmlfiltertabdialog.hxx 12 0 filter/source/xsltdialog/xmlfiltertabpagebasic.cxx 6 5 filter/source/xsltdialog/xmlfiltertabpagebasic.hxx 14 0 filter/source/xsltdialog/xmlfiltertabpagexslt.cxx 9 8 filter/source/xsltdialog/xmlfiltertabpagexslt.hxx 15 1 filter/source/xsltdialog/xmlfiltertestdialog.cxx 15 15 filter/source/xsltdialog/xmlfiltertestdialog.hxx 8 11 forms/source/richtext/richtextimplcontrol.cxx 7 7 forms/source/richtext/richtextimplcontrol.hxx 2 8 forms/source/solar/control/navtoolbar.cxx 2 2 forms/source/solar/inc/navtoolbar.hxx 10 8 formula/source/ui/dlg/ControlHelper.hxx 33 33 formula/source/ui/dlg/formula.cxx 12 0 formula/source/ui/dlg/funcpage.cxx 4 2 formula/source/ui/dlg/funcpage.hxx 39 16 formula/source/ui/dlg/funcutl.cxx 20 0 formula/source/ui/dlg/parawin.cxx 25 25 formula/source/ui/dlg/parawin.hxx 11 0 formula/source/ui/dlg/structpg.cxx 3 1 formula/source/ui/dlg/structpg.hxx 1 1 fpicker/source/office/OfficeControlAccess.hxx 6 8 fpicker/source/office/PlacesListBox.cxx 6 6 fpicker/source/office/PlacesListBox.hxx 5 3 fpicker/source/office/QueryFolderName.hxx 3 2 fpicker/source/office/asyncfilepicker.hxx 3 7 fpicker/source/office/commonpicker.cxx 2 1 fpicker/source/office/commonpicker.hxx 34 9 fpicker/source/office/iodlg.cxx 11 11 fpicker/source/office/iodlg.hxx 3 2 fpicker/source/office/iodlgimp.cxx 25 27 fpicker/source/office/iodlgimp.hxx 2 4 framework/inc/classes/fwktabwindow.hxx 2 1 framework/inc/dispatch/closedispatcher.hxx 1 1 framework/inc/helper/vclstatusindicator.hxx 4 3 framework/inc/uielement/buttontoolbarcontroller.hxx 1 1 framework/inc/uielement/comboboxtoolbarcontroller.hxx 3 2 framework/inc/uielement/complextoolbarcontroller.hxx 2 1 framework/inc/uielement/dropdownboxtoolbarcontroller.hxx 1 1 framework/inc/uielement/edittoolbarcontroller.hxx 6 5 framework/inc/uielement/generictoolbarcontroller.hxx 2 1 framework/inc/uielement/spinfieldtoolbarcontroller.hxx 2 1 framework/inc/uielement/statusbaritem.hxx 6 5 framework/inc/uielement/statusbarmanager.hxx 1 1 framework/inc/uielement/toolbarmanager.hxx 1 1 framework/inc/uielement/toolbarmerger.hxx 1 2 framework/source/helper/vclstatusindicator.cxx 4 4 framework/source/services/tabwindowservice.cxx 1 1 framework/source/uielement/buttontoolbarcontroller.cxx 1 3 framework/source/uielement/comboboxtoolbarcontroller.cxx 1 1 framework/source/uielement/complextoolbarcontroller.cxx 1 3 framework/source/uielement/dropdownboxtoolbarcontroller.cxx 1 3 framework/source/uielement/edittoolbarcontroller.cxx 1 1 framework/source/uielement/generictoolbarcontroller.cxx 1 3 framework/source/uielement/spinfieldtoolbarcontroller.cxx 25 26 framework/source/uielement/statusbarmanager.cxx 4 4 framework/source/uielement/toolbarmanager.cxx 2 1 include/dbaccess/ToolBoxHelper.hxx 4 3 include/dbaccess/genericcontroller.hxx 2 1 include/editeng/splwrap.hxx 4 2 include/formula/funcutl.hxx 6 10 include/sfx2/basedlgs.hxx 5 3 include/sfx2/checkin.hxx 4 4 include/sfx2/childwin.hxx 46 40 include/sfx2/dinfdlg.hxx 2 3 include/sfx2/fcontnr.hxx 2 1 include/sfx2/frame.hxx 8 9 include/sfx2/infobar.hxx 1 1 include/sfx2/ipclient.hxx 12 12 include/sfx2/mgetempl.hxx 2 2 include/sfx2/newstyle.hxx 16 14 include/sfx2/passwd.hxx 22 21 include/sfx2/printopt.hxx 1 1 include/sfx2/prnmon.hxx 2 1 include/sfx2/sidebar/SidebarPanelBase.hxx 3 3 include/sfx2/stbitem.hxx 10 10 include/sfx2/tabdlg.hxx 10 10 include/sfx2/templatedlg.hxx 4 4 include/sfx2/templateinfodlg.hxx 1 1 include/sfx2/thumbnailview.hxx 1 1 include/sfx2/thumbnailviewitem.hxx 2 1 include/sfx2/viewsh.hxx 5 4 include/svtools/GraphicExportOptionsDialog.hxx 7 6 include/svtools/PlaceEditDialog.hxx 13 13 include/svtools/ServerDetailsControls.hxx 2 1 include/svtools/accessibleruler.hxx 4 4 include/svtools/addresstemplate.hxx 8 8 include/svtools/brwbox.hxx 4 1 include/svtools/brwhead.hxx 4 4 include/svtools/calendar.hxx 4 4 include/svtools/colrdlg.hxx 5 5 include/svtools/editbrowsebox.hxx 3 1 include/svtools/fileview.hxx 2 2 include/svtools/generictoolboxcontroller.hxx 2 1 include/svtools/genericunodialog.hxx 7 7 include/svtools/prnsetup.hxx 3 1 include/svtools/simptabl.hxx 2 0 include/svtools/tabbar.hxx 2 2 include/svtools/treelistbox.hxx 6 7 include/svtools/wizardmachine.hxx 5 5 include/svtools/wizdlg.hxx 2 1 include/svx/AccessibleShapeTreeInfo.hxx 25 25 include/svx/bmpmask.hxx 18 16 include/svx/compressgraphicdialog.hxx 4 2 include/svx/contdlg.hxx 29 27 include/svx/ctredlin.hxx 1 1 include/svx/dialcontrol.hxx 5 5 include/svx/fillctrl.hxx 1 1 include/svx/fmshell.hxx 7 3 include/svx/fontworkgallery.hxx 16 16 include/svx/hdft.hxx 9 9 include/svx/imapdlg.hxx 1 1 include/svx/lboxctrl.hxx 1 1 include/svx/linkwarn.hxx 21 19 include/svx/optgrid.hxx 8 6 include/svx/passwd.hxx 24 22 include/svx/rubydialog.hxx 1 1 include/svx/ruler.hxx 2 1 include/svx/sidebar/Popup.hxx 50 50 include/svx/srchdlg.hxx 2 2 include/svx/svdedxv.hxx 2 2 include/svx/svdpntv.hxx 4 3 include/svx/tbxcolorupdate.hxx 3 2 include/tools/errinf.hxx 9 11 include/vcl/builder.hxx 2 2 include/vcl/button.hxx 3 3 include/vcl/combobox.hxx 2 2 include/vcl/controllayout.hxx 2 1 include/vcl/cursor.hxx 1 1 include/vcl/dialog.hxx 7 7 include/vcl/dockwin.hxx 2 1 include/vcl/event.hxx 1 1 include/vcl/field.hxx 1 1 include/vcl/fixed.hxx 2 2 include/vcl/floatwin.hxx 1 1 include/vcl/fltcall.hxx 17 13 include/vcl/layout.hxx 4 4 include/vcl/lstbox.hxx 1 1 include/vcl/menu.hxx 8 8 include/vcl/msgbox.hxx 4 4 include/vcl/opengl/OpenGLContext.hxx 1 1 include/vcl/seleng.hxx 1 1 include/vcl/split.hxx 1 1 include/vcl/syswin.hxx 2 2 include/vcl/tabdlg.hxx 1 1 include/vcl/tabpage.hxx 1 1 include/vcl/taskpanelist.hxx 2 2 include/vcl/toolbox.hxx 4 3 include/vcl/vclevent.hxx 39 1 include/vcl/vclptr.hxx 1 1 include/vcl/waitobj.hxx 2 2 include/vcl/window.hxx 8 1 reportdesign/source/ui/dlg/AddField.cxx 9 0 reportdesign/source/ui/dlg/CondFormat.cxx 14 3 reportdesign/source/ui/dlg/Condition.cxx 16 16 reportdesign/source/ui/dlg/Condition.hxx 13 0 reportdesign/source/ui/dlg/DateTime.cxx 2 0 reportdesign/source/ui/dlg/Formula.cxx 58 17 reportdesign/source/ui/dlg/GroupsSorting.cxx 1 1 reportdesign/source/ui/dlg/Navigator.cxx 12 0 reportdesign/source/ui/dlg/PageNumber.cxx 6 6 reportdesign/source/ui/inc/CondFormat.hxx 8 7 reportdesign/source/ui/inc/DateTime.hxx 4 4 reportdesign/source/ui/inc/DesignView.hxx 3 3 reportdesign/source/ui/inc/Formula.hxx 10 10 reportdesign/source/ui/inc/GroupsSorting.hxx 7 6 reportdesign/source/ui/inc/PageNumber.hxx 1 1 reportdesign/source/ui/inc/ReportController.hxx 1 1 reportdesign/source/ui/inc/ReportSection.hxx 4 4 reportdesign/source/ui/inc/ReportWindow.hxx 1 1 reportdesign/source/ui/inc/ScrollHelper.hxx 2 2 reportdesign/source/ui/inc/SectionView.hxx 1 1 reportdesign/source/ui/inc/SectionWindow.hxx 1 1 reportdesign/source/ui/inc/StartMarker.hxx 6 6 reportdesign/source/ui/inc/ViewsWindow.hxx 1 1 reportdesign/source/ui/inc/dlgedfunc.hxx 1 1 reportdesign/source/ui/inc/propbrw.hxx 9 3 reportdesign/source/ui/report/DesignView.cxx 1 0 reportdesign/source/ui/report/ReportSection.cxx 2 0 reportdesign/source/ui/report/ReportWindow.cxx 1 0 reportdesign/source/ui/report/ScrollHelper.cxx 1 0 reportdesign/source/ui/report/SectionWindow.cxx 1 0 reportdesign/source/ui/report/StartMarker.cxx 1 0 reportdesign/source/ui/report/ViewsWindow.cxx 1 0 reportdesign/source/ui/report/propbrw.cxx 2 1 sc/inc/AccessibleFilterMenu.hxx 2 1 sc/inc/AccessibleFilterMenuItem.hxx 2 2 sc/inc/scmod.hxx 2 1 sc/inc/scopetools.hxx 1 1 sc/inc/waitoff.hxx 12 12 sc/source/ui/Accessibility/AccessibleText.cxx 12 1 sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx 9 1 sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx 9 1 sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx 25 3 sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx 22 3 sc/source/ui/StatisticsDialogs/SamplingDialog.cxx 18 1 sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx 22 2 sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx 5 0 sc/source/ui/app/inputhdl.cxx 7 7 sc/source/ui/app/scmod.cxx 2 4 sc/source/ui/attrdlg/scdlgfact.hxx 30 0 sc/source/ui/attrdlg/scuiexp.cxx 14 0 sc/source/ui/attrdlg/tabpages.cxx 18 0 sc/source/ui/cctrl/checklistmenu.cxx 23 0 sc/source/ui/condformat/colorformat.cxx 24 0 sc/source/ui/condformat/condformatdlg.cxx 4 1 sc/source/ui/condformat/condformatmgr.cxx 37 3 sc/source/ui/dbgui/PivotLayoutDialog.cxx 10 2 sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx 1 1 sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx 17 0 sc/source/ui/dbgui/consdlg.cxx 13 0 sc/source/ui/dbgui/dapidata.cxx 23 0 sc/source/ui/dbgui/dapitype.cxx 15 0 sc/source/ui/dbgui/dbnamdlg.cxx 39 0 sc/source/ui/dbgui/dpgroupdlg.cxx 32 0 sc/source/ui/dbgui/filtdlg.cxx 18 0 sc/source/ui/dbgui/pfiltdlg.cxx 78 0 sc/source/ui/dbgui/pvfundlg.cxx 18 0 sc/source/ui/dbgui/scendlg.cxx 22 0 sc/source/ui/dbgui/scuiasciiopt.cxx 12 0 sc/source/ui/dbgui/scuiimoptdlg.cxx 19 0 sc/source/ui/dbgui/sfiltdlg.cxx 13 0 sc/source/ui/dbgui/sortdlg.cxx 11 0 sc/source/ui/dbgui/subtdlg.cxx 12 0 sc/source/ui/dbgui/textimportoptions.cxx 26 4 sc/source/ui/dbgui/tpsort.cxx 18 0 sc/source/ui/dbgui/tpsubt.cxx 59 0 sc/source/ui/dbgui/validate.cxx 1 1 sc/source/ui/dialogs/searchresults.cxx 3 3 sc/source/ui/docshell/tablink.cxx 10 0 sc/source/ui/docshell/tpstat.cxx 0 2 sc/source/ui/drawfunc/fupoor.cxx 1 0 sc/source/ui/formdlg/dwfunctr.cxx 2 1 sc/source/ui/inc/AccessibleCsvControl.hxx 1 1 sc/source/ui/inc/AccessibleEditObject.hxx 2 2 sc/source/ui/inc/AccessibleText.hxx 5 4 sc/source/ui/inc/AnalysisOfVarianceDialog.hxx 2 1 sc/source/ui/inc/ExponentialSmoothingDialog.hxx 2 1 sc/source/ui/inc/MovingAverageDialog.hxx 28 27 sc/source/ui/inc/PivotLayoutDialog.hxx 2 1 sc/source/ui/inc/PivotLayoutTreeListBase.hxx 16 15 sc/source/ui/inc/RandomNumberGeneratorDialog.hxx 15 14 sc/source/ui/inc/SamplingDialog.hxx 11 10 sc/source/ui/inc/StatisticsInputOutputDialog.hxx 14 13 sc/source/ui/inc/StatisticsTwoVariableDialog.hxx 4 4 sc/source/ui/inc/acredlin.hxx 9 9 sc/source/ui/inc/anyrefdg.hxx 12 12 sc/source/ui/inc/areasdlg.hxx 8 5 sc/source/ui/inc/checklistmenu.hxx 15 14 sc/source/ui/inc/colorformat.hxx 11 8 sc/source/ui/inc/condformatdlg.hxx 4 4 sc/source/ui/inc/condformatmgr.hxx 6 5 sc/source/ui/inc/conflictsdlg.hxx 17 17 sc/source/ui/inc/consdlg.hxx 2 1 sc/source/ui/inc/content.hxx 9 2 sc/source/ui/inc/corodlg.hxx 6 4 sc/source/ui/inc/crdlg.hxx 13 12 sc/source/ui/inc/crnrdlg.hxx 5 3 sc/source/ui/inc/dapidata.hxx 12 11 sc/source/ui/inc/dapitype.hxx 10 9 sc/source/ui/inc/datafdlg.hxx 19 17 sc/source/ui/inc/datastreamdlg.hxx 18 18 sc/source/ui/inc/dbnamdlg.hxx 6 4 sc/source/ui/inc/delcldlg.hxx 10 9 sc/source/ui/inc/delcodlg.hxx 28 27 sc/source/ui/inc/dpgroupdlg.hxx 1 1 sc/source/ui/inc/dwfunctr.hxx 21 20 sc/source/ui/inc/filldlg.hxx 60 60 sc/source/ui/inc/filtdlg.hxx 12 12 sc/source/ui/inc/foptmgr.hxx 2 2 sc/source/ui/inc/fupoor.hxx 2 2 sc/source/ui/inc/gridwin.hxx 3 3 sc/source/ui/inc/groupdlg.hxx 8 8 sc/source/ui/inc/highred.hxx 5 4 sc/source/ui/inc/inputhdl.hxx 5 4 sc/source/ui/inc/inscldlg.hxx 26 26 sc/source/ui/inc/inscodlg.hxx 13 13 sc/source/ui/inc/instbdlg.hxx 3 1 sc/source/ui/inc/lbseldlg.hxx 8 7 sc/source/ui/inc/linkarea.hxx 4 2 sc/source/ui/inc/mtrindlg.hxx 8 7 sc/source/ui/inc/mvtabdlg.hxx 6 5 sc/source/ui/inc/namecrea.hxx 13 12 sc/source/ui/inc/namedefdlg.hxx 14 14 sc/source/ui/inc/namedlg.hxx 4 4 sc/source/ui/inc/namepast.hxx 1 1 sc/source/ui/inc/navipi.hxx 4 4 sc/source/ui/inc/notemark.hxx 5 5 sc/source/ui/inc/opredlin.hxx 67 60 sc/source/ui/inc/optsolver.hxx 21 21 sc/source/ui/inc/pfiltdlg.hxx 5 5 sc/source/ui/inc/prevwsh.hxx 8 7 sc/source/ui/inc/protectiondlg.hxx 46 42 sc/source/ui/inc/pvfundlg.hxx 1 1 sc/source/ui/inc/reffact.hxx 14 12 sc/source/ui/inc/retypepassdlg.hxx 10 9 sc/source/ui/inc/scendlg.hxx 22 22 sc/source/ui/inc/scuiasciiopt.hxx 15 13 sc/source/ui/inc/scuiautofmt.hxx 12 12 sc/source/ui/inc/scuiimoptdlg.hxx 22 21 sc/source/ui/inc/scuitphfedit.hxx 1 1 sc/source/ui/inc/searchresults.hxx 3 3 sc/source/ui/inc/sharedocdlg.hxx 4 2 sc/source/ui/inc/shtabdlg.hxx 6 5 sc/source/ui/inc/simpref.hxx 11 7 sc/source/ui/inc/solveroptions.hxx 11 10 sc/source/ui/inc/solvrdlg.hxx 5 3 sc/source/ui/inc/sortdlg.hxx 6 6 sc/source/ui/inc/sortkeydlg.hxx 4 3 sc/source/ui/inc/strindlg.hxx 3 1 sc/source/ui/inc/subtdlg.hxx 8 3 sc/source/ui/inc/tabbgcolordlg.hxx 13 12 sc/source/ui/inc/tabopdlg.hxx 7 4 sc/source/ui/inc/tabpages.hxx 5 5 sc/source/ui/inc/tabview.hxx 6 6 sc/source/ui/inc/textimportoptions.hxx 16 16 sc/source/ui/inc/tpcalc.hxx 3 3 sc/source/ui/inc/tpcompatibility.hxx 3 2 sc/source/ui/inc/tpdefaults.hxx 12 12 sc/source/ui/inc/tpformula.hxx 7 6 sc/source/ui/inc/tphf.hxx 5 5 sc/source/ui/inc/tpprint.hxx 17 17 sc/source/ui/inc/tpsort.hxx 5 5 sc/source/ui/inc/tpstat.hxx 13 13 sc/source/ui/inc/tpsubt.hxx 24 24 sc/source/ui/inc/tptable.hxx 12 12 sc/source/ui/inc/tpusrlst.hxx 44 44 sc/source/ui/inc/tpview.hxx 34 28 sc/source/ui/inc/validate.hxx 11 9 sc/source/ui/inc/xmlsourcedlg.hxx 4 1 sc/source/ui/miscdlgs/acredlin.cxx 8 10 sc/source/ui/miscdlgs/anyrefdg.cxx 11 0 sc/source/ui/miscdlgs/conflictsdlg.cxx 15 0 sc/source/ui/miscdlgs/crdlg.cxx 19 1 sc/source/ui/miscdlgs/crnrdlg.cxx 14 0 sc/source/ui/miscdlgs/datafdlg.cxx 27 0 sc/source/ui/miscdlgs/datastreamdlg.cxx 15 0 sc/source/ui/miscdlgs/delcldlg.cxx 19 4 sc/source/ui/miscdlgs/delcodlg.cxx 26 0 sc/source/ui/miscdlgs/filldlg.cxx 11 3 sc/source/ui/miscdlgs/groupdlg.cxx 7 1 sc/source/ui/miscdlgs/highred.cxx 14 4 sc/source/ui/miscdlgs/inscldlg.cxx 22 0 sc/source/ui/miscdlgs/inscodlg.cxx 13 0 sc/source/ui/miscdlgs/instbdlg.cxx 12 0 sc/source/ui/miscdlgs/lbseldlg.cxx 13 0 sc/source/ui/miscdlgs/linkarea.cxx 12 0 sc/source/ui/miscdlgs/mtrindlg.cxx 13 0 sc/source/ui/miscdlgs/mvtabdlg.cxx 14 0 sc/source/ui/miscdlgs/namecrea.cxx 94 1 sc/source/ui/miscdlgs/optsolver.cxx 13 0 sc/source/ui/miscdlgs/protectiondlg.cxx 24 1 sc/source/ui/miscdlgs/retypepassdlg.cxx 23 0 sc/source/ui/miscdlgs/scuiautofmt.cxx 3 1 sc/source/ui/miscdlgs/sharedocdlg.cxx 12 0 sc/source/ui/miscdlgs/shtabdlg.cxx 11 0 sc/source/ui/miscdlgs/simpref.cxx 27 0 sc/source/ui/miscdlgs/solveroptions.cxx 17 1 sc/source/ui/miscdlgs/solvrdlg.cxx 12 0 sc/source/ui/miscdlgs/strindlg.cxx 23 0 sc/source/ui/miscdlgs/tabbgcolordlg.cxx 19 0 sc/source/ui/miscdlgs/tabopdlg.cxx 21 0 sc/source/ui/namedlg/namedefdlg.cxx 14 1 sc/source/ui/namedlg/namedlg.cxx 4 1 sc/source/ui/namedlg/namepast.cxx 7 0 sc/source/ui/navipi/content.cxx 21 1 sc/source/ui/optdlg/calcoptionsdlg.cxx 17 16 sc/source/ui/optdlg/calcoptionsdlg.hxx 10 0 sc/source/ui/optdlg/opredlin.cxx 16 0 sc/source/ui/optdlg/tpcalc.cxx 7 0 sc/source/ui/optdlg/tpcompatibility.cxx 8 0 sc/source/ui/optdlg/tpdefaults.cxx 17 0 sc/source/ui/optdlg/tpformula.cxx 9 0 sc/source/ui/optdlg/tpprint.cxx 12 0 sc/source/ui/optdlg/tpusrlst.cxx 43 0 sc/source/ui/optdlg/tpview.cxx 12 0 sc/source/ui/pagedlg/areasdlg.cxx 26 0 sc/source/ui/pagedlg/scuitphfedit.cxx 8 0 sc/source/ui/pagedlg/tphf.cxx 27 0 sc/source/ui/pagedlg/tptable.cxx 14 0 sc/source/ui/sidebar/AlignmentPropertyPanel.cxx 11 9 sc/source/ui/sidebar/AlignmentPropertyPanel.hxx 10 0 sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx 7 5 sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx 12 0 sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx 8 7 sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx 4 4 sc/source/ui/vba/vbaeventshelper.cxx 14 13 sc/source/ui/view/gridwin.cxx 1 1 sc/source/ui/view/gridwin2.cxx 4 4 sc/source/ui/view/prevwsh.cxx 15 15 sc/source/ui/view/reffact.cxx 1 1 sc/source/ui/view/tabview.cxx 3 4 sc/source/ui/view/tabview5.cxx 20 1 sc/source/ui/xmlsource/xmlsourcedlg.cxx 1 1 sd/inc/Outliner.hxx 105 3 sd/source/filter/html/pubdlg.cxx 8 8 sd/source/ui/accessibility/AccessibleSlideSorterView.cxx 19 5 sd/source/ui/animations/CustomAnimationCreateDialog.cxx 2 2 sd/source/ui/animations/CustomAnimationCreateDialog.hxx 120 58 sd/source/ui/animations/CustomAnimationDialog.cxx 4 4 sd/source/ui/animations/CustomAnimationDialog.hxx 1 1 sd/source/ui/animations/CustomAnimationList.cxx 20 3 sd/source/ui/animations/CustomAnimationPane.cxx 17 17 sd/source/ui/animations/CustomAnimationPane.hxx 14 1 sd/source/ui/animations/SlideTransitionPane.cxx 13 13 sd/source/ui/animations/SlideTransitionPane.hxx 1 1 sd/source/ui/annotations/annotationtag.hxx 10 3 sd/source/ui/annotations/annotationwindow.cxx 5 4 sd/source/ui/annotations/annotationwindow.hxx 11 2 sd/source/ui/controller/slidelayoutcontroller.cxx 2 2 sd/source/ui/dlg/PaneChildWindows.cxx 17 0 sd/source/ui/dlg/PhotoAlbumDialog.cxx 13 11 sd/source/ui/dlg/PhotoAlbumDialog.hxx 13 0 sd/source/ui/dlg/RemoteDialog.cxx 5 3 sd/source/ui/dlg/RemoteDialog.hxx 1 1 sd/source/ui/dlg/RemoteDialogClientBox.hxx 20 2 sd/source/ui/dlg/animobjs.cxx 4 2 sd/source/ui/dlg/brkdlg.cxx 11 25 sd/source/ui/dlg/copydlg.cxx 29 0 sd/source/ui/dlg/custsdlg.cxx 61 61 sd/source/ui/dlg/dlgass.cxx 15 0 sd/source/ui/dlg/dlgfield.cxx 19 0 sd/source/ui/dlg/dlgsnap.cxx 47 19 sd/source/ui/dlg/headerfooterdlg.cxx 12 0 sd/source/ui/dlg/ins_paste.cxx 9 0 sd/source/ui/dlg/inspagob.cxx 16 0 sd/source/ui/dlg/layeroptionsdlg.cxx 15 0 sd/source/ui/dlg/masterlayoutdlg.cxx 9 0 sd/source/ui/dlg/morphdlg.cxx 13 3 sd/source/ui/dlg/paragr.cxx 33 0 sd/source/ui/dlg/present.cxx 26 1 sd/source/ui/dlg/prntopts.cxx 7 7 sd/source/ui/dlg/sddlgfact.cxx 1 2 sd/source/ui/dlg/sddlgfact.hxx 10 0 sd/source/ui/dlg/sdpreslt.cxx 3 1 sd/source/ui/dlg/sdtreelb.cxx 15 0 sd/source/ui/dlg/sduiexp.cxx 19 0 sd/source/ui/dlg/tpaction.cxx 42 0 sd/source/ui/dlg/tpoption.cxx 16 0 sd/source/ui/dlg/vectdlg.cxx 1 1 sd/source/ui/framework/factories/ChildWindowPane.cxx 4 8 sd/source/ui/framework/factories/FullScreenPane.cxx 1 1 sd/source/ui/framework/factories/Pane.cxx 5 3 sd/source/ui/func/fupoor.cxx 1 1 sd/source/ui/inc/AccessibleDocumentViewBase.hxx 2 1 sd/source/ui/inc/AccessibleSlideSorterView.hxx 4 4 sd/source/ui/inc/BreakDlg.hxx 2 1 sd/source/ui/inc/FormShellManager.hxx 1 1 sd/source/ui/inc/Ruler.hxx 2 2 sd/source/ui/inc/ViewShell.hxx 1 1 sd/source/ui/inc/Window.hxx 2 1 sd/source/ui/inc/WindowUpdater.hxx 23 23 sd/source/ui/inc/animobjs.hxx 11 11 sd/source/ui/inc/copydlg.hxx 21 20 sd/source/ui/inc/custsdlg.hxx 6 5 sd/source/ui/inc/dlgfield.hxx 11 9 sd/source/ui/inc/dlgsnap.hxx 2 1 sd/source/ui/inc/framework/Pane.hxx 3 3 sd/source/ui/inc/fupoor.hxx 6 6 sd/source/ui/inc/headerfooterdlg.hxx 4 2 sd/source/ui/inc/ins_paste.hxx 4 3 sd/source/ui/inc/inspagob.hxx 9 6 sd/source/ui/inc/layeroptionsdlg.hxx 7 5 sd/source/ui/inc/masterlayoutdlg.hxx 5 4 sd/source/ui/inc/morphdlg.hxx 2 2 sd/source/ui/inc/navigatr.hxx 25 23 sd/source/ui/inc/present.hxx 20 19 sd/source/ui/inc/prntopts.hxx 85 84 sd/source/ui/inc/pubdlg.hxx 6 5 sd/source/ui/inc/sdpreslt.hxx 2 2 sd/source/ui/inc/sdtreelb.hxx 1 1 sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx 16 15 sd/source/ui/inc/tpaction.hxx 32 30 sd/source/ui/inc/tpoption.hxx 11 10 sd/source/ui/inc/vectdlg.hxx 1 1 sd/source/ui/slideshow/slideshow.cxx 6 8 sd/source/ui/slideshow/slideshowimpl.cxx 6 6 sd/source/ui/slideshow/slideshowimpl.hxx 2 2 sd/source/ui/table/TableDesignPane.hxx 2 2 sd/source/ui/view/FormShellManager.cxx 1 0 sd/source/ui/view/sdruler.cxx 1 1 sd/source/ui/view/sdview2.cxx 1 0 sd/source/ui/view/sdwindow.cxx 1 1 sd/source/ui/view/viewshe2.cxx 1 1 sd/source/ui/view/viewshel.cxx 6 6 sfx2/inc/srchdlg.hxx 8 10 sfx2/source/appl/childwin.cxx 1 1 sfx2/source/appl/fileobj.hxx 2 1 sfx2/source/appl/helpinterceptor.hxx 20 4 sfx2/source/appl/impldde.cxx 2 2 sfx2/source/appl/lnkbase2.cxx 65 14 sfx2/source/appl/newhelp.cxx 33 25 sfx2/source/appl/newhelp.hxx 8 8 sfx2/source/appl/workwin.cxx 1 1 sfx2/source/control/thumbnailview.cxx 1 1 sfx2/source/control/thumbnailviewacc.cxx 3 2 sfx2/source/control/thumbnailviewacc.hxx 2 3 sfx2/source/control/thumbnailviewitem.cxx 2 0 sfx2/source/dialog/alienwarn.cxx 23 4 sfx2/source/dialog/backingwindow.cxx 29 29 sfx2/source/dialog/backingwindow.hxx 10 3 sfx2/source/dialog/basedlgs.cxx 13 0 sfx2/source/dialog/checkin.cxx 88 14 sfx2/source/dialog/dinfdlg.cxx 4 6 sfx2/source/dialog/dockwin.cxx 11 0 sfx2/source/dialog/documentfontsdialog.cxx 1 1 sfx2/source/dialog/filedlgimpl.hxx 8 23 sfx2/source/dialog/infobar.cxx 14 0 sfx2/source/dialog/inputdlg.cxx 12 0 sfx2/source/dialog/mgetempl.cxx 1 1 sfx2/source/dialog/navigat.cxx 2 0 sfx2/source/dialog/newstyle.cxx 4 4 sfx2/source/dialog/partwnd.cxx 22 0 sfx2/source/dialog/passwd.cxx 30 0 sfx2/source/dialog/printopt.cxx 2 1 sfx2/source/dialog/recfloat.cxx 4 4 sfx2/source/dialog/securitypage.cxx 11 8 sfx2/source/dialog/splitwin.cxx 6 0 sfx2/source/dialog/srchdlg.cxx 22 22 sfx2/source/dialog/tabdlg.cxx 5 1 sfx2/source/dialog/templateinfodlg.cxx 4 5 sfx2/source/dialog/templdlg.cxx 29 2 sfx2/source/dialog/versdlg.cxx 11 11 sfx2/source/doc/new.cxx 12 2 sfx2/source/doc/templatedlg.cxx 2 2 sfx2/source/inc/alienwarn.hxx 3 1 sfx2/source/inc/documentfontsdialog.hxx 6 4 sfx2/source/inc/inputdlg.hxx 1 1 sfx2/source/inc/recfloat.hxx 5 5 sfx2/source/inc/splitwin.hxx 5 5 sfx2/source/inc/templdgi.hxx 21 19 sfx2/source/inc/versdlg.hxx 6 6 sfx2/source/inc/workwin.hxx 12 12 sfx2/source/sidebar/FocusManager.cxx 5 5 sfx2/source/sidebar/FocusManager.hxx 15 4 sfx2/source/sidebar/PanelTitleBar.cxx 3 1 sfx2/source/sidebar/PanelTitleBar.hxx 1 1 sfx2/source/sidebar/SidebarChildWindow.cxx 9 9 sfx2/source/sidebar/SidebarController.cxx 2 2 sfx2/source/sidebar/SidebarController.hxx 6 10 sfx2/source/sidebar/SidebarPanelBase.cxx 1 1 sfx2/source/statbar/stbitem.cxx 1 1 sfx2/source/toolbox/imgmgr.cxx 11 15 sfx2/source/toolbox/tbxitem.cxx 1 1 sfx2/source/view/frame.cxx 1 1 sfx2/source/view/frame2.cxx 7 7 sfx2/source/view/impframe.hxx 2 2 sfx2/source/view/impviewframe.hxx 1 1 sfx2/source/view/printer.cxx 1 1 sfx2/source/view/sfxbasecontroller.cxx 2 2 sfx2/source/view/viewfrm.cxx 2 2 sfx2/source/view/viewprn.cxx 2 2 starmath/inc/ElementsDockingWindow.hxx 85 71 starmath/inc/dialog.hxx 3 3 starmath/inc/edit.hxx 3 3 starmath/inc/toolbox.hxx 1 1 starmath/inc/view.hxx 2 1 starmath/source/ElementsDockingWindow.cxx 2 2 starmath/source/accessibility.hxx 141 0 starmath/source/dialog.cxx 4 6 starmath/source/edit.cxx 4 4 starmath/source/toolbox.cxx 1 1 starmath/source/view.cxx 1 1 svtools/inc/vclxaccessibleheaderbar.hxx 2 1 svtools/inc/vclxaccessibleheaderbaritem.hxx 14 14 svtools/source/brwbox/brwbox1.cxx 16 16 svtools/source/brwbox/brwbox2.cxx 12 0 svtools/source/brwbox/brwhead.cxx 12 0 svtools/source/brwbox/datwin.cxx 6 4 svtools/source/brwbox/datwin.hxx 1 1 svtools/source/brwbox/ebbcontrols.cxx 4 2 svtools/source/brwbox/editbrowsebox.cxx 15 4 svtools/source/contnr/fileview.cxx 2 2 svtools/source/contnr/imivctl.hxx 2 2 svtools/source/contnr/imivctl1.cxx 11 0 svtools/source/contnr/simptabl.cxx 1 1 svtools/source/contnr/svtabbx.cxx 1 1 svtools/source/contnr/treelistbox.cxx 15 27 svtools/source/control/calendar.cxx 4 4 svtools/source/control/inettbc.cxx 2 2 svtools/source/control/roadmap.cxx 21 15 svtools/source/control/tabbar.cxx 6 6 svtools/source/control/toolbarmenu.cxx 1 1 svtools/source/control/toolbarmenuimp.hxx 1 1 svtools/source/control/valueacc.cxx 2 2 svtools/source/control/valueimp.hxx 16 0 svtools/source/dialogs/PlaceEditDialog.cxx 4 0 svtools/source/dialogs/addresstemplate.cxx 1 0 svtools/source/dialogs/colrdlg.cxx 8 0 svtools/source/dialogs/prnsetup.cxx 11 4 svtools/source/dialogs/restartdialog.cxx 1 6 svtools/source/dialogs/roadmapwizard.cxx 5 5 svtools/source/dialogs/wizardmachine.cxx 6 2 svtools/source/dialogs/wizdlg.cxx 13 0 svtools/source/filter/GraphicExportOptionsDialog.cxx 33 0 svtools/source/filter/exportdialog.cxx 33 33 svtools/source/filter/exportdialog.hxx 1 1 svtools/source/hatchwindow/hatchwindow.cxx 1 1 svtools/source/inc/hatchwindow.hxx 2 2 svtools/source/inc/svimpbox.hxx 2 2 svtools/source/misc/dialogcontrolling.cxx 8 12 svtools/source/table/tablecontrol_impl.cxx 3 3 svtools/source/table/tablecontrol_impl.hxx 2 2 svtools/source/toolpanel/paneltabbarpeer.cxx 1 1 svtools/source/toolpanel/paneltabbarpeer.hxx 2 2 svtools/source/toolpanel/toolpaneldeckpeer.cxx 1 1 svtools/source/toolpanel/toolpaneldeckpeer.hxx 1 1 svtools/source/uno/addrtempuno.cxx 2 4 svtools/source/uno/generictoolboxcontroller.cxx 1 2 svtools/source/uno/genericunodialog.cxx 3 3 svtools/source/uno/popupwindowcontroller.cxx 1 1 svtools/source/uno/treecontrolpeer.hxx 10 10 svtools/source/uno/wizard/unowizard.cxx 1 1 svtools/source/uno/wizard/wizardshell.hxx 3 1 svx/inc/extrusiondepthdialog.hxx 3 3 svx/inc/galbrws2.hxx 1 1 svx/inc/svdibrow.hxx 2 2 svx/inc/tbunosearchcontrollers.hxx 1 0 svx/source/accessibility/AccessibleShapeTreeInfo.cxx 3 3 svx/source/accessibility/GraphCtlAccessibleContext.cxx 25 8 svx/source/dialog/_bmpmask.cxx 20 1 svx/source/dialog/_contdlg.cxx 25 0 svx/source/dialog/compressgraphicdialog.cxx 4 4 svx/source/dialog/contimp.hxx 42 10 svx/source/dialog/ctredlin.cxx 45 2 svx/source/dialog/docrecovery.cxx 6 326 svx/source/dialog/fontwork.cxx 16 0 svx/source/dialog/hdft.cxx 10 2 svx/source/dialog/imapdlg.cxx 1 0 svx/source/dialog/linkwarn.cxx 27 0 svx/source/dialog/optgrid.cxx 1 1 svx/source/dialog/orienthelper.cxx 15 0 svx/source/dialog/passwd.cxx 33 0 svx/source/dialog/rubydialog.cxx 43 1 svx/source/dialog/srchdlg.cxx 1 0 svx/source/dialog/svxruler.cxx 159 162 svx/source/fmcomp/gridcell.cxx 3 3 svx/source/fmcomp/gridctrl.cxx 109 12 svx/source/form/datanavi.cxx 2 2 svx/source/form/filtnav.cxx 1 2 svx/source/form/fmPropBrw.cxx 2 2 svx/source/form/fmexpl.cxx 13 2 svx/source/form/tabwin.cxx 1 1 svx/source/form/xfm_addcondition.cxx 1 2 svx/source/gallery2/galbrws1.cxx 1 1 svx/source/gallery2/galbrws1.hxx 8 8 svx/source/gallery2/galbrws2.cxx 2 1 svx/source/inc/AccessibleFrameSelector.hxx 1 1 svx/source/inc/GraphCtlAccessibleContext.hxx 1 1 svx/source/inc/charmapacc.hxx 2 1 svx/source/inc/datalistener.hxx 72 62 svx/source/inc/datanavi.hxx 22 16 svx/source/inc/docrecovery.hxx 1 1 svx/source/inc/filtnav.hxx 1 1 svx/source/inc/fmexch.hxx 1 1 svx/source/inc/fmexpl.hxx 2 1 svx/source/inc/fmvwimp.hxx 6 6 svx/source/inc/gridcell.hxx 2 1 svx/source/inc/svxrectctaccessiblecontext.hxx 4 2 svx/source/inc/tabwin.hxx 1 1 svx/source/inc/tbxform.hxx 17 0 svx/source/sidebar/area/AreaPropertyPanel.cxx 12 8 svx/source/sidebar/area/AreaPropertyPanel.hxx 17 0 svx/source/sidebar/graphic/GraphicPropertyPanel.cxx 11 8 svx/source/sidebar/graphic/GraphicPropertyPanel.hxx 4 2 svx/source/sidebar/insert/InsertPropertyPanel.cxx 2 2 svx/source/sidebar/insert/InsertPropertyPanel.hxx 23 0 svx/source/sidebar/line/LinePropertyPanel.cxx 16 13 svx/source/sidebar/line/LinePropertyPanel.hxx 24 5 svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx 11 9 svx/source/sidebar/paragraph/ParaLineSpacingControl.hxx 20 0 svx/source/sidebar/paragraph/ParaPropertyPanel.cxx 13 10 svx/source/sidebar/paragraph/ParaPropertyPanel.hxx 23 0 svx/source/sidebar/possize/PosSizePropertyPanel.cxx 17 14 svx/source/sidebar/possize/PosSizePropertyPanel.hxx 15 0 svx/source/sidebar/text/TextPropertyPanel.cxx 8 5 svx/source/sidebar/text/TextPropertyPanel.hxx 3 3 svx/source/sidebar/tools/Popup.cxx 5 7 svx/source/svdraw/sdrpaintwindow.cxx 11 11 svx/source/svdraw/svdedxv.cxx 8 9 svx/source/svdraw/svdibrow.cxx 1 1 svx/source/svdraw/svdmrkv.cxx 8 12 svx/source/svdraw/svdpntv.cxx 2 2 svx/source/svdraw/svdview.cxx 14 1 svx/source/tbxctrls/bulletsnumbering.cxx 8 6 svx/source/tbxctrls/colorwindow.hxx 33 0 svx/source/tbxctrls/extrusioncontrols.cxx 6 2 svx/source/tbxctrls/extrusioncontrols.hxx 2 2 svx/source/tbxctrls/fillctrl.cxx 22 0 svx/source/tbxctrls/fontworkgallery.cxx 17 6 svx/source/tbxctrls/lboxctrl.cxx 16 0 svx/source/tbxctrls/tbcontrl.cxx 2 3 svx/source/tbxctrls/tbunocontroller.cxx 2 4 svx/source/tbxctrls/tbunosearchcontrollers.cxx 29 2 svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx 21 19 svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.hxx 1 2 svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.cxx 2 1 svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.hxx 6 1 svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.cxx 6 6 svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.hxx 1 1 svx/source/unodraw/recoveryui.cxx 1 1 svx/source/unodraw/unoshtxt.cxx 3 2 sw/inc/PostItMgr.hxx 5 5 sw/inc/SidebarWin.hxx 4 2 sw/inc/colwd.hxx 1 1 sw/inc/hhcwrp.hxx 1 1 sw/inc/postithelper.hxx 1 1 sw/inc/viewsh.hxx 22 9 sw/qa/tiledrendering/tiledrendering.cxx 1 1 sw/source/core/access/accdoc.hxx 1 1 sw/source/core/access/accfrmobj.cxx 2 1 sw/source/core/access/accfrmobj.hxx 1 1 sw/source/core/view/viewsh.cxx 17 4 sw/source/ui/chrdlg/break.cxx 10 0 sw/source/ui/chrdlg/chardlg.cxx 21 1 sw/source/ui/chrdlg/drpcps.cxx 20 0 sw/source/ui/chrdlg/numpara.cxx 10 0 sw/source/ui/chrdlg/swuiccoll.cxx 93 34 sw/source/ui/config/mailconfigpage.cxx 4 0 sw/source/ui/config/optcomp.cxx 42 0 sw/source/ui/config/optload.cxx 165 0 sw/source/ui/config/optpage.cxx 9 1 sw/source/ui/dbui/addresslistdialog.cxx 9 9 sw/source/ui/dbui/addresslistdialog.hxx 39 23 sw/source/ui/dbui/createaddresslistdialog.cxx 20 18 sw/source/ui/dbui/createaddresslistdialog.hxx 28 5 sw/source/ui/dbui/customizeaddresslistdialog.cxx 12 8 sw/source/ui/dbui/customizeaddresslistdialog.hxx 29 4 sw/source/ui/dbui/dbinsdlg.cxx 2 0 sw/source/ui/dbui/dbtablepreviewdialog.cxx 2 2 sw/source/ui/dbui/dbtablepreviewdialog.hxx 111 33 sw/source/ui/dbui/mmaddressblockpage.cxx 53 46 sw/source/ui/dbui/mmaddressblockpage.hxx 15 0 sw/source/ui/dbui/mmdocselectpage.cxx 10 9 sw/source/ui/dbui/mmdocselectpage.hxx 21 0 sw/source/ui/dbui/mmgreetingspage.cxx 27 25 sw/source/ui/dbui/mmgreetingspage.hxx 11 0 sw/source/ui/dbui/mmlayoutpage.cxx 11 11 sw/source/ui/dbui/mmlayoutpage.hxx 19 0 sw/source/ui/dbui/mmmergepage.cxx 10 8 sw/source/ui/dbui/mmmergepage.hxx 41 3 sw/source/ui/dbui/mmoutputpage.cxx 42 42 sw/source/ui/dbui/mmoutputpage.hxx 33 3 sw/source/ui/dbui/mmoutputtypepage.cxx 7 5 sw/source/ui/dbui/mmoutputtypepage.hxx 18 0 sw/source/ui/dbui/mmpreparemergepage.cxx 10 8 sw/source/ui/dbui/mmpreparemergepage.hxx 2 1 sw/source/ui/dbui/selectdbtabledialog.cxx 2 2 sw/source/ui/dbui/selectdbtabledialog.hxx 12 0 sw/source/ui/dialog/abstract.cxx 15 0 sw/source/ui/dialog/ascfldlg.cxx 18 1 sw/source/ui/dialog/docstdlg.cxx 0 1 sw/source/ui/dialog/swdlgfact.cxx 2 3 sw/source/ui/dialog/swdlgfact.hxx 15 0 sw/source/ui/dialog/swmessdialog.cxx 25 0 sw/source/ui/dialog/swuiexp.cxx 74 0 sw/source/ui/dialog/uiregionsw.cxx 13 0 sw/source/ui/dialog/wordcountdialog.cxx 11 0 sw/source/ui/dochdl/selglos.cxx 21 0 sw/source/ui/envelp/envfmt.cxx 12 10 sw/source/ui/envelp/envfmt.hxx 14 0 sw/source/ui/envelp/envlop1.cxx 17 0 sw/source/ui/envelp/envprt.cxx 9 7 sw/source/ui/envelp/envprt.hxx 80 0 sw/source/ui/envelp/label1.cxx 35 0 sw/source/ui/envelp/labfmt.cxx 22 19 sw/source/ui/envelp/labfmt.hxx 9 0 sw/source/ui/envelp/labprt.cxx 11 11 sw/source/ui/envelp/labprt.hxx 54 0 sw/source/ui/envelp/mailmrge.cxx 58 52 sw/source/ui/envelp/swuilabimp.hxx 14 0 sw/source/ui/fldui/DropDownFieldDialog.cxx 5 0 sw/source/ui/fldui/changedb.cxx 18 0 sw/source/ui/fldui/flddb.cxx 13 12 sw/source/ui/fldui/flddb.hxx 12 0 sw/source/ui/fldui/flddinf.cxx 7 6 sw/source/ui/fldui/flddinf.hxx 21 0 sw/source/ui/fldui/flddok.cxx 15 14 sw/source/ui/fldui/flddok.hxx 3 0 sw/source/ui/fldui/fldedt.cxx 31 0 sw/source/ui/fldui/fldfunc.cxx 26 25 sw/source/ui/fldui/fldfunc.hxx 15 0 sw/source/ui/fldui/fldref.cxx 10 9 sw/source/ui/fldui/fldref.hxx 22 0 sw/source/ui/fldui/fldvar.cxx 17 16 sw/source/ui/fldui/fldvar.hxx 14 0 sw/source/ui/fldui/inpdlg.cxx 10 0 sw/source/ui/fldui/javaedit.cxx 25 1 sw/source/ui/frmdlg/column.cxx 32 5 sw/source/ui/frmdlg/cption.cxx 91 4 sw/source/ui/frmdlg/frmpage.cxx 20 0 sw/source/ui/frmdlg/wrap.cxx 148 26 sw/source/ui/index/cnttab.cxx 12 1 sw/source/ui/index/multmrk.cxx 19 11 sw/source/ui/index/swuiidxmrk.cxx 9 0 sw/source/ui/misc/bookmark.cxx 27 4 sw/source/ui/misc/docfnote.cxx 12 0 sw/source/ui/misc/glosbib.cxx 35 6 sw/source/ui/misc/glossary.cxx 18 17 sw/source/ui/misc/impfnote.hxx 10 0 sw/source/ui/misc/insfnote.cxx 22 0 sw/source/ui/misc/linenum.cxx 26 2 sw/source/ui/misc/num.cxx 36 3 sw/source/ui/misc/outline.cxx 17 0 sw/source/ui/misc/pgfnote.cxx 28 1 sw/source/ui/misc/pggrid.cxx 28 2 sw/source/ui/misc/srtdlg.cxx 12 0 sw/source/ui/misc/titlepage.cxx 12 0 sw/source/ui/table/colwd.cxx 14 0 sw/source/ui/table/convert.cxx 11 0 sw/source/ui/table/instable.cxx 12 0 sw/source/ui/table/mergetbl.cxx 12 0 sw/source/ui/table/rowht.cxx 14 0 sw/source/ui/table/splittbl.cxx 67 5 sw/source/ui/table/tabledlg.cxx 22 1 sw/source/ui/table/tautofmt.cxx 12 0 sw/source/ui/utlui/swrenamexnameddlg.cxx 33 0 sw/source/uibase/dbui/dbui.cxx 12 1 sw/source/uibase/dbui/mailmergechildwindow.cxx 1 1 sw/source/uibase/docvw/HeaderFooterWin.cxx 4 3 sw/source/uibase/docvw/PageBreakWin.cxx 3 8 sw/source/uibase/docvw/PostItMgr.cxx 6 11 sw/source/uibase/docvw/SidebarWin.cxx 3 4 sw/source/uibase/docvw/srcedtw.cxx 12 1 sw/source/uibase/envelp/syncbtn.cxx 6 4 sw/source/uibase/inc/DropDownFieldDialog.hxx 1 1 sw/source/uibase/inc/FrameControl.hxx 1 1 sw/source/uibase/inc/FrameControlsManager.hxx 2 2 sw/source/uibase/inc/HeaderFooterWin.hxx 1 1 sw/source/uibase/inc/PageBreakWin.hxx 4 4 sw/source/uibase/inc/abstract.hxx 9 8 sw/source/uibase/inc/ascfldlg.hxx 4 3 sw/source/uibase/inc/bookmark.hxx 8 7 sw/source/uibase/inc/break.hxx 5 5 sw/source/uibase/inc/changedb.hxx 11 11 sw/source/uibase/inc/chrdlg.hxx 28 28 sw/source/uibase/inc/column.hxx 3 3 sw/source/uibase/inc/conttree.hxx 14 14 sw/source/uibase/inc/convert.hxx 15 15 sw/source/uibase/inc/cption.hxx 25 25 sw/source/uibase/inc/dbinsdlg.hxx 13 7 sw/source/uibase/inc/dbui.hxx 12 11 sw/source/uibase/inc/docstdlg.hxx 1 1 sw/source/uibase/inc/drawbase.hxx 17 16 sw/source/uibase/inc/drpcps.hxx 10 9 sw/source/uibase/inc/envlop.hxx 3 3 sw/source/uibase/inc/fldedt.hxx 2 1 sw/source/uibase/inc/fldmgr.hxx 83 80 sw/source/uibase/inc/frmpage.hxx 7 6 sw/source/uibase/inc/glosbib.hxx 12 12 sw/source/uibase/inc/glossary.hxx 6 4 sw/source/uibase/inc/inpdlg.hxx 2 2 sw/source/uibase/inc/inputwin.hxx 10 10 sw/source/uibase/inc/insfnote.hxx 11 11 sw/source/uibase/inc/instable.hxx 10 10 sw/source/uibase/inc/javaedit.hxx 1 1 sw/source/uibase/inc/label.hxx 16 15 sw/source/uibase/inc/linenum.hxx 10 10 sw/source/uibase/inc/mailconfigpage.hxx 3 1 sw/source/uibase/inc/mailmergechildwindow.hxx 1 1 sw/source/uibase/inc/mailmergehelper.hxx 47 42 sw/source/uibase/inc/mailmrge.hxx 3 1 sw/source/uibase/inc/mergetbl.hxx 3 2 sw/source/uibase/inc/multmrk.hxx 2 2 sw/source/uibase/inc/navipi.hxx 24 24 sw/source/uibase/inc/num.hxx 15 14 sw/source/uibase/inc/numpara.hxx 4 4 sw/source/uibase/inc/optcomp.hxx 38 36 sw/source/uibase/inc/optload.hxx 138 130 sw/source/uibase/inc/optpage.hxx 12 11 sw/source/uibase/inc/outline.hxx 13 12 sw/source/uibase/inc/pgfnote.hxx 24 22 sw/source/uibase/inc/pggrid.hxx 1 1 sw/source/uibase/inc/prcntfld.hxx 6 6 sw/source/uibase/inc/pview.hxx 3 3 sw/source/uibase/inc/redlndlg.hxx 65 63 sw/source/uibase/inc/regionsw.hxx 4 2 sw/source/uibase/inc/rowht.hxx 4 1 sw/source/uibase/inc/selglos.hxx 1 1 sw/source/uibase/inc/shdwcrsr.hxx 6 4 sw/source/uibase/inc/splittbl.hxx 3 3 sw/source/uibase/inc/srcedtw.hxx 32 32 sw/source/uibase/inc/srtdlg.hxx 7 5 sw/source/uibase/inc/swmessdialog.hxx 4 2 sw/source/uibase/inc/swrenamexnameddlg.hxx 2 1 sw/source/uibase/inc/swruler.hxx 9 9 sw/source/uibase/inc/swuiccoll.hxx 109 105 sw/source/uibase/inc/swuicnttab.hxx 45 45 sw/source/uibase/inc/swuiidxmrk.hxx 3 1 sw/source/uibase/inc/syncbtn.hxx 13 13 sw/source/uibase/inc/tautofmt.hxx 12 12 sw/source/uibase/inc/titlepage.hxx 10 10 sw/source/uibase/inc/view.hxx 13 13 sw/source/uibase/inc/wordcountdialog.hxx 2 2 sw/source/uibase/inc/workctrl.hxx 15 14 sw/source/uibase/inc/wrap.hxx 1 1 sw/source/uibase/misc/redlndlg.cxx 7 0 sw/source/uibase/misc/swruler.cxx 1 1 sw/source/uibase/ribbar/inputwin.cxx 2 1 sw/source/uibase/ribbar/workctrl.cxx 1 0 sw/source/uibase/shells/txtattr.cxx 1 0 sw/source/uibase/shells/txtcrsr.cxx 1 1 sw/source/uibase/sidebar/PageColumnControl.cxx 1 1 sw/source/uibase/sidebar/PageColumnControl.hxx 1 1 sw/source/uibase/sidebar/PageMarginControl.cxx 1 1 sw/source/uibase/sidebar/PageMarginControl.hxx 1 1 sw/source/uibase/sidebar/PageOrientationControl.cxx 1 1 sw/source/uibase/sidebar/PageOrientationControl.hxx 4 0 sw/source/uibase/sidebar/PagePropertyPanel.cxx 4 4 sw/source/uibase/sidebar/PagePropertyPanel.hxx 1 1 sw/source/uibase/sidebar/PageSizeControl.cxx 1 1 sw/source/uibase/sidebar/PageSizeControl.hxx 12 0 sw/source/uibase/sidebar/WrapPropertyPanel.cxx 8 7 sw/source/uibase/sidebar/WrapPropertyPanel.hxx 45 42 sw/source/uibase/table/tablepg.hxx 23 14 sw/source/uibase/uiview/pview.cxx 7 7 sw/source/uibase/uiview/view.cxx 1 5 sw/source/uibase/uiview/viewling.cxx 8 8 sw/source/uibase/uiview/viewmdi.cxx 1 0 sw/source/uibase/utlui/content.cxx 1 0 sw/source/uibase/utlui/glbltree.cxx 19 4 sw/source/uibase/utlui/gloslst.cxx 2 3 sw/source/uibase/utlui/navipi.cxx 1 0 tools/source/ref/errinf.cxx 15 0 uui/source/authfallbackdlg.cxx 7 5 uui/source/authfallbackdlg.hxx 12 0 uui/source/fltdlg.cxx 4 2 uui/source/fltdlg.hxx 25 0 uui/source/logindlg.cxx 17 15 uui/source/logindlg.hxx 13 0 uui/source/masterpasscrtdlg.cxx 5 3 uui/source/masterpasscrtdlg.hxx 12 0 uui/source/masterpassworddlg.cxx 4 2 uui/source/masterpassworddlg.hxx 15 0 uui/source/nameclashdlg.cxx 7 5 uui/source/nameclashdlg.hxx 15 0 uui/source/passworddlg.cxx 7 5 uui/source/passworddlg.hxx 15 0 uui/source/secmacrowarnings.cxx 10 9 uui/source/secmacrowarnings.hxx 14 0 uui/source/unknownauthdlg.cxx 6 4 uui/source/unknownauthdlg.hxx 12 4 vcl/generic/print/genprnpsp.cxx 40 2 vcl/generic/print/prtsetup.cxx 24 20 vcl/generic/print/prtsetup.hxx 3 3 vcl/inc/brdwin.hxx 2 2 vcl/inc/dndevdis.hxx 7 6 vcl/inc/ilstbox.hxx 55 54 vcl/inc/printdlg.hxx 5 4 vcl/inc/salframe.hxx 18 23 vcl/inc/svdata.hxx 1 1 vcl/inc/toolbox.h 2 1 vcl/inc/unx/i18n_status.hxx 29 29 vcl/inc/window.h 9 0 vcl/source/app/salvtables.cxx 19 11 vcl/source/app/svapp.cxx 2 0 vcl/source/app/svdata.cxx 9 0 vcl/source/app/vclevent.cxx 14 14 vcl/source/control/button.cxx 3 5 vcl/source/control/combobox.cxx 4 0 vcl/source/control/ctrl.cxx 1 0 vcl/source/control/fixed.cxx 15 3 vcl/source/control/ilstbox.cxx 4 12 vcl/source/control/lstbox.cxx 12 16 vcl/source/control/tabctrl.cxx 1 1 vcl/source/edit/textview.cxx 8 15 vcl/source/edit/vclmedit.cxx 2 4 vcl/source/gdi/print3.cxx 1 0 vcl/source/window/accel.cxx 2 3 vcl/source/window/accessibility.cxx 1 1 vcl/source/window/brdwin.cxx 5 17 vcl/source/window/btndlg.cxx 15 12 vcl/source/window/builder.cxx 1 1 vcl/source/window/clipping.cxx 2 2 vcl/source/window/cursor.cxx 4 3 vcl/source/window/dialog.cxx 10 10 vcl/source/window/dlgctrl.cxx 3 3 vcl/source/window/dndevdis.cxx 8 9 vcl/source/window/dockmgr.cxx 10 6 vcl/source/window/dockwin.cxx 20 3 vcl/source/window/event.cxx 4 2 vcl/source/window/floatwin.cxx 4 2 vcl/source/window/introwin.cxx 20 15 vcl/source/window/layout.cxx 10 10 vcl/source/window/menu.cxx 3 3 vcl/source/window/menubarwindow.cxx 2 2 vcl/source/window/menufloatingwindow.cxx 11 11 vcl/source/window/mouse.cxx 6 17 vcl/source/window/msgbox.cxx 1 1 vcl/source/window/paint.cxx 45 18 vcl/source/window/printdlg.cxx 1 0 vcl/source/window/split.cxx 3 3 vcl/source/window/splitwin.cxx 18 19 vcl/source/window/stacking.cxx 1 0 vcl/source/window/syswin.cxx 2 1 vcl/source/window/tabdlg.cxx 7 12 vcl/source/window/taskpanelist.cxx 5 4 vcl/source/window/toolbox.cxx 21 22 vcl/source/window/window.cxx 16 18 vcl/source/window/window2.cxx 7 7 vcl/source/window/winproc.cxx 1 3 vcl/unx/generic/app/i18n_status.cxx 18 4 vcl/unx/generic/printer/cupsmgr.cxx 3 2 vcl/workben/icontest.cxx 1 1 vcl/workben/mtfdemo.cxx 13 6 vcl/workben/vcldemo.cxx 3 3 xmlsecurity/inc/xmlsecurity/certificatechooser.hxx 22 17 xmlsecurity/inc/xmlsecurity/certificateviewer.hxx 18 18 xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx 22 18 xmlsecurity/inc/xmlsecurity/macrosecurity.hxx 3 1 xmlsecurity/source/dialogs/certificatechooser.cxx 44 1 xmlsecurity/source/dialogs/certificateviewer.cxx 16 1 xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx 38 1 xmlsecurity/source/dialogs/macrosecurity.cxx
2015-03-09 14:29:30 +02:00
mpMenuBarWindow.clear();
vcl::Window::dispose();
2000-09-18 16:07:07 +00:00
}
void ImplBorderWindow::MouseMove( const MouseEvent& rMEvt )
{
mpBorderView->MouseMove( rMEvt );
}
void ImplBorderWindow::MouseButtonDown( const MouseEvent& rMEvt )
{
mpBorderView->MouseButtonDown( rMEvt );
}
void ImplBorderWindow::Tracking( const TrackingEvent& rTEvt )
{
mpBorderView->Tracking( rTEvt );
}
void ImplBorderWindow::Paint( vcl::RenderContext& rRenderContext, const Rectangle& )
2000-09-18 16:07:07 +00:00
{
mpBorderView->DrawWindow(rRenderContext, BORDERWINDOW_DRAW_ALL);
2000-09-18 16:07:07 +00:00
}
void ImplBorderWindow::Draw( const Rectangle&, OutputDevice* pOutDev, const Point& rPos )
{
mpBorderView->DrawWindow(*pOutDev, BORDERWINDOW_DRAW_ALL, &rPos);
}
2000-09-18 16:07:07 +00:00
void ImplBorderWindow::Activate()
{
SetDisplayActive( true );
2000-09-18 16:07:07 +00:00
Window::Activate();
}
void ImplBorderWindow::Deactivate()
{
// remove active windows from the ruler, also ignore the Deactivate
// if a menu becomes active
if ( GetActivateMode() != ActivateModeFlags::NONE && !ImplGetSVData()->maWinData.mbNoDeactivate )
SetDisplayActive( false );
2000-09-18 16:07:07 +00:00
Window::Deactivate();
}
void ImplBorderWindow::RequestHelp( const HelpEvent& rHEvt )
{
// no keyboard help for border window
if ( rHEvt.GetMode() & (HelpEventMode::BALLOON | HelpEventMode::QUICK) && !rHEvt.KeyboardActivated() )
2000-09-18 16:07:07 +00:00
{
Point aMousePosPixel = ScreenToOutputPixel( rHEvt.GetMousePosPixel() );
Rectangle aHelpRect;
OUString aHelpStr( mpBorderView->RequestHelp( aMousePosPixel, aHelpRect ) );
2000-09-18 16:07:07 +00:00
// retrieve rectangle
if ( !aHelpStr.isEmpty() )
2000-09-18 16:07:07 +00:00
{
aHelpRect.SetPos( OutputToScreenPixel( aHelpRect.TopLeft() ) );
if ( rHEvt.GetMode() & HelpEventMode::BALLOON )
Help::ShowBalloon( this, aHelpRect.Center(), aHelpRect, aHelpStr );
2000-09-18 16:07:07 +00:00
else
Help::ShowQuickHelp( this, aHelpRect, aHelpStr );
2000-09-18 16:07:07 +00:00
return;
}
}
Window::RequestHelp( rHEvt );
}
void ImplBorderWindow::Resize()
{
Size aSize = GetOutputSizePixel();
if ( !mbRollUp )
{
vcl::Window* pClientWindow = ImplGetClientWindow();
2000-09-18 16:07:07 +00:00
if ( mpMenuBarWindow )
{
sal_Int32 nLeftBorder;
sal_Int32 nTopBorder;
sal_Int32 nRightBorder;
sal_Int32 nBottomBorder;
2000-09-18 16:07:07 +00:00
long nMenuHeight = mpMenuBarWindow->GetSizePixel().Height();
if ( mbMenuHide )
{
if ( nMenuHeight )
mnOrgMenuHeight = nMenuHeight;
nMenuHeight = 0;
}
else
{
if ( !nMenuHeight )
nMenuHeight = mnOrgMenuHeight;
}
mpBorderView->GetBorder( nLeftBorder, nTopBorder, nRightBorder, nBottomBorder );
mpMenuBarWindow->setPosSizePixel( nLeftBorder,
2000-09-18 16:07:07 +00:00
nTopBorder,
aSize.Width()-nLeftBorder-nRightBorder,
nMenuHeight,
PosSizeFlags::Pos |
PosSizeFlags::Width | PosSizeFlags::Height );
2000-09-18 16:07:07 +00:00
}
GetBorder( pClientWindow->mpWindowImpl->mnLeftBorder, pClientWindow->mpWindowImpl->mnTopBorder,
pClientWindow->mpWindowImpl->mnRightBorder, pClientWindow->mpWindowImpl->mnBottomBorder );
pClientWindow->ImplPosSizeWindow( pClientWindow->mpWindowImpl->mnLeftBorder,
pClientWindow->mpWindowImpl->mnTopBorder,
aSize.Width()-pClientWindow->mpWindowImpl->mnLeftBorder-pClientWindow->mpWindowImpl->mnRightBorder,
aSize.Height()-pClientWindow->mpWindowImpl->mnTopBorder-pClientWindow->mpWindowImpl->mnBottomBorder,
PosSizeFlags::X | PosSizeFlags::Y |
PosSizeFlags::Width | PosSizeFlags::Height );
2000-09-18 16:07:07 +00:00
}
// UpdateView
mpBorderView->Init( this, aSize.Width(), aSize.Height() );
InvalidateBorder();
Window::Resize();
}
void ImplBorderWindow::StateChanged( StateChangedType nType )
{
if ( (nType == StateChangedType::Text) ||
(nType == StateChangedType::Image) ||
(nType == StateChangedType::Data) )
2000-09-18 16:07:07 +00:00
{
if (IsReallyVisible() && mbFrameBorder)
InvalidateBorder();
2000-09-18 16:07:07 +00:00
}
Window::StateChanged( nType );
}
void ImplBorderWindow::DataChanged( const DataChangedEvent& rDCEvt )
{
if ( (rDCEvt.GetType() == DataChangedEventType::FONTS) ||
(rDCEvt.GetType() == DataChangedEventType::FONTSUBSTITUTION) ||
((rDCEvt.GetType() == DataChangedEventType::SETTINGS) &&
(rDCEvt.GetFlags() & AllSettingsFlags::STYLE)) )
2000-09-18 16:07:07 +00:00
{
if ( !mpWindowImpl->mbFrame || (GetStyle() & (WB_OWNERDRAWDECORATION | WB_POPUP)) )
UpdateView( true, ImplGetWindow()->GetOutputSizePixel() );
2000-09-18 16:07:07 +00:00
}
Window::DataChanged( rDCEvt );
}
void ImplBorderWindow::InitView()
{
if ( mbSmallOutBorder )
mpBorderView = new ImplSmallBorderWindowView( this );
else if ( mpWindowImpl->mbFrame )
{
if( mbFrameBorder )
mpBorderView = new ImplStdBorderWindowView( this );
else
mpBorderView = new ImplNoBorderWindowView( this );
}
2000-09-18 16:07:07 +00:00
else if ( !mbFrameBorder )
mpBorderView = new ImplSmallBorderWindowView( this );
else
mpBorderView = new ImplStdBorderWindowView( this );
Size aSize = GetOutputSizePixel();
mpBorderView->Init( this, aSize.Width(), aSize.Height() );
}
void ImplBorderWindow::UpdateView( bool bNewView, const Size& rNewOutSize )
2000-09-18 16:07:07 +00:00
{
sal_Int32 nLeftBorder;
sal_Int32 nTopBorder;
sal_Int32 nRightBorder;
sal_Int32 nBottomBorder;
2000-09-18 16:07:07 +00:00
Size aOldSize = GetSizePixel();
Size aOutputSize = rNewOutSize;
if ( bNewView )
{
delete mpBorderView;
InitView();
}
else
{
Size aSize = aOutputSize;
mpBorderView->GetBorder( nLeftBorder, nTopBorder, nRightBorder, nBottomBorder );
aSize.Width() += nLeftBorder+nRightBorder;
aSize.Height() += nTopBorder+nBottomBorder;
mpBorderView->Init( this, aSize.Width(), aSize.Height() );
}
vcl::Window* pClientWindow = ImplGetClientWindow();
2000-09-18 16:07:07 +00:00
if ( pClientWindow )
{
GetBorder( pClientWindow->mpWindowImpl->mnLeftBorder, pClientWindow->mpWindowImpl->mnTopBorder,
pClientWindow->mpWindowImpl->mnRightBorder, pClientWindow->mpWindowImpl->mnBottomBorder );
2000-09-18 16:07:07 +00:00
}
GetBorder( nLeftBorder, nTopBorder, nRightBorder, nBottomBorder );
if ( aOldSize.Width() || aOldSize.Height() )
{
aOutputSize.Width() += nLeftBorder+nRightBorder;
aOutputSize.Height() += nTopBorder+nBottomBorder;
if ( aOutputSize == GetSizePixel() )
InvalidateBorder();
else
SetSizePixel( aOutputSize );
}
}
void ImplBorderWindow::InvalidateBorder()
{
if ( IsReallyVisible() )
{
// invalidate only if we have a border
sal_Int32 nLeftBorder;
sal_Int32 nTopBorder;
sal_Int32 nRightBorder;
sal_Int32 nBottomBorder;
2000-09-18 16:07:07 +00:00
mpBorderView->GetBorder( nLeftBorder, nTopBorder, nRightBorder, nBottomBorder );
if ( nLeftBorder || nTopBorder || nRightBorder || nBottomBorder )
{
Rectangle aWinRect( Point( 0, 0 ), GetOutputSizePixel() );
vcl::Region aRegion( aWinRect );
2000-09-18 16:07:07 +00:00
aWinRect.Left() += nLeftBorder;
aWinRect.Top() += nTopBorder;
aWinRect.Right() -= nRightBorder;
aWinRect.Bottom() -= nBottomBorder;
// no output area anymore, now invalidate all
2000-09-18 16:07:07 +00:00
if ( (aWinRect.Right() < aWinRect.Left()) ||
(aWinRect.Bottom() < aWinRect.Top()) )
Invalidate( InvalidateFlags::NoChildren );
2000-09-18 16:07:07 +00:00
else
{
aRegion.Exclude( aWinRect );
Invalidate( aRegion, InvalidateFlags::NoChildren );
2000-09-18 16:07:07 +00:00
}
}
}
}
void ImplBorderWindow::SetDisplayActive( bool bActive )
2000-09-18 16:07:07 +00:00
{
if ( mbDisplayActive != bActive )
{
mbDisplayActive = bActive;
if ( mbFrameBorder )
InvalidateBorder();
}
}
void ImplBorderWindow::SetTitleType( sal_uInt16 nTitleType, const Size& rSize )
2000-09-18 16:07:07 +00:00
{
mnTitleType = nTitleType;
UpdateView( false, rSize );
2000-09-18 16:07:07 +00:00
}
void ImplBorderWindow::SetBorderStyle( WindowBorderStyle nStyle )
2000-09-18 16:07:07 +00:00
{
if ( !mbFrameBorder && (mnBorderStyle != nStyle) )
{
mnBorderStyle = nStyle;
UpdateView( false, ImplGetWindow()->GetOutputSizePixel() );
2000-09-18 16:07:07 +00:00
}
}
void ImplBorderWindow::SetPin( bool bPin )
2000-09-18 16:07:07 +00:00
{
mbPinned = bPin;
2000-09-18 16:07:07 +00:00
InvalidateBorder();
}
void ImplBorderWindow::SetRollUp( bool bRollUp, const Size& rSize )
2000-09-18 16:07:07 +00:00
{
mbRollUp = bRollUp;
mnRollHeight = rSize.Height();
UpdateView( false, rSize );
2000-09-18 16:07:07 +00:00
}
void ImplBorderWindow::SetCloseButton()
2000-09-18 16:07:07 +00:00
{
SetStyle( GetStyle() | WB_CLOSEABLE );
Size aSize = GetOutputSizePixel();
mpBorderView->Init( this, aSize.Width(), aSize.Height() );
InvalidateBorder();
}
void ImplBorderWindow::SetDockButton( bool bDockButton )
2000-09-18 16:07:07 +00:00
{
mbDockBtn = bDockButton;
Size aSize = GetOutputSizePixel();
mpBorderView->Init( this, aSize.Width(), aSize.Height() );
InvalidateBorder();
}
void ImplBorderWindow::SetHideButton( bool bHideButton )
2000-09-18 16:07:07 +00:00
{
mbHideBtn = bHideButton;
Size aSize = GetOutputSizePixel();
mpBorderView->Init( this, aSize.Width(), aSize.Height() );
InvalidateBorder();
}
void ImplBorderWindow::SetMenuButton( bool bMenuButton )
{
mbMenuBtn = bMenuButton;
Size aSize = GetOutputSizePixel();
mpBorderView->Init( this, aSize.Width(), aSize.Height() );
InvalidateBorder();
}
2000-09-18 16:07:07 +00:00
void ImplBorderWindow::UpdateMenuHeight()
{
Resize();
}
void ImplBorderWindow::SetMenuBarWindow( vcl::Window* pWindow )
2000-09-18 16:07:07 +00:00
{
mpMenuBarWindow = pWindow;
UpdateMenuHeight();
if ( pWindow )
pWindow->Show();
}
void ImplBorderWindow::SetMenuBarMode( bool bHide )
2000-09-18 16:07:07 +00:00
{
mbMenuHide = bHide;
UpdateMenuHeight();
}
void ImplBorderWindow::GetBorder( sal_Int32& rLeftBorder, sal_Int32& rTopBorder,
sal_Int32& rRightBorder, sal_Int32& rBottomBorder ) const
2000-09-18 16:07:07 +00:00
{
mpBorderView->GetBorder( rLeftBorder, rTopBorder, rRightBorder, rBottomBorder );
if ( mpMenuBarWindow && !mbMenuHide )
rTopBorder += mpMenuBarWindow->GetSizePixel().Height();
}
long ImplBorderWindow::CalcTitleWidth() const
{
return mpBorderView->CalcTitleWidth();
}
Rectangle ImplBorderWindow::GetMenuRect() const
{
return mpBorderView->GetMenuRect();
}
Size ImplBorderWindow::GetOptimalSize() const
{
const vcl::Window* pClientWindow = ImplGetClientWindow();
if (pClientWindow)
return pClientWindow->GetOptimalSize();
return Size(mnMinWidth, mnMinHeight);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */