32#include <com/sun/star/i18n/Weekdays.hpp>
33#include <com/sun/star/i18n/CalendarDisplayIndex.hpp>
34#include <com/sun/star/i18n/CalendarFieldIndex.hpp>
44#define MONTH_BORDERX 4
48#define TITLE_BORDERY 2
50#define SPIN_OFFY TITLE_BORDERY
52#define CALENDAR_HITTEST_DAY (sal_uInt16(0x0001))
53#define CALENDAR_HITTEST_MONTHTITLE (sal_uInt16(0x0004))
54#define CALENDAR_HITTEST_PREV (sal_uInt16(0x0008))
55#define CALENDAR_HITTEST_NEXT (sal_uInt16(0x0010))
57#define MENU_YEAR_COUNT 3
64 pTable->insert( rDate.
GetDate() );
66 pTable->erase( rDate.
GetDate() );
86 OUString aGregorian(
"gregorian");
91 SAL_WARN(
"vcl.control",
"Calendar::ImplInit: No ``gregorian'' calendar available for locale ``"
93 <<
"'' and other calendars aren't supported. Using en-US fallback." );
110 for (sal_Int32
i = 0;
i < 31; ++
i)
137 maOldFormatFirstDate( 0, 0, 1900 ),
138 maOldFormatLastDate( 0, 0, 1900 ),
139 maFirstDate( 0, 0, 1900 ),
140 maOldFirstDate( 0, 0, 1900 ),
141 maCurDate(
Date::SYSTEM ),
142 maOldCurDate( 0, 0, 1900 )
166 case i18n::Weekdays::SUNDAY :
169 case i18n::Weekdays::MONDAY :
172 case i18n::Weekdays::TUESDAY :
175 case i18n::Weekdays::WEDNESDAY :
178 case i18n::Weekdays::THURSDAY :
181 case i18n::Weekdays::FRIDAY :
184 case i18n::Weekdays::SATURDAY :
188 SAL_WARN(
"vcl.control",
"Calendar::ImplGetWeekStart: broken i18n Gregorian calendar (getFirstDayOfWeek())");
203 if ( (aOutSize.
Width() <= 1) || (aOutSize.
Height() <= 1) )
247 for ( sal_Int16 nDayOfWeek = 0; nDayOfWeek < 7; nDayOfWeek++ )
251 i18n::CalendarDisplayIndex::DAY, nDay, 2));
277 nWeekDay =
static_cast<sal_uInt16
>(aTempDate.
GetDayOfWeek());
278 nWeekDay = (nWeekDay+(7-
static_cast<sal_uInt16
>(eStartDay))) % 7;
281 sal_uInt16 nDaysInMonth;
283 for ( sal_uInt16
i = 0;
i < nMonthCount;
i++ )
287 aTempDate.
AddDays( nDaysInMonth );
289 Date aTempDate2 = aTempDate;
292 aTempDate2.
AddDays( -(nDaysInMonth-1) );
293 nWeekDay =
static_cast<sal_uInt16
>(aTempDate2.
GetDayOfWeek());
294 nWeekDay = (nWeekDay+(7-
static_cast<sal_uInt16
>(eStartDay))) % 7;
359 if ( (rPos.X() < nX) && (rPos.Y() < nYMonth) )
365 if ( (rPos.X() > nX) && (rPos.Y() < nYMonth) &&
374 if ( rPos.Y() < nDayY )
376 sal_Int32 nDayIndex =
static_cast<sal_Int32
>(rDate.
GetDayOfWeek());
377 nDayIndex = (nDayIndex+(7-
static_cast<sal_Int32
>(eStartDay))) % 7;
378 if ( (
i == 0) && (j == 0) )
380 Date aTempDate = rDate;
381 aTempDate.
AddDays( -nDayIndex );
382 for ( nDay = 0; nDay < nDayIndex; nDay++ )
385 if ( (rPos.Y() >= nDayY) && (rPos.Y() < nDayY+
mnDayHeight) &&
386 (rPos.X() >= nOffX) && (rPos.X() < nOffX+
mnDayWidth) )
394 for ( nDay = 1; nDay <= nDaysInMonth; nDay++ )
396 if ( rPos.Y() < nDayY )
402 if ( (rPos.Y() >= nDayY) && (rPos.Y() < nDayY+
mnDayHeight) &&
403 (rPos.X() >= nOffX) && (rPos.X() < nOffX+
mnDayWidth) )
408 if ( nDayIndex == 6 )
418 sal_uInt16 nWeekDay =
static_cast<sal_uInt16
>(rDate.
GetDayOfWeek());
419 nWeekDay = (nWeekDay+(7-
static_cast<sal_uInt16
>(eStartDay))) % 7;
420 sal_Int32 nDayCount = 42-nDaysInMonth-nWeekDay;
421 Date aTempDate = rDate;
422 aTempDate.
AddDays( nDaysInMonth );
423 for ( nDay = 1; nDay <= nDayCount; nDay++ )
425 if ( rPos.Y() < nDayY )
431 if ( (rPos.Y() >= nDayY) && (rPos.Y() < nDayY+
mnDayHeight) &&
432 (rPos.X() >= nOffX) && (rPos.X() < nOffX+
mnDayWidth) )
438 if ( nDayIndex == 6 )
470 if (nWidth < nHeight)
479 rRect.
Top() + (nHeight / 2) ),
483 aRect.AdjustLeft(nLines );
484 aRect.AdjustRight(nLines );
488 for (i = 0;
i < nLines;
i++)
492 aRect.AdjustLeft( 1 );
493 aRect.AdjustRight( 1 );
497 aRect.AdjustLeft( -1 );
498 aRect.AdjustRight( -1 );
500 aRect.AdjustTop( -1 );
501 aRect.AdjustBottom( 1 );
517 ImplDrawSpinArrow(rRenderContext, aOutRect,
true);
523 ImplDrawSpinArrow(rRenderContext, aOutRect,
false);
528 sal_uInt16 nDay, sal_uInt16 nMonth, sal_Int16 nYear,
529 bool bOther, sal_Int32 nToday )
531 Color const * pTextColor =
nullptr;
587 if ((nDay == aTodayDate.
GetDay()) &&
588 (nMonth == aTodayDate.
GetMonth()) &&
589 (nYear == aTodayDate.
GetYear()))
630 rRenderContext.
DrawRect(aTitleRect);
632 Point aTopLeft2(aTitleRect.
Left(), aTitleRect.
Top() + 1);
636 rRenderContext.
DrawLine(aTopLeft1,
Point(aBottomRight1.X(), aTopLeft1.Y()));
638 rRenderContext.
DrawLine(aTopLeft2,
Point(aBottomRight2.X(), aTopLeft2.Y()));
639 rRenderContext.
DrawLine(aTopLeft2,
Point(aTopLeft2.X(), aBottomRight2.Y()));
641 rRenderContext.
DrawLine(
Point(aTopLeft2.X(), aBottomRight2.Y()), aBottomRight2);
642 rRenderContext.
DrawLine(
Point(aBottomRight2.X(), aTopLeft2.Y()), aBottomRight2);
644 rRenderContext.
DrawLine(
Point(aTopLeft1.X(), aBottomRight1.Y()), aBottomRight1);
650 aSepPos2.setX( aSepPos1.X() );
652 rRenderContext.
DrawLine(aSepPos1, aSepPos2);
653 aSepPos1.AdjustX( 1 );
654 aSepPos2.setX( aSepPos1.X() );
656 rRenderContext.
DrawLine(aSepPos1, aSepPos2);
670 + OUString::number(nYear);
682 if (nMonthTextWidth > nMaxMonthWidth)
687 + OUString::number(nYear);
688 nMonthTextWidth = rRenderContext.
GetTextWidth(aMonthText);
691 if (nTempOff < nMonthOffX1)
692 nDeltaX += nMonthOffX1 + 1;
695 if (nTempOff + nMonthTextWidth >
mnMonthWidth - nMonthOffX2)
696 nDeltaX +=
mnMonthWidth - nMonthOffX2 - nMonthTextWidth;
701 rRenderContext.
DrawText(
Point(nDeltaX, nDeltaY), aMonthText);
709 Point aStartPos(nDayX, nDeltaY);
712 for (
int k=0; k<7; ++k)
720 sal_uInt16 nDayIndex =
static_cast<sal_uInt16
>(aDate.
GetDayOfWeek());
721 nDayIndex = (nDayIndex + (7 -
static_cast<sal_uInt16
>(eStartDay))) % 7;
722 if (
i == 0 && j == 0)
724 Date aTempDate = aDate;
725 aTempDate.
AddDays( -nDayIndex );
726 for (nDay = 0; nDay < nDayIndex; ++nDay)
734 for (nDay = 1; nDay <= nDaysInMonth; nDay++)
737 ImplDrawDate(rRenderContext, nDeltaX, nDayY, nDay, nMonth, nYear,
749 sal_uInt16 nWeekDay =
static_cast<sal_uInt16
>(aDate.
GetDayOfWeek());
750 nWeekDay = (nWeekDay + (7 -
static_cast<sal_uInt16
>(eStartDay))) % 7;
751 sal_uInt16 nDayCount = 42 - nDaysInMonth - nWeekDay;
752 Date aTempDate = aDate;
753 aTempDate.
AddDays( nDaysInMonth );
754 for (nDay = 1; nDay <= nDayCount; ++nDay)
797 for (
auto const& nKey : *pOld)
799 if ( pNew->find(nKey) == pNew->end() )
801 Date aTempDate(nKey);
806 for (
auto const& nKey : *pNew)
808 if ( pOld->find(nKey) == pOld->end() )
810 Date aTempDate(nKey);
820 Date aTempDate = rDate;
835 if ( (
maCurDate != aOldDate) || bNewSel )
840 if ( !bNewSel || aOldSel.find( aOldDate.
GetDate() ) == aOldSel.end() )
887 sal_uInt16 nMonthOff;
888 sal_uInt16 nCurItemId;
889 sal_uInt16 nYear = rDate.
GetYear()-1;
892 sal_uInt16 nYearIdCount = 1000;
904 for ( j = 1; j <= 12; j++ )
905 pYearPopupMenu->InsertItem( nYearIdCount+j,
907 i18n::CalendarDisplayIndex::MONTH, j-1, 1));
908 aPopupMenu->InsertItem( 10+
i, OUString::number( nYear+
i ) );
909 aPopupMenu->SetPopupMenu( 10+
i, pYearPopupMenu );
910 nYearIdCount += 1000;
914 nCurItemId = aPopupMenu->Execute(
this, rPos );
920 sal_uInt16 nTempMonthOff = nMonthOff % 12;
921 sal_uInt16 nTempYearOff = nMonthOff / 12;
922 sal_uInt16 nNewMonth = nCurItemId % 1000;
923 sal_uInt16 nNewYear = nYear+((nCurItemId-1000)/1000);
924 if ( nTempMonthOff < nNewMonth )
925 nNewMonth = nNewMonth - nTempMonthOff;
929 nNewMonth = 12-(nTempMonthOff-nNewMonth);
931 nNewYear = nNewYear - nTempYearOff;
956 bool bSelection =
false;
977 if ( aOldSel.find( aOldDate.
GetDate() ) == aOldSel.end() )
1102 Date aTempDate = aNewDate;
1168 aDateRect.
SetTop( aPt.Y() );
1177 sal_uInt16 nMonth = aDate.
GetMonth();
1184 + OUString::number(nWeek);
1186 if ( (nMonth == 12) && (nWeek == 1) )
1190 else if ( (nMonth == 1) && (nWeek > 50) )
1192 aStr +=
", " + OUString::number(aDate.
GetYear()-1);
1224 if ( nNotchDelta < 0 )
1226 while ( nNotchDelta < 0 )
1234 while ( nNotchDelta > 0 )
1281 Date aDate( 0, 0, 0 );
1308 if ( nDateOff < 365 )
1317 aTempDate.
AddDays( nDaysInMonth );
1318 nDateOff -= nDaysInMonth;
1362 for ( sal_uInt16
i = 0;
i < nMonthCount;
i++ )
1399 sal_uInt16 nDayIndex;
1402 if ( rDate < aDate )
1405 nDaysOff = aDate-rDate;
1414 if ( rDate > aLastDate )
1416 sal_Int32 nWeekDay =
static_cast<sal_Int32
>(aLastDate.
GetDayOfWeek());
1418 aLastDate.
AddDays( -nWeekDay );
1420 nDaysOff = rDate-aLastDate;
1422 for ( sal_Int32
i = 0;
i <= nDaysOff;
i++ )
1424 if ( aLastDate == rDate )
1430 if ( nDayIndex == 6 )
1457 nDayIndex =
static_cast<sal_uInt16
>(aDate.
GetDayOfWeek());
1458 nDayIndex = (nDayIndex+(7-
static_cast<sal_uInt16
>(
ImplGetWeekStart()))) % 7;
1459 for ( sal_uInt16 nDay = 1; nDay <= nDaysInMonth; nDay++ )
1461 if ( nDay == rDate.
GetDay() )
1469 if ( nDayIndex == 6 )
1479 aDate.
AddDays( nDaysInMonth );
1526 class ImplCFieldFloat final
1529 std::unique_ptr<weld::Builder> mxBuilder;
1531 std::unique_ptr<weld::Calendar> mxCalendar;
1532 std::unique_ptr<weld::Button> mxTodayBtn;
1533 std::unique_ptr<weld::Button> mxNoneBtn;
1537 : mxBuilder(
Application::CreateInterimBuilder(pContainer,
"svt/ui/calendar.ui", false))
1538 ,
mxContainer(mxBuilder->weld_container(
"Calendar"))
1539 , mxCalendar(mxBuilder->weld_calendar(
"date"))
1540 , mxTodayBtn(mxBuilder->weld_button(
"today"))
1541 , mxNoneBtn(mxBuilder->weld_button(
"none"))
1551 mxCalendar->grab_focus();
1559 virtual void dispose()
override;
1569 setDeferredProperties();
1592weld::Button* ImplCFieldFloat::EnableTodayBtn(
bool bEnable)
1595 return bEnable ? mxTodayBtn.get() :
nullptr;
1598weld::Button* ImplCFieldFloat::EnableNoneBtn(
bool bEnable)
1601 return bEnable ? mxNoneBtn.get() :
nullptr;
1606 , mpFloatWin(nullptr)
1607 , mpTodayBtn(nullptr)
1608 , mpNoneBtn(nullptr)
1629 Date aNewDate = rCalendar.get_date();
1632 mpFloatWin->EnableDocking(
false);
1635 if ( IsEmptyDate() || ( aNewDate != GetDate() ) )
1637 SetDate( aNewDate );
1646 mpFloatWin->EnableDocking(
false);
1650 if (&rBtn == mpTodayBtn)
1653 if ( (aToday != GetDate()) || IsEmptyDate() )
1660 else if (&rBtn == mpNoneBtn)
1662 if ( !IsEmptyDate() )
1684 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
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
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 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)
virtual 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