상속: IDisposable
예제 #1
0
파일: Hint.cs 프로젝트: tralivali1234/nitra
 void HintWindowClosed(object sender, EventArgs e)
 {
     _hintSource.UnSubClass();
     _hintSource = null;
     _hintWindow = null;
     Closed?.Invoke(this);
 }
예제 #2
0
파일: Hint.cs 프로젝트: tralivali1234/nitra
        private void Show()
        {
            if (InputManager.Current.IsInMenuMode)
            {
                return;
            }

            if (_hintWindow != null)
            {
                throw new NotSupportedException("Hint already shown");
            }

            // subclass
            _hintSource           = new HintSource();
            _hintSource.Activate += Close;
            _hintSource.SubClass();

            // create hint window
            var ht = HintRoot.Create(PlacementRect, _hintSource);

            _hintWindow = new HintWindow(this, ht)
            {
                Text = _text
            };

            if (BackgroundResourceReference != null)
            {
                _hintWindow.border.SetResourceReference(Border.BackgroundProperty, BackgroundResourceReference);
            }

            if (ForegroundResourceReference != null)
            {
                _hintWindow._textBlock.SetResourceReference(TextBlock.ForegroundProperty, ForegroundResourceReference);
            }

            _hintSource.HintWindow = _hintWindow;
            //new WindowInteropHelper(_hintWindow) { Owner = _hintSource.Owner };
            _hintWindow.Closed   += HintWindowClosed;
            _hintWindow.MaxHeight = 1200.0;//System.Windows.Forms.Screen.FromRectangle(PlacementRect).WorkingArea.
            _wrapWidth            = 1200.0;

            _hintWindow.WrapWidth = _wrapWidth;
            _hintWindow.Show();
        }
예제 #3
0
파일: Hint.cs 프로젝트: JetBrains/Nitra
        private void Show(IntPtr owner)
        {
            if (InputManager.Current.IsInMenuMode)
            return;

              if (_hintWindow != null)
            throw new NotSupportedException("Hint already shown");

              // subclass
              _hintSource = new HintSource();
              _hintSource.Activate += Close;
              _hintSource.SubClass(owner);

              // create hint window
              var ht = HintRoot.Create(PlacementRect, _hintSource);
              _hintWindow = new HintWindow(this, ht) { Text = _text };

              if (BackgroundResourceReference != null)
            _hintWindow.border.SetResourceReference(Border.BackgroundProperty, BackgroundResourceReference);

              if (ForegroundResourceReference != null)
            _hintWindow._textBlock.SetResourceReference(TextBlock.ForegroundProperty, ForegroundResourceReference);

              _hintSource.HintWindow = _hintWindow;
              //new WindowInteropHelper(_hintWindow) { Owner = _hintSource.Owner };
              _hintWindow.Closed += HintWindowClosed;
              _hintWindow.MaxHeight = 1200.0;//System.Windows.Forms.Screen.FromRectangle(PlacementRect).WorkingArea.
              _wrapWidth = 1200.0;

              _hintWindow.WrapWidth = _wrapWidth;
              _hintWindow.Show();
        }
예제 #4
0
파일: Hint.cs 프로젝트: JetBrains/Nitra
 void HintWindowClosed(object sender, EventArgs e)
 {
     _hintSource.UnSubClass();
       _hintSource = null;
       _hintWindow = null;
       if (Closed != null) Closed(this);
 }
예제 #5
0
 public static HintRoot Create(Rect rect, HintSource source)
 {
     return(new HintRootWin32(rect, source));
 }
예제 #6
0
 public HintRootWin32(Rect rect, HintSource source)
 {
     this.source = source;
     ActiveRect  = rect;
 }
예제 #7
0
파일: HintRoot.cs 프로젝트: JetBrains/Nitra
 public HintRootWin32(Rect rect, HintSource source)
 {
     this.source = source;
     ActiveRect = rect;
 }
예제 #8
0
파일: HintRoot.cs 프로젝트: JetBrains/Nitra
 public static HintRoot Create(Rect rect, HintSource source)
 {
     return new HintRootWin32(rect, source);
 }