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: ...@@ -170,6 +170,8 @@ public:
void SelectEntryPos(int nPos) { m_xControl->set_active(nPos); } void SelectEntryPos(int nPos) { m_xControl->set_active(nPos); }
void connect_changed(const Link<weld::ComboBoxText&, void>& rLink) { m_aChangeHdl = rLink; } 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(); } void hide() { m_xControl->hide(); }
}; };
......
...@@ -177,7 +177,7 @@ public: ...@@ -177,7 +177,7 @@ public:
virtual VclPtr<AbstractSdCustomShowDlg> CreateSdCustomShowDlg(weld::Window* pWindow, SdDrawDocument& rDrawDoc) = 0; 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> 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<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<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<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; 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) ...@@ -338,9 +338,10 @@ VclPtr<VclAbstractDialog> SdDialogsTest::createDialogByID(sal_uInt32 nID)
} }
case 6: 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( pRetval = getSdAbstractDialogFactory()->CreateSdModifyFieldDlg(
Application::GetDefDialogParent(), parent == nullptr ? nullptr : parent->GetFrameWeld(),
nullptr, nullptr,
getEmptySfxItemSet()); getEmptySfxItemSet());
break; break;
......
This diff is collapsed.
...@@ -62,7 +62,11 @@ short AbstractSdCustomShowDlg_Impl::Execute() ...@@ -62,7 +62,11 @@ short AbstractSdCustomShowDlg_Impl::Execute()
IMPL_ABSTDLG_BASE(SdAbstractTabDialog_Impl); IMPL_ABSTDLG_BASE(SdAbstractTabDialog_Impl);
IMPL_ABSTDLG_BASE(SdPresLayoutTemplateDlg_Impl); IMPL_ABSTDLG_BASE(SdPresLayoutTemplateDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractSdModifyFieldDlg_Impl);
short AbstractSdModifyFieldDlg_Impl::Execute()
{
return m_xDlg->run();
}
short AbstractSdSnapLineDlg_Impl::Execute() short AbstractSdSnapLineDlg_Impl::Execute()
{ {
...@@ -211,12 +215,12 @@ void SdPresLayoutTemplateDlg_Impl::SetText( const OUString& rStr ) ...@@ -211,12 +215,12 @@ void SdPresLayoutTemplateDlg_Impl::SetText( const OUString& rStr )
SvxFieldData* AbstractSdModifyFieldDlg_Impl::GetField() SvxFieldData* AbstractSdModifyFieldDlg_Impl::GetField()
{ {
return pDlg->GetField(); return m_xDlg->GetField();
} }
SfxItemSet AbstractSdModifyFieldDlg_Impl::GetItemSet() SfxItemSet AbstractSdModifyFieldDlg_Impl::GetItemSet()
{ {
return pDlg->GetItemSet(); return m_xDlg->GetItemSet();
} }
void AbstractSdSnapLineDlg_Impl::GetAttr(SfxItemSet& rOutAttrs) void AbstractSdSnapLineDlg_Impl::GetAttr(SfxItemSet& rOutAttrs)
...@@ -353,9 +357,9 @@ VclPtr<SfxAbstractTabDialog> SdAbstractDialogFactory_Impl::CreateSdTabPageDialo ...@@ -353,9 +357,9 @@ VclPtr<SfxAbstractTabDialog> SdAbstractDialogFactory_Impl::CreateSdTabPageDialo
return VclPtr<SdAbstractTabDialog_Impl>::Create( VclPtr<SdPageDlg>::Create( pDocShell, pParent, pAttr, bAreaPage ) ); 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) VclPtr<AbstractSdSnapLineDlg> SdAbstractDialogFactory_Impl::CreateSdSnapLineDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView)
......
...@@ -153,7 +153,14 @@ class SdPresLayoutTemplateDlg_Impl : public SfxAbstractTabDialog ...@@ -153,7 +153,14 @@ class SdPresLayoutTemplateDlg_Impl : public SfxAbstractTabDialog
class SdModifyFieldDlg; class SdModifyFieldDlg;
class AbstractSdModifyFieldDlg_Impl : public AbstractSdModifyFieldDlg 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 SvxFieldData* GetField() override;
virtual SfxItemSet GetItemSet() override; virtual SfxItemSet GetItemSet() override;
}; };
...@@ -284,7 +291,7 @@ public: ...@@ -284,7 +291,7 @@ public:
virtual VclPtr<AbstractSdCustomShowDlg> CreateSdCustomShowDlg(weld::Window* pParent, SdDrawDocument& rDrawDoc) override; 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> 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<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<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<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; virtual VclPtr<AbstractSdInsertPagesObjsDlg> CreateSdInsertPagesObjsDlg(vcl::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const OUString& rFileName ) override;
......
...@@ -20,37 +20,32 @@ ...@@ -20,37 +20,32 @@
#ifndef INCLUDED_SD_SOURCE_UI_INC_DLGFIELD_HXX #ifndef INCLUDED_SD_SOURCE_UI_INC_DLGFIELD_HXX
#define INCLUDED_SD_SOURCE_UI_INC_DLGFIELD_HXX #define INCLUDED_SD_SOURCE_UI_INC_DLGFIELD_HXX
#include <vcl/lstbox.hxx> #include <vcl/weld.hxx>
#include <vcl/group.hxx>
#include <vcl/fixed.hxx>
#include <vcl/button.hxx>
#include <vcl/dialog.hxx>
#include <svx/langbox.hxx> #include <svx/langbox.hxx>
class SvxFieldData; class SvxFieldData;
/** /**
* dialog to adjust field-commands * dialog to adjust field-commands
*/ */
class SdModifyFieldDlg : public ModalDialog class SdModifyFieldDlg : public weld::GenericDialogController
{ {
private: private:
VclPtr<RadioButton> m_pRbtFix; SfxItemSet m_aInputSet;
VclPtr<RadioButton> m_pRbtVar; const SvxFieldData* m_pField;
VclPtr<SvxLanguageBox> m_pLbLanguage;
VclPtr<ListBox> m_pLbFormat;
SfxItemSet maInputSet;
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 FillFormatList();
void FillControls(); void FillControls();
DECL_LINK( LanguageChangeHdl, ListBox&, void ); DECL_LINK(LanguageChangeHdl, weld::ComboBoxText&, void);
public: 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 ~SdModifyFieldDlg() override;
virtual void dispose() override;
SvxFieldData* GetField(); SvxFieldData* GetField();
SfxItemSet GetItemSet(); SfxItemSet GetItemSet();
......
...@@ -2392,7 +2392,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -2392,7 +2392,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
{ {
// Dialog... // Dialog...
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create(); 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 ) if( pDlg && pDlg->Execute() == RET_OK )
{ {
// To make a correct SetAttribs() call at the utlinerView // To make a correct SetAttribs() call at the utlinerView
......
...@@ -573,7 +573,8 @@ void OutlineViewShell::FuTemporaryModify(SfxRequest &rReq) ...@@ -573,7 +573,8 @@ void OutlineViewShell::FuTemporaryModify(SfxRequest &rReq)
{ {
// Dialog... // Dialog...
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create(); 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) ) if( pDlg && (pDlg->Execute() == RET_OK) )
{ {
std::unique_ptr<SvxFieldData> pField(pDlg->GetField()); std::unique_ptr<SvxFieldData> pField(pDlg->GetField());
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 --> <!-- Generated with glade 3.22.1 -->
<interface domain="sd"> <interface domain="sd">
<requires lib="gtk+" version="3.18"/> <requires lib="gtk+" version="3.18"/>
<requires lib="LibreOffice" version="1.0"/>
<object class="GtkDialog" id="EditFieldsDialog"> <object class="GtkDialog" id="EditFieldsDialog">
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="border_width">6</property> <property name="border_width">6</property>
<property name="title" translatable="yes" context="dlgfield|EditFieldsDialog">Edit Field</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> <property name="type_hint">dialog</property>
<child>
<placeholder/>
</child>
<child internal-child="vbox"> <child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1"> <object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property> <property name="spacing">12</property>
<child internal-child="action_area"> <child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area1"> <object class="GtkButtonBox" id="dialog-action_area1">
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="orientation">vertical</property> <property name="layout_style">end</property>
<property name="layout_style">start</property>
<child> <child>
<object class="GtkButton" id="ok"> <object class="GtkButton" id="ok">
<property name="label">gtk-ok</property> <property name="label">gtk-ok</property>
...@@ -59,6 +64,7 @@ ...@@ -59,6 +64,7 @@
<property name="expand">True</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">2</property> <property name="position">2</property>
<property name="secondary">True</property>
</packing> </packing>
</child> </child>
</object> </object>
...@@ -105,7 +111,6 @@ ...@@ -105,7 +111,6 @@
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="active">True</property> <property name="active">True</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
<property name="group">varRB</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
...@@ -172,9 +177,15 @@ ...@@ -172,9 +177,15 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="svxcorelo-SvxLanguageBox" id="languageLB"> <object class="GtkComboBoxText" id="languageLB">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</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> </object>
<packing> <packing>
<property name="expand">False</property> <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