RU2431187C2 - Декларативное определение действия средства управления - Google Patents

Декларативное определение действия средства управления Download PDF

Info

Publication number
RU2431187C2
RU2431187C2 RU2008109248/08A RU2008109248A RU2431187C2 RU 2431187 C2 RU2431187 C2 RU 2431187C2 RU 2008109248/08 A RU2008109248/08 A RU 2008109248/08A RU 2008109248 A RU2008109248 A RU 2008109248A RU 2431187 C2 RU2431187 C2 RU 2431187C2
Authority
RU
Russia
Prior art keywords
action
computer
control
control means
component
Prior art date
Application number
RU2008109248/08A
Other languages
English (en)
Other versions
RU2008109248A (ru
Inventor
Никхил КОТАРИ (US)
Никхил КОТАРИ
Андрес М. САНАБРИА (US)
Андрес М. САНАБРИА
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2008109248A publication Critical patent/RU2008109248A/ru
Application granted granted Critical
Publication of RU2431187C2 publication Critical patent/RU2431187C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

Изобретение относится к области инфраструктуры разработки расширяемого средства управления. Техническим результатом является упрощение разработки компонентов пользовательского интерфейса и их адаптации к различным приложениям. Реализуемый компьютером способ задания функциональных возможностей средства управления заключается в том, что задают посредством пользовательского интерфейса средство управления, ассоциативно связывают компонент первого действия со средством управления, причем компонент первого действия и средство управления есть независимо настраиваемые компоненты; ассоциативно связывают событие со средством управления; принимают в средстве управления значение, введенное пользователем через пользовательский интерфейс, выполняют первое действие в момент времени, ассоциативно связанный с тем моментом, когда событие возникло, причем выполнение первого действия содержит выполнение логической операции над упомянутым значением, ассоциативно связывают компонент второго действия с компонентом первого действия и средством управления, при этом компонент первого действия, компонент второго действия и средство управления являются независимо настраиваемыми компонентами, и выполняют компонент второго действия при возникновении события. 3 н. и 16 з.п. ф-лы, 8 ил.

Description

Уровень техники
Приложения программного обеспечения все более и более развиваются в декларативном виде для упрощения процесса разработки. В интерфейсе пользователя и инфраструктурах разработки приложения режим логики и непользовательского интерфейса встроен в компоненты интерфейса пользователя для расширения свойств управления, ассоциативно связанных с компонентами интерфейса пользователя. Режим непользовательского интерфейса может быть встроен в составы компонентов интерфейса пользователя. Сложные средства управления могут быть весьма большими со многими отличными свойствами, которые трудно модифицировать пользователям, чтобы приспособить к различным потребностям. Большое количество свойств усложняет настройку управления, так как пользователь, возможно, не знаком со всеми ассоциативно связанными свойствами. Объектная модель становится раздутой так, что когда средство управления включает форму, то пользователи могут быть поражены функциональными возможностями, предлагаемыми этим средством управления.
Сущность изобретения
Расширяемая инфраструктура разработки средства управления используется, чтобы декларативно определить средство управления (как визуальное, так и невизуальное) и другие компоненты. Функциональные возможности средства управления могут быть расширены путем декларативного добавления режимов и семантики посредством объекта, названного действием. Это средство управления не становится чрезмерно сложным путем добавления режимов и семантики. Объект действия охватывает хорошо определенные функциональные возможности и ассоциативно связан с существующим управлением. Объект действия также ассоциативно связан с событием или некоторым другим запускающим событием так, что функциональные возможности автоматически выполняются, когда событие возникло. Функциональные возможности могут быть пакетированы в независимом компоненте приложения, так что пользователь, который не знаком с кодом программирования, может легко определить логику и функциональные возможности для приложения в среде разработки.
Эта сущность изобретения обеспечивается для введения выбора понятий в упрощенной форме, которая дополнительно описана ниже в Подробном Описании. Эта сущность изобретения не предназначена для идентификации ключевых признаков или существенных признаков заявленного изобретения и не предназначена для использования как помощь в определении объема заявленного изобретения.
Краткое описание чертежей
Фиг.1 - схема архитектуры компьютерной системы, иллюстрирующая компьютерную систему, используемую в и обеспеченную различными вариантами осуществления изобретения.
Фиг.2 - пример компонента приложения, который реализует декларативно определенные средства управления.
Фиг.3 - пример компонента приложения, который реализует декларативно определенные средства управления.
Фиг.4 - примерный компонент приложения, который реализует декларативно определенные средства управления.
Фиг.5 - примерный компонент приложения, который реализует декларативно определенные средства управления.
Фиг.6 - блок-схема операций, иллюстрирующая процесс для реализации действий декларативно определенного управления.
Фиг.7 - примерный код, показывающий, как инфраструктура разработки управления реализована в блоке разработки управления.
Фиг.8 - примерный код, показывающий, как основное управление может обеспечить функциональные возможности для действий декларативно определенного управления.
Подробное описание
Варианты осуществления настоящего раскрытия ниже описаны более полно со ссылками на сопроводительные чертежи, которые формируют его часть и которые показывают с помощью иллюстрации характерные примерные варианты осуществлений для практического применения изобретения. Это раскрытие может, однако, быть осуществлено во многих других формах, и его не следует ограничивать вариантами осуществления, сформулированными здесь; скорее эти варианты осуществления обеспечиваются таким образом, что это раскрытие будет доскональным и законченным и полностью передаст его сущность специалистам в данной области техники. Кроме того, настоящее раскрытие может быть осуществлено как способы или устройства. Соответственно настоящее раскрытие может принять форму полностью аппаратной реализации вариантов осуществления, вариантов осуществления полностью программным обеспечением или вариантов осуществления, объединяющих аспекты программного обеспечения и аппаратного обеспечения. Поэтому нижеследующее детальное описание не должно пониматься в ограничивающем смысле.
Обращаясь теперь к чертежам, в которых аналогичные цифры представляют аналогичные элементы, и ниже, описаны различные аспекты настоящего изобретения. В частности, фиг.1 и соответствующее описание предназначены для обеспечения краткого общего описания подходящей компьютерной среды, в которой могут быть реализованы варианты осуществления изобретения. В то время как изобретение описано в общем контексте программных модулей, которые выполняют на сервере и персональных компьютерных системах, специалисты в данной области техники признают, что это изобретение может быть также реализовано в комбинации с другими типами компьютерных систем и программных модулей.
В целом программные модули содержат процедуры, программы, компоненты, структуры данных и другие типы структур, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Более того, специалисты в данной области техники оценят, что это изобретение может быть применено с другими конфигурациями компьютерной системы, содержащими наладочные устройства, мультипроцессорные системы, программируемую бытовую электронику на основе микропроцессоров, миникомпьютеры, универсальные ЭВМ и т.п. Это изобретение может также быть применено в распределенных компьютерных средах, где задачи выполняются удаленными процессорными устройствами, которые соединены через сеть связи. В распределенной компьютерной среде программные модули могут быть расположены как в локальных, так и в удаленных запоминающих устройствах.
Иллюстративная операционная среда
Обращаясь теперь к фиг.1, описана иллюстративная архитектура компьютера для компьютера 100, используемого в различных вариантах осуществления изобретения. Эта архитектура компьютера, показанная на фиг.1, иллюстрирует обычные настольный или портативный компьютер, содержащий блок 110 центрального процессора ("CPU"), системную память 120, содержащую память 122 с произвольным доступом ("RAM") и постоянную память 124 ("ROM"), и системную шину 130, которая присоединяет память к CPU 110. Базовая система ввода/вывода, содержащая основные процедуры, которые помогают перемещать информацию между элементами внутри компьютера, например, во время запуска, хранится в ROM 124. Компьютер 100 дополнительно содержит запоминающее устройство 140 большой емкости для хранения операционной системы 142, прикладных программ и других программных модулей, которые описаны более подробно ниже.
Запоминающее устройство 140 большой емкости подключено к CPU 110 через контроллер массовой памяти (не показан), подключенный к шине 130. Запоминающее устройство 140 большой емкости и его ассоциативно связанные считываемые компьютером носители обеспечивают энергонезависимую память для компьютера 100. Хотя описание считываемых компьютером носителей, приведенное здесь, относится к запоминающему устройству большой емкости, такому как накопитель на жестком диске или на CD-ROM, специалистам в данной области техники следует оценить, что считываемые компьютером носители могут быть любыми имеющимися в наличии носителями, к которым можно получить доступ компьютером 100.
Например, и без ограничений, считываемые компьютером носители могут содержать в себе накопительные компьютерные носители и коммуникационные носители. Компьютерные носители включают в себя энергозависимые и энергонезависимые, сменные и несменные носители, реализованные любым способом или технологией для хранения информации, такой как считываемые компьютером инструкции, структуры данных, программные модули или другие данные. Коммуникационные носители включают в себя, но не ограничены, RAM, ROM, EPROM, EEPROM, Flash-память или другие технологии твердотельной памяти, CD-ROM, цифровые универсальные диски ("DVD") или другую оптическую память, магнитные кассеты, магнитные ленты, память на магнитном диске или другие магнитные запоминающие устройства или какую-либо другую среду, которая может использоваться для хранения требуемой информации и к которой можно получить доступ компьютером 100.
Согласно различным вариантам осуществления изобретения компьютер 100 может работать в сетевой среде, используя логические соединения с удаленными компьютерами через сеть 150, такую как Интернет. Компьютер 100 может подключиться к сети 150 через блок 160 интерфейса сети, подключенный к шине 130. Блок 160 интерфейса сети может также использоваться для подсоединения к другим типами сетей и удаленным компьютерным системам. Компьютер 100 может также включать в себя контроллер 170 ввода/вывода для приема и обработки входных сигналов от некоторого количества других устройств, включая клавиатуру, мышь или электронное перо (не показаны на фиг.1). Точно так же контроллер 170 ввода/вывода может вызывать выходные сигналы на экран дисплея, принтер или другой тип устройства вывода.
Как уже было кратко упомянуто выше, некоторое количество программных модулей и файлов данных могут быть сохранены в запоминающем устройстве 140 большой емкости и RAM 122 компьютера 100, включая приложение 148 и операционную систему 142, что является подходящим для управления работой сетевого персонального компьютера с операционной системой, такой как WINDOWS XP от MICROSOFT CORPORATION, Редмонд, Вашингтон. Запоминающее устройство 140 большой емкости и RAM 122 могут также хранить один или более программных модулей. В частности, запоминающее устройство 140 большой емкости и RAM 122 могут хранить прикладную программу 144 веб-браузера. Прикладная программа 144 web-браузера служит для того, чтобы запрашивать, принимать, воспроизводить и обеспечивать интерактивность с электронными документами, такими как веб-страница 146, которая была отформатирована, используя HTML. Согласно одному варианту осуществления изобретения прикладная программа 144 веб-браузера является прикладной программой веб-браузера INTERNET EXPLORER от MICROSOFT CORPORATION. Однако следует оценить, что и другие прикладные программы веб-браузера от других изготовителей могут использоваться для осуществления различных аспектов настоящего изобретения, такие как приложение веб-браузера FIREFOX от MOZILLA FOUNDATION.
Декларативное определение действия со средством управления
Инфраструктура разработки расширяемого средства управления используется, чтобы декларативно определить средство управления (как визуальное, так и невизуальное) и другие компоненты. Функциональные возможности управления могут быть расширены путем декларативного добавления режимов и семантики посредством объекта, названного действием. Это средство управления не становится чрезмерно сложным путем добавления режимов и семантики. Объект действия кратко заключает в себе хорошо определенные функциональные возможности и ассоциативно связан с существующим управлением. Объект действия также ассоциативно связан с событием или некоторым другим инициирующим событием так, что функциональные возможности автоматически выполняются, когда событие возникло. Эти функциональные возможности могут быть пакетированы в независимом компоненте приложений, таком, что пользователь, который не знаком с программированием кода, может легко определить логику и функциональные возможности для приложения в среде разработки.
Эта инфраструктура упрощает быструю разработку приложений (RAD). Проектировщик может выбрать и расположить компоненты приложений, используя поверхность визуального конструирования. Эти компоненты приложений могут быть подключены, используя поверхность визуального конструирования. Эти компоненты приложений могут также быть настроены со свойствами с помощью записи кода для обработки событий и выполнения операций, имеющих отношение к событию. Эти компоненты приложений могут быть автоматически вызваны, когда событие возникло. Эта инфраструктура применима к другим средам разработки, включая веб-дизайн, программирование на основе сценариев, программирование на основе форм и т.п.
Инфраструктура разработки средства управления объясняется со ссылкой на событие щелчка, ассоциативно связанного со средством управления «кнопка». Следует оценить, что хотя варианты осуществления, описанные здесь, представлены в контексте события щелчка, ассоциативно связанного со средством управления «кнопка», любое событие или инициирующее событие, определенные в отношении интерфейсов управления, могут быть использованы.
Инфраструктура разработки средства управления пакетирует функциональные возможности управления в компоненты. Эти компоненты являются ассоциативно связанными, используя декларативные действия и режимы. Фиг.2 иллюстрирует примерный компонент, который реализует декларативно определенные средства управления. Разработчик может создать компонент 200 регистрации как сложное средство управления по форме с индивидуальными средствами управления в виде текстовых окон 210, 212 и средством управления 220 «кнопка». Каждое средство управления в пределах компонента 200 регистрации есть независимый объект, который является индивидуально доступным по этой форме, так что средства управления могут быть настроены и повторно позиционированы. Пользователь может ввести значения в текстовых окнах 210, 212 и щелкнуть по средству управления 220 «кнопка». Событие щелчка, возникшее благодаря средству управления 220 «кнопка», ассоциативно связано с методом 230 регистрации.
Метод 230 регистрации включает в себя примерный код для того, чтобы декларативно определить средства управления. Метод 230 регистрации «вытаскивает» значения из средств управления 210, 212 в виде текстовых окон, когда событие щелчка, ассоциативно связанное со средством управления 220 «кнопка», возникло. Метод 230 регистрации выполняет логические операции над значениями, и интерфейс пользователя обновляется в соответствии с результатом операции логики регистрации (например, регистрация предоставляется или отклоняется).
Инфраструктура разработки средства управления позволяет другим прикладным сценариям быть декларативно определенными без создания специализированных средств управления для каждого конкретного сценария. Обращаясь к примерному коду в методе 230 регистрации, сценарий регистрации реализован без управления регистрацией. Компонент 200 регистрации определен средствами управления, такими как два текстовых окна 240, 250 и кнопка 260. Текстовые окна 240, 250 и кнопка 260 могут быть независимо настроены и повторно позиционированы, потому что средства управления не ограничены структурой конкретной формы. Каждое текстовое окно 240, 250 имеет ассоциативно связанные текстовые свойства 265, 270 (например, имя, пароль), и кнопка 260 также ассоциативно связана с текстовыми свойствами 275 (например, Щелкните Мной, Click Me).
Кнопка 260 ассоциативно связана с действиями щелчка ClickActions 280. ClickActions 280 содержит действие регистрации LoginAction 285. LoginAction 285 есть компонент регистрации, который может быть настроен (например, имя и пароль). LoginAction 285 автоматически запускается, когда событие щелчка возникло, потому что LoginAction 285 содержится в ClickActions 280. Декларативно определенный компонент 200 регистрации имеет те же самые функциональные возможности, что и средство управления регистрацией, определенное написанным кодом. Декларативно определенное средство управления выгодно из-за добавленной гибкости программирования, используя строительные блоки средства управления на поверхности визуального конструирования. Разработчик может дополнительно настроить средства управления на поверхности визуального конструирования в случае необходимости.
Фиг.3 иллюстрирует, как инфраструктура разработки средства управления присоединяет дополнительный режим к средству управления. Присоединение дополнительного режима описано со ссылкой на кнопку 310 на интерфейсе 300 пользователя. Интерфейс 300 пользователя может также содержать текстовые окна 305 для пользователя, чтобы ввести значения данных. Эти текстовые окна 305 могут быть сгруппированы (например, текстовые окна 305 сгруппированы и названы "Группой 1".). Кнопка 310 ассоциативно связана со способом 320 расширения свойств.
Способ 320 расширения свойств определяет простое средство управления 330 «кнопка» с текстовым свойством 340. Событие щелчка (например, действие проверки ValidationAction 350, действие счета (CounterAction) 360 и действие последовательности операций (WorkflowAction 370)) возникает, когда щелкают кнопкой 310.
Прикладные семантики могут быть присоединены к кнопке 310 в расширяемом виде так, что свойства средства управления могут быть легко изменены. Свойства средства управления могут запускать или вызывать какую-любую логику приложения (императивную или декларативную), как сконфигурировано. Например, ValidationAction 350, CounterAction 360 и WorkflowAction 370 могут все быть выполнены, когда щелкают кнопкой 310. ValidationAction 350 проверяет данные значений в текстовых окнах 305, идентифицированных как Группа l в интерфейсе 300 пользователя, когда щелкают кнопкой 310. CounterAction 360 выполняет отсчет количества раз, которое щелкают кнопкой 310. WorkflowAction 370 начинает или продолжает выполнение любой логики (императивной или декларативной), ассоциативно связанной с приложением (таким как последовательность операций), когда щелкают кнопкой 310. Таким образом, добавочные свойства декларативно присоединены к кнопке 310 без усложнения существующей объектной модели или требования создания новой объектной модели.
Фиг.4 иллюстрирует, как инфраструктура разработки средства управления обеспечивает подход открытости и строгого набора текста к средству управления. Средство управления вид формы FormView ассоциативно связано с содержанием из строки базы данных. Кнопочное средство управления, ассоциативно связанное со средством управления FormView, выполняет операции базы данных по строке. Например, кнопка «Update» (обновление) может быть ассоциативно связана со средством управления FormView, как показано ниже:
<asp:Button CommandName = "Update"/>,
где "Update" - строковое свойство.
Средство управления FormView, в частности, ищет имя команды, названное «Update». Логика обновления выполняется, когда кнопкой щелкают. Однако логика обновления не является обнаруживаемой в современных инфраструктурах средств управления. Другими словами, разработчик, который использует средство управления FormView в программе, может не знать подкоманд, ассоциативно связанных со средством управления FormView. В дополнение, не ясно, является ли имя команды чувствительным к регистру. Например, средство управления FormView может, в частности, искать "Update" так, что результат такого "обновления" может привести к ошибке и может быть пропущен. Кроме того, типографская ошибка может быть причиной неудачи формы. Например, логика обновления не может быть выполнена, когда кнопкой щелкают, если ищут "Update 1", а не "Update". Известные инфраструктуры программирования средства управления требуют, чтобы пользователь просмотрел код, чтобы определить местонахождение типографской ошибки.
Инфраструктура разработки средства управления обеспечивает подход со строгим набором текста к программированию средств управления. Термин "строгий набор текста" относится к явному именованию и печатанию (набору текста) методов и переменных членов класса. Тип данных известен во время компиляции и, как таковой, позволяет разрешать неправильные присвоения типов данных во время компиляции, а не во время выполнения, экономя обработку и уменьшая шанс возникновения ошибок в коде. Инфраструктура разработки средства управления также обеспечивает несколько встроенных действий. Как было описано выше, третьи стороны и разработчики приложений могут разработать новые действия, характерные для конкретных сценариев. Эти действия должны быть обнаружены в конструкторе средства управления или другими пользователями, не знакомыми с недавно определенными действиями, не знающими, что они существуют.
Подходы к возможности обнаружения и строгого набора текста описаны со ссылками на кнопку 410 на интерфейсе 400 пользователя. Интерфейс 400 пользователя может также содержать текстовое окно 405, чтобы пользователь вводил значения данных, таких как "элемент". Кнопка 410 ассоциативно связана с методом 420 подхода возможности обнаружения и строгого набора текста. Метод 420 подхода возможности обнаружения и строгого набора текста определяет средство управления 430 FormView и простое средство 440 кнопочного управления с текстовым свойством 445.
Разработчику нет необходимости знать конкретный набор строк, используемых средством управлением 430 FormView. Вместо этого объектная модель ассоциативно связанного действия обеспечивает эту информацию. Средство 440 кнопочного управления не содержит имя команды. Кнопочное средство 440 управления содержит действие 450 FormViewAction внутри ClickActions 460, ассоциативно связанных с кнопкой 440. FormViewAction 450 содержит свойство 470 Операция = "Edit (редактирование)". Свойство 470 Операция = "Edit" есть перечислимый тип (вместо строкового) так, что это свойство ассоциативно связано с фиксированным набором значений (например, редактировать, удалить, обновить и т.д.). Перечислимые типы позволяют редактору и анализатору предписывать действительное значение для перечисления. Например, разработчик может напечатать "Oparation =". Выпадающее меню 480 может быть затем показано на дисплее с другими значениями перечисления, из которых пользователь может выбрать действительное значение. Таким образом, разработчик может обнаружить подкоманды, ассоциативно связанные со средством управления.
Разработчик может совершить типографскую ошибку при вводе свойства 470. Например, разработчик, возможно, напечатал "Editl" или "edit", а не "Edit". Когда страница анализируется, "Editl" приводит к ошибке анализатора, потому что "Editl" - неизвестное значение. "Edit" может также привести к ошибке анализатора, если функция поиска является чувствительной к регистру. Эта ошибка не привела бы к результату, если бы значение было бы строкой. Вместо этого событие щелчка, созданное кнопкой 410, не будет иметь результатом никакого действия. Таким образом, свойство перечислимого типа есть значения строгого набора, которые удаляют класс ошибок, вызванных неверной печатью разработчика.
Фиг.5 иллюстрирует, как инфраструктура разработки средства управления может использоваться применительно к результату средства управления. Интерфейс 500 пользователя устроен так, чтобы принимать ввод для выполнения поиска. Текстовое окно 510 выполнено с возможностью приема терминов поиска. Пользователь может щелкнуть кнопкой 520 поиска, чтобы начать поиск. Результаты показаны на дисплее как список поиска на панели 530.
Кнопка 520 поиска может быть ассоциативно связана с методом 540 применения эффекта так, что эффект (результат) может быть применен к списку поиска, когда он показан на дисплее на панели 530. Например, анимационный эффект усиления, такой как FadeInEffect 550 может быть применен к целевому объекту 560, такому как список поиска. Список поиска становится ярче, когда показывается на дисплее на панели 530. FadeInEffect 550 содержит метод 570 игры, который вызывается событием 580 щелчка. Событие 580 щелчка также присоединяет свойство 590 к панели 530 так, что панель 530 становится видимой. Когда щелкают кнопкой 520 поиска, FadeInEffect 550 применяется к панели 530, и панель 530 становится видимой. Таким образом, способ может быть декларативно определен путем вызова метода и определения конкретной цели.
Фиг.6 - блок-схема последовательности операций, иллюстрирующая процесс действий декларативно определенного средства управления. Этот процесс начинается на этапе операции начала, где средство управления устроено так, чтобы выполнить функцию.
Обработка продолжается на этапе 600, где действие ассоциативно связано со средством управления. Например, средство управления может быть кнопочным средством управления, средством управления текстового окна или средством управления просмотра формы. Это действие охватывает режимы и семантику так, что функциональные возможности средства управления расширяются. Действие есть независимый компонент приложения, так что управление не становится чрезмерно сложным, когда действие ассоциативно связано со средством управления. Независимый компонент приложения позволяет определить действие как строительные блоки в среде разработки приложения. Разработчик может легко разработать приложение, собирая строительные блоки, чтобы определить логику и функциональные возможности для приложения. В одном варианте осуществления действие содержит перечисленное свойство, которое идентифицирует фиксированный набор значений. Фиксированный набор значений может быть показан на дисплее разработчику, когда свойство напечатано. Если разработчик неправильно напечатал значение свойства, то в результате возникает ошибка, потому что неправильно напечатанное значение не содержится в фиксированном наборе. В другом варианте осуществления больше чем одно средство управления может быть ассоциативно связано с действием. Например, одно действие может быть вложено в другое действие. В еще одном варианте осуществления дополнительные свойства могут быть ассоциативно связаны со средством управления.
Переходя к этапу 610, событие ассоциативно связывают со средством управления. Например, если средство управления есть кнопка, ассоциативно связанное событие может быть событием щелчка, созданного кнопкой. Переходя к этапу 620, средство управления обнаруживает, что ассоциативно связанное событие должно возникнуть. В одном варианте осуществления средство управления обнаруживает, что ассоциативно связанное событие должно возникнуть, когда какое-либо значение получено в средстве управления.
Переходя к этапу 630, действие выполняется, когда событие возникло. Это действие может быть выполнено путем выполнения логической операции с этим значением. Примеры выполнения действия содержат обработку значений, проверку значений, подсчет количества раз, когда событие возникло, стартовое выполнение последовательности операций, возобновление выполнения последовательности операций, обнаружение свойств, ассоциативно связанных со средством управления, разрешение неправильных присваиваний типов данных во время компиляции, применение эффекта к средству управления и т.п.
Другие независимые действия, ассоциативно связанные с событием, могут также быть выполнены. В одном варианте осуществления процесс повторен, чтобы выполнить последовательность действий. Одно действие в последовательности может быть выполнено и возвратить значение "ложь", таким образом, прерывая последовательность действий. Обработка тогда заканчивается в конце операции.
Фиг.7 - сегмент 700 примерного кода, показывающий, как инфраструктура разработки средства управления реализована в конструкторе средства управления. Этот конструктор средства управления может автоматически предложить редактор действий для средств управления, которые поддерживают действия посредством панели задач. Этот редактор действий представляет набор действий, доступных в ассемблированном виде, к которым обращаются с помощью приложения. Эти действия обеспечивают ассоциативно связанные функциональные возможности конструктора для обеспечения богатого опыта редактирования вне сетки свойств. Сегмент 700 примерного кода указывает, что действие может быть выполнено прежде или после того, как происходит событие.
Базовый класс обеспечивается для всех действий средства управления. Каждое действие может определить, выполняется ли действие прежде или после того, как событие возникло. Значение возврата является значащим для действий, которые выполняют прежде, чем событие возникло. Действие может возвращать "истина", чтобы отменить последующее возникновение события. Действие может быть использовано в настройке режима возврата. Средства управления могут обращаться к действиям, реализующим интерфейс для действий, ассоциативно связанных с событиями, имеющими отношение к событиям возврата.
Фиг.8 - сегмент 800 примерного кода, показывающий, как основное средство управления «кнопка» может обеспечить функциональные возможности для декларативного определения действий управления.
Вышеупомянутое описание, примеры и данные обеспечивают полное описание изготовления и использования сущности изобретения. Поскольку многие варианты осуществления изобретения могут быть выполнены без отрыва от сущности и объема изобретения, это изобретение определено в прилагаемой формуле изобретения.

Claims (19)

1. Реализуемый компьютером способ задания функциональных возможностей средства управления, заключающийся в том, что:
задают посредством пользовательского интерфейса средство управления,
ассоциативно связывают компонент первого действия со средством управления, причем компонент первого действия и средство управления есть независимо настраиваемые компоненты;
ассоциативно связывают событие со средством управления;
принимают в средстве управления значение, введенное пользователем через пользовательский интерфейс,
выполняют первое действие в момент времени, ассоциативно связанный с тем моментом, когда событие возникло, причем выполнение первого действия содержит выполнение логической операции над упомянутым значением,
ассоциативно связывают компонент второго действия с компонентом первого действия и средством управления, при этом компонент первого действия, компонент второго действия и средство управления являются независимо настраиваемыми компонентами, и
выполняют компонент второго действия при возникновении события.
2. Реализуемый компьютером способ по п.1, в котором выполнение действия дополнительно содержит ассоциативное связывание логических семантик со средством управления, причем логические семантики являются характерными для приложения, ассоциативно связанного со средством управления.
3. Реализуемый компьютером способ по п.1, в котором выполнение первого или второго действия дополнительно содержит определение количества раз, когда это событие возникло.
4. Реализуемый компьютером способ по п.1, в котором выполнение первого или второго действия дополнительно содержит начало выполнения логики, ассоциативно связанной с приложением.
5. Реализуемый компьютером способ по п.1, в котором выполнение первого или второго действия дополнительно содержит возобновление выполнения логики, ассоциативно связанной с приложением.
6. Реализуемый компьютером способ по п.1, в котором выполнение первого или второго действия дополнительно содержит применение эффекта к средству управления.
7. Реализуемый компьютером способ по п.1, в котором выполнение первого или второго действия дополнительно содержит проверку достоверности значения.
8. Реализуемый компьютером способ по п.1, в котором выполнение первого или второго действия дополнительно содержит разрешение неправильного присвоения данных, ассоциативно связанного со значением.
9. Реализуемый компьютером способ по п.1, в котором выполнение первого или второго действия дополнительно содержит обнаружение свойства, ассоциативно связанного со средством управлением.
10. Реализуемый компьютером способ по п.1, в котором момент времени, ассоциативно связанный с моментом времени, когда событие возникло, есть момент времени перед тем, как событие возникло.
11. Реализуемый компьютером способ по п.1, в котором момент времени, ассоциативно связанный с моментом времени, когда событие возникло, есть момент времени после того, как событие возникло.
12. Система для задания функциональных возможностей средства управления, содержащая:
пользовательский интерфейс для задания средства управления с помощью поверхности визуального конструирования,
компонент первого действия, ассоциированный со средством управления;
компонент второго действия, ассоциативно связываемый с первым действием и средством управления с помощью поверхности визуального конструирования, причем первое действие, второе действие и средство управления есть независимо настраиваемые компоненты; и
событие, ассоциативно связанное со средством управления, при этом компонент первого действия и компонент второго действия выполняются, когда событие возникло.
13. Система по п.12, в которой второе действие вложено в первое действие.
14. Система по п.12, в которой второе действие ассоциативно связано с перечисленными свойствами набора текста так, что выбор одного из перечисленных свойств набора текста заставляет выбор правильного свойства быть ассоциативно связанным со вторым действием.
15. Система по п.12, в которой второе действие отменяет выполнение третьего действия, когда второе действие выполняется.
16. Считываемый компьютером носитель, имеющий выполняемые компьютером инструкции, которые при исполнении их компьютером вынуждают компьютер выполнять способ по п.1.
17. Считываемый компьютером носитель по п.16, в котором ассоциирование второго действия с первым действием дополнительно содержит вложение второго действия в первое действие.
18. Считываемый компьютером носитель по п.16, дополнительно содержащий ассоциирование второго действия с перечисленными свойствами набора текста так, что выбор одного из перечисленных свойств набора текста заставляет правильный выбор свойств быть ассоциативно связанным со вторым действием.
19. Считываемый компьютером носитель по п.16, в котором выполнение первого действия дополнительно содержит ассоциирование логических семантик со средством управления, причем логическая семантика является характерной для приложения, ассоциативно связанного со средством управления.
RU2008109248/08A 2005-09-12 2006-08-29 Декларативное определение действия средства управления RU2431187C2 (ru)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US71656205P 2005-09-12 2005-09-12
US60/716,562 2005-09-12
US11/333,870 2006-01-17
US11/333,870 US7730495B2 (en) 2005-09-12 2006-01-17 Declaratively defined control actions

Publications (2)

Publication Number Publication Date
RU2008109248A RU2008109248A (ru) 2009-10-10
RU2431187C2 true RU2431187C2 (ru) 2011-10-10

Family

ID=37856792

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008109248/08A RU2431187C2 (ru) 2005-09-12 2006-08-29 Декларативное определение действия средства управления

Country Status (9)

Country Link
US (1) US7730495B2 (ru)
EP (1) EP1924927B1 (ru)
JP (1) JP5108773B2 (ru)
KR (1) KR20080043345A (ru)
CN (1) CN101263484B (ru)
ES (1) ES2609508T3 (ru)
MX (1) MX2008003417A (ru)
RU (1) RU2431187C2 (ru)
WO (1) WO2007032926A1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2583736C2 (ru) * 2014-02-13 2016-05-10 Общество С Ограниченной Ответственностью "Яндекс" Система и способ отображения результатов поиска

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341598B2 (en) 2008-01-18 2012-12-25 Microsoft Corporation Declartive commands using workflows
US8504985B2 (en) * 2009-04-30 2013-08-06 Adobe Systems Incorporated Context sensitive script editing for form design
CN102929632B (zh) * 2012-11-06 2017-02-15 丁黄香 控件动作执行方法
US20160077709A1 (en) * 2014-09-12 2016-03-17 Microsoft Corporation Actionable item switcher
US9288235B1 (en) * 2014-09-17 2016-03-15 Microsoft Technology Licensing, Llc Contextually aware device management
CN107544820A (zh) * 2016-06-29 2018-01-05 平安科技(深圳)有限公司 图表展示方法及装置
US10635416B2 (en) 2018-07-31 2020-04-28 Microsoft Technology Licensing, Llc Property filtering

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6160549A (en) 1994-07-29 2000-12-12 Oracle Corporation Method and apparatus for generating reports using declarative tools
US6449659B1 (en) * 1997-07-14 2002-09-10 Microsoft Corporation System for instance customization with application independent programming of controls
US6014666A (en) 1997-10-28 2000-01-11 Microsoft Corporation Declarative and programmatic access control of component-based server applications using roles
US6083276A (en) 1998-06-11 2000-07-04 Corel, Inc. Creating and configuring component-based applications using a text-based descriptive attribute grammar
AU3875900A (en) 1999-03-11 2000-09-28 Paysys International, Inc. Methods and systems for developing applications and for interfacing with users
US6493837B1 (en) * 1999-07-16 2002-12-10 Microsoft Corporation Using log buffers to trace an event in a computer system
US6856322B1 (en) 1999-08-03 2005-02-15 Sony Corporation Unified surface model for image based and geometric scene composition
AU2001259107A1 (en) 2000-04-21 2001-11-07 Togethersoft Corporation Methods and systems for supporting and deploying distributed computing components
US6677962B1 (en) * 2000-06-26 2004-01-13 Microsoft Corporation Methods and systems for manipulating user interface controls
US6715107B2 (en) 2000-12-26 2004-03-30 International Business Machines Corporation Method and system for reducing the computation tree to include only model behaviors defined succinctly by a user via regular expressions as being of interest
US20050210263A1 (en) * 2001-04-25 2005-09-22 Levas Robert G Electronic form routing and data capture system and method
JP4536971B2 (ja) * 2001-09-28 2010-09-01 キヤノン株式会社 サーバ装置及びその制御方法
US7080092B2 (en) * 2001-10-18 2006-07-18 Bea Systems, Inc. Application view component for system integration
US7076766B2 (en) 2002-06-03 2006-07-11 Steve Wirts Software application development methods and framework
US20040046789A1 (en) 2002-08-23 2004-03-11 Angelo Inanoria Extensible user interface (XUI) framework and development environment
EP1403765B1 (en) 2002-09-25 2008-12-24 Sap Ag Method and computer system for event handling
US20040233237A1 (en) * 2003-01-24 2004-11-25 Andreas Randow Development environment for DSP
JP2004318848A (ja) * 2003-03-28 2004-11-11 Daiwa Securities Group Inc 画面自動生成装置、画面自動生成方法、画面自動生成プログラム、記録媒体、実行装置、ファイル編集装置、ファイル編集方法およびファイル編集プログラム
US7576878B2 (en) * 2003-04-03 2009-08-18 Hewlett-Packard Development Company, L.P. Enhanced management of raster image processing resources
US7644367B2 (en) 2003-05-16 2010-01-05 Microsoft Corporation User interface automation framework classes and interfaces
US7503043B2 (en) 2003-09-05 2009-03-10 International Business Machines Corporation Method of building dynamic installation packages using a declarative authoring tool
JP2005099975A (ja) * 2003-09-24 2005-04-14 Hitachi Ltd プログラム編集装置
US20050144174A1 (en) 2003-12-31 2005-06-30 Leonid Pesenson Framework for providing remote processing of a graphical user interface
JP2005227865A (ja) * 2004-02-10 2005-08-25 Fuji Xerox Co Ltd 印刷制御装置、方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2583736C2 (ru) * 2014-02-13 2016-05-10 Общество С Ограниченной Ответственностью "Яндекс" Система и способ отображения результатов поиска
US9443017B2 (en) 2014-02-13 2016-09-13 Yandex Europe Ag System and method for displaying search results

Also Published As

Publication number Publication date
EP1924927B1 (en) 2016-10-12
KR20080043345A (ko) 2008-05-16
JP5108773B2 (ja) 2012-12-26
US20070061741A1 (en) 2007-03-15
EP1924927A4 (en) 2008-12-24
WO2007032926A1 (en) 2007-03-22
MX2008003417A (es) 2008-03-27
CN101263484B (zh) 2010-09-08
JP2009508254A (ja) 2009-02-26
US7730495B2 (en) 2010-06-01
EP1924927A1 (en) 2008-05-28
CN101263484A (zh) 2008-09-10
ES2609508T3 (es) 2017-04-20
RU2008109248A (ru) 2009-10-10

Similar Documents

Publication Publication Date Title
RU2431187C2 (ru) Декларативное определение действия средства управления
US11216256B2 (en) Determining based on static compiler analysis that execution of compiler code would result in unacceptable program behavior
US8245186B2 (en) Techniques for offering and applying code modifications
US8201143B2 (en) Dynamic mating of a modified user interface with pre-modified user interface code library
US7529977B2 (en) Automated extensible user interface testing
US20060117267A1 (en) System and method for property-based focus navigation in a user interface
JP5021211B2 (ja) デジタル装置メニューエディタのための方法およびシステム
US10437574B2 (en) System and method for providing code completion features for code modules
US9575873B2 (en) Software testing system and method
US9372683B2 (en) Automatic generation of class identifiers from source code annotations
US7634722B2 (en) Reversible logic for widget and markup language generation
US8650532B2 (en) Change notification and information update based on uncompiled software development project
JP7096762B2 (ja) コントロールを使用して汎用プログラムを構成する技法
JP5303795B2 (ja) アプリケーションの解析方法、解析システム及び解析プログラム
JP4851107B2 (ja) コンピュータ実施方法
US7720209B2 (en) Developing application objects that interoperate with external objects
Arlt et al. Trends in model-based gui testing
US7856623B2 (en) Method and system for providing an enumeration assistant
US20050028152A1 (en) Method and apparatus for identifying a Java class package name without disassembling Java bytecodes
KR101684454B1 (ko) 하이브리드 애플리케이션 및 이의 이벤트 처리 방법
JP5657183B2 (ja) 第1のコンピュータ・プログラムが第2のコンピュータ・プログラムのアプリケーション・ロジックを実行することを可能にするための方法および装置、第1のコンピュータ・プログラムと第2のコンピュータ・プログラムとのインターフェースをとるためのコンピュータ・プログラム・コードを生成するための方法および装置、コンピュータ・プログラム、ならびに第1のコンピュータ・プログラムが第2のコンピュータ・プログラムのアプリケーション・ロジックを実行することを可能にするためのソフトウェア・インターフェースを提供するための方法(コンピュータ・プログラム・インターフェース)
WO2022127263A1 (zh) 一种代码处理方法以及相关设备
JP5044811B2 (ja) コンピュータ・プログラムのメニュー設計を検証する方法及びプログラム
Zaidi et al. Creating ABAP Classes Using Eclipse
Burdette The JavaScript Pocket Guide

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150526