internal ThumbnailToolbarProxyWindow(System.Windows.UIElement windowsControl, ThumbnailToolBarButton[] buttons)
        {
            if (windowsControl == null) { throw new ArgumentNullException("windowsControl"); }
            if (buttons != null && buttons.Length == 0)
            {
                throw new ArgumentException(LocalizedMessages.ThumbnailToolbarManagerNullEmptyArray, "buttons");
            }

            _internalWindowHandle = IntPtr.Zero;
            WindowsControl = windowsControl;
            _thumbnailButtons = buttons;

            // Set the window handle on the buttons (for future updates)
            Array.ForEach(_thumbnailButtons, new Action<ThumbnailToolBarButton>(UpdateHandle));
        }
        internal ThumbnailToolbarProxyWindow(IntPtr windowHandle, ThumbnailToolBarButton[] buttons)
        {
            if (windowHandle == IntPtr.Zero)
            {
                throw new ArgumentException(LocalizedMessages.CommonFileDialogInvalidHandle, "windowHandle");
            }
            if (buttons != null && buttons.Length == 0)
            {
                throw new ArgumentException(LocalizedMessages.ThumbnailToolbarManagerNullEmptyArray, "buttons");
            }

            _internalWindowHandle = windowHandle;
            _thumbnailButtons = buttons;

            // Set the window handle on the buttons (for future updates)
            Array.ForEach(_thumbnailButtons, new Action<ThumbnailToolBarButton>(UpdateHandle));

            // Assign the window handle (coming from the user) to this native window
            // so we can intercept the window messages sent from the taskbar to this window.
            this.AssignHandle(windowHandle);
        }
Example #3
0
        private void CreateThumbButtons()
        {
            _ButtonPrev = new ThumbnailToolBarButton(Utilities.ResourceHelper.GetIcon("Previous.ico"), Locale.Current.Common.Previous);
            _ButtonPrev.Click += _ButtonPrev_Click;

            _ButtonInbox = new ThumbnailToolBarButton(Utilities.ResourceHelper.GetIcon("Inbox.ico"), Locale.Current.Thumbnails.Inbox);
            _ButtonInbox.Click += _ButtonInbox_Click;

            _ButtonNext = new ThumbnailToolBarButton(Utilities.ResourceHelper.GetIcon("Next.ico"), Locale.Current.Common.Next);
            _ButtonNext.Click += _ButtonNext_Click;

            _taskbarManager.ThumbnailToolBars.AddButtons(base.Handle, new ThumbnailToolBarButton[] { _ButtonPrev, _ButtonInbox, _ButtonNext });
        }
 /// <summary>
 /// Creates a Event Args for the TabbedThumbnailButton.Click event
 /// </summary>
 /// <param name="windowsControl">WPF Control (UIElement) related to the event</param>
 /// <param name="button">Thumbnail toolbar button that was clicked</param>
 public ThumbnailButtonClickedEventArgs(UIElement windowsControl, ThumbnailToolBarButton button)
 {
     ThumbnailButton = button;
     WindowHandle    = IntPtr.Zero;
     WindowsControl  = windowsControl;
 }
 /// <summary>
 /// Creates a Event Args for the TabbedThumbnailButton.Click event
 /// </summary>
 /// <param name="windowHandle">Window handle for the control/window related to the event</param>
 /// <param name="button">Thumbnail toolbar button that was clicked</param>
 public ThumbnailButtonClickedEventArgs(IntPtr windowHandle, ThumbnailToolBarButton button)
 {
     ThumbnailButton = button;
     WindowHandle    = windowHandle;
     WindowsControl  = null;
 }
        private void CreateThumbButtons()
        {
            _ButtonPrev = new ThumbnailToolBarButton(Resources.Icons.Previous, Locale.Current.Common.Previous);
            _ButtonPrev.Click += _ButtonPrev_Click;

            _ButtonInbox = new ThumbnailToolBarButton(Resources.Icons.Inbox, Locale.Current.Thumbnails.Inbox);
            _ButtonInbox.Click += _ButtonInbox_Click;

            //try {
            //  _ButtonInbox.Icon = Resources.Icons.Inbox;
            //}
            //catch(Microsoft.WindowsAPI.Shell.ShellException) {
            //  // happens from time to time, seems like only when the machine comes out of hibernation
            //  // Exception: Microsoft.WindowsAPI.Shell.ShellException (0x800705B4): Shell Exception has occurred, look at inner exception for information.
            //}

            _ButtonNext = new ThumbnailToolBarButton(Resources.Icons.Next, Locale.Current.Common.Next);
            _ButtonNext.Click += _ButtonNext_Click;

            _taskbarManager.ThumbnailToolBars.AddButtons(base.Handle, new ThumbnailToolBarButton[] { _ButtonPrev, _ButtonInbox, _ButtonNext });
        }
        private void CreateThumbButtons()
        {
            _ButtonPrev = new ThumbnailToolBarButton(Resources.Icons.Previous, Locale.Current.Common.Previous);
            _ButtonPrev.Click += _ButtonPrev_Click;

            _ButtonInbox = new ThumbnailToolBarButton(Resources.Icons.Inbox, Locale.Current.Thumbnails.Inbox);
            _ButtonInbox.Click += _ButtonInbox_Click;

            _ButtonNext = new ThumbnailToolBarButton(Resources.Icons.Next, Locale.Current.Common.Next);
            _ButtonNext.Click += _ButtonNext_Click;

            _taskbarManager.ThumbnailToolBars.AddButtons(base.Handle, new ThumbnailToolBarButton[] { _ButtonPrev, _ButtonInbox, _ButtonNext });
        }
 private void UpdateHandle(ThumbnailToolBarButton button)
 {
     button.WindowHandle = _internalWindowHandle;
     button.AddedToTaskbar = false;
 }
 /// <summary>
 /// Creates a Event Args for the TabbedThumbnailButton.Click event
 /// </summary>
 /// <param name="windowsControl">WPF Control (UIElement) related to the event</param>
 /// <param name="button">Thumbnail toolbar button that was clicked</param>
 public ThumbnailButtonClickedEventArgs(UIElement windowsControl, ThumbnailToolBarButton button)
 {
     ThumbnailButton = button;
     WindowHandle = IntPtr.Zero;
     WindowsControl = windowsControl;
 }
 /// <summary>
 /// Creates a Event Args for the TabbedThumbnailButton.Click event
 /// </summary>
 /// <param name="windowHandle">Window handle for the control/window related to the event</param>
 /// <param name="button">Thumbnail toolbar button that was clicked</param>
 public ThumbnailButtonClickedEventArgs(IntPtr windowHandle, ThumbnailToolBarButton button)
 {
     ThumbnailButton = button;
     WindowHandle = windowHandle;
     WindowsControl = null;
 }
 private void UpdateHandle(ThumbnailToolBarButton button)
 {
     button.WindowHandle   = _internalWindowHandle;
     button.AddedToTaskbar = false;
 }