ЭЛЕМЕНТ УПРАВЛЕНИЯ РАЗДЕЛИТЕЛЕМ ОКОН ПРИЛОЖЕНИЯ ДЛЯ УПРАВЛЕНИЯ СТРУКТУРОЙ ОКОН
APPLICATION WINDOW DIVIDER CONTROL FOR WINDOW LAYOUT MANAGEMENT

УРОВЕНЬ ТЕХНИКИ
Операционная система компьютера, включающая в себя соответствующий пользовательский интерфейс, позволяет пользователю подстраивать окно приложения для представления пользователю через пользовательский интерфейс. Однако, такие направляемые пользователем подстройки, сопровождаются вызывающими неудобство ограничениями, в частности, по мере того, как пользовательские интерфейсы становятся более современными и гибкими.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Реализации, описанные и заявленные в этом документе, решают вышеприведенные проблемы путем предоставления элемента управления разделителем окон приложения, который совместно используется первым окном приложения и вторым окном приложения в пользовательском интерфейсе. На основе принятой направляющей инструкции, которая перемещает элемент управления разделителем окон приложения по оси пользовательского интерфейса, размещение первого окна приложения и второго окна приложения может быть позиционировано в диапазоне последовательно размещенных точек по оси пользовательского интерфейса. Подстройка размещения также может оказывать воздействие на другие окна приложения в пользовательском интерфейсе. Элемент управления разделителем окон приложения также может осуществлять привязывание для предоставления "магнитных" точек по оси, когда некоторые условия удовлетворены.
Сущность изобретения предоставлена для введения выборки понятий в упрощенной форме, которые дополнительно описаны ниже по тексту в Подробном описании. Сущность изобретения не предназначена для того, чтобы определить ключевые признаки или существенные признаки заявленного изобретения, равно как и не предназначена для того, чтобы использоваться для ограничения объема заявленного изобретения.
Другие реализации также описаны и изложены в этом документе.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
ФИГ. 1 иллюстрирует два окна приложения, совместно использующие элемент управления разделителем окон приложения на примере экрана пользовательского интерфейса.
ФИГ. 2 иллюстрирует схему двух окон приложения, совместно использующих элемент управления разделителем окон приложения на примере пользовательского интерфейса.
ФИГ. 3 иллюстрирует схему двух окон приложения, совместно использующих элемент управления разделителем окон приложения и третье окно приложения на примере пользовательского интерфейса.
ФИГ. 4 иллюстрирует пример последовательности операций пользовательского интерфейса, реализующих элемент управления разделителем окон приложения.
ФИГ. 5 иллюстрирует схему двух окон приложения, совместно использующих элемент управления разделителем окон приложения в магнитной точке на примере пользовательского интерфейса.
ФИГ. 6 иллюстрирует пример операций по подстройке размещения двух окон приложения с использованием элемента управления разделителем окон приложения.
ФИГ. 7 иллюстрирует пример операций по управлению элементом управления разделителем окон приложения относительно магнитной точки на примере пользовательского интерфейса.
ФИГ. 8 иллюстрирует пример системы, которая может быть применима в реализации описанной технологии.
ПОДРОБНОЕ ОПИСАНИЕ
Запуск окна приложения включает в себя без ограничения первоначальное исполнение приложения и переключение на новое или скрытое окно приложения уже исполняемого приложения. В дополнение, окно приложения может включать в себя без ограничения: окно компонентов операционной системы, служебную программу операционной системы и прикладную программу специального назначения (например, программу Веб-браузера, программу обработки текстов, программу электронных таблиц).
ФИГ. 1 иллюстрирует два окна 100 и 102 приложения, совместно использующие элемент 110 управления разделителем окон приложения на примере экрана 104 пользовательского интерфейса. Система 106 управления окнами обычно представляет собой компонент операционной системы или пользовательского интерфейса, но также может быть независимым приложением. Система 106 управления окнами управляет отображением, размещением, структурой, внешним видом и другими аспектами окон 100 и 102 приложения, так же, как и операциями и характеристиками других окон и пользовательских интерфейсов.
Окно 100 приложения представляет окно результатов поиска, отображающее результаты поиска из поисковой Веб-системы. Индивидуальные результаты поиска (такие как результат 108 поиска) включают в себя репрезентативный текст и/или одно или более изображений наряду со ссылкой навигации браузера, которая может быть выбрана пользователем для перехода к Веб-странице, определенной ссылкой навигации браузера. Окно 102 приложения представляет результаты из погодного приложения или Веб-сайта, в том числе 4-дневный прогноз погоды в Denver, CO. Элемент 110 управления границей окна разделяет отображаемую область окна 100 приложения и отображаемую область окна 102 приложения, в иллюстрируемом случае, разделяя окна приложения. В некоторых реализациях, элемент 110 управления границей окна может быть манипулирован пользователем для изменения размера и/или положения одного или обоих окон.
Окна 100 и 102 приложения показаны на ФИГ. 1 как неперекрывающиеся окна. Тем не менее, описанная технология не ограничена неперекрывающимися оконными средами. Например, в подобных средах, каждое окно приложения в перекрывающейся оконной среде может быть ограничено элементом управления границей окна, который может быть манипулирован пользователем для изменения положения, размера и порядка сортировки от ближнего к дальнему (в совокупности, "размещение") потенциально перекрывающихся окон (например, z-порядок окон). Система 106 управления окнами принимает ввод через окна 100 и 102 приложения и через другие компоненты пользовательского интерфейса (например, интерфейс клавиатуры, интерфейс воспринимающего касание (сенсорного) экрана, голосовой интерфейс и указывающее устройство) и отображает окна 100 и 102 приложения, элемент 110 управления границей окна и другие окна приложения и элементы управления через пользовательский интерфейс.
Элемент 110 управления границей окна представляет разделитель между двумя различными окнами 100 и 102 приложения или между окном приложения и свободным пространством в пользовательском интерфейсе, и поэтому также может называться "элемент управления разделителем окон приложения". Элемент управления разделителем окон приложения может быть манипулирован через пользовательский интерфейс для передачи изменений в размере окна приложения (по отношению к свободному пространству) или в относительных размерах окон 100 и 102 приложений в системе 106 управления окнами. Соответственно, функциональность элемента управления разделителем окон приложения представляет собой элемент управления системы управления окнами, который, вместо того, чтобы являться компонентом одного окна приложения или другого, предоставляет внешнюю границу одного или более окон приложения и, в некоторой конфигурации может быть совместно использован двумя или более окнами приложения как часть пользовательского интерфейса и системы 106 управления окнами.
В одной реализации, два или более элемента управления разделителем окон приложения могут объединяться для формирования единого элемента управления разделителем окон приложения. Например, два окна приложения могут быть представлены на горизонтальной оси пользовательского интерфейса, разделенные свободным пространством. В этом сценарии, каждое приложение отображается с элементом управления разделителем окон приложения между окном приложения и свободным пространством. Если один из элементов управления разделителем окон приложения перетаскивается к другому элементу управления разделителем окон приложения, свободное пространство заполняется развернутым окном приложения и два элемента управления разделителем окон приложения объединяются в единый элемент управления разделителем окон приложения в пользовательском интерфейсе. В дополнение, два элемента управления разделителем окон приложения могут "привязываться" в единый элемент управления разделителем окон приложения, когда свободное пространство между ними сужается до минимальной ширины свободного пространства.
Хотя ФИГ. 1 иллюстрирует неперекрывающуюся оконную среду, перекрывающиеся оконные среды могут также использовать разделитель окон приложения, будь то элемент управления системы управления окнами, отделяющий одно окно приложения от другого, либо отделяющий/ограничивающий окно приложения по отношению к свободному пространству в пользовательском интерфейсе или к другому окну приложения, частично заслоненному окном приложения.
Пользователь может выбирать элемент управления разделителем окон приложения (например, посредством воспринимающего касание экрана, указывающего устройства, ввода с клавиатуры) и перетаскивать его влево и вправо в широком диапазоне относительно непрерывных положений на горизонтальной протяженности пользовательского интерфейса. Например, пользователь может обеспечить фокус элементу управления разделителем окон приложения (например, выбрав его), и затем пользователь может перемещать элемент управления разделителем окон приложения нажатием или иначе, активируя ввод с клавиатуры (например, клавишей со стрелкой), до тех пор, пока элемент управления разделителем окон приложения не окажется в желаемом положении по оси. В одной реализации, относительно непрерывные расположения содержат плотно и последовательно размещенные точки на горизонтальной оси (например, каждая точка отделена от соседней точки небольшим количеством пикселей или некоторым иным визуальным пространственным промежутком). Следует понимать, что альтернативная реализация может обеспечивать относительно непрерывный разделитель окна приложения на вертикальной протяженности пользовательского интерфейса или на некоторой другой оси. Пользовательский интерфейс также может включать в себя множественные элементы управления разделителем окон приложения, некоторые из которых могут пересекаться по различным осям.
В одной реализации, в ответ на вызванное пользователем перемещение элемента управления разделителем окон приложения в горизонтальном направлении, пользовательский интерфейс предоставляет визуальный индикатор, предлагающий непрерывное относительное изменение размера окон 100 и 102 приложения. Например, сам элемент управления разделителем окон приложения перемещается по меньшей мере одно из окон приложения появляется с изменением размера динамически или некоторое другое понятное пользователю предложение по изменению размера анимируется в пользовательском интерфейсе. В одной реализации, окна приложения могут быть представлены в ходе изменения размера, как моментальные снимки каждого окна, захваченного в или около инициирования направляющей инструкции. В другой реализации, окна приложения могут быть представлены в ходе изменения размера, как окна действующих приложений или как представления других заполнителей окон.
Когда пользователь фиксирует изменение размера (например, снимает его или ее касание, отменяет выбор кнопкой указывающего устройства и т.д.), тогда оба окна приложения привязываются к месту, в относительных размерах, обозначенных последним положением элемента управления разделителем окон приложения. В другой реализации, в ответ на вызываемое пользователем перемещение элемента управления разделителем окон приложения в горизонтальном направлении, смежные стороны окон 100 и 102 приложения движутся в визуальном соответствии с элементом управления разделителем окон приложения. Например, разделитель окон приложения движется непрерывно и оба окна 100 и 102 приложения изменяют размер динамически. Когда пользователь фиксирует изменение размера (например, снимает его или ее касание, отменяет выбор кнопкой указывающего устройства и т.д.), тогда оба окна приложения остаются в относительных размерах, обозначенных последним положением элемента управления разделителем окон приложения.
ФИГ. 2 иллюстрирует схему двух окон приложений (например, окно 200 приложения в качестве Приложения A и окно 202 приложения в качестве Приложения B), совместно использующих элемент 204 управления разделителем окон приложения в примере пользовательского интерфейса 206. Элемент 204 управления разделителем окон приложения совместно используется окнами 200 и 202 приложения, но не является компонентом любого окна приложения. Элемент 204 управления разделителем окон приложения, является элементом управления системы 208 управления окнами, которая управляет отображением, размещением, структурой, внешним видом и другими аспектами окон 200 и 202 приложения, так же, как и операциями и характеристиками других окон и пользовательских интерфейсов. Система 208 управления окнами управляет пользовательскими манипуляциями элементом 204 управления разделителем окон приложения, в том числе получением пользовательского ввода (например, направляющей инструкцией, такой как перетаскивание), взаимным изменением размера окон 200 и 202 приложения и представлением окон 200 и 202 приложения в пользовательском интерфейсе 206.
Как показано на ФИГ. 2, элемент 204 управления разделителем окон приложения, может быть перемещен по горизонтальной оси пользовательского интерфейса 206, в ответ на предоставляемую пользователем направляющую инструкцию. После завершения направляющей инструкции (например, пользователь фиксирует перетаскивание элемента управления разделителем окон приложения поднятием пальца с воспринимающего касание экрана), окна 200 и 202 приложения подстраивают свое размещение в соответствии с конечной точкой направляющей инструкции (например, расположение элемента 204 управления разделителем окон приложения по оси, когда направляющая инструкция выполнена). На ФИГ. 2, эта подстройка размещения приведет к комплементарному изменению размера окон 200 и 202 приложения на основе финального расположения элемента 204 управления разделителем окон приложения.
ФИГ. 3 иллюстрирует схему двух окон приложений (например, окно 300 приложения в качестве Приложения B и окно 302 приложения в качестве Приложения C), совместно использующих элемент 304 управления разделителем окон приложения и третье окно приложения (например, окно 310 приложения в качестве Приложения A) в примере пользовательского интерфейса 306. Элемент 304 управления разделителем окон приложения совместно используется окнами 300 и 302 приложения, но не является компонентом другого окна приложения. Другой элемент 305 управления разделителем окон приложения также представлен в пользовательском интерфейсе 306 и совместно используется окнами 300 и 310 приложения. Элементы 304 и 305 управления разделителем окон приложения, являются элементами управления системы 308 управления окнами, которая управляет отображением, размещением, структурой, внешним видом и другими аспектами окон 300, 302 и 310 приложения, так же как и операциями и характеристиками других окон и пользовательских интерфейсов. Система 308 управления окнами управляет пользовательскими манипуляциями над элементами 304 и 305 управления разделителем окон приложения, в том числе получением пользовательского ввода (например, направляющей инструкции, такой как перетаскивание), взаимным изменением размера окон 300 и 302 приложения на основе элемента 304 управления разделителем окон приложения, взаимным изменением размера окон 300 и 310 приложения на основе элемента 305 управления разделителем окон приложения и представлением окон 300, 302 и 310 приложения в пользовательском интерфейсе 306.
Как показано на ФИГ. 3, элементы 304 и 305 управления разделителем окон приложения, могут быть перемещены на горизонтальной оси пользовательского интерфейса 306, в ответ на предоставленную пользователем направляющую инструкцию. После завершения направляющей инструкции (например, пользователь фиксирует перетаскивание элемента управления разделителем окон приложения поднятием пальца с воспринимающего касание экрана), относящейся к элементу 304 управления разделителем окон приложения, система 308 управления окнами, подстраивает размещение окон 304 и 308 приложения в соответствии с конечной точкой направляющей инструкции (например, расположение элемента 304 управления разделителем окон приложения по оси, когда направляющая инструкция выполнена). На ФИГ. 3, эта подстройка размещения приведет к комплементарному изменению размера окон 300 и 302 приложения на основе финального расположения элемента 304 управления разделителем окон приложения. Аналогичная реакция для окон 300 и 310 приложения будет наблюдаться в ответ на направляющую инструкцию, предоставленную элементу 305 управления разделителем окон приложения. В дополнение, каждый из элементов 304 и 305 управления разделителем окон приложения, также может оказывать воздействие на размещение окон приложений, которые совместно не используют его (например, разделять). Например, при некоторых обстоятельствах, направляющая инструкция элемента 304 управления разделителем окон приложения, может побуждать подстройку размещения окна 310 приложения, как описано ниже по тексту.
ФИГ. 4 иллюстрирует пример последовательности операций пользовательского интерфейса, реализующих элемент 400 управления разделителем окон приложения. На этапе 402, пользовательский интерфейс представляет окна приложения для Приложения A, Приложения B и Приложения C. Направляющая инструкция предоставляется элементу 400 управления разделителем окон приложения, перемещая его в левом направлении к Приложению B и Приложению A и подстраивая размещение (например, изменения размер) окна приложения для Приложения B (например, уменьшая его ширину) и подстраивая размещение (например, изменения размера) окна приложения для Приложения C (например, увеличивая его ширину). На этапе 404, размещение окна приложения для Приложения B удовлетворило условию 412 минимального размера - как только ширина окна приложения для Приложения B уменьшилась до заданного порогового значения ширины, которое может быть определено статически или динамически, ширина окна приложения для Приложения B не продолжит уменьшаться.
Вместо этого, как показано на этапе 406, продолжение направляющей инструкции побудит для окна приложения для Приложения A подгонку его размещения (например, уменьшение его ширины), в то время как ширина окна приложения для Приложения B остается в своем состоянии 412 минимального размера. Когда размещение окна приложения для Приложения A удовлетворит своему условию 414 минимального размера, ширина окна приложения для Приложения A также прекратит уменьшаться.
Соответственно, продолжение направляющей инструкции уменьшило ширину окон приложения для Приложения A и Приложения B до их состояний 414 и 412 минимального размера соответственно. Поэтому, на этапе 408, продолжение направляющей инструкции побудило окно приложения для Приложения A к удалению из пользовательского интерфейса. В одной реализации, окно приложения для Приложения A анимировано, как показ выталкивания за левый край пользовательского интерфейса (например, в направлении направляющей инструкции).
На этапе 416, направляющая инструкция продолжает побуждать окно приложения для Приложения A к удалению из пользовательского интерфейса. В одной реализации, окно приложения для Приложения B анимировано, как показ выталкивания из левого края пользовательского интерфейса (например, в направлении направляющей инструкции).
На каждом этапе операционного потока на ФИГ. 4, направляющая инструкция может быть завершена (например, путем поднятия пальца пользователем с воспринимающего касание экрана, путем убирания пальца пользователем с нажатой кнопки указывающего устройства, путем предоставления пользователем надлежащего ввода с клавиатуры для завершения направляющей инструкции). В любой точке по оси в пользовательском интерфейсе, в которой элемент управления разделителем окон приложения расположен, когда направляющая инструкция завершена, система управления окнами представляет размещение окон приложений согласно размещению соответствующего элемента управления разделителем окон приложения.
В одной реализации, система управления окнами записывает предыдущие размеры окон и размещения, позволяя пользователю отменить одну или более операций изменения размера.
ФИГ. 5 иллюстрирует схему двух окон 500 и 502 приложения, совместного использующих элемент 504 управления разделителем окон приложения в магнитной точке 506 на примере пользовательского интерфейса 508. Элемент 504 управления разделителем окон приложения совместно используется окнами 500 и 502 приложения, но не является компонентом другого окна приложения. Элемент 504 управления разделителем окон приложения, является элементом управления системы 512 управления окнами, которая управляет отображением, размещением, структурой, внешним видом и другими аспектами окон 500 и 502 приложения, так же, как и операциями и характеристиками других окон и пользовательских интерфейсов. Система 512 управления окнами управляет пользовательскими манипуляциями элементом 504 управления разделителем окон приложения, в то числе получением пользовательского ввода (например, направляющей инструкцией, такой как перетаскивание), взаимным изменением размера окон 500 и 502 приложения и представлением окон 500 и 502 приложения в пользовательском интерфейсе 508.
Как показано на ФИГ. 5, элемент 504 управления разделителем окон приложения, может быть перемещен на горизонтальной оси пользовательского интерфейса 508, в ответ на предоставленную пользователем направляющую инструкцию. На основе завершения направляющей инструкции (например, пользователь фиксирует перетаскивание элемента управления разделителем окон приложения поднятием пальца с воспринимающего касание экрана), окна 500 и 502 приложения подстраивают свое расположение в соответствии с конечной точкой направляющей инструкции (например, расположение элемента 504 управления разделителем окон приложения по оси, когда направляющая инструкция выполнена). На ФИГ. 5, эта подстройка размещения приведет к комплементарному изменению размера окон 500 и 502 приложения на основе финального расположения элемента 504 управления разделителем окон приложения.
В дополнение, ФИГ. 5 показывает три "магнитные" точки на горизонтальной оси пользовательского интерфейса 508, хотя предусмотрено любое количество магнитных точек. Каждая магнитная точка представляет положение на горизонтальной оси пользовательского интерфейса 508, к которому элемент 504 управления разделителем окон приложения оттягивается, когда во время направляющей инструкции перемещение элемента 504 управления разделителем окон приложения, удовлетворяет условию скорости (например, перемещение замедляется ниже порогового значения скорости) и/или условию расстояния (например, перемещение приводит разделитель 504 окон приложения в пределы заданного порогового значения 510 расстояния от магнитной точки). Например, по мере того, как элемент 504 управления разделителем окон приложения перемещается слева направо на горизонтальной оси пользовательского интерфейса 508, пользователь может замедлить перемещение около магнитной точки 506, что может побудить элемент 504 управления разделителем окон приложения к прикреплению к своему расположению, показанному как 504'.
Расположение магнитных точек может быть определено статически для набора видимых окон приложения или динамически во время направляющей инструкции. Например, статически определенные магнитные точки могут быть размещены в центре горизонтальной оси, когда два окна приложения видимы или магнитные точки могут быть размещены на каждой третьей части горизонтальной оси, когда три окна приложения видимы. В противоположность этому, положение некоторых магнитных точек может быть определено динамически, во время направляющей инструкции. Например, в ответ на инициирование направляющей инструкции, система управления окнами может вычислять положение любых магнитных точек по оси, и, в некоторых реализациях, положение может быть динамически обновлено, когда направляющая инструкция продолжает выполняться, в зависимости от настроек расположения окна приложения и других ограничений. В итоге, когда направляющая инструкция зафиксирована, элемент управления разделителем окон приложения прикрепится к динамически вычисленным положениям магнитных точек.
Термин "привязка" описывает перемещение элемента 504 управления разделителем окон приложения для выравнивания по магнитной точке 506 по оси, когда элемент 504 управления разделителем окон приложения изначально не выровнен по магнитной точке 506, но перемещение элемента 504 управления разделителем окон приложения удовлетворяет условию скорости и условию расстояния по отношению к магнитной точке 506. Визуально, в одной реализации, эта операция привязки, выглядит как относительно быстрое перемещение или скачок элемента 504 управления разделителем окон приложения для выравнивания с магнитной точкой 506. Хотя, в альтернативных реализациях, операция привязки может быть представлена через пользовательский интерфейс 508 другими способами (например, привязкой границ окна, быстрым перемещением призрачных изображений окон приложения, и т.д.).
Следует понимать, что могут быть использованы различные типы магнитных точек. В одном примере, магнитные точки, могут располагаться для поддержания целостности горизонтали и/или изменения размера окна приложения (например, каждое из трех окон имеет одинаковую ширину). В другом примере, минимальные и максимальные размеры окон, определяемые пользователем настройки размера и задаваемые системой настройки окна, могут быть также рассмотрены при размещении магнитных точек по оси пользовательского интерфейса.
В одной реализации, один или более элемент управления разделителем окон приложения может быть автоматически привязан к соответствующим магнитным точкам путем двойного щелчка, двойного касания или сочетания клавиш или по отношению к одному из элементов управления разделителем окон приложения. Такой пользовательский ввод может дать инструкцию одному или более элементу управления разделителем окон приложения к перемещению в соответствующем направлении, для привязки к ближайшей магнитной точке, в зависимости от настроек размещения окна приложения и других ограничений. В одной реализации, повторение пользовательского ввода в отношении одного и того же элемента управления разделителем окон приложения побудит элементы управления разделителем окон приложения видимых окон приложения в пределах пользовательского интерфейса к перемещению в соответствующих направлениях для привязки к ближайшим магнитным точкам в зависимости от настроек размещения окна приложения и других ограничений.
ФИГ. 6 иллюстрирует пример операций 600 по подстройке размещения двух окон приложения с использованием элемента управления разделителем окон приложения. Операция 602 представления представляет элемент управления разделителем окон приложения, совместно используемый двумя окнами приложений в пользовательском интерфейсе. В одной реализации, элемент управления разделителем окон приложения разделяет или выступает в качестве границы между двумя окнами приложения. Операция 604 инструкции принимает направляющую инструкцию (например, жест перетаскивания) в ассоциации с элементом управления разделителем окон приложения. Операция 606 подстройки подстраивает относительное размещение двух окон приложения на основе направляющей инструкции, примененной к элементу управления разделителем окон приложения. Например, одно окно приложения становится уже и другое окно приложения становится шире в пользовательском интерфейсе, когда элемент управления разделителем окон приложения перемещается или после того как его перемещение завершено.
Операция 608 принятия решения определяет, был ли размер одного из окон приложения установлен для удовлетворения условию минимального размера (примечание: различные окна приложения могут иметь различные условия минимального размера). В противном случае, операция 606 подстройки продолжает обработку направляющей инструкции. Если операция 608 принятия решения определяет, что одно из окон приложения удовлетворило условию минимального размера, то это окно приложения прекращает сужение и другая операция 610 принятия решения определяет, расположено ли другое окно приложения в направлении направляющей инструкции в пределах пользовательского интерфейса. Если нет, окно приложения, удовлетворяющее условию минимального размера, удаляется из пользовательского интерфейса в ходе операции 612 удаления. Иначе, другая операция 610 подстройки подстраивает размещение другого окна приложения на основе направляющей инструкции. В одной реализации, визуальный эффект операции 610 подстройки похож на фиксирование первого минимального окна в его минимальной ширине и начало толкания стороны следующего окна так, что следующее окно сужается.
Следует понимать, что следующее окно также может достичь ширины, которая удовлетворит его условию минимального размера. Соответственно, если направляющая инструкция продолжается в том же направлении, тогда следующее минимальное окно может быть удалено из пользовательского интерфейса, аналогично рассмотренному, в связи с операцией 612 удаления. Дополнительно, после удаления следующего минимального окна, и с учетом продолжения направляющей инструкции в том же направлении, первое минимальное окно, может быть удалено, аналогично рассмотренному, в связи с операцией 612 удаления.
ФИГ. 7 иллюстрирует пример операций 700 по управлению элементом управления разделителем окон приложения относительно магнитной точки на примере пользовательского интерфейса. Операция 702 представления представляет элемент управления разделителем окон приложения, совместно используемый двумя окнами приложений в пользовательском интерфейсе. В одной реализации, элемент управления разделителем окон приложения разделяет или выступает в качестве границы между двумя окнами приложения. Операция 704 инструкции принимает направляющую инструкцию (например, жест перетаскивания) в ассоциации с элементом управления разделителем окон приложения. Операция подстройки 706 подстраивает относительное размещение двух окон приложения на основе направляющей инструкции примененной к элементу управления разделителем окон приложения.
Операция 708 принятия решения определяет, удовлетворяет ли перемещение элемента управления разделителем окон приложения условию скорости и/или условию расстояния по отношению к магнитной точке расположенной по оси пользовательского интерфейса. Например, операция 708 принятия решения может определять, что скорость перемещения элемента управления разделителем окон приложения ниже заданного порогового значения скорости. В другом примере, операция 708 принятия решения может определять, что расстояние между элементом управления разделителем окон приложения и магнитной точкой ниже заданного порогового значения расстояния. В еще одном примере, операция 708 принятия решения проверяет вместе и условие скорости, и условие расстояния для перехода к операции 710 привязки. Если соответствующие условия не выполняются в ходе операции 708 принятия решения, операция 706 подстройки 706 продолжает регулировать относительное размещение двух окон приложений.
Если соответствующее условие или условия выполняются в ходе операции 708 принятия решения, операция 710 привязки привязывает элемент управления разделителем окон приложения к магнитной точке в пользовательском интерфейсе. В одной реализации, операция 710 привязки, представляет быстрое перемещение элемента управления разделителем окон приложения по оси из положения, которое не выровнено с магнитной точкой в положение, которое выровнено с магнитной точкой.
Следует понимать, что такие направляющие инструкции, магнитные точки и элементы управления разделителем окон приложения могут быть выполнены, манипулированы или позиционированы по оси пользовательского интерфейса, в том числе без ограничения по горизонтальной оси или вертикальной оси.
ФИГ. 8 иллюстрирует пример системы, которая может быть применима для реализации описанной технологии. Пример аппаратной и операционной среды на ФИГ. 8 для реализации описанной технологии включает в себя вычислительное устройство, такое как вычислительное устройство общего назначения в виде игровой консоли или компьютера 20, мобильного телефона, карманного компьютера (PDA), телевизионной приставки или другого типа вычислительного устройства. В реализации на ФИГ. 8, в качестве примера, компьютер 20 включает в себя блок 21 обработки, системную память 22 и системную шину 23, которая оперативно подключает различные системные компоненты, в том числе системную память к блоку 21 обработки. Может быть только один или может быть более чем один блок 21 обработки, такой как процессор компьютера 20, содержащий единственный центральный процессор (ЦП) или множество блоков обработки, обычно называющиеся параллельной средой обработки. Компьютер 20, может быть обычным компьютером, распределенной вычислительной системой или другим типом компьютера; реализация не ограничена.
Системная шина 23, также может быть любого из нескольких типов структур шин, в том числе шиной памяти или контроллером памяти, периферийной шиной, коммутационной матрицей, двухточечной связью и локальной шиной, используя любую из множества архитектур шин. Системная память также может упоминаться просто как память и включает в себя постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. Базовая система ввода/вывода (BIOS) 26, содержащая основные процедуры, которые помогают передавать информацию между элементами в пределах компьютера 20, такую как хранимую в ПЗУ 24, во время запуска. Компьютер 20, дополнительно содержит привод жестких дисков 27 для чтения и записи на жесткий диск, который не показан, привод магнитных дисков 28 для чтения или записи на съемный магнитный диск 29 и привод оптических дисков для чтения или записи на съемный оптический диск 31, такой как CD-ROM, DVD или другой оптический носитель данных.
Привод жестких дисков 27, привод магнитных дисков 28 и привод оптических дисков 30 подключены к системной шине посредством интерфейса жестких дисков 32, интерфейса магнитных дисков 33 и интерфейса оптических дисков 34, соответственно. Приводы и соответствующие им материальные считываемые компьютером носители данных предоставляют энергонезависимые запоминающие устройства считываемых компьютером инструкций, структур данных, программных модулей и других данных для компьютера 20. Для специалистов в данной области техники будет очевидно, что любой тип материальных считываемых компьютером носителей данных, который способен хранить данные, которые могут быть доступны компьютеру, такие как магнитные кассеты, карты флэш-памяти, цифровые видеодиски, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ), и подобные, может быть использован в качестве примера операционной среды.
Ряд программных модулей может храниться на жестком диске, магнитном диске 29, оптическом диске 31, ПЗУ 24, ОЗУ 25, в том числе операционная система 35, одна или более прикладная программа 36, другие программные модули 37 и программные данные 38. Пользователь может вводить команды и информацию в персональный компьютер 20, через устройство ввода, такие как клавиатура 40 и указывающее устройство 42. Прочие устройства ввода (не показаны) могут включать в себя микрофон (например, для голосового ввода), камеру (например, для естественного пользовательского интерфейса (NUI)), джойстик, игровой планшет, спутниковую тарелку, сканер или подобное. Эти и другие устройства ввода часто подключаются к блоку 21 обработки, через интерфейс последовательного порта 46, который соединен с системной шиной, но также могут быть подключены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 47 или другой тип устройства отображения также соединяется с системной шиной 23 посредством интерфейса, такого как видеоадаптер 48. В дополнение к монитору, компьютер обычно включает в себя другие периферийные устройства вывода (не показаны), такие как динамики и принтеры.
Компьютер 20 может работать в сетевой среде, используя логическое подключение к одному или более удаленному компьютеру, такому как удаленный компьютер 49. Эти логические подключения достигаются посредством сопряженного устройства связи или части компьютера 20; реализации не ограничиваются конкретным типом устройства связи. Удаленный компьютер 49 может быть другим компьютером, сервером, маршрутизатором, сетевым ПК, клиентским устройством, одноранговым устройством или другим типовым узлом сети, и обычно включает в себя многие или все вышеуказанные, по отношению к компьютеру 20, элементы, хотя на ФИГ. 8 иллюстрируется только запоминающее устройство 50. Логические соединения, показанные на ФИГ. 8 включают в себя локальную сеть (LAN) 51 и глобальную сеть (WAN) 52. Такие сетевые среды являются обычным явлением для офисных сетей, корпоративных компьютерных сетей, внутренних сетей и Интернет, которые являются всеми видами сетей.
При использовании в локальной сетевой среде, компьютер 20 подключается к локальной сети 51 через сетевой интерфейс или адаптер 53, который принадлежит к одному из типов устройств связи. При использовании в глобальной сетевой среде, компьютер 20 обычно включает в себя модем 54, сетевой адаптер, разновидность устройства связи или любой другой тип устройства связи для установления связей через глобальную сеть 52. Модем 54, который может быть внутренним или внешним, подключается к системной шине 23, посредством интерфейса последовательного порта 46. В сетевой среде, программные двигатели, изображенные относительно персонального компьютера или его частей, могут храниться на удаленном запоминающем устройстве. Следует понимать, что показанные сетевые подключения являются примерами, и другие средства и устройства связи для установления линии связи между компьютерами, могут быть использованы.
В примере реализации, программные или программно-аппаратные инструкции и данные для предоставления системы управления окнами, магнитных точек, элемента управления разделителем окон приложения, и другие инструкции и данные, могут хранится в памяти 22 и/или запоминающих устройствах 29 или 31 и обрабатываться посредством блока 21 обработки. Данные пользовательского интерфейса, пороговые значения скорости, пороговые значения расстояния и другие данные могут храниться в памяти 22 и/или запоминающих устройствах 29 и 31 в качестве постоянных хранилищ данных.
Некоторые варианты осуществления изобретения могут содержать изделие. Изделие может содержать материальный носитель данных для хранения логики. Примеры материального носителя могут включать в себя один или более тип считываемых компьютером носителей данных способных хранить электронные данные, в том числе энергозависимую память или энергонезависимую память, съемную или несъемную память, стираемую или нестираемую память, записываемую или повторно записываемую память и так далее. Примеры логики могут включать в себя различные программные элементы, такие как программные компоненты, программы, приложения, компьютерные программы, прикладные программы, системные программы, машинные программы, программное обеспечение операционной системы, программное обеспечение промежуточного слоя, программно-аппаратное обеспечение, программные модули, рутины, подпрограммы, функции, методы, процедуры, программные интерфейсы, программные интерфейсы приложений (API), наборы инструкций, исполняемый код, компьютерный код, сегменты кода, сегменты компьютерного кода, слова, значения, символы или любые их комбинации. В одном варианте осуществления, например, изделие может хранить исполняемые компьютером программные инструкции которые, будучи исполнены компьютером, побуждают компьютер к выполнению методов и/или операций, в соответствии с описанными вариантами осуществления. Исполняемые компьютером программные инструкции могут включать в себя любой подходящий тип кода, такой как исходный код, скомпилированный код, интерпретированный код, исполняемый код, статический код, динамический код и тому подобное. Исполняемые компьютером программные инструкции могут быть реализованы в соответствии с предопределенным компьютерным языком, способом или синтаксисом, для инструктирования компьютера для выполнения определенной функции. Инструкции могут быть реализованы, используя любой подходящий высокоуровневый, низкоуровневый, объектно-ориентированный, визуальный, скомпилированный и/или интерпретированный язык программирования.
Реализации, описанные в данном документе, реализованы как логические этапы в одной или более компьютерных системах. Логические операции могут быть реализованы (1) как последовательность реализуемых процессором этапов, исполняемых в одной или более компьютерной системе, и (2) как взаимосвязанная машина или электронные модули в одной или более компьютерной системе. Реализация является вопросом выбора, в зависимости от требований к производительности используемой компьютерной системы. Соответственно, логические операции, составляющие реализации, описанные в этом документе, называются по-разному: операции, этапы, объекты или модули. Кроме того, следует понимать, что логические операции могут быть выполнены в любом порядке, если только, явно не заявлено иначе или определенный порядок неотъемлемо требуем заявленным языком.
Вышеуказанное описание, примеры и данные предоставляют полное описание структуры и использования примерных реализаций. Поскольку многие реализации могут быть сделаны без отступления от сущности и объема заявленного изобретения, формула изобретения, приложенная в дальнейшем в этом документе, определяет изобретение. Кроме того, структурные признаки различных примеров могут быть объединены в еще одной реализации без отступления от изложенной формулы изобретения.