33#include <bitmaps.hlst>
39#define IID_DOCUMENTCLOSE 1
50 Window::DataChanged( rDCEvt );
70 for( ImplToolItems::size_type
i = 0;
i < nItems;
i++ )
91 if( (
lastSize == nMaxHeight - border) && !bForce )
101 aBmpExDst.
Erase( aEraseColor );
109 aBmpExDst.
CopyPixel( aDestRect, aSrcRect, &aBmpExSrc );
231 std::map<sal_uInt16,AddButtonEntry>::iterator it = m_aAddButtons.find(sal_uInt16(m_aCloseBtn->GetCurItemId()));
232 if( it != m_aAddButtons.end() )
235 aArg.
nId = it->first;
236 aArg.
bHighlight = (sal_uInt16(m_aCloseBtn->GetHighlightItemId()) == it->first);
237 it->second.m_aSelectLink.Call( aArg );
251 aArg.
nId =sal_uInt16(m_aCloseBtn->GetHighlightItemId());
254 auto nPos =
static_cast<ToolBox::ImplToolItems::size_type
>(
reinterpret_cast<sal_IntPtr
>(rEvent.GetData()));
255 aArg.
nId = sal_uInt16(m_aCloseBtn->GetItemId(
nPos));
257 std::map< sal_uInt16, AddButtonEntry >::iterator it = m_aAddButtons.find( aArg.
nId );
258 if( it != m_aAddButtons.end() )
260 it->second.m_aHighlightLink.Call( aArg );
296 nX +=
pData->aSz.Width();
299 Point aItemTopLeft( nX, 0 );
300 Point aItemBottomRight( aItemTopLeft );
303 if (
pData->bHiddenOnGUI)
314 assert(pParentItemData);
370 assert(pParentItemData);
371 pParentItemData->
pSubMenu =
nullptr;
460 bool bJustActivated =
false;
487 bJustActivated =
true;
502 if (bAllowRestoreFocus)
507 if (xTempFocusId || bDefaultToDocument)
511 if (!xTempFocusId && bDefaultToDocument)
514 Window::EndSaveFocus(xTempFocusId);
557 DockingAreaWindow *pDockingArea =
nullptr;
559 pDockingArea =
static_cast< DockingAreaWindow*
>( pChildWin );
562 pDockingArea->IsVisible() && pDockingArea->GetOutputSizePixel().Height() != 0 )
617 bool bRollover, bHighlight;
636 Erase(rRenderContext);
653 aRect,
nState, aControlValue, OUString() );
664 rRenderContext.
Pop();
671 nX +=
pData->aSz.Width();
693 nX +=
pData->aSz.Width();
702 Window::KeyInput( rKEvent );
748 else if ( bFromMenu )
762 sal_uInt16 nLoop =
n;
765 {
n = sal_uInt16(-1); nLoop =
n+1; }
793 }
while (
n != nLoop );
842 size_t nEntry, nDuplicates;
927 nX -= aTbxSize.
Width();
961 nX +=
pData->aSz.Width();
962 if ( nX > rMousePos.
X() )
963 return static_cast<sal_uInt16
>(
n);
978 Window::RequestHelp( rHEvt );
983 Window::StateChanged(
nType );
1028 Window::ApplySettings(rRenderContext);
1037 if (!rPersonaBitmap.
IsEmpty())
1085 Window::DataChanged( rDCEvt );
1107 if (pNativeMenu && pNativeMenu->
TakeFocus())
1119 css::uno::Reference<css::accessibility::XAccessible> xAcc;
1131 std::map< sal_uInt16, AddButtonEntry >::const_iterator it;
1137 SAL_WARN_IF(
nId >= 128,
"vcl",
"too many addbuttons in menubar" );
1153 std::map< sal_uInt16, AddButtonEntry >::iterator it =
m_aAddButtons.find(
nId );
1155 it->second.m_aHighlightLink = rLink;
1177 aRect.
Move( aOffset.
X(), aOffset.
Y() );
1197 std::map< sal_uInt16, AddButtonEntry >::iterator it =
m_aAddButtons.find( i_nButtonId );
1201 aArg.
nId = it->first;
1203 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.
constexpr tools::Long Y() const
tools::Long AdjustY(tools::Long nVertMove)
tools::Long AdjustX(tools::Long nHorzMove)
constexpr tools::Long X() const
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)
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