20 #include <strings.hrc>
21 #include <dialmgr.hxx>
24 #include <svx/svxids.hrc>
51 auto xPage = std::make_unique<SvxConnectionPage>(
get_content_area(),
this, rInAttrs);
53 xPage->SetView(pSdrView);
67 :
SfxTabPage(pPage, pController,
"cui/ui/connectortabpage.ui",
"ConnectorTabPage", &rInAttrs)
69 , aAttrSet(*rInAttrs.GetPool())
71 , m_xLbType(m_xBuilder->weld_combo_box(
"LB_TYPE"))
72 , m_xFtLine1(m_xBuilder->weld_label(
"FT_LINE_1"))
73 , m_xMtrFldLine1(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_LINE_1",
FieldUnit::
CM))
74 , m_xFtLine2(m_xBuilder->weld_label(
"FT_LINE_2"))
75 , m_xMtrFldLine2(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_LINE_2",
FieldUnit::
CM))
76 , m_xFtLine3(m_xBuilder->weld_label(
"FT_LINE_3"))
77 , m_xMtrFldLine3(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_LINE_3",
FieldUnit::
CM))
78 , m_xMtrFldHorz1(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_HORZ_1",
FieldUnit::
MM))
79 , m_xMtrFldVert1(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_VERT_1",
FieldUnit::
MM))
80 , m_xMtrFldHorz2(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_HORZ_2",
FieldUnit::
MM))
81 , m_xMtrFldVert2(m_xBuilder->weld_metric_spin_button(
"MTR_FLD_VERT_2",
FieldUnit::
MM))
82 , m_xCtlPreview(new
weld::CustomWeld(*m_xBuilder,
"CTL_PREVIEW", m_aCtlPreview))
98 if( eFUnit == FieldUnit::MM )
192 switch (static_cast<const SdrEdgeLineDeltaCountItem*>(pItem)->
GetValue())
216 sal::static_int_cast<sal_uInt16>(static_cast<const SdrEdgeKindItem*>(pItem)->
GetValue()));
228 bool bModified =
false;
281 if (
m_xLbType->get_value_changed_from_saved())
309 return std::make_unique<SvxConnectionPage>(pPage, pController, *rAttrs);
314 int nPos = m_xLbType->get_active();
320 m_aCtlPreview.SetAttributes(aAttrSet);
323 sal_uInt16
nCount = m_aCtlPreview.GetLineDeltaCount();
325 m_xFtLine3->set_sensitive( nCount > 2 );
326 m_xMtrFldLine3->set_sensitive( nCount > 2 );
328 m_xMtrFldLine3->set_value(m_xMtrFldLine3->get_value(FieldUnit::NONE), FieldUnit::NONE);
330 m_xMtrFldLine3->set_text(
"");
332 m_xFtLine2->set_sensitive( nCount > 1 );
333 m_xMtrFldLine2->set_sensitive( nCount > 1 );
335 m_xMtrFldLine2->set_value(m_xMtrFldLine2->get_value(FieldUnit::NONE), FieldUnit::NONE);
337 m_xMtrFldLine2->set_text(
"");
339 m_xFtLine1->set_sensitive( nCount > 0 );
340 m_xMtrFldLine1->set_sensitive( nCount > 0 );
342 m_xMtrFldLine1->set_value(m_xMtrFldLine1->get_value(FieldUnit::NONE), FieldUnit::NONE);
344 m_xMtrFldLine1->set_text(
"");
349 if (&r == m_xMtrFldHorz1.get())
355 if (&r == m_xMtrFldHorz2.get())
361 if (&r == m_xMtrFldVert1.get())
367 if (&r == m_xMtrFldVert2.get())
373 if (&r == m_xMtrFldLine1.get())
379 if (&r == m_xMtrFldLine2.get())
385 if (&r == m_xMtrFldLine3.get())
391 m_aCtlPreview.SetAttributes(aAttrSet);
404 for (sal_uInt16
i = 0;
i < nCount;
i++)
std::unique_ptr< weld::Label > m_xFtLine2
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldVert1
static const sal_uInt16 pRanges[]
#define LINK(Instance, Class, Member)
void SetFieldUnit(weld::MetricSpinButton &rField, FieldUnit eUnit, bool bAll)
SvxConnectionDialog(weld::Window *pParent, const SfxItemSet &rAttr, const SdrView *pView)
std::unique_ptr< weld::CustomWeld > m_xCtlPreview
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)
constexpr TypedWhichId< SdrMetricItem > SDRATTR_EDGELINE3DELTA(SDRATTR_EDGE_FIRST+10)
virtual sal_uInt16 GetValueCount() const override
constexpr TypedWhichId< SdrEdgeNode2HorzDistItem > SDRATTR_EDGENODE2HORZDIST(SDRATTR_EDGE_FIRST+3)
#define DBG_ASSERT(sCon, aError)
constexpr sal_uInt16 SDRATTR_EDGE_FIRST(SDRATTR_MISC_LAST+1)
constexpr TypedWhichId< SdrEdgeNode1VertDistItem > SDRATTR_EDGENODE1VERTDIST(SDRATTR_EDGE_FIRST+2)
int GetCoreValue(const weld::MetricSpinButton &rField, MapUnit eUnit)
IMPL_LINK(SvxConnectionPage, ChangeAttrEditHdl_Impl, weld::MetricSpinButton &, r, void)
void SetTabPage(std::unique_ptr< SfxTabPage > xTabPage)
virtual ~SvxConnectionPage() override
SdrMetricItem makeSdrEdgeLine1DeltaItem(tools::Long nVal)
void SetMetricValue(weld::MetricSpinButton &rField, int nCoreValue, MapUnit eUnit)
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
SfxItemPool * GetPool() const
OUString CuiResId(const char *pKey)
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.
constexpr sal_uInt16 SDRATTR_EDGE_LAST(SDRATTR_EDGELINE3DELTA)
std::unique_ptr< weld::MetricSpinButton > m_xMtrFldLine1
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