diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-03-25 14:06:11 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-03-25 16:19:03 +0000 |
commit | 76ada5696d114bc90cf285fafec41b1d21696692 (patch) | |
tree | cfeed93c2d83bfc28d5891cadf1663f3455b2361 /sw | |
parent | a27906233ea9b97fae848f0006c644f72c4c6f27 (diff) |
convert mail merge page to .ui
Change-Id: I13e23a2e5c19370b0a82c24bc96b532debf9c160
Diffstat (limited to 'sw')
-rw-r--r-- | sw/AllLangResTarget_sw.mk | 1 | ||||
-rw-r--r-- | sw/UIConfig_swriter.mk | 1 | ||||
-rw-r--r-- | sw/inc/dbui.hrc | 1 | ||||
-rw-r--r-- | sw/inc/helpid.h | 1 | ||||
-rw-r--r-- | sw/source/ui/dbui/mmmergepage.cxx | 52 | ||||
-rw-r--r-- | sw/source/ui/dbui/mmmergepage.hrc | 35 | ||||
-rw-r--r-- | sw/source/ui/dbui/mmmergepage.hxx | 21 | ||||
-rw-r--r-- | sw/source/ui/dbui/mmmergepage.src | 98 | ||||
-rw-r--r-- | sw/uiconfig/swriter/ui/mmmergepage.ui | 263 |
9 files changed, 294 insertions, 179 deletions
diff --git a/sw/AllLangResTarget_sw.mk b/sw/AllLangResTarget_sw.mk index 001c39e51dbf..2842cf1121c7 100644 --- a/sw/AllLangResTarget_sw.mk +++ b/sw/AllLangResTarget_sw.mk @@ -95,7 +95,6 @@ $(eval $(call gb_SrsTarget_add_files,sw/res,\ sw/source/ui/dbui/mailmergewizard.src \ sw/source/ui/dbui/mmaddressblockpage.src \ sw/source/ui/dbui/mmgreetingspage.src \ - sw/source/ui/dbui/mmmergepage.src \ sw/source/ui/dbui/mmoutputpage.src \ sw/source/ui/dbui/selectdbtabledialog.src \ sw/source/ui/dialog/dialog.src \ diff --git a/sw/UIConfig_swriter.mk b/sw/UIConfig_swriter.mk index e06de32f0763..00bbcdb3ce08 100644 --- a/sw/UIConfig_swriter.mk +++ b/sw/UIConfig_swriter.mk @@ -166,6 +166,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/swriter,\ sw/uiconfig/swriter/ui/mmaddressblockpage \ sw/uiconfig/swriter/ui/mmcreatingdialog \ sw/uiconfig/swriter/ui/mmlayoutpage \ + sw/uiconfig/swriter/ui/mmmergepage \ sw/uiconfig/swriter/ui/mmoutputtypepage \ sw/uiconfig/swriter/ui/mmpreparepage \ sw/uiconfig/swriter/ui/mmselectpage \ diff --git a/sw/inc/dbui.hrc b/sw/inc/dbui.hrc index 280090166e63..5760a68f66fb 100644 --- a/sw/inc/dbui.hrc +++ b/sw/inc/dbui.hrc @@ -27,7 +27,6 @@ #define DLG_MAILMERGEWIZARD (RC_DBUI_BEGIN + 3) #define DLG_MM_DOCSELECT_PAGE (RC_DBUI_BEGIN + 4) #define DLG_MM_OUTPUTTYPE_PAGE (RC_DBUI_BEGIN + 5) -#define DLG_MM_MERGE_PAGE (RC_DBUI_BEGIN + 9) #define DLG_MM_OUTPUT_PAGE (RC_DBUI_BEGIN + 10) #define DLG_MM_ADDRESSLISTDIALOG (RC_DBUI_BEGIN + 11) #define DLG_MM_SELECTDBTABLEDDIALOG (RC_DBUI_BEGIN + 12) diff --git a/sw/inc/helpid.h b/sw/inc/helpid.h index 8eebb159e537..8ad928d7e140 100644 --- a/sw/inc/helpid.h +++ b/sw/inc/helpid.h @@ -364,7 +364,6 @@ #define HID_PRINT_AS_MERGE "SW_HID_PRINT_AS_MERGE" #define HID_MODULE_TOOLBOX "SW_HID_MODULE_TOOLBOX" -#define HID_MM_MERGEPAGE "SW_HID_MM_MERGEPAGE" #define HID_MM_OUTPUTPAGE "SW_HID_MM_OUTPUTPAGE" #define HID_MM_SELECTDBTABLEDDIALOG "SW_HID_MM_SELECTDBTABLEDDIALOG" #define HID_MM_SELECTDBTABLEDDIALOG_LISTBOX "SW_HID_MM_SELECTDBTABLEDDIALOG_LISTBOX" diff --git a/sw/source/ui/dbui/mmmergepage.cxx b/sw/source/ui/dbui/mmmergepage.cxx index a54be84ba23e..a888cfef3a45 100644 --- a/sw/source/ui/dbui/mmmergepage.cxx +++ b/sw/source/ui/dbui/mmmergepage.cxx @@ -23,41 +23,33 @@ #include <swtypes.hxx> #include <view.hxx> #include <dbui.hrc> -#include <mmmergepage.hrc> #include <svl/srchitem.hxx> #include <sfx2/dispatch.hxx> #include <svl/eitem.hxx> #include <swabstdlg.hxx> -SwMailMergeMergePage::SwMailMergeMergePage( SwMailMergeWizard* _pParent) : - svt::OWizardPage(_pParent, SW_RES(DLG_MM_MERGE_PAGE)), - m_aHeaderFI(this, SW_RES( FI_HEADER ) ), - m_aEditFI(this, SW_RES( FI_EDIT )), - m_aEditPB(this, SW_RES( PB_EDIT )), - m_aFindFL(this, SW_RES( FL_FIND )), - m_aFineFT(this, SW_RES( FT_FIND )), - m_aFindED(this, SW_RES( ED_FIND )), - m_aFindPB(this, SW_RES( PB_FIND )), - m_aWholeWordsCB(this, SW_RES( CB_WHOLEWORDS)), - m_aBackwardsCB(this, SW_RES( CB_BACKWARDS )), - m_aMatchCaseCB(this, SW_RES( CB_MATCHCASE )), - m_pWizard(_pParent) +SwMailMergeMergePage::SwMailMergeMergePage(SwMailMergeWizard* _pParent) + : svt::OWizardPage(_pParent, "MMMergePage", + "modules/swriter/ui/mmmergepage.ui") + , m_pWizard(_pParent) { - FreeResource(); - OUString sTemp(m_aEditFI.GetText()); - sTemp = sTemp.replaceFirst("%1", m_aEditPB.GetText()); - m_aEditFI.SetText(sTemp); - m_aEditPB.SetClickHdl( LINK( this, SwMailMergeMergePage, EditDocumentHdl_Impl)); - m_aFindPB.SetClickHdl( LINK( this, SwMailMergeMergePage, FindHdl_Impl )); + get(m_pEditFI, "helplabel"); + get(m_pEditPB, "edit"); + get(m_pFindPB, "find"); + get(m_pWholeWordsCB, "wholewords"); + get(m_pBackwardsCB, "backwards"); + get(m_pMatchCaseCB, "matchcase"); + get(m_pFindED, "entry"); + OUString sTemp(m_pEditFI->GetText()); + sTemp = sTemp.replaceFirst("%1", m_pEditPB->GetText()); + m_pEditFI->SetText(sTemp); + m_pEditPB->SetClickHdl( LINK( this, SwMailMergeMergePage, EditDocumentHdl_Impl)); + m_pFindPB->SetClickHdl( LINK( this, SwMailMergeMergePage, FindHdl_Impl )); - m_aFindED.SetReturnActionLink( LINK(this, SwMailMergeMergePage, EnteredFindStringHdl_Impl )); + m_pFindED->SetReturnActionLink( LINK(this, SwMailMergeMergePage, EnteredFindStringHdl_Impl )); } -SwMailMergeMergePage::~SwMailMergeMergePage() -{ -} - IMPL_LINK_NOARG(SwMailMergeMergePage, EditDocumentHdl_Impl) { m_pWizard->SetRestartPage(MM_MERGEPAGE); @@ -70,11 +62,11 @@ IMPL_LINK_NOARG(SwMailMergeMergePage, FindHdl_Impl) SvxSearchItem aSearchItem( SID_SEARCH_ITEM ); SfxBoolItem aQuiet( SID_SEARCH_QUIET, false ); - aSearchItem.SetSearchString(m_aFindED.GetText()); + aSearchItem.SetSearchString(m_pFindED->GetText()); - aSearchItem.SetWordOnly(m_aWholeWordsCB.IsChecked()); - aSearchItem.SetExact(m_aMatchCaseCB.IsChecked()); - aSearchItem.SetBackward(m_aBackwardsCB.IsChecked()); + aSearchItem.SetWordOnly(m_pWholeWordsCB->IsChecked()); + aSearchItem.SetExact(m_pMatchCaseCB->IsChecked()); + aSearchItem.SetBackward(m_pBackwardsCB->IsChecked()); SwView* pTargetView = m_pWizard->GetConfigItem().GetTargetView(); OSL_ENSURE(pTargetView, "no target view exists"); @@ -89,7 +81,7 @@ IMPL_LINK_NOARG(SwMailMergeMergePage, FindHdl_Impl) IMPL_LINK_NOARG(SwMailMergeMergePage, EnteredFindStringHdl_Impl) { - m_aFindPB.GetClickHdl().Call( &m_aFindPB ); + m_pFindPB->GetClickHdl().Call(m_pFindPB); return 0; } diff --git a/sw/source/ui/dbui/mmmergepage.hrc b/sw/source/ui/dbui/mmmergepage.hrc deleted file mode 100644 index b05189ab6ed0..000000000000 --- a/sw/source/ui/dbui/mmmergepage.hrc +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ -#ifndef _MAILMERGEMERGEPAGE_HRC -#define _MAILMERGEMERGEPAGE_HRC - -#define FI_HEADER 1 -#define FI_EDIT 2 -#define PB_EDIT 3 -#define FL_FIND 4 -#define FT_FIND 5 -#define ED_FIND 6 -#define PB_FIND 7 -#define CB_WHOLEWORDS 8 -#define CB_BACKWARDS 9 -#define CB_MATCHCASE 10 - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/ui/dbui/mmmergepage.hxx b/sw/source/ui/dbui/mmmergepage.hxx index d9624e862f2e..b415586acc7d 100644 --- a/sw/source/ui/dbui/mmmergepage.hxx +++ b/sw/source/ui/dbui/mmmergepage.hxx @@ -29,19 +29,15 @@ class SwMailMergeWizard; class SwMailMergeMergePage : public svt::OWizardPage { - SwBoldFixedInfo m_aHeaderFI; + FixedText* m_pEditFI; + PushButton* m_pEditPB; - FixedInfo m_aEditFI; - PushButton m_aEditPB; + ReturnActionEdit* m_pFindED; + PushButton* m_pFindPB; - FixedLine m_aFindFL; - FixedText m_aFineFT; - ReturnActionEdit m_aFindED; - PushButton m_aFindPB; - - CheckBox m_aWholeWordsCB; - CheckBox m_aBackwardsCB; - CheckBox m_aMatchCaseCB; + CheckBox* m_pWholeWordsCB; + CheckBox* m_pBackwardsCB; + CheckBox* m_pMatchCaseCB; SwMailMergeWizard* m_pWizard; @@ -50,8 +46,7 @@ class SwMailMergeMergePage : public svt::OWizardPage DECL_LINK(EnteredFindStringHdl_Impl, void*); public: - SwMailMergeMergePage( SwMailMergeWizard* _pParent); - ~SwMailMergeMergePage(); + SwMailMergeMergePage( SwMailMergeWizard* _pParent); }; diff --git a/sw/source/ui/dbui/mmmergepage.src b/sw/source/ui/dbui/mmmergepage.src deleted file mode 100644 index 0201bb8c77b9..000000000000 --- a/sw/source/ui/dbui/mmmergepage.src +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ -#include <mmmergepage.hrc> -#include <dbui.hrc> -#include <helpid.h> - -TabPage DLG_MM_MERGE_PAGE -{ - HelpID = HID_MM_MERGEPAGE ; - Size = MAP_APPFONT ( 260 , 250 ) ; - Hide = TRUE ; - - FixedText FI_HEADER - { - Pos = MAP_APPFONT ( 6 , 8 ) ; - Size = MAP_APPFONT ( 248 , 8 ) ; - Text [ en-US ] = "Personalize the mail merge documents"; - }; - FixedText FI_EDIT - { - Pos = MAP_APPFONT ( 6 , 27 ) ; - Size = MAP_APPFONT ( 248 , 38 ) ; - WordBreak = TRUE; - Text [ en-US ] = "You can personalize particular documents. Clicking '%1' will temporarily reduce the wizard to a small window so you can edit your document. After editing the document, return to the wizard by clicking 'Return to Mail Merge Wizard' in the small window."; - }; - PushButton PB_EDIT - { - HelpID = "sw:PushButton:DLG_MM_MERGE_PAGE:PB_EDIT"; - Pos = MAP_APPFONT ( 70 , 67 ) ; - Size = MAP_APPFONT ( 120 , 14 ) ; - Text [ en-US ] = "~Edit individual document..."; - }; - FixedLine FL_FIND - { - Pos = MAP_APPFONT ( 6 , 102 ) ; - Size = MAP_APPFONT ( 248 , 8 ) ; - Text [ en-US ] = "~Find"; - }; - FixedText FT_FIND - { - Pos = MAP_APPFONT ( 16 ,116 ) ; - Size = MAP_APPFONT ( 45 , 8 ) ; - Text [ en-US ] = "~Search for:"; - }; - Edit ED_FIND - { - HelpID = "sw:Edit:DLG_MM_MERGE_PAGE:ED_FIND"; - Pos = MAP_APPFONT ( 65 ,114 ) ; - Size = MAP_APPFONT ( 130 , 12 ) ; - Border = TRUE; - }; - PushButton PB_FIND - { - HelpID = "sw:PushButton:DLG_MM_MERGE_PAGE:PB_FIND"; - Pos = MAP_APPFONT ( 198 ,113 ) ; - Size = MAP_APPFONT ( 50 , 14 ) ; - Text [ en-US ] = "~Find..."; - }; - CheckBox CB_WHOLEWORDS - { - HelpID = "sw:CheckBox:DLG_MM_MERGE_PAGE:CB_WHOLEWORDS"; - Pos = MAP_APPFONT ( 65 , 131 ) ; - Size = MAP_APPFONT ( 180 , 10 ) ; - Text [ en-US ] = "Whole wor~ds only"; - }; - CheckBox CB_BACKWARDS - { - HelpID = "sw:CheckBox:DLG_MM_MERGE_PAGE:CB_BACKWARDS"; - Pos = MAP_APPFONT ( 65 , 144 ) ; - Size = MAP_APPFONT ( 180 , 10 ) ; - Text [ en-US ] = "Back~wards"; - }; - CheckBox CB_MATCHCASE - { - HelpID = "sw:CheckBox:DLG_MM_MERGE_PAGE:CB_MATCHCASE"; - Pos = MAP_APPFONT ( 65 , 157 ) ; - Size = MAP_APPFONT ( 180 , 10 ) ; - Text [ en-US ] = "Ma~tch case"; - }; -}; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/uiconfig/swriter/ui/mmmergepage.ui b/sw/uiconfig/swriter/ui/mmmergepage.ui new file mode 100644 index 000000000000..d5799ee9ead6 --- /dev/null +++ b/sw/uiconfig/swriter/ui/mmmergepage.ui @@ -0,0 +1,263 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.16.1 --> +<interface> + <requires lib="gtk+" version="3.0"/> + <!-- interface-requires LibreOffice 1.0 --> + <object class="GtkBox" id="MMMergePage"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="border_width">6</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child> + <object class="GtkFrame" id="frame1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="top_padding">6</property> + <property name="left_padding">12</property> + <child> + <object class="GtkGrid" id="grid1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">12</property> + <child> + <object class="GtkGrid" id="grid3"> + <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="helplabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="xalign">0</property> + <property name="yalign">0</property> + <property name="label" translatable="yes">You can personalize particular documents. Clicking '%1' will temporarily reduce the wizard to a small window so you can edit your document. After editing the document, return to the wizard by clicking 'Return to Mail Merge Wizard' in the small window.</property> + <property name="wrap">True</property> + <property name="max_width_chars">56</property> + </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="GtkButton" id="edit"> + <property name="label" translatable="yes">_Edit individual document...</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="halign">center</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </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> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Personalize the mail merge documents</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkFrame" id="frame2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="top_padding">6</property> + <property name="left_padding">12</property> + <child> + <object class="GtkGrid" id="grid2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">6</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkButton" id="find"> + <property name="label" translatable="yes">_Find...</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="left_attach">2</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Search for:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">entry</property> + </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="swlo-ReturnActionEdit" id="entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="wholewords"> + <property name="label" translatable="yes">Whole wor_ds only</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="backwards"> + <property name="label" translatable="yes">Back_wards</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="matchcase"> + <property name="label" translatable="yes">Ma_tch case</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">3</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Find</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> +</interface> |