diff options
author | Tamás Zolnai <tamas.zolnai@collabora.com> | 2019-02-16 21:20:03 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2019-02-17 11:05:14 +0100 |
commit | 7f8004ef1be04413ffe6cded00fc7535608f27fc (patch) | |
tree | cfbf81fac4685b577955f5e5c7158485c868df71 /sw | |
parent | 8c9aa1c4188417cca592047c2994082c14add2d2 (diff) |
MSForms: Introduce a properties dialog for Drop-down form field
- Dialog created similar to the edit dialog of Input field
- On the dialog, the user can edit the list of the drop down field
- This dialog is only for editing of the field, so the user can't select
an item from the list to display in the field.
Reviewed-on: https://gerrit.libreoffice.org/67909
Tested-by: Jenkins
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
(cherry picked from commit 117da8dab05986380db586f1fae6a2f0af9ce389)
Change-Id: I6222aba9b211afeb0e9d10d97a49347921ff7353
Reviewed-on: https://gerrit.libreoffice.org/67924
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/Library_swui.mk | 1 | ||||
-rw-r--r-- | sw/UIConfig_swriter.mk | 1 | ||||
-rw-r--r-- | sw/inc/swabstdlg.hxx | 6 | ||||
-rw-r--r-- | sw/source/ui/dialog/swdlgfact.cxx | 10 | ||||
-rw-r--r-- | sw/source/ui/dialog/swdlgfact.hxx | 7 | ||||
-rw-r--r-- | sw/source/ui/dialog/swuiexp.cxx | 1 | ||||
-rw-r--r-- | sw/source/ui/fldui/DropDownFormFieldDialog.cxx | 183 | ||||
-rw-r--r-- | sw/source/uibase/inc/DropDownFormFieldDialog.hxx | 65 | ||||
-rw-r--r-- | sw/uiconfig/swriter/ui/dropdownformfielddialog.ui | 251 |
9 files changed, 525 insertions, 0 deletions
diff --git a/sw/Library_swui.mk b/sw/Library_swui.mk index ab131e1e49c9..20e6a46b1c95 100644 --- a/sw/Library_swui.mk +++ b/sw/Library_swui.mk @@ -110,6 +110,7 @@ $(eval $(call gb_Library_add_exception_objects,swui,\ sw/source/ui/envelp/labprt \ sw/source/ui/envelp/mailmrge \ sw/source/ui/fldui/DropDownFieldDialog \ + sw/source/ui/fldui/DropDownFormFieldDialog \ sw/source/ui/fldui/FldRefTreeListBox \ sw/source/ui/fldui/changedb \ sw/source/ui/fldui/flddb \ diff --git a/sw/UIConfig_swriter.mk b/sw/UIConfig_swriter.mk index 2df36e32b49c..b435a03993ba 100644 --- a/sw/UIConfig_swriter.mk +++ b/sw/UIConfig_swriter.mk @@ -122,6 +122,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/swriter,\ sw/uiconfig/swriter/ui/datasourcesunavailabledialog \ sw/uiconfig/swriter/ui/dropcapspage \ sw/uiconfig/swriter/ui/dropdownfielddialog \ + sw/uiconfig/swriter/ui/dropdownformfielddialog \ sw/uiconfig/swriter/ui/editcategories \ sw/uiconfig/swriter/ui/editfielddialog \ sw/uiconfig/swriter/ui/editsectiondialog \ diff --git a/sw/inc/swabstdlg.hxx b/sw/inc/swabstdlg.hxx index ac4918a920ea..d3a948c40d6e 100644 --- a/sw/inc/swabstdlg.hxx +++ b/sw/inc/swabstdlg.hxx @@ -91,6 +91,9 @@ namespace com{namespace sun{namespace star{ } }}} + +namespace sw { namespace mark { class IFieldmark; } } + typedef void (*SwLabDlgMethod) (css::uno::Reference< css::frame::XModel> const & xModel, const SwLabItem& rItem); typedef OUString (*GlossaryGetCurrGroup)(); @@ -409,8 +412,11 @@ public: virtual VclPtr<AbstractDropDownFieldDialog> CreateDropDownFieldDialog(SwWrtShell &rSh, SwField* pField, bool bPrevButton, bool bNextButton) = 0; + virtual VclPtr<VclAbstractDialog> CreateDropDownFormFieldDialog(sw::mark::IFieldmark* pDropDownField) = 0; + virtual VclPtr<SfxAbstractTabDialog> CreateSwEnvDlg ( vcl::Window* pParent, const SfxItemSet& rSet, SwWrtShell* pWrtSh, Printer* pPrt, bool bInsert ) = 0; + virtual VclPtr<AbstractSwLabDlg> CreateSwLabDlg(const SfxItemSet& rSet, SwDBManager* pDBManager, bool bLabel) = 0; diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx index e06a6b4a3910..172c59989013 100644 --- a/sw/source/ui/dialog/swdlgfact.cxx +++ b/sw/source/ui/dialog/swdlgfact.cxx @@ -40,6 +40,7 @@ #include <docfnote.hxx> #include <docstdlg.hxx> #include <DropDownFieldDialog.hxx> +#include <DropDownFormFieldDialog.hxx> #include <envlop.hxx> #include <label.hxx> #include <drpcps.hxx> @@ -86,6 +87,7 @@ #include <uiborder.hxx> #include <mmresultdialogs.hxx> + using namespace ::com::sun::star; IMPL_ABSTDLG_BASE(AbstractSwWordCountFloatDlg_Impl); @@ -99,9 +101,11 @@ IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl); IMPL_ABSTDLG_BASE(AbstractSwConvertTableDlg_Impl); IMPL_ABSTDLG_BASE(AbstractSwInsertDBColAutoPilot_Impl); IMPL_ABSTDLG_BASE(AbstractDropDownFieldDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractDropDownFormFieldDialog_Impl); IMPL_ABSTDLG_BASE(AbstractSwLabDlg_Impl); IMPL_ABSTDLG_BASE(AbstractSwSelGlossaryDlg_Impl); IMPL_ABSTDLG_BASE(AbstractSwAutoFormatDlg_Impl); + IMPL_ABSTDLG_BASE(AbstractSwFieldDlg_Impl); IMPL_ABSTDLG_BASE(AbstractSwRenameXNamedDlg_Impl); IMPL_ABSTDLG_BASE(AbstractSwModalRedlineAcceptDlg_Impl); @@ -771,6 +775,12 @@ VclPtr<AbstractDropDownFieldDialog> SwAbstractDialogFactory_Impl::CreateDropDown return VclPtr<AbstractDropDownFieldDialog_Impl>::Create( pDlg ); } +VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateDropDownFormFieldDialog(sw::mark::IFieldmark* pDropDownField) +{ + VclPtr<sw::DropDownFormFieldDialog> pDlg = VclPtr<sw::DropDownFormFieldDialog>::Create(nullptr, pDropDownField); + return VclPtr<VclAbstractDialog_Impl>::Create( pDlg ); +} + VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateSwEnvDlg ( vcl::Window* pParent, const SfxItemSet& rSet, SwWrtShell* pWrtSh, Printer* pPrt, bool bInsert ) diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx index 337bdf6bc4aa..63aa088a8e8e 100644 --- a/sw/source/ui/dialog/swdlgfact.hxx +++ b/sw/source/ui/dialog/swdlgfact.hxx @@ -44,6 +44,7 @@ class SwSplitTableDlg; namespace sw { class DropDownFieldDialog; +class DropDownFormFieldDialog; } #define DECL_ABSTDLG_BASE(Class,DialogClass) \ @@ -167,6 +168,11 @@ class AbstractDropDownFieldDialog_Impl : public AbstractDropDownFieldDialog virtual bool NextButtonPressed() const override; }; +class AbstractDropDownFormFieldDialog_Impl : public VclAbstractDialog +{ + DECL_ABSTDLG_BASE(AbstractDropDownFormFieldDialog_Impl, sw::DropDownFormFieldDialog) +}; + class AbstractSwLabDlg_Impl : public AbstractSwLabDlg { DECL_ABSTDLG_BASE(AbstractSwLabDlg_Impl,SwLabDlg) @@ -403,6 +409,7 @@ public: virtual VclPtr<AbstractDropDownFieldDialog> CreateDropDownFieldDialog(SwWrtShell &rSh, SwField* pField, bool bPrevButton, bool bNextButton) override; + virtual VclPtr<VclAbstractDialog> CreateDropDownFormFieldDialog(sw::mark::IFieldmark* pDropDownField) override; virtual VclPtr<SfxAbstractTabDialog> CreateSwEnvDlg ( vcl::Window* pParent, const SfxItemSet& rSet, SwWrtShell* pWrtSh, Printer* pPrt, bool bInsert ) override; virtual VclPtr<AbstractSwLabDlg> CreateSwLabDlg(const SfxItemSet& rSet, SwDBManager* pDBManager, bool bLabel) override; diff --git a/sw/source/ui/dialog/swuiexp.cxx b/sw/source/ui/dialog/swuiexp.cxx index 4e73ff5fe4c2..6398698961aa 100644 --- a/sw/source/ui/dialog/swuiexp.cxx +++ b/sw/source/ui/dialog/swuiexp.cxx @@ -25,6 +25,7 @@ #include <convert.hxx> #include <dbinsdlg.hxx> #include <DropDownFieldDialog.hxx> +#include <DropDownFormFieldDialog.hxx> #include <fldtdlg.hxx> #include <glossary.hxx> #include <inpdlg.hxx> diff --git a/sw/source/ui/fldui/DropDownFormFieldDialog.cxx b/sw/source/ui/fldui/DropDownFormFieldDialog.cxx new file mode 100644 index 000000000000..0a80eae05300 --- /dev/null +++ b/sw/source/ui/fldui/DropDownFormFieldDialog.cxx @@ -0,0 +1,183 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include <DropDownFormFieldDialog.hxx> +#include <vcl/event.hxx> +#include <IMark.hxx> +#include <xmloff/odffields.hxx> + +namespace sw +{ +DropDownFormFieldDialog::DropDownFormFieldDialog(vcl::Window* pParent, + mark::IFieldmark* pDropDownField) + : SvxStandardDialog(pParent, "DropDownFormFieldDialog", + "modules/swriter/ui/dropdownformfielddialog.ui") + , m_pDropDownField(pDropDownField) + , m_bListHasChanged(false) +{ + get(m_xListItemEntry, "item_entry"); + get(m_xListAddButton, "add_button"); + get(m_xListItemsTreeView, "items_treeview"); + get(m_xListRemoveButton, "remove_button"); + get(m_xListUpButton, "up_button"); + get(m_xListDownButton, "down_button"); + + m_xListItemsTreeView->set_width_request(m_xListItemEntry->get_preferred_size().Width()); + m_xListItemsTreeView->set_height_request(m_xListItemEntry->get_preferred_size().Height() * 5); + + m_xListItemsTreeView->SetSelectHdl(LINK(this, DropDownFormFieldDialog, SelectHdl)); + + m_xListItemEntry->SetModifyHdl(LINK(this, DropDownFormFieldDialog, ModifyEditHdl)); + m_xListItemEntry->SetReturnActionLink(LINK(this, DropDownFormFieldDialog, ReturnActionHdl)); + + Link<Button*, void> aPushButtonLink(LINK(this, DropDownFormFieldDialog, ButtonPushedHdl)); + m_xListAddButton->SetClickHdl(aPushButtonLink); + m_xListRemoveButton->SetClickHdl(aPushButtonLink); + m_xListUpButton->SetClickHdl(aPushButtonLink); + m_xListDownButton->SetClickHdl(aPushButtonLink); + + InitControls(); +} + +DropDownFormFieldDialog::~DropDownFormFieldDialog() {} + +IMPL_LINK_NOARG(DropDownFormFieldDialog, SelectHdl, ListBox&, void) { UpdateButtons(); } + +IMPL_LINK_NOARG(DropDownFormFieldDialog, ModifyEditHdl, Edit&, void) { UpdateButtons(); } + +IMPL_LINK_NOARG(DropDownFormFieldDialog, ReturnActionHdl, ReturnActionEdit&, void) +{ + AppendItemToList(); +} + +IMPL_LINK(DropDownFormFieldDialog, ButtonPushedHdl, Button*, pButton, void) +{ + if (pButton == m_xListAddButton) + { + AppendItemToList(); + } + else if (m_xListItemsTreeView->GetSelectedEntryPos() != LISTBOX_ENTRY_NOTFOUND) + { + int nSelPos = m_xListItemsTreeView->GetSelectedEntryPos(); + if (pButton == m_xListRemoveButton) + { + m_xListItemsTreeView->RemoveEntry(nSelPos); + m_xListItemsTreeView->SelectEntryPos(nSelPos > 0 ? nSelPos - 1 : 0); + } + else if (pButton == m_xListUpButton) + { + const OUString sEntry = m_xListItemsTreeView->GetSelectedEntry(); + m_xListItemsTreeView->RemoveEntry(nSelPos); + nSelPos--; + m_xListItemsTreeView->InsertEntry(sEntry, nSelPos); + m_xListItemsTreeView->SelectEntryPos(nSelPos); + } + else if (pButton == m_xListDownButton) + { + const OUString sEntry = m_xListItemsTreeView->GetSelectedEntry(); + m_xListItemsTreeView->RemoveEntry(nSelPos); + nSelPos++; + m_xListItemsTreeView->InsertEntry(sEntry, nSelPos); + m_xListItemsTreeView->SelectEntryPos(nSelPos); + } + m_bListHasChanged = true; + } + UpdateButtons(); +} + +void DropDownFormFieldDialog::InitControls() +{ + if (m_pDropDownField != nullptr) + { + const mark::IFieldmark::parameter_map_t* const pParameters + = m_pDropDownField->GetParameters(); + + auto pListEntries = pParameters->find(ODF_FORMDROPDOWN_LISTENTRY); + if (pListEntries != pParameters->end()) + { + css::uno::Sequence<OUString> vListEntries; + pListEntries->second >>= vListEntries; + for (const OUString& rItem : vListEntries) + m_xListItemsTreeView->InsertEntry(rItem); + + // Select the current one + auto pResult = pParameters->find(ODF_FORMDROPDOWN_RESULT); + if (pResult != pParameters->end()) + { + sal_Int32 nSelection = -1; + pResult->second >>= nSelection; + m_xListItemsTreeView->SelectEntry(vListEntries[nSelection]); + } + } + } + UpdateButtons(); +} + +void DropDownFormFieldDialog::AppendItemToList() +{ + if (m_xListAddButton->IsEnabled()) + { + const OUString sEntry(m_xListItemEntry->GetText()); + if (!sEntry.isEmpty()) + { + m_xListItemsTreeView->InsertEntry(sEntry); + m_xListItemsTreeView->SelectEntry(sEntry); + m_bListHasChanged = true; + + // Clear entry + m_xListItemEntry->SetText(OUString()); + m_xListItemEntry->GrabFocus(); + } + UpdateButtons(); + } +} + +void DropDownFormFieldDialog::UpdateButtons() +{ + m_xListAddButton->Enable( + !m_xListItemEntry->GetText().isEmpty() + && (LISTBOX_ENTRY_NOTFOUND + == m_xListItemsTreeView->GetEntryPos(m_xListItemEntry->GetText()))); + + int nSelPos = m_xListItemsTreeView->GetSelectedEntryPos(); + m_xListRemoveButton->Enable(nSelPos != LISTBOX_ENTRY_NOTFOUND); + m_xListUpButton->Enable(nSelPos != LISTBOX_ENTRY_NOTFOUND && nSelPos != 0); + m_xListDownButton->Enable(nSelPos != LISTBOX_ENTRY_NOTFOUND + && nSelPos < m_xListItemsTreeView->GetEntryCount() - 1); +} + +void DropDownFormFieldDialog::Apply() +{ + if (m_pDropDownField != nullptr && m_bListHasChanged) + { + mark::IFieldmark::parameter_map_t* pParameters = m_pDropDownField->GetParameters(); + + css::uno::Sequence<OUString> vListEntries(m_xListItemsTreeView->GetEntryCount()); + for (int nIndex = 0; nIndex < m_xListItemsTreeView->GetEntryCount(); ++nIndex) + { + vListEntries[nIndex] = m_xListItemsTreeView->GetEntry(nIndex); + } + + if (vListEntries.getLength() != 0) + { + (*pParameters)[ODF_FORMDROPDOWN_LISTENTRY] <<= vListEntries; + } + else + { + pParameters->erase(ODF_FORMDROPDOWN_LISTENTRY); + } + + // After editing the drop down field's list we don't specify the selected item + pParameters->erase(ODF_FORMDROPDOWN_RESULT); + } +} + +} // namespace sw + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/sw/source/uibase/inc/DropDownFormFieldDialog.hxx b/sw/source/uibase/inc/DropDownFormFieldDialog.hxx new file mode 100644 index 000000000000..e9150feb0d47 --- /dev/null +++ b/sw/source/uibase/inc/DropDownFormFieldDialog.hxx @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef INCLUDED_SW_SOURCE_UIBASE_INC_DROPDOWNFORMFIELDDIALOG_HXX +#define INCLUDED_SW_SOURCE_UIBASE_INC_DROPDOWNFORMFIELDDIALOG_HXX + +#include <vcl/lstbox.hxx> +#include <vcl/button.hxx> +#include <vcl/edit.hxx> +#include <vcl/window.hxx> +#include <svx/stddlg.hxx> +#include "actctrl.hxx" + +namespace sw +{ +namespace mark +{ +class IFieldmark; +} +} // namespace sw + +/// Dialog to specify the properties of drop-down form field +namespace sw +{ +class DropDownFormFieldDialog : public SvxStandardDialog +{ +private: + mark::IFieldmark* m_pDropDownField; + bool m_bListHasChanged; + + VclPtr<ReturnActionEdit> m_xListItemEntry; + VclPtr<PushButton> m_xListAddButton; + + VclPtr<ListBox> m_xListItemsTreeView; + + VclPtr<PushButton> m_xListRemoveButton; + VclPtr<PushButton> m_xListUpButton; + VclPtr<PushButton> m_xListDownButton; + + DECL_LINK(SelectHdl, ListBox&, void); + DECL_LINK(ModifyEditHdl, Edit&, void); + DECL_LINK(ReturnActionHdl, ReturnActionEdit&, void); + DECL_LINK(ButtonPushedHdl, Button*, void); + + void InitControls(); + void AppendItemToList(); + void UpdateButtons(); + virtual void Apply() override; + +public: + DropDownFormFieldDialog(vcl::Window* pParent, mark::IFieldmark* pDropDownField); + virtual ~DropDownFormFieldDialog() override; +}; + +} // namespace sw + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/sw/uiconfig/swriter/ui/dropdownformfielddialog.ui b/sw/uiconfig/swriter/ui/dropdownformfielddialog.ui new file mode 100644 index 000000000000..982581e1dd01 --- /dev/null +++ b/sw/uiconfig/swriter/ui/dropdownformfielddialog.ui @@ -0,0 +1,251 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.20.0 --> +<interface domain="sw"> + <!-- interface-requires gtk+ 3.0 --> + <object class="GtkDialog" id="DropDownFormFieldDialog"> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="title" translatable="yes" context="dropdownformfielddialog|DropDownFormFieldDialog">Drop-down Form Field</property> + <property name="resizable">True</property> + <property name="type_hint">dialog</property> + <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="layout_style">end</property> + <child> + <object class="GtkButton" id="ok"> + <property name="label">gtk-ok</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="cancel"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="help"> + <property name="label">gtk-help</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + <property name="secondary">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="list_grid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="row_spacing">12</property> + <child> + <object class="GtkGrid" id="grid9"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="row_spacing">6</property> + <child> + <object class="GtkLabel" id="item_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="dropdownformfielddialog|item_label">Item</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">item_entry</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="swlo-ReturnActionEdit" id="item_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="add_button"> + <property name="label">gtk-add</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="halign">start</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid6"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="row_spacing">6</property> + <child> + <object class="GtkLabel" id="listitem_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="dropdownformfielddialog|listitem_label">Items on list</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">items_treeview</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkTreeView" id="items_treeview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <child internal-child="selection"> + <object class="GtkTreeSelection" id="treeview-selection1"/> + </child> + </object> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkButtonBox" id="buttonbox1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <property name="layout_style">start</property> + <child> + <object class="GtkButton" id="remove_button"> + <property name="label">gtk-remove</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="up_button"> + <property name="label" translatable="yes" context="dropdownformfielddialog|up">Move Up</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="down_button"> + <property name="label" translatable="yes" context="dropdownformfielddialog|down">Move Down</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="-5">ok</action-widget> + <action-widget response="-6">cancel</action-widget> + <action-widget response="-11">help</action-widget> + </action-widgets> + </object> +</interface> |