weld LinePropertyPanel
Change-Id: If4ff18c3d312d273e9d28aeef97db053f56007ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86309
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/chart2/source/controller/sidebar/ChartLinePanel.cxx b/chart2/source/controller/sidebar/ChartLinePanel.cxx
index 356bd229..b31c636 100644
--- a/chart2/source/controller/sidebar/ChartLinePanel.cxx
+++ b/chart2/source/controller/sidebar/ChartLinePanel.cxx
@@ -20,7 +20,7 @@
#include <svx/unomid.hxx>
#include <svx/tbcontrl.hxx>
#include <sfx2/sidebar/SidebarToolBox.hxx>
#include <sfx2/weldutils.hxx>
#include <vcl/svapp.hxx>
#include <com/sun/star/view/XSelectionSupplier.hpp>
@@ -31,9 +31,9 @@ namespace chart { namespace sidebar {
namespace {
SvxColorToolBoxControl* getColorToolBoxControl(sfx2::sidebar::SidebarToolBox* pToolBoxColor)
SvxColorToolBoxControl* getColorToolBoxControl(ToolbarUnoDispatcher& rToolBoxColor)
{
css::uno::Reference<css::frame::XToolbarController> xController = pToolBoxColor->GetFirstController();
css::uno::Reference<css::frame::XToolbarController> xController = rToolBoxColor.GetControllerForCommand(".uno:XLineColor");
SvxColorToolBoxControl* pToolBoxColorControl = dynamic_cast<SvxColorToolBoxControl*>(xController.get());
return pToolBoxColorControl;
}
@@ -137,7 +137,7 @@ ChartLinePanel::ChartLinePanel(vcl::Window* pParent,
mxSelectionListener(new ChartSidebarSelectionListener(this)),
mbUpdate(true),
mbModelValid(true),
maLineColorWrapper(mxModel, getColorToolBoxControl(mpTBColor.get()), "LineColor")
maLineColorWrapper(mxModel, getColorToolBoxControl(*mxColorDispatch), "LineColor")
{
disableArrowHead();
std::vector<ObjectType> aAcceptedTypes { OBJECTTYPE_PAGE, OBJECTTYPE_DIAGRAM,
@@ -174,7 +174,7 @@ void ChartLinePanel::Initialize()
if (xSelectionSupplier.is())
xSelectionSupplier->addSelectionChangeListener(mxSelectionListener.get());
SvxColorToolBoxControl* pToolBoxColor = getColorToolBoxControl(mpTBColor.get());
SvxColorToolBoxControl* pToolBoxColor = getColorToolBoxControl(*mxColorDispatch);
pToolBoxColor->setColorSelectFunction(maLineColorWrapper);
setMapUnit(MapUnit::Map100thMM);
diff --git a/include/svx/sidebar/LinePropertyPanelBase.hxx b/include/svx/sidebar/LinePropertyPanelBase.hxx
index e114d7b..c91c2dd 100644
--- a/include/svx/sidebar/LinePropertyPanelBase.hxx
+++ b/include/svx/sidebar/LinePropertyPanelBase.hxx
@@ -19,17 +19,16 @@
#ifndef INCLUDED_SVX_SOURCE_SIDEBAR_LINE_LINEPROPERTYPANELBASE_HXX
#define INCLUDED_SVX_SOURCE_SIDEBAR_LINE_LINEPROPERTYPANELBASE_HXX
#include <vcl/fixed.hxx>
#include <vcl/field.hxx>
#include <vcl/layout.hxx>
#include <vcl/weld.hxx>
#include <memory>
#include <svl/poolitem.hxx>
#include <svx/dlgctrl.hxx>
#include <svx/sidebar/PanelLayout.hxx>
#include <svx/xtable.hxx>
#include <svx/sidebar/LineWidthPopup.hxx>
#include <svx/svxdllapi.h>
class ToolbarUnoDispatcher;
class XLineStyleItem;
class XLineDashItem;
class XLineStartItem;
@@ -40,15 +39,6 @@ class XLineJointItem;
class XLineCapItem;
class XLineTransparenceItem;
class XDashList;
class ListBox;
class ToolBox;
class FloatingWindow;
namespace sfx2 { namespace sidebar {
class SidebarToolBox;
} }
namespace svx
{
@@ -68,6 +58,8 @@ public:
void SetWidthIcon(int n);
void SetWidthIcon();
void EndLineWidthPopup();
// constructor/destructor
LinePropertyPanelBase(
vcl::Window* pParent,
@@ -108,23 +100,26 @@ protected:
protected:
VclPtr<sfx2::sidebar::SidebarToolBox> mpTBColor;
std::unique_ptr<weld::Toolbar> mxTBColor;
std::unique_ptr<ToolbarUnoDispatcher> mxColorDispatch;
private:
//ui controls
VclPtr<FixedText> mpFTWidth;
VclPtr<ToolBox> mpTBWidth;
VclPtr<ListBox> mpLBStyle;
VclPtr<FixedText> mpFTTransparency;
VclPtr<MetricField> mpMFTransparent;
VclPtr<ListBox> mpLBStart;
VclPtr<ListBox> mpLBEnd;
VclPtr<FixedText> mpFTEdgeStyle;
VclPtr<ListBox> mpLBEdgeStyle;
VclPtr<FixedText> mpFTCapStyle;
VclPtr<ListBox> mpLBCapStyle;
VclPtr<VclGrid> mpGridLineProps;
VclPtr<VclVBox> mpBoxArrowProps;
std::unique_ptr<weld::Label> mxFTWidth;
std::unique_ptr<weld::Toolbar> mxTBWidth;
std::unique_ptr<SvxLineLB> mxLBStyle;
std::unique_ptr<weld::Label> mxFTTransparency;
std::unique_ptr<weld::MetricSpinButton> mxMFTransparent;
std::unique_ptr<SvxLineEndLB> mxLBStart;
std::unique_ptr<SvxLineEndLB> mxLBEnd;
std::unique_ptr<weld::Label> mxFTEdgeStyle;
std::unique_ptr<weld::ComboBox> mxLBEdgeStyle;
std::unique_ptr<weld::Label> mxFTCapStyle;
std::unique_ptr<weld::ComboBox> mxLBCapStyle;
std::unique_ptr<weld::Widget> mxGridLineProps;
std::unique_ptr<weld::Widget> mxBoxArrowProps;
//popup windows
std::unique_ptr<LineWidthPopup> mxLineWidthPopup;
std::unique_ptr<XLineStyleItem> mpStyleItem;
std::unique_ptr<XLineDashItem> mpDashItem;
@@ -137,27 +132,24 @@ private:
std::unique_ptr<XLineStartItem> mpStartItem;
std::unique_ptr<XLineEndItem> mpEndItem;
//popup windows
VclPtr<LineWidthPopup> mxLineWidthPopup;
// images from resource
Image const maIMGNone;
OUString maIMGNone;
// multi-images
std::unique_ptr<Image[]> mpIMGWidthIcon;
OUString maIMGWidthIcon[8];
bool mbWidthValuable : 1;
bool mbArrowSupported;
void Initialize();
DECL_LINK(ChangeLineStyleHdl, ListBox&, void);
DECL_LINK(ToolboxWidthSelectHdl, ToolBox*, void);
DECL_LINK(ChangeTransparentHdl, Edit&, void );
DECL_LINK(ChangeStartHdl, ListBox&, void);
DECL_LINK(ChangeEndHdl, ListBox&, void);
DECL_LINK(ChangeEdgeStyleHdl, ListBox&, void);
DECL_LINK(ChangeCapStyleHdl, ListBox&, void);
DECL_LINK(ChangeLineStyleHdl, weld::ComboBox&, void);
DECL_LINK(ToolboxWidthSelectHdl, const OString&, void);
DECL_LINK(ChangeTransparentHdl, weld::MetricSpinButton&, void );
DECL_LINK(ChangeStartHdl, weld::ComboBox&, void);
DECL_LINK(ChangeEndHdl, weld::ComboBox&, void);
DECL_LINK(ChangeEdgeStyleHdl, weld::ComboBox&, void);
DECL_LINK(ChangeCapStyleHdl, weld::ComboBox&, void);
};
} } // end of namespace svx::sidebar
diff --git a/include/svx/sidebar/LineWidthPopup.hxx b/include/svx/sidebar/LineWidthPopup.hxx
index fd36e5e..ce19baf 100644
--- a/include/svx/sidebar/LineWidthPopup.hxx
+++ b/include/svx/sidebar/LineWidthPopup.hxx
@@ -19,28 +19,29 @@
#ifndef INCLUDED_SVX_SOURCE_SIDEBAR_LINE_LINEWIDTHPOPUP_HXX
#define INCLUDED_SVX_SOURCE_SIDEBAR_LINE_LINEWIDTHPOPUP_HXX
#include <vcl/floatwin.hxx>
#include <vcl/layout.hxx>
#include <tools/mapunit.hxx>
#include <vcl/customweld.hxx>
#include <vcl/image.hxx>
#include <vcl/weld.hxx>
#include <array>
class Edit;
class MetricField;
class ValueSet;
class SvtValueSet;
namespace svx { namespace sidebar {
class LinePropertyPanelBase;
class LineWidthValueSet;
class LineWidthPopup final : public FloatingWindow
class LineWidthPopup final
{
public:
LineWidthPopup(LinePropertyPanelBase& rParent);
virtual void dispose() override;
virtual ~LineWidthPopup() override;
LineWidthPopup(weld::Widget* pParent, LinePropertyPanelBase& rParent);
~LineWidthPopup();
void SetWidthSelect (long lValue, bool bValuable, MapUnit eMapUnit);
weld::Container* getTopLevel() const { return m_xTopLevel.get(); }
private:
LinePropertyPanelBase& m_rParent;
std::array<OUString,9> maStrUnits;
@@ -49,14 +50,18 @@ private:
bool m_bVSFocus;
bool m_bCustom;
long m_nCustomWidth;
VclPtr<MetricField> m_xMFWidth;
VclPtr<VclContainer> m_xBox;
VclPtr<LineWidthValueSet> m_xVSWidth;
Image const m_aIMGCus;
Image const m_aIMGCusGray;
DECL_LINK(VSSelectHdl, ValueSet*, void);
DECL_LINK(MFModifyHdl, Edit&, void);
std::unique_ptr<weld::Builder> m_xBuilder;
std::unique_ptr<weld::Container> m_xTopLevel;
std::unique_ptr<weld::MetricSpinButton> m_xMFWidth;
std::unique_ptr<LineWidthValueSet> m_xVSWidth;
std::unique_ptr<weld::CustomWeld> m_xVSWidthWin;
DECL_LINK(VSSelectHdl, SvtValueSet*, void);
DECL_LINK(MFModifyHdl, weld::MetricSpinButton&, void);
DECL_LINK(FocusHdl, weld::Widget&, void);
};
} } // end of namespace svx::sidebar
diff --git a/solenv/sanitizers/ui/svx.suppr b/solenv/sanitizers/ui/svx.suppr
index d089305..9779f86 100644
--- a/solenv/sanitizers/ui/svx.suppr
+++ b/solenv/sanitizers/ui/svx.suppr
@@ -64,8 +64,5 @@ svx/uiconfig/ui/sidebararea.ui://GtkLabel[@id='transparencylabel'] orphan-label
svx/uiconfig/ui/sidebarshadow.ui://GtkLabel[@id='transparency_label'] orphan-label
svx/uiconfig/ui/sidebarshadow.ui://GtkSpinButton[@id='FIELD_TRANSPARENCY'] no-labelled-by
svx/uiconfig/ui/sidebarshadow.ui://GtkScale[@id='transparency_slider'] no-labelled-by
svx/uiconfig/ui/sidebarline.ui://GtkLabel[@id='widthlabel'] orphan-label
svx/uiconfig/ui/sidebarline.ui://GtkLabel[@id='colorlabel'] orphan-label
svx/uiconfig/ui/sidebarline.ui://GtkLabel[@id='translabel'] orphan-label
svx/uiconfig/ui/sidebarline.ui://GtkSpinButton[@id='linetransparency:0%'] missing-label-for
svx/uiconfig/ui/sidebarline.ui://GtkMenuToolButton[@id='SelectWidth'] button-no-label
svx/uiconfig/ui/textcharacterspacingcontrol.ui://GtkSpinButton[@id='kerning:0pt'] no-labelled-by
diff --git a/svx/source/sidebar/line/LinePropertyPanelBase.cxx b/svx/source/sidebar/line/LinePropertyPanelBase.cxx
index ae583af..743a74e 100644
--- a/svx/source/sidebar/line/LinePropertyPanelBase.cxx
+++ b/svx/source/sidebar/line/LinePropertyPanelBase.cxx
@@ -28,6 +28,7 @@
#include <sfx2/objsh.hxx>
#include <sfx2/bindings.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/weldutils.hxx>
#include <svx/xtable.hxx>
#include <svx/xdash.hxx>
#include <svx/drawitem.hxx>
@@ -52,119 +53,30 @@
using namespace css;
using namespace css::uno;
const char UNO_SELECTWIDTH[] = ".uno:SelectWidth";
namespace
{
void FillLineEndListBox(ListBox& rListBoxStart, ListBox& rListBoxEnd, const XLineEndList& rList, const BitmapEx& rBitmapZero)
{
const sal_uInt32 nCount(rList.Count());
const OUString sNone(SvxResId(RID_SVXSTR_NONE));
rListBoxStart.SetUpdateMode(false);
rListBoxEnd.SetUpdateMode(false);
rListBoxStart.Clear();
rListBoxEnd.Clear();
for(sal_uInt32 i(0); i < nCount; i++)
{
const XLineEndEntry* pEntry = rList.GetLineEnd(i);
const BitmapEx aBitmap = const_cast< XLineEndList& >(rList).GetUiBitmap(i);
if(!aBitmap.IsEmpty())
{
BitmapEx aCopyStart(aBitmap);
BitmapEx aCopyEnd(aBitmap);
const Size aBmpSize(aCopyStart.GetSizePixel());
const tools::Rectangle aCropRectStart(Point(), Size(aBmpSize.Width() / 2, aBmpSize.Height()));
const tools::Rectangle aCropRectEnd(Point(aBmpSize.Width() / 2, 0), Size(aBmpSize.Width() / 2, aBmpSize.Height()));
aCopyStart.Crop(aCropRectStart);
rListBoxStart.InsertEntry(
pEntry->GetName(),
Image(aCopyStart));
aCopyEnd.Crop(aCropRectEnd);
rListBoxEnd.InsertEntry(
pEntry->GetName(),
Image(aCopyEnd));
}
else
{
rListBoxStart.InsertEntry(pEntry->GetName());
rListBoxEnd.InsertEntry(pEntry->GetName());
}
}
// add 'none' entries
if (!rBitmapZero.IsEmpty())
{
const Image aImg = rListBoxStart.GetEntryImage(0);
const Size aImgSize = aImg.GetSizePixel();
// take solid line bitmap and crop it to the size of
// line cap entries
BitmapEx aCopyZero( rBitmapZero );
const tools::Rectangle aCropZero( Point(), aImgSize );
aCopyZero.Crop( aCropZero );
// make it 1st item in list
rListBoxStart.InsertEntry( sNone, Image(aCopyZero), 0);
rListBoxEnd.InsertEntry( sNone, Image(aCopyZero), 0);
}
else
{
rListBoxStart.InsertEntry(sNone);
rListBoxEnd.InsertEntry(sNone);
}
rListBoxStart.SetUpdateMode(true);
rListBoxEnd.SetUpdateMode(true);
}
void FillLineStyleListBox(ListBox& rListBox, const XDashList& rList)
{
const sal_uInt32 nCount(rList.Count());
rListBox.SetUpdateMode(false);
rListBox.Clear();
// entry for 'none'
rListBox.InsertEntry(rList.GetStringForUiNoLine());
// entry for solid line
rListBox.InsertEntry(rList.GetStringForUiSolidLine(),
Image( rList.GetBitmapForUISolidLine()));
for(sal_uInt32 i(0); i < nCount; i++)
{
const XDashEntry* pEntry = rList.GetDash(i);
const BitmapEx & rBitmap = const_cast< XDashList& >(rList).GetUiBitmap(i);
if(!rBitmap.IsEmpty())
{
rListBox.InsertEntry(pEntry->GetName(), Image(rBitmap));
}
else
{
rListBox.InsertEntry(pEntry->GetName());
}
}
rListBox.SetUpdateMode(true);
}
} // end of anonymous namespace
const char SELECTWIDTH[] = "SelectWidth";
namespace svx { namespace sidebar {
LinePropertyPanelBase::LinePropertyPanelBase(
vcl::Window* pParent,
const uno::Reference<css::frame::XFrame>& rxFrame)
: PanelLayout(pParent, "LinePropertyPanel", "svx/ui/sidebarline.ui", rxFrame),
: PanelLayout(pParent, "LinePropertyPanel", "svx/ui/sidebarline.ui", rxFrame, true),
mxTBColor(m_xBuilder->weld_toolbar("color")),
mxColorDispatch(new ToolbarUnoDispatcher(*mxTBColor, rxFrame)),
mxFTWidth(m_xBuilder->weld_label("widthlabel")),
mxTBWidth(m_xBuilder->weld_toolbar("width")),
mxLBStyle(new SvxLineLB(m_xBuilder->weld_combo_box("linestyle"))),
mxFTTransparency(m_xBuilder->weld_label("translabel")),
mxMFTransparent(m_xBuilder->weld_metric_spin_button("linetransparency", FieldUnit::PERCENT)),
mxLBStart(new SvxLineEndLB(m_xBuilder->weld_combo_box("beginarrowstyle"))),
mxLBEnd(new SvxLineEndLB(m_xBuilder->weld_combo_box("endarrowstyle"))),
mxFTEdgeStyle(m_xBuilder->weld_label("cornerlabel")),
mxLBEdgeStyle(m_xBuilder->weld_combo_box("edgestyle")),
mxFTCapStyle(m_xBuilder->weld_label("caplabel")),
mxLBCapStyle(m_xBuilder->weld_combo_box("linecapstyle")),
mxGridLineProps(m_xBuilder->weld_widget("lineproperties")),
mxBoxArrowProps(m_xBuilder->weld_widget("arrowproperties")),
mxLineWidthPopup(new LineWidthPopup(mxTBWidth.get(), *this)),
mpStyleItem(),
mpDashItem(),
mnTrans(0),
@@ -172,27 +84,10 @@ LinePropertyPanelBase::LinePropertyPanelBase(
mnWidthCoreValue(0),
mpStartItem(),
mpEndItem(),
mxLineWidthPopup(VclPtr<LineWidthPopup>::Create(*this)),
maIMGNone(StockImage::Yes, BMP_NONE_ICON),
mpIMGWidthIcon(),
maIMGNone(BMP_NONE_ICON),
mbWidthValuable(true),
mbArrowSupported(true)
{
get(mpFTWidth, "widthlabel");
get(mpTBWidth, "width");
get(mpTBColor, "color");
get(mpLBStyle, "linestyle");
get(mpFTTransparency, "translabel");
get(mpMFTransparent, "linetransparency");
get(mpLBStart, "beginarrowstyle");
get(mpLBEnd, "endarrowstyle");
get(mpFTEdgeStyle, "cornerlabel");
get(mpLBEdgeStyle, "edgestyle");
get(mpFTCapStyle, "caplabel");
get(mpLBCapStyle, "linecapstyle");
get(mpGridLineProps, "lineproperties");
get(mpBoxArrowProps, "arrowproperties");
Initialize();
}
@@ -203,62 +98,57 @@ LinePropertyPanelBase::~LinePropertyPanelBase()
void LinePropertyPanelBase::dispose()
{
mxLineWidthPopup.disposeAndClear();
mpFTWidth.clear();
mpTBWidth.clear();
mpTBColor.clear();
mpLBStyle.clear();
mpFTTransparency.clear();
mpMFTransparent.clear();
mpLBStart.clear();
mpLBEnd.clear();
mpFTEdgeStyle.clear();
mpLBEdgeStyle.clear();
mpFTCapStyle.clear();
mpLBCapStyle.clear();
mpGridLineProps.clear();
mpBoxArrowProps.clear();
mxLineWidthPopup.reset();
mxFTWidth.reset();
mxTBWidth.reset();
mxColorDispatch.reset();
mxTBColor.reset();
mxLBStyle.reset();
mxFTTransparency.reset();
mxMFTransparent.reset();
mxLBStart.reset();
mxLBEnd.reset();
mxFTEdgeStyle.reset();
mxLBEdgeStyle.reset();
mxFTCapStyle.reset();
mxLBCapStyle.reset();
mxGridLineProps.reset();
mxBoxArrowProps.reset();
PanelLayout::dispose();
}
void LinePropertyPanelBase::Initialize()
{
mpIMGWidthIcon.reset(new Image[8]);
mpIMGWidthIcon[0] = Image(StockImage::Yes, BMP_WIDTH1_ICON);
mpIMGWidthIcon[1] = Image(StockImage::Yes, BMP_WIDTH2_ICON);
mpIMGWidthIcon[2] = Image(StockImage::Yes, BMP_WIDTH3_ICON);
mpIMGWidthIcon[3] = Image(StockImage::Yes, BMP_WIDTH4_ICON);
mpIMGWidthIcon[4] = Image(StockImage::Yes, BMP_WIDTH5_ICON);
mpIMGWidthIcon[5] = Image(StockImage::Yes, BMP_WIDTH6_ICON);
mpIMGWidthIcon[6] = Image(StockImage::Yes, BMP_WIDTH7_ICON);
mpIMGWidthIcon[7] = Image(StockImage::Yes, BMP_WIDTH8_ICON);
mxTBWidth->set_item_popover(SELECTWIDTH, mxLineWidthPopup->getTopLevel());
maIMGWidthIcon[0] = BMP_WIDTH1_ICON;
maIMGWidthIcon[1] = BMP_WIDTH2_ICON;
maIMGWidthIcon[2] = BMP_WIDTH3_ICON;
maIMGWidthIcon[3] = BMP_WIDTH4_ICON;
maIMGWidthIcon[4] = BMP_WIDTH5_ICON;
maIMGWidthIcon[5] = BMP_WIDTH6_ICON;
maIMGWidthIcon[6] = BMP_WIDTH7_ICON;
maIMGWidthIcon[7] = BMP_WIDTH8_ICON;
FillLineStyleList();
SelectLineStyle();
mpLBStyle->SetSelectHdl( LINK( this, LinePropertyPanelBase, ChangeLineStyleHdl ) );
mpLBStyle->AdaptDropDownLineCountToMaximum();
mxLBStyle->connect_changed( LINK( this, LinePropertyPanelBase, ChangeLineStyleHdl ) );
const sal_uInt16 nIdWidth = mpTBWidth->GetItemId(UNO_SELECTWIDTH);
mpTBWidth->SetItemImage(nIdWidth, mpIMGWidthIcon[0]);
mpTBWidth->SetItemBits( nIdWidth, mpTBWidth->GetItemBits( nIdWidth ) | ToolBoxItemBits::DROPDOWNONLY );
Link<ToolBox *, void> aLink2 = LINK(this, LinePropertyPanelBase, ToolboxWidthSelectHdl);
mpTBWidth->SetDropdownClickHdl ( aLink2 );
mpTBWidth->SetSelectHdl ( aLink2 );
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGWidthIcon[0]);
mxTBWidth->connect_clicked(LINK(this, LinePropertyPanelBase, ToolboxWidthSelectHdl));
FillLineEndList();
SelectEndStyle(true);
SelectEndStyle(false);
mpLBStart->SetSelectHdl( LINK( this, LinePropertyPanelBase, ChangeStartHdl ) );
mpLBStart->AdaptDropDownLineCountToMaximum();
mpLBEnd->SetSelectHdl( LINK( this, LinePropertyPanelBase, ChangeEndHdl ) );
mpLBEnd->AdaptDropDownLineCountToMaximum();
mxLBStart->connect_changed( LINK( this, LinePropertyPanelBase, ChangeStartHdl ) );
mxLBEnd->connect_changed( LINK( this, LinePropertyPanelBase, ChangeEndHdl ) );
mpMFTransparent->SetModifyHdl(LINK(this, LinePropertyPanelBase, ChangeTransparentHdl));
mxMFTransparent->connect_value_changed(LINK(this, LinePropertyPanelBase, ChangeTransparentHdl));
mpLBEdgeStyle->SetSelectHdl( LINK( this, LinePropertyPanelBase, ChangeEdgeStyleHdl ) );
mxLBEdgeStyle->connect_changed( LINK( this, LinePropertyPanelBase, ChangeEdgeStyleHdl ) );
mpLBCapStyle->SetSelectHdl( LINK( this, LinePropertyPanelBase, ChangeCapStyleHdl ) );
mxLBCapStyle->connect_changed( LINK( this, LinePropertyPanelBase, ChangeCapStyleHdl ) );
}
void LinePropertyPanelBase::DataChanged(const DataChangedEvent& /*rEvent*/)
@@ -269,11 +159,11 @@ void LinePropertyPanelBase::updateLineStyle(bool bDisabled, bool bSetOrDefault,
{
if(bDisabled)
{
mpLBStyle->Disable();
mxLBStyle->set_sensitive(false);
}
else
{
mpLBStyle->Enable();
mxLBStyle->set_sensitive(true);
}
if(bSetOrDefault)
@@ -295,11 +185,11 @@ void LinePropertyPanelBase::updateLineDash(bool bDisabled, bool bSetOrDefault, c
{
if(bDisabled)
{
mpLBStyle->Disable();
mxLBStyle->set_sensitive(false);
}
else
{
mpLBStyle->Enable();
mxLBStyle->set_sensitive(true);
}
if(bSetOrDefault)
@@ -322,13 +212,13 @@ void LinePropertyPanelBase::updateLineTransparence(bool bDisabled, bool bSetOrDe
{
if(bDisabled)
{
mpFTTransparency->Disable();
mpMFTransparent->Disable();
mxFTTransparency->set_sensitive(false);
mxMFTransparent->set_sensitive(false);
}
else
{
mpFTTransparency->Enable();
mpMFTransparent->Enable();
mxFTTransparency->set_sensitive(true);
mxMFTransparent->set_sensitive(true);
}
if(bSetOrDefault)
@@ -336,13 +226,13 @@ void LinePropertyPanelBase::updateLineTransparence(bool bDisabled, bool bSetOrDe
if (const XLineTransparenceItem* pItem = dynamic_cast<const XLineTransparenceItem*>(pState))
{
mnTrans = pItem->GetValue();
mpMFTransparent->SetValue(mnTrans);
mxMFTransparent->set_value(mnTrans, FieldUnit::PERCENT);
return;
}
}
mpMFTransparent->SetValue(0);//add
mpMFTransparent->SetText(OUString());
mxMFTransparent->set_value(0, FieldUnit::PERCENT);//add
mxMFTransparent->set_text(OUString());
}
void LinePropertyPanelBase::updateLineWidth(bool bDisabled, bool bSetOrDefault,
@@ -350,13 +240,13 @@ void LinePropertyPanelBase::updateLineWidth(bool bDisabled, bool bSetOrDefault,
{
if(bDisabled)
{
mpTBWidth->Disable();
mpFTWidth->Disable();
mxTBWidth->set_sensitive(false);
mxFTWidth->set_sensitive(false);
}
else
{
mpTBWidth->Enable();
mpFTWidth->Enable();
mxTBWidth->set_sensitive(true);
mxFTWidth->set_sensitive(true);
}
if(bSetOrDefault)
@@ -379,12 +269,12 @@ void LinePropertyPanelBase::updateLineStart(bool bDisabled, bool bSetOrDefault,
{
if(bDisabled)
{
mpLBStart->Disable();
mxLBStart->set_sensitive(false);
}
else
{
if (mbArrowSupported)
mpLBStart->Enable();
mxLBStart->set_sensitive(true);
}
if(bSetOrDefault && pItem)
@@ -403,12 +293,12 @@ void LinePropertyPanelBase::updateLineEnd(bool bDisabled, bool bSetOrDefault,
{
if(bDisabled)
{
mpLBEnd->Disable();
mxLBEnd->set_sensitive(false);
}
else
{
if (mbArrowSupported)
mpLBEnd->Enable();
mxLBEnd->set_sensitive(true);
}
if(bSetOrDefault && pItem)
@@ -427,13 +317,13 @@ void LinePropertyPanelBase::updateLineJoint(bool bDisabled, bool bSetOrDefault,
{
if(bDisabled)
{
mpLBEdgeStyle->Disable();
mpFTEdgeStyle->Disable();
mxLBEdgeStyle->set_sensitive(false);
mxFTEdgeStyle->set_sensitive(false);
}
else
{
mpLBEdgeStyle->Enable();
mpFTEdgeStyle->Enable();
mxLBEdgeStyle->set_sensitive(true);
mxFTEdgeStyle->set_sensitive(true);
}
if(bSetOrDefault)
@@ -472,13 +362,13 @@ void LinePropertyPanelBase::updateLineJoint(bool bDisabled, bool bSetOrDefault,
if(nEntryPos)
{
mpLBEdgeStyle->SelectEntryPos(nEntryPos - 1);
mxLBEdgeStyle->set_active(nEntryPos - 1);
return;
}
}
}
mpLBEdgeStyle->SetNoSelection();
mxLBEdgeStyle->set_active(-1);
}
void LinePropertyPanelBase::updateLineCap(bool bDisabled, bool bSetOrDefault,
@@ -486,13 +376,13 @@ void LinePropertyPanelBase::updateLineCap(bool bDisabled, bool bSetOrDefault,
{
if(bDisabled)
{
mpLBCapStyle->Disable();
mpFTCapStyle->Disable();
mxLBCapStyle->set_sensitive(false);
mxFTCapStyle->set_sensitive(false);
}
else
{
mpLBCapStyle->Enable();
mpLBCapStyle->Enable();
mxLBCapStyle->set_sensitive(true);
mxLBCapStyle->set_sensitive(true);
}
if(bSetOrDefault)
@@ -525,20 +415,20 @@ void LinePropertyPanelBase::updateLineCap(bool bDisabled, bool bSetOrDefault,
if(nEntryPos)
{
mpLBCapStyle->SelectEntryPos(nEntryPos - 1);
mxLBCapStyle->set_active(nEntryPos - 1);
return;
}
}
}
mpLBCapStyle->SetNoSelection();
mxLBCapStyle->set_active(-1);
}
IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeLineStyleHdl, ListBox&, void)
IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeLineStyleHdl, weld::ComboBox&, void)
{
const sal_Int32 nPos(mpLBStyle->GetSelectedEntryPos());
const sal_Int32 nPos(mxLBStyle->get_active());
if(LISTBOX_ENTRY_NOTFOUND != nPos && mpLBStyle->IsValueChangedFromSaved())
if (nPos != -1 && mxLBStyle->get_value_changed_from_saved())
{
if(0 == nPos)
{
@@ -572,39 +462,39 @@ IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeLineStyleHdl, ListBox&, void)
ActivateControls();
}
IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeStartHdl, ListBox&, void)
IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeStartHdl, weld::ComboBox&, void)
{
sal_Int32 nPos = mpLBStart->GetSelectedEntryPos();
if( nPos != LISTBOX_ENTRY_NOTFOUND && mpLBStart->IsValueChangedFromSaved() )
sal_Int32 nPos = mxLBStart->get_active();
if (nPos != -1 && mxLBStart->get_value_changed_from_saved())
{
std::unique_ptr<XLineStartItem> pItem;
if( nPos == 0 )
pItem.reset(new XLineStartItem());
else if( mxLineEndList.is() && mxLineEndList->Count() > static_cast<long>( nPos - 1 ) )
pItem.reset(new XLineStartItem( mpLBStart->GetSelectedEntry(),mxLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() ));
pItem.reset(new XLineStartItem( mxLBStart->get_active_text(),mxLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() ));
setLineStartStyle(pItem.get());
}
}
IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeEndHdl, ListBox&, void)
IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeEndHdl, weld::ComboBox&, void)
{
sal_Int32 nPos = mpLBEnd->GetSelectedEntryPos();
if( nPos != LISTBOX_ENTRY_NOTFOUND && mpLBEnd->IsValueChangedFromSaved() )
sal_Int32 nPos = mxLBEnd->get_active();
if (nPos != -1 && mxLBEnd->get_value_changed_from_saved())
{
std::unique_ptr<XLineEndItem> pItem;
if( nPos == 0 )
pItem.reset(new XLineEndItem());
else if( mxLineEndList.is() && mxLineEndList->Count() > static_cast<long>( nPos - 1 ) )
pItem.reset(new XLineEndItem( mpLBEnd->GetSelectedEntry(), mxLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() ));
pItem.reset(new XLineEndItem( mxLBEnd->get_active_text(), mxLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() ));
setLineEndStyle(pItem.get());
}
}
IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeEdgeStyleHdl, ListBox&, void)
IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeEdgeStyleHdl, weld::ComboBox&, void)
{
const sal_Int32 nPos(mpLBEdgeStyle->GetSelectedEntryPos());
const sal_Int32 nPos(mxLBEdgeStyle->get_active());
if(LISTBOX_ENTRY_NOTFOUND != nPos && mpLBEdgeStyle->IsValueChangedFromSaved())
if (nPos != -1 && mxLBEdgeStyle->get_value_changed_from_saved())
{
std::unique_ptr<XLineJointItem> pItem;
@@ -636,11 +526,11 @@ IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeEdgeStyleHdl, ListBox&, void)
}
}
IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeCapStyleHdl, ListBox&, void)
IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeCapStyleHdl, weld::ComboBox&, void)
{
const sal_Int32 nPos(mpLBCapStyle->GetSelectedEntryPos());
const sal_Int32 nPos(mxLBCapStyle->get_active());
if(LISTBOX_ENTRY_NOTFOUND != nPos && mpLBCapStyle->IsValueChangedFromSaved())
if (nPos != -1 && mxLBCapStyle->get_value_changed_from_saved())
{
std::unique_ptr<XLineCapItem> pItem;
@@ -667,18 +557,19 @@ IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeCapStyleHdl, ListBox&, void)
}
}
IMPL_LINK(LinePropertyPanelBase, ToolboxWidthSelectHdl,ToolBox*, pToolBox, void)
IMPL_LINK_NOARG(LinePropertyPanelBase, ToolboxWidthSelectHdl, const OString&, void)
{
if (pToolBox->GetItemCommand(pToolBox->GetCurItemId()) == UNO_SELECTWIDTH)
{
mxLineWidthPopup->SetWidthSelect(mnWidthCoreValue, mbWidthValuable, meMapUnit);
mxLineWidthPopup->StartPopupMode(pToolBox, FloatWinPopupFlags::GrabFocus);
}
mxTBWidth->set_menu_item_active(SELECTWIDTH, !mxTBWidth->get_menu_item_active(SELECTWIDTH));
}
IMPL_LINK_NOARG( LinePropertyPanelBase, ChangeTransparentHdl, Edit&, void )
void LinePropertyPanelBase::EndLineWidthPopup()
{
sal_uInt16 nVal = static_cast<sal_uInt16>(mpMFTransparent->GetValue());
mxTBWidth->set_menu_item_active(SELECTWIDTH, false);
}
IMPL_LINK_NOARG( LinePropertyPanelBase, ChangeTransparentHdl, weld::MetricSpinButton&, void )
{
sal_uInt16 nVal = static_cast<sal_uInt16>(mxMFTransparent->get_value(FieldUnit::PERCENT));
XLineTransparenceItem aItem( nVal );
setLineTransparency(aItem);
@@ -686,41 +577,38 @@ IMPL_LINK_NOARG( LinePropertyPanelBase, ChangeTransparentHdl, Edit&, void )
void LinePropertyPanelBase::SetWidthIcon(int n)
{
const sal_uInt16 nIdWidth = mpTBWidth->GetItemId(UNO_SELECTWIDTH);
if (n == 0)
mpTBWidth->SetItemImage( nIdWidth, maIMGNone);
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGNone);
else
mpTBWidth->SetItemImage( nIdWidth, mpIMGWidthIcon[n-1]);
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGWidthIcon[n-1]);
}
void LinePropertyPanelBase::SetWidthIcon()
{
if(!mbWidthValuable)
{
const sal_uInt16 nIdWidth = mpTBWidth->GetItemId(UNO_SELECTWIDTH);
mpTBWidth->SetItemImage(nIdWidth, maIMGNone);
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGNone);
return;
}
long nVal = LogicToLogic(mnWidthCoreValue * 10, meMapUnit, MapUnit::MapPoint);
const sal_uInt16 nIdWidth = mpTBWidth->GetItemId(UNO_SELECTWIDTH);
if(nVal <= 6)
mpTBWidth->SetItemImage( nIdWidth, mpIMGWidthIcon[0]);
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGWidthIcon[0]);
else if (nVal <= 9)
mpTBWidth->SetItemImage( nIdWidth, mpIMGWidthIcon[1]);
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGWidthIcon[1]);
else if (nVal <= 12)
mpTBWidth->SetItemImage( nIdWidth, mpIMGWidthIcon[2]);
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGWidthIcon[2]);
else if (nVal <= 19)
mpTBWidth->SetItemImage( nIdWidth, mpIMGWidthIcon[3]);
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGWidthIcon[3]);
else if (nVal <= 26)
mpTBWidth->SetItemImage( nIdWidth, mpIMGWidthIcon[4]);
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGWidthIcon[4]);
else if (nVal <= 37)
mpTBWidth->SetItemImage( nIdWidth, mpIMGWidthIcon[5]);
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGWidthIcon[5]);
else if (nVal <= 52)
mpTBWidth->SetItemImage( nIdWidth, mpIMGWidthIcon[6]);
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGWidthIcon[6]);
else
mpTBWidth->SetItemImage( nIdWidth, mpIMGWidthIcon[7]);
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGWidthIcon[7]);
}
@@ -728,6 +616,7 @@ void LinePropertyPanelBase::SetWidth(long nWidth)
{
mnWidthCoreValue = nWidth;
mbWidthValuable = true;
mxLineWidthPopup->SetWidthSelect(mnWidthCoreValue, mbWidthValuable, meMapUnit);
}
void LinePropertyPanelBase::FillLineEndList()
@@ -735,26 +624,25 @@ void LinePropertyPanelBase::FillLineEndList()
SfxObjectShell* pSh = SfxObjectShell::Current();
if ( pSh && pSh->GetItem( SID_LINEEND_LIST ) )
{
mpLBStart->Enable();
mxLBStart->set_sensitive(true);
mxLineEndList = pSh->GetItem( SID_LINEEND_LIST )->GetLineEndList();
if (mxLineEndList.is())
{
BitmapEx aZeroBitmap;
if (mxLineStyleList.is())
aZeroBitmap = mxLineStyleList->GetBitmapForUISolidLine();
FillLineEndListBox(*mpLBStart, *mpLBEnd, *mxLineEndList, aZeroBitmap);
OUString sNone(SvxResId(RID_SVXSTR_NONE));
mxLBStart->append_text(sNone);
mxLBStart->Fill(mxLineEndList, true);
mxLBEnd->append_text(sNone);
mxLBEnd->Fill(mxLineEndList, false);
}
mpLBStart->SelectEntryPos(0);
mpLBEnd->SelectEntryPos(0);
mxLBStart->set_active(0);
mxLBEnd->set_active(0);
}
else
{
mpLBStart->Disable();
mpLBEnd->Disable();
mxLBStart->set_sensitive(false);
mxLBEnd->set_sensitive(false);
}
}
@@ -763,19 +651,19 @@ void LinePropertyPanelBase::FillLineStyleList()
SfxObjectShell* pSh = SfxObjectShell::Current();
if ( pSh && pSh->GetItem( SID_DASH_LIST ) )
{
mpLBStyle->Enable();
mxLBStyle->set_sensitive(true);
mxLineStyleList = pSh->GetItem( SID_DASH_LIST )->GetDashList();
if (mxLineStyleList.is())
{
FillLineStyleListBox(*mpLBStyle, *mxLineStyleList);
mxLBStyle->Fill(mxLineStyleList);
}
mpLBStyle->SelectEntryPos(0);
mxLBStyle->set_active(0);
}
else
{
mpLBStyle->Disable();
mxLBStyle->set_sensitive(false);
}
}
@@ -783,8 +671,8 @@ void LinePropertyPanelBase::SelectLineStyle()
{
if (!mpStyleItem || !mpDashItem)
{
mpLBStyle->SetNoSelection();
mpLBStyle->Disable();
mxLBStyle->set_active(-1);
mxLBStyle->set_sensitive(false);
return;
}
@@ -796,7 +684,7 @@ void LinePropertyPanelBase::SelectLineStyle()
case drawing::LineStyle_NONE:
break;
case drawing::LineStyle_SOLID:
mpLBStyle->SelectEntryPos(1);
mxLBStyle->set_active(1);
bSelected = true;
break;
default:
@@ -809,7 +697,7 @@ void LinePropertyPanelBase::SelectLineStyle()
const XDash& rEntry = pEntry->GetDash();
if(rDash == rEntry)
{
mpLBStyle->SelectEntryPos(a + 2);
mxLBStyle->set_active(a + 2);
bSelected = true;
}
}
@@ -818,7 +706,7 @@ void LinePropertyPanelBase::SelectLineStyle()
}
if(!bSelected)
mpLBStyle->SelectEntryPos( 0 );
mxLBStyle->set_active( 0 );
ActivateControls();
}
@@ -831,8 +719,8 @@ void LinePropertyPanelBase::SelectEndStyle(bool bStart)
{
if (!mpStartItem)
{
mpLBStart->SetNoSelection();
mpLBStart->Disable();
mxLBStart->set_active(-1);
mxLBStart->set_sensitive(false);
return;
}
@@ -845,7 +733,7 @@ void LinePropertyPanelBase::SelectEndStyle(bool bStart)
const basegfx::B2DPolyPolygon& rEntryPolygon = pEntry->GetLineEnd();
if(rItemPolygon == rEntryPolygon)
{
mpLBStart->SelectEntryPos(a + 1);
mxLBStart->set_active(a + 1);
bSelected = true;
}
}
@@ -853,15 +741,15 @@ void LinePropertyPanelBase::SelectEndStyle(bool bStart)
if(!bSelected)
{
mpLBStart->SelectEntryPos( 0 );
mxLBStart->set_active( 0 );
}
}
else
{
if (!mpEndItem)
{
mpLBEnd->SetNoSelection();
mpLBEnd->Disable();
mxLBEnd->set_active(-1);
mxLBEnd->set_sensitive(false);
return;
}
@@ -874,7 +762,7 @@ void LinePropertyPanelBase::SelectEndStyle(bool bStart)
const basegfx::B2DPolyPolygon& rEntryPolygon = pEntry->GetLineEnd();
if(rItemPolygon == rEntryPolygon)
{
mpLBEnd->SelectEntryPos(a + 1);
mxLBEnd->set_active(a + 1);
bSelected = true;
}
}
@@ -882,25 +770,26 @@ void LinePropertyPanelBase::SelectEndStyle(bool bStart)
if(!bSelected)
{
mpLBEnd->SelectEntryPos( 0 );
mxLBEnd->set_active( 0 );
}
}
}
void LinePropertyPanelBase::ActivateControls()
{
const sal_Int32 nPos(mpLBStyle->GetSelectedEntryPos());
const sal_Int32 nPos(mxLBStyle->get_active());
bool bLineStyle( nPos != 0 );
mpGridLineProps->Enable( bLineStyle );
mpBoxArrowProps->Enable( bLineStyle );
mpLBStart->Enable( bLineStyle && mbArrowSupported );
mpLBEnd->Enable( bLineStyle && mbArrowSupported );
mxGridLineProps->set_sensitive( bLineStyle );
mxBoxArrowProps->set_sensitive( bLineStyle );
mxLBStart->set_sensitive( bLineStyle && mbArrowSupported );
mxLBEnd->set_sensitive( bLineStyle && mbArrowSupported );
}
void LinePropertyPanelBase::setMapUnit(MapUnit eMapUnit)
{
meMapUnit = eMapUnit;
mxLineWidthPopup->SetWidthSelect(mnWidthCoreValue, mbWidthValuable, meMapUnit);
}
void LinePropertyPanelBase::disableArrowHead()
diff --git a/svx/source/sidebar/line/LineWidthPopup.cxx b/svx/source/sidebar/line/LineWidthPopup.cxx
index d4964d3..206d416 100644
--- a/svx/source/sidebar/line/LineWidthPopup.cxx
+++ b/svx/source/sidebar/line/LineWidthPopup.cxx
@@ -30,9 +30,8 @@
namespace svx { namespace sidebar {
LineWidthPopup::LineWidthPopup(LinePropertyPanelBase& rParent)
: FloatingWindow(&rParent, "FloatingLineProperty", "svx/ui/floatinglineproperty.ui")
, m_rParent(rParent)
LineWidthPopup::LineWidthPopup(weld::Widget* pParent, LinePropertyPanelBase& rParent)
: m_rParent(rParent)
, m_sPt(SvxResId(RID_SVXSTR_PT))
, m_eMapUnit(MapUnit::MapTwip)
, m_bVSFocus(true)
@@ -40,19 +39,15 @@ LineWidthPopup::LineWidthPopup(LinePropertyPanelBase& rParent)
, m_nCustomWidth(0)
, m_aIMGCus(StockImage::Yes, RID_SVXBMP_WIDTH_CUSTOM)
, m_aIMGCusGray(StockImage::Yes, RID_SVXBMP_WIDTH_CUSTOM_GRAY)
, m_xBuilder(Application::CreateBuilder(pParent, "svx/ui/floatinglineproperty.ui"))
, m_xTopLevel(m_xBuilder->weld_container("FloatingLineProperty"))
, m_xMFWidth(m_xBuilder->weld_metric_spin_button("spin", FieldUnit::POINT))
, m_xVSWidth(new LineWidthValueSet())
, m_xVSWidthWin(new weld::CustomWeld(*m_xBuilder, "lineset", *m_xVSWidth))
{
get(m_xMFWidth, "spin");
m_xTopLevel->connect_focus_in(LINK(this, LineWidthPopup, FocusHdl));
get(m_xBox, "box");
m_xVSWidth = VclPtr<LineWidthValueSet>::Create(m_xBox);
// Avoid flicker when hovering over the menu items.
if (!IsNativeControlSupported(ControlType::Pushbutton, ControlPart::Focus))
// If NWF renders the focus rects itself, that breaks double-buffering.
m_xMFWidth->RequestDoubleBuffering(true);
m_xVSWidth->SetStyle(m_xVSWidth->GetStyle()| WB_3DLOOK | WB_NO_DIRECTSELECT);
m_xVSWidth->SetStyle(m_xVSWidth->GetStyle() | WB_3DLOOK | WB_NO_DIRECTSELECT);
maStrUnits[0] = "0.5";
maStrUnits[1] = "0.8";
@@ -94,32 +89,20 @@ LineWidthPopup::LineWidthPopup(LinePropertyPanelBase& rParent)
m_xVSWidth->SetSelItem(0);
m_xVSWidth->SetSelectHdl(LINK(this, LineWidthPopup, VSSelectHdl));
m_xMFWidth->SetModifyHdl(LINK(this, LineWidthPopup, MFModifyHdl));
m_xVSWidth->StartSelection();
m_xVSWidth->Show();
}
void LineWidthPopup::dispose()
{
m_xVSWidth.disposeAndClear();
m_xBox.clear();
m_xMFWidth.clear();
FloatingWindow::dispose();
m_xMFWidth->connect_value_changed(LINK(this, LineWidthPopup, MFModifyHdl));
}
LineWidthPopup::~LineWidthPopup()
{
disposeOnce();
}
IMPL_LINK(LineWidthPopup, VSSelectHdl, ValueSet*, /*pControl*/, void)
IMPL_LINK_NOARG(LineWidthPopup, VSSelectHdl, SvtValueSet*, void)
{
sal_uInt16 iPos = m_xVSWidth->GetSelectedItemId();
if (iPos >= 1 && iPos <= 8)
{
sal_IntPtr nVal = LogicToLogic(reinterpret_cast<sal_IntPtr>(m_xVSWidth->GetItemData( iPos )), MapUnit::MapPoint, m_eMapUnit);
nVal = m_xMFWidth->Denormalize(nVal);
sal_IntPtr nVal = OutputDevice::LogicToLogic(reinterpret_cast<sal_IntPtr>(m_xVSWidth->GetItemData( iPos )), MapUnit::MapPoint, m_eMapUnit);
nVal = m_xMFWidth->denormalize(nVal);
XLineWidthItem aWidthItem( nVal );
m_rParent.setLineWidth(aWidthItem);
m_rParent.SetWidthIcon(iPos);
@@ -130,8 +113,8 @@ IMPL_LINK(LineWidthPopup, VSSelectHdl, ValueSet*, /*pControl*/, void)
//modified
if (m_bCustom)
{
long nVal = LogicToLogic(m_nCustomWidth , MapUnit::MapPoint, m_eMapUnit);
nVal = m_xMFWidth->Denormalize(nVal);
long nVal = OutputDevice::LogicToLogic(m_nCustomWidth , MapUnit::MapPoint, m_eMapUnit);
nVal = m_xMFWidth->denormalize(nVal);
XLineWidthItem aWidthItem( nVal );
m_rParent.setLineWidth(aWidthItem);
m_rParent.SetWidth(nVal);
@@ -141,30 +124,27 @@ IMPL_LINK(LineWidthPopup, VSSelectHdl, ValueSet*, /*pControl*/, void)
m_xVSWidth->SetNoSelection(); //add , set no selection and keep the last select item
m_xVSWidth->SetFormat();
m_xVSWidth->Invalidate();
Invalidate();
m_xVSWidth->StartSelection();
}
//modify end
}
if ((iPos >= 1 && iPos <= 8) || (iPos == 9 && m_bCustom)) //add
{
EndPopupMode();
m_rParent.EndLineWidthPopup();
}
}
IMPL_LINK(LineWidthPopup, MFModifyHdl, Edit&, /*rControl*/, void)
IMPL_LINK_NOARG(LineWidthPopup, MFModifyHdl, weld::MetricSpinButton&, void)
{
if (m_xVSWidth->GetSelItem())
{
m_xVSWidth->SetSelItem(0);
m_xVSWidth->SetFormat();
m_xVSWidth->Invalidate();
Invalidate();
m_xVSWidth->StartSelection();
}
long nTmp = static_cast<long>(m_xMFWidth->GetValue());
long nVal = LogicToLogic( nTmp, MapUnit::MapPoint, m_eMapUnit );
sal_Int32 nNewWidth = static_cast<short>(m_xMFWidth->Denormalize( nVal ));
long nTmp = static_cast<long>(m_xMFWidth->get_value(FieldUnit::NONE));
long nVal = OutputDevice::LogicToLogic( nTmp, MapUnit::MapPoint, m_eMapUnit );
sal_Int32 nNewWidth = static_cast<short>(m_xMFWidth->denormalize( nVal ));
XLineWidthItem aWidthItem(nNewWidth);
m_rParent.setLineWidth(aWidthItem);
}
@@ -203,15 +183,15 @@ void LineWidthPopup::SetWidthSelect(long lValue, bool bValuable, MapUnit eMapUni
if (bValuable)
{
sal_Int64 nVal = OutputDevice::LogicToLogic(lValue, eMapUnit, MapUnit::Map100thMM );
nVal = m_xMFWidth->Normalize(nVal);
m_xMFWidth->SetValue( nVal, FieldUnit::MM_100TH );
nVal = m_xMFWidth->normalize(nVal);
m_xMFWidth->set_value( nVal, FieldUnit::MM_100TH );
}
else
{
m_xMFWidth->SetText( "" );
m_xMFWidth->set_text( "" );
}
OUString strCurrValue = m_xMFWidth->GetText();
OUString strCurrValue = m_xMFWidth->get_text();
sal_uInt16 i = 0;
for(; i < 8; i++)
{
@@ -230,12 +210,14 @@ void LineWidthPopup::SetWidthSelect(long lValue, bool bValuable, MapUnit eMapUni
m_xVSWidth->SetFormat();
m_xVSWidth->Invalidate();
m_xVSWidth->StartSelection();
}
IMPL_LINK_NOARG(LineWidthPopup, FocusHdl, weld::Widget&, void)
{
if (m_bVSFocus)
m_xVSWidth->GrabFocus();
else
m_xMFWidth->GrabFocus();
m_xMFWidth->grab_focus();
}
} } // end of namespace svx::sidebar
diff --git a/svx/source/sidebar/line/LineWidthValueSet.cxx b/svx/source/sidebar/line/LineWidthValueSet.cxx
index 0de8c36..ce3a6ca 100644
--- a/svx/source/sidebar/line/LineWidthValueSet.cxx
+++ b/svx/source/sidebar/line/LineWidthValueSet.cxx
@@ -19,13 +19,14 @@
#include "LineWidthValueSet.hxx"
#include <i18nlangtag/mslangid.hxx>
#include <vcl/settings.hxx>
#include <vcl/event.hxx>
#include <vcl/settings.hxx>
#include <vcl/svapp.hxx>
namespace svx { namespace sidebar {
LineWidthValueSet::LineWidthValueSet(vcl::Window* pParent)
: ValueSet(pParent, WB_TABSTOP)
LineWidthValueSet::LineWidthValueSet()
: SvtValueSet(nullptr)
, nSelItem(0)
, bCusEnable(false)
{
@@ -35,12 +36,11 @@ void LineWidthValueSet::Resize()
{
SetColCount();
SetLineCount(9);
ValueSet::Resize();
SvtValueSet::Resize();
}
LineWidthValueSet::~LineWidthValueSet()
{
disposeOnce();
}
void LineWidthValueSet::SetUnit(std::array<OUString,9> const & strUnits)
@@ -97,19 +97,19 @@ void LineWidthValueSet::UserDraw( const UserDrawEvent& rUDEvt )
Point aLineStart(aBLPos.X() + 5, aBLPos.Y() + ( nRectHeight - nItemId )/2);
Point aLineEnd(aBLPos.X() + nRectWidth * 7 / 9 - 10, aBLPos.Y() + ( nRectHeight - nItemId )/2);
if(nItemId == 9)
if (nItemId == 9)
{
Point aImgStart(aBLPos.X() + 5, aBLPos.Y() + ( nRectHeight - 23 ) / 2);
pDev->DrawImage(aImgStart, imgCus);
// Point aStart(aImgStart.X() + 14 + 20 , aBLPos.Y() + nRectHeight/6);
tools::Rectangle aStrRect = aRect;
aStrRect.AdjustTop(nRectHeight/6 );
aStrRect.AdjustBottom( -(nRectHeight/6) );
aStrRect.AdjustLeft(imgCus.GetSizePixel().Width() + 20 );
if(bCusEnable)
aFont.SetColor(GetSettings().GetStyleSettings().GetFieldTextColor());
aFont.SetColor(Application::GetSettings().GetStyleSettings().GetFieldTextColor());
else
aFont.SetColor(GetSettings().GetStyleSettings().GetDisableColor());
aFont.SetColor(Application::GetSettings().GetStyleSettings().GetDisableColor());
pDev->SetFont(aFont);
pDev->DrawText(aStrRect, maStrUnits[ nItemId - 1 ], DrawTextFlags::EndEllipsis);
@@ -134,7 +134,7 @@ void LineWidthValueSet::UserDraw( const UserDrawEvent& rUDEvt )
if(nSelItem == nItemId )
aFont.SetColor(COL_WHITE);
else
aFont.SetColor(GetSettings().GetStyleSettings().GetFieldTextColor());
aFont.SetColor(Application::GetSettings().GetStyleSettings().GetFieldTextColor());
pDev->SetFont(aFont);
Point aStart(aBLPos.X() + nRectWidth * 7 / 9 , aBLPos.Y() + nRectHeight/6);
pDev->DrawText(aStart, maStrUnits[ nItemId - 1 ]); //can't set DrawTextFlags::EndEllipsis here ,or the text will disappear
@@ -143,7 +143,7 @@ void LineWidthValueSet::UserDraw( const UserDrawEvent& rUDEvt )
if( nSelItem == nItemId )
pDev->SetLineColor(COL_WHITE);
else
pDev->SetLineColor(GetSettings().GetStyleSettings().GetFieldTextColor());
pDev->SetLineColor(Application::GetSettings().GetStyleSettings().GetFieldTextColor());
for(sal_uInt16 i = 1; i <= nItemId; i++)
{
@@ -159,9 +159,12 @@ void LineWidthValueSet::UserDraw( const UserDrawEvent& rUDEvt )
pDev->SetFont(aOldFont);
}
Size LineWidthValueSet::GetOptimalSize() const
void LineWidthValueSet::SetDrawingArea(weld::DrawingArea* pDrawingArea)
{
return LogicToPixel(Size(80, 12 * 9), MapMode(MapUnit::MapAppFont));
SvtValueSet::SetDrawingArea(pDrawingArea);
Size aSize(pDrawingArea->get_ref_device().LogicToPixel(Size(80, 12 * 9), MapMode(MapUnit::MapAppFont)));
pDrawingArea->set_size_request(aSize.Width(), aSize.Height());
SetOutputSizePixel(aSize);
}
} } // end of namespace svx::sidebar
diff --git a/svx/source/sidebar/line/LineWidthValueSet.hxx b/svx/source/sidebar/line/LineWidthValueSet.hxx
index 7912b24..67998ce 100644
--- a/svx/source/sidebar/line/LineWidthValueSet.hxx
+++ b/svx/source/sidebar/line/LineWidthValueSet.hxx
@@ -25,10 +25,10 @@
namespace svx { namespace sidebar {
class LineWidthValueSet final : public ValueSet
class LineWidthValueSet final : public SvtValueSet
{
public:
explicit LineWidthValueSet(vcl::Window* pParent);
explicit LineWidthValueSet();
virtual ~LineWidthValueSet() override;
void SetUnit(std::array<OUString,9> const & strUnits);
@@ -39,7 +39,7 @@ public:
virtual void UserDraw( const UserDrawEvent& rUDEvt ) override;
virtual void Resize() override;
virtual Size GetOptimalSize() const override;
virtual void SetDrawingArea(weld::DrawingArea* pDrawingArea) override;
private:
sal_uInt16 nSelItem;
diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
index 681a6db..a06ecc0 100644
--- a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
+++ b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
@@ -31,6 +31,7 @@
#include <sfx2/viewsh.hxx>
#include <sfx2/objsh.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/weldutils.hxx>
#include <svx/dialcontrol.hxx>
#include <svx/dlgutil.hxx>
#include <unotools/localedatawrapper.hxx>
diff --git a/svx/uiconfig/ui/floatinglineproperty.ui b/svx/uiconfig/ui/floatinglineproperty.ui
index 955499c..b017b2e 100644
--- a/svx/uiconfig/ui/floatinglineproperty.ui
+++ b/svx/uiconfig/ui/floatinglineproperty.ui
@@ -1,23 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.19.0 -->
<!-- Generated with glade 3.22.1 -->
<interface domain="svx">
<requires lib="gtk+" version="3.18"/>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">500</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
<object class="GtkWindow" id="FloatingLineProperty:border">
<property name="can_focus">True</property>
<property name="has_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="border_width">6</property>
<property name="resizable">False</property>
<property name="destroy_with_parent">True</property>
<property name="type_hint">popup-menu</property>
<property name="skip_pager_hint">True</property>
<property name="deletable">False</property>
<object class="GtkPopover" id="FloatingLineProperty">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="border_width">4</property>
<child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
@@ -26,14 +14,28 @@
<property name="vexpand">True</property>
<property name="row_spacing">6</property>
<child>
<object class="GtkBox" id="box">
<object class="GtkScrolledWindow" id="valuesetwin">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<property name="hscrollbar_policy">never</property>
<property name="vscrollbar_policy">never</property>
<property name="shadow_type">in</property>
<child>
<placeholder/>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkDrawingArea" id="lineset">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_STRUCTURE_MASK</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
</object>
</child>
</object>
</child>
</object>
<packing>
@@ -52,7 +54,7 @@
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="floatinglineproperty|label1">Custom Line Width:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">spin:0.0pt</property>
<property name="mnemonic_widget">spin</property>
<property name="ellipsize">end</property>
</object>
<packing>
@@ -61,7 +63,7 @@
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spin:0.0pt">
<object class="GtkSpinButton" id="spin">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="adjustment">adjustment1</property>
@@ -81,4 +83,9 @@
</object>
</child>
</object>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">500</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
</interface>
diff --git a/svx/uiconfig/ui/sidebarline.ui b/svx/uiconfig/ui/sidebarline.ui
index 855fae1..d18b522 100644
--- a/svx/uiconfig/ui/sidebarline.ui
+++ b/svx/uiconfig/ui/sidebarline.ui
@@ -1,13 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 -->
<!-- Generated with glade 3.22.1 -->
<interface domain="svx">
<requires lib="gtk+" version="3.18"/>
<requires lib="LibreOffice" version="1.0"/>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">100</property>
<property name="step_increment">10</property>
<property name="page_increment">20</property>
</object>
<object class="GtkListStore" id="liststore4">
<columns>
<!-- column-name text -->
<column type="gchararray"/>
<!-- column-name id -->
<column type="gchararray"/>
<!-- column-name image -->
<column type="GdkPixbuf"/>
<!-- column-name surface -->
<column type="CairoSurface"/>
</columns>
</object>
<object class="GtkListStore" id="liststore5">
<columns>
<!-- column-name text -->
<column type="gchararray"/>
<!-- column-name id -->
<column type="gchararray"/>
<!-- column-name image -->
<column type="GdkPixbuf"/>
<!-- column-name surface -->
<column type="CairoSurface"/>
</columns>
</object>
<object class="GtkListStore" id="liststore6">
<columns>
<!-- column-name text -->
<column type="gchararray"/>
<!-- column-name id -->
<column type="gchararray"/>
<!-- column-name image -->
<column type="GdkPixbuf"/>
<!-- column-name surface -->
<column type="CairoSurface"/>
</columns>
</object>
<object class="GtkGrid" id="LinePropertyPanel">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -29,16 +64,30 @@
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="orientation">vertical</property>
<property name="spacing">3</property>
<child>
<object class="GtkComboBoxText" id="beginarrowstyle">
<object class="GtkComboBox" id="beginarrowstyle">
<property name="width_request">65</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_tooltip">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes" context="sidebarline|beginarrowstyle|tooltip_text">Select the style of the beginning arrowhead.</property>
<property name="hexpand">True</property>
<property name="model">liststore4</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext1"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext2"/>
<attributes>
<attribute name="surface">3</attribute>
</attributes>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="beginarrowstyle-atkobject">
<property name="AtkObject::accessible-name" translatable="yes" context="sidebarline|beginarrowstyle-atkobject">Beginning Style</property>
@@ -52,13 +101,27 @@
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="linestyle">
<object class="GtkComboBox" id="linestyle">
<property name="width_request">105</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_tooltip">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes" context="sidebarline|linestyle|tooltip_text">Select the style of the line.</property>
<property name="hexpand">True</property>
<property name="model">liststore5</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext7"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext11"/>
<attributes>
<attribute name="surface">3</attribute>
</attributes>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="linestyle-atkobject">
<property name="AtkObject::accessible-name" translatable="yes" context="sidebarline|linestyle-atkobject">Style</property>
@@ -72,14 +135,27 @@
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="endarrowstyle">
<object class="GtkComboBox" id="endarrowstyle">
<property name="width_request">65</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_tooltip">True</property>
<property name="can_focus">False</property>
<property name="model">liststore6</property>
<property name="tooltip_text" translatable="yes" context="sidebarline|endarrowstyle|tooltip_text">Select the style of the ending arrowhead.</property>
<property name="margin_right">6</property>
<property name="entry_text_column">0</property>
<property name="hexpand">True</property>
<property name="id_column">1</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext5"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="cellrenderertext6"/>
<attributes>
<attribute name="surface">3</attribute>
</attributes>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="endarrowstyle-atkobject">
<property name="AtkObject::accessible-name" translatable="yes" context="sidebarline|endarrowstyle-atkobject">Ending Style</property>
@@ -103,7 +179,7 @@
<object class="GtkGrid" id="lineproperties">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="halign">start</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<child>
@@ -112,44 +188,39 @@
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="sidebarline|widthlabel">_Width:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">width</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkToolbar" id="width">
<property name="width_request">120</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_tooltip">True</property>
<property name="tooltip_text" translatable="yes" context="sidebarline|width|tooltip_text">Select the width of the line.</property>
<property name="hexpand">True</property>
<property name="toolbar_style">icons</property>
<property name="show_arrow">False</property>
<property name="icon_size">2</property>
<child>
<object class="GtkMenuToolButton" id="setwidth">
<property name="width_request">105</property>
<object class="GtkMenuToolButton" id="SelectWidth">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="action_name">.uno:SelectWidth</property>
<property name="hexpand">True</property>
<property name="use_underline">True</property>
</object>
<accessibility>
<relation type="labelled-by" target="widthlabel"/>
</accessibility>
<packing>
<property name="expand">True</property>
<property name="homogeneous">True</property>
<property name="homogeneous">False</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@@ -158,43 +229,40 @@
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="sidebarline|colorlabel">_Color:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">color</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="sfxlo-SidebarToolBox" id="color">
<object class="GtkToolbar" id="color">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_tooltip">True</property>
<property name="tooltip_text" translatable="yes" context="sidebarline|color|tooltip_text">Select the color of the line.</property>
<property name="hexpand">True</property>
<property name="toolbar_style">icons</property>
<property name="show_arrow">False</property>
<property name="icon_size">2</property>
<child>
<object class="GtkMenuToolButton" id="setcolor">
<property name="width_request">105</property>
<object class="GtkMenuToolButton" id=".uno:XLineColor">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="has_tooltip">True</property>
<property name="tooltip_text" translatable="yes" context="sidebarline|setcolor|tooltip_text">Select the color of the line.</property>
<property name="margin_left">20</property>
<property name="action_name">.uno:XLineColor</property>
<property name="hexpand">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="homogeneous">True</property>
<property name="homogeneous">False</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@@ -203,28 +271,23 @@
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="sidebarline|translabel">_Transparency:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">linetransparency</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="linetransparency:0%">
<object class="GtkSpinButton" id="linetransparency">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_tooltip">True</property>
<property name="tooltip_text" translatable="yes" context="sidebarline|linetransparency|tooltip_text">Specify the transparency of the line.</property>
<property name="halign">start</property>
<property name="adjustment">adjustment1</property>
<accessibility>
<relation type="labelled-by" target="translabel"/>
</accessibility>
<child internal-child="accessible">
<object class="AtkObject" id="linetransparency:0%-atkobject">
<object class="AtkObject" id="linetransparency-atkobject">
<property name="AtkObject::accessible-name" translatable="yes" context="sidebarline|linetransparency-atkobject">Transparency</property>
</object>
</child>
@@ -232,8 +295,6 @@
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
@@ -247,9 +308,11 @@
<object class="GtkBox" id="arrowproperties">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="visible">True</property>
<child>
<object class="GtkGrid" id="grid5">
<property name="can_focus">False</property>
<property name="visible">True</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<property name="column_homogeneous">True</property>
@@ -265,15 +328,12 @@
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="edgestyle">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_tooltip">True</property>
<property name="tooltip_text" translatable="yes" context="sidebarline|edgestyle|tooltip_text">Select the style of the edge connections.</property>
<items>
<item translatable="yes" context="sidebarline|edgestyle">Rounded</item>
@@ -290,8 +350,6 @@
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@@ -306,15 +364,12 @@
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="linecapstyle">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_tooltip">True</property>
<property name="tooltip_text" translatable="yes" context="sidebarline|linecapstyle|tooltip_text">Select the style of the line caps.</property>
<items>
<item translatable="yes" context="sidebarline|linecapstyle">Flat</item>
@@ -330,8 +385,6 @@
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
@@ -352,17 +405,19 @@
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<object class="GtkSizeGroup">
<widgets>
<widget name="width"/>
<widget name="color"/>
</widgets>
</object>
</interface>