internal BehaviorService(IServiceProvider serviceProvider, Control windowFrame) { this.serviceProvider = serviceProvider; this.adornerWindow = new AdornerWindow(this, windowFrame); IOverlayService service = (IOverlayService) serviceProvider.GetService(typeof(IOverlayService)); if (service != null) { this.adornerWindowIndex = service.PushOverlay(this.adornerWindow); } this.dragEnterReplies = new Hashtable(); this.adorners = new BehaviorServiceAdornerCollection(this); this.behaviorStack = new ArrayList(); this.hitTestedGlyph = null; this.validDragArgs = null; this.actionPointer = null; this.trackMouseEvent = null; this.trackingMouseEvent = false; IMenuCommandService menuService = serviceProvider.GetService(typeof(IMenuCommandService)) as IMenuCommandService; IDesignerHost host = serviceProvider.GetService(typeof(IDesignerHost)) as IDesignerHost; if ((menuService != null) && (host != null)) { this.menuCommandHandler = new MenuCommandHandler(this, menuService); host.RemoveService(typeof(IMenuCommandService)); host.AddService(typeof(IMenuCommandService), this.menuCommandHandler); } this.useSnapLines = false; this.queriedSnapLines = false; WM_GETALLSNAPLINES = System.Design.SafeNativeMethods.RegisterWindowMessage("WM_GETALLSNAPLINES"); WM_GETRECENTSNAPLINES = System.Design.SafeNativeMethods.RegisterWindowMessage("WM_GETRECENTSNAPLINES"); SystemEvents.DisplaySettingsChanged += new EventHandler(this.OnSystemSettingChanged); SystemEvents.InstalledFontsChanged += new EventHandler(this.OnSystemSettingChanged); SystemEvents.UserPreferenceChanged += new UserPreferenceChangedEventHandler(this.OnUserPreferenceChanged); }
protected ContextMenuItem(string name, string statusText, bool isSeparator, bool isChecked, bool isEnabled, MenuCommandHandler handler) { m_name = name; m_statusText = statusText; m_isSeparator = isSeparator; m_isChecked = isChecked; m_isEnabled = isEnabled; if (handler != null) { m_handler += handler; } m_commandId = 0; m_visible = true; m_isDefault = false; }
private const string ToolboxFormat = ".NET Toolbox Item"; // used to detect if a drag is coming from the toolbox. internal BehaviorService(IServiceProvider serviceProvider, Control windowFrame) { _serviceProvider = serviceProvider; _adornerWindow = new AdornerWindow(this, windowFrame); // Use the adornerWindow as an overlay IOverlayService os = (IOverlayService)serviceProvider.GetService(typeof(IOverlayService)); if (os != null) { AdornerWindowIndex = os.PushOverlay(_adornerWindow); } _dragEnterReplies = new Hashtable(); // Start with an empty adorner collection & no behavior on the stack Adorners = new BehaviorServiceAdornerCollection(this); _behaviorStack = new ArrayList(); _hitTestedGlyph = null; _validDragArgs = null; DesignerActionUI = null; _trackMouseEvent = default; _trackingMouseEvent = false; // Create out object that will handle all menucommands if (serviceProvider.GetService(typeof(IMenuCommandService)) is IMenuCommandService menuCommandService && serviceProvider.GetService(typeof(IDesignerHost)) is IDesignerHost host) { _menuCommandHandler = new MenuCommandHandler(this, menuCommandService); host.RemoveService(typeof(IMenuCommandService)); host.AddService(typeof(IMenuCommandService), _menuCommandHandler); } // Default layoutmode is SnapToGrid. _useSnapLines = false; _queriedSnapLines = false; // Test hooks WM_GETALLSNAPLINES = User32.RegisterWindowMessageW("WM_GETALLSNAPLINES"); WM_GETRECENTSNAPLINES = User32.RegisterWindowMessageW("WM_GETRECENTSNAPLINES"); // Listen to the SystemEvents so that we can resync selection based on display settings etc. SystemEvents.UserPreferenceChanged += new UserPreferenceChangedEventHandler(OnUserPreferenceChanged); }
private async void OnMessage(object sender, MessageEventArgs messageEventArgs) { Message message = messageEventArgs.Message; Chat ChatInfo = message.Chat; string messageText = message.Text.ToLower(); SessionManager.Instance.StoreClientSession(ChatInfo.Id); ClientSession clientSession = SessionManager.Instance.GetClientSession(ChatInfo.Id); CommandRequest commandRequest = new CommandRequest(messageText, clientSession); AbstractHandler <CommandRequest> defaultCommandHandler = new DefaultCommandHandler(new DefaultTrueCondition()); AbstractHandler <CommandRequest> startCommandHandler = new StartCommandHandler(new StartCommandCondition()); AbstractHandler <CommandRequest> countryCommandHandler = new CountryCommandHandler(new CountryCommandCondition()); AbstractHandler <CommandRequest> seasonCommandHandler = new SeasonCommandHandler(new SeasonCommandCondition()); AbstractHandler <CommandRequest> menuCommandHandler = new MenuCommandHandler(new MenuCommandCondition()); startCommandHandler.Successor = countryCommandHandler; countryCommandHandler.Successor = seasonCommandHandler; seasonCommandHandler.Successor = menuCommandHandler; menuCommandHandler.Successor = defaultCommandHandler; startCommandHandler.Handle(commandRequest, Instance); }
public ContextMenuItem(string name, string statusText, bool isChecked, bool isEnabled, MenuCommandHandler handler) : this(name, statusText, false, isChecked, isEnabled, handler) { }
public ContextMenuItem(string name, string statusText, MenuCommandHandler handler) : this(name, statusText, false, false, true, handler) { }
public void MenuCommandCall(object sender) { MenuCommandHandler?.Invoke(this, null); }