namespace sd
{ class DrawDocShell; class ViewShellBase;
}
namespace sd::tools
{ class EventMultiplexerEvent; class SlotStateListener;
}
namespace sd::sidebar
{ class LayoutValueSet;
class LayoutMenu : public PanelLayout, public sfx2::sidebar::ILayoutableWindow
{ public: /** Create a new layout menu. Depending on the given flag it displaysitsownscrollbarorletsasurroundingwindow handlethat. @parami_pParent theparentnodeinthecontroltree @parami_rPanelViewShell theviewshellofthetaskpane.
*/
LayoutMenu(weld::Widget* pParent, ViewShellBase& rViewShellBase,
css::uno::Reference<css::ui::XSidebar> xSidebar); virtual ~LayoutMenu() override;
void Dispose();
/** Return a numerical value representing the currently selected layout.
*/
AutoLayout GetSelectedAutoLayout() const;
// From ILayoutableWindow virtual css::ui::LayoutSize GetHeightForWidth(const sal_Int32 nWidth) override;
/** Call this method when the set of displayed layouts is not up-to-date anymore.Itwillre-assemblethissetaccordingtothecurrent settings.
*/ void InvalidateContent();
/** The context menu is requested over this ShowContextMenu() method.
*/ void ShowContextMenu(const Point* pPos);
/** Call Fill() when switching to or from high contrast mode so that the correctsetoficonsisdisplayed.
*/ virtualvoid DataChanged(const DataChangedEvent& rEvent) override;
/** If we are asked for the preferred window size, then use this manycolumnsforthecalculation.
*/
rtl::Reference<::sd::tools::SlotStateListener> mxListener; bool mbIsMainViewChangePending;
css::uno::Reference<css::ui::XSidebar> mxSidebar; bool mbIsDisposed;
/** Fill the value set with the layouts that are applicable to the currentmainviewshell.
*/ void Fill();
/** Remove all items from the value set.
*/ void Clear();
/** Assign the given layout to all selected slides of a slide sorter. Ifnoslidesorterisactivethenthiscallisignored.Theslide sorterinthecenterpaneispreferredifthechoiceexists.
*/ void AssignLayoutToSelectedSlides(AutoLayout aLayout);
/** Insert a new page with the given layout. The page is inserted via themainviewshell,i.e.itsSID_INSERTPAGEslotiscalled.Ifit doesnotsupportthisslottheninsertinganewpagedoesnottake place.Thenewpageisinsertedafterthecurrentlyactiveone(the onereturnedbyViewShell::GetActualPage().)
*/ void InsertPageWithLayout(AutoLayout aLayout);
/** Create a request structure that can be used with the SID_INSERTPAGE andSID_MODIFYPAGEslots.Theparametersaresetsothatthegiven layoutisassignedtothecurrentpageofthemainviewshell. @paramnSlotId SupportedslotsareSID_INSERTPAGEandSID_MODIFYPAGE. @paramaLayout Layoutofthepagetoinsertortoassign.
*/
SfxRequest CreateRequest(sal_uInt16 nSlotId, AutoLayout aLayout);
/** Select the layout that is used by the current page.
*/ void UpdateSelection();
/** When clicked then set the current page of the view in the center pane.
*/
DECL_LINK(ClickHandler, ValueSet*, void);
DECL_LINK(StateChangeHandler, const OUString&, void);
DECL_LINK(EventMultiplexerListener, ::sd::tools::EventMultiplexerEvent&, void); void OnMenuItemSelected(std::u16string_view ident);
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.