//////////////////////////////////////////////////////////////////////////////////////////////////// // NoesisGUI - http://www.noesisengine.com // Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved. //////////////////////////////////////////////////////////////////////////////////////////////////// #ifndef __GUI_ROUTEDUICOMMAND_H__ #define __GUI_ROUTEDUICOMMAND_H__ #include #include #include #include #include namespace Noesis { NS_WARNING_PUSH NS_MSVC_WARNING_DISABLE(4251 4275) //////////////////////////////////////////////////////////////////////////////////////////////////// /// A command that is routed through the element tree and contains a text property. /// /// The following built-in commands are available in the *ApplicationCommands* class: /// /// * CancelPrint, Close, ContextMenu, Copy, CorrectionList, Cut, Delete, Find, Help, New, Open, /// Paste, Print, PrintPreview, Properties, Redo, Replace, Save, SaveAs, SelectAll, Stop, Undo /// /// The following built-in commands are available in the *ComponentCommands* class: /// /// * ExtendSelectionDown, ExtendSelectionLeft, ExtendSelectionRight, ExtendSelectionUp, /// MoveDown, MoveFocusBack, MoveFocusDown, MoveFocusForward, MoveFocusPageDown, MoveFocusPageUp, /// MoveFocusUp, MoveLeft, MoveRight, MoveToEnd, MoveToHome, MoveToPageDown, MoveToPageUp, /// MoveUp, ScrollByLine, ScrollPageDown, ScrollPageLeft, ScrollPageRight, ScrollPageUp, /// SelectToEnd, SelectToHome, SelectToPageDown, SelectToPageUp /// /// .. code-block:: xml /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// http://msdn.microsoft.com/en-us/library/system.windows.input.routeduicommand.aspx //////////////////////////////////////////////////////////////////////////////////////////////////// class NS_GUI_CORE_API RoutedUICommand: public RoutedCommand { public: RoutedUICommand(); RoutedUICommand(const char* text, Symbol name, const TypeClass* owner); RoutedUICommand(const char* text, Symbol name, const TypeClass* owner, InputGestureCollection* inputGestures); ~RoutedUICommand(); // Creates an UI routed command //@{ static Ptr Create(const char* name, const char* text, const TypeClass* owner); static Ptr Create(const char* name, const char* text, const TypeClass* owner, InputGesture* inputGesture); static Ptr Create(const char* name, const char* text, const TypeClass* owner, InputGesture* inputGesture1, InputGesture* inputGesture2); //@} /// Gets or sets the text that describes this command //@{ const char* GetText() const; void SetText(const char* text); //@} private: String mText; NS_DECLARE_REFLECTION(RoutedUICommand, RoutedCommand) }; NS_WARNING_POP } #endif