25#include <com/sun/star/lang/DisposedException.hpp>
27#include <osl/diagnose.h>
28#include <osl/mutex.hxx>
37 using ::com::sun::star::uno::Reference;
38 using ::com::sun::star::uno::RuntimeException;
39 using ::com::sun::star::lang::DisposedException;
40 using ::com::sun::star::lang::EventObject;
41 using ::com::sun::star::awt::FontDescriptor;
42 using ::com::sun::star::awt::XStyleChangeListener;
47 if ( rEvent.GetId() != VclEventId::WindowDataChanged )
50 if ( !pDataChangedEvent || ( pDataChangedEvent->
GetType() != DataChangedEventType::SETTINGS ) )
52 if ( !( pDataChangedEvent->
GetFlags() & AllSettingsFlags::STYLE ) )
55 EventObject
aEvent( *pOwningWindow );
56 aStyleChangeListeners.notifyEach( &XStyleChangeListener::styleSettingsChanged,
aEvent );
64 class StyleMethodGuard
67 explicit StyleMethodGuard(
const VCLXWindow* pOwningWindow )
69 if ( pOwningWindow ==
nullptr )
70 throw DisposedException();
83 : pOwningWindow( &i_rOwningWindow )
84 ,aStyleChangeListeners( i_rListenerMutex )
103 OSL_ENSURE( pWindow,
"WindowStyleSettings::dispose: window has been reset before we could revoke the listener!" );
107 EventObject
aEvent( *
this );
117 const AllSettings aAllSettings = pWindow->GetSettings();
119 return sal_Int32((aStyleSettings.*i_pGetter)());
129 pWindow->SetSettings( aAllSettings );
135 const AllSettings aAllSettings = pWindow->GetSettings();
147 (aStyleSettings.*i_pSetter)( aNewFont );
149 pWindow->SetSettings( aAllSettings );
379 const AllSettings aAllSettings = pWindow->GetSettings();
669 const AllSettings aAllSettings = pWindow->GetSettings();
735 const AllSettings aAllSettings = pWindow->GetSettings();
749 pWindow->SetSettings( aAllSettings );
910 if ( i_rListener.is() )
918 if ( i_rListener.is() )
const StyleSettings & GetStyleSettings() const
void SetStyleSettings(const StyleSettings &rSet)
DataChangedEventType GetType() const
AllSettingsFlags GetFlags() const
const Color & GetGroupTextColor() const
void SetFieldTextColor(const Color &rColor)
void SetLabelFont(const vcl::Font &rFont)
void SetRadioCheckFont(const vcl::Font &rFont)
const Color & GetMonoColor() const
void SetFieldRolloverTextColor(const Color &rColor)
void SetActionButtonTextColor(const Color &rColor)
const Color & GetDeactiveTextColor() const
void SetGroupTextColor(const Color &rColor)
void SetFloatTitleFont(const vcl::Font &rFont)
const vcl::Font & GetHelpFont() const
void SetActiveTextColor(const Color &rColor)
const Color & GetDarkShadowColor() const
void SetFaceColor(const Color &rColor)
const Color & GetWindowColor() const
const Color & GetDialogTextColor() const
void SetHelpFont(const vcl::Font &rFont)
void SetHelpTextColor(const Color &rColor)
void SetToolFont(const vcl::Font &rFont)
void SetShadowColor(const Color &rColor)
const Color & GetMenuHighlightTextColor() const
void SetActiveBorderColor(const Color &rColor)
void SetPushButtonFont(const vcl::Font &rFont)
const Color & GetFieldTextColor() const
bool GetHighContrastMode() const
const Color & GetShadowColor() const
void SetDisableColor(const Color &rColor)
void SetActiveTabColor(const Color &rColor)
void SetHighlightTextColor(const Color &rColor)
const Color & GetMenuColor() const
const Color & GetMenuHighlightColor() const
const Color & GetFieldColor() const
void SetActionButtonRolloverTextColor(const Color &rColor)
const Color & GetLabelTextColor() const
const Color & GetMenuBarTextColor() const
const Color & GetDeactiveColor() const
const vcl::Font & GetMenuFont() const
void SetDefaultActionButtonTextColor(const Color &rColor)
const Color & GetRadioCheckTextColor() const
void SetActiveColor(const Color &rColor)
void SetHelpColor(const Color &rColor)
void SetInactiveTabColor(const Color &rColor)
const vcl::Font & GetRadioCheckFont() const
void SetDialogColor(const Color &rColor)
void SetMenuTextColor(const Color &rColor)
const vcl::Font & GetFieldFont() const
const vcl::Font & GetFloatTitleFont() const
const Color & GetWorkspaceColor() const
Color GetSeparatorColor() const
const Color & GetCheckedColor() const
const vcl::Font & GetLabelFont() const
void SetGroupFont(const vcl::Font &rFont)
const Color & GetWindowTextColor() const
void SetCheckedColor(const Color &rColor)
void SetMenuColor(const Color &rColor)
const vcl::Font & GetGroupFont() const
void SetHighlightColor(const Color &rColor)
const Color & GetHelpTextColor() const
const vcl::Font & GetPushButtonFont() const
void SetMonoColor(const Color &rColor)
void SetHighContrastMode(bool bHighContrast)
void SetAppFont(const vcl::Font &rFont)
const Color & GetHelpColor() const
const Color & GetActiveColor() const
const Color & GetLightColor() const
void SetMenuBarColor(const Color &rColor)
const vcl::Font & GetToolFont() const
void SetMenuHighlightTextColor(const Color &rColor)
Color GetFaceGradientColor() const
void SetTitleFont(const vcl::Font &rFont)
const Color & GetMenuBarColor() const
void SetRadioCheckTextColor(const Color &rColor)
const Color & GetDialogColor() const
void SetLabelTextColor(const Color &rColor)
void SetFieldFont(const vcl::Font &rFont)
void SetButtonRolloverTextColor(const Color &rColor)
void SetButtonTextColor(const Color &rColor)
void SetWindowColor(const Color &rColor)
const Color & GetActiveTabColor() const
const Color & GetHighlightColor() const
void SetWindowTextColor(const Color &rColor)
const Color & GetInactiveTabColor() const
void SetMenuBarTextColor(const Color &rColor)
void SetDeactiveTextColor(const Color &rColor)
const Color & GetFaceColor() const
const vcl::Font & GetAppFont() const
void SetDarkShadowColor(const Color &rColor)
const vcl::Font & GetTitleFont() const
void SetFieldColor(const Color &rColor)
void SetMenuFont(const vcl::Font &rFont)
const Color & GetMenuTextColor() const
void SetMenuBorderColor(const Color &rColor)
const Color & GetHighlightTextColor() const
void SetMenuHighlightColor(const Color &rColor)
void SetLightColor(const Color &rColor)
void SetWorkspaceColor(const Color &rColor)
const Color & GetDisableColor() const
void SetDeactiveBorderColor(const Color &rColor)
const Color & GetButtonTextColor() const
void SetDeactiveColor(const Color &rColor)
const Color & GetActiveTextColor() const
const Color & GetButtonRolloverTextColor() const
const Color & GetDeactiveBorderColor() const
const Color & GetActiveBorderColor() const
void SetDialogTextColor(const Color &rColor)
const Color & GetFieldRolloverTextColor() const
const Color & GetMenuBorderColor() const
static css::awt::FontDescriptor CreateFontDescriptor(const vcl::Font &rFont)
convert Font to css::awt::FontDescriptor
static vcl::Font CreateFont(const css::awt::FontDescriptor &rDescr, const vcl::Font &rInitFont)
vcl::Window * GetWindow() const
sal_Int32 addInterface(const css::uno::Reference< ListenerT > &rxIFace)
void disposeAndClear(const css::lang::EventObject &rEvt)
sal_Int32 removeInterface(const css::uno::Reference< ListenerT > &rxIFace)
#define LINK(Instance, Class, Member)