33#include <bitmaps.hlst>
38#define IID_DOCUMENTCLOSE 1
49 Window::DataChanged( rDCEvt );
69 for( ImplToolItems::size_type
i = 0;
i < nItems;
i++ )
90 if( (
lastSize == nMaxHeight - border) && !bForce )
100 aBmpExDst.
Erase( aEraseColor );
108 aBmpExDst.
CopyPixel( aDestRect, aSrcRect, &aBmpExSrc );
199 if (bHasNativeMenuBar)
202 if (bHasNativeMenuBar)
239 std::map<sal_uInt16,AddButtonEntry>::iterator it = m_aAddButtons.find(sal_uInt16(m_aCloseBtn->GetCurItemId()));
240 if( it != m_aAddButtons.end() )
243 aArg.
nId = it->first;
244 aArg.
bHighlight = (sal_uInt16(m_aCloseBtn->GetHighlightItemId()) == it->first);
245 it->second.m_aSelectLink.Call( aArg );
259 aArg.
nId =sal_uInt16(m_aCloseBtn->GetHighlightItemId());
262 auto nPos =
static_cast<ToolBox::ImplToolItems::size_type
>(
reinterpret_cast<sal_IntPtr
>(rEvent.GetData()));
263 aArg.
nId = sal_uInt16(m_aCloseBtn->GetItemId(
nPos));
265 std::map< sal_uInt16, AddButtonEntry >::iterator it = m_aAddButtons.find( aArg.
nId );
266 if( it != m_aAddButtons.end() )
268 it->second.m_aHighlightLink.Call( aArg );
304 nX +=
pData->aSz.Width();
307 Point aItemTopLeft( nX, 0 );
308 Point aItemBottomRight( aItemTopLeft );
309 aItemBottomRight.AdjustX(
pData->aSz.Width() );
311 if (
pData->bHiddenOnGUI)
322 assert(pParentItemData);
378 assert(pParentItemData);
379 pParentItemData->
pSubMenu =
nullptr;
468 bool bJustActivated =
false;
495 bJustActivated =
true;
510 if (bAllowRestoreFocus)
515 if (xTempFocusId || bDefaultToDocument)
519 if (!xTempFocusId && bDefaultToDocument)
522 Window::EndSaveFocus(xTempFocusId);
565 DockingAreaWindow *pDockingArea =
nullptr;
567 pDockingArea =
static_cast< DockingAreaWindow*
>( pChildWin );
570 pDockingArea->IsVisible() && pDockingArea->GetOutputSizePixel().Height() != 0 )
625 bool bRollover, bHighlight;
644 Erase(rRenderContext);
661 aRect,
nState, aControlValue, OUString() );
672 rRenderContext.
Pop();
679 nX +=
pData->aSz.Width();
701 nX +=
pData->aSz.Width();
710 Window::KeyInput( rKEvent );
754 else if ( bFromMenu )
768 sal_uInt16 nLoop =
n;
771 {
n = sal_uInt16(-1); nLoop =
n+1; }
799 }
while (
n != nLoop );
848 size_t nEntry, nDuplicates;
933 nX -= aTbxSize.
Width();
967 nX +=
pData->aSz.Width();
968 if ( nX > rMousePos.X() )
969 return static_cast<sal_uInt16
>(
n);
984 Window::RequestHelp( rHEvt );
989 Window::StateChanged(
nType );
1018 if (bHasNativeMenuBar)
1026 if (!bHasNativeMenuBar)
1036 Window::ApplySettings(rRenderContext);
1045 if (!rPersonaBitmap.
IsEmpty())
1093 Window::DataChanged( rDCEvt );
1115 if (pNativeMenu && pNativeMenu->
TakeFocus())
1127 css::uno::Reference<css::accessibility::XAccessible> xAcc;
1139 std::map< sal_uInt16, AddButtonEntry >::const_iterator it;
1145 SAL_WARN_IF(
nId >= 128,
"vcl",
"too many addbuttons in menubar" );
1161 std::map< sal_uInt16, AddButtonEntry >::iterator it =
m_aAddButtons.find(
nId );
1163 it->second.m_aHighlightLink = rLink;
1185 aRect.
Move( aOffset.X(), aOffset.Y() );
1205 std::map< sal_uInt16, AddButtonEntry >::iterator it =
m_aAddButtons.find( i_nButtonId );
1209 aArg.
nId = it->first;
1211 return it->second.m_aSelectLink.Call( aArg );
const StyleSettings & GetStyleSettings() const
void SetStyleSettings(const StyleSettings &rSet)
static const AllSettings & GetSettings()
Gets the application's settings.
static ImplSVEvent * PostUserEvent(const Link< void *, void > &rLink, void *pCaller=nullptr, bool bReferenceLink=false)
Post a user event to the default window.
bool Scale(const Size &rNewSize, BmpScaleFlag nScaleFlag=BmpScaleFlag::Default)
Scale the bitmap.
bool Erase(const Color &rFillColor)
Fill the entire bitmap with the given color.
bool CopyPixel(const tools::Rectangle &rRectDst, const tools::Rectangle &rRectSrc, const BitmapEx *pBmpExSrc)
Copy a rectangular area from another bitmap.
void SetAlpha(sal_uInt8 nAlpha)
DataChangedEventType GetType() const
AllSettingsFlags GetFlags() const
Size GetSizePixel() const override
virtual void setPosSizePixel(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, PosSizeFlags nFlags=PosSizeFlags::All) override
void AddPopupModeWindow(vcl::Window *pWindow)
HelpEventMode GetMode() const
BitmapEx GetBitmapEx() const
Size GetSizePixel() const
sal_Unicode GetCharCode() const
const vcl::KeyCode & GetKeyCode() const
bool IsEnterWindow() const
bool IsLeaveWindow() const
const Point & GetPosPixel() const
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
virtual void SetSettings(const AllSettings &rSettings)
void DrawRect(const tools::Rectangle &rRect)
void DrawLine(const Point &rStartPt, const Point &rEndPt)
void SetTextColor(const Color &rColor)
void Push(vcl::PushFlags nFlags=vcl::PushFlags::ALL)
bool DrawNativeControl(ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, const OUString &aCaption, const Color &rBackgroundColor=COL_AUTO)
Request rendering of a particular control and/or part.
const AllSettings & GetSettings() const
void IntersectClipRegion(const tools::Rectangle &rRect)
bool IsNativeControlSupported(ControlType nType, ControlPart nPart) const
Query the platform layer for control support.
A SalFrame is a system window (e.g. an X11 window).
virtual void UpdateSettings(AllSettings &rSettings)=0
virtual void SetMenu(SalMenu *pSalMenu)=0
A construction helper for ScopedVclPtr.
constexpr tools::Long Height() const
tools::Long AdjustWidth(tools::Long n)
constexpr tools::Long Width() const
const Color & GetMenuBarRolloverColor() const
BitmapEx const & GetPersonaHeader() const
bool GetHighContrastMode() const
const Color & GetMenuColor() const
const Color & GetMenuHighlightColor() const
const Color & GetMenuBarTextColor() const
const vcl::Font & GetMenuFont() const
Color GetSeparatorColor() const
void SetMenuHighlightTextColor(const Color &rColor)
TaskPaneList * GetTaskPaneList()
bool HandleKeyEvent(const KeyEvent &rKeyEvent)
A thin wrapper around rtl::Reference to implement the acquire and dispose semantics we want for refer...
reference_type * get() const
Get the body.
static VclPtr< reference_type > Create(Arg &&... arg)
A construction helper for VclPtr.
void SetStyle(WallpaperStyle eStyle)
void SetColor(const Color &rColor)
Buffers drawing on a vcl::RenderContext using a VirtualDevice.
sal_uInt16 GetCode() const
Point OutputToScreenPixel(const Point &rPos) const
vcl::Window * GetParent() const
void RemoveEventListener(const Link< VclWindowEvent &, void > &rEventListener)
bool HasChildPathFocus(bool bSystemWindow=false) const
WindowType GetType() const
vcl::Window * GetWindow(GetWindowType nType) const
void SetParentClipMode(ParentClipMode nMode=ParentClipMode::NONE)
void Erase(vcl::RenderContext &rRenderContext)
void GrabFocusToDocument()
const AllSettings & GetSettings() const
void Show(bool bVisible=true, ShowFlags nFlags=ShowFlags::NONE)
bool IsNativeControlSupported(ControlType nType, ControlPart nPart) const
Query the platform layer for control support.
::OutputDevice const * GetOutDev() const
virtual void setPosSizePixel(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, PosSizeFlags nFlags=PosSizeFlags::All)
SAL_DLLPRIVATE WindowImpl * ImplGetWindowImpl() const
void AddEventListener(const Link< VclWindowEvent &, void > &rEventListener)
SalFrame * ImplGetFrame() const
bool IsSystemWindow() const
virtual Size GetSizePixel() const
Size GetOutputSizePixel() const
SAL_DLLPRIVATE ImplFrameData * ImplGetFrameData()
void SetPointFont(vcl::RenderContext &rRenderContext, const vcl::Font &rFont)
void SetPaintTransparent(bool bTransparent)
virtual void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
void SetQuickHelpText(const OUString &rHelpText)
void SetType(WindowType nType)
SAL_DLLPRIVATE vcl::Window * ImplGetFrameWindow() const
constexpr ::Color COL_WHITE(0xFF, 0xFF, 0xFF)
constexpr ::Color COL_TRANSPARENT(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
constexpr sal_uInt16 KEY_RETURN
constexpr sal_uInt16 KEY_ESCAPE
constexpr sal_uInt16 KEY_HOME
constexpr sal_uInt16 KEY_LEFT
constexpr sal_uInt16 KEY_F6
constexpr sal_uInt16 KEY_UP
constexpr sal_uInt16 KEY_MENU
constexpr sal_uInt16 KEY_RIGHT
constexpr sal_uInt16 KEY_DOWN
constexpr sal_uInt16 KEY_END
#define LINK(Instance, Class, Member)
#define SAL_WARN_IF(condition, area, stream)
std::unique_ptr< sal_Int32[]> pData
ImplSVWinData * mpWinData
::Color maMenuBarHighlightTextColor
VclPtr< vcl::Window > mpFocusWin
ImplSVData * ImplGetSVData()
OUString VclResId(TranslateId aId)
WinBits const WB_NOPOINTERFOCUS
WinBits const WB_SMALLSTYLE
WinBits const WB_RECTSTYLE