АДАПТИВНЫЙ ДИСПЕТЧЕР ПАНЕЛЕЙ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

1. Способ автоматического управления панелями в отношении канвы приложения в пользовательском интерфейсе, имеющем ширину, причем способ содержит этапы, на которых:
принимают от приложения указание минимальной ширины для канвы приложения;
принимают одно из указания, что ширина пользовательского интерфейса изменилась, в то время как отображаются одна или более ранее открытых панелей, или запроса на отображение, в качестве дополнительной панели, выбранной панели в пользовательском интерфейсе приложения; и
управляют отображением ранее открытых панелей и/или выбранной панели, чтобы гарантировать, что канва приложения отображается с, по меньшей мере, минимальной шириной,
причем управление содержит определение, какие панели приложений отображать.
2. Способ по п. 1, в котором принимается запрос на отображение выбранной панели, и никакие ранее открытые панели не отображаются, причем этап управления отображением ранее открытых панелей и выбранной панели дополнительно содержит этап, на котором:
отображают выбранную панель в качестве временной панели на участке канвы приложения, когда пользовательский интерфейс не имеет достаточной ширины для отображения, как канвы приложения с, по меньшей мере, минимальной шириной, так и выбранной панели.
3. Способ по п. 1, в котором принимается запрос на отображение выбранной панели, и ранее открытая панель отображается в пользовательском интерфейсе, причем этап управления отображением ранее открытых панелей и выбранной панели дополнительно содержит этап, на котором:
заменяют ранее открытую панель выбранной панелью, когда пользовательский интерфейс не имеет достаточной ширины для отображения канвы приложения с, по меньшей мере, минимальной шириной, ранее открытой панели и выбранной панели.
4. Способ по п. 1, в котором принимается запрос на отображение выбранной панели, и одна ранее открытая панель отображается в пользовательском интерфейсе, причем этап управления отображением ранее открытых панелей и выбранной панели дополнительно содержит этапы, на которых:
принимают от приложения указание, что панель, связанная с приложением, является критической панелью;
определяют, что ранее открытая панель является критической панелью;
автоматически закрывают критическую панель, когда пользовательский интерфейс не имеет достаточной ширины для отображения канвы приложения с, по меньшей мере, минимальной шириной, критической панели и выбранной панели;
отображают выбранную панель как постоянную панель; и
автоматически повторно открывают автоматически закрытую критическую панель, когда выбранная панель закрыта.
5. Способ по п. 1, в котором принимается запрос на отображение выбранной панели, и две или более ранее открытых панелей отображаются в пользовательском интерфейсе, причем этап управления отображением ранее открытых панелей и выбранной панели дополнительно содержит этап, на котором:
заменяют одну из ранее открытых панелей выбранной панелью, когда пользовательский интерфейс не имеет достаточной ширины для отображения канвы приложения с, по меньшей мере, минимальной шириной, ранее открытых панелей и выбранной панели.
6. Способ по п. 1, в котором принимается указание, что ширина пользовательского интерфейса изменилась, в то время как отображаются одна или более ранее открытых панелей, и при этом ширина пользовательского интерфейса уменьшается, вследствие чего пользовательский интерфейс не имеет достаточной ширины для отображения канвы приложения с, по меньшей мере, минимальной шириной и ранее открытых панелей, причем этап управления отображением ранее открытых панелей и выбранной панели дополнительно содержит этап, на котором:
автоматически закрывают достаточное количество ранее открытых панелей, чтобы можно было отображать канву приложения с, по меньшей мере, минимальной шириной.
7. Способ по п. 6, дополнительно содержащий этапы, на которых:
принимают указание, что ширина пользовательского интерфейса увеличилась после автоматического закрытия ранее открытой панели;
автоматически повторно открывают автоматически закрытую панель, когда пользовательский интерфейс имеет достаточную ширину для отображения канвы приложения с, по меньшей мере, минимальной шириной и автоматически закрытой панели.
8. Способ по п. 1, дополнительно содержащий этап, на котором отображают выбранную панель как постоянную панель в одной стороне канвы приложения, когда пользовательский интерфейс имеет достаточную ширину для отображения канвы приложения с, по меньшей мере, минимальной шириной, любых ранее открытых панелей и выбранной панели.
9. Система для автоматического управления панелями приложений в отношении канвы приложения в пользовательском интерфейсе, причем система содержит:
вычислительное устройство, содержащее процессор, память минимального размера канвы и устройство вывода для представления визуального вывода пользователю, визуальный вывод, содержащий пользовательский интерфейс приложения, причем вычислительное устройство выполнено с возможностью:
принимать размер защищенной канвы от приложения;
сохранять размер защищенной канвы в памяти минимального размера канвы; и
в ответ на изменения размера пользовательского интерфейса или запросами на открытие или закрытие дополнительной панели приложения, определять, какие панели приложений отображать, на основании сохраненного размера защищенной канвы, чтобы гарантировать, что канва приложения отображается с, по меньшей мере, размером защищенной канвы.
10. Система по п. 9, в которой вычислительное устройство дополнительно выполнено с возможностью вычисления полного размера панели из размеров всех открытых на данный момент панелей приложений и любых запрашиваемых панелей приложений.
11. Система по п. 10, в которой вычислительное устройство дополнительно выполнено с возможностью определения, отображать ли панель приложения как постоянную панель или временную панель, на основании размера пользовательского интерфейса, размера защищенной канвы и полного размера панели.
12. Система по п. 10, в которой вычислительное устройство дополнительно выполнено с возможностью автоматического закрытия открытой на данный момент панели приложения с наименьшим приоритетом, когда комбинация размера защищенной канвы и полного размера панели больше размера пользовательского интерфейса, пока комбинация размера защищенной канвы и полного размера панели, не будет меньше или равна размеру пользовательского интерфейса.
13. Система по п. 10, в которой вычислительное устройство дополнительно выполнено с возможностью автоматически повторно открывать автоматически закрытую панель приложения с наивысшим приоритетом, когда разность между размером пользовательского интерфейса и комбинацией размера защищенной канвы и полного размера панели больше размера автоматически закрытой панели приложения с наивысшим приоритетом.
14. Система по п. 10, в которой вычислительное устройство дополнительно выполнено с возможностью принимать от приложения идентификацию критической панели.
15. Компьютерно-считываемый носитель, содержащий компьютерно-исполнимые инструкции, которые, при выполнении компьютером, осуществляют способ автоматического управления панелями в отношении канвы приложения в пользовательском интерфейсе, причем способ содержит этапы, на которых:
принимают от приложения указание минимального размера для канвы приложения;
определяют приоритет для каждой панели на основании одного или более из старшинства, новизны и критичности;
когда пользовательский интерфейс включает в себя одну или более открытых на данный момент постоянных панелей, и пользовательский интерфейс недостаточно велик для отображения канвы приложения с, по меньшей мере, минимальным размером и всех открытых на данный момент панелей:
автоматически закрывают одну или более из открытых на данный момент постоянных панелей с наименьшими приоритетами для обеспечения достаточного свободного места для отображения канвы приложения с, по меньшей мере, минимальным размером;
когда выбрана дополнительная постоянная панель для открытия, пользовательский интерфейс включает в себя одну или более открытых на данный момент постоянных панелей, и когда пользовательский интерфейс недостаточно велик для отображения канвы приложения с, по меньшей мере, минимальным размером, всех открытых на данный момент постоянных панелей и дополнительной панели:
отображают дополнительную постоянная панель вместо открытой на данный момент постоянной панели с наименьшим приоритетом; и
когда выбрана дополнительная постоянная панель для открытия и когда пользовательский интерфейс недостаточно велик для отображения канвы приложения с, по меньшей мере, минимальным размером и дополнительной панели:
отображают дополнительную постоянную панель как временную панель на участке канвы приложения, тогда как временная панель имеет фокус.