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);
 }
Example #2
0
 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;
 }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
 public ContextMenuItem(string name, string statusText, bool isChecked, bool isEnabled, MenuCommandHandler handler)
     :       this(name, statusText, false, isChecked, isEnabled, handler)
 {
 }
Example #6
0
 public ContextMenuItem(string name, string statusText, MenuCommandHandler handler)
     :       this(name, statusText, false, false, true, handler)
 {
 }
 public void MenuCommandCall(object sender)
 {
     MenuCommandHandler?.Invoke(this, null);
 }