Основанная на разметке расширяемость для интерфейсов пользователя

Группа изобретений относится к средствам предоставления различных возможностей графическими интерфейсами. Технический результат заключается в обеспечении возможности модифицирования связанного интерфейса пользователя для добавления, удаления, деактивации, активации и переназначения новых или существующих компонентов интерфейса пользователя. В изобретении предоставляют графический интерфейс пользователя для выбора одной или более функциональных возможностей главного программного приложения на Расширяемом Языке Разметки XML и файл XML, определяющие порядок модифицирования XML-представления, посредством главного приложения отображают графический интерфейс пользователя так, что графический интерфейс пользователя модифицируется для предоставления доступа к одной или более дополнительным функциональным возможностям. 3 н. и 17 з.п. ф-лы, 5 ил.

 

Уровень техники

С наступлением компьютерной эры пользователи компьютеров и программного обеспечения постепенно привыкли к дружественным для пользователя программным приложениям, которые помогают им писать, выполнять вычисления, организовывать, подготавливать презентации, передавать и принимать сообщения электронной почты, сочинять музыку и т.п. Например, современные приложения обработки текстов предоставляют возможность пользователям создавать разнообразные полезные документы. Современные приложения для работы с электронными таблицами предоставляют возможность пользователям вводить, манипулировать и систематизировать данные. Современные приложения электронных слайдовых презентаций предоставляют возможность пользователям создавать разнообразные слайдовые презентации, содержащие текст, рисунки, данные или другие полезные объекты. Современные приложения для работы с базами данных предоставляют возможность пользователям сохранять, систематизировать и обмениваться большими объемами данных.

Большинство программных приложений предоставляют один или более графических интерфейсов пользователя, через которые пользователь вводит и редактирует данные, а также обращается к различным функциональным возможностям соответствующего программного приложения и использует их. Типичный интерфейс пользователя включает в себя рабочую область, в которую можно вводить, редактировать и просматривать данные. Кроме того, интерфейсы пользователя, как правило, включают в себя одну или более кнопок и/или элементов управления для выбора определенных функциональных возможностей, предоставляемых соответствующим программным приложением. Например, кнопки или элементы управления могут быть предоставлены для печати и сохранения документа, кнопки или управляющие элементы могут быть предоставлены для применения свойств форматирования к аспектам документа и т.п.

Часто сторонний разработчик программного обеспечения создает встраиваемое дополнительное программное обеспечение, которое может быть добавлено в существующее приложение для предоставления функциональных возможностей, которые недоступны в существующем приложении. Например, дополнительное встраиваемое программное приложение может предоставлять в приложении обработки текстов функциональную возможность для добавления в документ специальных примечаний или сносок. Как правило, вдобавок к предоставлению дополнительной функциональной возможности встраиваемое дополнительное приложение предоставляет в существующие интерфейсы пользователя программного приложения один или более новых компонентов интерфейса пользователя, таких как новая панель инструментов, кнопка(и) или другой(ие) элемент(ы) управления для доступа к дополнительной функциональной возможности.

Согласно способу по предшествующему уровню техники сторонним разработчикам предоставляется доступ к объектной модели, связанной с интерфейсами пользователя существующего приложения, для предоставления возможности переделки существующих интерфейсов пользователя в соответствии с требованиями встраиваемого дополнительного программного обеспечения третьей стороны. К сожалению такие способы по предшествующему уровню техники имеют недостатки, поскольку объектные модели для заданных интерфейсов пользователя, как правило, построены без учета общих применений разнообразных приложений, например приложений обработки текстов, приложений для работы с электронными таблицами, приложений слайдовых презентаций и т.п., и часто такие приложения демонстрируют различное и, возможно, нежелательные поведение в связи со специальными компонентами интерфейса пользователя.

Настоящее изобретение было сделано исходя из вышеизложенных и других соображений.

Сущность изобретения

Раздел "Сущность изобретения" приведен, чтобы представить в упрощенной форме выборку концепций, которые подробно описываются ниже в разделе "Подробное описание". Раздел "Сущность изобретения" не предназначен ни для определения ключевых или существенных отличительных признаков сущности изобретения, ни для использования в качестве помощи при определении сущности изобретения.

Варианты осуществления настоящего изобретения решают вышеизложенные и другие проблемы путем предоставления способов, систем и компьютерных продуктов для раскрытия программирования интерфейса пользователя программного приложения сторонним разработчикам встраиваемого дополнительного программного обеспечения, чтобы предоставить возможность модифицирования существующих интерфейсов пользователя приложения для включения новых или модифицированных компонентов интерфейса пользователя, связанных со встраиваемыми дополнительными приложениями. Согласно аспектам настоящего изобретения схема Расширяемого Языка Разметки (Extensible Markup Language, XML), регулирующая программирование XML, которое может использоваться для модифицирования заданного интерфейса пользователя, раскрывается сторонним разработчикам, чтобы предоставить им возможность специфицировать изменения программирования интерфейса пользователя согласно связанной XML-схеме. Например, если сторонний разработчик хочет добавить в существующий интерфейс пользователя новую кнопку или элемент управления, который будет связан с функциональной возможностью встраиваемого дополнительного приложения, то сторонний разработчик может модифицировать существующее программирование интерфейса пользователя в соответствии с грамматическими и синтаксическими правилами, диктуемыми связанной XML-схемой. Согласно аспекту настоящего изобретения для XML или других подходящих представлений модификаций интерфейса пользователя необязательно следовать тому же языку программирования, что и исходный интерфейс пользователя. Более того, программирование исходного родного интерфейса пользователя может быть очень сложным, и раскрываемая XML-схема согласно настоящему изобретению может представлять собой только подгруппу общего программирования для исходного интерфейса пользователя. Когда модифицированная программа выполняется главным программным приложением, интерфейс пользователя отображается с изменениями, выполненными сторонним разработчиком. Например, если программирование пользовательского интерфейса модифицируется, чтобы добавить новую кнопку, то новая кнопка будет отображена в интерфейсе пользователя под влиянием модификации программирования для интерфейса пользователя при условии, что модификация выполнена в соответствии со связанной XML-схемой.

Согласно аспектам настоящего изобретения новые компоненты интерфейса пользователя могут быть добавлены в существующие интерфейсы пользователя, и они могут быть ассоциированы с соответствующими функциональными возможностями встраиваемого дополнительного приложения. Размеры новых компонентов пользовательского интерфейса могут быть автоматически масштабированы, чтобы вмещаться в доступной области отображения, когда окно, в котором отображается интерфейс пользователя, уменьшается или увеличивается. В добавление, согласно аспектам настоящего изобретения конечные пользователи модифицированного интерфейса пользователя могут при желании удалять добавленные компоненты интерфейса пользователя. Если конкретное встраиваемое дополнительное программное обеспечение деинсталлируется, то впоследствии добавленные или модифицированные компоненты интерфейса пользователя, связанные с деинсталлируемым встраиваемым дополнительным программным обеспечением, не выводятся в отображаемом интерфейсе пользователя.

Согласно другим аспектам настоящего изобретения существующие компоненты интерфейса пользователя, такие как кнопки или элементы управления, могут быть деактивированы или полностью удалены сторонними разработчиками. В добавление, существующие компоненты интерфейса пользователя могут быть переназначены так, что переназначенные компоненты при их выборе будут действовать иначе.

Согласно другим аспектам настоящего изобретения путем доступа к схеме, раскрываемой для модификации существующего интерфейса пользователя, контекстные интерфейсы пользователя и кнопки или элементы управления контекстных интерфейсов пользователя сторонних разработчиков могут быть добавлены к существующим интерфейсам пользователя, которые отображаются в существующих интерфейсах пользователя, когда выбирается объект документа, связанный с добавленным контекстным интерфейсом пользователя. В добавление, элементы управления, которые при их выборе приводят к применению к выбранному объекту одной или более функциональных возможностей встраиваемого дополнительного приложения, могут быть добавлены в галерею или набор элементов управления, которые разворачиваются в существующем интерфейсе пользователя для применения одной или более функциональных возможностей приложения к выбранному объекту.

Согласно другим аспектам настоящего изобретения XML-схема может быть использована для построения интерфейсов пользователя "с нуля", причем эти интерфейсы настраиваются в соответствии с требованиями встраиваемого дополнительного приложения третьей стороны к связанному программному приложению. Когда отображается подобное решение интерфейса пользователя "с нуля", то получающийся в результате интерфейс пользователя может немногим напоминать интерфейс пользователя приложения, который обычно отображается пользователям для соответствующего программного приложения. То есть, когда связанный документ запускается, модифицированный интерфейс пользователя, предназначенный для предоставления пользовательских функциональных возможностей запускаемому документу, отображается в соответствии с модифицированным интерфейсом пользователя, предоставленным для данного документа.

Эти и другие отличительные признаки и преимущества, которые характеризуют настоящее изобретение, будут очевидны из следующего подробного описания и прилагаемых чертежей. Следует понимать, что как вышеизложенное общее описание, так и нижеследующее подробное описание являются исключительно пояснительными, они не ограничивают настоящее изобретение, как определено в формуле изобретения.

Краткое описание чертежей

Фиг.1 - иллюстрация примера компьютерного оборудования для вариантов осуществления настоящего изобретения.

Фиг.2 - изображение экрана компьютера, иллюстрирующее пример интерфейса пользователя, который может быть модифицирован согласно вариантам осуществления настоящего изобретения.

Фиг.3 - упрощенная структурная схема, иллюстрирующая взаимосвязь между примером интерфейса пользователя и XML-представлением этого примера интерфейса пользователя, которое может быть изменено для модифицирования примера интерфейса пользователя согласно вариантам осуществления настоящего изобретения.

Фиг.4 - изображение экрана компьютера, иллюстрирующее пример контекстного интерфейса пользователя, который может быть модифицирован согласно вариантам осуществления настоящего изобретения.

Фиг.5 - изображение экрана компьютера, иллюстрирующее пример галереи выбираемых элементов управления интерфейса пользователя, которые могут быть модифицированы согласно вариантам осуществления настоящего изобретения.

Подробное описание

Как вкратце описано выше, варианты осуществления настоящего изобретения имеют целью предоставление способов, систем и компьютерных продуктов для раскрытия программирования интерфейса пользователя приложения, чтобы предоставить возможность модифицирования связанного интерфейса пользователя для добавления, удаления, деактивации, активации и переназначения новых или существующих компонентов интерфейса пользователя. В следующем подробном описании приводятся ссылки на прилагаемые чертежи, которые формируют часть описания и в которых в качестве иллюстраций показаны конкретные варианты осуществления или примеры. В рамках сущности или объема настоящего изобретения эти варианты осуществления могут комбинироваться, могут быть использованы другие варианты осуществления, а также могут быть выполнены структурные изменения. Следующее подробное описание, следовательно, не должно быть истолковано в ограничивающем смысле, и объем настоящего изобретения определяется пунктами прилагаемой формулы изобретения и их эквивалентами.

Ниже, со ссылкой на эти чертежи, где одинаковые номера обозначают одинаковые элементы, описаны аспекты настоящего изобретения и пример компьютерного оборудования. Фиг.1 и следующее разъяснение предназначены для предоставления краткого, общего описания подходящего компьютерного оборудования, в котором может быть реализовано настоящее изобретение. Несмотря на то, что настоящее изобретение описано в общем контексте программных модулей, которые выполняются в сочетании с прикладной программой, которая работает в операционной системе на персональном компьютере, специалистам в данной области техники будет очевидно, что настоящее изобретение также может быть реализовано в сочетании с другими программными модулями.

В общем, программные модули включают в себя процедуры, программы, компоненты, структуры данных и другие типы структур, которые выполняют конкретные задачи или осуществляют конкретные абстрактные типы данных. Более того, специалистам в данной области техники будет очевидно, что настоящее изобретение может быть использовано с другими конфигурациями компьютерных систем, включающими в себя карманные устройства, многопроцессорные системы, основанную на микропроцессорах или программируемную потребительскую электронику, миникомпьютеры, мэйнфреймы и т.п. Настоящее изобретение может быть применено в распределенных вычислительных средах, где задачи выполняются посредством удаленных устройств обработки, которые объединены через сеть связи. В распределенной вычислительной среде программные модули могут быть расположены как в локальном, так и в удаленном устройстве хранения.

Варианты осуществления настоящего изобретения могут быть реализованы как компьютерный процесс (способ), вычислительная система или как изделие, такое как компьютерный программный продукт или машиночитаемый носитель. Компьютерный программный продукт может быть компьютерным средством хранения, которое может быть считано компьютерной системой и кодирует компьютерную программу, состоящую из инструкций для выполнения компьютерного процесса. Компьютерный программный продукт может также быть распространяемым сигналом на носителе, который может быть считан компьютерной системой и который кодирует компьютерную программу, состоящую из инструкций для выполнения компьютерного процесса.

Ссылаясь на Фиг.1, иллюстративная система для осуществления настоящего изобретения включает в себя вычислительное устройство, такое как вычислительное устройство 100. В базовой конфигурации вычислительное устройство 100, как правило, включает в себя, по меньшей мере, один процессорный блок 102 и системную память 104. В зависимости от точной конфигурации и типа вычислительного устройства системная память 104 может быть энергозависимой (такой как ОЗУ), энергонезависимой (такой как ПЗУ, флэш-память и т.п.) или сочетанием этих двух типов памяти. Системная память 104, как правило, включает в себя операционную систему 105, подходящую для управления работой сетевого персонального компьютера, такую как операционные системы WINDOWS® компании MICROSOFT CORPORATION Редмонд, Вашингтон. Системная память 104 может также включать в себя одно или более программных приложений 106, 120, а также программные данные 107. Проиллюстрированная на Фиг.1 базовая конфигурация определяется компонентами, заключенными внутри пунктирной линии 108.

Согласно вариантам осуществления настоящего изобретения приложение 106 может содержать множество типов программ, таких как программа электронной почты, программа планировщика, программа просмотра Интернет-ресурсов и т.п. Примером таких программ является OUTLOOK® компании MICROSOFT CORPORATION. Приложение 106 может также содержать многофункциональное программное приложение для предоставления множества типов функциональных возможностей. Такое многофункциональное приложение может включать в себя несколько программных модулей, таких как программа обработки текста, программа для работы с электронными таблицами, программа слайдовых презентаций, программа для работы с базами данных и т.п. Примером такого многофункционального приложения является OFFICE™ компании MICROSOFT CORPORATION. Встраиваемое дополнительное программное приложение 120 может содержать любое программное приложение, которое может быть добавлено к приложениям 106 для усовершенствования или предоставления дополнительных функциональных возможностей в приложения 106, как описано ниже. В добавление, встраиваемое дополнительное программное приложение может включать в себя основанные на документе программные решения, например документ электронной таблицы, который включает в себя присоединенные панели инструментов, или документ обработки текста, который содержит макрос или код, который добавляет панель инструментов с кнопками или элементами управления.

Вычислительное устройство 100 может иметь дополнительные функции или функциональные возможности. Например, вычислительное устройство 100 может также включать в себя дополнительные устройства хранения данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или лента. На Фиг.1 проиллюстрированы такие дополнительные устройства хранения, как съемное устройство 109 хранения и несъемное устройство 110 хранения. Компьютерное средство хранения может включать в себя энергозависимое и энергонезависимое, съемное и несъемное средство, реализованное посредством какого-либо способа или технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Системная память 104, съемное устройство 109 хранения и несъемное устройство 110 хранения представляют собой примеры компьютерного средства хранения. Компьютерное средство хранения включает в себя, но не ограничивается перечисленным, ОЗУ, ПЗУ, ЭСППЗУ, флэш-память или другой тип памяти, диски CD-ROM, цифровые универсальные диски (DVD) или иные оптические дисковые носители, магнитные кассеты, магнитные ленты, магнитные дисковые носители или другие магнитные устройства хранения, или любое другое средство, которое может быть использовано для хранения желаемой информации и к которому может быть выполнен доступ вычислительным устройством 100. По существу, компьютерное средство хранения может быть частью устройства 100. Вычислительное устройство 100 может также содержать устройство(а) 112 ввода, такое как клавиатура, мышь, ручка, устройство голосового ввода, устройство сенсорного ввода и т.п. Вычислительное устройство 100 также может включать в себя устройство(а) 114 вывода, такое как дисплей, громкоговорители, принтер и т.п. Эти устройства хорошо известны и подробно здесь не рассматриваются.

Вычислительное устройство 100 может также содержать соединения 116 связи, которые предоставляют возможность устройству осуществлять связь с другими вычислительными устройствами 118 через сеть в распределенном вычислительном окружении, например через интранет или Интернет. Соединение 116 связи является одним примером средства связи. Средство связи, как правило, может быть реализовано посредством машиночитаемых инструкций, структур данных, программных модулей или других данных в модулированном данными сигнале, таком как несущая волна или другой механизм передачи, и оно включает в себя любое средство доставки информации. Термин «модулированный сигнал данных» обозначает сигнал, у которого одна или более характеристик установлены или изменены таким образом, чтобы кодировать в сигнале информацию. В качестве примера, но не ограничиваясь перечисленным, средство связи включает в себя проводное средство, такое как проводная сеть или прямое проводное соединение, и беспроводное средство, такое как акустическое, радиочастотное, инфракрасное и другие беспроводные средства. Термин "машиночитаемое средство" включает в себя как средство хранения, так и средство связи.

Фиг.2 представляет собой изображение экрана компьютера, иллюстрирующее пример интерфейса пользователя, который может быть модифицирован согласно вариантам осуществления настоящего изобретения. Специалистам в данной области техники будет очевидно, что проиллюстрированный на Фиг.2 пример интерфейса пользователя предназначен только для целей примера и иллюстрации. То есть, варианты осуществления настоящего изобретения могут быть использованы для множества различных интерфейсов пользователя с различными компонентами интерфейса пользователя и различными схемами расположения интерфейса пользователя. Соответственно, описание настоящего изобретения в контексте примера интерфейса пользователя, проиллюстрированного на Фиг.2, не следует рассматривать как каким-либо образом ограничивающее или ограничительное для формулы изобретения.

Проиллюстрированный на Фиг.2 интерфейс пользователя включает в себя интерфейс пользователя в форме ленты, предназначенный для отображения выбираемых элементов управления, связанных с основанными на задачах функциональными возможностями, которые доступны в заданном программном приложении, таком как программное приложение 106, проиллюстрированное на Фиг.1. Первая часть 210 интерфейса 200 пользователя включает в себя общие выбираемые элементы управления для функциональных возможностей, не связанных с конкретной задачей, такой как сравнение теста и данных электронной таблицы. Например, часть 210 включает в себя выбираемые элементы управления для общих файловых команд, таких как "Файл - Открыть", "Файл - Сохранить" и "Печать". Согласно одному варианту осуществления настоящего изобретения, выбираемые элементы управления, входящие в первую часть 210, представляют собой элементы управления, которые могут использоваться множеством различных программных приложений, например приложением обработки текста, приложением для работы с электронными таблицами, приложением слайдовых презентаций и т.п. То есть выбираемые элементы управления, входящие в первую часть 210, могут быть элементами управления, которые обычно присутствуют и используются во множестве различных программных приложений.

Рядом с первой частью 210 интерфейса 200 пользователя расположена часть вкладок, основанных на задачах. Часть вкладок включает в себя выбираемые вкладки, связанные с основанными на задачах функциональными возможностями, предоставляемыми заданным программным приложением. Для целей примера проиллюстрированные на Фиг.2 вкладки, которые основаны на задачах, связаны с задачами, которые могут выполняться при использовании приложения обработки текста. Например, вкладка 215 "Написание" связана с функциональными возможностями, которые могут использоваться для выполнения задач написания. Вкладка 220 "Вставить" связана с функциональными возможностями, связанными с выполнением операций или задач вставки. Вкладка 230 "Параметры Страницы" связана с функциональными возможностями, предоставляемыми связанным приложением для выполнения или редактирования атрибутов параметров страницы заданного документа.

Следует понимать, что множество других основанных на задачах вкладок или выбираемых элементов управления могут быть добавлено в часть вкладок интерфейса пользователя для вызова функциональных возможностей, связанных с другими задачами. Например, вкладки задач могут быть добавлены для эффектов текста, стилей документа, рецензирования и комментирования и т.п. Кроме того, как описано выше, интерфейс 200 пользователя может использоваться для множества различных программных приложений. Например, если интерфейс 200 пользователя используется для приложения слайдовых презентаций, то вкладки, входящие в часть вкладок, могут включать в себя такие вкладки как "Создать слайды", "Вставить", "Формат", "Эффекты рисунка" и т.п., которые связаны с различными задачами, которые могут быть выполнены приложением слайдовых презентаций. Аналогично, вкладки, которые могут использоваться в части вкладок интерфейса 200 пользователя для приложения 140 для работы с электронными таблицами, могут включать в себя такие вкладки как "Данные" или "Ввод Данных", "Перечни", "Поворот Таблиц", "Анализ", "Формулы", "Страницы и Печать" и т.п., связанные с задачами, которые могут быть выполнены приложением для работы с электронными таблицами.

Непосредственно под частью 210 общих управляющих элементов и частью основанных на задачах вкладок расположена часть выбираемых элементов управления функциональными возможностями для отображения выбираемых элементов управления функциональными возможностями, связанных с выбираемыми вкладками 215, 220, 230 из части вкладок, основанных на задачах. Согласно вариантам осуществления настоящего изобретения, когда выбирается определенная вкладка, такая как вкладка 215 "Написание", то выбираемые функциональные возможности, доступные посредством связанного программного приложения для выполнения выбранной задачи, например для задачи писания, отображаются в логических группах. Например, на Фиг.2 первая логическая группа 240 отображается под заголовком "Буфер обмена". Согласно вариантам осуществления настоящего изобретения часть 240 буфера обмена включает в себя выбираемые элементы управления функциональными возможностями, которые локально сгруппированы вместе и связаны с действиями буфера обмена в рамках общей задачи написания.

Выбираемые элементы управления, представленные в части 250 "Формат", могут включать в себя такие выбираемые элементы управления как "Выравнивание Текста", "Тип Текста", "Размер Шрифта", "Межстрочный Интервал", "Жирный Шрифт", "Курсивный Шрифт", "Подчеркнутый Шрифт" и т.п. Соответственно, функциональные возможности, связанные с операциями форматирования, логически сгруппированы под общей задачей "Написание". Третья логическая группа 260 представлена под заголовком "Инструменты Написания". Часть 260 инструментов написания включает в себя такие инструменты написания, как "Найти/Заменить", "Автокорректировка" и т.п. Согласно вариантам осуществления настоящего изобретения при выполнении выбора различных основанных на задачах вкладок из части вкладок, в интерфейсе 200 пользователя представляются различные наборы выбираемых элементов управления функциональными возможностями в различных группах, связанных с выбранной вкладкой, основанной на задачах. Например, если выбирается вкладка 220 задач "Вставить", то выбираемые элементы управления функциональными возможностями, представленные в интерфейсе 200 пользователя, меняются с проиллюстрированных на Фиг.2, чтобы включать в себя выбираемые элементы управления функциональными возможностями, связанные с задачей вставки.

Как упоминалось, часто сторонние разработчики приложения или решения предоставляют программные приложения или модули, которые могут быть добавлены в существующее приложение для добавления в него новой функциональной возможности. Например, разработчик программного обеспечения может произвести программное приложение или модуль, который может быть добавлен в приложение обработки текста для добавления дополнительных свойств форматирования или других функциональных возможностей, которые недоступны в главном приложении (например, приложении обработки текста, приложении для работы с электронными таблицами, приложении слайдовых презентаций и т.п.), или встраиваемое дополнительное приложение или модуль стороннего разработчика может модифицировать или усовершенствовать функциональные возможности, которые уже предоставлены главным приложением. Варианты осуществления настоящего изобретения предоставляют доступ к программированию, связанному с одним или более интерфейсами пользователя главного приложения, чтобы предоставить возможность стороннему разработчику приложения модифицировать интерфейсы пользователя главного приложения для предоставления компонентов интерфейса пользователя, которые применимы к добавленной или модифицированной функциональной возможности, предоставленной заданным встраиваемым дополнительным приложением или модулем.

Очевидно, что варианты осуществления настоящего изобретения не ограничены использованием в связи со встраиваемыми дополнительными приложениями. Например, сторонний разработчик может использовать аспекты настоящего изобретения, чтобы модифицировать компоненты интерфейса пользователя приложения, не принимая во внимание добавленную функциональную возможность. Например, третья сторона может пожелать изменить поведение компонента интерфейса пользователя независимо от какой-либо добавленной функциональной возможности.

Фиг.3 представляет собой упрощенную структурную схему, иллюстрирующую взаимосвязь между примером интерфейса пользователя и XML-представлением этого примера интерфейса пользователя, которое может быть изменено для модифицирования примера интерфейса пользователя согласно вариантам осуществления настоящего изобретения. Ссылаясь на Фиг.3, интерфейс 305 пользователя главного приложения 106, например приложения обработки текста, приложения для работы с электронными таблицами, приложения слайдовых презентаций и т.п., показан как интерфейс с кнопкой 310 команды "File" (Файл), кнопкой 315 "Tab1" (Вкладка 1) и кнопкой 320 "Tab2" (Вкладка 2). Как упоминалось выше со ссылкой на Фиг.2, пример интерфейса 305 пользователя, проиллюстрированный на Фиг.3, предназначен исключительно для целей примера, и он не ограничивает огромного количества кнопок, элементов управления или других выбираемых функциональных возможностей, которые могут быть предоставлены в заданном интерфейсе пользователя согласно вариантам осуществления настоящего изобретения. Пример интерфейса 305 пользователя включает в себя первую логическую группу кнопок или элементов управления 325 и вторую логическую группу кнопок или элементов управления 330. Согласно примеру интерфейса 305 пользователя кнопка 320 "Tab2" была выбрана для предоставления первой и второй логических групп кнопок или элементов управления 325, 330.

Согласно вариантам настоящего изобретения интерфейс 305 пользователя запрограммирован и структурирован в соответствии с языком разметки, таким как язык XML. Следует понимать, что могут использоваться другие языки, подходящие для программирования и структурирования интерфейса 305 пользователя. На Фиг.3 проиллюстрирован XML-файл 340 для предоставления программирования и структуры XML для примера интерфейса 305 пользователя. Например, предоставлена корневая метка <UI> с тремя дочерними метками <FILE>, <TAB1> и <TAB2>. Метка <TAB2> включает в себя две дочерние метки - метку <LG1> (первая логическая группа кнопок или элементов управления) и метку <LG2> (вторая логическая группа кнопок или элементов управления). Следует понимать, что XML-файл 340 не предназначен для иллюстрации должным образом сформированного XML-файла, а он предоставлен исключительно для целей иллюстрации.

Разработчиками главного приложения предоставляется документ или файл (не показан) XML-схемы, которая предоставляет грамматические и синтаксические правила XML, применимые для программирования и структурирования интерфейса 305 пользователя, например для добавления, удаления или иным образом модифицирования новых или существующих меток в XML-файле 340. Например, XML-схема может определять типы и наименования XML-меток, которые можно добавить в XML-файл 340. Например, XML-схема, связанная с интерфейсом 305 пользователя, может определять требования, чтобы каждая метка вкладки включала в себя, по меньшей мере, одну дочернюю метку логической группы. В другом примере, XML-схема, связанная с интерфейсом 305 пользователя, может определять, что определенные XML-метки в XML-файле 340 нельзя изменять, например, метки логических групп под заданной меткой вкладки исходного интерфейса 305 пользователя не могут быть изменены третьей стороной.

В другом примере, XML-схема может накладывать требования, что определенные свойства форматирования могут или не могут быть применены к интерфейсу 305 пользователя путем изменений XML-файла 340. Сторонним разработчикам может быть раскрыт весь файл 340 XML-схемы и весь связанный XML-файл. Альтернативно, для предоставления возможности внесения в интерфейс пользователя главного приложения ограниченного количества изменений ограниченного типа сторонним разработчикам может быть раскрыта только часть XML-файла 340, связанного с интерфейсом 305 пользователя приложения, и только часть файла связанной XML-схемы.

XML-файл 340 для интерфейса 305 пользователя главного приложения и файл связанной XML-схемы раскрываются третьей стороне 350 для предоставления ей возможности внесения изменений в XML-файл 340 в соответствии с грамматическими и синтаксическими правилами, предоставляемыми файлом связанной XML-схемы для модифицирования интерфейса 305 пользователя. Например, третья сторона 350 может предоставить встраиваемое дополнительное программное приложение, предоставляющее дополнительную функциональную возможность, которая в текущее время недоступна в главном приложении. Например, третья сторона 350 может пожелать добавить в интерфейс 305 пользователя кнопку третьей вкладки, которая при ее выборе предоставляет дополнительную логическую группу кнопок или элементов управления под добавленной кнопкой третьей вкладки, чтобы предоставить кнопки и/или элементы управления для выбора функциональной возможности, предоставленной встраиваемым дополнительным приложением третьей стороны. Например, встраиваемое дополнительное приложение третьей стороны может добавить функциональную возможность для предоставления специализированных примечаний или сносок в приложение обработки текста. Для выставления функциональной возможности, предоставленной пользователям встраиваемым дополнением, стороннему разработчику может потребоваться предоставить дополнительную вкладку в интерфейсе 305 пользователя, например вкладку "Примечания/Сноски". Кроме добавления вкладки "Примечания/Сноски" сторонний разработчик может пожелать добавить дополнительную логическую группу кнопок или элементов управления, которые отображаются в интерфейсе 305 пользователя при выборе вкладки "Примечания/Сноски", которая предоставит кнопки и/или элементы управления для выбора различных аспектов добавленной функциональной возможности примечаний и сносок. Следует понимать, что существующие кнопки и элементы управления аналогичным образом могут быть удалены из интерфейса 305 пользователя путем модифицирования связанного XML-файла 340.

Согласно одному варианту осуществления разметка, раскрываемая стороннему разработчику посредством XML-файла 340, имеет наращиваемую сущность, так что стороннему разработчику предоставляется ограниченная возможность модифицирования интерфейса 305 пользователя главного приложения. Так, согласно одному варианту осуществления сторонний разработчик не получает XML-файл 340, который предоставляет им возможность добавлять свои компоненты интерфейса пользователя в любом месте. Вместо этого, согласно этому варианту осуществления XML-файл 340 и связанная схема, раскрываемые стороннему разработчику, предоставляют ему возможность специфицировать желаемое место для нового компонента интерфейса пользователя, например, для вставки нового компонента вслед за существующим компонентом ABC, и, тогда, главное приложение интегрирует измененный XML-файл с общим XML-файлом, представляющим интерфейс 305 пользователя главного приложения, чтобы отобразить измененный интерфейс 307 пользователя.

Согласно одному варианту осуществления измененный XML-файл 355, предоставляемый каждым сторонним разработчиком, идентифицируется уникальным пространством имен XML, чтобы предотвратить модифицирование компонентов интерфейса пользователя, предоставленных или модифицированных одним встраиваемым дополнением третьей стороны, другим встраиваемым дополнением. Альтернативно, файл 355 встраиваемого дополнения третьей стороны может быть идентифицирован другим средством, например Глобальным Уникальным Идентификатором (Globally Unique Identifier, GUID) или посредством идентификации локального имени файла.

Когда третья сторона 350 получает доступ к XML-представлению 340 интерфейса 305 пользователя главного приложения, третья сторона 350 может изменить XML-представление, применяемое к интерфейсу 305 пользователя, в соответствии с файлом связанной XML-схемы для добавления желаемых кнопок или элементов управления в интерфейс 305 пользователя. Получающийся в результате измененный XML-файл 355 иллюстрирует изменения, выполненные в XML-файле 355 для интерфейса 305 пользователя. Например, ссылаясь на измененный XML-файл 355, сторонний разработчик 350 добавил метку 360 <TAB3> и вкладку 365 <LG4> (четвертую логическую группу кнопок и/или элементов управления). XML-файл 355 иллюстрирует наращиваемую сущность модификаций, которые могут быть сделаны в существующем интерфейсе пользователя согласно вариантам осуществления настоящего изобретения. То есть, поскольку примеры модификаций направлены на добавление новой вкладки (TAB3) интерфейса пользователя и связанной логической группы (LG4) кнопок или элементов управления, в отличие от выполнения глобальных изменений раскрытого XML-файла для интерфейса пользователя, в XML-файле 355 требуется выполнить только приращиваемое изменение в форме добавления новой вкладки и логической группы к существующему интерфейсу пользователя.

Когда желаемые изменения, выполненные в XML-файле 340, применяются к главному интерфейсу 305 пользователя, может быть отображен измененный интерфейс 307 пользователя, как показано на Фиг.3. На измененном интерфейсе 307 пользователя показаны добавленная третья вкладка 370 и добавленная четвертая группа 375 кнопок и/или элементов управления. Когда добавленные вкладки и логические группы кнопок или элементов управления связываются с соответствующей функциональной возможностью встраиваемого дополнительного приложения третьей стороны, выбор этих добавленных вкладок, кнопок или элементов управления приводит к выполнению связанной добавленной функциональной возможности. Таким образом, путем получения доступа к раскрытому XML-файлу и связанной XML-схеме для интерфейса пользователя главного приложения сторонний разработчик приложения получает возможность модифицировать интерфейс 305 пользователя главного приложения для предоставления требуемых кнопок и/или элементов управления для выбора функциональной возможности связанного встраиваемого дополнительного приложения.

Ниже следует выдержка из примера XML-файла, который был модифицирован или предоставлен сторонним разработчиком для добавления кнопки или элемента управления "Data Analysis" (Анализ Данных) в конец меню инструментов, причем кнопка "Data Analysis" должна быть вставлена после логической группы кнопок или элементов управления, обозначенной как "Data Tools" (Инструменты Работы с Данными). Как показано в примере XML-файла, синтаксис XML, такой как <insertAfter> (вставить после), определяется файлом связанной XML-схемы для предоставления возможности стороннему разработчику приложения вставить кнопку "Data Analysis" после логической группы кнопок или элементов управления, обозначенной как "GroupingDataTools" (Группа Инструментов для Работы с Данными). Следует понимать, что следующий пример XML-файла предназначен исключительно для целей иллюстрации, и он не ограничивает настоящее изобретение.

<tab id="msoTcidDataTab">

<chunk id="atpk:MyChunk" insertAfter="GroupingDataTools">

<bigButton label="Data Analysis" onAction="atpk:dosomething" image="someImage">

</chunk>

</tab>

Изменения в XML-файле 340 могут быть выполнены сторонними разработчиками согласно различным способам. Согласно одному варианту осуществления доступ к XML-файлу 340 и связанной XML-схеме может быть выполнен третьей стороной на уровне приложения. Например, в интерфейсе 305 пользователя может быть предоставлена кнопка или элемент управления для предоставления возможности стороннему разработчику приложения получить доступ к XML-файлу 340 и связанной XML-схеме, используемой для программирования и структурирования интерфейса пользователя. Следует понимать, что XML-файл 340 и файл связанной схемы могут быть предоставлены посредством другого средства, например через инструмент разработчика или приложение разработчика, которое может использоваться сторонним разработчиком для подготовки модификаций XML-файла 340 в соответствии с файлом связанной XML-схемы для их применения к главному приложению, когда встраиваемое дополнительное приложение третьей стороны загружается в главное приложение.

Согласно еще одному варианту осуществления интерфейс 305 пользователя, связанный с заданным главным приложением, может быть переделан на уровне документа. То есть основанный на документе интерфейс 305 пользователя может содержать модификации интерфейса пользователя, которые присущи заданному документу. Например, пользователь может создать особым образом настроенный документ, например, документ шаблона продаж для использования сотнями или тысячами торговых представителей большой компании. Поскольку документ будет использоваться таким большим числом людей, сторонний разработчик приложения может пожелать настроить интерфейс пользователя, предоставляемый главным приложением, например приложением для работы с электронными таблицами, так чтобы настроенные кнопки или элементы управления отображались в интерфейсе пользователя, когда запускается определенный документ.

Для такого основанного на документе решения может использоваться формат файла, в котором различные функциональные возможности и свойства, связанные с документом, существуют как компоненты, содержащиеся в файле-контейнере. Например, файл-контейнер может содержать один компонент, представляющий введенные пользователем данные, второй компонент, представляющий структуру данных, например структуру шаблона, третий компонент, представляющий свойства форматирования, примененного к документу, четвертый компонент, представляющий основанные на документе интерфейсы пользователя, которые настроены для данного документа, и т.д. Сторонний разработчик приложения может зайти в подобный контейнер документа и выполнить доступ к файлу XML-представления и связанной XML-схеме, применимой к компоненту интерфейса пользователя данного документа. Когда разработчик получает доступ к XML-файлу и связанной XML-схеме для интерфейса 305 пользователя, разработчик может настроить интерфейс пользователя путем модифицирования XML в соответствии со связанной XML-схемой, как описано выше.

Согласно еще одному варианту осуществления модифицированный XML-файл 355 и файл связанной XML-схемы могут быть присоединены к встраиваемому дополнению Модели Компонентных Объектов (Component Object Model, COM), поставляемому сторонним разработчиком приложения для предоставления функциональной возможности встраиваемого дополнительного приложения. Когда встраиваемое дополнение COM применяется к главному приложению, например приложению обработки текста, модифицированный XML-файл 355 используется главным приложением для отображения результирующего модифицированного интерфейса 307 пользователя.

Ссылаясь на Фиг.3, встраиваемые дополнительные приложения третьей стороны могут использоваться для добавления новых компонентов интерфейса пользователя к существующему интерфейсу пользователя главного приложения, например приложения обработки текста, приложения для работы с электронными таблицами, приложения слайдовых презентаций и т.п. Согласно одному варианту осуществления настоящего изобретения предоставлен режим "составления с нуля", когда XML-файл 340, раскрываемый стороннему разработчику приложения, удаляет все компоненты интерфейса пользователя за исключением ключевых компонентов, связанных с интерфейсом пользователя главного приложения. Связанная XML-схема, тогда, предоставляет стороннему разработчику приложения возможность обратно добавить исходные компоненты интерфейса пользователя, например первую вкладку 315, вторую вкладку 320 и управляющие элементы 325 и 330 логических групп. Кроме того, сторонний разработчик приложения может добавлять новые компоненты интерфейса пользователя в соответствии с файлом связанной схемы.

Согласно этому варианту осуществления предоставлена функция быстрого доступа для обеспечения возможности удаления из интерфейса пользователя главного приложения всех компонентов интерфейса пользователя за исключением ключевых компонентов, а также, чтобы предоставить разработчику встраиваемого дополнения широкие возможности в части управления настройкой интерфейса пользователя, поскольку разработчик встраиваемого дополнения может начать работу с, по существу, пустого интерфейса пользователя, из которого необходимо построить настроенный интерфейс пользователя. Согласно одному варианту осуществления эта функция быстрого доступа представляет собой XML-атрибут, который при установлении в положение "true" (истина) вызывает удаление большей части или всех исходных компонентов интерфейса пользователя.

Доступ разработчиков встраиваемого дополнения к некоторым областям заданного интерфейса 305 пользователя главного приложения и к некоторым компонентам этого интерфейса пользователя может быть запрещен. То есть некоторые области интерфейса пользователя главного приложения и некоторые компоненты могут быть специфицированы так, что сторонние разработчики встраиваемого дополнения не имеют возможности удалять или иным образом модифицировать эти области или компоненты. Например, ссылаясь на интерфейс 305 пользователя главного приложения с Фиг.3, может быть желательным, чтобы кнопка 310 "Файл", предназначенная для предоставления определенных функциональных возможностей для различных приложений, например для приложения обработки текста, приложения для работы с электронными таблицами, приложения слайдовых презентаций и т.п., не могла быть изменена, удалена или каким-либо образом переназначена сторонним разработчиком встраиваемого дополнения. Так, доступ сторонних разработчиков встраиваемого дополнения к кнопке 310 "Файл" может быть запрещен. Аналогично, когда определенные компоненты интерфейса пользователя добавляются в заданный интерфейс пользователя, эти компоненты могут быть спроектированы так, чтобы блокировать возможность дополнительных встраиваемых приложений третьей стороны вносить изменения в эти компоненты интерфейса пользователя, предоставленные предыдущим встраиваемым дополнением.

Согласно одному варианту осуществления настоящего изобретения, если встраиваемое дополнительное приложение третьей стороны деинсталлируется из главного приложения, то модифицированный XML-файл, примененный к интерфейсу пользователя главного приложения для добавления или иным образом изменения компонентов интерфейса пользователя, связанных с деинсталлируемым встраиваемым приложением, анализируется и изменения интерфейса пользователя главного приложения, связанные со встраиваемым дополнительным приложением, деактивируются так, что изменения интерфейса пользователя главного приложения не отображаются в интерфейсе пользователя, когда связанное встраиваемое дополнительное приложение деинсталлировано. Аналогично, при закрытии основанного на документе решения, которое модифицировало исходный графический интерфейс пользователя, графический интерфейс пользователя отображается так, что изменения графического интерфейса пользователя, связанные с модифицированием XML-представления, не выводятся в графическом интерфейсе пользователя.

Путем доступа к XML-файлу 340, представляющему интерфейс 305 пользователя главного приложения, существующие компоненты интерфейса пользователя могут быть переназначены, так что переназначенные компоненты впоследствии демонстрируют другое поведение. Например, существующий компонент интерфейса пользователя может быть активирован, деактивирован или он может быть ассоциирован с другим действием приложения. Например, сторонний разработчик приложения может пожелать, чтобы заданную кнопку, например кнопку "Печать" в интерфейсе пользователя главного приложения, можно было использовать исключительно для печати документа согласно предписанным настройкам печати, связанным со встраиваемым дополнительным приложением третьей стороны. В еще одном примере кнопка или управляющий элемент заданной функции могут быть деактивированы в тех случаях, когда эта функция конфликтует с работой функции, добавленной в главное приложении встраиваемым дополнительным приложением.

Фиг.4 представляет собой изображение экрана компьютера, иллюстрирующее пример контекстного интерфейса пользователя, который может быть модифицирован согласно вариантам осуществления настоящего изобретения. Специалистам в данной области техники будет очевидно, что показанный на Фиг.4 контекстный интерфейс пользователя предназначен только для целей примера, и он не ограничивает множество различных раскладок и типов содержимого, которое может быть применено и включено в контекстный интерфейс пользователя, который может быть предоставлен в связи с выбранным объектом документа. Соответственно, показанный на Фиг.4 контекстный интерфейс пользователя никоим образом не ограничивает или не является ограничительным для настоящего изобретения. Например, показанный на Фиг.4 и описанный ниже контекстный интерфейс пользователя представлен в форме меню интерфейса пользователя, которое разворачивается в связи с выбранным объектом. Однако этот вариант осуществления настоящего изобретения может быть реализован в других формах, таких как добавление в исходный интерфейс 305 пользователя кнопок или элементов управления, таких как вкладки, которые разворачиваются в интерфейсе пользователя при выборе объекта в электронном документе.

Ссылаясь на Фиг.4, документ, включающий в себя внедренный графический объект 410, проиллюстрирован в рабочей области приложения обработки текста. Согласно вариантам осуществления настоящего изобретения контекстное меню 420 может быть запущено рядом или близко к выбранному объекту посредством различных способов, которые включают в себя выбор заданного объекта документа, такого как пример графического объекта 410, но не ограничиваются этим. Контекстное меню 420 включает в себя выбираемые элементы управления функциональными возможностями, которые относятся к редактированию выбранного объекта в выбранном документе. То есть контекстное меню 420 наполняется одним или более выбираемыми элементами управления функциональными возможностями, которые могут использоваться для редактирования конкретного выбранного объекта в выбранном документе. Например, ссылаясь на показанное на Фиг.4 контекстное меню 420, контекстное меню запускается в контексте выбранного графического объекта 410. Соответственно, выбираемые элементы управления функциональными возможностями, такие как элементы управления "Вставить", "Копировать", "Позиция", "Сбросить Рисунок" и т.п., предоставляют пользователю функциональные возможности для редактирования атрибутов выбранного графического объекта 410. Специалистам в данной области техники будет очевидно, что если контекстное меню 420 запускается в контексте другого типа объекта, то выбираемые элементы управления функциональными возможностями, наполняющие контекстное меню 420, будут относиться к другому типу объекта.

Согласно вариантам осуществления настоящего изобретения благодаря раскрытию XML-файла 340 и связанной XML-схемы для контекстного интерфейса 420 пользователя сторонние разработчики могут добавлять или модифицировать содержимое интерфейса пользователя, входящее в контекстный интерфейс 420 пользователя, для создания специализированного содержимого и компонентов контекстного интерфейса пользователя, связанных с встраиваемой дополнительной функциональной возможностью, которая может быть применена к выбранному объекту документа. Например, ссылаясь на Фиг.4, встраиваемое дополнительное приложение третьей стороны может предоставить дополнительную функциональную возможность для модифицирования или форматирования графического объекта 410 сверх функциональных возможностей, предоставляемых в контекстном интерфейсе 420 пользователя главного приложения. Как описано выше в связи с Фиг.3, сторонний разработчик встраиваемого дополнения может добавлять, деактивировать, переназначать или иным образом модифицировать компоненты интерфейса пользователя в контекстном интерфейсе 420 пользователя в связи со встраиваемым дополнительным приложением третьей стороны. Например, если встраиваемое дополнительное приложение предоставляет дополнительную функциональную возможность форматирования, которая может использоваться для графических объектов 410, то к контекстному интерфейсу 420 пользователя может быть добавлена дополнительная кнопка форматирования или группа кнопок и/или элементов управления форматирования, которые будут отображены в контекстном интерфейсе 420 пользователя, когда графический объект 410 выбирается для редактирования. Как описано выше, вместо модифицирования контекстного интерфейса 420 пользователя, к интерфейсу 305 пользователя (проиллюстрированному на Фиг.3) могут быть добавлены новые управляющие элементы функциональных возможностей, например новые вкладки, которые разворачиваются в интерфейсе 305 пользователя при выборе связанного объекта.

Альтернативно, в добавление к модифицированию существующего контекстного интерфейса пользователя к главному приложению может быть добавлен новый контекстный интерфейс пользователя. Например, если заданное встраиваемое дополнительное приложение добавляет одну или более функциональных возможностей для использования на выбранном объекте, то XML-файл 340 и связанная XML-схема могут быть раскрыты для создания нового контекстного интерфейса для связанных функций встраиваемого дополнения, которые будут запущены в связи с выбранным объектом. Согласно этому варианту осуществления, как описано выше, может быть предоставлен пустой XML-файл 340, чтобы обеспечить возможность создания и развертывания нового контекстного интерфейса 420 пользователя.

Фиг.5 представляет собой изображение экрана компьютера, иллюстрирующее пример галереи или набора выбираемых элементов 430 управления, которые могут быть модифицированы согласно вариантам осуществления настоящего изобретения. Следует понимать, что проиллюстрированная на Фиг.5 галерея элементов управления интерфейса 430 пользователя предназначена только для целей примера, и она не ограничивает различные раскладки интерфейса пользователя и различное содержимое интерфейса пользователя, которые могут быть применены или включены в галерею управляющих элементов интерфейса пользователя. Ссылаясь на Фиг.5, рядом с контекстным меню 420 проиллюстрирована всплывающая галерея изображений. Следует понимать, что такая галерея элементов управления может разворачиваться в других конфигурациях. Например, согласно вариантам осуществления настоящего изобретения галерея элементов управления может разворачиваться на одной линии с интерфейсом 200 пользователя или галерея может разворачиваться как выпадающий интерфейс пользователя под выбранной кнопкой или элементом управления в интерфейсе 200 пользователя. Согласно вариантам осуществления каждый элемент 435, 440, 445 управления, входящий в галерею элементов управления, представляет одну или более функциональных возможностей, например функциональных возможностей форматирования, которые будут применены к выбранному объекту, если заданный элемент управления в галерее будет выбран.

Заданное встраиваемое дополнительное приложение может добавлять к главному приложению функциональную возможность для предоставления выбранному объекту дополнительных функциональных возможностей (например, свойств форматирования), и в галерее элементов управления главного приложения может быть желательным иметь дополнительные элементы управления для одной или более из этих дополнительных функциональных возможностей. Например, ссылаясь на пример проиллюстрированной на Фиг.5 галереи элементов управления, встраиваемое дополнительное приложение третьей стороны может предоставлять настройки форматирования, которые автоматически размещают пример графического объекта в верхнем левом углу примера документа и одновременно применяют различное форматирование к тексту, содержащемуся в документе, в который входит этот графический объект. При желании разработчик встраиваемого дополнительного приложения может модифицировать галерею элементов управления интерфейса 430 пользователя главного приложения, чтобы предоставить дополнительный элемент управления, иллюстрирующий применение дополнительных свойств форматирования к выбранному документу и графическому объекту. Как описано выше со ссылкой на Фиг.3 и 4, автор встраиваемого дополнительного приложения может специфицировать в галерее элементов управления определенное местоположение, в котором должен быть размещен новый элемент управления. Например, разработчик встраиваемого дополнения может специфицировать, что новый элемент управления должен быть вставлен после элемента 440 управления "Верхний Левый".

В добавление к модифицированию существующей галереи элементов управления интерфейса пользователя, к главному приложению может быть добавлена новая галерея элементов управления интерфейса 430 пользователя. Например, если заданное встраиваемое дополнительное приложение добавляет одну или более функциональных возможностей для использования на выбранном объекте, то XML-файл 340 и связанная XML-схема могут быть раскрыты для создания новой галереи элементов управления интерфейса пользователя для связанных функций встраиваемого дополнения, которые будут запущены в связи с выбранным объектом. Как описано выше, согласно этому варианту осуществления может быть предоставлен пустой XML-файл 340, чтобы обеспечить возможность создания и развертывания нового контекстного интерфейса 420 пользователя.

После того как компоненты интерфейса пользователя добавляются в интерфейс пользователя главного приложения, как описано выше со ссылкой на Фиг.3, 4 и 5, согласно одному варианту осуществления настоящего изобретения главное приложение может автоматически масштабировать размеры добавленных компонентов интерфейса пользователя, когда область отображения для модифицированного интерфейса пользователя уменьшается или увеличивается. Например, если логическая группа кнопок или элементов управления добавляется в интерфейс пользователя главного приложения, и логическая группа кнопок или элементов управления содержит три большие кнопки, связанные с функциональной возможностью встраиваемого дополнения, то главное приложение может автоматически масштабировать отображенные кнопки, если размер окна, содержащего интерфейс пользователя, уменьшается. Например, если размер окна, содержащего интерфейс пользователя, уменьшается так, что три большие кнопки больше не могут быть отображены без сжатия других компонентов интерфейса пользователя, то три большие кнопки могут быть заменены тремя меньшими версиями этих трех больших кнопок. Если размер окна еще больше уменьшается, то меньшие версии трех кнопок могут быть удалены вообще, и вместо трех больших кнопок может использоваться маленькая текстовая индикация для трех функциональных возможностей, связанных с этими тремя кнопками.

Специализированные компоненты интерфейса пользователя могут быть автоматически обновлены главным приложением, когда изменяются условия, имеющие влияние на специализированные компоненты интерфейса. Например, если в интерфейс 305 пользователя главного приложения добавляется специализированный компонент интерфейса пользователя, который предоставляет логотип или рисунок, связанный с заданным типом информации (первыми данными), то логотип или рисунок могут быть деактивированы и автоматически обновлены, когда связанная информация или данные меняются. Например, встраиваемое дополнительное метеорологическое приложение может предоставлять в интерфейс пользователя главного приложения кнопку или элемент управления, который при его выборе предоставляет прогноз погоды для заданной области. Кнопка или элемент управления в интерфейсе пользователя может быть декорирован рисунком, связанным с текущей погодой, например рисунком с солнцем для солнечной погоды, рисунком с облаками для облачной погоды и т.д. Согласно этому варианту осуществления настоящего изобретения, если состояние текущей погоды изменяется так, что рисунок или логотип, предоставленный на добавленной кнопке или элементе управления, больше неприменим, то текущий рисунок или логотип может быть автоматически деактивирован, и эта кнопка или элемент управления обновляются новым рисунком или логотипом, который применим к текущей информации, например текущему состоянию погоды.

Согласно вариантам осуществления главное приложение отслеживает идентичность каждого добавляемого или модифицируемого компонента интерфейса пользователя относительно встраиваемого дополнения программного приложения, ответственного за добавленный или модифицированный компонент интерфейса пользователя. Согласно одному варианту осуществления при зависании или фокусировании на добавленном компоненте интерфейса пользователя, например при зависании курсора мыши над добавленным компонентом интерфейса пользователя, может быть отображена всплывающая подсказка или иной диалог, чтобы идентифицировать встраиваемое дополнительное программное приложение, ответственное за добавленный или модифицированный компонент интерфейса пользователя, и чтобы направить пользователя к содержимому справки, доступной для описания, или чтобы предоставить другую информацию о встраиваемом дополнительном программном приложении, связанную с добавленным или модифицированным компонентом интерфейса пользователя.

Как описано выше, программирование интерфейса пользователя программного приложения раскрывается, чтобы предоставить возможность модифицирования существующих интерфейсов пользователя приложения для добавления, удаления, деактивации, активации и переназначения новых или существующих компонентов интерфейса пользователя, связанных со встраиваемыми дополнительными приложениями. Специалистам в данной области техники будет очевидно, что в рамках объема или сущности настоящего изобретения могут быть выполнены различные модификации или изменения. Другие варианты осуществления настоящего изобретения будут очевидны для специалистов в данной области техники при рассмотрении настоящего описания и применении раскрытого здесь изобретения.

1. Способ модифицирования графического интерфейса пользователя, содержащий этапы, на которых:
предоставляют графический интерфейс пользователя, содержащий один или более выбираемых элементов управления для выбора одной или более функциональных возможностей главного программного приложения;
предоставляют представление графического интерфейса пользователя на Расширяемом Языке Разметки (Extensible Markup Language, XML);
предоставляют файл XML-схемы для предоставления грамматических и синтаксических правил XML, определяющих порядок модифицирования XML-представления;
принимают встраиваемое дополнительное приложение для предоставления одной или более дополнительных функциональных возможностей в главное программное приложение;
принимают модификацию XML-представления согласно файлу XML-схемы для модифицирования графического интерфейса пользователя в соответствии с одной или более дополнительными функциональными возможностями; и
посредством главного приложения отображают графический интерфейс пользователя так, что графический интерфейс пользователя модифицируется для предоставления доступа к одной или более дополнительным функциональным возможностям.

2. Способ по п.1, в котором:
прием модификации XML-представления включает в себя прием модификации XML-представления для добавления в графический интерфейс пользователя одного или более выбираемых элементов управления, связанных с одной или более дополнительными функциональными возможностями, которые предоставляются главному программному приложению; и
отображение графического интерфейса пользователя главным приложением так, что графический интерфейс пользователя модифицируется для предоставления доступа к одной или более дополнительным функциональным возможностям, включает в себя отображение графического интерфейса пользователя главным программным приложением так, что графический интерфейс пользователя отображает один или более дополнительных выбираемых элементов управления, предоставленных главному программному приложению встраиваемым дополнительным приложением.

3. Способ по п.1, в котором прием модификации XML-представления включает в себя прием модификации для изменения поведения выбираемого элемента управления, входящего в состав графического интерфейса пользователя.

4. Способ по п.1, в котором прием модификации XML-представления включает в себя прием модификации для деактивации одного или более выбираемых элементов управления, входящих в состав графического интерфейса пользователя.

5. Способ по п.1, в котором при фокусировании на выбираемом элементе управления, входящем в состав графического интерфейса пользователя, который модифицирован согласно встраиваемому дополнительному приложению, отображают идентификационную информацию встраиваемого дополнительного приложения, связанного с модифицированным выбираемым элементом управления.

6. Способ по п.1, сверх того, содержащий этап, на котором запрещают модифицирование, согласно встраиваемому дополнительному приложению, одного или более выбираемых элементов управления, входящих в состав графического интерфейса пользователя.

7. Способ по п.1, в котором:
графический интерфейс пользователя включает в себя контекстный интерфейс пользователя для отображения одного или более выбираемых элементов управления, применяемых к выбранному объекту; и
прием модификации XML-представления включает в себя прием модификации для добавления одного или более дополнительных выбираемых элементов управления в контекстный интерфейс пользователя согласно встраиваемому дополнительному приложению.

8. Способ по п.1, в котором:
графический интерфейс пользователя включает в себя галерею выбираемых элементов управления для предоставления одного или более выбираемых элементов управления для предоставления одной или более функциональных возможностей выбранному объекту; и
прием модификации XML-представления включает в себя прием модификации для добавления одного или более дополнительных выбираемых элементов управления в галерею выбираемых элементов управления интерфейса пользователя.

9. Способ по п.1, в котором при деинсталляции встраиваемого дополнительного приложения из главного приложения отображают графический интерфейс пользователя так, что изменения графического интерфейса пользователя, связанные с модификацией XML-представления, не отображаются в графическом интерфейсе пользователя.

10. Способ по п.1, в котором при закрытии основанного на документе решения, которое модифицировало графический интерфейс пользователя, отображают графический интерфейс пользователя так, что изменения графического интерфейса пользователя, связанные с модификацией XML-представления, не отображаются в графическом интерфейсе пользователя.

11. Способ по п.1, сверх того, содержащий этап, на котором автоматически масштабируют любые компоненты интерфейса пользователя, добавленные в графический интерфейс пользователя под действием модификации XML-представления, так что любые компоненты интерфейса пользователя, добавленные в графический интерфейс пользователя, масштабируются, чтобы вмещаться в область отображения, в которой отображается графический интерфейс пользователя.

12. Способ по п.1, в котором:
прием модификации XML-представления включает в себя прием модификации XML-представления для добавления в графический интерфейс пользователя выбираемого элемента управления, связанного с дополнительной функциональной возможностью, которая предоставляется главному программному приложению, причем выбираемый элемент управления связан с первыми данными; и
при приеме изменения первых данных под действием изменения первых данных обновляют графический интерфейс пользователя, чтобы автоматически обновить выбираемый элемент управления, добавленный в графический интерфейс пользователя.

13. Машиночитаемый носитель, содержащий выполняемые компьютером инструкции, которые при выполнении их на компьютере осуществляют способ модифицирования графического интерфейса пользователя, содержащий этапы, на которых:
предоставляют представление графического интерфейса пользователя на Расширяемом Языке Разметки (Extensible Markup Language, XML);
предоставляют файл XML-схемы для предоставления грамматических и синтаксических правил XML, определяющих порядок модифицирования XML-представления;
принимают модификацию XML-представления согласно файлу XML-схемы для модифицирования графического интерфейса пользователя для добавления в графический интерфейс пользователя одного или более выбираемых элементов управления; и
отображают графический интерфейс пользователя так, что графический интерфейс пользователя отображает один или более выбираемых элементов управления, добавленных в графический интерфейс пользователя.

14. Машиночитаемый носитель по п.13, в котором при фокусировании на выбираемом элементе управления, входящем в состав графического интерфейса пользователя, который был добавлен в графический интерфейс пользователя под действием модификации XML-представления, отображают в графическом интерфейсе пользователя информацию идентификации о модификации XML-представления.

15. Машиночитаемый носитель по п.13, в котором
графический интерфейс пользователя включает в себя контекстный интерфейс пользователя для отображения одного или более выбираемых элементов управления, применяемых к выбранному объекту; и
прием модификации XML-представления включает в себя прием модификации для добавления одного или более дополнительных выбираемых элементов управления в контекстный интерфейс пользователя.

16. Машиночитаемый носитель по п.13, в котором
графический интерфейс пользователя включает в себя галерею выбираемых элементов управления для предоставления одного или более выбираемых элементов управления для предоставления одной или более функциональных возможностей выбранному объекту; и
прием модификации XML-представления включает в себя прием модификации для добавления одного или более дополнительных выбираемых элементов управления в галерею выбираемых элементов управления интерфейса пользователя.

17. Способ модифицирования графического интерфейса пользователя, содержащий этапы, на которых:
предоставляют представление графического интерфейса пользователя на Расширяемом Языке Разметки (Extensible Markup Language, XML) для обеспечения возможности модификаций графического интерфейса пользователя;
предоставляют файл XML-схемы для предоставления грамматических и синтаксических правил XML, определяющих порядок модифицирования XML-представления;
принимают модификацию XML-представления согласно файлу XML-схемы и
отображают графический интерфейс пользователя так, что графический интерфейс пользователя модифицируется под действием модификации XML-представления.

18. Способ по п.17, в котором:
прием модификации XML-представления включает в себя прием модификации XML-представления для добавления в графический интерфейс пользователя одного или более выбираемых элементов управления; и
отображение графического интерфейса пользователя так, что графический интерфейс пользователя модифицируется под действием модификации XML-представления, включает в себя отображение графического интерфейса пользователя так, что графический интерфейс пользователя отображает один или более дополнительных выбираемых элементов управления, добавленных в графический интерфейс пользователя.

19. Способ по п.17, в котором прием модификации XML-представления включает в себя прием модификации для изменения поведения выбираемого элемента управления, входящего в состав графического интерфейса пользователя.

20. Способ по п.17, в котором прием модификации XML-представления включает в себя прием модификации для деактивации одного или более выбираемых элементов управления, входящих в состав графического интерфейса пользователя.



 

Похожие патенты:

Изобретение относится к области отображения графического интерфейса на дисплеях электронных устройств, а именно к настройке графического интерфейса пользователя для, по меньшей мере, двух дисплеев.

Изобретение относится к системе и способу для передачи информации между компьютерной системой и вспомогательным устройством. .

Изобретение относится к вычислительной технике. .

Изобретение относится к способам и средствам мониторинга сетей сложной топологии и объектов, входящих в их состав, и может быть использовано для индикации, контроля состояния и управления параметрами разветвленных сетей сложной топологии различного назначения.

Изобретение относится к интерфейсам для ввода и вывода цифрового видеоизображения и звука, например HDMI (мультимедийный интерфейс высокой четкости), DVI (цифровой видеоинтерфейс).

Изобретение относится к компьютерным системам, в частности к улучшенному способу и системе для отображения информации для вычислительного устройства. .

Изобретение относится к компьютерным системам, обеспечивающим расширенное управление представления результатов поиска пользователю в соответствии с компонентом отображения с управляемым параметром.

Изобретение относится к средствам трехмерного представления коллекции данных на основе атрибута. .

Изобретение относится к области вычислительной техники, в частности к кодированию информации, и может быть использовано в системах коммуникации и защиты информации от несанкционированного доступа.

Изобретение относится к вычислительной технике и может быть использовано для решения задач определения количества резервируемых элементов, обеспечивающих заданный уровень надежности системы при заданных габаритах и ограничении затрат на ее изготовление.

Изобретение относится к способам использования сетей передачи данных для проведения тестирования и/или опроса удаленных пользователей. .

Изобретение относится к специализированным средствам вычислительной техники и может быть использовано при моделировании двухрежимных систем массового обслуживания (СМО) для сбора, регистрации статистических данных о временах наработки и восстановления и отказах элементов системы, о количестве поступивших, обслуженных и потерянных заявок и последующего расчета показателей надежности и функционирования.

Изобретение относится к области телекоммуникаций. .

Изобретение относится к способам, устройствам и пользовательским интерфейсам для формирования описательных фраз из одного или более атрибутов метаданных, а также для поиска элементов на основе метаданных.

Изобретение относится к биоинформационным методам идентификации белков и пептидов по геномным базам данных. .

Изобретение относится к электронным схемам, а более конкретно к ассоциативным запоминающим устройствам. .

Изобретение относится к области идентификации объектов с помощью радиоволн на основе технологий беспроводной передачи данных, которые присутствуют в устройствах личного пользования и могут быть использованы для вычисления количества людей на заданной территории, отнесения их к определенным группам, определения скорости и направления движения людей, определенных групп, управления поведением владельцев устройств личного пользования
Наверх