32#include <com/sun/star/i18n/Weekdays.hpp>
33#include <com/sun/star/i18n/CalendarDisplayIndex.hpp>
34#include <com/sun/star/i18n/CalendarFieldIndex.hpp>
45#define MONTH_BORDERX 4
49#define TITLE_BORDERY 2
51#define SPIN_OFFY TITLE_BORDERY
53#define CALENDAR_HITTEST_DAY (sal_uInt16(0x0001))
54#define CALENDAR_HITTEST_MONTHTITLE (sal_uInt16(0x0004))
55#define CALENDAR_HITTEST_PREV (sal_uInt16(0x0008))
56#define CALENDAR_HITTEST_NEXT (sal_uInt16(0x0010))
58#define MENU_YEAR_COUNT 3
65 pTable->insert( rDate.
GetDate() );
67 pTable->erase( rDate.
GetDate() );
87 OUString aGregorian(
"gregorian");
92 SAL_WARN(
"vcl.control",
"Calendar::ImplInit: No ``gregorian'' calendar available for locale ``"
94 <<
"'' and other calendars aren't supported. Using en-US fallback." );
111 for (sal_Int32
i = 0;
i < 31; ++
i)
138 maOldFormatFirstDate( 0, 0, 1900 ),
139 maOldFormatLastDate( 0, 0, 1900 ),
140 maFirstDate( 0, 0, 1900 ),
141 maOldFirstDate( 0, 0, 1900 ),
142 maCurDate(
Date::SYSTEM ),
143 maOldCurDate( 0, 0, 1900 )
167 case i18n::Weekdays::SUNDAY :
170 case i18n::Weekdays::MONDAY :
173 case i18n::Weekdays::TUESDAY :
176 case i18n::Weekdays::WEDNESDAY :
179 case i18n::Weekdays::THURSDAY :
182 case i18n::Weekdays::FRIDAY :
185 case i18n::Weekdays::SATURDAY :
189 SAL_WARN(
"vcl.control",
"Calendar::ImplGetWeekStart: broken i18n Gregorian calendar (getFirstDayOfWeek())");
204 if ( (aOutSize.
Width() <= 1) || (aOutSize.
Height() <= 1) )
248 for ( sal_Int16 nDayOfWeek = 0; nDayOfWeek < 7; nDayOfWeek++ )
252 i18n::CalendarDisplayIndex::DAY, nDay, 2));
278 nWeekDay =
static_cast<sal_uInt16
>(aTempDate.
GetDayOfWeek());
279 nWeekDay = (nWeekDay+(7-
static_cast<sal_uInt16
>(eStartDay))) % 7;
282 sal_uInt16 nDaysInMonth;
284 for ( sal_uInt16
i = 0;
i < nMonthCount;
i++ )
288 aTempDate.
AddDays( nDaysInMonth );
290 Date aTempDate2 = aTempDate;
293 aTempDate2.
AddDays( -(nDaysInMonth-1) );
294 nWeekDay =
static_cast<sal_uInt16
>(aTempDate2.
GetDayOfWeek());
295 nWeekDay = (nWeekDay+(7-
static_cast<sal_uInt16
>(eStartDay))) % 7;
360 if ( (rPos.
X() < nX) && (rPos.
Y() < nYMonth) )
366 if ( (rPos.
X() > nX) && (rPos.
Y() < nYMonth) &&
375 if ( rPos.
Y() < nDayY )
377 sal_Int32 nDayIndex =
static_cast<sal_Int32
>(rDate.
GetDayOfWeek());
378 nDayIndex = (nDayIndex+(7-
static_cast<sal_Int32
>(eStartDay))) % 7;
379 if ( (
i == 0) && (j == 0) )
381 Date aTempDate = rDate;
382 aTempDate.
AddDays( -nDayIndex );
383 for ( nDay = 0; nDay < nDayIndex; nDay++ )
386 if ( (rPos.
Y() >= nDayY) && (rPos.
Y() < nDayY+
mnDayHeight) &&
395 for ( nDay = 1; nDay <= nDaysInMonth; nDay++ )
397 if ( rPos.
Y() < nDayY )
403 if ( (rPos.
Y() >= nDayY) && (rPos.
Y() < nDayY+
mnDayHeight) &&
409 if ( nDayIndex == 6 )
419 sal_uInt16 nWeekDay =
static_cast<sal_uInt16
>(rDate.
GetDayOfWeek());
420 nWeekDay = (nWeekDay+(7-
static_cast<sal_uInt16
>(eStartDay))) % 7;
421 sal_Int32 nDayCount = 42-nDaysInMonth-nWeekDay;
422 Date aTempDate = rDate;
423 aTempDate.
AddDays( nDaysInMonth );
424 for ( nDay = 1; nDay <= nDayCount; nDay++ )
426 if ( rPos.
Y() < nDayY )
432 if ( (rPos.
Y() >= nDayY) && (rPos.
Y() < nDayY+
mnDayHeight) &&
439 if ( nDayIndex == 6 )
471 if (nWidth < nHeight)
480 rRect.
Top() + (nHeight / 2) ),
484 aRect.AdjustLeft(nLines );
485 aRect.AdjustRight(nLines );
489 for (i = 0;
i < nLines;
i++)
493 aRect.AdjustLeft( 1 );
494 aRect.AdjustRight( 1 );
498 aRect.AdjustLeft( -1 );
499 aRect.AdjustRight( -1 );
501 aRect.AdjustTop( -1 );
502 aRect.AdjustBottom( 1 );
518 ImplDrawSpinArrow(rRenderContext, aOutRect,
true);
524 ImplDrawSpinArrow(rRenderContext, aOutRect,
false);
529 sal_uInt16 nDay, sal_uInt16 nMonth, sal_Int16 nYear,
530 bool bOther, sal_Int32 nToday )
532 Color const * pTextColor =
nullptr;
588 if ((nDay == aTodayDate.
GetDay()) &&
589 (nMonth == aTodayDate.
GetMonth()) &&
590 (nYear == aTodayDate.
GetYear()))
631 rRenderContext.
DrawRect(aTitleRect);
633 Point aTopLeft2(aTitleRect.
Left(), aTitleRect.
Top() + 1);
637 rRenderContext.
DrawLine(aTopLeft1,
Point(aBottomRight1.
X(), aTopLeft1.
Y()));
639 rRenderContext.
DrawLine(aTopLeft2,
Point(aBottomRight2.
X(), aTopLeft2.
Y()));
640 rRenderContext.
DrawLine(aTopLeft2,
Point(aTopLeft2.
X(), aBottomRight2.
Y()));
642 rRenderContext.
DrawLine(
Point(aTopLeft2.
X(), aBottomRight2.
Y()), aBottomRight2);
643 rRenderContext.
DrawLine(
Point(aBottomRight2.
X(), aTopLeft2.
Y()), aBottomRight2);
645 rRenderContext.
DrawLine(
Point(aTopLeft1.
X(), aBottomRight1.
Y()), aBottomRight1);
651 aSepPos2.
setX( aSepPos1.
X() );
653 rRenderContext.
DrawLine(aSepPos1, aSepPos2);
655 aSepPos2.
setX( aSepPos1.
X() );
657 rRenderContext.
DrawLine(aSepPos1, aSepPos2);
671 + OUString::number(nYear);
683 if (nMonthTextWidth > nMaxMonthWidth)
688 + OUString::number(nYear);
689 nMonthTextWidth = rRenderContext.
GetTextWidth(aMonthText);
692 if (nTempOff < nMonthOffX1)
693 nDeltaX += nMonthOffX1 + 1;
696 if (nTempOff + nMonthTextWidth >
mnMonthWidth - nMonthOffX2)
697 nDeltaX +=
mnMonthWidth - nMonthOffX2 - nMonthTextWidth;
702 rRenderContext.
DrawText(
Point(nDeltaX, nDeltaY), aMonthText);
710 Point aStartPos(nDayX, nDeltaY);
713 for (
int k=0; k<7; ++k)
721 sal_uInt16 nDayIndex =
static_cast<sal_uInt16
>(aDate.
GetDayOfWeek());
722 nDayIndex = (nDayIndex + (7 -
static_cast<sal_uInt16
>(eStartDay))) % 7;
723 if (
i == 0 && j == 0)
725 Date aTempDate = aDate;
726 aTempDate.
AddDays( -nDayIndex );
727 for (nDay = 0; nDay < nDayIndex; ++nDay)
735 for (nDay = 1; nDay <= nDaysInMonth; nDay++)
738 ImplDrawDate(rRenderContext, nDeltaX, nDayY, nDay, nMonth, nYear,
750 sal_uInt16 nWeekDay =
static_cast<sal_uInt16
>(aDate.
GetDayOfWeek());
751 nWeekDay = (nWeekDay + (7 -
static_cast<sal_uInt16
>(eStartDay))) % 7;
752 sal_uInt16 nDayCount = 42 - nDaysInMonth - nWeekDay;
753 Date aTempDate = aDate;
754 aTempDate.
AddDays( nDaysInMonth );
755 for (nDay = 1; nDay <= nDayCount; ++nDay)
798 for (
auto const& nKey : *pOld)
800 if ( pNew->find(nKey) == pNew->end() )
802 Date aTempDate(nKey);
807 for (
auto const& nKey : *pNew)
809 if ( pOld->find(nKey) == pOld->end() )
811 Date aTempDate(nKey);
821 Date aTempDate = rDate;
836 if ( (
maCurDate != aOldDate) || bNewSel )
841 if ( !bNewSel || aOldSel.find( aOldDate.
GetDate() ) == aOldSel.end() )
888 sal_uInt16 nMonthOff;
889 sal_uInt16 nCurItemId;
890 sal_uInt16 nYear = rDate.
GetYear()-1;
893 sal_uInt16 nYearIdCount = 1000;
905 for ( j = 1; j <= 12; j++ )
906 pYearPopupMenu->InsertItem( nYearIdCount+j,
908 i18n::CalendarDisplayIndex::MONTH, j-1, 1));
909 aPopupMenu->InsertItem( 10+
i, OUString::number( nYear+
i ) );
910 aPopupMenu->SetPopupMenu( 10+
i, pYearPopupMenu );
911 nYearIdCount += 1000;
915 nCurItemId = aPopupMenu->Execute(
this, rPos );
921 sal_uInt16 nTempMonthOff = nMonthOff % 12;
922 sal_uInt16 nTempYearOff = nMonthOff / 12;
923 sal_uInt16 nNewMonth = nCurItemId % 1000;
924 sal_uInt16 nNewYear = nYear+((nCurItemId-1000)/1000);
925 if ( nTempMonthOff < nNewMonth )
926 nNewMonth = nNewMonth - nTempMonthOff;
930 nNewMonth = 12-(nTempMonthOff-nNewMonth);
932 nNewYear = nNewYear - nTempYearOff;
957 bool bSelection =
false;
978 if ( aOldSel.find( aOldDate.
GetDate() ) == aOldSel.end() )
1103 Date aTempDate = aNewDate;
1178 sal_uInt16 nMonth = aDate.
GetMonth();
1185 + OUString::number(nWeek);
1187 if ( (nMonth == 12) && (nWeek == 1) )
1191 else if ( (nMonth == 1) && (nWeek > 50) )
1193 aStr +=
", " + OUString::number(aDate.
GetYear()-1);
1225 if ( nNotchDelta < 0 )
1227 while ( nNotchDelta < 0 )
1235 while ( nNotchDelta > 0 )
1282 Date aDate( 0, 0, 0 );
1309 if ( nDateOff < 365 )
1318 aTempDate.
AddDays( nDaysInMonth );
1319 nDateOff -= nDaysInMonth;
1363 for ( sal_uInt16
i = 0;
i < nMonthCount;
i++ )
1400 sal_uInt16 nDayIndex;
1403 if ( rDate < aDate )
1406 nDaysOff = aDate-rDate;
1415 if ( rDate > aLastDate )
1417 sal_Int32 nWeekDay =
static_cast<sal_Int32
>(aLastDate.
GetDayOfWeek());
1419 aLastDate.
AddDays( -nWeekDay );
1421 nDaysOff = rDate-aLastDate;
1423 for ( sal_Int32
i = 0;
i <= nDaysOff;
i++ )
1425 if ( aLastDate == rDate )
1431 if ( nDayIndex == 6 )
1458 nDayIndex =
static_cast<sal_uInt16
>(aDate.
GetDayOfWeek());
1459 nDayIndex = (nDayIndex+(7-
static_cast<sal_uInt16
>(
ImplGetWeekStart()))) % 7;
1460 for ( sal_uInt16 nDay = 1; nDay <= nDaysInMonth; nDay++ )
1462 if ( nDay == rDate.
GetDay() )
1470 if ( nDayIndex == 6 )
1480 aDate.
AddDays( nDaysInMonth );
1531 rJsonWriter.
put(
"type",
"calendar");
1532 rJsonWriter.
put(
"day", aDate.GetDay());
1533 rJsonWriter.
put(
"month", aDate.GetMonth());
1534 rJsonWriter.
put(
"year", aDate.GetYear());
1539 class ImplCFieldFloat final
1542 std::unique_ptr<weld::Builder> mxBuilder;
1544 std::unique_ptr<weld::Calendar> mxCalendar;
1545 std::unique_ptr<weld::Button> mxTodayBtn;
1546 std::unique_ptr<weld::Button> mxNoneBtn;
1550 : mxBuilder(
Application::CreateInterimBuilder(pContainer,
"svt/ui/calendar.ui", false))
1551 ,
mxContainer(mxBuilder->weld_container(
"Calendar"))
1552 , mxCalendar(mxBuilder->weld_calendar(
"date"))
1553 , mxTodayBtn(mxBuilder->weld_button(
"today"))
1554 , mxNoneBtn(mxBuilder->weld_button(
"none"))
1564 mxCalendar->grab_focus();
1572 virtual void dispose()
override;
1582 setDeferredProperties();
1605weld::Button* ImplCFieldFloat::EnableTodayBtn(
bool bEnable)
1608 return bEnable ? mxTodayBtn.get() :
nullptr;
1611weld::Button* ImplCFieldFloat::EnableNoneBtn(
bool bEnable)
1614 return bEnable ? mxNoneBtn.get() :
nullptr;
1619 , mpFloatWin(nullptr)
1620 , mpTodayBtn(nullptr)
1621 , mpNoneBtn(nullptr)
1642 Date aNewDate = rCalendar.get_date();
1645 mpFloatWin->EnableDocking(
false);
1648 if ( IsEmptyDate() || ( aNewDate != GetDate() ) )
1650 SetDate( aNewDate );
1659 mpFloatWin->EnableDocking(
false);
1663 if (&rBtn == mpTodayBtn)
1666 if ( (aToday != GetDate()) || IsEmptyDate() )
1673 else if (&rBtn == mpNoneBtn)
1675 if ( !IsEmptyDate() )
1697 Date aDate = GetDate();
#define CALENDAR_HITTEST_PREV
static void ImplCalendarSelectDate(IntDateSet *pTable, const Date &rDate, bool bSelect)
IMPL_LINK(CalendarField, ImplSelectHdl, weld::Calendar &, rCalendar, void)
IMPL_LINK_NOARG(CalendarField, ImplPopupModeEndHdl, FloatingWindow *, void)
#define CALENDAR_HITTEST_DAY
#define CALENDAR_HITTEST_MONTHTITLE
#define CALENDAR_HITTEST_NEXT
const StyleSettings & GetStyleSettings() const
Base class used mainly for the LibreOffice Desktop class.
static const LocaleDataWrapper & GetAppLocaleDataWrapper()
Get the application's locale data wrapper.
VclPtr< ImplCFieldFloatWin > mpFloatWin
virtual bool FocusWindowBelongsToControl(const vcl::Window *pFocusWin) const override
weld::Button * mpTodayBtn
virtual void StateChanged(StateChangedType nStateChange) override
CalendarField(vcl::Window *pParent, WinBits nWinStyle)
virtual bool ShowDropDown(bool bShow) override
virtual ~CalendarField() override
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
void loadCalendar(const OUString &rUniqueID, const css::lang::Locale &rLocale, bool bTimeZoneUTC=true)
sal_Int16 getFirstDayOfWeek() const
sal_Int16 getValue(sal_Int16 nFieldIndex) const
OUString getDisplayName(sal_Int16 nCalendarDisplayIndex, sal_Int16 nIdx, sal_Int16 nNameType) const
OUString getUniqueID() const
void setGregorianDateTime(const DateTime &rDateTime)
void ImplDrawSpin(vcl::RenderContext &rRenderContext)
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect) override
tools::Rectangle maPrevRect
void ImplScrollCalendar(bool bPrev)
void SetCurDate(const Date &rNewDate)
DayOfWeek ImplGetWeekStart() const
sal_Int32 mnDayOfWeekAry[8]
Calendar(vcl::Window *pParent, WinBits nWinStyle)
virtual void LoseFocus() override
virtual void MouseButtonDown(const MouseEvent &rMEvt) override
void ImplUpdate(bool bCalcNew=false)
Link< Calendar *, void > maActivateHdl
tools::Rectangle GetDateRect(const Date &rDate) const
virtual void KeyInput(const KeyEvent &rKEvt) override
sal_uInt16 GetMonthCount() const
void ImplInit(WinBits nWinStyle)
virtual void Resize() override
tools::Long mnMonthPerLine
void ImplEndTracking(bool bCancel)
tools::Long mnWeekDayOffY
virtual void DumpAsPropertyTree(tools::JsonWriter &) override
Dumps itself and potentially its children to a property tree, to be written easily to JSON.
Date GetLastMonth() const
void ImplDrawDate(vcl::RenderContext &rRenderContext, tools::Long nX, tools::Long nY, sal_uInt16 nDay, sal_uInt16 nMonth, sal_Int16 nYear, bool bOther, sal_Int32 nToday)
Date GetFirstMonth() const
std::unique_ptr< IntDateSet > mpSelectTable
bool GetDate(const Point &rPos, Date &rDate) const
virtual void DataChanged(const DataChangedEvent &rDCEvt) override
sal_uInt16 ImplDoHitTest(const Point &rPos, Date &rDate) const
virtual void Tracking(const TrackingEvent &rMEvt) override
virtual ~Calendar() override
CalendarWrapper maCalendarWrapper
void ImplUpdateSelection(IntDateSet *pOld)
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
tools::Long mnMonthHeight
Date GetFirstSelectedDate() const
Size CalcWindowSizePixel() const
virtual void ApplySettings(vcl::RenderContext &rRenderContext) override
Link< Calendar *, void > maSelectHdl
virtual Size GetOptimalSize() const override
virtual void GetFocus() override
std::unique_ptr< IntDateSet > mpOldSelectTable
void ImplTracking(const Point &rPos, bool bRepeat)
void ImplDraw(vcl::RenderContext &rRenderContext)
void ImplUpdateDate(const Date &rDate)
void ImplMouseSelect(const Date &rDate, sal_uInt16 nHitTest)
virtual void StateChanged(StateChangedType nStateChange) override
virtual void Command(const CommandEvent &rCEvt) override
tools::Rectangle maNextRect
void ImplShowMenu(const Point &rPos, const Date &rDate)
Date maOldFormatFirstDate
void SetFirstDate(const Date &rNewFirstDate)
virtual void RequestHelp(const HelpEvent &rHEvt) override
bool IsRGBEqual(const Color &rColor) const
CommandEventId GetCommand() const
const CommandWheelData * GetWheelData() const
const Point & GetMousePosPixel() const
bool IsMouseEvent() const
virtual void StateChanged(StateChangedType nStateChange) override
virtual void Resize() override
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
virtual bool FocusWindowBelongsToControl(const vcl::Window *pFocusWin) const
DataChangedEventType GetType() const
AllSettingsFlags GetFlags() const
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
sal_Int32 GetDate() const
sal_uInt16 GetDayOfYear() const
void SetDate(sal_Int32 nNewDate)
sal_Int16 GetNextYear() const
void AddDays(sal_Int32 nAddDays)
bool IsValidAndGregorian() const
sal_Int16 GetYear() const
sal_uInt16 GetDay() const
sal_uInt16 GetDaysInMonth() const
DayOfWeek GetDayOfWeek() const
void SetDay(sal_uInt16 nNewDay)
sal_uInt16 GetMonth() const
void EndPopupMode(const vcl::Window *pWin)
void StartPopupMode(const vcl::Window *pWin, const tools::Rectangle &rRect, FloatWinPopupFlags nPopupModeFlags)
void SetPopupModeEndHdl(const vcl::Window *pWindow, const Link< FloatingWindow *, void > &rLink)
VclPtr< vcl::Window > m_xBox
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
Edit * GetSubEdit() const
HelpEventMode GetMode() const
const Point & GetMousePosPixel() const
static void ShowQuickHelp(vcl::Window *pParent, const tools::Rectangle &rScreenRect, const OUString &rHelpText, QuickHelpFlags nStyle=QuickHelpFlags::NONE)
void push_back(sal_Int32 nUnit)
const vcl::KeyCode & GetKeyCode() const
sal_uInt16 GetClicks() const
const Point & GetPosPixel() const
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
void DrawTextArray(const Point &rStartPt, const OUString &rStr, KernArraySpan aKernArray, o3tl::span< const sal_Bool > pKashidaAry, sal_Int32 nIndex, sal_Int32 nLen, SalLayoutFlags flags=SalLayoutFlags::NONE, const SalLayoutGlyphs *pLayoutCache=nullptr)
void DrawRect(const tools::Rectangle &rRect)
void DrawLine(const Point &rStartPt, const Point &rEndPt)
tools::Long GetTextWidth(const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, vcl::text::TextLayoutCache const *=nullptr, SalLayoutGlyphs const *const pLayoutCache=nullptr) const
Width of the text.
void SetTextColor(const Color &rColor)
const Color & GetTextColor() const
void DrawText(const Point &rStartPt, const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, std::vector< tools::Rectangle > *pVector=nullptr, OUString *pDisplayText=nullptr, const SalLayoutGlyphs *pLayoutCache=nullptr)
const AllSettings & GetSettings() const
constexpr tools::Long Y() const
void setX(tools::Long nX)
tools::Long AdjustX(tools::Long nHorzMove)
constexpr tools::Long X() const
A construction helper for ScopedVclPtr.
constexpr tools::Long Height() const
tools::Long AdjustHeight(tools::Long n)
tools::Long AdjustWidth(tools::Long n)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
virtual void StateChanged(StateChangedType nType) override
const Color & GetDarkShadowColor() const
const Color & GetFieldTextColor() const
const Color & GetShadowColor() const
const Color & GetFieldColor() const
const Color & GetWindowTextColor() const
const Color & GetLightColor() const
const vcl::Font & GetToolFont() const
const Color & GetHighlightColor() const
const Color & GetFaceColor() const
const Color & GetHighlightTextColor() const
const Color & GetButtonTextColor() const
bool IsTrackingEnded() const
bool IsTrackingRepeat() const
bool IsTrackingCanceled() const
const MouseEvent & GetMouseEvent() const
A construction helper for a temporary VclPtr.
reference_type * get() const
Get the body.
static VclPtr< reference_type > Create(Arg &&... arg)
A construction helper for VclPtr.
const Color & GetColor() const
sal_uInt16 GetCode() const
Point OutputToScreenPixel(const Point &rPos) const
const Wallpaper & GetBackground() const
tools::Long GetTextWidth(const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, vcl::text::TextLayoutCache const *=nullptr, SalLayoutGlyphs const *const pLayoutCache=nullptr) const
Width of the text.
void SetStyle(WinBits nStyle)
SAL_DLLPRIVATE bool ImplIsWindowOrChild(const vcl::Window *pWindow, bool bSystemWindow=false) const
bool IsReallyVisible() const
void StartTracking(StartTrackingFlags nFlags=StartTrackingFlags::NONE)
vcl::Window * GetParent() const
virtual void RequestHelp(const HelpEvent &rHEvt)
static DockingManager * GetDockingManager()
virtual void Command(const CommandEvent &rCEvt)
bool IsUpdateMode() const
virtual void MouseButtonDown(const MouseEvent &rMEvt)
virtual Point GetPosPixel() const
tools::Long GetTextHeight() const
Height where any character of the current font fits; in logic coordinates.
const AllSettings & GetSettings() const
virtual void KeyInput(const KeyEvent &rKEvt)
::OutputDevice const * GetOutDev() const
virtual void ShowFocus(const tools::Rectangle &rRect)
virtual void DumpAsPropertyTree(tools::JsonWriter &)
Dumps itself and potentially its children to a property tree, to be written easily to JSON.
virtual Size GetSizePixel() const
Size GetOutputSizePixel() const
virtual void DataChanged(const DataChangedEvent &rDCEvt)
void SetPointFont(vcl::RenderContext &rRenderContext, const vcl::Font &rFont)
void EnableDocking(bool bEnable=true)
void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
Point ScreenToOutputPixel(const Point &rPos) const
void SetTextColor(const Color &rColor)
void connect_activated(const Link< Calendar &, void > &rLink)
virtual void set_date(const Date &rDate)=0
constexpr ::Color COL_GRAY(0x80, 0x80, 0x80)
constexpr ::Color COL_LIGHTGRAY(0xC0, 0xC0, 0xC0)
constexpr sal_uInt16 KEY_RETURN
constexpr sal_uInt16 KEY_HOME
constexpr sal_uInt16 KEY_LEFT
constexpr sal_uInt16 KEY_PAGEDOWN
constexpr sal_uInt16 KEY_UP
constexpr sal_uInt16 KEY_RIGHT
constexpr sal_uInt16 KEY_DOWN
constexpr sal_uInt16 KEY_PAGEUP
constexpr sal_uInt16 KEY_END
#define LINK(Instance, Class, Member)
#define SAL_WARN(area, stream)
std::unique_ptr< sal_Int32[]> pData
const LanguageTag & getLocale()
const LanguageTag & getLanguageTag()
Reference< XComponentContext > getComponentContext(Reference< XMultiServiceFactory > const &factory)
virtual void GetFocus() override
std::unique_ptr< ImplCFieldFloat > mxWidget
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
ImplCFieldFloatWin(vcl::Window *pParent)
virtual ~ImplCFieldFloatWin() override
OUString VclResId(TranslateId aId)
std::set< sal_Int32 > IntDateSet