Kaydet (Commit) 1bbc741c authored tarafından Caolán McNamara's avatar Caolán McNamara

weld SdModifyFieldDlg

Change-Id: I7e84f09b854d30474d37dfb3ce47a8a739dd5543
Reviewed-on: https://gerrit.libreoffice.org/54148Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst b8a51074
......@@ -170,6 +170,8 @@ public:
void SelectEntryPos(int nPos) { m_xControl->set_active(nPos); }
void connect_changed(const Link<weld::ComboBoxText&, void>& rLink) { m_aChangeHdl = rLink; }
void save_value() { m_xControl->save_value(); }
bool get_value_changed_from_saved() const { return m_xControl->get_value_changed_from_saved(); }
void hide() { m_xControl->hide(); }
};
......
......@@ -177,7 +177,7 @@ public:
virtual VclPtr<AbstractSdCustomShowDlg> CreateSdCustomShowDlg(weld::Window* pWindow, SdDrawDocument& rDrawDoc) = 0;
virtual VclPtr<SfxAbstractTabDialog> CreateSdTabCharDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell) = 0;
virtual VclPtr<SfxAbstractTabDialog> CreateSdTabPageDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage) = 0;
virtual VclPtr<AbstractSdModifyFieldDlg> CreateSdModifyFieldDlg(vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) = 0;
virtual VclPtr<AbstractSdModifyFieldDlg> CreateSdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) = 0;
virtual VclPtr<AbstractSdSnapLineDlg> CreateSdSnapLineDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView) = 0;
virtual VclPtr<AbstractSdInsertLayerDlg> CreateSdInsertLayerDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, bool bDeletable, const OUString& rStr) = 0;
virtual VclPtr<AbstractSdInsertPagesObjsDlg> CreateSdInsertPagesObjsDlg(vcl::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const OUString& rFileName) = 0;
......
......@@ -338,9 +338,10 @@ VclPtr<VclAbstractDialog> SdDialogsTest::createDialogByID(sal_uInt32 nID)
}
case 6:
{
// CreateSdModifyFieldDlg(vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) override;
// CreateSdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) override;
auto const parent = getViewShell()->GetActiveWindow();
pRetval = getSdAbstractDialogFactory()->CreateSdModifyFieldDlg(
Application::GetDefDialogParent(),
parent == nullptr ? nullptr : parent->GetFrameWeld(),
nullptr,
getEmptySfxItemSet());
break;
......
This diff is collapsed.
......@@ -62,7 +62,11 @@ short AbstractSdCustomShowDlg_Impl::Execute()
IMPL_ABSTDLG_BASE(SdAbstractTabDialog_Impl);
IMPL_ABSTDLG_BASE(SdPresLayoutTemplateDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractSdModifyFieldDlg_Impl);
short AbstractSdModifyFieldDlg_Impl::Execute()
{
return m_xDlg->run();
}
short AbstractSdSnapLineDlg_Impl::Execute()
{
......@@ -211,12 +215,12 @@ void SdPresLayoutTemplateDlg_Impl::SetText( const OUString& rStr )
SvxFieldData* AbstractSdModifyFieldDlg_Impl::GetField()
{
return pDlg->GetField();
return m_xDlg->GetField();
}
SfxItemSet AbstractSdModifyFieldDlg_Impl::GetItemSet()
{
return pDlg->GetItemSet();
return m_xDlg->GetItemSet();
}
void AbstractSdSnapLineDlg_Impl::GetAttr(SfxItemSet& rOutAttrs)
......@@ -353,9 +357,9 @@ VclPtr<SfxAbstractTabDialog> SdAbstractDialogFactory_Impl::CreateSdTabPageDialo
return VclPtr<SdAbstractTabDialog_Impl>::Create( VclPtr<SdPageDlg>::Create( pDocShell, pParent, pAttr, bAreaPage ) );
}
VclPtr<AbstractSdModifyFieldDlg> SdAbstractDialogFactory_Impl::CreateSdModifyFieldDlg( vcl::Window* pParent, const SvxFieldData* pInField, const SfxItemSet& rSet )
VclPtr<AbstractSdModifyFieldDlg> SdAbstractDialogFactory_Impl::CreateSdModifyFieldDlg(weld::Window* pParent, const SvxFieldData* pInField, const SfxItemSet& rSet)
{
return VclPtr<AbstractSdModifyFieldDlg_Impl>::Create( VclPtr<SdModifyFieldDlg>::Create( pParent, pInField, rSet ) );
return VclPtr<AbstractSdModifyFieldDlg_Impl>::Create(new SdModifyFieldDlg(pParent, pInField, rSet));
}
VclPtr<AbstractSdSnapLineDlg> SdAbstractDialogFactory_Impl::CreateSdSnapLineDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView)
......
......@@ -153,7 +153,14 @@ class SdPresLayoutTemplateDlg_Impl : public SfxAbstractTabDialog
class SdModifyFieldDlg;
class AbstractSdModifyFieldDlg_Impl : public AbstractSdModifyFieldDlg
{
DECL_ABSTDLG_BASE(AbstractSdModifyFieldDlg_Impl,SdModifyFieldDlg)
private:
std::unique_ptr<SdModifyFieldDlg> m_xDlg;
public:
AbstractSdModifyFieldDlg_Impl(SdModifyFieldDlg* pDlg)
: m_xDlg(pDlg)
{
}
virtual short Execute() override;
virtual SvxFieldData* GetField() override;
virtual SfxItemSet GetItemSet() override;
};
......@@ -284,7 +291,7 @@ public:
virtual VclPtr<AbstractSdCustomShowDlg> CreateSdCustomShowDlg(weld::Window* pParent, SdDrawDocument& rDrawDoc) override;
virtual VclPtr<SfxAbstractTabDialog> CreateSdTabCharDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell) override;
virtual VclPtr<SfxAbstractTabDialog> CreateSdTabPageDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage) override;
virtual VclPtr<AbstractSdModifyFieldDlg> CreateSdModifyFieldDlg( vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet ) override;
virtual VclPtr<AbstractSdModifyFieldDlg> CreateSdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) override;
virtual VclPtr<AbstractSdSnapLineDlg> CreateSdSnapLineDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView) override;
virtual VclPtr<AbstractSdInsertLayerDlg> CreateSdInsertLayerDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, bool bDeletable, const OUString& aStr) override;
virtual VclPtr<AbstractSdInsertPagesObjsDlg> CreateSdInsertPagesObjsDlg(vcl::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const OUString& rFileName ) override;
......
......@@ -20,37 +20,32 @@
#ifndef INCLUDED_SD_SOURCE_UI_INC_DLGFIELD_HXX
#define INCLUDED_SD_SOURCE_UI_INC_DLGFIELD_HXX
#include <vcl/lstbox.hxx>
#include <vcl/group.hxx>
#include <vcl/fixed.hxx>
#include <vcl/button.hxx>
#include <vcl/dialog.hxx>
#include <vcl/weld.hxx>
#include <svx/langbox.hxx>
class SvxFieldData;
/**
* dialog to adjust field-commands
*/
class SdModifyFieldDlg : public ModalDialog
class SdModifyFieldDlg : public weld::GenericDialogController
{
private:
VclPtr<RadioButton> m_pRbtFix;
VclPtr<RadioButton> m_pRbtVar;
VclPtr<SvxLanguageBox> m_pLbLanguage;
VclPtr<ListBox> m_pLbFormat;
SfxItemSet maInputSet;
SfxItemSet m_aInputSet;
const SvxFieldData* m_pField;
const SvxFieldData* pField;
std::unique_ptr<weld::RadioButton> m_xRbtFix;
std::unique_ptr<weld::RadioButton> m_xRbtVar;
std::unique_ptr<LanguageBox> m_xLbLanguage;
std::unique_ptr<weld::ComboBoxText> m_xLbFormat;
void FillFormatList();
void FillControls();
DECL_LINK( LanguageChangeHdl, ListBox&, void );
DECL_LINK(LanguageChangeHdl, weld::ComboBoxText&, void);
public:
SdModifyFieldDlg( vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet );
SdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet);
virtual ~SdModifyFieldDlg() override;
virtual void dispose() override;
SvxFieldData* GetField();
SfxItemSet GetItemSet();
......
......@@ -2392,7 +2392,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
{
// Dialog...
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
ScopedVclPtr<AbstractSdModifyFieldDlg> pDlg(pFact ? pFact->CreateSdModifyFieldDlg(GetActiveWindow(), pFldItem->GetField(), pOLV->GetAttribs() ) : nullptr);
vcl::Window* pWin = GetActiveWindow();
ScopedVclPtr<AbstractSdModifyFieldDlg> pDlg(pFact ? pFact->CreateSdModifyFieldDlg(pWin ? pWin->GetFrameWeld() : nullptr, pFldItem->GetField(), pOLV->GetAttribs() ) : nullptr);
if( pDlg && pDlg->Execute() == RET_OK )
{
// To make a correct SetAttribs() call at the utlinerView
......
......@@ -573,7 +573,8 @@ void OutlineViewShell::FuTemporaryModify(SfxRequest &rReq)
{
// Dialog...
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
ScopedVclPtr<AbstractSdModifyFieldDlg> pDlg(pFact ? pFact->CreateSdModifyFieldDlg(GetActiveWindow(), pFldItem->GetField(), pOutlinerView->GetAttribs() ) : nullptr);
vcl::Window* pWin = GetActiveWindow();
ScopedVclPtr<AbstractSdModifyFieldDlg> pDlg(pFact ? pFact->CreateSdModifyFieldDlg(pWin ? pWin->GetFrameWeld() : nullptr, pFldItem->GetField(), pOutlinerView->GetAttribs() ) : nullptr);
if( pDlg && (pDlg->Execute() == RET_OK) )
{
std::unique_ptr<SvxFieldData> pField(pDlg->GetField());
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<!-- Generated with glade 3.22.1 -->
<interface domain="sd">
<requires lib="gtk+" version="3.18"/>
<requires lib="LibreOffice" version="1.0"/>
<object class="GtkDialog" id="EditFieldsDialog">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="dlgfield|EditFieldsDialog">Edit Field</property>
<property name="modal">True</property>
<property name="default_width">0</property>
<property name="default_height">0</property>
<property name="type_hint">dialog</property>
<child>
<placeholder/>
</child>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="layout_style">start</property>
<property name="layout_style">end</property>
<child>
<object class="GtkButton" id="ok">
<property name="label">gtk-ok</property>
......@@ -59,6 +64,7 @@
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
<property name="secondary">True</property>
</packing>
</child>
</object>
......@@ -105,7 +111,6 @@
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">varRB</property>
</object>
<packing>
<property name="expand">False</property>
......@@ -172,9 +177,15 @@
</packing>
</child>
<child>
<object class="svxcorelo-SvxLanguageBox" id="languageLB">
<object class="GtkComboBoxText" id="languageLB">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="has_entry">True</property>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can_focus">True</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment