Kaydet (Commit) 4d814ec1 authored tarafından Armin Le Grand's avatar Armin Le Grand Kaydeden (comit) Michael Meeks

Related: #i122111# Adapted pState usages in NotifyItemUpdate methods

adapted control positioning in PosSizePanel

(cherry picked from commit 76e55d0f)

Conflicts:
	svx/source/sidebar/area/AreaPropertyPanel.cxx
	svx/source/sidebar/area/AreaPropertyPanel.hxx

Change-Id: I5762c5208259ca071decebcc937bfaab8e0464b2
üst a7597105
...@@ -116,10 +116,6 @@ private: ...@@ -116,10 +116,6 @@ private:
::boost::scoped_ptr< XFillGradientItem > mpFillGradientItem; ::boost::scoped_ptr< XFillGradientItem > mpFillGradientItem;
::boost::scoped_ptr< XFillHatchItem > mpHatchItem; ::boost::scoped_ptr< XFillHatchItem > mpHatchItem;
::boost::scoped_ptr< XFillBitmapItem > mpBitmapItem; ::boost::scoped_ptr< XFillBitmapItem > mpBitmapItem;
::boost::scoped_ptr< SvxColorListItem > mpColorListItem;
::boost::scoped_ptr< SvxGradientListItem > mpGradientListItem;
::boost::scoped_ptr< SvxHatchListItem > mpHatchListItem;
::boost::scoped_ptr< SvxBitmapListItem > mpBitmapListItem;
::sfx2::sidebar::ControllerItem maStyleControl; ::sfx2::sidebar::ControllerItem maStyleControl;
::sfx2::sidebar::ControllerItem maColorControl; ::sfx2::sidebar::ControllerItem maColorControl;
...@@ -154,7 +150,6 @@ private: ...@@ -154,7 +150,6 @@ private:
SfxBindings* mpBindings; SfxBindings* mpBindings;
/// bitfield /// bitfield
bool mbTBShow : 1;
bool mbColorAvail : 1; bool mbColorAvail : 1;
DECL_LINK(SelectFillTypeHdl, ListBox* ); DECL_LINK(SelectFillTypeHdl, ListBox* );
......
...@@ -700,9 +700,9 @@ void LinePropertyPanel::NotifyItemUpdate( ...@@ -700,9 +700,9 @@ void LinePropertyPanel::NotifyItemUpdate(
break; break;
} }
} }
}
mpLBCapStyle->SetNoSelection(); mpLBCapStyle->SetNoSelection();
}
break; break;
} }
} }
......
...@@ -99,6 +99,16 @@ PosSizePropertyPanel::PosSizePropertyPanel( ...@@ -99,6 +99,16 @@ PosSizePropertyPanel::PosSizePropertyPanel(
mxFrame(rxFrame), mxFrame(rxFrame),
maContext(), maContext(),
mpBindings(pBindings), 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), mbMtrPosXMirror(false),
mbSizeProtected(false), mbSizeProtected(false),
mbPositionProtected(false), mbPositionProtected(false),
...@@ -106,7 +116,6 @@ PosSizePropertyPanel::PosSizePropertyPanel( ...@@ -106,7 +116,6 @@ PosSizePropertyPanel::PosSizePropertyPanel(
mbAutoHeight(false), mbAutoHeight(false),
mbAdjustEnabled(false), mbAdjustEnabled(false),
mbIsFlip(false), mbIsFlip(false),
mbInDestructor(false),
mxSidebar(rxSidebar) mxSidebar(rxSidebar)
{ {
Initialize(); Initialize();
...@@ -122,8 +131,6 @@ PosSizePropertyPanel::PosSizePropertyPanel( ...@@ -122,8 +131,6 @@ PosSizePropertyPanel::PosSizePropertyPanel(
PosSizePropertyPanel::~PosSizePropertyPanel() PosSizePropertyPanel::~PosSizePropertyPanel()
{ {
mbInDestructor = true;
// Destroy the background windows of the toolboxes. // Destroy the background windows of the toolboxes.
mpFlipTbx.reset(); mpFlipTbx.reset();
mpFlipTbxBackground.reset(); mpFlipTbxBackground.reset();
...@@ -285,6 +292,46 @@ void PosSizePropertyPanel::DataChanged( ...@@ -285,6 +292,46 @@ void PosSizePropertyPanel::DataChanged(
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( void PosSizePropertyPanel::HandleContextChange(
const ::sfx2::sidebar::EnumContext aContext) const ::sfx2::sidebar::EnumContext aContext)
{ {
...@@ -332,6 +379,7 @@ void PosSizePropertyPanel::HandleContextChange( ...@@ -332,6 +379,7 @@ void PosSizePropertyPanel::HandleContextChange(
nLayoutMode = 3; nLayoutMode = 3;
break; break;
} }
switch (nLayoutMode) switch (nLayoutMode)
{ {
case 0: case 0:
...@@ -355,11 +403,8 @@ void PosSizePropertyPanel::HandleContextChange( ...@@ -355,11 +403,8 @@ void PosSizePropertyPanel::HandleContextChange(
mpFlipTbx->SetOutputSizePixel( aTbxSize ); mpFlipTbx->SetOutputSizePixel( aTbxSize );
mbIsFlip = true; mbIsFlip = true;
mpFtWidth->SetPosPixel(Point(LogicToPixel(Point(FT_POSITION_X_X,FT_POSITION_X_Y), MAP_APPFONT))); AdaptWidthHeightScalePosition(false);
mpMtrWidth->SetPosPixel(Point(LogicToPixel(Point(MF_POSITION_X_X,MF_POSITION_X_Y), MAP_APPFONT))); AdaptAngleFlipDialPosition(false);
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)));
mpFtAngle->SetPosPixel(Point(LogicToPixel(Point(FT_ANGLE_X,FT_ANGLE_Y), MAP_APPFONT))); 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))); mpMtrAngle->SetPosPixel(Point(LogicToPixel(Point(MF_ANGLE_X2,MF_ANGLE_Y2), MAP_APPFONT)));
...@@ -394,11 +439,8 @@ void PosSizePropertyPanel::HandleContextChange( ...@@ -394,11 +439,8 @@ void PosSizePropertyPanel::HandleContextChange(
mpFtFlip->Hide(); mpFtFlip->Hide();
mbIsFlip = false; mbIsFlip = false;
mpFtWidth->SetPosPixel(Point(LogicToPixel(Point(FT_POSITION_X_X,FT_POSITION_X_Y), MAP_APPFONT))); AdaptWidthHeightScalePosition(false);
mpMtrWidth->SetPosPixel(Point(LogicToPixel(Point(MF_POSITION_X_X,MF_POSITION_X_Y), MAP_APPFONT))); AdaptAngleFlipDialPosition(true);
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)));
Size aSize(GetOutputSizePixel().Width(),PS_SECTIONPAGE_HEIGHT3); Size aSize(GetOutputSizePixel().Width(),PS_SECTIONPAGE_HEIGHT3);
aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) ); aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) );
...@@ -429,6 +471,9 @@ void PosSizePropertyPanel::HandleContextChange( ...@@ -429,6 +471,9 @@ void PosSizePropertyPanel::HandleContextChange(
mpFlipTbx->SetOutputSizePixel( aTbxSize ); mpFlipTbx->SetOutputSizePixel( aTbxSize );
mbIsFlip = true; mbIsFlip = true;
AdaptWidthHeightScalePosition(true);
AdaptAngleFlipDialPosition(true);
Size aSize(GetOutputSizePixel().Width(),PS_SECTIONPAGE_HEIGHT); Size aSize(GetOutputSizePixel().Width(),PS_SECTIONPAGE_HEIGHT);
aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) ); aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) );
SetSizePixel(aSize); SetSizePixel(aSize);
...@@ -456,6 +501,9 @@ void PosSizePropertyPanel::HandleContextChange( ...@@ -456,6 +501,9 @@ void PosSizePropertyPanel::HandleContextChange(
mpFtFlip->Hide(); mpFtFlip->Hide();
mbIsFlip = false; mbIsFlip = false;
AdaptWidthHeightScalePosition(true);
AdaptAngleFlipDialPosition(true);
Size aSize(GetOutputSizePixel().Width(),PS_SECTIONPAGE_HEIGHT4); Size aSize(GetOutputSizePixel().Width(),PS_SECTIONPAGE_HEIGHT4);
aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) ); aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) );
SetSizePixel(aSize); SetSizePixel(aSize);
...@@ -909,7 +957,8 @@ void PosSizePropertyPanel::NotifyItemUpdate( ...@@ -909,7 +957,8 @@ void PosSizePropertyPanel::NotifyItemUpdate(
{ {
sal_uInt16 nMarkObj = 0; sal_uInt16 nMarkObj = 0;
bool isNoEdge = true; bool isNoEdge = true;
while(rMarkList.GetMark(nMarkObj))
while(isNoEdge && rMarkList.GetMark(nMarkObj))
{ {
const SdrObject* pObj = rMarkList.GetMark(nMarkObj)->GetMarkedSdrObj(); const SdrObject* pObj = rMarkList.GetMark(nMarkObj)->GetMarkedSdrObj();
const SdrObjKind eKind((SdrObjKind)pObj->GetObjIdentifier()); const SdrObjKind eKind((SdrObjKind)pObj->GetObjIdentifier());
...@@ -924,6 +973,7 @@ void PosSizePropertyPanel::NotifyItemUpdate( ...@@ -924,6 +973,7 @@ void PosSizePropertyPanel::NotifyItemUpdate(
} }
nMarkObj++; nMarkObj++;
} }
if(!isNoEdge) if(!isNoEdge)
{ {
mpFtAngle->Disable(); mpFtAngle->Disable();
......
...@@ -125,6 +125,18 @@ private: ...@@ -125,6 +125,18 @@ private:
::sfx2::sidebar::EnumContext maContext; ::sfx2::sidebar::EnumContext maContext;
SfxBindings* mpBindings; SfxBindings* mpBindings;
// to remember original positions for restoring these for different layouts
Point maFtWidthOrigPos;
Point maMtrWidthOrigPos;
Point maFtHeightOrigPos;
Point maMtrHeightOrigPos;
Point maCbxScaleOrigPos;
Point maFtAngleOrigPos;
Point maMtrAnglOrigPos;
Point maFlipTbxOrigPos;
Point maDialOrigPos;
Point maFtFlipOrigPos;
/// bitfield /// bitfield
bool mbMtrPosXMirror : 1; bool mbMtrPosXMirror : 1;
bool mbSizeProtected : 1; bool mbSizeProtected : 1;
...@@ -133,7 +145,6 @@ private: ...@@ -133,7 +145,6 @@ private:
bool mbAutoHeight : 1; bool mbAutoHeight : 1;
bool mbAdjustEnabled : 1; bool mbAdjustEnabled : 1;
bool mbIsFlip : 1; bool mbIsFlip : 1;
bool mbInDestructor : 1;
cssu::Reference<css::ui::XSidebar> mxSidebar; cssu::Reference<css::ui::XSidebar> mxSidebar;
...@@ -163,6 +174,8 @@ private: ...@@ -163,6 +174,8 @@ private:
void MetricState( SfxItemState eState, const SfxPoolItem* pState ); void MetricState( SfxItemState eState, const SfxPoolItem* pState );
FieldUnit GetCurrentUnit( SfxItemState eState, const SfxPoolItem* pState ); FieldUnit GetCurrentUnit( SfxItemState eState, const SfxPoolItem* pState );
void DisableControls(); void DisableControls();
void AdaptWidthHeightScalePosition(bool bOriginal);
void AdaptAngleFlipDialPosition(bool bOriginal);
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment