diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-10-11 20:34:32 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-10-12 10:10:20 +0100 |
commit | 4dc6e29dd6c531dc9c867bc75ef0128a78d99f33 (patch) | |
tree | be99d278decdcc2e531f5a732f05f3fe9fcdf8bd /sd | |
parent | 0bd4ae07ae99bf030a3f775b8e16db58f7d2cdba (diff) |
convert impress/draw navigator to .ui
Change-Id: I75164f6878f53dc1382f3802b594914b1637e545
Diffstat (limited to 'sd')
-rw-r--r-- | sd/AllLangResTarget_sd.mk | 1 | ||||
-rw-r--r-- | sd/UIConfig_simpress.mk | 1 | ||||
-rw-r--r-- | sd/inc/helpids.h | 11 | ||||
-rw-r--r-- | sd/source/ui/app/res_bmp.src | 24 | ||||
-rw-r--r-- | sd/source/ui/app/strings.src | 5 | ||||
-rw-r--r-- | sd/source/ui/dlg/NavigatorChildWindow.cxx | 5 | ||||
-rw-r--r-- | sd/source/ui/dlg/navigatr.cxx | 330 | ||||
-rw-r--r-- | sd/source/ui/dlg/navigatr.src | 131 | ||||
-rw-r--r-- | sd/source/ui/dlg/sdtreelb.cxx | 31 | ||||
-rw-r--r-- | sd/source/ui/inc/navigatr.hrc | 37 | ||||
-rw-r--r-- | sd/source/ui/inc/navigatr.hxx | 12 | ||||
-rw-r--r-- | sd/source/ui/inc/res_bmp.hrc | 4 | ||||
-rw-r--r-- | sd/source/ui/inc/sdtreelb.hxx | 3 | ||||
-rw-r--r-- | sd/source/ui/inc/strings.hrc | 3 | ||||
-rw-r--r-- | sd/source/ui/sidebar/NavigatorWrapper.cxx | 1 | ||||
-rw-r--r-- | sd/uiconfig/simpress/ui/navigatorpanel.ui | 155 |
16 files changed, 316 insertions, 438 deletions
diff --git a/sd/AllLangResTarget_sd.mk b/sd/AllLangResTarget_sd.mk index 673a842ccb6b..60e20040856e 100644 --- a/sd/AllLangResTarget_sd.mk +++ b/sd/AllLangResTarget_sd.mk @@ -34,7 +34,6 @@ $(eval $(call gb_SrsTarget_add_files,sd/res,\ sd/source/ui/app/sdstring.src \ sd/source/ui/app/strings.src \ sd/source/ui/app/toolbox.src \ - sd/source/ui/dlg/navigatr.src \ sd/source/ui/slideshow/slideshow.src \ sd/source/ui/view/DocumentRenderer.src \ )) diff --git a/sd/UIConfig_simpress.mk b/sd/UIConfig_simpress.mk index 6232d5fb59c6..160d3a303256 100644 --- a/sd/UIConfig_simpress.mk +++ b/sd/UIConfig_simpress.mk @@ -120,6 +120,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/simpress,\ sd/uiconfig/simpress/ui/interactiondialog \ sd/uiconfig/simpress/ui/interactionpage \ sd/uiconfig/simpress/ui/masterlayoutdlg \ + sd/uiconfig/simpress/ui/navigatorpanel \ sd/uiconfig/simpress/ui/notebookbar \ sd/uiconfig/simpress/ui/optimpressgeneralpage \ sd/uiconfig/simpress/ui/photoalbum \ diff --git a/sd/inc/helpids.h b/sd/inc/helpids.h index fdc48b228890..a65f356b831a 100644 --- a/sd/inc/helpids.h +++ b/sd/inc/helpids.h @@ -23,17 +23,6 @@ #define HID_SDDRAWVIEWSHELL "SD_HID_SDDRAWVIEWSHELL" #define HID_SDGRAPHICVIEWSHELL "SD_HID_SDGRAPHICVIEWSHELL" #define HID_SDOUTLINEVIEWSHELL "SD_HID_SDOUTLINEVIEWSHELL" -#define HID_SD_WIN_DOCUMENT "SD_HID_SD_WIN_DOCUMENT" -#define HID_SD_NAVIGATOR_TLB "SD_HID_SD_NAVIGATOR_TLB" -#define HID_SD_NAVIGATOR "SD_HID_SD_NAVIGATOR" -#define HID_SD_NAVIGATOR_TBX "SD_HID_SD_NAVIGATOR_TBX" -#define HID_SD_NAVIGATOR_LB "SD_HID_SD_NAVIGATOR_LB" -#define HID_SD_NAVIGATOR_TBI_FIRST "SD_HID_SD_NAVIGATOR_TBI_FIRST" -#define HID_SD_NAVIGATOR_TBI_PREV "SD_HID_SD_NAVIGATOR_TBI_PREV" -#define HID_SD_NAVIGATOR_TBI_NEXT "SD_HID_SD_NAVIGATOR_TBI_NEXT" -#define HID_SD_NAVIGATOR_TBI_LAST "SD_HID_SD_NAVIGATOR_TBI_LAST" -#define HID_SD_NAVIGATOR_TBI_DRAGTYPE "SD_HID_SD_NAVIGATOR_TBI_DRAGTYPE" -#define HID_SD_NAVIGATOR_TBI_SHAPE_FILTER "SD_HID_SD_NAVIGATOR_TBI_SHAPE_FILTER" // tool boxes #define HID_SD_DRAW_TOOLBOX "SD_HID_SD_DRAW_TOOLBOX" diff --git a/sd/source/ui/app/res_bmp.src b/sd/source/ui/app/res_bmp.src index d9c2f4af8a9c..0719ce166e18 100644 --- a/sd/source/ui/app/res_bmp.src +++ b/sd/source/ui/app/res_bmp.src @@ -857,4 +857,28 @@ Bitmap BMP_PRESENTATION_MINIMIZER File = "minimize_presi_80.png"; }; +Image IMG_EMBEDDED +{ + ImageBitmap = Bitmap + { + File = "nv08.png" ; + }; +}; + +Image IMG_LINK +{ + ImageBitmap = Bitmap + { + File = "nv09.png" ; + }; +}; + +Image IMG_HYPERLINK +{ + ImageBitmap = Bitmap + { + File = "nv010.png" ; + }; +}; + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/app/strings.src b/sd/source/ui/app/strings.src index c939eb5ed2a3..08ef9635679b 100644 --- a/sd/source/ui/app/strings.src +++ b/sd/source/ui/app/strings.src @@ -1257,4 +1257,9 @@ String STR_INSERT_3D_MODEL_ALL_SUPPORTED_FORMATS Text [ en-US ] = "All supported formats"; }; +String STR_OBJECTS_TREE +{ + Text [ en-US ] = "Page Tree"; +}; + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/dlg/NavigatorChildWindow.cxx b/sd/source/ui/dlg/NavigatorChildWindow.cxx index 8a30766ed79b..4f55f39f13ca 100644 --- a/sd/source/ui/dlg/NavigatorChildWindow.cxx +++ b/sd/source/ui/dlg/NavigatorChildWindow.cxx @@ -20,10 +20,10 @@ #include "NavigatorChildWindow.hxx" #include "navigatr.hxx" #include "app.hrc" -#include "navigatr.hrc" #include <sfx2/app.hxx> #include <sfx2/bindings.hxx> #include <sfx2/dispatch.hxx> +#include <sfx2/navigat.hxx> #include <svl/eitem.hxx> namespace sd { @@ -56,6 +56,9 @@ NavigatorChildWindow::NavigatorChildWindow ( pNavWin->SetUpdateRequestFunctor( [pBindings] () { return RequestNavigatorUpdate(pBindings); }); + if (SfxNavigator* pNav = dynamic_cast<SfxNavigator*>(pParent)) + pNav->SetMinOutputSizePixel(pNavWin->GetOptimalSize()); + SetWindow( pNavWin ); } diff --git a/sd/source/ui/dlg/navigatr.cxx b/sd/source/ui/dlg/navigatr.cxx index 225e5c78f15d..084fdaf2fc03 100644 --- a/sd/source/ui/dlg/navigatr.cxx +++ b/sd/source/ui/dlg/navigatr.cxx @@ -40,7 +40,6 @@ #include "pres.hxx" #include "navigatr.hxx" -#include "navigatr.hrc" #include "pgjump.hxx" #include "app.hrc" #include "strings.hrc" @@ -63,46 +62,35 @@ static const sal_uInt16 nShowAllShapesFilter=2; /** * SdNavigatorWin - FloatingWindow */ -SdNavigatorWin::SdNavigatorWin( - vcl::Window* pParent, - SfxBindings* pInBindings) - : vcl::Window( pParent, SdResId(FLT_NAVIGATOR) ) - , maToolbox ( VclPtr<ToolBox>::Create( this, SdResId( 1 ) ) ) - , maTlbObjects( VclPtr<SdPageObjsTLB>::Create( this, SdResId( TLB_OBJECTS ) ) ) - , maLbDocs ( VclPtr<ListBox>::Create( this, SdResId( LB_DOCS ) ) ) +SdNavigatorWin::SdNavigatorWin(vcl::Window* pParent, SfxBindings* pInBindings) + : PanelLayout(pParent, "NavigatorPanel", "modules/simpress/ui/navigatorpanel.ui", nullptr) , mbDocImported ( false ) // On changes of the DragType: adjust SelectionMode of TLB! , meDragType ( NAVIGATOR_DRAGTYPE_EMBEDDED ) , mpBindings ( pInBindings ) , mpNavigatorCtrlItem( nullptr ) , mpPageNameCtrlItem( nullptr ) - , maImageList ( SdResId( IL_NAVIGATR ) ) { - maTlbObjects->SetViewFrame( mpBindings->GetDispatcher()->GetFrame() ); + get(maToolbox, "toolbox"); + get(maTlbObjects, "tree"); + Size aSize(maTlbObjects->LogicToPixel(Size(97, 67), MapUnit::MapAppFont)); + maTlbObjects->set_height_request(aSize.Width()); + maTlbObjects->set_width_request(aSize.Height()); + get(maLbDocs, "documents"); - FreeResource(); + maTlbObjects->SetViewFrame( mpBindings->GetDispatcher()->GetFrame() ); maTlbObjects->SetAccessibleName(SD_RESSTR(STR_OBJECTS_TREE)); - ApplyImageList(); // load images *before* calculating sizes to get something useful !!! - - Size aTbxSize( maToolbox->CalcWindowSizePixel() ); - maToolbox->SetOutputSizePixel( aTbxSize ); maToolbox->SetSelectHdl( LINK( this, SdNavigatorWin, SelectToolboxHdl ) ); maToolbox->SetDropdownClickHdl( LINK(this, SdNavigatorWin, DropdownClickToolBoxHdl) ); - maToolbox->SetItemBits( TBI_DRAGTYPE, maToolbox->GetItemBits( TBI_DRAGTYPE ) | ToolBoxItemBits::DROPDOWNONLY ); + const sal_uInt16 nDragTypeId = maToolbox->GetItemId("dragmode"); + maToolbox->SetItemBits(nDragTypeId, maToolbox->GetItemBits(nDragTypeId) | ToolBoxItemBits::DROPDOWNONLY); // Shape filter drop down menu. - maToolbox->SetItemBits( - TBI_SHAPE_FILTER, - maToolbox->GetItemBits(TBI_SHAPE_FILTER) | ToolBoxItemBits::DROPDOWNONLY); - - // TreeListBox - // set position below toolbox - long nListboxYPos = maToolbox->GetPosPixel().Y() + maToolbox->GetSizePixel().Height() + 4; - maTlbObjects->setPosSizePixel( 0, nListboxYPos, 0, 0, PosSizeFlags::Y ); - maTlbObjects->SetDoubleClickHdl( LINK( this, SdNavigatorWin, ClickObjectHdl ) ); - maTlbObjects->SetSelectionMode( SelectionMode::Single ); + const sal_uInt16 nShapeId = maToolbox->GetItemId("shapes"); + maToolbox->SetItemBits(nShapeId, maToolbox->GetItemBits(nShapeId) | ToolBoxItemBits::DROPDOWNONLY); + // set focus to listbox, otherwise it is in the toolbox which is only useful // for keyboard navigation maTlbObjects->GrabFocus(); @@ -110,43 +98,12 @@ SdNavigatorWin::SdNavigatorWin( // DragTypeListBox maLbDocs->SetSelectHdl( LINK( this, SdNavigatorWin, SelectDocumentHdl ) ); - // set position below treelistbox - nListboxYPos = maTlbObjects->GetPosPixel().Y() + maTlbObjects->GetSizePixel().Height() + 4; - maLbDocs->setPosSizePixel( 0, nListboxYPos, 0, 0, PosSizeFlags::Y ); - - // assure that tool box is at least as wide as the tree list box - { - const Size aTlbSize( maTlbObjects->GetOutputSizePixel() ); - if ( aTlbSize.Width() > aTbxSize.Width() ) - { - maToolbox->setPosSizePixel( 0, 0, aTlbSize.Width(), 0, PosSizeFlags::Width ); - aTbxSize = maToolbox->GetOutputSizePixel(); - } - } - - // set min outputsize after all sizes are known - const long nFullHeight = nListboxYPos + maLbDocs->GetSizePixel().Height() + 4; - maSize = GetOutputSizePixel(); - if( maSize.Height() < nFullHeight ) - { - maSize.Height() = nFullHeight; - SetOutputSizePixel( maSize ); - } - maMinSize = maSize; - const long nMinWidth = 2*maToolbox->GetPosPixel().X() + aTbxSize.Width(); // never clip the toolbox - if( nMinWidth > maMinSize.Width() ) - maMinSize.Width() = nMinWidth; - maMinSize.Height() -= 40; - SfxDockingWindow* pDockingParent = dynamic_cast<SfxDockingWindow*>(GetParent()); - if (pDockingParent != nullptr) - pDockingParent->SetMinOutputSizePixel( maMinSize ); - } void SdNavigatorWin::SetUpdateRequestFunctor(const UpdateRequestFunctor& rUpdateRequest) { - mpNavigatorCtrlItem = new SdNavigatorControllerItem( SID_NAVIGATOR_STATE, this, mpBindings, rUpdateRequest); - mpPageNameCtrlItem = new SdPageNameControllerItem( SID_NAVIGATOR_PAGENAME, this, mpBindings); + mpNavigatorCtrlItem = new SdNavigatorControllerItem(SID_NAVIGATOR_STATE, this, mpBindings, rUpdateRequest); + mpPageNameCtrlItem = new SdPageNameControllerItem(SID_NAVIGATOR_PAGENAME, this, mpBindings); // InitTlb; is initiated over Slot if (rUpdateRequest) @@ -160,12 +117,12 @@ SdNavigatorWin::~SdNavigatorWin() void SdNavigatorWin::dispose() { - DELETEZ( mpNavigatorCtrlItem ); - DELETEZ( mpPageNameCtrlItem ); - maToolbox.disposeAndClear(); - maTlbObjects.disposeAndClear(); - maLbDocs.disposeAndClear(); - vcl::Window::dispose(); + DELETEZ(mpNavigatorCtrlItem); + DELETEZ(mpPageNameCtrlItem); + maToolbox.clear(); + maTlbObjects.clear(); + maLbDocs.clear(); + PanelLayout::dispose(); } //when object is marked , fresh the corresponding entry tree . @@ -206,10 +163,11 @@ void SdNavigatorWin::InitTreeLB( const SdDrawDocument* pDoc ) // Disable the shape filter drop down menu when there is a running slide // show. + const sal_uInt16 nShapeId = maToolbox->GetItemId("shapes"); if (pViewShell!=nullptr && sd::SlideShow::IsRunning( pViewShell->GetViewShellBase() )) - maToolbox->EnableItem(TBI_SHAPE_FILTER, false); + maToolbox->EnableItem(nShapeId, false); else - maToolbox->EnableItem(TBI_SHAPE_FILTER); + maToolbox->EnableItem(nShapeId); if( !maTlbObjects->IsEqualToDoc( pDoc ) ) { @@ -265,18 +223,19 @@ sd::DrawDocShell* SdNavigatorWin::GetDrawDocShell( const SdDrawDocument* pDoc ) IMPL_LINK_NOARG(SdNavigatorWin, SelectToolboxHdl, ToolBox *, void) { sal_uInt16 nId = maToolbox->GetCurItemId(); + const OUString sCommand = maToolbox->GetItemCommand(nId); PageJump ePage = PAGE_NONE; - if( nId == TBI_FIRST ) + if (sCommand == "first") ePage = PAGE_FIRST; - else if( nId == TBI_PREVIOUS ) + else if (sCommand == "previous") ePage = PAGE_PREVIOUS; - else if( nId == TBI_NEXT ) + else if (sCommand == "next") ePage = PAGE_NEXT; - else if( nId == TBI_LAST ) + else if (sCommand == "last") ePage = PAGE_LAST; - if( ePage != PAGE_NONE ) + if (ePage != PAGE_NONE) { SfxUInt16Item aItem( SID_NAVIGATOR_PAGE, (sal_uInt16)ePage ); mpBindings->GetDispatcher()->ExecuteList(SID_NAVIGATOR_PAGE, @@ -287,73 +246,68 @@ IMPL_LINK_NOARG(SdNavigatorWin, SelectToolboxHdl, ToolBox *, void) IMPL_LINK( SdNavigatorWin, DropdownClickToolBoxHdl, ToolBox*, pBox, void ) { sal_uInt16 nId = maToolbox->GetCurItemId(); + const OUString sCommand = maToolbox->GetItemCommand(nId); - switch( nId ) + if (sCommand == "dragmode") { - case TBI_DRAGTYPE: - { - // Popup menu is created depending if the document is saved or not - ScopedVclPtrInstance<PopupMenu> pMenu; - - static const char* aHIDs[] = - { - HID_SD_NAVIGATOR_MENU1, - HID_SD_NAVIGATOR_MENU2, - HID_SD_NAVIGATOR_MENU3, - nullptr - }; - - for (sal_uInt16 nID = NAVIGATOR_DRAGTYPE_URL; nID < NAVIGATOR_DRAGTYPE_COUNT; ++nID) - { - sal_uInt16 nRId = GetDragTypeSdResId( (NavigatorDragType)nID, false ); - if( nRId > 0 ) - { - DBG_ASSERT(aHIDs[nID-NAVIGATOR_DRAGTYPE_URL],"HelpId not added!"); - pMenu->InsertItem(nID, SD_RESSTR(nRId), MenuItemBits::RADIOCHECK); - pMenu->SetHelpId(nID, aHIDs[nID - NAVIGATOR_DRAGTYPE_URL]); - } + // Popup menu is created depending if the document is saved or not + ScopedVclPtrInstance<PopupMenu> pMenu; - } - NavDocInfo* pInfo = GetDocInfo(); + static const char* aHIDs[] = + { + HID_SD_NAVIGATOR_MENU1, + HID_SD_NAVIGATOR_MENU2, + HID_SD_NAVIGATOR_MENU3, + nullptr + }; - if( ( pInfo && !pInfo->HasName() ) || !maTlbObjects->IsLinkableSelected() ) + for (sal_uInt16 nID = NAVIGATOR_DRAGTYPE_URL; nID < NAVIGATOR_DRAGTYPE_COUNT; ++nID) + { + sal_uInt16 nRId = GetDragTypeSdResId( (NavigatorDragType)nID, false ); + if( nRId > 0 ) { - pMenu->EnableItem( NAVIGATOR_DRAGTYPE_LINK, false ); - pMenu->EnableItem( NAVIGATOR_DRAGTYPE_URL, false ); - meDragType = NAVIGATOR_DRAGTYPE_EMBEDDED; + DBG_ASSERT(aHIDs[nID-NAVIGATOR_DRAGTYPE_URL],"HelpId not added!"); + pMenu->InsertItem(nID, SD_RESSTR(nRId), MenuItemBits::RADIOCHECK); + pMenu->SetHelpId(nID, aHIDs[nID - NAVIGATOR_DRAGTYPE_URL]); } - pMenu->CheckItem( (sal_uInt16)meDragType ); - pMenu->SetSelectHdl( LINK( this, SdNavigatorWin, MenuSelectHdl ) ); - - pMenu->Execute( this, maToolbox->GetItemRect( nId ), PopupMenuFlags::ExecuteDown ); - pBox->EndSelection(); } - break; + NavDocInfo* pInfo = GetDocInfo(); - case TBI_SHAPE_FILTER: + if( ( pInfo && !pInfo->HasName() ) || !maTlbObjects->IsLinkableSelected() ) { - ScopedVclPtrInstance<PopupMenu> pMenu; - - pMenu->InsertItem( - nShowNamedShapesFilter, - SD_RESSTR(STR_NAVIGATOR_SHOW_NAMED_SHAPES), - MenuItemBits::RADIOCHECK); - pMenu->InsertItem( - nShowAllShapesFilter, - SD_RESSTR(STR_NAVIGATOR_SHOW_ALL_SHAPES), - MenuItemBits::RADIOCHECK); - - if (maTlbObjects->GetShowAllShapes()) - pMenu->CheckItem(nShowAllShapesFilter); - else - pMenu->CheckItem(nShowNamedShapesFilter); - pMenu->SetSelectHdl( LINK( this, SdNavigatorWin, ShapeFilterCallback ) ); - - pMenu->Execute( this, maToolbox->GetItemRect( nId ), PopupMenuFlags::ExecuteDown ); - pBox->EndSelection(); + pMenu->EnableItem( NAVIGATOR_DRAGTYPE_LINK, false ); + pMenu->EnableItem( NAVIGATOR_DRAGTYPE_URL, false ); + meDragType = NAVIGATOR_DRAGTYPE_EMBEDDED; } - break; + + pMenu->CheckItem( (sal_uInt16)meDragType ); + pMenu->SetSelectHdl( LINK( this, SdNavigatorWin, MenuSelectHdl ) ); + + pMenu->Execute( this, maToolbox->GetItemRect( nId ), PopupMenuFlags::ExecuteDown ); + pBox->EndSelection(); + } + else if (sCommand == "shapes") + { + ScopedVclPtrInstance<PopupMenu> pMenu; + + pMenu->InsertItem( + nShowNamedShapesFilter, + SD_RESSTR(STR_NAVIGATOR_SHOW_NAMED_SHAPES), + MenuItemBits::RADIOCHECK); + pMenu->InsertItem( + nShowAllShapesFilter, + SD_RESSTR(STR_NAVIGATOR_SHOW_ALL_SHAPES), + MenuItemBits::RADIOCHECK); + + if (maTlbObjects->GetShowAllShapes()) + pMenu->CheckItem(nShowAllShapesFilter); + else + pMenu->CheckItem(nShowNamedShapesFilter); + pMenu->SetSelectHdl( LINK( this, SdNavigatorWin, ShapeFilterCallback ) ); + + pMenu->Execute( this, maToolbox->GetItemRect( nId ), PopupMenuFlags::ExecuteDown ); + pBox->EndSelection(); } } @@ -518,43 +472,6 @@ IMPL_LINK( SdNavigatorWin, ShapeFilterCallback, Menu *, pMenu, bool ) return false; } -void SdNavigatorWin::Resize() -{ - Size aWinSize( GetOutputSizePixel() ); - if( aWinSize.Height() >= maMinSize.Height() ) - //aWinSize.Width() >= maMinSize.Width() ) - { - Size aDiffSize; - aDiffSize.Width() = aWinSize.Width() - maSize.Width(); - aDiffSize.Height() = aWinSize.Height() - maSize.Height(); - - // change size of Toolbox - Size aObjSize( maToolbox->GetOutputSizePixel() ); - aObjSize.Width() += aDiffSize.Width(); - maToolbox->SetOutputSizePixel( aObjSize ); - - // change size of TreeLB - aObjSize = maTlbObjects->GetSizePixel(); - aObjSize.Width() += aDiffSize.Width(); - aObjSize.Height() = maLbDocs->GetPosPixel().Y() + aDiffSize.Height() - - maTlbObjects->GetPosPixel().Y() - 4; - maTlbObjects->SetSizePixel( aObjSize ); - - Point aPt( 0, aDiffSize.Height() ); - - // move other controls (DocumentLB) - maLbDocs->Hide(); - aObjSize = maLbDocs->GetOutputSizePixel(); - aObjSize.Width() += aDiffSize.Width(); - maLbDocs->SetPosPixel( maLbDocs->GetPosPixel() + aPt ); - maLbDocs->SetOutputSizePixel( aObjSize ); - maLbDocs->Show(); - - maSize = aWinSize; - } - Window::Resize(); -} - bool SdNavigatorWin::InsertFile(const OUString& rFileName) { INetURLObject aURL( rFileName ); @@ -703,11 +620,11 @@ sal_uInt16 SdNavigatorWin::GetDragTypeSdResId( NavigatorDragType eDT, bool bImag case NAVIGATOR_DRAGTYPE_NONE: return( bImage ? 0 : STR_NONE ); case NAVIGATOR_DRAGTYPE_URL: - return( bImage ? TBI_HYPERLINK : STR_DRAGTYPE_URL ); + return( bImage ? IMG_HYPERLINK : STR_DRAGTYPE_URL ); case NAVIGATOR_DRAGTYPE_EMBEDDED: - return( bImage ? TBI_EMBEDDED : STR_DRAGTYPE_EMBEDDED ); + return( bImage ? IMG_EMBEDDED : STR_DRAGTYPE_EMBEDDED ); case NAVIGATOR_DRAGTYPE_LINK: - return( bImage ? TBI_LINK : STR_DRAGTYPE_LINK ); + return( bImage ? IMG_LINK : STR_DRAGTYPE_LINK ); default: OSL_FAIL( "No resource for DragType available!" ); } return 0; @@ -798,26 +715,10 @@ void SdNavigatorWin::KeyInput( const KeyEvent& rKEvt ) } } -void SdNavigatorWin::DataChanged( const DataChangedEvent& rDCEvt ) -{ - if ( (rDCEvt.GetType() == DataChangedEventType::SETTINGS) && (rDCEvt.GetFlags() & AllSettingsFlags::STYLE) ) - ApplyImageList(); - - Window::DataChanged( rDCEvt ); -} - void SdNavigatorWin::SetDragImage() { - maToolbox->SetItemImage( TBI_DRAGTYPE, maToolbox->GetImageList().GetImage( GetDragTypeSdResId( meDragType, true ) ) ); -} - -void SdNavigatorWin::ApplyImageList() -{ - - maToolbox->SetImageList( maImageList ); - maToolbox->SetItemImage(TBI_SHAPE_FILTER, Image(BitmapEx(SdResId(BMP_GRAPHIC)))); - - SetDragImage(); + const sal_uInt16 nDragTypeId = maToolbox->GetItemId("dragmode"); + maToolbox->SetItemImage(nDragTypeId, Image(SdResId(GetDragTypeSdResId(meDragType, true)))); } /** @@ -846,39 +747,44 @@ void SdNavigatorControllerItem::StateChanged( sal_uInt16 nSId, NavDocInfo* pInfo = pNavigatorWin->GetDocInfo(); if( pInfo && pInfo->IsActive() ) { + sal_uInt16 nFirstId = pNavigatorWin->maToolbox->GetItemId("first"); + sal_uInt16 nPrevId = pNavigatorWin->maToolbox->GetItemId("previous"); + sal_uInt16 nLastId = pNavigatorWin->maToolbox->GetItemId("last"); + sal_uInt16 nNextId = pNavigatorWin->maToolbox->GetItemId("next"); + // First - if( nState & NavState::BtnFirstEnabled && - !pNavigatorWin->maToolbox->IsItemEnabled( TBI_FIRST ) ) - pNavigatorWin->maToolbox->EnableItem( TBI_FIRST ); - if( nState & NavState::BtnFirstDisabled && - pNavigatorWin->maToolbox->IsItemEnabled( TBI_FIRST ) ) - pNavigatorWin->maToolbox->EnableItem( TBI_FIRST, false ); + if (nState & NavState::BtnFirstEnabled && + !pNavigatorWin->maToolbox->IsItemEnabled(nFirstId)) + pNavigatorWin->maToolbox->EnableItem(nFirstId); + if (nState & NavState::BtnFirstDisabled && + pNavigatorWin->maToolbox->IsItemEnabled(nFirstId)) + pNavigatorWin->maToolbox->EnableItem(nFirstId, false); // Prev - if( nState & NavState::BtnPrevEnabled && - !pNavigatorWin->maToolbox->IsItemEnabled( TBI_PREVIOUS ) ) - pNavigatorWin->maToolbox->EnableItem( TBI_PREVIOUS ); - if( nState & NavState::BtnPrevDisabled && - pNavigatorWin->maToolbox->IsItemEnabled( TBI_PREVIOUS ) ) - pNavigatorWin->maToolbox->EnableItem( TBI_PREVIOUS, false ); + if (nState & NavState::BtnPrevEnabled && + !pNavigatorWin->maToolbox->IsItemEnabled(nPrevId)) + pNavigatorWin->maToolbox->EnableItem(nPrevId); + if (nState & NavState::BtnPrevDisabled && + pNavigatorWin->maToolbox->IsItemEnabled(nPrevId)) + pNavigatorWin->maToolbox->EnableItem(nPrevId, false); // Last - if( nState & NavState::BtnLastEnabled && - !pNavigatorWin->maToolbox->IsItemEnabled( TBI_LAST ) ) - pNavigatorWin->maToolbox->EnableItem( TBI_LAST ); - if( nState & NavState::BtnLastDisabled && - pNavigatorWin->maToolbox->IsItemEnabled( TBI_LAST ) ) - pNavigatorWin->maToolbox->EnableItem( TBI_LAST, false ); + if (nState & NavState::BtnLastEnabled && + !pNavigatorWin->maToolbox->IsItemEnabled(nLastId)) + pNavigatorWin->maToolbox->EnableItem(nLastId); + if (nState & NavState::BtnLastDisabled && + pNavigatorWin->maToolbox->IsItemEnabled(nLastId)) + pNavigatorWin->maToolbox->EnableItem(nLastId, false); // Next - if( nState & NavState::BtnNextEnabled && - !pNavigatorWin->maToolbox->IsItemEnabled( TBI_NEXT ) ) - pNavigatorWin->maToolbox->EnableItem( TBI_NEXT ); - if( nState & NavState::BtnNextDisabled && - pNavigatorWin->maToolbox->IsItemEnabled( TBI_NEXT ) ) - pNavigatorWin->maToolbox->EnableItem( TBI_NEXT, false ); - - if( nState & NavState::TableUpdate ) + if (nState & NavState::BtnNextEnabled && + !pNavigatorWin->maToolbox->IsItemEnabled(nNextId)) + pNavigatorWin->maToolbox->EnableItem(nNextId); + if (nState & NavState::BtnNextDisabled && + pNavigatorWin->maToolbox->IsItemEnabled(nNextId)) + pNavigatorWin->maToolbox->EnableItem(nNextId, false); + + if (nState & NavState::TableUpdate) { // InitTlb; is initiated by Slot if (maUpdateRequest) diff --git a/sd/source/ui/dlg/navigatr.src b/sd/source/ui/dlg/navigatr.src deleted file mode 100644 index 27895096b822..000000000000 --- a/sd/source/ui/dlg/navigatr.src +++ /dev/null @@ -1,131 +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 "navigatr.hrc" -#include "helpids.h" -#include "res_bmp.hrc" -#define BUTTON_WIDTH 13 -#define BUTTON_COUNT 7 -Window FLT_NAVIGATOR -{ - HelpId = HID_SD_NAVIGATOR ; - Size = MAP_APPFONT ( 12 + BUTTON_WIDTH * BUTTON_COUNT , 105 ) ; - Text = "Navigator" ; - SVLook = TRUE ; - DialogControl = TRUE; - Control TLB_OBJECTS - { - HelpId = HID_SD_NAVIGATOR_TLB ; - Border = TRUE ; - Pos = MAP_APPFONT ( 3 , 20 ) ; - Size = MAP_APPFONT ( 6 + BUTTON_WIDTH * BUTTON_COUNT , 67 ) ; - TabStop = TRUE ; - }; - ToolBox 1 - { - HelpId = HID_SD_NAVIGATOR_TBX ; - SVLook = TRUE ; - Pos = MAP_APPFONT ( 3 , 3 ) ; - Size = MAP_APPFONT ( 6 + BUTTON_WIDTH , 15 ) ; - TabStop = TRUE ; - ItemList = - { - ToolBoxItem - { - Identifier = TBI_FIRST ; - HelpId = HID_SD_NAVIGATOR_TBI_FIRST ; - Text [ en-US ] = "First Slide" ; - }; - ToolBoxItem - { - Identifier = TBI_PREVIOUS ; - HelpId = HID_SD_NAVIGATOR_TBI_PREV ; - Text [ en-US ] = "Previous Slide" ; - }; - ToolBoxItem - { - Identifier = TBI_NEXT ; - HelpId = HID_SD_NAVIGATOR_TBI_NEXT ; - Text [ en-US ] = "Next Slide" ; - }; - ToolBoxItem - { - Identifier = TBI_LAST ; - HelpId = HID_SD_NAVIGATOR_TBI_LAST ; - Text [ en-US ] = "Last Slide" ; - }; - ToolBoxItem - { - Type = TOOLBOXITEM_SEPARATOR ; - }; - ToolBoxItem - { - Identifier = TBI_DRAGTYPE ; - HelpId = HID_SD_NAVIGATOR_TBI_DRAGTYPE ; - DropDown = TRUE ; - Text [ en-US ] = "Drag Mode" ; - }; - ToolBoxItem - { - Identifier = TBI_SHAPE_FILTER ; - HelpId = HID_SD_NAVIGATOR_TBI_SHAPE_FILTER ; - DropDown = TRUE ; - Text [ en-US ] = "Show Shapes" ; - }; - }; - }; - ListBox LB_DOCS - { - HelpId = HID_SD_NAVIGATOR_LB ; - Border = TRUE ; - Pos = MAP_APPFONT ( 3 , 89 ) ; - Size = MAP_APPFONT ( 6 + BUTTON_WIDTH * BUTTON_COUNT , 90 ) ; - TabStop = TRUE ; - DropDown = TRUE ; - QuickHelpText [ en-US ] = "Documents" ; - }; - - #define NAVIGATR_IDLIST \ - IdList = \ - { \ - TBI_FIRST ; \ - TBI_PREVIOUS ; \ - TBI_NEXT ; \ - TBI_LAST ; \ - TBI_EMBEDDED ; \ - TBI_LINK ; \ - TBI_HYPERLINK ; \ - }; \ - IdCount = { 8 ; }; - - #define IMAGE_STDBTN_COLOR Color { Red = 0xff00; Green = 0x0000; Blue = 0xff00; } - - ImageList IL_NAVIGATR - { - Prefix = "nv"; - NAVIGATR_IDLIST - }; -}; - -String STR_OBJECTS_TREE -{ - Text [ en-US ] = "Page Tree"; -}; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/dlg/sdtreelb.cxx b/sd/source/ui/dlg/sdtreelb.cxx index 0b5c6c44e889..c210ac4988d0 100644 --- a/sd/source/ui/dlg/sdtreelb.cxx +++ b/sd/source/ui/dlg/sdtreelb.cxx @@ -192,37 +192,6 @@ SotClipboardFormatId SdPageObjsTLB::SdPageObjsTransferable::GetListBoxDropFormat return mnListBoxDropFormatId; } -SdPageObjsTLB::SdPageObjsTLB( vcl::Window* pParentWin, const SdResId& rSdResId ) -: SvTreeListBox ( pParentWin, rSdResId ) -, bisInSdNavigatorWin ( false ) -, mpParent ( pParentWin ) -, mpDoc ( nullptr ) -, mpBookmarkDoc ( nullptr ) -, mpMedium ( nullptr ) -, mpOwnMedium ( nullptr ) -, maImgOle ( BitmapEx( SdResId( BMP_OLE ) ) ) -, maImgGraphic ( BitmapEx( SdResId( BMP_GRAPHIC ) ) ) -, mbLinkableSelected ( false ) -, mpDropNavWin ( nullptr ) -, mpFrame ( nullptr ) -, mbSaveTreeItemState ( false ) -, mbShowAllShapes ( false ) -, mbShowAllPages ( false ) -{ - // add lines to Tree-ListBox - SetStyle( GetStyle() | WB_TABSTOP | WB_BORDER | WB_HASLINES | - WB_HASBUTTONS | // WB_HASLINESATROOT | - WB_HSCROLL | - WB_HASBUTTONSATROOT | - WB_QUICK_SEARCH /* i31275 */ ); - SetNodeBitmaps( Image(Bitmap( SdResId(BMP_EXPAND) )), - Image(Bitmap( SdResId(BMP_COLLAPSE) ))); - - SetDragDropMode( - DragDropMode::CTRL_MOVE | DragDropMode::CTRL_COPY | - DragDropMode::APP_MOVE | DragDropMode::APP_COPY | DragDropMode::APP_DROP ); -} - SdPageObjsTLB::SdPageObjsTLB( vcl::Window* pParentWin, WinBits nStyle ) : SvTreeListBox ( pParentWin, nStyle ) , bisInSdNavigatorWin ( false ) diff --git a/sd/source/ui/inc/navigatr.hrc b/sd/source/ui/inc/navigatr.hrc deleted file mode 100644 index 1dce27251d79..000000000000 --- a/sd/source/ui/inc/navigatr.hrc +++ /dev/null @@ -1,37 +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 . - */ -#define FLT_NAVIGATOR 575 -#define STR_OBJECTS_TREE (FLT_NAVIGATOR+1) -#define TLB_OBJECTS 1 -#define TBI_FIRST 3 -#define TBI_PREVIOUS 4 -#define TBI_NEXT 5 -#define TBI_LAST 6 -#define TBI_DRAGTYPE 7 -#define TBI_EMBEDDED 8 -#define TBI_LINK 9 -#define TBI_HYPERLINK 10 -#define TBI_SHAPE_FILTER 11 - -#define LB_DOCS 1 - -#define IL_NAVIGATR 333 -#define STR_DRAGMODE 1 - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/inc/navigatr.hxx b/sd/source/ui/inc/navigatr.hxx index 830c3cd844a5..419a1441e3db 100644 --- a/sd/source/ui/inc/navigatr.hxx +++ b/sd/source/ui/inc/navigatr.hxx @@ -24,6 +24,7 @@ #include <vcl/lstbox.hxx> #include <vcl/toolbox.hxx> #include <sfx2/ctrlitem.hxx> +#include <svx/sidebar/PanelLayout.hxx> #include "sdtreelb.hxx" #include "pres.hxx" @@ -75,8 +76,7 @@ private: ::sd::DrawDocShell* mpDocShell; }; -class SdNavigatorWin - : public vcl::Window +class SdNavigatorWin : public PanelLayout { public: typedef ::std::function<void ()> UpdateRequestFunctor; @@ -103,7 +103,6 @@ public: NavigatorDragType GetNavigatorDragType(); protected: - virtual void Resize() override; virtual bool Notify(NotifyEvent& rNEvt) override; private: @@ -115,8 +114,6 @@ private: VclPtr<SdPageObjsTLB> maTlbObjects; VclPtr<ListBox> maLbDocs; - Size maSize; - Size maMinSize; bool mbDocImported; OUString maDropFileName; NavigatorDragType meDragType; @@ -125,8 +122,6 @@ private: SdNavigatorControllerItem* mpNavigatorCtrlItem; SdPageNameControllerItem* mpPageNameCtrlItem; - ImageList maImageList; - /** This flag controls whether all shapes or only the named shapes are shown. */ @@ -142,9 +137,8 @@ private: DECL_LINK( MenuSelectHdl, Menu *, bool ); DECL_LINK( ShapeFilterCallback, Menu *, bool ); - virtual void DataChanged( const DataChangedEvent& rDCEvt ) override; void SetDragImage(); - void ApplyImageList(); + public: //when object is marked , fresh the corresponding entry tree . static sd::DrawDocShell* GetDrawDocShell(const SdDrawDocument*); diff --git a/sd/source/ui/inc/res_bmp.hrc b/sd/source/ui/inc/res_bmp.hrc index 91ab0e0efebb..955abfded17a 100644 --- a/sd/source/ui/inc/res_bmp.hrc +++ b/sd/source/ui/inc/res_bmp.hrc @@ -209,4 +209,8 @@ #define RID_GRAPHICSTYLEFAMILY RID_APP_START+395 #define RID_PRESENTATIONSTYLEFAMILY RID_APP_START+396 +#define IMG_EMBEDDED RID_APP_START+397 +#define IMG_LINK RID_APP_START+398 +#define IMG_HYPERLINK RID_APP_START+399 + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/inc/sdtreelb.hxx b/sd/source/ui/inc/sdtreelb.hxx index ee00a4a8c677..a7c12d720414 100644 --- a/sd/source/ui/inc/sdtreelb.hxx +++ b/sd/source/ui/inc/sdtreelb.hxx @@ -181,8 +181,7 @@ protected: public: - SdPageObjsTLB( vcl::Window* pParent, const SdResId& rSdResId ); - SdPageObjsTLB( vcl::Window* pParent, WinBits nStyle ); + SdPageObjsTLB(vcl::Window* pParent, WinBits nStyle); virtual ~SdPageObjsTLB() override; virtual void dispose() override; diff --git a/sd/source/ui/inc/strings.hrc b/sd/source/ui/inc/strings.hrc index 37dd9c4bdfe6..769e18845370 100644 --- a/sd/source/ui/inc/strings.hrc +++ b/sd/source/ui/inc/strings.hrc @@ -392,8 +392,7 @@ #define STR_TASKPANEL_PREPARING_PREVIEW_SUBSTITUTION (RID_APP_START+712) #define STR_TASKPANEL_LAYOUT_MENU_TITLE (RID_APP_START+713) #define STR_GRAPHICS_STYLE_FAMILY (RID_APP_START+715) - -// free +#define STR_OBJECTS_TREE (RID_APP_START+716) #define STR_CELL_STYLE_FAMILY (RID_APP_START+717) #define STR_NAVIGATOR_SHOW_NAMED_SHAPES (RID_APP_START+718) diff --git a/sd/source/ui/sidebar/NavigatorWrapper.cxx b/sd/source/ui/sidebar/NavigatorWrapper.cxx index deedf7a417f1..7ab817b751a9 100644 --- a/sd/source/ui/sidebar/NavigatorWrapper.cxx +++ b/sd/source/ui/sidebar/NavigatorWrapper.cxx @@ -18,7 +18,6 @@ */ #include "NavigatorWrapper.hxx" -#include "navigatr.hrc" #include "ViewShellBase.hxx" #include <sfx2/sidebar/Theme.hxx> diff --git a/sd/uiconfig/simpress/ui/navigatorpanel.ui b/sd/uiconfig/simpress/ui/navigatorpanel.ui new file mode 100644 index 000000000000..93e454ad20c6 --- /dev/null +++ b/sd/uiconfig/simpress/ui/navigatorpanel.ui @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.20.0 --> +<interface> + <requires lib="gtk+" version="3.0"/> + <object class="GtkGrid" id="NavigatorPanel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <child> + <object class="GtkGrid"> + <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="row_spacing">6</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkComboBox" id="documents"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="tooltip_text" translatable="yes">Document</property> + <child internal-child="accessible"> + <object class="AtkObject" id="documents-atkobject"> + <property name="AtkObject::accessible-name" translatable="yes">Active Window</property> + </object> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="sdlo-SdPageObjsTLB" id="tree:border"> + <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="SdPageObjsTLB-selection1"/> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkToolbar" id="toolbox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="toolbar_style">icons</property> + <child> + <object class="GtkToolButton" id="first"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="tooltip_text" translatable="yes">First Slide</property> + <property name="action_name">first</property> + <property name="icon_name">sd/imglst/nv03.png</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="previous"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="tooltip_text" translatable="yes">Previous Slide</property> + <property name="action_name">previous</property> + <property name="icon_name">sd/imglst/nv04.png</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="next"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="tooltip_text" translatable="yes">Next Slide</property> + <property name="action_name">next</property> + <property name="icon_name">sd/imglst/nv05.png</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="last"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="tooltip_text" translatable="yes">Last Slide</property> + <property name="action_name">last</property> + <property name="icon_name">sd/imglst/nv06.png</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkSeparatorToolItem" id="separator"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkMenuToolButton" id="dragmode"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="tooltip_text" translatable="yes">Drag Mode</property> + <property name="action_name">dragmode</property> + <property name="icon_name">sc/imglst/na09.png</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkMenuToolButton" id="shapes"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="tooltip_text" translatable="yes">Show Shapes</property> + <property name="action_name">shapes</property> + <property name="icon_name">sd/res/graphic.png</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> +</interface> |