Kaydet (Commit) 12c6caa8 authored tarafından Maxim Monastirsky's avatar Maxim Monastirsky

Kill remaining PseudoSlots usage

Change-Id: I14a820b7c0baba8d8b17d07715bf17c42c73c8fb
TODO: Remove support code from idl and sfx2 modules
Reviewed-on: https://gerrit.libreoffice.org/35718Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMaxim Monastirsky <momonasmon@gmail.com>
üst 3bae306b
......@@ -408,6 +408,125 @@ shell basctl_Shell
// Nur, wenn Dialogfenster oben
SID_CHOOSE_CONTROLS
[
StateMethod = GetState;
]
SID_INSERT_PUSHBUTTON
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_CHECKBOX
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_RADIOBUTTON
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_SPINBUTTON
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_FIXEDTEXT
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_GROUPBOX
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_LISTBOX
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_COMBOBOX
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_EDIT
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_HSCROLLBAR
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_VSCROLLBAR
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_SELECT
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_IMAGECONTROL
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_PROGRESSBAR
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_HFIXEDLINE
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_VFIXEDLINE
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_DATEFIELD
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_TIMEFIELD
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_NUMERICFIELD
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_CURRENCYFIELD
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_FORMATTEDFIELD
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_PATTERNFIELD
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_FILECONTROL
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
]
SID_INSERT_TREECONTROL
[
ExecMethod = ExecuteDialog;
StateMethod = GetState;
......
......@@ -806,6 +806,30 @@ void Shell::GetState(SfxItemSet &rSet)
break;
case SID_CHOOSE_CONTROLS:
case SID_DIALOG_TESTMODE:
case SID_INSERT_SELECT:
case SID_INSERT_PUSHBUTTON:
case SID_INSERT_RADIOBUTTON:
case SID_INSERT_CHECKBOX:
case SID_INSERT_LISTBOX:
case SID_INSERT_COMBOBOX:
case SID_INSERT_GROUPBOX:
case SID_INSERT_EDIT:
case SID_INSERT_FIXEDTEXT:
case SID_INSERT_IMAGECONTROL:
case SID_INSERT_PROGRESSBAR:
case SID_INSERT_HSCROLLBAR:
case SID_INSERT_VSCROLLBAR:
case SID_INSERT_HFIXEDLINE:
case SID_INSERT_VFIXEDLINE:
case SID_INSERT_DATEFIELD:
case SID_INSERT_TIMEFIELD:
case SID_INSERT_NUMERICFIELD:
case SID_INSERT_CURRENCYFIELD:
case SID_INSERT_FORMATTEDFIELD:
case SID_INSERT_PATTERNFIELD:
case SID_INSERT_FILECONTROL:
case SID_INSERT_SPINBUTTON:
case SID_INSERT_TREECONTROL:
case SID_INSERT_FORM_RADIO:
case SID_INSERT_FORM_CHECK:
case SID_INSERT_FORM_LIST:
......@@ -1064,6 +1088,7 @@ void Shell::SetCurWindow( BaseWindow* pNewWin, bool bUpdateTabBar, bool bRemembe
aObjectCatalog->SetCurrentEntry(pCurWin);
SetUndoManager( pCurWin ? pCurWin->GetUndoManager() : nullptr );
InvalidateBasicIDESlots();
InvalidateControlSlots();
EnableScrollbars(pCurWin != nullptr);
if ( m_pCurLocalizationMgr )
......
......@@ -46,7 +46,6 @@
#define basctl_Shell
#define SFX_TYPEMAP
#include <idetemp.hxx>
#include <basslots.hxx>
#ifdef DISABLE_DYNLOADING
......@@ -840,7 +839,7 @@ void Shell::InvalidateBasicIDESlots()
pBindings->Invalidate( SID_BASICIDE_MANAGEBRKPNTS );
pBindings->Invalidate( SID_BASICIDE_ADDWATCH );
pBindings->Invalidate( SID_BASICIDE_REMOVEWATCH );
pBindings->Invalidate( SID_CHOOSE_CONTROLS );
pBindings->Invalidate( SID_PRINTDOC );
pBindings->Invalidate( SID_PRINTDOCDIRECT );
pBindings->Invalidate( SID_SETUPPRINTER );
......@@ -855,6 +854,49 @@ void Shell::InvalidateBasicIDESlots()
}
}
void Shell::InvalidateControlSlots()
{
if (GetShell())
{
if (SfxBindings* pBindings = GetBindingsPtr())
{
pBindings->Invalidate( SID_INSERT_FORM_RADIO );
pBindings->Invalidate( SID_INSERT_FORM_CHECK );
pBindings->Invalidate( SID_INSERT_FORM_LIST );
pBindings->Invalidate( SID_INSERT_FORM_COMBO );
pBindings->Invalidate( SID_INSERT_FORM_VSCROLL );
pBindings->Invalidate( SID_INSERT_FORM_HSCROLL );
pBindings->Invalidate( SID_INSERT_FORM_SPIN );
pBindings->Invalidate( SID_INSERT_SELECT );
pBindings->Invalidate( SID_INSERT_PUSHBUTTON );
pBindings->Invalidate( SID_INSERT_RADIOBUTTON );
pBindings->Invalidate( SID_INSERT_CHECKBOX );
pBindings->Invalidate( SID_INSERT_LISTBOX );
pBindings->Invalidate( SID_INSERT_COMBOBOX );
pBindings->Invalidate( SID_INSERT_GROUPBOX );
pBindings->Invalidate( SID_INSERT_EDIT );
pBindings->Invalidate( SID_INSERT_FIXEDTEXT );
pBindings->Invalidate( SID_INSERT_IMAGECONTROL );
pBindings->Invalidate( SID_INSERT_PROGRESSBAR );
pBindings->Invalidate( SID_INSERT_HSCROLLBAR );
pBindings->Invalidate( SID_INSERT_VSCROLLBAR );
pBindings->Invalidate( SID_INSERT_HFIXEDLINE );
pBindings->Invalidate( SID_INSERT_VFIXEDLINE );
pBindings->Invalidate( SID_INSERT_DATEFIELD );
pBindings->Invalidate( SID_INSERT_TIMEFIELD );
pBindings->Invalidate( SID_INSERT_NUMERICFIELD );
pBindings->Invalidate( SID_INSERT_CURRENCYFIELD );
pBindings->Invalidate( SID_INSERT_FORMATTEDFIELD );
pBindings->Invalidate( SID_INSERT_PATTERNFIELD );
pBindings->Invalidate( SID_INSERT_FILECONTROL );
pBindings->Invalidate( SID_INSERT_SPINBUTTON );
pBindings->Invalidate( SID_INSERT_TREECONTROL );
pBindings->Invalidate( SID_CHOOSE_CONTROLS );
}
}
}
void Shell::EnableScrollbars( bool bEnable )
{
aHScrollBar->Enable(bEnable);
......
/* -*- 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 INCLUDED_BASCTL_SOURCE_BASICIDE_IDETEMP_HXX
#define INCLUDED_BASCTL_SOURCE_BASICIDE_IDETEMP_HXX
enum SvxChooseControlEnum
{
SVX_SNAP_PUSHBUTTON,
SVX_SNAP_CHECKBOX,
SVX_SNAP_RADIOBUTTON,
SVX_SNAP_SPINBUTTON,
SVX_SNAP_FIXEDTEXT,
SVX_SNAP_GROUPBOX,
SVX_SNAP_LISTBOX,
SVX_SNAP_COMBOBOX,
SVX_SNAP_EDIT,
SVX_SNAP_HSCROLLBAR,
SVX_SNAP_VSCROLLBAR,
SVX_SNAP_PREVIEW,
SVX_SNAP_SELECT,
SVX_SNAP_URLBUTTON,
SVX_SNAP_IMAGECONTROL,
SVX_SNAP_PROGRESSBAR,
SVX_SNAP_HFIXEDLINE,
SVX_SNAP_VFIXEDLINE,
SVX_SNAP_DATEFIELD,
SVX_SNAP_TIMEFIELD,
SVX_SNAP_NUMERICFIELD,
SVX_SNAP_CURRENCYFIELD,
SVX_SNAP_FORMATTEDFIELD,
SVX_SNAP_PATTERNFIELD,
SVX_SNAP_FILECONTROL,
SVX_SNAP_TREECONTROL,
};
#define SvxChooseControlItem SfxAllEnumItem
#endif // INCLUDED_BASCTL_SOURCE_BASICIDE_IDETEMP_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -60,6 +60,7 @@ private:
std::unique_ptr<DlgEditor> m_pEditor;
std::unique_ptr<SfxUndoManager> m_pUndoMgr; // never nullptr
OUString m_sCurPath;
sal_uInt16 m_nControlSlotId;
protected:
virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect) override;
......
......@@ -195,6 +195,8 @@ public:
const ScriptDocument& rSourceDoc, const OUString& rSourceLibName, const ScriptDocument& rDestDoc,
const OUString& rDestLibName, const OUString& rDlgName );
static void InvalidateControlSlots();
virtual css::uno::Reference< css::frame::XModel >
GetCurrentDocument() const override;
......
......@@ -129,16 +129,6 @@ enum SvxCellOrientation
SVX_ORIENTATION_STACKED
};
enum SvxDrawAlignEnum
{
SVX_OBJECT_ALIGN_LEFT,
SVX_OBJECT_ALIGN_CENTER,
SVX_OBJECT_ALIGN_RIGHT,
SVX_OBJECT_ALIGN_UP,
SVX_OBJECT_ALIGN_MIDDLE,
SVX_OBJECT_ALIGN_DOWN
};
enum class SvxSpellArea
{
Body = 0,
......
......@@ -116,16 +116,7 @@ interface TableDraw
SID_ATTR_TRANSFORM_AUTOHEIGHT [ StateMethod = GetDrawAttrStateForIFBX; Export = FALSE; ]
// ---- Ausrichtungs - Funktionen:
//! PseudoSlots gibt Aerger mit Referenz-Dialogen ???
SID_OBJECT_ALIGN
[
PseudoSlots = FALSE ;
Export = FALSE ;
ExecMethod = ExecDrawFunc ;
StateMethod = GetDrawFuncState ;
GroupId = GID_FORMAT ;
ToolBoxConfig ;
]
SID_OBJECT_ALIGN [ StateMethod = GetDrawFuncState; Export = FALSE; ]
SID_OBJECT_ALIGN_LEFT [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; Export = FALSE; ]
SID_OBJECT_ALIGN_CENTER [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; Export = FALSE; ]
SID_OBJECT_ALIGN_RIGHT [ ExecMethod = ExecDrawFunc; StateMethod = GetDrawFuncState; Export = FALSE; ]
......
......@@ -100,7 +100,6 @@
#include <svx/sdprcitm.hxx>
#include <svx/sdmetitm.hxx>
#define SvxDrawAlignItem SfxAllEnumItem
#define avmedia_MediaItem ::avmedia::MediaItem
#ifdef DISABLE_DYNLOADING
......
......@@ -241,15 +241,8 @@ void ScDrawShell::ExecDrawFunc( SfxRequest& rReq )
SfxBindings& rBindings = pViewData->GetBindings();
ScTabView* pTabView = pViewData->GetView();
ScDrawView* pView = pTabView->GetScDrawView();
const SfxItemSet *pArgs = rReq.GetArgs();
sal_uInt16 nSlotId = rReq.GetSlot();
//!!!
// wer weiss, wie lange das funktioniert? (->vom Abreisscontrol funktioniert es)
if (nSlotId == SID_OBJECT_ALIGN && pArgs)
nSlotId = SID_OBJECT_ALIGN + static_cast<const SfxEnumItemInterface&>(pArgs->Get(SID_OBJECT_ALIGN)).GetEnumValue() + 1;
switch (nSlotId)
{
case SID_OBJECT_HEAVEN:
......
......@@ -1238,14 +1238,11 @@ interface DrawView
StateMethod = GetMenuState ;
]
SfxVoidItem ObjectAlign SID_OBJECT_ALIGN // ole : no, status : ?
SID_OBJECT_ALIGN // ole : no, status : ?
[
StateMethod = GetMenuState ;
GroupId = GID_DOCUMENT ;
Export ;
PseudoSlots = FALSE ;
ToolBoxConfig ;
MenuConfig = TRUE;
]
SID_ZOOM_TOOLBOX // ole : no, status : ?
......
......@@ -19,10 +19,7 @@
interface Form
{
SID_FM_CONFIG // ole : no, status : ?
[
ExecMethod = Execute ;
StateMethod = GetState ;
]
[]
SID_FM_PUSHBUTTON
[
ExecMethod = Execute ;
......@@ -627,10 +624,7 @@ shell FmFormShell
import Form;
SID_FM_CONFIG // ole : no, status : ?
[
ExecMethod = Execute ;
StateMethod = GetState ;
]
[]
SID_FM_MORE_CONTROLS
[
ExecMethod = Execute ;
......
......@@ -1376,7 +1376,7 @@ SfxBoolItem CheckBox SID_FM_CHECKBOX
]
SvxChooseControlItem ChooseControls SID_CHOOSE_CONTROLS
SfxVoidItem ChooseControls SID_CHOOSE_CONTROLS
[
AutoUpdate = TRUE,
......@@ -1392,8 +1392,6 @@ SvxChooseControlItem ChooseControls SID_CHOOSE_CONTROLS
MenuConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_CONTROLS;
PseudoSlots = TRUE;
PseudoPrefix = SID_INSERT;
]
......@@ -1679,7 +1677,7 @@ SfxBoolItem Combobox SID_INSERT_COMBOBOX
]
SfxUInt16Item Config SID_FM_CONFIG
SfxVoidItem Config SID_FM_CONFIG
[
AutoUpdate = TRUE,
......@@ -1695,8 +1693,6 @@ SfxUInt16Item Config SID_FM_CONFIG
MenuConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_CONTROLS;
PseudoSlots = TRUE;
PseudoPrefix = SID_INSERT;
]
......@@ -1716,8 +1712,6 @@ SfxBoolItem MoreControls SID_FM_MORE_CONTROLS
MenuConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_CONTROLS;
PseudoSlots = TRUE;
PseudoPrefix = SID_INSERT;
]
......@@ -1737,8 +1731,6 @@ SfxBoolItem FormDesignTools SID_FM_FORM_DESIGN_TOOLS
MenuConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_CONTROLS;
PseudoSlots = TRUE;
PseudoPrefix = SID_INSERT;
]
......@@ -5799,7 +5791,7 @@ SfxBoolItem InsertNumericField SID_INSERT_NUMERICFIELD
]
SvxDrawAlignItem ObjectAlign SID_OBJECT_ALIGN
SfxVoidItem ObjectAlign SID_OBJECT_ALIGN
[
AutoUpdate = FALSE,
......@@ -5815,8 +5807,6 @@ SvxDrawAlignItem ObjectAlign SID_OBJECT_ALIGN
MenuConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_FORMAT;
PseudoSlots = TRUE;
PseudoPrefix = SID_OBJECT_ALIGN;
]
......@@ -10838,8 +10828,6 @@ SfxBoolItem ColorSettings SID_COLOR_SETTINGS
MenuConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_MODIFY;
PseudoSlots = TRUE;
PseudoPrefix = SID_INSERT;
]
......
......@@ -42,47 +42,6 @@ enum SvxCellOrientationEnum
SVX_ORIENTATION_STACKED
};
enum SvxChooseControlEnum
{
SVX_SNAP_PUSHBUTTON,
SVX_SNAP_CHECKBOX,
SVX_SNAP_RADIOBUTTON,
SVX_SNAP_SPINBUTTON,
SVX_SNAP_FIXEDTEXT,
SVX_SNAP_GROUPBOX,
SVX_SNAP_LISTBOX,
SVX_SNAP_COMBOBOX,
SVX_SNAP_EDIT,
SVX_SNAP_HSCROLLBAR,
SVX_SNAP_VSCROLLBAR,
SVX_SNAP_PREVIEW,
SVX_SNAP_SELECT,
SVX_SNAP_URLBUTTON,
SVX_SNAP_IMAGECONTROL,
SVX_SNAP_PROGRESSBAR,
SVX_SNAP_HFIXEDLINE,
SVX_SNAP_VFIXEDLINE,
SVX_SNAP_DATEFIELD,
SVX_SNAP_TIMEFIELD,
SVX_SNAP_NUMERICFIELD,
SVX_SNAP_CURRENCYFIELD,
SVX_SNAP_FORMATTEDFIELD,
SVX_SNAP_PATTERNFIELD,
SVX_SNAP_FILECONTROL,
SVX_SNAP_TREECONTROL
};
item SvxChooseControlEnum SvxChooseControlItem;
enum SvxDrawAlignEnum
{
SVX_OBJECT_ALIGN_LEFT,
SVX_OBJECT_ALIGN_CENTER,
SVX_OBJECT_ALIGN_RIGHT,
SVX_OBJECT_ALIGN_UP,
SVX_OBJECT_ALIGN_MIDDLE,
SVX_OBJECT_ALIGN_DOWN
};
enum SvxAdjust
{
SVX_ADJUST_LEFT,
......@@ -228,7 +187,6 @@ item FontItalic SvxPostureItem; // enum
item BOOL SvxPrintItem;
item UINT16 SvxPropSizeItem; // derived from UInt16Item
item BOOL SvxShadowedItem;
item SvxDrawAlignEnum SvxDrawAlignItem;
item BYTE SvxWidowsItem;
item BOOL SvxWordLineModeItem;
item SvxCellHorJustifyEnum SvxHorJustifyItem;
......
......@@ -377,7 +377,6 @@ void FmFormShell::Execute(SfxRequest &rReq)
case SID_FM_SCROLLBAR:
case SID_FM_SPINBUTTON:
m_nLastSlot = nSlot;
GetViewShell()->GetViewFrame()->GetBindings().Invalidate( SID_FM_CONFIG );
break;
}
......@@ -584,7 +583,6 @@ void FmFormShell::Execute(SfxRequest &rReq)
break;
case SID_FM_LEAVE_CREATE:
m_nLastSlot = 0;
GetViewShell()->GetViewFrame()->GetBindings().Invalidate( SID_FM_CONFIG );
rReq.Done();
break;
case SID_FM_SHOW_PROPERTY_BROWSER:
......@@ -659,7 +657,6 @@ void FmFormShell::Execute(SfxRequest &rReq)
rReq.Done();
m_nLastSlot = SID_FM_DESIGN_MODE;
GetViewShell()->GetViewFrame()->GetBindings().Invalidate( SID_FM_CONFIG );
}
break;
......@@ -988,9 +985,6 @@ void FmFormShell::GetState(SfxItemSet &rSet)
if (!m_pFormView || !m_bDesignMode || !GetImpl()->getCurrentForm().is() )
rSet.DisableItem( nWhich );
break;
case SID_FM_CONFIG:
rSet.Put(SfxUInt16Item(nWhich, m_nLastSlot));
break;
case SID_FM_DESIGN_MODE:
if (!m_pFormView || GetImpl()->IsReadonlyDoc() )
rSet.DisableItem( nWhich );
......
......@@ -28,9 +28,44 @@ shell SwDrawBaseShell: SwBaseShell
SID_OBJECT_ALIGN
[
ExecMethod = Execute ;
StateMethod = GetState ;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_OBJECT_ALIGN_LEFT
[
ExecMethod = Execute;
StateMethod = GetState;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_OBJECT_ALIGN_CENTER
[
ExecMethod = Execute;
StateMethod = GetState;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_OBJECT_ALIGN_RIGHT
[
ExecMethod = Execute;
StateMethod = GetState;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_OBJECT_ALIGN_UP
[
ExecMethod = Execute;
StateMethod = GetState;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_OBJECT_ALIGN_MIDDLE
[
ExecMethod = Execute;
StateMethod = GetState;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_OBJECT_ALIGN_DOWN
[
ExecMethod = Execute;
StateMethod = GetState;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
}
......@@ -28,9 +28,44 @@ shell SwWebDrawBaseShell: SwBaseShell
SID_OBJECT_ALIGN
[
ExecMethod = Execute ;
StateMethod = GetState ;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_OBJECT_ALIGN_LEFT
[
ExecMethod = Execute;
StateMethod = GetState;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_OBJECT_ALIGN_CENTER
[
ExecMethod = Execute;
StateMethod = GetState;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_OBJECT_ALIGN_RIGHT
[
ExecMethod = Execute;
StateMethod = GetState;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_OBJECT_ALIGN_UP
[
ExecMethod = Execute;
StateMethod = GetState;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_OBJECT_ALIGN_MIDDLE
[
ExecMethod = Execute;
StateMethod = GetState;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_OBJECT_ALIGN_DOWN
[
ExecMethod = Execute;
StateMethod = GetState;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
}
......@@ -107,14 +107,6 @@ void SwDrawBaseShell::Execute(SfxRequest &rReq)
if(pArgs)
pArgs->GetItemState(nSlotId, false, &pItem);
//Special case align by menu
if(pItem && nSlotId == SID_OBJECT_ALIGN)
{
OSL_ENSURE(dynamic_cast<const SfxEnumItemInterface*>( pItem),"SfxEnumItem expected" );
nSlotId = nSlotId + static_cast<const SfxEnumItemInterface*>(pItem)->GetEnumValue();
nSlotId++;
}
bool bAlignPossible = pSh->IsAlignPossible();
bool bTopParam = true, bBottomParam = true;
......@@ -671,17 +663,15 @@ void SwDrawBaseShell::GetState(SfxItemSet& rSet)
rSet.DisableItem( nWhich );
else
{
SfxAllEnumItem aEnumItem(nWhich, USHRT_MAX);
const SdrMarkList& rMarkList = pSdrView->GetMarkedObjectList();
//if only one object is selected it can only be vertically
// aligned because it is character bound
if( rMarkList.GetMarkCount() == 1 )
{
aEnumItem.DisableValue(SID_OBJECT_ALIGN_LEFT);
aEnumItem.DisableValue(SID_OBJECT_ALIGN_CENTER);
aEnumItem.DisableValue(SID_OBJECT_ALIGN_RIGHT);
rSet.DisableItem(SID_OBJECT_ALIGN_LEFT);
rSet.DisableItem(SID_OBJECT_ALIGN_CENTER);
rSet.DisableItem(SID_OBJECT_ALIGN_RIGHT);
}
rSet.Put(aEnumItem);
}
break;
......
......@@ -122,7 +122,6 @@
#include <svx/drawitem.hxx>
#include <avmedia/mediaitem.hxx>
#define SvxDrawAlignItem SfxAllEnumItem
#define avmedia_MediaItem ::avmedia::MediaItem
#include <svx/xflftrit.hxx>
......
......@@ -1230,15 +1230,8 @@ void SwView::Execute(SfxRequest &rReq)
case SID_ALIGN_ANY_BOTTOM : nAlias = SID_OBJECT_ALIGN_DOWN ; break;
}
}
//special handling for the draw shell
if(nAlias && (m_nSelectionType & (nsSelectionType::SEL_DRW)))
{
SfxAllEnumItem aEnumItem(SID_OBJECT_ALIGN, nAlias - SID_OBJECT_ALIGN_LEFT);
GetViewFrame()->GetDispatcher()->ExecuteList(SID_OBJECT_ALIGN,
SfxCallMode::ASYNCHRON, { &aEnumItem });
}
else if(nAlias)
//these slots are either re-mapped to text or object alignment
if (nAlias)
GetViewFrame()->GetDispatcher()->Execute(
nAlias, SfxCallMode::ASYNCHRON);
}
......
......@@ -428,7 +428,6 @@ void SwView::GetState(SfxItemSet &rSet)
if( !m_pShell )
SelectShell();
sal_uInt16 nAlias = 0;
bool bDraw = false;
if( m_nSelectionType & (nsSelectionType::SEL_DRW_TXT|nsSelectionType::SEL_TXT) )
{
switch( nWhich )
......@@ -442,17 +441,6 @@ void SwView::GetState(SfxItemSet &rSet)
case SID_ALIGN_ANY_BOTTOM : nAlias = SID_TABLE_VERT_BOTTOM; break;
}
}
else if(m_nSelectionType & (nsSelectionType::SEL_DRW))
{
//the draw shell cannot provide a status per item - only one for SID_OBJECT_ALIGN
if(nWhich != SID_ALIGN_ANY_JUSTIFIED)
{
const SfxPoolItem* pItem = nullptr;
GetViewFrame()->GetDispatcher()->QueryState( SID_OBJECT_ALIGN, pItem );
if(pItem)
bDraw = true;
}
}
else
{
switch( nWhich )
......@@ -471,10 +459,13 @@ void SwView::GetState(SfxItemSet &rSet)
GetViewFrame()->GetDispatcher()->QueryState( nAlias, pState );
if(pState)
{
std::unique_ptr<SfxPoolItem> pNewItem(pState->CloneSetWhich(nWhich));
rSet.Put(*pNewItem);
if (!(m_nSelectionType & nsSelectionType::SEL_DRW))
{
std::unique_ptr<SfxPoolItem> pNewItem(pState->CloneSetWhich(nWhich));
rSet.Put(*pNewItem);
}
}
else if(!bDraw)
else
rSet.DisableItem(nWhich);
}
break;
......
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