507 lines
19 KiB
C++
507 lines
19 KiB
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 .
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <svtools/svtdllapi.h>
|
|
#include <svtools/toolbarmenu.hxx>
|
|
#include <editeng/borderline.hxx>
|
|
#include <vcl/idle.hxx>
|
|
#include <vcl/metric.hxx>
|
|
#include <vcl/weld.hxx>
|
|
|
|
#include <memory>
|
|
|
|
namespace weld { class CustomWeld; }
|
|
|
|
class BitmapEx;
|
|
class BorderWidthImpl;
|
|
class FontList;
|
|
class VclSimpleEvent;
|
|
class VirtualDevice;
|
|
|
|
/** Utility class storing the border line width, style and colors. The widths
|
|
are defined in Twips.
|
|
*/
|
|
class ImpLineListData
|
|
{
|
|
private:
|
|
BorderWidthImpl const m_aWidthImpl;
|
|
|
|
Color ( * m_pColor1Fn )( Color );
|
|
Color ( * m_pColor2Fn )( Color );
|
|
Color ( * m_pColorDistFn )( Color, Color );
|
|
|
|
tools::Long m_nMinWidth;
|
|
SvxBorderLineStyle m_nStyle;
|
|
|
|
public:
|
|
ImpLineListData( BorderWidthImpl aWidthImpl,
|
|
SvxBorderLineStyle nStyle, tools::Long nMinWidth, Color ( *pColor1Fn )( Color ),
|
|
Color ( *pColor2Fn )( Color ), Color ( *pColorDistFn )( Color, Color ) ) :
|
|
m_aWidthImpl( aWidthImpl ),
|
|
m_pColor1Fn( pColor1Fn ),
|
|
m_pColor2Fn( pColor2Fn ),
|
|
m_pColorDistFn( pColorDistFn ),
|
|
m_nMinWidth( nMinWidth ),
|
|
m_nStyle( nStyle )
|
|
{
|
|
}
|
|
|
|
/** Returns the computed width of the line 1 in twips. */
|
|
tools::Long GetLine1ForWidth( tools::Long nWidth ) const { return m_aWidthImpl.GetLine1( nWidth ); }
|
|
|
|
/** Returns the computed width of the line 2 in twips. */
|
|
tools::Long GetLine2ForWidth( tools::Long nWidth ) const { return m_aWidthImpl.GetLine2( nWidth ); }
|
|
|
|
/** Returns the computed width of the gap in twips. */
|
|
tools::Long GetDistForWidth( tools::Long nWidth ) const { return m_aWidthImpl.GetGap( nWidth ); }
|
|
|
|
Color GetColorLine1( const Color& rMain ) const
|
|
{
|
|
return ( *m_pColor1Fn )( rMain );
|
|
}
|
|
|
|
Color GetColorLine2( const Color& rMain ) const
|
|
{
|
|
return ( *m_pColor2Fn )( rMain );
|
|
}
|
|
|
|
Color GetColorDist( const Color& rMain, const Color& rDefault ) const
|
|
{
|
|
return ( *m_pColorDistFn )( rMain, rDefault );
|
|
}
|
|
|
|
/** Returns the minimum width in twips */
|
|
tools::Long GetMinWidth( ) const { return m_nMinWidth;}
|
|
SvxBorderLineStyle GetStyle( ) const { return m_nStyle;}
|
|
};
|
|
|
|
enum class SvxBorderLineStyle : sal_Int16;
|
|
|
|
typedef ::std::vector< FontMetric > ImplFontList;
|
|
|
|
/*************************************************************************
|
|
|
|
class LineListBox
|
|
|
|
Description
|
|
|
|
Allows selection of line styles and sizes. Note that before first insert,
|
|
units and window size need to be set. Supported units are typographic point
|
|
(pt) and millimeters (mm). For SourceUnit, pt, mm and twips are supported.
|
|
All scalar numbers in 1/100 of the corresponding unit.
|
|
|
|
Line1 is the outer, Line2 the inner line, Distance is the distance between
|
|
these two lines. If Line2 == 0, only Line1 will be shown. Defaults for
|
|
source and target unit are FieldUnit::POINT.
|
|
|
|
SetColor() sets the line color.
|
|
|
|
Remarks
|
|
|
|
Contrary to a simple ListBox, user-specific data are not supported.
|
|
If UpdateMode is disabled, no data should be read, no selections
|
|
should be set, and the return code shall be ignore, as in these are
|
|
not defined in this mode. Also the bit WinBit WB_SORT may not be set.
|
|
|
|
--------------------------------------------------------------------------
|
|
|
|
class FontNameBox
|
|
|
|
Description
|
|
|
|
Allows selection of fonts. The ListBox will be filled using Fill parameter,
|
|
which is pointer to an FontList object.
|
|
|
|
Calling EnableWYSIWYG() enables rendering the font name in the currently
|
|
selected font.
|
|
|
|
See also
|
|
|
|
FontList; FontStyleBox; FontSizeBox; FontNameMenu
|
|
|
|
--------------------------------------------------------------------------
|
|
|
|
class FontStyleBox
|
|
|
|
Description
|
|
|
|
Allows select of FontStyle's. The parameter Fill points to a list
|
|
of available font styles for the font.
|
|
|
|
Reproduced styles are always added - this could change in future, as
|
|
potentially not all applications [Draw,Equation,FontWork] can properly
|
|
handle synthetic fonts. On filling, the previous name will be retained
|
|
if possible.
|
|
|
|
For DontKnow, the FontStyleBox should be filled with OUString(),
|
|
so it will contain a list with the default attributes. The currently
|
|
shown style probably needs to be reset by the application.
|
|
|
|
See also
|
|
|
|
FontList; FontNameBox; FontSizeBox;
|
|
|
|
--------------------------------------------------------------------------
|
|
|
|
class FontSizeBox
|
|
|
|
Description
|
|
|
|
Allows selection of font sizes. The values are retrieved via GetValue()
|
|
and set via SetValue(). The Fill parameter fills the ListBox with the
|
|
available sizes for the passed font.
|
|
|
|
All sizes are in 1/10 typographic point (pt).
|
|
|
|
The passed FontList must be retained until the next fill call.
|
|
|
|
Additionally it supports a relative mod, which allows entering
|
|
percentage values. This, eg., can be useful for template dialogs.
|
|
This mode can only be enabled, but not disabled again.
|
|
|
|
For DontKnow the FontSizeBox should be filled FontMetric(), so it will
|
|
contain a list with the standard sizes. Th currently shown size
|
|
probably needs to be reset by the application.
|
|
|
|
See also
|
|
|
|
FontList; FontNameBox; FontStyleBox; FontSizeMenu
|
|
|
|
*************************************************************************/
|
|
|
|
inline Color sameColor( Color rMain )
|
|
{
|
|
return rMain;
|
|
}
|
|
|
|
inline Color sameDistColor( Color /*rMain*/, Color rDefault )
|
|
{
|
|
return rDefault;
|
|
}
|
|
|
|
class ValueSet;
|
|
|
|
class SVT_DLLPUBLIC SvtLineListBox final : public WeldToolbarPopup
|
|
{
|
|
public:
|
|
typedef Color (*ColorFunc)(Color);
|
|
typedef Color (*ColorDistFunc)(Color, Color);
|
|
|
|
SvtLineListBox(std::unique_ptr<weld::MenuButton> pControl);
|
|
~SvtLineListBox();
|
|
|
|
static OUString GetLineStyleName(SvxBorderLineStyle eStyle);
|
|
|
|
/** Set the width in Twips */
|
|
void SetWidth(tools::Long nWidth)
|
|
{
|
|
m_nWidth = nWidth;
|
|
UpdateEntries();
|
|
UpdatePreview();
|
|
}
|
|
|
|
tools::Long GetWidth() const { return m_nWidth; }
|
|
|
|
/** Insert a listbox entry with all widths in Twips. */
|
|
void InsertEntry(const BorderWidthImpl& rWidthImpl,
|
|
SvxBorderLineStyle nStyle, tools::Long nMinWidth = 0,
|
|
ColorFunc pColor1Fn = &sameColor,
|
|
ColorFunc pColor2Fn = &sameColor,
|
|
ColorDistFunc pColorDistFn = &sameDistColor);
|
|
|
|
void SelectEntry( SvxBorderLineStyle nStyle );
|
|
SvxBorderLineStyle GetSelectEntryStyle() const;
|
|
|
|
void SetSourceUnit( FieldUnit eNewUnit ) { eSourceUnit = eNewUnit; }
|
|
|
|
void SetColor( const Color& rColor )
|
|
{
|
|
aColor = rColor;
|
|
UpdateEntries();
|
|
UpdatePreview();
|
|
}
|
|
|
|
const Color& GetColor() const { return aColor; }
|
|
|
|
void SetSelectHdl(const Link<SvtLineListBox&,void>& rLink) { maSelectHdl = rLink; }
|
|
|
|
void set_sensitive(bool bSensitive) { m_xControl->set_sensitive(bSensitive); }
|
|
|
|
virtual void GrabFocus() override;
|
|
|
|
private:
|
|
|
|
SVT_DLLPRIVATE void ImpGetLine( tools::Long nLine1, tools::Long nLine2, tools::Long nDistance,
|
|
Color nColor1, Color nColor2, Color nColorDist,
|
|
SvxBorderLineStyle nStyle, BitmapEx& rBmp );
|
|
|
|
DECL_DLLPRIVATE_LINK(ValueSelectHdl, ValueSet*, void);
|
|
DECL_DLLPRIVATE_LINK(ToggleHdl, weld::Toggleable&, void);
|
|
DECL_DLLPRIVATE_LINK(NoneHdl, weld::Button&, void);
|
|
DECL_DLLPRIVATE_LINK(StyleUpdatedHdl, weld::Widget&, void);
|
|
|
|
void UpdateEntries();
|
|
|
|
void UpdatePreview();
|
|
|
|
SvtLineListBox( const SvtLineListBox& ) = delete;
|
|
SvtLineListBox& operator =( const SvtLineListBox& ) = delete;
|
|
|
|
std::unique_ptr<weld::MenuButton> m_xControl;
|
|
std::unique_ptr<weld::Button> m_xNoneButton;
|
|
std::unique_ptr<ValueSet> m_xLineSet;
|
|
std::unique_ptr<weld::CustomWeld> m_xLineSetWin;
|
|
|
|
std::vector<std::unique_ptr<ImpLineListData>> m_vLineList;
|
|
tools::Long m_nWidth;
|
|
ScopedVclPtr<VirtualDevice> aVirDev;
|
|
Color aColor;
|
|
FieldUnit eSourceUnit;
|
|
Link<SvtLineListBox&,void> maSelectHdl;
|
|
};
|
|
|
|
class SVT_DLLPUBLIC SvtCalendarBox
|
|
{
|
|
public:
|
|
SvtCalendarBox(std::unique_ptr<weld::MenuButton> pControl, bool bUseLabel = true);
|
|
~SvtCalendarBox();
|
|
|
|
weld::MenuButton& get_button() { return *m_xControl; }
|
|
|
|
void set_date(const Date& rDate);
|
|
Date get_date() const { return m_xCalendar->get_date(); }
|
|
|
|
void set_label(const OUString& rLabel) { m_xControl->set_label(rLabel); }
|
|
OUString get_label() const { return m_xControl->get_label(); }
|
|
|
|
void set_sensitive(bool bSensitive) { m_xControl->set_sensitive(bSensitive); }
|
|
bool get_sensitive() const { return m_xControl->get_sensitive(); }
|
|
void set_visible(bool bSensitive) { m_xControl->set_visible(bSensitive); }
|
|
void show() { set_visible(true); }
|
|
void grab_focus() { m_xControl->grab_focus(); }
|
|
|
|
void connect_activated(const Link<SvtCalendarBox&, void>& rActivatedHdl) { m_aActivatedHdl = rActivatedHdl; }
|
|
void connect_selected(const Link<SvtCalendarBox&, void>& rSelectHdl) { m_aSelectHdl = rSelectHdl; }
|
|
|
|
void connect_focus_in(const Link<weld::Widget&, void>& rLink) { m_xControl->connect_focus_in(rLink); }
|
|
void connect_focus_out(const Link<weld::Widget&, void>& rLink) { m_xControl->connect_focus_out(rLink); }
|
|
private:
|
|
DECL_DLLPRIVATE_LINK(SelectHdl, weld::Calendar&, void);
|
|
DECL_DLLPRIVATE_LINK(ActivateHdl, weld::Calendar&, void);
|
|
|
|
bool m_bUseLabel;
|
|
|
|
std::unique_ptr<weld::MenuButton> m_xControl;
|
|
std::unique_ptr<weld::Builder> m_xBuilder;
|
|
std::unique_ptr<weld::Widget> m_xTopLevel;
|
|
std::unique_ptr<weld::Calendar> m_xCalendar;
|
|
|
|
Link<SvtCalendarBox&, void> m_aActivatedHdl;
|
|
Link<SvtCalendarBox&, void> m_aSelectHdl;
|
|
|
|
void set_label_from_date();
|
|
};
|
|
|
|
class SVT_DLLPUBLIC FontNameBox
|
|
{
|
|
private:
|
|
std::unique_ptr<weld::ComboBox> m_xComboBox;
|
|
std::unique_ptr<ImplFontList> mpFontList;
|
|
size_t mnPreviewProgress;
|
|
bool mbWYSIWYG;
|
|
OUString maFontMRUEntriesFile;
|
|
Idle maUpdateIdle;
|
|
Link<const FontMetric&, void> m_aLivePreviewHdl;
|
|
|
|
SVT_DLLPRIVATE void ImplDestroyFontList();
|
|
|
|
DECL_DLLPRIVATE_LINK(CustomRenderHdl, weld::ComboBox::render_args, void);
|
|
DECL_DLLPRIVATE_LINK(CustomGetSizeHdl, OutputDevice&, Size);
|
|
DECL_DLLPRIVATE_LINK(SettingsChangedHdl, VclSimpleEvent&, void);
|
|
DECL_DLLPRIVATE_LINK(UpdateHdl, Timer*, void);
|
|
|
|
void LoadMRUEntries( const OUString& aFontMRUEntriesFile );
|
|
void SaveMRUEntries( const OUString& aFontMRUEntriesFile ) const;
|
|
|
|
OutputDevice& CachePreview(size_t nIndex, Point* pTopLeft,
|
|
sal_Int32 nDPIX = 96, sal_Int32 nDPIY = 96);
|
|
|
|
public:
|
|
FontNameBox(std::unique_ptr<weld::ComboBox> p);
|
|
~FontNameBox();
|
|
|
|
void Fill( const FontList* pList );
|
|
|
|
void EnableWYSIWYG(bool bEnable);
|
|
bool IsWYSIWYGEnabled() const { return mbWYSIWYG; }
|
|
|
|
void connect_changed(const Link<weld::ComboBox&, void>& rLink) { m_xComboBox->connect_changed(rLink); }
|
|
void connect_focus_in(const Link<weld::Widget&, void>& rLink) { m_xComboBox->connect_focus_in(rLink); }
|
|
void connect_focus_out(const Link<weld::Widget&, void>& rLink) { m_xComboBox->connect_focus_out(rLink); }
|
|
void connect_key_press(const Link<const KeyEvent&, bool>& rLink) { m_xComboBox->connect_key_press(rLink); }
|
|
void connect_popup_toggled(const Link<weld::ComboBox&, void>& rLink){ m_xComboBox->connect_popup_toggled(rLink); }
|
|
void connect_live_preview(const Link<const FontMetric&, void>& rLink) { m_aLivePreviewHdl = rLink; }
|
|
int get_active() const { return m_xComboBox->get_active(); }
|
|
OUString get_active_text() const { return m_xComboBox->get_active_text(); }
|
|
void set_active_or_entry_text(const OUString& rText);
|
|
void set_active(int nPos) { m_xComboBox->set_active(nPos); }
|
|
int get_count() const { return m_xComboBox->get_count(); }
|
|
OUString get_text(int nIndex) const { return m_xComboBox->get_text(nIndex); }
|
|
void set_sensitive(bool bSensitive) { m_xComboBox->set_sensitive(bSensitive); }
|
|
void save_value() { m_xComboBox->save_value(); }
|
|
OUString const& get_saved_value() const { return m_xComboBox->get_saved_value(); }
|
|
void select_entry_region(int nStartPos, int nEndPos) { m_xComboBox->select_entry_region(nStartPos, nEndPos); }
|
|
bool get_entry_selection_bounds(int& rStartPos, int& rEndPos) { return m_xComboBox->get_entry_selection_bounds(rStartPos, rEndPos); }
|
|
void clear() { m_xComboBox->clear(); }
|
|
void grab_focus() { m_xComboBox->grab_focus(); }
|
|
bool has_focus() const { return m_xComboBox->has_focus(); }
|
|
void connect_entry_activate(const Link<weld::ComboBox&, bool>& rLink) { m_xComboBox->connect_entry_activate(rLink); }
|
|
void connect_get_property_tree(const Link<tools::JsonWriter&, void>& rLink) { m_xComboBox->connect_get_property_tree(rLink); }
|
|
void set_entry_width_chars(int nWidth) { m_xComboBox->set_entry_width_chars(nWidth); }
|
|
void set_size_request(int nWidth, int nHeight) { m_xComboBox->set_size_request(nWidth, nHeight); }
|
|
int get_max_mru_count() const { return m_xComboBox->get_max_mru_count(); }
|
|
void set_max_mru_count(int nCount) { m_xComboBox->set_max_mru_count(nCount); }
|
|
|
|
// font size is in points, not pixels, e.g. see Window::[G]etPointFont
|
|
void set_entry_font(const vcl::Font& rFont) { m_xComboBox->set_entry_font(rFont); }
|
|
vcl::Font get_entry_font() { return m_xComboBox->get_entry_font(); }
|
|
|
|
void set_tooltip_text(const OUString& rTip) { m_xComboBox->set_tooltip_text(rTip); }
|
|
|
|
private:
|
|
void InitFontMRUEntriesFile();
|
|
|
|
FontNameBox( const FontNameBox& ) = delete;
|
|
FontNameBox& operator =( const FontNameBox& ) = delete;
|
|
};
|
|
|
|
class SVT_DLLPUBLIC FontStyleBox
|
|
{
|
|
std::unique_ptr<weld::ComboBox> m_xComboBox;
|
|
OUString m_aLastStyle;
|
|
Link<weld::ComboBox&, void> m_aChangedLink;
|
|
public:
|
|
FontStyleBox(std::unique_ptr<weld::ComboBox> p);
|
|
|
|
void Fill(std::u16string_view rName, const FontList* pList);
|
|
|
|
void connect_changed(const Link<weld::ComboBox&, void>& rLink) { m_aChangedLink = rLink; }
|
|
OUString get_active_text() const { return m_xComboBox->get_active_text(); }
|
|
void set_active_text(const OUString& rText)
|
|
{
|
|
m_aLastStyle = rText;
|
|
m_xComboBox->set_active_text(rText);
|
|
}
|
|
void set_size_request(int nWidth, int nHeight) { m_xComboBox->set_size_request(nWidth, nHeight); }
|
|
|
|
void append_text(const OUString& rStr) { m_xComboBox->append_text(rStr); }
|
|
void set_sensitive(bool bSensitive) { m_xComboBox->set_sensitive(bSensitive); }
|
|
void save_value() { m_xComboBox->save_value(); }
|
|
OUString const& get_saved_value() const { return m_xComboBox->get_saved_value(); }
|
|
int get_count() const { return m_xComboBox->get_count(); }
|
|
int find_text(const OUString& rStr) const { return m_xComboBox->find_text(rStr); }
|
|
private:
|
|
FontStyleBox(const FontStyleBox& ) = delete;
|
|
FontStyleBox& operator=(const FontStyleBox&) = delete;
|
|
|
|
DECL_LINK(ChangeHdl, weld::ComboBox&, void);
|
|
};
|
|
|
|
class SVT_DLLPUBLIC FontSizeBox
|
|
{
|
|
const FontList* pFontList;
|
|
int nSavedValue;
|
|
int nMin;
|
|
int nMax;
|
|
FieldUnit eUnit;
|
|
sal_uInt16 nDecimalDigits;
|
|
sal_uInt16 nRelMin;
|
|
sal_uInt16 nRelMax;
|
|
sal_uInt16 nRelStep;
|
|
short nPtRelMin;
|
|
short nPtRelMax;
|
|
short nPtRelStep;
|
|
bool bRelativeMode:1,
|
|
bRelative:1,
|
|
bPtRelative:1,
|
|
bStdSize:1;
|
|
Link<weld::ComboBox&, void> m_aChangeHdl;
|
|
Link<weld::Widget&, void> m_aFocusOutHdl;
|
|
std::unique_ptr<weld::ComboBox> m_xComboBox;
|
|
|
|
sal_uInt16 GetDecimalDigits() const { return nDecimalDigits; }
|
|
void SetDecimalDigits(sal_uInt16 nDigits) { nDecimalDigits = nDigits; }
|
|
FieldUnit GetUnit() const { return eUnit; }
|
|
void SetUnit(FieldUnit _eUnit) { eUnit = _eUnit; }
|
|
void SetRange(int nNewMin, int nNewMax) { nMin = nNewMin; nMax = nNewMax; }
|
|
void SetValue(int nNewValue, FieldUnit eInUnit);
|
|
|
|
void InsertValue(int i);
|
|
|
|
OUString format_number(int nValue) const;
|
|
|
|
DECL_DLLPRIVATE_LINK(ModifyHdl, weld::ComboBox&, void);
|
|
DECL_DLLPRIVATE_LINK(ReformatHdl, weld::Widget&, void);
|
|
public:
|
|
FontSizeBox(std::unique_ptr<weld::ComboBox> p);
|
|
|
|
void Fill(const FontList* pList);
|
|
|
|
void EnableRelativeMode(sal_uInt16 nMin, sal_uInt16 nMax, sal_uInt16 nStep = 5);
|
|
void EnablePtRelativeMode(short nMin, short nMax, short nStep = 10);
|
|
bool IsRelativeMode() const { return bRelativeMode; }
|
|
void SetRelative( bool bRelative );
|
|
bool IsRelative() const { return bRelative; }
|
|
void SetPtRelative( bool bPtRel )
|
|
{
|
|
bPtRelative = bPtRel;
|
|
SetRelative(true);
|
|
}
|
|
bool IsPtRelative() const { return bPtRelative; }
|
|
|
|
void connect_changed(const Link<weld::ComboBox&, void>& rLink) { m_aChangeHdl = rLink; }
|
|
void connect_focus_out(const Link<weld::Widget&, void>& rLink) { m_aFocusOutHdl = rLink; }
|
|
void connect_key_press(const Link<const KeyEvent&, bool>& rLink) { m_xComboBox->connect_key_press(rLink); }
|
|
OUString get_active_text() const { return m_xComboBox->get_active_text(); }
|
|
void set_active_or_entry_text(const OUString& rText);
|
|
void set_sensitive(bool bSensitive) { m_xComboBox->set_sensitive(bSensitive); }
|
|
void set_size_request(int nWidth, int nHeight) { m_xComboBox->set_size_request(nWidth, nHeight); }
|
|
|
|
int get_active() const { return m_xComboBox->get_active(); }
|
|
int get_value() const;
|
|
void set_value(int nValue);
|
|
void save_value() { nSavedValue = get_value(); }
|
|
int get_saved_value() const { return nSavedValue; }
|
|
bool get_value_changed_from_saved() const { return get_value() != get_saved_value(); }
|
|
int get_count() const { return m_xComboBox->get_count(); }
|
|
OUString get_text(int i) const { return m_xComboBox->get_text(i); }
|
|
void grab_focus() { m_xComboBox->grab_focus(); }
|
|
bool has_focus() const { return m_xComboBox->has_focus(); }
|
|
void connect_entry_activate(const Link<weld::ComboBox&, bool>& rLink) { m_xComboBox->connect_entry_activate(rLink); }
|
|
void disable_entry_completion() { m_xComboBox->set_entry_completion(false, false); }
|
|
void connect_get_property_tree(const Link<tools::JsonWriter&, void>& rLink) { m_xComboBox->connect_get_property_tree(rLink); }
|
|
|
|
private:
|
|
FontSizeBox(const FontSizeBox&) = delete;
|
|
FontSizeBox& operator=(const FontSizeBox&) = delete;
|
|
};
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|