summaryrefslogtreecommitdiff
path: root/reportdesign/source/ui/dlg/PageNumber.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-10-27 19:17:41 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-10-27 21:43:20 +0200
commit4eecab2520d432f05bf398cff9abfdd64d55a3d9 (patch)
treef23670486071143e197f3b7c783fdc453ffa8378 /reportdesign/source/ui/dlg/PageNumber.cxx
parent567f6a0f0d24411969641e2e7bb87187854688a7 (diff)
missing OPageNumberDialog run
Change-Id: I0e21f90e9cfd4e1ee6ced6108ab6619533ab8dda Reviewed-on: https://gerrit.libreoffice.org/62438 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'reportdesign/source/ui/dlg/PageNumber.cxx')
-rw-r--r--reportdesign/source/ui/dlg/PageNumber.cxx51
1 files changed, 50 insertions, 1 deletions
diff --git a/reportdesign/source/ui/dlg/PageNumber.cxx b/reportdesign/source/ui/dlg/PageNumber.cxx
index 62462180cfa6..da9faa591aae 100644
--- a/reportdesign/source/ui/dlg/PageNumber.cxx
+++ b/reportdesign/source/ui/dlg/PageNumber.cxx
@@ -38,8 +38,9 @@ using namespace ::comphelper;
OPageNumberDialog::OPageNumberDialog(weld::Window* pParent,
const uno::Reference< report::XReportDefinition >& _xHoldAlive,
- OReportController* )
+ OReportController* _pController)
: GenericDialogController(pParent, "modules/dbreport/ui/pagenumberdialog.ui", "PageNumberDialog")
+ , m_pController(_pController)
, m_xHoldAlive(_xHoldAlive)
, m_xPageN(m_xBuilder->weld_radio_button("pagen"))
, m_xPageNofM(m_xBuilder->weld_radio_button("pagenofm"))
@@ -55,6 +56,54 @@ OPageNumberDialog::~OPageNumberDialog()
{
}
+short OPageNumberDialog::run()
+{
+ short nRet = GenericDialogController::run();
+ if (nRet == RET_OK)
+ {
+ try
+ {
+ sal_Int32 nControlMaxSize = 3000;
+ sal_Int32 nPosX = 0;
+ sal_Int32 nPos2X = 0;
+ awt::Size aRptSize = getStyleProperty<awt::Size>(m_xHoldAlive,PROPERTY_PAPERSIZE);
+ switch (m_xAlignmentLst->get_active())
+ {
+ case 0: // left
+ nPosX = getStyleProperty<sal_Int32>(m_xHoldAlive,PROPERTY_LEFTMARGIN);
+ break;
+ case 1: // middle
+ nPosX = getStyleProperty<sal_Int32>(m_xHoldAlive,PROPERTY_LEFTMARGIN) + (aRptSize.Width - getStyleProperty<sal_Int32>(m_xHoldAlive,PROPERTY_LEFTMARGIN) - getStyleProperty<sal_Int32>(m_xHoldAlive,PROPERTY_RIGHTMARGIN) - nControlMaxSize) / 2;
+ break;
+ case 2: // right
+ nPosX = (aRptSize.Width - getStyleProperty<sal_Int32>(m_xHoldAlive,PROPERTY_RIGHTMARGIN) - nControlMaxSize);
+ break;
+ case 3: // inner
+ case 4: // outer
+ nPosX = getStyleProperty<sal_Int32>(m_xHoldAlive,PROPERTY_LEFTMARGIN);
+ nPos2X = (aRptSize.Width - getStyleProperty<sal_Int32>(m_xHoldAlive,PROPERTY_RIGHTMARGIN) - nControlMaxSize);
+ break;
+ default:
+ break;
+ }
+ if (m_xAlignmentLst->get_active() > 2)
+ nPosX = nPos2X;
+
+ uno::Sequence<beans::PropertyValue> aValues( comphelper::InitPropertySequence({
+ { PROPERTY_POSITION, uno::Any(awt::Point(nPosX,0)) },
+ { PROPERTY_PAGEHEADERON, uno::Any(m_xTopPage->get_active()) },
+ { PROPERTY_STATE, uno::Any(m_xPageNofM->get_active()) }
+ }));
+
+ m_pController->executeChecked(SID_INSERT_FLD_PGNUMBER,aValues);
+ }
+ catch(uno::Exception&)
+ {
+ }
+ }
+ return nRet;
+}
+
} // rptui