LibreOffice Module vcl (master)
1
|
#include <sal/config.h>
#include <tools/fract.hxx>
#include <vcl/commandevent.hxx>
#include <vcl/idle.hxx>
#include <vcl/inputctx.hxx>
#include <vcl/window.hxx>
#include <vcl/settings.hxx>
#include <o3tl/typed_flags_set.hxx>
#include <cppuhelper/weakref.hxx>
#include <optional>
#include <list>
#include <memory>
#include <vector>
#include <set>
Go to the source code of this file.
Classes | |
struct | ImplWinData |
struct | ImplFrameData |
struct | ImplAccessibleInfos |
struct | o3tl::typed_flags< ImplPaintFlags > |
class | WindowImpl |
class | vcl::PaintBufferGuard |
Sets up the buffer to have settings matching the window, and restores the original state in the dtor. More... | |
Enumerations | |
enum | AlwaysInputMode { AlwaysInputNone = 0, AlwaysInputEnabled = 1 } |
enum | ImplPaintFlags { ImplPaintFlags::NONE = 0x0000, ImplPaintFlags::Paint = 0x0001, ImplPaintFlags::PaintAll = 0x0002, ImplPaintFlags::PaintAllChildren = 0x0004, ImplPaintFlags::PaintChildren = 0x0008, ImplPaintFlags::Erase = 0x0010, ImplPaintFlags::CheckRtl = 0x0020 } |
Functions | |
VCL_DLLPUBLIC Size | bestmaxFrameSizeForScreenSize (const Size &rScreenSize) |
bool | isVisibleInLayout (const vcl::Window *pWindow) |
bool | isEnabledInLayout (const vcl::Window *pWindow) |
bool | ImplWindowFrameProc (vcl::Window *pInst, SalEvent nEvent, const void *pEvent) |
bool | ImplHandleMouseEvent (const VclPtr< vcl::Window > &xWindow, MouseNotifyEvent nSVEvent, bool bMouseLeave, tools::Long nX, tools::Long nY, sal_uInt64 nMsgTime, sal_uInt16 nCode, MouseEventModifiers nMode) |
void | ImplHandleResize (vcl::Window *pWindow, tools::Long nNewWidth, tools::Long nNewHeight) |
VCL_DLLPUBLIC void | ImplWindowStateFromStr (WindowStateData &rData, const OString &rStr) |
VCL_DLLPUBLIC css::uno::Reference< css::accessibility::XAccessibleEditableText > | FindFocusedEditableText (css::uno::Reference< css::accessibility::XAccessibleContext > const &) |
enum AlwaysInputMode |
|
strong |
VCL_DLLPUBLIC Size bestmaxFrameSizeForScreenSize | ( | const Size & | rScreenSize | ) |
Definition at line 705 of file dialog.cxx.
References h, Size::Height(), n, void(), w, and Size::Width().
Referenced by SystemWindow::setOptimalLayoutSize(), and DockingWindow::setOptimalLayoutSize().
VCL_DLLPUBLIC css::uno::Reference<css::accessibility::XAccessibleEditableText> FindFocusedEditableText | ( | css::uno::Reference< css::accessibility::XAccessibleContext > const & | ) |
bool ImplHandleMouseEvent | ( | const VclPtr< vcl::Window > & | xWindow, |
MouseNotifyEvent | nSVEvent, | ||
bool | bMouseLeave, | ||
tools::Long | nX, | ||
tools::Long | nY, | ||
sal_uInt64 | nMsgTime, | ||
sal_uInt16 | nCode, | ||
MouseEventModifiers | nMode | ||
) |
bRet &&
Definition at line 264 of file winproc.cxx.
References assert(), AutoFocus, AutoScroll, ContextMenu, ContextMenuEventLink(), DBG_ASSERT, vcl::Window::EndAutoScroll(), Help::EndExtHelp(), vcl::Window::EndExtTextInput(), vcl::Window::EndTracking(), ENTERWINDOW, VclPtr< reference_type >::get(), MouseSettings::GetContextMenuClicks(), MouseSettings::GetContextMenuCode(), MouseSettings::GetDoubleClickHeight(), MouseSettings::GetDoubleClickTime(), MouseSettings::GetDoubleClickWidth(), vcl::Window::GetDragSource(), MouseSettings::GetMiddleButtonAction(), AllSettings::GetMouseSettings(), MouseSettings::GetOptions(), vcl::Window::GetOutDev(), MouseEvent::GetPosPixel(), OutputDevice::GetSettings(), MouseSettings::GetStartDragCode(), MouseSettings::GetStartDragHeight(), MouseSettings::GetStartDragWidth(), vcl::Window::GetStyle(), tools::Time::GetSystemTicks(), NotifyEvent::GetWindow(), ImplCallCommand(), ImplCallPreNotify(), ImplDestroyHelpWindow(), vcl::Window::ImplFindWindow(), vcl::Window::ImplFrameToOutput(), vcl::Window::ImplGetFrameData(), vcl::Window::ImplGetFrameWindow(), ImplGetSVData(), ImplGetSVHelpData(), vcl::Window::ImplGetWinData(), vcl::Window::ImplGetWindow(), vcl::Window::ImplGetWindowImpl(), ImplHandleMouseEvent(), ImplHandleMouseFloatMode(), ImplHandleMouseHelpRequest(), OutputDevice::ImplIsAntiparallel(), vcl::Window::ImplNotifyKeyMouseCommandEventListeners(), ImplSetMousePointer(), vcl::Window::IsDisposed(), vcl::Window::IsEnabled(), vcl::Window::IsInModalMode(), vcl::Window::IsInputEnabled(), KEY_MOD1, KEY_MOD2, KEY_MOD3, KEY_SHIFT, LEAVEWINDOW, ImplSVData::maAppData, ImplSVHelpData::mbExtHelpMode, ImplFrameData::mbInMouseMove, ImplFrameData::mbInternalDragGestureRecognizer, WindowImpl::mbMouseButtonDown, WindowImpl::mbMouseButtonUp, ImplFrameData::mbMouseIn, ImplWinData::mbMouseOver, ImplFrameData::mbStartDragCalled, ImplFrameData::mnBeforeLastMouseX, ImplFrameData::mnBeforeLastMouseY, ImplFrameData::mnClickCount, ImplFrameData::mnFirstMouseCode, ImplFrameData::mnFirstMouseX, ImplFrameData::mnFirstMouseY, ImplSVAppData::mnLastInputTime, ImplFrameData::mnLastMouseWinX, ImplFrameData::mnLastMouseWinY, ImplFrameData::mnLastMouseX, ImplFrameData::mnLastMouseY, ImplFrameData::mnMouseCode, ImplFrameData::mnMouseDownTime, ImplFrameData::mnMouseMode, ImplSVWinData::mnTrackFlags, MODIFIERCHANGED, MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT, MOUSEBUTTONDOWN, vcl::Window::MouseButtonDown(), MOUSEBUTTONUP, vcl::Window::MouseButtonUp(), MOUSEMOVE, vcl::Window::MouseMove(), ImplSVAppData::mpActivePopupMenu, ImplSVWinData::mpAutoScrollWin, ImplSVWinData::mpCaptureWin, ImplSVWinData::mpExtTextInputWin, ImplSVWinData::mpFirstFloat, WindowImpl::mpFrameData, ImplSVHelpData::mpHelpWin, ImplFrameData::mpMouseDownWin, ImplFrameData::mpMouseMoveWin, ImplSVWinData::mpTrackTimer, ImplSVWinData::mpTrackWin, ImplSVData::mpWinData, WindowImpl::mxDNDListenerContainer, NoGrabFocus, vcl::Window::OutputToScreenPixel(), PasteSelection, Point, Application::PostUserEvent(), OutputDevice::ReMirror(), SAL_WARN_IF, ScrollRepeat, Timer::Start(), StartAutoScroll, SYNTHETIC, vcl::Window::ToTop(), vcl::Window::Tracking(), and WB_OWNERDRAWDECORATION.
Referenced by vcl::Window::ImplCallMouseMove(), ImplHandleMouseEvent(), ImplHandleSalMouseButtonDown(), ImplHandleSalMouseButtonUp(), ImplHandleSalMouseLeave(), and ImplHandleSalMouseMove().
void ImplHandleResize | ( | vcl::Window * | pWindow, |
tools::Long | nNewWidth, | ||
tools::Long | nNewHeight | ||
) |
Definition at line 1640 of file winproc.cxx.
References VclPtr< reference_type >::get(), OutputDevice::GetOutputHeightPixel(), OutputDevice::GetOutputSizePixel(), OutputDevice::GetOutputWidthPixel(), vcl::Window::GetStyle(), IMPL_MIN_NEEDSYSWIN, vcl::Window::ImplCallResize(), ImplDestroyHelpWindow(), ImplGetSVHelpData(), vcl::Window::ImplGetWindow(), vcl::Window::ImplGetWindowImpl(), vcl::Window::ImplNotifyIconifiedState(), vcl::Window::ImplSetClipFlag(), WorkWindow::IsPresentationMode(), vcl::Window::IsReallyVisible(), vcl::Window::IsVisible(), KillOwnPopups(), ImplFrameData::maResizeIdle, WindowImpl::mbAllResize, WindowImpl::mbCallResize, WindowImpl::mbFloatWin, WindowImpl::mbFrame, ImplFrameData::mbMinimized, ImplFrameData::mbNeedSysWindow, WindowImpl::mbWaitSystemResize, ImplFrameData::mpBuffer, WindowImpl::mpClientWindow, WindowImpl::mpFrameData, WindowImpl::mpFrameWindow, ImplSVHelpData::mpHelpWin, VirtualDevice::SetOutputSizePixel(), Idle::Start(), vcl::Window::SupportsDoubleBuffering(), WB_MOVEABLE, WB_OWNERDRAWDECORATION, and WB_SIZEABLE.
Referenced by ImplHandleMoveResize(), and ImplWindowFrameProc().
bool ImplWindowFrameProc | ( | vcl::Window * | pInst, |
SalEvent | nEvent, | ||
const void * | pEvent | ||
) |
Definition at line 2361 of file winproc.cxx.
References Close, ClosePopups, DBG_TESTSOLARMUTEX, DeleteSurroundingTextRequest, DisplayChanged, EndExtTextInput, ExternalGesture, ExternalKeyInput, ExternalKeyUp, ExternalMouseButtonDown, ExternalMouseButtonUp, ExternalMouseMove, ExtTextInput, ExtTextInputPos, FontChanged, Gesture, MouseEvent::GetButtons(), KeyEvent::GetCharCode(), SalFrame::GetClientSize(), GetFocus, vcl::KeyCode::GetFullCode(), SalFrame::GetGeometry(), KeyEvent::GetKeyCode(), AllSettings::GetLayoutRTL(), MouseEvent::GetModifier(), GetpApp(), MouseEvent::GetPosPixel(), KeyEvent::GetRepeat(), tools::Time::GetSystemTicks(), vcl::Window::ImplGetWindowImpl(), ImplHandleClose(), ImplHandleEndExtTextInput(), ImplHandleExtTextInput(), ImplHandleGestureEvent(), ImplHandleGetFocus(), ImplHandleInputContextChange(), ImplHandleInputLanguageChange(), ImplHandleKey(), ImplHandleLongPress(), ImplHandleLoseFocus(), ImplHandleMenuEvent(), ImplHandleMove(), ImplHandleMoveResize(), ImplHandlePaint(), ImplHandleResize(), ImplHandleSalDeleteSurroundingTextRequest(), ImplHandleSalExtTextInputPos(), ImplHandleSalKeyMod(), ImplHandleSalMouseButtonDown(), ImplHandleSalMouseButtonUp(), ImplHandleSalMouseLeave(), ImplHandleSalMouseMove(), ImplHandleSalQueryCharPosition(), ImplHandleSalSettings(), ImplHandleSalSurroundingTextRequest(), ImplHandleShowDialog(), ImplHandleStartReconversion(), ImplHandleSurroundingTextSelectionChange(), ImplHandleSwipe(), ImplHandleUserEvent(), ImplHandleWheelEvent(), InputContextChange, InputLanguageChange, KeyInput, KEYINPUT, KeyModChange, KeyUp, KEYUP, KillOwnPopups(), LongPress, LoseFocus, SalFrame::maGeometry, SalExtTextInputEvent::maText, SalPaintEvent::mbImmediateUpdate, SalGestureEvent::meEventType, MenuActivate, MenuButtonCommand, MenuCommand, MenuDeactivate, MenuHighlight, SalGestureEvent::meOrientation, SalGestureEvent::mfOffset, SalPaintEvent::mnBoundHeight, SalPaintEvent::mnBoundWidth, SalPaintEvent::mnBoundX, SalPaintEvent::mnBoundY, SalMouseEvent::mnButton, SalKeyEvent::mnCharCode, SalAbstractMouseEvent::mnCode, SalKeyEvent::mnCode, SalExtTextInputEvent::mnCursorFlags, SalExtTextInputEvent::mnCursorPos, SalSurroundingTextSelectionChangeEvent::mnEnd, SalKeyEvent::mnRepeat, SalSurroundingTextSelectionChangeEvent::mnStart, SalAbstractMouseEvent::mnTime, SalAbstractMouseEvent::mnX, SalGestureEvent::mnX, SalAbstractMouseEvent::mnY, SalGestureEvent::mnY, MouseActivate, MouseButtonDown, MouseButtonUp, MouseLeave, MouseMove, Move, MoveResize, WindowImpl::mpFrame, SalExtTextInputEvent::mpTextAttr, SalFrameGeometry::nHeight, SalFrameGeometry::nWidth, Paint, Point, PrinterChanged, QueryCharPosition, Application::Quit(), Resize, SAL_WARN, SettingsChanged, ShowDialog, Shutdown, StartReconversion, SurroundingTextRequest, SurroundingTextSelectionChange, Swipe, UserEvent, and WheelMouse.
Referenced by IMPL_STATIC_LINK(), vcl::Window::ImplInit(), DebugEventInjector::InjectKeyNavEdit(), DebugEventInjector::InjectMenuEvent(), DebugEventInjector::InjectTextEvent(), and vcl::Window::PostExtTextInputEvent().
VCL_DLLPUBLIC void ImplWindowStateFromStr | ( | WindowStateData & | rData, |
const OString & | rStr | ||
) |
Definition at line 434 of file syswin.cxx.
References WindowStateData::GetHeight(), WindowStateData::GetMaximizedHeight(), WindowStateData::GetMaximizedWidth(), WindowStateData::GetMaximizedX(), WindowStateData::GetMaximizedY(), WindowStateData::GetWidth(), WindowStateData::GetX(), WindowStateData::GetY(), Height, MaximizedHeight, MaximizedWidth, MaximizedX, MaximizedY, nIndex, NONE, nState, WindowStateData::SetHeight(), WindowStateData::SetMask(), WindowStateData::SetMaximizedHeight(), WindowStateData::SetMaximizedWidth(), WindowStateData::SetMaximizedX(), WindowStateData::SetMaximizedY(), WindowStateData::SetState(), WindowStateData::SetWidth(), WindowStateData::SetX(), WindowStateData::SetY(), State, Width, X, and Y.
Referenced by SystemWindow::SetWindowState().
bool isEnabledInLayout | ( | const vcl::Window * | pWindow | ) |
Definition at line 2852 of file layout.cxx.
References vcl::Window::GetParent(), isContainerWindow(), and vcl::Window::IsEnabled().
Referenced by Dialog::GrabFocusToFirstControl(), ImplGetChildWindow(), and vcl::Window::ImplGetDlgWindow().
bool isVisibleInLayout | ( | const vcl::Window * | pWindow | ) |
Definition at line 2839 of file layout.cxx.
References bVisible, vcl::Window::GetParent(), isContainerWindow(), and vcl::Window::IsVisible().
Referenced by Dialog::GrabFocusToFirstControl(), vcl::ImplGetLabeledBy(), ImplGetLabelFor(), and ImplGetSubChildWindow().