enumclass EventMultiplexerEventId
{ /** The EventMultiplexer itself is being disposed. Called for a live EventMultiplexer.Removingalistenerasresponseisnotnecessary, though.
*/
Disposing,
/** The selection in the center pane has changed.
*/
EditViewSelection,
/** The selection in the slide sorter has changed, regardless of whether theslidesorterisdisplayedintheleftpaneorthecenterpane.
*/
SlideSortedSelection,
/** The current page has changed.
*/
CurrentPageChanged,
/** The current MainViewShell (the ViewShell displayed in the center pane)hasbeenremoved.
*/
MainViewRemoved,
/** A new ViewShell has been made the MainViewShell.
*/
MainViewAdded,
/** A new ViewShell is being displayed in one of the panes. Note that fortheViewShellinthecenterpaneboththiseventtypeand EventId::MainViewAddedisbroadcasted.
*/
ViewAdded,
/** Edit mode was (or is being) switched to normal mode. Find EventId::EditModeMasterbelow.
*/
EditModeNormal,
/** One or more pages have been inserted into or deleted from the model.
*/
PageOrder,
/** Text editing in one of the shapes in the MainViewShell has started.
*/
BeginTextEdit,
/** Text editing in one of the shapes in the MainViewShell has ended.
*/
EndTextEdit,
/** A UNO controller has been attached to the UNO frame.
*/
ControllerAttached,
/** A UNO controller has been detached to the UNO frame.
*/
ControllerDetached,
/** The state of a shape has changed. The page is available in the user data.
*/
ShapeChanged,
/** A shape has been inserted to a page. The page is available in the userdata.
*/
ShapeInserted,
/** A shape has been removed from a page. The page is available in the userdata.
*/
ShapeRemoved,
/** A configuration update has been completed.
*/
ConfigurationUpdated,
/** Edit mode was (or is being) switched to master mode.
*/
EditModeMaster,
/** Focus shifted between views.
*/
FocusShifted,
};
/** This convenience class makes it easy to listen to various events that originallyarebroadcastedviadifferentchannels.
ThereisusuallyoneEventMultiplexerinstanceperViewShellBase(). CallthelatersGetEventMultiplexer()methodtogetaccesstothat instance.
*/ class EventMultiplexer
{ public: /** Create new EventMultiplexer for the given ViewShellBase object.
*/
EventMultiplexer(ViewShellBase& rBase);
~EventMultiplexer();
/** Add an event listener that will be informed about the specified eventtypes. @paramrCallback Thecallbacktocallassoonasoneoftheeventspecifiedby aEventTypeSetisreceivedbytheEventMultiplexer.
*/ void AddEventListener(const Link<EventMultiplexerEvent&, void>& rCallback);
/** Remove an event listener for the specified event types.
*/ void RemoveEventListener(const Link<EventMultiplexerEvent&, void>& rCallback);
/** This method is used for out-of-line events. An event of the specifiedtypewillbesenttoalllistenersthatareregisteredfor thattype. @parameEventId Thetypeoftheevent. @parampUserData Somedatasenttothelistenersalongwiththeevent.
*/ void MultiplexEvent(EventMultiplexerEventId eEventId, voidconst* pUserData, const css::uno::Reference<css::uno::XInterface>& xUserData = {});
private: class Implementation;
rtl::Reference<Implementation> mpImpl;
};
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.