#include <window_host.h>
Inheritance diagram for ui_extension::window_host:

Public Member Functions | |
| virtual const GUID & | get_host_guid () const =0 |
| Get the unique ID of the host. | |
| virtual bool | get_keyboard_shortcuts_enabled () const |
| Query if keyboard shortcuts should be processed. | |
| virtual unsigned | is_resize_supported (HWND wnd) const =0 |
| Called by panels hosted by this host to find out whether the host supports resizing. | |
| virtual bool | is_visibility_modifiable (HWND wnd, bool desired_visibility) const =0 |
| Query if extension window can be hidden or shown. | |
| virtual bool | is_visible (HWND wnd) const =0 |
| Query if extension window is visible. | |
| virtual void | on_size_limit_change (HWND wnd, unsigned flags)=0 |
| Notify host about changed size limits of a hosted extension. | |
| virtual bool | override_status_text_create (service_ptr_t< ui_status_text_override > &p_out)=0 |
| Instantiates ui_status_text_override service, that can be used to display status messages. | |
| virtual void | relinquish_ownership (HWND wnd)=0 |
| Relinquish ownership of a UI extension instance. | |
| virtual bool | request_resize (HWND wnd, unsigned flags, unsigned width, unsigned height)=0 |
| Called by ui extension hosted by this host to resize your window. | |
| virtual bool | set_window_visibility (HWND wnd, bool visibility)=0 |
| Hides or shows extension window. | |
Public Attributes | |
| window_host | |
This interface is to be implemented by panel hosts.
Hosts must forward the following messages to hosted windows:
|
|
Get the unique ID of the host. This GUID is used to identify a specific host.
|
|
|
Query if keyboard shortcuts should be processed. Use this to determine, if keyboard shortcuts should be processed. Do not process them, if this method returns false. Shortcuts can be processed using the keyboard_shortcut_manager service from the foobar2000 SDK. Keyboard shortcuts would not be processed, for example, if the panel is hosted in a popup window. In this case the method returns false. If the method does return true, whether you process keyboard shortcuts will depend on the type of functionality your control offers. For example, in a edit control you may wish not to process keyboard shortcuts. The user must be able to navigate using the tab key. If VK_TAB is not processed by the keyboard_shortcut_manager and the TAB press is not being handled by the dialog manager, you should use g_on_tab() to change to the next control.
|
|
|
Called by panels hosted by this host to find out whether the host supports resizing.
|
|
||||||||||||
|
Query if extension window can be hidden or shown.
|
|
|
Query if extension window is visible. An extension that is not visible does not imply that its window has been hidden using ShowWindow
|
|
||||||||||||
|
Notify host about changed size limits of a hosted extension.
|
|
|
Instantiates ui_status_text_override service, that can be used to display status messages. Implementers: if you wish to display status bar text in the main window, simply use ui_control::override_status_text_create. Hybrid panel-hosts can forward the call to their host. If alternatively you wish to display the text in your own status area, you are responsible for implementing ui_status_text_override. Be sure to obey certain conventions:
|
|
|
Relinquish ownership of a UI extension instance.
Call this to remove control of an extension window from the host. The host will not destroy the window as a result of this call. However, the window may be destroyed, if the host destroys the containing winow, so be sure to call Reasons for calling this method include: another host tries to take ownership of an existing extension instance, the window should be destroyed/closed, or the window is to be turned into a popup dialog.
|
|
||||||||||||||||||||
|
Called by ui extension hosted by this host to resize your window. Implementers: If you cannot fully meet the request, do not attempt to partially fulfil it. For example, if a request is made to modify both the width and height but you can only modify one if those.
|
|
||||||||||||
|
Hides or shows extension window.
|
1.4.6-NO