Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  settings.hxx   Sprache: C

 
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */


#ifndef INCLUDED_VCL_SETTINGS_HXX
#define INCLUDED_VCL_SETTINGS_HXX

#include <config_options.h>

#include <vcl/dllapi.h>
#include <vcl/themecolors.hxx>
#include <tools/color.hxx>
#include <tools/gen.hxx>
#include <o3tl/cow_wrapper.hxx>
#include <o3tl/typed_flags_set.hxx>

#include <memory>
#include <vector>

class BitmapEx;
class LanguageTag;
class SvtSysLocale;

class LocaleDataWrapper;
struct ImplMouseData;
struct ImplMiscData;
struct ImplHelpData;
struct ImplStyleData;
struct ImplAllSettingsData;
enum class ConfigurationHints;

namespace vcl {
    class Font;
    class I18nHelper;
    class IconThemeInfo;
}


enum class MouseSettingsOptions
{
    NONE           = 0x00,
    AutoCenterPos  = 0x02,
    AutoDefBtnPos  = 0x04,
};
namespace o3tl
{
    template<> struct typed_flags<MouseSettingsOptions> : is_typed_flags<MouseSettingsOptions, 0x06> {};
}

enum class MouseFollowFlags
{
    Menu           = 0x0001,
};
namespace o3tl
{
    template<> struct typed_flags<MouseFollowFlags> : is_typed_flags<MouseFollowFlags, 0x01> {};
}

enum class MouseMiddleButtonAction
{
    Nothing, AutoScroll, PasteSelection
};

enum class MouseWheelBehaviour
{
    Disable, FocusOnly, ALWAYS
};

class VCL_DLLPUBLIC MouseSettings
{
private:
    o3tl::cow_wrapper<ImplMouseData>  mxData;

public:
                                    MouseSettings();
                                    MouseSettings(const MouseSettings&);
                                    ~MouseSettings();
    MouseSettings&                  operator=(const MouseSettings&);

    void                            SetOptions( MouseSettingsOptions nOptions );
    MouseSettingsOptions            GetOptions() const;

    void                            SetDoubleClickTime( sal_uInt64 nDoubleClkTime );
    sal_uInt64                      GetDoubleClickTime() const;

    void                            SetDoubleClickWidth( sal_Int32 nDoubleClkWidth );
    SAL_DLLPRIVATE sal_Int32                       GetDoubleClickWidth() const;

    void                            SetDoubleClickHeight( sal_Int32 nDoubleClkHeight );
    SAL_DLLPRIVATE sal_Int32                       GetDoubleClickHeight() const;

    void                            SetStartDragWidth( sal_Int32 nDragWidth );
    SAL_DLLPRIVATE sal_Int32                       GetStartDragWidth() const;

    void                            SetStartDragHeight( sal_Int32 nDragHeight );
    SAL_DLLPRIVATE sal_Int32                       GetStartDragHeight() const;

    SAL_DLLPRIVATE static sal_uInt16               GetStartDragCode();

    SAL_DLLPRIVATE static sal_uInt16               GetContextMenuCode();

    SAL_DLLPRIVATE static sal_uInt16               GetContextMenuClicks();

    SAL_DLLPRIVATE static sal_Int32                GetScrollRepeat();

    SAL_DLLPRIVATE static sal_Int32                GetButtonStartRepeat();

    void                            SetButtonRepeat( sal_Int32 nRepeat );
    sal_Int32                       GetButtonRepeat() const;

    SAL_DLLPRIVATE static sal_Int32                GetActionDelay();

    void                            SetMenuDelay( sal_Int32 nDelay );
    sal_Int32                       GetMenuDelay() const;

    void                            SetFollow( MouseFollowFlags nFollow );
    MouseFollowFlags                GetFollow() const;

    void                            SetMiddleButtonAction( MouseMiddleButtonAction nAction );
    MouseMiddleButtonAction         GetMiddleButtonAction() const;

    void                            SetWheelBehavior( MouseWheelBehaviour nBehavior );
    MouseWheelBehaviour             GetWheelBehavior() const;

    bool                            operator ==( const MouseSettings& rSet ) const;
};

struct DialogStyle
{
    int content_area_border;
    int button_spacing;
    int action_area_border;
    DialogStyle()
        : content_area_border(2)
        , button_spacing(6)
        , action_area_border(5)
    {}
};

enum class StyleSettingsOptions
{
    NONE           = 0x0000,
    Mono           = 0x0001,
    NoMnemonics    = 0x0002,
};
namespace o3tl
{
    template<> struct typed_flags<StyleSettingsOptions> : is_typed_flags<StyleSettingsOptions, 0x0003> {};
}

enum class DragFullOptions
{
    NONE        = 0x0000,
    WindowMove  = 0x0001,
    WindowSize  = 0x0002,
    Docking     = 0x0010,
    Split       = 0x0020,
    Scroll      = 0x0040,
    All         = WindowMove | WindowSize | Docking | Split | Scroll,
};
namespace o3tl
{
    template<> struct typed_flags<DragFullOptions> : is_typed_flags<DragFullOptions, 0x0073> {};
}

enum class SelectionOptions
{
    NONE       = 0x0000,
    ShowFirst  = 0x0004,
};
namespace o3tl
{
    template<> struct typed_flags<SelectionOptions> : is_typed_flags<SelectionOptions, 0x0004> {};
}

enum class DisplayOptions
{
    NONE        = 0x0000,
    AADisable   = 0x0001,
};
namespace o3tl
{
    template<> struct typed_flags<DisplayOptions> : is_typed_flags<DisplayOptions, 0x0001> {};
}

enum class ToolbarIconSize
{
    Unknown      = 0,
    Small        = 1, // unused
    Large        = 2,
    Size32       = 3,
};

/** Text selection behavior when selecting an entry in an editable combobox. */
enum class ComboBoxTextSelectionMode
{
    SelectText, // select the whole text of the new entry
    CursorToStart, // don't select text, put text cursor to start of text
    CursorToEnd // don't select text, put text cursor to end of text
};

#define STYLE_CURSOR_NOBLINKTIME    SAL_MAX_UINT64

class VCL_DLLPUBLIC StyleSettings
{
private:
    o3tl::cow_wrapper<ImplStyleData> mxData;

public:
                                    StyleSettings();
                                    StyleSettings(const StyleSettings&);
                                    ~StyleSettings();
    StyleSettings&                  operator=(const StyleSettings&);

    SAL_DLLPRIVATE void             Set3DColors( const Color& rColor );

    void                            SetSystemColorsLoaded( bool bLoaded );
    bool                            GetSystemColorsLoaded() const;

    void                            SetFaceColor( const Color& rColor );
    const Color&                    GetFaceColor() const;

    Color                           GetFaceGradientColor() const;

    Color                           GetSeparatorColor() const;

    void                            SetCheckedColor( const Color& rColor );
    SAL_DLLPRIVATE void             SetCheckedColorSpecialCase( );
    const Color&                    GetCheckedColor() const;

    void                            SetLightColor( const Color& rColor );
    const Color&                    GetLightColor() const;

    void                            SetLightBorderColor( const Color& rColor );
    const Color&                    GetLightBorderColor() const;

    void                            SetShadowColor( const Color& rColor );
    const Color&                    GetShadowColor() const;

    void                            SetDarkShadowColor( const Color& rColor );
    const Color&                    GetDarkShadowColor() const;

    void                            SetDefaultButtonTextColor( const Color& rColor );
    const Color&                    GetDefaultButtonTextColor() const;

    void                            SetButtonTextColor( const Color& rColor );
    const Color&                    GetButtonTextColor() const;

    void                            SetDefaultActionButtonTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetDefaultActionButtonTextColor() const;

    void                            SetActionButtonTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetActionButtonTextColor() const;

    void                            SetFlatButtonTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetFlatButtonTextColor() const;

    void                            SetDefaultButtonRolloverTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetDefaultButtonRolloverTextColor() const;

    void                            SetButtonRolloverTextColor( const Color& rColor );
    const Color&                    GetButtonRolloverTextColor() const;

    void                            SetDefaultActionButtonRolloverTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetDefaultActionButtonRolloverTextColor() const;

    void                            SetActionButtonRolloverTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetActionButtonRolloverTextColor() const;

    void                            SetFlatButtonRolloverTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetFlatButtonRolloverTextColor() const;

    void                            SetDefaultButtonPressedRolloverTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetDefaultButtonPressedRolloverTextColor() const;

    void                            SetButtonPressedRolloverTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetButtonPressedRolloverTextColor() const;

    void                            SetDefaultActionButtonPressedRolloverTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetDefaultActionButtonPressedRolloverTextColor() const;

    void                            SetActionButtonPressedRolloverTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetActionButtonPressedRolloverTextColor() const;

    void                            SetFlatButtonPressedRolloverTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetFlatButtonPressedRolloverTextColor() const;

    void                            SetRadioCheckTextColor( const Color& rColor );
    const Color&                    GetRadioCheckTextColor() const;

    void                            SetGroupTextColor( const Color& rColor );
    const Color&                    GetGroupTextColor() const;

    void                            SetLabelTextColor( const Color& rColor );
    const Color&                    GetLabelTextColor() const;

    void                            SetWindowColor( const Color& rColor );
    const Color&                    GetWindowColor() const;

    void                            SetWindowTextColor( const Color& rColor );
    const Color&                    GetWindowTextColor() const;

    void                            SetDialogColor( const Color& rColor );
    const Color&                    GetDialogColor() const;

    void                            SetDialogTextColor( const Color& rColor );
    const Color&                    GetDialogTextColor() const;

    void                            SetWorkspaceColor( const Color& rColor );
    const Color&                    GetWorkspaceColor() const;

    void                            SetFieldColor( const Color& rColor );
    const Color&                    GetFieldColor() const;

    void                            SetFieldTextColor( const Color& rColor );
    const Color&                    GetFieldTextColor() const;

    void                            SetFieldRolloverTextColor( const Color& rColor );
    const Color&                    GetFieldRolloverTextColor() const;

    void                            SetActiveColor( const Color& rColor );
    const Color&                    GetActiveColor() const;

    void                            SetActiveTextColor( const Color& rColor );
    const Color&                    GetActiveTextColor() const;

    void                            SetActiveBorderColor( const Color& rColor );
    const Color&                    GetActiveBorderColor() const;

    void                            SetDeactiveColor( const Color& rColor );
    const Color&                    GetDeactiveColor() const;

    void                            SetDeactiveTextColor( const Color& rColor );
    const Color&                    GetDeactiveTextColor() const;

    void                            SetDeactiveBorderColor( const Color& rColor );
    const Color&                    GetDeactiveBorderColor() const;

    void                            SetAccentColor( const Color& rColor );
    const Color&                    GetAccentColor() const;

    void                            SetHighlightColor( const Color& rColor );
    const Color&                    GetHighlightColor() const;

    void                            SetHighlightTextColor( const Color& rColor );
    const Color&                    GetHighlightTextColor() const;

    void                            SetDisableColor( const Color& rColor );
    const Color&                    GetDisableColor() const;

    void                            SetWarningColor( const Color& rColor );
    const Color&                    GetWarningColor() const;

    const Color&                    GetWarningTextColor() const;

    const Color&                    GetErrorColor() const;

    const Color&                    GetErrorTextColor() const;

    void                            SetHelpColor( const Color& rColor );
    const Color&                    GetHelpColor() const;

    void                            SetHelpTextColor( const Color& rColor );
    const Color&                    GetHelpTextColor() const;

    void                            SetMenuColor( const Color& rColor );
    const Color&                    GetMenuColor() const;

    void                            SetMenuBarColor( const Color& rColor );
    const Color&                    GetMenuBarColor() const;

    void                            SetMenuBarRolloverColor( const Color& rColor );
    const Color&                    GetMenuBarRolloverColor() const;

    void                            SetMenuBorderColor( const Color& rColor );
    const Color&                    GetMenuBorderColor() const;

    void                            SetMenuTextColor( const Color& rColor );
    const Color&                    GetMenuTextColor() const;

    void                            SetMenuBarTextColor( const Color& rColor );
    const Color&                    GetMenuBarTextColor() const;

    void                            SetMenuBarRolloverTextColor( const Color& rColor );
    const Color&                    GetMenuBarRolloverTextColor() const;

    void                            SetMenuBarHighlightTextColor( const Color& rColor );
    const Color&                    GetMenuBarHighlightTextColor() const;

    void                            SetMenuHighlightColor( const Color& rColor );
    const Color&                    GetMenuHighlightColor() const;

    void                            SetMenuHighlightTextColor( const Color& rColor );
    const Color&                    GetMenuHighlightTextColor() const;

    void                            SetListBoxWindowBackgroundColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetListBoxWindowBackgroundColor() const;

    void                            SetListBoxWindowTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetListBoxWindowTextColor() const;

    void                            SetListBoxWindowHighlightColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetListBoxWindowHighlightColor() const;

    void                            SetListBoxWindowHighlightTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetListBoxWindowHighlightTextColor() const;

    void                            SetTabTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetTabTextColor() const;

    void                            SetTabRolloverTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetTabRolloverTextColor() const;

    void                            SetTabHighlightTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetTabHighlightTextColor() const;

    void                            SetToolTextColor( const Color& rColor );
    SAL_DLLPRIVATE const Color&     GetToolTextColor() const;

    void                            SetLinkColor( const Color& rColor );
    const Color&                    GetLinkColor() const;

    void                            SetVisitedLinkColor( const Color& rColor );
    const Color&                    GetVisitedLinkColor() const;

    void                            SetMonoColor( const Color& rColor );
    const Color&                    GetMonoColor() const;

    void                            SetActiveTabColor( const Color& rColor );
    const Color&                    GetActiveTabColor() const;

    void                            SetInactiveTabColor( const Color& rColor );
    const Color&                    GetInactiveTabColor() const;

    void SetAlternatingRowColor(const Color& rColor);
    SAL_DLLPRIVATE const Color&                    GetAlternatingRowColor() const;

    void                            SetHighContrastMode(bool bHighContrast );
    bool                            GetHighContrastMode() const;

    void                            SetUseSystemUIFonts( bool bUseSystemUIFonts );
    bool                            GetUseSystemUIFonts() const;

    void SetUseFontAAFromSystem(bool bUseFontAAFromSystem);
    bool GetUseFontAAFromSystem() const;

    // Using subpixel anti-aliasing is unwanted in some cases, like when saving to file,
    // even when the use of anti-aliasing itself is defined by system settings.
    void SetUseSubpixelAA(bool val);
    bool GetUseSubpixelAA() const;

    SAL_DLLPRIVATE void             SetUseFlatBorders( bool bUseFlatBorders );
    SAL_DLLPRIVATE bool             GetUseFlatBorders() const;

    SAL_DLLPRIVATE void             SetUseFlatMenus( bool bUseFlatMenus );
    SAL_DLLPRIVATE bool             GetUseFlatMenus() const;

    void                            SetUseImagesInMenus( TriState eUseImagesInMenus );
    bool                            GetUseImagesInMenus() const;

    void                            SetPreferredUseImagesInMenus( bool bPreferredUseImagesInMenus );
    SAL_DLLPRIVATE bool             GetPreferredUseImagesInMenus() const;

    void                            SetSkipDisabledInMenus( bool bSkipDisabledInMenus );
    SAL_DLLPRIVATE bool             GetSkipDisabledInMenus() const;

    void                            SetHideDisabledMenuItems( bool bHideDisabledMenuItems );
    bool                            GetHideDisabledMenuItems() const;

    void                            SetContextMenuShortcuts( TriState eContextMenuShortcuts );
    bool                            GetContextMenuShortcuts() const;

    void                            SetPreferredContextMenuShortcuts( bool bContextMenuShortcuts );
    SAL_DLLPRIVATE bool             GetPreferredContextMenuShortcuts() const;

    void                            SetPrimaryButtonWarpsSlider( bool bPrimaryButtonWarpsSlider );
    SAL_DLLPRIVATE bool             GetPrimaryButtonWarpsSlider() const;

    void                            SetAppFont( const vcl::Font& rFont );
    const vcl::Font&                GetAppFont() const;

    void                            SetHelpFont( const vcl::Font& rFont );
    const vcl::Font&                GetHelpFont() const;

    void                            SetTitleFont( const vcl::Font& rFont );
    const vcl::Font&                GetTitleFont() const;

    void                            SetFloatTitleFont( const vcl::Font& rFont );
    const vcl::Font&                GetFloatTitleFont() const;

    void                            SetMenuFont( const vcl::Font& rFont );
    const vcl::Font&                GetMenuFont() const;

    void                            SetToolFont( const vcl::Font& rFont );
    const vcl::Font&                GetToolFont() const;

    void                            SetGroupFont( const vcl::Font& rFont );
    const vcl::Font&                GetGroupFont() const;

    void                            SetLabelFont( const vcl::Font& rFont );
    const vcl::Font&                GetLabelFont() const;

    void                            SetRadioCheckFont( const vcl::Font& rFont );
    const vcl::Font&                GetRadioCheckFont() const;

    void                            SetPushButtonFont( const vcl::Font& rFont );
    const vcl::Font&                GetPushButtonFont() const;

    void                            SetFieldFont( const vcl::Font& rFont );
    const vcl::Font&                GetFieldFont() const;

    SAL_DLLPRIVATE void             SetIconFont( const vcl::Font& rFont );
    SAL_DLLPRIVATE const vcl::Font& GetIconFont() const;

    void                            SetTabFont( const vcl::Font& rFont );
    const vcl::Font&                GetTabFont() const;

    SAL_DLLPRIVATE static sal_Int32 GetBorderSize();

    SAL_DLLPRIVATE void             SetTitleHeight( sal_Int32 nSize );
    sal_Int32                       GetTitleHeight() const;

    SAL_DLLPRIVATE void             SetFloatTitleHeight( sal_Int32 nSize );
    SAL_DLLPRIVATE sal_Int32        GetFloatTitleHeight() const;

    void                            SetScrollBarSize( sal_Int32 nSize );
    sal_Int32                       GetScrollBarSize() const;

    void                            SetMinThumbSize( sal_Int32 nSize );
    SAL_DLLPRIVATE sal_Int32        GetMinThumbSize() const;

    SAL_DLLPRIVATE void             SetSpinSize( sal_Int32 nSize );
    SAL_DLLPRIVATE sal_Int32        GetSpinSize() const;

    static sal_Int32                GetSplitSize();

    void                            SetCursorSize( sal_Int32 nSize );
    sal_Int32                       GetCursorSize() const;

    void                            SetCursorBlinkTime( sal_uInt64 nBlinkTime );
    sal_uInt64                      GetCursorBlinkTime() const;

    void                            SetDragFullOptions( DragFullOptions nOptions );
    DragFullOptions                 GetDragFullOptions() const;

    void                            SetSelectionOptions( SelectionOptions nOptions );
    SelectionOptions                GetSelectionOptions() const;

    void                            SetDisplayOptions( DisplayOptions nOptions );
    SAL_DLLPRIVATE DisplayOptions   GetDisplayOptions() const;

    void                            SetAntialiasingMinPixelHeight( sal_Int32 nMinPixel );
    SAL_DLLPRIVATE sal_Int32        GetAntialiasingMinPixelHeight() const;

    void                            SetOptions( StyleSettingsOptions nOptions );
    StyleSettingsOptions            GetOptions() const;

    void                            SetAutoMnemonic( bool bAutoMnemonic );
    bool                            GetAutoMnemonic() const;

    static bool                     GetDockingFloatsSupported();

    void                            SetToolbarIconSize( ToolbarIconSize nSize );
    ToolbarIconSize                 GetToolbarIconSize() const;
    SAL_DLLPRIVATE Size             GetToolbarIconSizePixel() const;

    /** Set the icon theme to use. */
    void                            SetIconTheme(const OUString&);

    /** Determine which icon theme should be used.
     *
     * This might not be the same as the one which has been set with SetIconTheme(),
     * e.g., if high contrast mode is enabled.
     *
     * (for the detailed logic @see vcl::IconThemeSelector)
     */

    OUString                        DetermineIconTheme() const;

    /** Obtain the list of icon themes which were found in the config folder
     * @see vcl::IconThemeScanner for more details.
     */

    std::vector<vcl::IconThemeInfo> const & GetInstalledIconThemes() const;

    /** Obtain the name of the icon theme which will be chosen automatically for the desktop environment.
     * This method will only return icon themes which were actually found on the system.
     */

    OUString                        GetAutomaticallyChosenIconTheme() const;

    /** Set a preferred icon theme.
     * This theme will be preferred in GetAutomaticallyChosenIconTheme()
     */

    void                            SetPreferredIconTheme(const OUString&, bool bDarkIconTheme = false);

    const DialogStyle&              GetDialogStyle() const;
    const BitmapEx&                 GetAppBackgroundBitmap() const;

    // global switch to allow EdgeBlenging; currently possible for ValueSet and ListBox
    // when activated there using Get/SetEdgeBlending; default is true
    void                            SetEdgeBlending(sal_uInt16 nCount);
    sal_uInt16                      GetEdgeBlending() const;

    // TopLeft (default Color(0xC0, 0xC0, 0xC0)) and BottomRight (default Color(0x40, 0x40, 0x40))
    // default colors for EdgeBlending
    const Color&                    GetEdgeBlendingTopLeftColor() const;
    const Color&                    GetEdgeBlendingBottomRightColor() const;

    // maximum line count for ListBox control; to use this, call AdaptDropDownLineCountToMaximum() at the
    // ListBox after it's ItemCount has changed/got filled. Default is 25. If more Items exist, a scrollbar
    // will be used
    void                            SetListBoxMaximumLineCount(sal_uInt16 nCount);
    sal_uInt16                      GetListBoxMaximumLineCount() const;

    // maximum column count for the ColorValueSet control. Default is 12 and this is optimized for the
    // color scheme which has 12-color aligned layout for the part taken over from Symphony. Do
    // only change this if you know what you are doing.
    void                            SetColorValueSetColumnCount(sal_uInt16 nCount);
    sal_uInt16                      GetColorValueSetColumnCount() const;

    SAL_DLLPRIVATE void             SetListBoxPreviewDefaultLogicSize(Size const & rSize);
    const Size&                     GetListBoxPreviewDefaultPixelSize() const;

    // the default LineWidth for ListBox UI previews (LineStyle, LineDash, LineStartEnd). Default is 1.
    static sal_uInt16               GetListBoxPreviewDefaultLineWidth();

    void SetComboBoxTextSelectionMode(ComboBoxTextSelectionMode eMode);
    ComboBoxTextSelectionMode GetComboBoxTextSelectionMode() const;

    // defines if previews which contain potentially transparent objects (e.g. the dash/line/LineStartEnd previews and others)
    // use the default transparent visualization background (checkered background) as it has got standard in graphic programs nowadays
    void                            SetPreviewUsesCheckeredBackground(bool bNew);
    bool                            GetPreviewUsesCheckeredBackground() const;

    void                            SetStandardStyles();

    bool                            operator ==( const StyleSettings& rSet ) const;

    // Batch setters used by various backends
    void                            BatchSetBackgrounds( const Color &aBackColor,
                                                         bool bCheckedColorSpecialCase = true );
    void                            BatchSetFonts( const vcl::Font& aAppFont,
                                                   const vcl::Font& aLabelFont );
};


class VCL_DLLPUBLIC MiscSettings
{
    std::shared_ptr<ImplMiscData>   mxData;

public:
                                    MiscSettings();

    static bool                     GetEnableATToolSupport();
    bool                            GetDisablePrinting() const;
    void                            SetEnableLocalizedDecimalSep( bool bEnable );
    bool                            GetEnableLocalizedDecimalSep() const;
    // return if dark mode is active, resolving 'auto' to dark (true) or light (false)
    static bool                     GetUseDarkMode();
    static void                     SetAppColorMode(AppearanceMode nMode);
    static AppearanceMode           GetAppColorMode();
    // return true if system preferences are set to use reduced animation
    static bool                     GetUseReducedAnimation();
    static bool                     IsAnimatedGraphicAllowed();
    static bool                     IsAnimatedOthersAllowed();
    static bool                     IsAnimatedTextAllowed();
    bool                            operator ==( const MiscSettings& rSet ) const;
    bool                            operator !=( const MiscSettings& rSet ) const;
};


class VCL_DLLPUBLIC HelpSettings
{
    std::shared_ptr<ImplHelpData>   mxData;

public:
                                    HelpSettings();

    static sal_Int32                GetTipDelay();
    void                            SetTipTimeout( sal_Int32 nTipTimeout );
    sal_Int32                       GetTipTimeout() const;
    static sal_Int32                GetBalloonDelay();

    bool                            operator ==( const HelpSettings& rSet ) const;
    bool                            operator !=( const HelpSettings& rSet ) const;
};


enum class AllSettingsFlags {
    NONE     = 0x0000,
    MOUSE    = 0x0001,
    STYLE    = 0x0002,
    MISC     = 0x0004,
    LOCALE   = 0x0020,
};
namespace o3tl
{
    template<> struct typed_flags<AllSettingsFlags> : is_typed_flags<AllSettingsFlags, 0x0027> {};
}

class VCL_DLLPUBLIC AllSettings
{
private:
    o3tl::cow_wrapper<ImplAllSettingsData> mxData;

public:
                                            AllSettings();
                                            AllSettings(const AllSettings&);
                                            ~AllSettings();
    AllSettings&                            operator=(const AllSettings&);

    void                                    SetMouseSettings( const MouseSettings& rSet );
    const MouseSettings&                    GetMouseSettings() const;

    void                                    SetStyleSettings( const StyleSettings& rSet );
    const StyleSettings&                    GetStyleSettings() const;

    void                                    SetMiscSettings( const MiscSettings& rSet );
    const MiscSettings&                     GetMiscSettings() const;

    IF_MERGELIBS(SAL_DLLPRIVATE)
    void                                    SetHelpSettings( const HelpSettings& rSet );
    IF_MERGELIBS(SAL_DLLPRIVATE)
    const HelpSettings&                     GetHelpSettings() const;

    void                                    SetLanguageTag(const OUString& rLanguage, bool bCanonicalize);
    void                                    SetLanguageTag( const LanguageTag& rLanguageTag );
    const LanguageTag&                      GetLanguageTag() const;
    const LanguageTag&                      GetUILanguageTag() const;
    static bool                             GetLayoutRTL();   // returns true if UI language requires right-to-left Text Layout
    static bool                             GetMathLayoutRTL();   // returns true if UI language requires right-to-left Math Layout
    static OUString                         GetUIRootDir();
    const LocaleDataWrapper&                GetLocaleDataWrapper() const;
    const LocaleDataWrapper&                GetUILocaleDataWrapper() const;
    IF_MERGELIBS(SAL_DLLPRIVATE)
    const LocaleDataWrapper&                GetNeutralLocaleDataWrapper() const;
    const vcl::I18nHelper&                  GetLocaleI18nHelper() const;
    const vcl::I18nHelper&                  GetUILocaleI18nHelper() const;

    SAL_DLLPRIVATE static AllSettingsFlags GetWindowUpdate()
    { return AllSettingsFlags::MOUSE | AllSettingsFlags::STYLE | AllSettingsFlags::MISC | AllSettingsFlags::LOCALE; }

    SAL_DLLPRIVATE AllSettingsFlags         Update( AllSettingsFlags nFlags, const AllSettings& ;rSettings );
    SAL_DLLPRIVATE AllSettingsFlags         GetChangeFlags( const AllSettings& rSettings ) const;

    SAL_DLLPRIVATE bool                    operator ==( const AllSettings& rSet ) const;
    SAL_DLLPRIVATE static void             LocaleSettingsChanged( ConfigurationHints nHint );
    SAL_DLLPRIVATE const SvtSysLocale&     GetSysLocale() const;
};

#endif // INCLUDED_VCL_SETTINGS_HXX

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Messung V0.5
C=95 H=100 G=97

¤ Dauer der Verarbeitung: 0.19 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge