diff options
author | Prashant Pandey <prashant3.yishu@gmail.com> | 2013-07-11 01:14:44 +0530 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2013-07-16 09:49:20 +0200 |
commit | 6867a80c415211895919de2e2a40aa106dfa97fd (patch) | |
tree | 73464fd87e4ab34e5032536b8accb6ea3c455dd8 /svx | |
parent | db610b4a9202a9bb6393b1bcfc7dd56d21bd8112 (diff) |
sidebar: PosSizePropertyPanel conversion to .ui
Change-Id: I18716dec85c257d2df3ed8973591d831b86e018f
Diffstat (limited to 'svx')
-rw-r--r-- | svx/AllLangResTarget_svx.mk | 1 | ||||
-rw-r--r-- | svx/UIConfig_svx.mk | 1 | ||||
-rw-r--r-- | svx/source/sidebar/possize/PosSizePropertyPanel.cxx | 177 | ||||
-rw-r--r-- | svx/source/sidebar/possize/PosSizePropertyPanel.hrc | 102 | ||||
-rw-r--r-- | svx/source/sidebar/possize/PosSizePropertyPanel.hxx | 34 | ||||
-rw-r--r-- | svx/source/sidebar/possize/PosSizePropertyPanel.src | 206 | ||||
-rw-r--r-- | svx/uiconfig/ui/sidebarpossize.ui | 372 |
7 files changed, 427 insertions, 466 deletions
diff --git a/svx/AllLangResTarget_svx.mk b/svx/AllLangResTarget_svx.mk index 270570afc74e..4bd851f25023 100644 --- a/svx/AllLangResTarget_svx.mk +++ b/svx/AllLangResTarget_svx.mk @@ -72,7 +72,6 @@ $(eval $(call gb_SrsTarget_add_files,svx/res,\ svx/source/sidebar/area/AreaPropertyPanel.src \ svx/source/sidebar/graphic/GraphicPropertyPanel.src \ svx/source/sidebar/line/LinePropertyPanel.src \ - svx/source/sidebar/possize/PosSizePropertyPanel.src \ svx/source/sidebar/text/TextPropertyPanel.src \ svx/source/sidebar/paragraph/ParaPropertyPanel.src \ svx/source/sidebar/insert/InsertPropertyPanel.src \ diff --git a/svx/UIConfig_svx.mk b/svx/UIConfig_svx.mk index 74bff0969682..a041697bc28b 100644 --- a/svx/UIConfig_svx.mk +++ b/svx/UIConfig_svx.mk @@ -25,6 +25,7 @@ $(eval $(call gb_UIConfig_add_uifiles,svx,\ svx/uiconfig/ui/sidebararea \ svx/uiconfig/ui/sidebarline \ svx/uiconfig/ui/sidebarparagraph \ + svx/uiconfig/ui/sidebarpossize \ svx/uiconfig/ui/sidebartextpanel \ )) diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx index 20879f1b3d0e..898600626927 100644 --- a/svx/source/sidebar/possize/PosSizePropertyPanel.cxx +++ b/svx/source/sidebar/possize/PosSizePropertyPanel.cxx @@ -19,7 +19,6 @@ #include <sfx2/sidebar/Theme.hxx> #include <sfx2/sidebar/ControlFactory.hxx> #include "PosSizePropertyPanel.hxx" -#include "PosSizePropertyPanel.hrc" #include <svx/sidebar/SidebarDialControl.hxx> #include <svx/dialogs.hrc> #include <svx/dialmgr.hxx> @@ -35,13 +34,17 @@ #include <vcl/field.hxx> #include <vcl/fixed.hxx> #include <vcl/toolbox.hxx> -#include <svx/svdview.hxx> #include <svl/aeitem.hxx> +#include <svx/svdview.hxx> +//#include <svx/uiconfig/ui/sidebarpossize.ui> using namespace css; using namespace cssu; using ::sfx2::sidebar::Theme; +const char UNO_FLIPHORIZONTAL[] = ".uno:FlipHorizontal"; +const char UNO_FLIPVERTICAL[] = ".uno:FlipVertical"; + #define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) #define USERITEM_NAME rtl::OUString::createFromAscii("FitItem") @@ -55,24 +58,7 @@ PosSizePropertyPanel::PosSizePropertyPanel( const cssu::Reference<css::frame::XFrame>& rxFrame, SfxBindings* pBindings, const cssu::Reference<css::ui::XSidebar>& rxSidebar) -: Control( - pParent, - SVX_RES(RID_SIDEBAR_POSSIZE_PANEL)), - mpFtPosX(new FixedText(this, SVX_RES(FT_SBSHAPE_HORIZONTAL))), - mpMtrPosX(new MetricField(this, SVX_RES(MF_SBSHAPE_HORIZONTAL))), - mpFtPosY(new FixedText(this, SVX_RES(FT_SBSHAPE_VERTICAL))), - mpMtrPosY(new MetricField(this, SVX_RES(MF_SBSHAPE_VERTICAL))), - mpFtWidth(new FixedText(this, SVX_RES(FT_WIDTH))), - mpMtrWidth(new MetricField(this, SVX_RES(MTR_FLD_WIDTH))), - mpFtHeight(new FixedText(this, SVX_RES(FT_HEIGHT))), - mpMtrHeight(new MetricField(this, SVX_RES(MTR_FLD_HEIGHT))), - mpCbxScale(new CheckBox(this, SVX_RES(CBX_SCALE))), - mpFtAngle(new FixedText(this, SVX_RES(FT_ANGLE))), - mpMtrAngle(new MetricBox(this, SVX_RES(MTR_FLD_ANGLE))), - mpDial(new SidebarDialControl(this, SVX_RES(DIAL_CONTROL))), - mpFtFlip(new FixedText(this, SVX_RES(FT_FLIP))), - mpFlipTbxBackground(sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this)), - mpFlipTbx(sfx2::sidebar::ControlFactory::CreateToolBox(mpFlipTbxBackground.get(), SVX_RES(TBX_FLIP))), +: PanelLayout(pParent, "PosSizePropertyPanel", "svx/ui/sidebarpossize.ui", rxFrame), maRect(), mpView(0), mlOldWidth(1), @@ -99,16 +85,6 @@ PosSizePropertyPanel::PosSizePropertyPanel( mxFrame(rxFrame), maContext(), mpBindings(pBindings), - maFtWidthOrigPos(mpFtWidth->GetPosPixel()), - maMtrWidthOrigPos(mpMtrWidth->GetPosPixel()), - maFtHeightOrigPos(mpFtHeight->GetPosPixel()), - maMtrHeightOrigPos(mpMtrHeight->GetPosPixel()), - maCbxScaleOrigPos(mpCbxScale->GetPosPixel()), - maFtAngleOrigPos(mpFtAngle->GetPosPixel()), - maMtrAnglOrigPos(mpMtrAngle->GetPosPixel()), - maFlipTbxOrigPos(mpFlipTbx->GetPosPixel()), - maDialOrigPos(mpDial->GetPosPixel()), - maFtFlipOrigPos(mpFtFlip->GetPosPixel()), mbMtrPosXMirror(false), mbSizeProtected(false), mbPositionProtected(false), @@ -118,8 +94,21 @@ PosSizePropertyPanel::PosSizePropertyPanel( mbIsFlip(false), mxSidebar(rxSidebar) { + get( mpFtPosX, "horizontallabel" ); + get( mpMtrPosX, "horizontalpos" ); + get( mpFtPosY, "verticallabel" ); + get( mpMtrPosY, "verticalpos" ); + get( mpFtWidth, "widthlabel" ); + get( mpMtrWidth, "selectwidth" ); + get( mpFtHeight, "heightlabel" ); + get( mpMtrHeight, "selectheight" ); + get( mpCbxScale, "ratio" ); + get( mpFtAngle, "rotationlabel" ); + get( mpMtrAngle, "rotation" ); + get( mpDial, "orientationcontrol" ); + get( mpFtFlip, "fliplabel" ); + get( mpFlipTbx, "selectrotationtype" ); Initialize(); - FreeResource(); mpBindings->Update( SID_ATTR_TRANSFORM_WIDTH ); mpBindings->Update( SID_ATTR_TRANSFORM_HEIGHT ); @@ -131,9 +120,6 @@ PosSizePropertyPanel::PosSizePropertyPanel( PosSizePropertyPanel::~PosSizePropertyPanel() { - // Destroy the background windows of the toolboxes. - mpFlipTbx.reset(); - mpFlipTbxBackground.reset(); } @@ -180,14 +166,7 @@ namespace void PosSizePropertyPanel::Initialize() { - mpFtPosX->SetBackground(Wallpaper()); - mpFtPosY->SetBackground(Wallpaper()); - mpFtWidth->SetBackground(Wallpaper()); - mpFtHeight->SetBackground(Wallpaper()); - mpFtAngle->SetBackground(Wallpaper()); - mpFtFlip->SetBackground(Wallpaper()); - - //Position : Horizontal / Vertical + //Position : Horizontal / Vertical mpMtrPosX->SetModifyHdl( LINK( this, PosSizePropertyPanel, ChangePosXHdl ) ); mpMtrPosY->SetModifyHdl( LINK( this, PosSizePropertyPanel, ChangePosYHdl ) ); mpMtrPosX->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Horizontal"))); //wj acc @@ -212,24 +191,26 @@ void PosSizePropertyPanel::Initialize() //flip: mpFlipTbx->SetSelectHdl( LINK( this, PosSizePropertyPanel, FlipHdl) ); + + const sal_uInt16 nIdFlipHorizontal = mpFlipTbx->GetItemId(UNO_FLIPHORIZONTAL); + const sal_uInt16 nIdFlipVertical = mpFlipTbx->GetItemId(UNO_FLIPVERTICAL); + mpFlipTbx->SetItemImage( - FLIP_HORIZONTAL, + nIdFlipHorizontal, GetImage(mxFrame, A2S(".uno:FlipHorizontal"), sal_False)); mpFlipTbx->SetItemImage( - FLIP_VERTICAL, + nIdFlipVertical, GetImage(mxFrame, A2S(".uno:FlipVertical"), sal_False)); - mpFlipTbx->SetQuickHelpText(FLIP_HORIZONTAL, SVX_RESSTR(STR_QH_HORI_FLIP)); //Add - mpFlipTbx->SetQuickHelpText(FLIP_VERTICAL, SVX_RESSTR(STR_QH_VERT_FLIP)); //Add - - mpMtrPosX->SetAccessibleRelationLabeledBy(mpFtPosX.get()); - mpMtrPosY->SetAccessibleRelationLabeledBy(mpFtPosY.get()); - mpMtrWidth->SetAccessibleRelationLabeledBy(mpFtWidth.get()); - mpMtrHeight->SetAccessibleRelationLabeledBy(mpFtHeight.get()); - mpMtrAngle->SetAccessibleRelationLabeledBy(mpFtAngle.get()); + + mpMtrPosX->SetAccessibleRelationLabeledBy(mpFtPosX); + mpMtrPosY->SetAccessibleRelationLabeledBy(mpFtPosY); + mpMtrWidth->SetAccessibleRelationLabeledBy(mpFtWidth); + mpMtrHeight->SetAccessibleRelationLabeledBy(mpFtHeight); + mpMtrAngle->SetAccessibleRelationLabeledBy(mpFtAngle); #ifdef HAS_IA2 - mpMtrAngle->SetMpSubEditAccLableBy(mpFtAngle.get()); + mpMtrAngle->SetMpSubEditAccLableBy(mpFtAngle); #endif - mpFlipTbx->SetAccessibleRelationLabeledBy(mpFtFlip.get()); + mpFlipTbx->SetAccessibleRelationLabeledBy(mpFtFlip); mpMtrAngle->InsertValue(0, FUNIT_CUSTOM); mpMtrAngle->InsertValue(4500, FUNIT_CUSTOM); @@ -307,48 +288,6 @@ void PosSizePropertyPanel::DataChanged( SetupIcons(); } - - -void PosSizePropertyPanel::AdaptWidthHeightScalePosition(bool bOriginal) -{ - if(bOriginal) - { - mpFtWidth->SetPosPixel(maFtWidthOrigPos); - mpMtrWidth->SetPosPixel(maMtrWidthOrigPos); - mpFtHeight->SetPosPixel(maFtHeightOrigPos); - mpMtrHeight->SetPosPixel(maMtrHeightOrigPos); - mpCbxScale->SetPosPixel(maCbxScaleOrigPos); - } - else - { - mpFtWidth->SetPosPixel(Point(LogicToPixel(Point(FT_POSITION_X_X,FT_POSITION_X_Y), MAP_APPFONT))); - mpMtrWidth->SetPosPixel(Point(LogicToPixel(Point(MF_POSITION_X_X,MF_POSITION_X_Y), MAP_APPFONT))); - mpFtHeight->SetPosPixel(Point(LogicToPixel(Point(FT_POSITION_Y_X,FT_POSITION_Y_Y), MAP_APPFONT))); - mpMtrHeight->SetPosPixel(Point(LogicToPixel(Point(MF_POSITION_Y_X,MF_POSITION_Y_Y), MAP_APPFONT))); - mpCbxScale->SetPosPixel(Point(LogicToPixel(Point(FT_WIDTH_X,FT_WIDTH_Y), MAP_APPFONT))); - } -} - -void PosSizePropertyPanel::AdaptAngleFlipDialPosition(bool bOriginal) -{ - if(bOriginal) - { - mpFtAngle->SetPosPixel(maFtAngleOrigPos); - mpMtrAngle->SetPosPixel(maMtrAnglOrigPos); - mpFlipTbx->SetPosPixel(maFlipTbxOrigPos); - mpDial->SetPosPixel(maDialOrigPos); - mpFtFlip->SetPosPixel(maFtFlipOrigPos); - } - else - { - mpFtAngle->SetPosPixel(Point(LogicToPixel(Point(FT_ANGLE_X,FT_ANGLE_Y), MAP_APPFONT))); - mpMtrAngle->SetPosPixel(Point(LogicToPixel(Point(MF_ANGLE_X2,MF_ANGLE_Y2), MAP_APPFONT))); - mpFlipTbx->SetPosPixel(Point(LogicToPixel(Point(FLIP_HORI_X2,FLIP_HORI_Y2), MAP_APPFONT))); - mpDial->SetPosPixel(Point(LogicToPixel(Point(ROTATE_CONTROL_X2,ROTATE_CONTROL_Y2), MAP_APPFONT))); - mpFtFlip->SetPosPixel(Point(LogicToPixel(Point(FT_FLIP_X2,FT_FLIP_Y2), MAP_APPFONT))); - } -} - void PosSizePropertyPanel::HandleContextChange( const ::sfx2::sidebar::EnumContext aContext) { @@ -416,22 +355,8 @@ void PosSizePropertyPanel::HandleContextChange( //flip mpFtFlip->Show(); mpFlipTbx->Show(); - Size aTbxSize = mpFlipTbx->CalcWindowSizePixel(); - mpFlipTbx->SetOutputSizePixel( aTbxSize ); mbIsFlip = true; - AdaptWidthHeightScalePosition(false); - AdaptAngleFlipDialPosition(false); - - mpFtAngle->SetPosPixel(Point(LogicToPixel(Point(FT_ANGLE_X,FT_ANGLE_Y), MAP_APPFONT))); - mpMtrAngle->SetPosPixel(Point(LogicToPixel(Point(MF_ANGLE_X2,MF_ANGLE_Y2), MAP_APPFONT))); - mpFlipTbx->SetPosPixel(Point(LogicToPixel(Point(FLIP_HORI_X2,FLIP_HORI_Y2), MAP_APPFONT))); - mpDial->SetPosPixel(Point(LogicToPixel(Point(ROTATE_CONTROL_X2,ROTATE_CONTROL_Y2), MAP_APPFONT))); - mpFtFlip->SetPosPixel(Point(LogicToPixel(Point(FT_FLIP_X2,FT_FLIP_Y2), MAP_APPFONT))); - - Size aSize(GetOutputSizePixel().Width(),PS_SECTIONPAGE_HEIGHT2); - aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) ); - SetSizePixel(aSize); if (mxSidebar.is()) mxSidebar->requestLayout(); } @@ -456,12 +381,6 @@ void PosSizePropertyPanel::HandleContextChange( mpFtFlip->Hide(); mbIsFlip = false; - AdaptWidthHeightScalePosition(false); - AdaptAngleFlipDialPosition(true); - - Size aSize(GetOutputSizePixel().Width(),PS_SECTIONPAGE_HEIGHT3); - aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) ); - SetSizePixel(aSize); if (mxSidebar.is()) mxSidebar->requestLayout(); } @@ -484,16 +403,8 @@ void PosSizePropertyPanel::HandleContextChange( //flip mpFlipTbx->Show(); mpFtFlip->Show(); - Size aTbxSize = mpFlipTbx->CalcWindowSizePixel(); - mpFlipTbx->SetOutputSizePixel( aTbxSize ); mbIsFlip = true; - AdaptWidthHeightScalePosition(true); - AdaptAngleFlipDialPosition(true); - - Size aSize(GetOutputSizePixel().Width(),PS_SECTIONPAGE_HEIGHT); - aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) ); - SetSizePixel(aSize); if (mxSidebar.is()) mxSidebar->requestLayout(); } @@ -518,21 +429,11 @@ void PosSizePropertyPanel::HandleContextChange( mpFtFlip->Hide(); mbIsFlip = false; - AdaptWidthHeightScalePosition(true); - AdaptAngleFlipDialPosition(true); - - Size aSize(GetOutputSizePixel().Width(),PS_SECTIONPAGE_HEIGHT4); - aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) ); - SetSizePixel(aSize); if (mxSidebar.is()) mxSidebar->requestLayout(); } break; } - - //Added for windows classic theme - mpFlipTbx->SetBackground(Wallpaper()); - mpFlipTbx->SetPaintTransparent(true); } @@ -670,22 +571,20 @@ IMPL_LINK( PosSizePropertyPanel, RotationHdl, void *, EMPTYARG ) IMPL_LINK( PosSizePropertyPanel, FlipHdl, ToolBox*, pBox ) { - switch (pBox->GetCurItemId()) + const OUString aCommand(pBox->GetItemCommand(pBox->GetCurItemId())); { - case FLIP_HORIZONTAL: + if(aCommand == UNO_FLIPHORIZONTAL) { SfxVoidItem aHoriItem (SID_FLIP_HORIZONTAL); GetBindings()->GetDispatcher()->Execute( SID_FLIP_HORIZONTAL, SFX_CALLMODE_RECORD, &aHoriItem, 0L ); } - break; - case FLIP_VERTICAL: + else if(aCommand == UNO_FLIPVERTICAL) { SfxVoidItem aVertItem (SID_FLIP_VERTICAL ); GetBindings()->GetDispatcher()->Execute( SID_FLIP_VERTICAL, SFX_CALLMODE_RECORD, &aVertItem, 0L ); } - break; } return 0; } diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.hrc b/svx/source/sidebar/possize/PosSizePropertyPanel.hrc deleted file mode 100644 index 249d182fb554..000000000000 --- a/svx/source/sidebar/possize/PosSizePropertyPanel.hrc +++ /dev/null @@ -1,102 +0,0 @@ -/* - * 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 . - */ -// RID_SIDEBAR_POSSIZE_PANEL-------------------------------------------------------------- -#define FT_WIDTH 1 -#define MTR_FLD_WIDTH 2 -#define FT_HEIGHT 3 -#define MTR_FLD_HEIGHT 4 -#define CBX_SCALE 5 -#define FT_SBSHAPE_HORIZONTAL 7 -#define MF_SBSHAPE_HORIZONTAL 8 -#define FT_SBSHAPE_VERTICAL 9 -#define MF_SBSHAPE_VERTICAL 10 -#define FT_SBSHAPE_POSREFERENCE 11 -#define CTL_SBSHAPE_POSREFERENCE 12 -#define FT_ANGLE 13 -#define MTR_FLD_ANGLE 14 -#define TBX_FLIP 15 -#define DIAL_CONTROL 17 -#define FLIP_HORIZONTAL 18 -#define FLIP_VERTICAL 19 -#define FT_FLIP 22 -#define STR_QH_HORI_FLIP 23 -#define STR_QH_VERT_FLIP 24 - -#define MBOX_WIDTH 50 -#define TEXT_WIDTH 40 -#define FLIP_BUTTON_SIZE 13 -#define ALIGNMENT_TBX_HEIGHT 17 -#define ALIGNMENT_TBX_WIDTH 13 - -#define FT_POSITION_X_X SECTIONPAGE_MARGIN_HORIZONTAL -#define FT_POSITION_X_Y SECTIONPAGE_MARGIN_VERTICAL_TOP -#define MF_POSITION_X_X FT_POSITION_X_X -#define MF_POSITION_X_Y FT_POSITION_X_Y + TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL -#define FT_POSITION_Y_X FT_POSITION_X_X + MBOX_WIDTH + CONTROL_SPACING_HORIZONTAL -#define FT_POSITION_Y_Y FT_POSITION_X_Y -#define MF_POSITION_Y_X FT_POSITION_Y_X -#define MF_POSITION_Y_Y MF_POSITION_X_Y - -#define FT_WIDTH_X SECTIONPAGE_MARGIN_HORIZONTAL -#define FT_WIDTH_Y MF_POSITION_X_Y + MBOX_HEIGHT + CONTROL_SPACING_VERTICAL -#define FLD_WIDTH_X FT_WIDTH_X -#define FLD_WIDTH_Y FT_WIDTH_Y + TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL -#define FT_HEIGHT_X FT_WIDTH_X + MBOX_WIDTH + CONTROL_SPACING_HORIZONTAL -#define FT_HEIGHT_Y FT_WIDTH_Y -#define FLD_HEIGHT_X FT_HEIGHT_X -#define FLD_HEIGHT_Y FLD_WIDTH_Y -#define CBX_X FT_WIDTH_X -#define CBX_Y FLD_WIDTH_Y + MBOX_HEIGHT + CONTROL_SPACING_VERTICAL -///////////////////// -#define FT_ROTATION_X FT_WIDTH_X -#define FT_ROTATION_Y CBX_Y + CONTROL_SPACING_VERTICAL + TEXT_HEIGHT - -#define MF_ROTATION_X FT_ROTATION_X + 40 + CONTROL_SPACING_HORIZONTAL -#define MF_ROTATION_Y FT_ROTATION_Y + TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL - -#define ROTATE_CONTROL_X FT_ROTATION_X -#define ROTATE_CONTROL_Y MF_ROTATION_Y + 4 - -#define FT_FLIP_X MF_ROTATION_X -#define FT_FLIP_Y MF_ROTATION_Y + MBOX_HEIGHT + CONTROL_SPACING_VERTICAL + 5 - -#define BTN_FLIP_HORI_X PROPERTYPAGE_WIDTH - SECTIONPAGE_MARGIN_HORIZONTAL - TOOLBOX_ITEM_WIDTH * 2 - 1 // wj for 7926 -#define BTN_FLIP_HORI_Y FT_FLIP_Y - 5 -//////////////////////////////// - -#define FT_ANGLE_X FLD_WIDTH_X -#define FT_ANGLE_Y FLD_WIDTH_Y + 4 - -#define MF_ANGLE_X2 MF_ROTATION_X -#define MF_ANGLE_Y2 FT_ANGLE_Y + TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL - -#define ROTATE_CONTROL_X2 FT_ANGLE_X -#define ROTATE_CONTROL_Y2 MF_ANGLE_Y2 + 4 - -#define FT_FLIP_X2 MF_ANGLE_X2 -#define FT_FLIP_Y2 MF_ANGLE_Y2 + MBOX_HEIGHT + CONTROL_SPACING_VERTICAL + 5 - -#define FLIP_HORI_X2 PROPERTYPAGE_WIDTH - SECTIONPAGE_MARGIN_HORIZONTAL - TOOLBOX_ITEM_WIDTH * 2 //FT_FLIP_X2 + 22 -#define FLIP_HORI_Y2 FT_FLIP_Y2 - 5 - -#define PS_SECTIONPAGE_HEIGHT BTN_FLIP_HORI_Y + ALIGNMENT_TBX_HEIGHT + SECTIONPAGE_MARGIN_VERTICAL_BOT + 2 -#define PS_SECTIONPAGE_HEIGHT2 FLIP_HORI_Y2 + ALIGNMENT_TBX_HEIGHT + SECTIONPAGE_MARGIN_VERTICAL_BOT + 2 -#define PS_SECTIONPAGE_HEIGHT3 FT_WIDTH_Y + TEXT_HEIGHT + SECTIONPAGE_MARGIN_VERTICAL_BOT -#define PS_SECTIONPAGE_HEIGHT4 CBX_Y + CBOX_HEIGHT + SECTIONPAGE_MARGIN_VERTICAL_BOT - -// eof diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.hxx b/svx/source/sidebar/possize/PosSizePropertyPanel.hxx index 29d9289542cb..9ec72cb5ab31 100644 --- a/svx/source/sidebar/possize/PosSizePropertyPanel.hxx +++ b/svx/source/sidebar/possize/PosSizePropertyPanel.hxx @@ -24,6 +24,7 @@ #include <sfx2/sidebar/IContextChangeReceiver.hxx> #include <boost/scoped_ptr.hpp> #include <svx/rectenum.hxx> +#include <svx/sidebar/PanelLayout.hxx> #include <svl/poolitem.hxx> #include <tools/fldunit.hxx> #include <com/sun/star/ui/XSidebar.hpp> @@ -41,7 +42,7 @@ namespace svx { namespace sidebar { class SidebarDialControl; class PosSizePropertyPanel -: public Control, +: public PanelLayout, public ::sfx2::sidebar::IContextChangeReceiver, public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface { @@ -69,29 +70,28 @@ public: private: //Position - ::boost::scoped_ptr< FixedText > mpFtPosX; - ::boost::scoped_ptr< MetricField > mpMtrPosX; - ::boost::scoped_ptr< FixedText > mpFtPosY; - ::boost::scoped_ptr< MetricField > mpMtrPosY; + FixedText* mpFtPosX; + MetricField* mpMtrPosX; + FixedText* mpFtPosY; + MetricField* mpMtrPosY; // size - ::boost::scoped_ptr< FixedText > mpFtWidth; - ::boost::scoped_ptr< MetricField > mpMtrWidth; - ::boost::scoped_ptr< FixedText > mpFtHeight; - ::boost::scoped_ptr< MetricField > mpMtrHeight; - ::boost::scoped_ptr< CheckBox > mpCbxScale; + FixedText* mpFtWidth; + MetricField* mpMtrWidth; + FixedText* mpFtHeight; + MetricField* mpMtrHeight; + CheckBox* mpCbxScale; //rotation - ::boost::scoped_ptr< FixedText > mpFtAngle; - ::boost::scoped_ptr< MetricBox > mpMtrAngle; + FixedText* mpFtAngle; + MetricBox* mpMtrAngle; //rotation control - ::boost::scoped_ptr<SidebarDialControl> mpDial; + SidebarDialControl* mpDial; //flip - ::boost::scoped_ptr< FixedText > mpFtFlip; - ::boost::scoped_ptr< Window > mpFlipTbxBackground; - ::boost::scoped_ptr< ToolBox > mpFlipTbx; + FixedText* mpFtFlip; + ToolBox* mpFlipTbx; // Internal variables Rectangle maRect; @@ -174,8 +174,6 @@ private: void MetricState( SfxItemState eState, const SfxPoolItem* pState ); FieldUnit GetCurrentUnit( SfxItemState eState, const SfxPoolItem* pState ); void DisableControls(); - void AdaptWidthHeightScalePosition(bool bOriginal); - void AdaptAngleFlipDialPosition(bool bOriginal); }; diff --git a/svx/source/sidebar/possize/PosSizePropertyPanel.src b/svx/source/sidebar/possize/PosSizePropertyPanel.src deleted file mode 100644 index df686a56639a..000000000000 --- a/svx/source/sidebar/possize/PosSizePropertyPanel.src +++ /dev/null @@ -1,206 +0,0 @@ -/* - * 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 "PosSizePropertyPanel.hrc" -#include <sfx2/sidebar/ResourceDefinitions.hrc> -#include <svx/dialogs.hrc> -#include "helpid.hrc" - -#define TOOLBOX_HEIGHT 14 - -Control RID_SIDEBAR_POSSIZE_PANEL -{ - OutputSize = TRUE; - DialogControl = TRUE; - Border = FALSE; - - Size = MAP_APPFONT( - PROPERTYPAGE_WIDTH, - BTN_FLIP_HORI_Y + TOOLBOX_HEIGHT + SECTIONPAGE_MARGIN_VERTICAL_BOT); - HelpID = HID_PROPERTYPANEL_POSIZE_SECTION ; - Text = "Position and Size"; - - FixedText FT_WIDTH - { - Pos = MAP_APPFONT ( FT_WIDTH_X, FT_WIDTH_Y ); - Size = MAP_APPFONT ( MBOX_WIDTH , TEXT_HEIGHT) ; - Text [ en-US ] = "~Width:"; - }; - MetricField MTR_FLD_WIDTH - { - Border = TRUE ; - Pos = MAP_APPFONT ( FLD_WIDTH_X, FLD_WIDTH_Y ); - Size = MAP_APPFONT ( MBOX_WIDTH, MBOX_HEIGHT ) ; - QuickHelpText [ en-US ] = "Enter a width for the selected object."; - Repeat = TRUE ; - Spin = TRUE ; - Maximum = 9999 ; - StrictFormat = TRUE ; - Unit = FUNIT_INCH; - Last = 9999 ; - SpinSize = 2 ; - HelpID = HID_PROPERTY_PANEL_POSIZE_MTR_FLD_WIDTH; - }; - FixedText FT_HEIGHT - { - Pos = MAP_APPFONT ( FT_HEIGHT_X, FT_HEIGHT_Y ); - Size = MAP_APPFONT ( MBOX_WIDTH , TEXT_HEIGHT) ; - Text [ en-US ] = "H~eight:"; - }; - MetricField MTR_FLD_HEIGHT - { - Border = TRUE ; - Pos = MAP_APPFONT ( FLD_HEIGHT_X, FLD_HEIGHT_Y ); - Size = MAP_APPFONT ( MBOX_WIDTH + 1, MBOX_HEIGHT ) ; - QuickHelpText [ en-US ] = "Enter a height for the selected object."; - Repeat = TRUE ; - Spin = TRUE ; - Maximum = 9999 ; - StrictFormat = TRUE ; - Unit = FUNIT_INCH; - Last = 9999 ; - SpinSize = 2 ; - HelpID = HID_PROPERTY_PANEL_POSIZE_MTR_FLD_HEIGHT; - }; - CheckBox CBX_SCALE - { - Pos = MAP_APPFONT ( CBX_X , CBX_Y ) ; - Size = MAP_APPFONT ( MBOX_WIDTH + 30 , CBOX_HEIGHT ) ; - TabStop = TRUE ; - Text [ en-US ] = "~Keep ratio" ; - QuickHelpText [ en-US ] = "Maintain proportions when you resize the selected object."; - HelpID = HID_PROPERTY_PANEL_POSIZE_CBX_SCALE; - }; - //------------ Position ------------ - FixedText FT_SBSHAPE_HORIZONTAL - { - Pos = MAP_APPFONT ( FT_POSITION_X_X, FT_POSITION_X_Y ); - Size = MAP_APPFONT ( MBOX_WIDTH , TEXT_HEIGHT) ; - Text [ en-US ] = "~Horizontal:"; - }; - MetricField MF_SBSHAPE_HORIZONTAL - { - Border = TRUE; - Pos = MAP_APPFONT ( MF_POSITION_X_X , MF_POSITION_X_Y ); - Size = MAP_APPFONT ( MBOX_WIDTH, MBOX_HEIGHT ) ; - QuickHelpText [ en-US ] = "Enter the value for the horizontal position."; - TabStop = TRUE; - Repeat = TRUE; - Spin = TRUE; - Minimum = -120000; - Maximum = 240000; - StrictFormat = TRUE; - DecimalDigits = 2; - Unit = FUNIT_MM; - SpinSize = 10; - HelpID = HID_PROPERTY_PANEL_POSIZE_MF_HORIZONTAL; - }; - FixedText FT_SBSHAPE_VERTICAL - { - Pos = MAP_APPFONT ( FT_POSITION_Y_X , FT_POSITION_Y_Y ); - Size = MAP_APPFONT ( MBOX_WIDTH , TEXT_HEIGHT) ; - Text [ en-US ] = "~Vertical:"; - }; - MetricField MF_SBSHAPE_VERTICAL - { - Border = TRUE; - Pos = MAP_APPFONT ( MF_POSITION_Y_X , MF_POSITION_Y_Y ); - Size = MAP_APPFONT ( MBOX_WIDTH, MBOX_HEIGHT ) ; - QuickHelpText [ en-US ] = "Enter the value for the vertical position."; - TabStop = TRUE; - Repeat = TRUE; - Spin = TRUE; - Minimum = -120000; - Maximum = 240000; - StrictFormat = TRUE; - DecimalDigits = 2; - Unit = FUNIT_MM; - SpinSize = 10; - HelpID = HID_PROPERTY_PANEL_POSIZE_MF_VERTICAL; - }; - FixedText FT_ANGLE - { - Pos = MAP_APPFONT ( FT_ROTATION_X , FT_ROTATION_Y ); - Size = MAP_APPFONT ( TEXT_WIDTH + 50, TEXT_HEIGHT) ; - Text [ en-US ] = "~Rotation:"; - }; - - MetricBox MTR_FLD_ANGLE - { - Border = TRUE ; - Pos = MAP_APPFONT ( MF_ROTATION_X , MF_ROTATION_Y ); - Size = MAP_APPFONT ( MBOX_WIDTH + 10, MBOX_HEIGHT ) ; - QuickHelpText [ en-US ] = "Select the angle for rotation."; - Unit = FUNIT_CUSTOM ; - CustomUnitText [ en-US ] = " degrees"; - DecimalDigits = 2; - Minimum = -18000; // set minmun value or it will be 0 as default - TabStop = TRUE ; - DropDown = TRUE ; - HelpID = HID_PROPERTY_PANEL_POSIZE_MTR_FLD_ANGLE; - }; - - FixedText FT_FLIP - { - Pos = MAP_APPFONT ( FT_FLIP_X , FT_FLIP_Y ); - Size = MAP_APPFONT ( PROPERTYPAGE_WIDTH - SECTIONPAGE_MARGIN_HORIZONTAL*2 - 40 - CONTROL_SPACING_HORIZONTAL - TOOLBOX_ITEM_WIDTH * 2 , TEXT_HEIGHT) ;//20 wj - Text [ en-US ] = "~Flip:"; - }; - - ToolBox TBX_FLIP - { - Pos = MAP_APPFONT ( BTN_FLIP_HORI_X , BTN_FLIP_HORI_Y ); - Size = MAP_APPFONT ( TOOLBOX_ITEM_WIDTH * 2, TOOLBOX_HEIGHT); - SVLook = TRUE ; - Border = FALSE ; - HelpID = HID_PROPERTY_PANEL_POSIZE_TBX_FLIP; - Text = "Flip"; - ItemList = - { - ToolBoxItem - { - Identifier = FLIP_VERTICAL ; - Text [ en-US ] = "Flip Vertically" ; - HelpID = HID_PROPERTY_PANEL_POSIZE_FLIP_VERTICAL; - }; - ToolBoxItem - { - Identifier = FLIP_HORIZONTAL ; - Text [ en-US ] = "Flip Horizontally" ; - HelpID = HID_PROPERTY_PANEL_POSIZE_FLIP_HORIZONTAL; - }; - }; - }; - - String STR_QH_HORI_FLIP - { - Text [ en-US ] = "Flip the selected object horizontally."; - }; - String STR_QH_VERT_FLIP - { - Text [ en-US ] = "Flip the selected object vertically."; - }; - - Control DIAL_CONTROL - { - Pos = MAP_APPFONT ( ROTATE_CONTROL_X , ROTATE_CONTROL_Y ); - Size = MAP_PIXEL( 50, 50 ); - HelpID = HID_PROPERTY_PANEL_POSIZE_DIAL_CONTROL; - }; -}; - -// eof diff --git a/svx/uiconfig/ui/sidebarpossize.ui b/svx/uiconfig/ui/sidebarpossize.ui new file mode 100644 index 000000000000..b48aed80928d --- /dev/null +++ b/svx/uiconfig/ui/sidebarpossize.ui @@ -0,0 +1,372 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <!-- interface-requires gtk+ 3.0 --> + <object class="GtkGrid" id="PosSizePropertyPanel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="row_homogeneous">True</property> + <property name="column_homogeneous">True</property> + <child> + <object class="GtkBox" id="box1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child> + <object class="GtkGrid" id="grid1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkBox" id="box2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkLabel" id="widthlabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Width:</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="heightlabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_left">25</property> + <property name="hexpand">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">H_eight:</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkSpinButton" id="selectwidth: FUNIT_INCH"> + <property name="width_request">120</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="tooltip_markup" translatable="yes">Enter a width for the selected object.</property> + <property name="tooltip_text" translatable="yes">Enter a width for the selected object.</property> + <property name="invisible_char">•</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="selectheight: FUNIT_INCH"> + <property name="width_request">120</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="tooltip_markup" translatable="yes">Enter a height for the selected object.</property> + <property name="tooltip_text" translatable="yes">Enter a height for the selected object.</property> + <property name="margin_left">15</property> + <property name="invisible_char">•</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="ratio"> + <property name="label" translatable="yes">_Keep ratio</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="tooltip_markup" translatable="yes">Maintain proportions when you resize the selected object.</property> + <property name="tooltip_text" translatable="yes">Maintain proportions when you resize the selected object.</property> + <property name="margin_top">2</property> + <property name="margin_bottom">2</property> + <property name="action_name">.uno:keepratiocheck</property> + <property name="use_underline">True</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="rotationlabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Rotation:</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">5</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkBox" id="box6"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="svxlo-SidebarDialControl" id="orientationcontrol"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkComboBox" id="rotation: degrees"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="tooltip_markup" translatable="yes">Select the angle for rotation.</property> + <property name="tooltip_text" translatable="yes">Select the angle for rotation.</property> + <property name="margin_left">26</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox" id="flipbox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkLabel" id="fliplabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">_Flip:</property> + <property name="use_underline">True</property> + <property name="justify">right</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkToolbar" id="selectrotationtype"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkToolButton" id="flipvertical"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="tooltip_markup" translatable="yes">Flip the selected object vertically.</property> + <property name="tooltip_text" translatable="yes">Flip the selected object vertically.</property> + <property name="action_name">.uno:FlipVertical </property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="fliphorizontal"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="tooltip_markup" translatable="yes">Flip the selected object horizontally.</property> + <property name="tooltip_text" translatable="yes">Flip the selected object horizontally.</property> + <property name="action_name">.uno:FlipHorizontal</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">6</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box7"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkLabel" id="horizontallabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Horizontal:</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="verticallabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Vertical:</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> + </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="GtkBox" id="box8"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkSpinButton" id="horizontalpos: FUNIT_MM"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="tooltip_markup" translatable="yes">Enter the value for the horizontal position.</property> + <property name="tooltip_text" translatable="yes">Enter the value for the horizontal position.</property> + <property name="invisible_char">•</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="verticalpos: FUNIT_MM"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="tooltip_markup" translatable="yes">Enter the value for the vertical position.</property> + <property name="tooltip_text" translatable="yes">Enter the value for the vertical position.</property> + <property name="margin_left">10</property> + <property name="invisible_char">•</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">1</property> + </packing> + </child> + </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="expand">False</property> + <property name="fill">True</property> + <property name="position">0</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> +</interface> |