20 #include <strings.hrc>
21 #include <dialmgr.hxx>
24 #include <svx/svxids.hrc>
37 svl::Items<SDRATTR_EDGE_FIRST, SDRATTR_EDGE_LAST>);
47 auto xPage = std::make_unique<SvxConnectionPage>(
get_content_area(),
this, rInAttrs);
49 xPage->SetView(pSdrView);
63 :
SfxTabPage(pPage, pController,
"cui/ui/connectortabpage.ui",
"ConnectorTabPage", &rInAttrs)
65 , aAttrSet(*rInAttrs.GetPool())
67 , m_xLbType(m_xBuilder->weld_combo_box(
"LB_TYPE"))
68 , m_xFtLine1(m_xBuilder->weld_label(
"FT_LINE_1"))
69 , m_xMtrFldLine1(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_LINE_1",
FieldUnit::
CM))
70 , m_xFtLine2(m_xBuilder->weld_label(
"FT_LINE_2"))
71 , m_xMtrFldLine2(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_LINE_2",
FieldUnit::
CM))
72 , m_xFtLine3(m_xBuilder->weld_label(
"FT_LINE_3"))
73 , m_xMtrFldLine3(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_LINE_3",
FieldUnit::
CM))
74 , m_xMtrFldHorz1(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_HORZ_1",
FieldUnit::
MM))
75 , m_xMtrFldVert1(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_VERT_1",
FieldUnit::
MM))
76 , m_xMtrFldHorz2(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_HORZ_2",
FieldUnit::
MM))
77 , m_xMtrFldVert2(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_VERT_2",
FieldUnit::
MM))
78 , m_xCtlPreview(new
weld::CustomWeld(*m_xBuilder,
"CTL_PREVIEW", m_aCtlPreview))
94 if( eFUnit == FieldUnit::MM )
188 switch (static_cast<const SdrEdgeLineDeltaCountItem*>(pItem)->
GetValue())
212 sal::static_int_cast<sal_uInt16>(static_cast<const SdrEdgeKindItem*>(pItem)->
GetValue()));
224 bool bModified =
false;
277 if (
m_xLbType->get_value_changed_from_saved())
305 return std::make_unique<SvxConnectionPage>(pPage, pController, *rAttrs);
310 int nPos = m_xLbType->get_active();
316 m_aCtlPreview.SetAttributes(aAttrSet);
319 sal_uInt16
nCount = m_aCtlPreview.GetLineDeltaCount();
321 m_xFtLine3->set_sensitive( nCount > 2 );
322 m_xMtrFldLine3->set_sensitive( nCount > 2 );
324 m_xMtrFldLine3->set_value(m_xMtrFldLine3->get_value(FieldUnit::NONE), FieldUnit::NONE);
326 m_xMtrFldLine3->set_text(
"");
328 m_xFtLine2->set_sensitive( nCount > 1 );
329 m_xMtrFldLine2->set_sensitive( nCount > 1 );
331 m_xMtrFldLine2->set_value(m_xMtrFldLine2->get_value(FieldUnit::NONE), FieldUnit::NONE);
333 m_xMtrFldLine2->set_text(
"");
335 m_xFtLine1->set_sensitive( nCount > 0 );
336 m_xMtrFldLine1->set_sensitive( nCount > 0 );
338 m_xMtrFldLine1->set_value(m_xMtrFldLine1->get_value(FieldUnit::NONE), FieldUnit::NONE);
340 m_xMtrFldLine1->set_text(
"");
345 if (&r == m_xMtrFldHorz1.get())
351 if (&r == m_xMtrFldHorz2.get())
357 if (&r == m_xMtrFldVert1.get())
363 if (&r == m_xMtrFldVert2.get())
369 if (&r == m_xMtrFldLine1.get())
375 if (&r == m_xMtrFldLine2.get())
381 if (&r == m_xMtrFldLine3.get())
387 m_aCtlPreview.SetAttributes(aAttrSet);
400 for (sal_uInt16
i = 0;
i < nCount;
i++)
std::unique_ptr< weld::Label > m_xFtLine2
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldVert1
#define LINK(Instance, Class, Member)
void SetFieldUnit(weld::MetricSpinButton &rField, FieldUnit eUnit, bool bAll)
SvxConnectionDialog(weld::Window *pParent, const SfxItemSet &rAttr, const SdrView *pView)
void SetMetricValue(weld::MetricSpinButton &rField, sal_Int64 nCoreValue, MapUnit eUnit)
std::unique_ptr< weld::CustomWeld > m_xCtlPreview
static const WhichRangesContainer pRanges
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldVert2
constexpr TypedWhichId< SdrEdgeNode1HorzDistItem > SDRATTR_EDGENODE1HORZDIST(SDRATTR_EDGE_FIRST+1)
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldHorz2
std::unique_ptr< weld::ComboBox > m_xLbType
constexpr TypedWhichId< SdrEdgeNode2VertDistItem > SDRATTR_EDGENODE2VERTDIST(SDRATTR_EDGE_FIRST+4)
const SfxItemSet & rOutAttrs
weld::Container * get_content_area()
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldLine3
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldLine2
static const SfxPoolItem * GetItem(const SfxItemSet &rSet, sal_uInt16 nSlot, bool bDeep=true)
constexpr TypedWhichId< SdrEdgeLineDeltaCountItem > SDRATTR_EDGELINEDELTACOUNT(SDRATTR_EDGE_FIRST+7)
FieldUnit GetModuleFieldUnit(const SfxItemSet &rSet)
virtual MapUnit GetMetric(sal_uInt16 nWhich) const
constexpr TypedWhichId< SdrEdgeKindItem > SDRATTR_EDGEKIND(SDRATTR_EDGE_FIRST+0)
void SetView(const SdrView *pSdrView)
SdrMetricItem makeSdrEdgeLine2DeltaItem(tools::Long nVal)
virtual tools::Long GetValue() const override
constexpr TypedWhichId< SdrMetricItem > SDRATTR_EDGELINE3DELTA(SDRATTR_EDGE_FIRST+10)
virtual sal_uInt16 GetValueCount() const override
OUString CuiResId(TranslateId aKey)
constexpr TypedWhichId< SdrEdgeNode2HorzDistItem > SDRATTR_EDGENODE2HORZDIST(SDRATTR_EDGE_FIRST+3)
#define DBG_ASSERT(sCon, aError)
constexpr TypedWhichId< SdrEdgeNode1VertDistItem > SDRATTR_EDGENODE1VERTDIST(SDRATTR_EDGE_FIRST+2)
IMPL_LINK(SvxConnectionPage, ChangeAttrEditHdl_Impl, weld::MetricSpinButton &, r, void)
void SetTabPage(std::unique_ptr< SfxTabPage > xTabPage)
virtual ~SvxConnectionPage() override
SdrMetricItem makeSdrEdgeLine1DeltaItem(tools::Long nVal)
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
SfxItemPool * GetPool() const
SvxConnectionPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rInAttrs)
SdrMetricItem makeSdrEdgeLine3DeltaItem(tools::Long nVal)
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
virtual void PageCreated(const SfxAllItemSet &aSet) override
Dialog for changing connectors.
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldLine1
sal_Int64 GetCoreValue(const weld::MetricSpinButton &rField, MapUnit eUnit)
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *)
virtual void Reset(const SfxItemSet *) override
Reference< XExecutableDialog > m_xDialog
virtual bool FillItemSet(SfxItemSet *) override
constexpr TypedWhichId< SdrMetricItem > SDRATTR_EDGELINE1DELTA(SDRATTR_EDGE_FIRST+8)
std::unique_ptr< weld::Label > m_xFtLine3
constexpr TypedWhichId< SdrMetricItem > SDRATTR_EDGELINE2DELTA(SDRATTR_EDGE_FIRST+9)
std::unique_ptr< weld::Label > m_xFtLine1
const SfxPoolItem * GetItem(sal_uInt16 nWhich, bool bSearchInParent=true) const
static OUString GetValueTextByPos(sal_uInt16 nPos)
void SetView(const SdrView *pSdrView)
IMPL_LINK_NOARG(SvxConnectionPage, ChangeAttrListBoxHdl_Impl, weld::ComboBox &, void)
SvxXConnectionPreview m_aCtlPreview
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldHorz1