Kaydet (Commit) 43fd682e authored tarafından Caolán McNamara's avatar Caolán McNamara

weld SwFieldFuncPage

Change-Id: I5b098eecb7318ab64dcafff3ce1ef0fa34536f50
Reviewed-on: https://gerrit.libreoffice.org/69346
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 338e5626
......@@ -365,10 +365,6 @@
generic-name="Condition Edit" parent="GtkEntry"
icon-name="widget-gtk-textentry"/>
<glade-widget-class title="Return Action Edit" name="swlo-ReturnActionEdit"
generic-name="Return Action Edit" parent="GtkEntry"
icon-name="widget-gtk-textentry"/>
<glade-widget-class title="Text View" name="sclo-ScEditWindow"
generic-name="Text View" parent="GtkTextView"
icon-name="widget-gtk-textentry"/>
......
......@@ -465,7 +465,6 @@ custom_widgets = [
'RefButton',
'RefEdit',
'ReplaceEdit',
'ReturnActionEdit',
'RowEdit',
'RubyEdit',
'RubyPreview',
......
......@@ -52,6 +52,12 @@ void FillFieldSelect(ListBox& rListBox)
rListBox.InsertEntry(SwResId(FLD_SELECT[i]));
}
void FillFieldSelect(weld::TreeView& rListBox)
{
for (size_t i = 0; i < SAL_N_ELEMENTS(FLD_SELECT); ++i)
rListBox.append_text(SwResId(FLD_SELECT[i]));
}
SwFieldDokInfPage::SwFieldDokInfPage(vcl::Window* pParent, const SfxItemSet *const pCoreSet)
: SwFieldPage(pParent, "FieldDocInfoPage",
"modules/swriter/ui/flddocinfopage.ui", pCoreSet)
......
......@@ -72,6 +72,7 @@ public:
};
void FillFieldSelect(ListBox& rListBox);
void FillFieldSelect(weld::TreeView& rListBox);
#endif
......
This diff is collapsed.
......@@ -31,52 +31,52 @@
class SwFieldFuncPage : public SwFieldPage
{
VclPtr<ListBox> m_pTypeLB;
VclPtr<ListBox> m_pSelectionLB;
VclPtr<VclContainer> m_pFormat;
VclPtr<ListBox> m_pFormatLB;
VclPtr<FixedText> m_pNameFT;
VclPtr<ConditionEdit> m_pNameED;
VclPtr<VclContainer> m_pValueGroup;
VclPtr<FixedText> m_pValueFT;
VclPtr<Edit> m_pValueED;
VclPtr<FixedText> m_pCond1FT;
VclPtr<ConditionEdit> m_pCond1ED;
VclPtr<FixedText> m_pCond2FT;
VclPtr<ConditionEdit> m_pCond2ED;
VclPtr<PushButton> m_pMacroBT;
//controls of "Input list"
VclPtr<VclContainer> m_pListGroup;
VclPtr<FixedText> m_pListItemFT;
VclPtr<ReturnActionEdit> m_pListItemED;
VclPtr<PushButton> m_pListAddPB;
VclPtr<FixedText> m_pListItemsFT;
VclPtr<ListBox> m_pListItemsLB;
VclPtr<PushButton> m_pListRemovePB;
VclPtr<PushButton> m_pListUpPB;
VclPtr<PushButton> m_pListDownPB;
VclPtr<FixedText> m_pListNameFT;
VclPtr<Edit> m_pListNameED;
OUString m_sOldValueFT;
OUString m_sOldNameFT;
sal_uLong nOldFormat;
bool bDropDownLBChanged;
DECL_LINK( TypeHdl, ListBox&, void );
DECL_LINK( SelectHdl, ListBox&, void );
DECL_LINK( InsertMacroHdl, ListBox&, void );
DECL_LINK( ModifyHdl, Edit&, void );
DECL_LINK( ListModifyReturnActionHdl, ReturnActionEdit&, void );
DECL_LINK( ListModifyButtonHdl, Button*, void );
DECL_LINK( ListEnableHdl, Edit&, void );
DECL_LINK( ListEnableListBoxHdl, ListBox&, void );
void ListModifyHdl(Control const *);
std::unique_ptr<weld::TreeView> m_xTypeLB;
std::unique_ptr<weld::TreeView> m_xSelectionLB;
std::unique_ptr<weld::Widget> m_xFormat;
std::unique_ptr<weld::TreeView> m_xFormatLB;
std::unique_ptr<weld::Label> m_xNameFT;
std::unique_ptr<SwConditionEdit> m_xNameED;
std::unique_ptr<weld::Widget> m_xValueGroup;
std::unique_ptr<weld::Label> m_xValueFT;
std::unique_ptr<weld::Entry> m_xValueED;
std::unique_ptr<weld::Label> m_xCond1FT;
std::unique_ptr<SwConditionEdit> m_xCond1ED;
std::unique_ptr<weld::Label> m_xCond2FT;
std::unique_ptr<SwConditionEdit> m_xCond2ED;
std::unique_ptr<weld::Button> m_xMacroBT;
//controls of "Input list"
std::unique_ptr<weld::Widget> m_xListGroup;
std::unique_ptr<weld::Label> m_xListItemFT;
std::unique_ptr<weld::Entry> m_xListItemED;
std::unique_ptr<weld::Button> m_xListAddPB;
std::unique_ptr<weld::Label> m_xListItemsFT;
std::unique_ptr<weld::TreeView> m_xListItemsLB;
std::unique_ptr<weld::Button> m_xListRemovePB;
std::unique_ptr<weld::Button> m_xListUpPB;
std::unique_ptr<weld::Button> m_xListDownPB;
std::unique_ptr<weld::Label> m_xListNameFT;
std::unique_ptr<weld::Entry> m_xListNameED;
DECL_LINK( TypeHdl, weld::TreeView&, void );
DECL_LINK( SelectHdl, weld::TreeView&, void );
DECL_LINK( InsertMacroHdl, weld::TreeView&, void );
DECL_LINK( ModifyHdl, weld::Entry&, void );
DECL_LINK( ListModifyReturnActionHdl, weld::Entry&, bool );
DECL_LINK( ListModifyButtonHdl, weld::Button&, void );
DECL_LINK( ListEnableHdl, weld::Entry&, void );
DECL_LINK( ListEnableListBoxHdl, weld::TreeView&, void );
void ListModifyHdl(const weld::Widget*);
// select Macro
DECL_LINK( MacroHdl, Button *, void );
DECL_LINK( MacroHdl, weld::Button&, void );
void UpdateSubType();
......@@ -84,10 +84,8 @@ protected:
virtual sal_uInt16 GetGroup() override;
public:
SwFieldFuncPage(vcl::Window* pParent, const SfxItemSet* pSet);
virtual ~SwFieldFuncPage() override;
virtual void dispose() override;
SwFieldFuncPage(TabPageParent pParent, const SfxItemSet* pSet);
virtual ~SwFieldFuncPage() override;
static VclPtr<SfxTabPage> Create(TabPageParent pParent, const SfxItemSet* rAttrSet);
......
......@@ -57,6 +57,21 @@ SwFieldPage::SwFieldPage(vcl::Window *pParent, const OString& rID,
{
}
SwFieldPage::SwFieldPage(TabPageParent pParent, const OUString& rUIXMLDescription,
const OString& rID, const SfxItemSet *pAttrSet)
: SfxTabPage(pParent, rUIXMLDescription, rID, pAttrSet)
, m_pCurField(nullptr)
, m_pWrtShell(nullptr)
, m_nTypeSel(LISTBOX_ENTRY_NOTFOUND)
, m_nSelectionSel(LISTBOX_ENTRY_NOTFOUND)
, m_bFieldEdit(false)
, m_bInsert(true)
, m_bFieldDlgHtmlMode(false)
, m_bRefresh(false)
, m_bFirstHTMLInit(true)
{
}
SwFieldPage::~SwFieldPage()
{
}
......@@ -291,6 +306,16 @@ void SwFieldPage::SavePos( const ListBox* pLst1 )
m_aLstStrArr[ 2 ].clear();
}
void SwFieldPage::SavePos( const weld::TreeView& rLst1 )
{
if (rLst1.n_children())
m_aLstStrArr[ 0 ] = rLst1.get_selected_text();
else
m_aLstStrArr[ 0 ].clear();
m_aLstStrArr[ 1 ].clear();
m_aLstStrArr[ 2 ].clear();
}
void SwFieldPage::RestorePos(ListBox* pLst1)
{
sal_Int32 nPos = 0;
......@@ -300,6 +325,14 @@ void SwFieldPage::RestorePos(ListBox* pLst1)
pLst1->SelectEntryPos( nPos );
}
void SwFieldPage::RestorePos(weld::TreeView& rLst1)
{
sal_Int32 nPos = 0;
if (rLst1.n_children() && !m_aLstStrArr[ 0 ].isEmpty() &&
-1 != ( nPos = rLst1.find_text(m_aLstStrArr[ 0 ] ) ) )
rLst1.select( nPos );
}
// Insert new fields
IMPL_LINK( SwFieldPage, TreeListBoxInsertHdl, SvTreeListBox*, pBtn, bool )
{
......@@ -312,6 +345,11 @@ IMPL_LINK( SwFieldPage, ListBoxInsertHdl, ListBox&, rBox, void )
InsertHdl(&rBox);
}
IMPL_LINK( SwFieldPage, TreeViewInsertHdl, weld::TreeView&, rBox, void )
{
InsertHdl(&rBox);
}
void SwFieldPage::InsertHdl(void* pBtn)
{
SwFieldDlg *pDlg = static_cast<SwFieldDlg*>(GetTabDialog());
......
......@@ -55,13 +55,16 @@ protected:
SwWrtShell* GetWrtShell() { return m_pWrtShell;}
DECL_LINK( ListBoxInsertHdl, ListBox&, void );
DECL_LINK( TreeViewInsertHdl, weld::TreeView&, void );
DECL_LINK( TreeListBoxInsertHdl, SvTreeListBox*, bool );
DECL_LINK( NumFormatHdl, ListBox&, void );
void InsertHdl(void *);
void Init();
void SavePos( const ListBox* pLst1);
void SavePos( const weld::TreeView& rLst1);
void RestorePos( ListBox* pLst1 );
void RestorePos( weld::TreeView& rLst1 );
void EnableInsert(bool bEnable);
bool IsFieldEdit() const { return m_bFieldEdit; }
......@@ -79,6 +82,8 @@ protected:
public:
SwFieldPage(vcl::Window *pParent, const OString& rID,
const OUString& rUIXMLDescription, const SfxItemSet *pAttrSet);
SwFieldPage(TabPageParent pParent, const OUString& rUIXMLDescription,
const OString& rID, const SfxItemSet *pAttrSet);
virtual ~SwFieldPage() override;
......
......@@ -54,23 +54,4 @@ bool NumEditAction::EventNotify( NotifyEvent& rNEvt )
return bHandled;
}
void ReturnActionEdit::KeyInput( const KeyEvent& rEvt)
{
const vcl::KeyCode aKeyCode = rEvt.GetKeyCode();
const sal_uInt16 nModifier = aKeyCode.GetModifier();
if( aKeyCode.GetCode() == KEY_RETURN &&
!nModifier)
{
aReturnActionLink.Call(*this);
}
else
Edit::KeyInput(rEvt);
}
extern "C" SAL_DLLPUBLIC_EXPORT void makeReturnActionEdit(VclPtr<vcl::Window> & rRet, VclPtr<vcl::Window> & pParent, VclBuilder::stringmap & rMap)
{
BuilderUtils::ensureDefaultWidthChars(rMap);
rRet = VclPtr<ReturnActionEdit>::Create(pParent, WB_LEFT|WB_VCENTER|WB_BORDER|WB_3DLOOK);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -39,21 +39,6 @@ public:
void SetActionHdl( const Link<NumEditAction&,void>& rLink ) { aActionLink = rLink;}
};
// call a link when KEY_RETURN is pressed
class SW_DLLPUBLIC ReturnActionEdit : public Edit
{
Link<ReturnActionEdit&,void> aReturnActionLink;
public:
ReturnActionEdit(vcl::Window* pParent, WinBits nStyle)
: Edit(pParent, nStyle)
{
}
virtual void KeyInput( const KeyEvent& ) override;
void SetReturnActionLink(const Link<ReturnActionEdit&,void>& rLink)
{ aReturnActionLink = rLink;}
};
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -70,7 +70,11 @@ public:
OUString get_text() const { return m_xControl->get_text(); }
void set_text(const OUString& rText) { m_xControl->set_text(rText); }
void set_visible(bool bVisible) { m_xControl->set_visible(bVisible); }
void set_accessible_name(const OUString& rName) { m_xControl->set_accessible_name(rName); }
bool get_sensitive() const { return m_xControl->get_sensitive(); }
void save_value() { m_xControl->save_value(); }
bool get_value_changed_from_saved() const { return m_xControl->get_value_changed_from_saved(); }
void set_sensitive(bool bSensitive) { m_xControl->set_sensitive(bSensitive); }
void connect_changed(const Link<weld::Entry&, void>& rLink) { m_xControl->connect_changed(rLink); }
void hide() { m_xControl->hide(); }
......
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