поддержка графических представлений, основанная на пользовательских настройках
Классы МПК: | G06F17/00 Устройства или методы цифровых вычислений или обработки данных, специально предназначенные для специфических функций |
Автор(ы): | ВОНГ Карен К (US), ШЕРМАН Скотт А (US), РАЙТ Дон (US), КОТЛЕР Мэттью Дж (US), БЕРКЕР Илан (US), ДЖИЛБЕРТ Брент (US), ШЕЛЛИ Синтия К (US), ПРИТТИНГ Гэри А (US), СЕНТ АМАНТ Ким Тапиа (US), ВОЛЬФ Ричард Дж (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2005-09-29 публикация патента:
27.07.2014 |
Изобретение относится к области создания и редактирования визуальных представлений. Техническим результатом является повышение эффективности визуализации графики. Раскрыты способ и система для представления графики, основываясь на пользовательских настройках в прикладной компьютерной программе для работы с графикой. Настройки касаются различных свойств одного или более графических элементов в графике. Такие свойства включают в себя позиционирование, размер, форматирование и другие визуальные атрибуты, связанные с графическими элементами. Эти свойства могут быть определены или как семантические свойства, или как свойства представления. Семантические свойства постоянны для всех графических определений. Свойства представления являются специфичными для графического определения, которому принадлежит каждая специфическая графика. Таким образом, настройка к семантическому свойству отображаемой графики сохраняется в памяти для приложения не только для отображаемой в настоящее время графике, но также и ко всем другим графическим определениям, которые могут быть отображены в будущем. Напротив, настройка к свойству представления сохраняется только для отображаемой в настоящее время графики, и таким образом не сохраняется для всех других графических определений. 3 н. и 12 з.п. ф-лы, 8 ил.
Формула изобретения
1. Осуществляемый на компьютере способ для визуализации графической иерархической диаграммы для отображения с помощью дисплейного устройства, причем способ включает этапы, на которых:
получают текст содержания на панели содержания, причем текст содержания предназначен для визуального представления в графической иерархической диаграмме;
получают выбор первого графического определения для визуализации графической иерархической диаграммы из панели галереи, причем первое графическое определение описывает первый графический элемент;
выполняют визуализацию графической иерархической диаграммы на графической панели на дисплейном устройстве, основываясь на тексте содержания и первом графическом определении, причем графическая иерархическая диаграмма содержит первый графический элемент, описанный первым графическим определением, при этом первый графический элемент включает в себя текст содержания, полученный на панели содержания; и
получают первую настройку для текста содержания на панели содержания и, в ответ на первую настройку для текста содержания:
обновляют текст в первом графическом элементе графической иерархической диаграммы таким образом, что первый графический элемент включает в себя обновленный текст содержания.
2. Способ по п.1, в котором текст содержания имеет элементы и в котором упомянутое выбранное первое графическое определение является одним из множества возможных графических определений, при этом способ дополнительно содержит этапы, на которых:
определяют, с помощью семантической модели, семантические свойства для всех возможных графических определений, причем упомянутая первая настройка относится к первому семантическому свойству; и
идентифицируют первую настройку, ссылаясь на семантическую модель.
3. Способ по п.2, в котором дисплейное устройство содержит экран дисплея, на котором пользователю предоставляют интерфейс пользователя, причем графическая иерархическая диаграмма отображается на упомянутом интерфейсе пользователя, при этом способ дополнительно содержит этапы, на которых:
получают через интерфейс пользователя новую настройку для графической иерархической диаграммы, причем новая настройка относится ко второму семантическому свойству; и
обновляют второе семантическое свойство в семантической модели с тем, чтобы отразить новую настройку.
4. Способ по п.3, дополнительно содержащий этапы, на которых:
получают запрос на визуальное представление текста содержания, используя новое графическое определение; и
создают новую графическую иерархическую диаграмму, основываясь на новом графическом определении и на обновленной семантической модели таким образом, что новая графическая иерархическая диаграмма отображается как с первой настройкой, так и с новой настройкой.
5. Способ по п.1, в котором текст содержания содержит иерархические строки текста.
6. Способ по п.1, в котором первая настройка относится к позиционному перемещению графического элемента в графической иерархической диаграмме относительно других графических элементов в графической иерархической диаграмме.
7. Система для визуализации графики для отображения на экране дисплея, причем система содержит:
процессор для исполнения компьютерно-исполняемых инструкций; и
компьютерные запоминающие носители, хранящие компьютерно-исполняемые инструкции, которые, при их исполнении процессором, обеспечивают предоставление упомянутым процессором:
множества возможных графических определений, причем каждое из упомянутых возможных графических определений описывает свойства по умолчанию для связанной графики, выполненной с возможностью представления содержания;
механизм настройки, выполненный с возможностью создания первой графической иерархической диаграммы, соответствующей первому графическому определению, и второй графической иерархической диаграммы, соответствующей второму графическому определению, таким образом, что первая графическая иерархическая диаграмма и вторая графическая иерархическая диаграмма имеют подобные свойства; и
интерфейс пользователя, представляющий графическое представление для каждого из множества возможных графических определений для выбора пользователем, при этом интерфейс пользователя включает в себя:
панель содержания для получения ввода от пользователя и отображения содержания для редактирования пользователем;
графическую панель, обеспечивающую возможность визуального отображения и редактирования графического содержания;
панель галереи, представляющую множество возможных графических определений;
при этом интерфейс пользователя выполнен с возможностью:
выполнения, в ответ на выбор либо графического представления, связанного с первым графическим определением или вторым графическим определением, отображения первой графической иерархической диаграммы либо второй графической иерархической диаграммы, соответственно, на экране дисплея, как это определено механизмом настройки; и
выполнения, в ответ на получение первой настройки для содержания на панели содержания, обновления текста в упомянутой графической иерархической диаграмме.
8. Система по п.7, в которой компьютерно-исполняемые инструкции, при их исполнении процессором, дополнительно обеспечивают предоставление упомянутым процессором модели представления, причем
модель представления отвечает на выбор первого графического определения на интерфейсе пользователя путем разрешения механизму настройки выполнить настройку первой графической иерархической диаграммы, причем механизм настройки использует семантическую модель и модель представления, определенные для первого графического определения, для определения первой графической иерархической диаграммы как имеющей семантические свойства, подобные всем возможным графическим определениям и свойствам представления, определенным для первого графического определения.
9. Система по п.7, в которой интерфейс пользователя содержит:
панель галереи, отображающую для выбора пользователем графические представления для каждого из множества возможных графических определений; и
графическую панель, отображающую для редактирования пользователем первую графическую иерархическую диаграмму в ответ на выбор первого графического определения из панели галереи.
10. Система по п.7, в которой механизм настройки выполняет обновление семантической модели в ответ на выполнение пользователем редактирования одного из упомянутых свойств, в то время как первая графическая иерархическая диаграмма отображается на графической панели, таким образом, что в ответ на последующий выбор пользователем второго графического определения при помощи панели галереи, механизм настройки определяет вторую графическую иерархическую диаграмму как имеющую упомянутое отредактированное свойство.
11. Система по п.9, в которой механизм настройки выполняет обновление модели представления определенной для первого графического определения в ответ на выполнение пользователем редактирования одного из упомянутых свойств, в то время как первая графическая иерархическая диаграмма отображается на графической панели для последующего использования механизмом настройки для определения первой графической иерархической диаграммы.
12. Осуществляемый на компьютере способ для визуализации графической диаграммы для отображения с помощью дисплейного устройства, причем способ включает этапы, на которых:
получают текст содержания, предназначенный для визуального представления в графической диаграмме на панели содержания;
получают выбор первого графического определения для визуализации графической диаграммы из панели галереи, причем первое графическое определение описывает первый графический элемент;
выполняют визуализацию графической диаграммы на графической панели на дисплейном устройстве, основываясь на тексте содержания и первом графическом определении, причем графическая диаграмма содержит текст содержания в первом графическом элементе; и
в ответ на получение изменения текста содержания, обновляют текст в первом графическом элементе графической диаграммы.
13. Способ по п.12, в котором графическая диаграмма является иерархической.
14. Способ по п.13, в котором графическая диаграмма представляет собой круговую диаграмму.
15. Способ по п.13, в котором графическая диаграмма представляет собой пирамидальную диаграмму.
Описание изобретения к патенту
Родственные заявки
Это приложение является заявкой в продолжение заявки "Editing The Text Of An Arbitrary Graphic Via A Hierarchical List", поданной 30 сентября 2004 и которой присвоен Serial № 10/957,103, полное раскрытие которого полностью включено сюда по ссылке.
Область техники, к которой относится изобретение
Данное изобретение относится, в общем случае, к созданию и редактированию визуальных представлений, и, более подробно, к отображению графики, основываясь на пользовательских настройках.
Уровень техники
Визуальные средства помогают людям понимать информацию. Передача информации к или между группами людей почти обязательно требует создания визуальных представлений, воплощающих информацию. Прикладные программы для работы с графикой, такие как приложение для представления Microsoft® PowerPoint®, помогли автоматизировать задачу создания таких визуальных представлений. Такие прикладные программы для работы с графикой позволяют пользователям передавать информацию более рационально и эффективно, помещая эту информацию в легко понятном формате, упомянутом здесь, как графика.
Графика является визуальным представлением, таким как диаграмма или другой рисунок, идеи. Графика обычно составляется из нескольких графических элементов, которые представляют собой содержание, воплощающее идею, например, маркированный список. Каждый графический элемент является частью отображаемой графики. Графический элемент может иметь и текстовые, и графические характеристики. Примем во внимание, что графические характеристики в общем случае относятся к изобразительным или другим визуальным особенностям графического элемента, а текстовые характеристики в общем случае относятся к письменной сущности в графическом элементе. В зависимости от информации и аудитории, пользователь прикладной программы для работы с графикой определяет, в общем случае, определенную графику, которая лучше всего преподаст или передаст основную информацию. Вообще, обычные прикладные программы для работы с графикой обеспечивают один из двух подходов к созданию графики.
С одной стороны, некоторые обычные прикладные программы для работы с графикой используют подход ручного рисования, в котором пользователи имеют полную гибкость в создании и редактировании графики. Также пользователь может установить и настроить просмотр графических элементов в графике, поскольку он или она считают именно так. Обеспечивая такое "свободное господство" для редактирования графики этот ручной подход, однако приводит к пользователю, у которого возникает необходимость снова позиционировать и перестраивать те графические элементы в графике, которые затрагиваются настройкой и/или изменением положения других графических элементов в графике. Как можно предположить, этот подход требует, в общем случае, большого количества времени для управления графикой для визуализации конечного продукта. Время пользователя тратится неэффективно при манипулировании визуальными аспектами графики вместо того, чтобы сосредоточиться на информации, которая должна отобразиться в графике. Кроме того, этот подход требует, по крайней мере, до некоторой степени, способностей к графическому дизайну. Те пользователи, которые не имеют сильных навыков в дизайне, являются даже более ограниченными ручным подходом.
С другой стороны, некоторые обычные прикладные программы для работы с графикой используют подход к автоматическому рисованию, при котором размещение и вид каждого графического символа автоматически определяется, основываясь на типе графики, желательной для пользователя и графическими элементами, предопределенными для графики. При этом подходе бремя выравнивания и позиционирования графических элементов в графике убрано от пользователя и помещено во внутрь этой прикладной программы. Однако этот подход проблематичен в том смысле, что пользователь обычно обеспечивается только ограниченным установленным набором графических определений для выбора. Дополнительно, пользователь не уполномочен настраивать графику, основываясь на его или ее желании, без первого отказа автоматических, в целом, функциональных возможностей рисования, отклоняя, таким образом, цель для использования этого подхода в первом случае.
Именно по отношению к этим и другим соображениям было сделано данное изобретение.
Раскрытие изобретения
В соответствии с данным изобретением, осуществляемый на компьютере способ предназначен для визуализации графики на экране дисплея. Графика является визуальным представлением содержания, в котором элементы могут или не могут быть размещены в предопределенной структуре. Различные формы содержания могут быть представлены, используя графику, но для целей иллюстрации содержание описывается здесь как текстовое содержание. При получении содержания способ вовлекает получение выбора графического определения, которое должно визуально представлять содержание. Выбранное графическое определение определяет заданные по умолчанию свойства для вида и размещения графических элементов для графики, созданной согласно графическому определению. Затем способ создает графику, включающую графические элементы, соответствующие элементам в содержании и в соответствии с настройкой по меньшей мере одного из заданных по умолчанию свойств, предварительно примененных к графике, визуализируемой для содержания, основываясь на различном графическом определении. Созданная графика тогда выводится на модуль дисплея для отображения пользователю.
В соответствии с вариантами воплощения изобретения, настройка идентифицируется с помощью анализа набора свойств, постоянных для всех возможных графических определений, где этот набор свойств определен в "семантической" модели. Таким образом, семантическая модель определяет те свойства, которые являются соответствующими графике, соответствующей всем возможным графическим определениям. В соответствии с еще одним вариантом воплощения, создание графики может также принимать во внимание настройки, которые являются определенными для специфического графического определения для графики, визуализируемой в настоящий момент. Эти настройки поддерживаются в модели "представления", которая извлекается наряду с семантической моделью, в ответ на выбор соответствующего графического определения.
В еще одних вариантах воплощений данное изобретение предоставляет систему для визуального представления содержания. Система включает множество возможных графических определений, каждое из которых определяет значения свойств по умолчанию для соответствующей графики, действующей для представления содержания. Система также включает семантическую модель, которая определяет "семантические" свойства для всех возможных графических определений так, чтобы каждый связанный графический элемент представлял подобный элемент в содержании, используя подобное семантическое свойство. Дополнительно, система, согласно этому варианту воплощения, включает механизм настройки, действующий для определения графики согласно различным графическим определениям и семантической модели.
В соответствии с еще одним вариантом воплощения, система включает множество моделей представления. Одна или более моделей представления связаны с одним или более множеством возможных графических определений. Каждая из моделей представления определяет свойства представления, определенные к графическому определению, с которым связана каждая из одной или более моделей представления. В ответ на выбор определенного графического определения для отображения, механизм настройки выполняет визуализацию графики согласно выбранному определению, семантической модели, которая является постоянной для всех графических определений, и одной или более моделей представления, связанных с выбранным определением. Таким образом, графика отображается, основываясь на выбранном определении, но имеет свойства вида и размещения, настроенные так, как это продиктовано в связанной модели(ях) представления и семантической модели.
В соответствии с еще одним вариантом воплощения, данное изобретение направлено на способ для настройки графики, имеющей графические элементы, отображаемые на экране дисплея. В ответ на получение запроса на изменения графики, способ вовлекает изменение графики, основываясь на запросе, при поддержке настройки, предварительно примененной к графике. Более определенно настройка касается свойства первого графического элемента в графическом элементе относительно второго графического элемента в графике. Например, настройка может коснуться позиционирования или размера первого графического элемента относительно второго графического элемента. В варианте воплощения запрос на модификацию воплощает команду для добавления графического элемента к графике.
Различные варианты воплощения данного изобретения могут быть осуществлены как компьютерный процесс, компьютерная система или как произведенное изделие типа компьютерного программного продукта или читаемых компьютером носителей. Компьютерным программным продуктом могут быть компьютерные носители данных, читаемые компьютерной системой и кодирующие компьютерные программные команды для выполнения компьютерного процесса. Компьютерным программным продуктом может также быть распространяемый на несущей сигнал, читаемый компьютерной системой, и кодирующий компьютерные программные команды для выполнения компьютерного процесса.
Эти и другие различные особенности, так же как преимущества, которые характеризуют данное изобретение, будут очевидны из чтения следующего подробного описания и обзора соответствующих чертежей.
Краткое описание чертежей
Фиг.1 иллюстрирует интерфейс пользователя прикладной компьютерной программы для работы с графикой для создания и редактирования графики в соответствии с вариантом воплощения данного изобретения.
Фиг.2 показывает пример компьютерной системы, на которой варианты воплощения данного изобретения могут быть осуществлены.
Фиг.3 является функциональной диаграммой, показывающей различные компоненты прикладной компьютерной программы для работы с графикой, включая систему настройки, в соответствии с вариантом воплощения данного изобретения.
Фиг.4 является функциональной диаграммой, иллюстрирующей, более подробно, систему настройки из фиг.3 в соответствии с вариантом воплощения данного изобретения.
Фиг.5A-5C иллюстрируют последовательные операции системы настройки из фиг.4 для управления настройкой графики, редактируемой в прикладной компьютерной программе для работы с графикой.
Фиг.6 является блок-схемой, иллюстрирующей операционные характеристики процесса для отображения ("процесс отображения") графики, основываясь на пользовательских настройках, показываемой в соответствии с вариантом воплощения данного изобретения.
Осуществление изобретения
Теперь данное изобретение будет описано более подробно со ссылкой на сопроводительные чертежи, в которых показаны варианты воплощения изобретения. Это изобретение может, однако, быть воплощено во многих различных формах, и не должно рассматриваться как ограниченное вариантами воплощения, сформулированными здесь; скорее, эти варианты воплощения даны так, чтобы это раскрытие было полным и завершенным, и полностью передавало объем изобретения специалистам в данной области техники. Подобные номера повсюду относятся к подобным элементам.
Вообще, данное изобретение касается настройки визуального представления содержания, отображенного в одном или более графическом представлении. Содержание может быть информацией любой формы, но здесь описано как текстовые данные в соответствии с примерным вариантом воплощения данного изобретения. Содержание может быть предоставлено пользователем (например, с помощью клавиатуры, мыши, и т.д.), прикладной программой или их комбинацией. Каждое графическое представление включает, по меньшей мере, один графический элемент, который может иметь текстовые характеристики, графические характеристики или и те и другие.
В соответствии с вариантом воплощения, данное изобретение предоставляет осуществляемый на компьютере способ для отображения (упомянутый здесь как, "процесс отображения") графики, основываясь на пользовательских настройках для свойств вида и размещения одного или более графических элементов в графике. Такие свойства включают цвет, позицию, размер, форму, форматирование и другие визуальные атрибуты, связанные с графическими элементами.
Процесс отображения воплощен в прикладной компьютерной программе для работы с графикой, имеющей интерфейс пользователя (UI) для создания и редактирования графики. Прикладная компьютерная программа для работы с графикой может быть или отдельным компьютерным приложением или подкомпонентом другого компьютерного приложения, таким как, без ограничения, приложение для представления, приложение для обработки текстов, приложение для рисования или приложение электронной таблицы. Специалисты в данной области техники оценят применимость прикладной компьютерной программы для работы с графикой к этим другим формам компьютерных приложений, которые обычно собираются в офисном наборе приложений, типа Microsoft Office ® и OpenOffice.
Данное изобретение описано в общем контексте компьютерных выполнимых команд (например, программных модулей), выполняемых одним или более компьютером или другими устройствами. Функциональные возможности программных модулей могут быть объединены или распределены, как желательно, в различных вариантах воплощения. Программные модули включают одну или более подпрограмм, программ, объектов, компонентов, структур данных и т.д., которые выполняют специфические задачи или осуществляют специфические абстрактные типы данных.
Обратимся теперь к фиг.1, где показан образцовый UI 102 для использования в создании и редактировании графики в прикладной компьютерной программе для работы с графикой в соответствии с вариантом воплощения данного изобретения. UI 102 разделен на множество областей, или "панелей", каждая из которых ответственна за различные аспекты функциональных возможностей прикладной компьютерной программы для работы с графикой. В варианте воплощения множество панелей включает панель 104 содержания, графическую панель 106 и панель 105 галереи.
Графическая панель 106 отображает графическое содержание 108, созданное прикладной компьютерной программой для работы с графикой, используя содержание из панели 104 содержания. Графическое содержание 108 может быть любой формой визуального представления, типа рисунка, диаграммы, и т.д., и упомянуто здесь как "графика" для целей спецификации. Панель 105 галереи предоставляет пользователю множество выбираемых графических определений (например, 109a, 109b), которые могут быть применены к содержанию в панели 104 содержания и визуализированы в графической панели 106 в виде графики 108. Каждая из этих трех панелей (104, 105 и 106) далее будет описана в свою очередь более подробно при описании операций прикладной компьютерной программы для работы с графикой в соответствии с различными вариантами воплощения данного изобретения.
Графическая панель 106, которая также упомянута на фиг.1 как "панель канвы рисунка", является окном, оконной панелью, графическим классом представления, или другой областью дисплея, которая позволяет пользователю визуально отображать и редактировать графическое содержание, визуализируемое через UI 102 прикладной компьютерной программой для работы с графикой. Также графическая панель 106 содержит графику 108, визуализируемую прикладной компьютерной программой для работы с графикой, и обеспечивает пользователя приложения функциональными возможностями для редактирования или настройки графики 108 к его или ее симпатиям. Графика 108 включает один или более графических элементов, типа графических элементов 122-131, которые представляют содержание, введенное в панель 104 содержания. Настройка графики 108 относится к редактированию свойства любого типа, связанного с графикой, включая, без ограничения, визуальные атрибуты и позиции графических элементов 122-131, так же как и любого текста в пределах этих элементов.
Графика 108 показана на фиг.1 как круговая графическая диаграмма для иллюстративных целей. Необходимо отметить, что любой тип графики, имеющий любое число графических элементов, например 122-131, рассматривается в объеме данного изобретения. С этой целью графические элементы 122-131 могут включать, но не ограничиваясь этим, узлы, переходы, выноски (метки-идентификаторы элемента иллюстрации) или графический элемент. Узлом может быть одна из форм в графическом содержании. Примеры узлов могут включать круги, квадраты, треугольники, или части форм, подобно сегментам. Любой специалист в данной области техники распознает различные типы узлов. Переход является графическим представлением взаимосвязи между узлами. Переход обычно является строкой, стрелкой или другой формой, означающей отношения между двумя узлами.
Панель 104 содержания является окном, оконной панелью, классом представления контура или другой областью дисплея, которая позволяет пользователю вводить тело 115 содержания (в дальнейшем называемое как "содержание") в UI 102 из прикладной компьютерной программы для работы с графикой. Также панель 104 содержания используется для принятия содержания 115 для использования прикладной компьютерной программой для работы с графикой при создании графики 108. В основном, содержание 115 является идеей, которую пользователь предназначает для визуализации с помощью графики 108. В варианте воплощения содержание 115 включает текстовые данные, которые могут или не могут быть размещены, основываясь на определенных свойствах форматирования, или "предопределенной структуре". Фиг.1 иллюстрирует содержание 115, являющееся текстовыми данными, расположенными, основываясь на определенных свойствах форматирования в соответствии с этим вариантом воплощения, где эти текстовые данные 115 представляют собой иерархический список идей, имеющих взаимосвязи. В других вариантах воплощения содержание 115 может включать информацию, которая не является текстовой, типа любой другой формы данных, включая, но не ограничиваясь этим, иллюстрации, изображений, видео, звуки или другие аудиовизуальные материалы.
В варианте воплощения панель 104 содержания используется для получения ввода от пользователя и отображения того, что вводят как содержание 115 для редактирования пользователем. В этом отношении содержание 115 может быть или введено вручную пользователем (например, с помощью клавиатуры) в панель 104 содержания, или вставлено из другой области в прикладной компьютерной программе для работы с графикой или другой прикладной программе в целом. В соответствии с другим вариантом воплощения содержание 115 в панели 104 содержания может быть связано с другим приложением или программой, так что, как только данные содержания в другой программе создадутся или изменятся, содержание 115 в панели 104 содержания автоматически появится или изменится. В других вариантах воплощения пользователь может вручную обновить связанные данные так, чтобы пользователь вынудил данные содержания обновиться в панели 104 содержания вместо использования прикладной программы для работы с графикой или другой программы для автоматического обновления. В еще одних вариантах воплощения пользователь может запросить и получить данные содержания из другой программы, такой как база данных. Альтернативно, содержание 115 может быть введено в панель 104 содержания автоматически (то есть, без взаимодействия с пользователем) прикладной компьютерной программой для работы с графикой или другим приложением.
Панель галереи 105 является окном или другим компонентом графического интерфейса пользователя, действующий для представления различных типов графических определений, таких, как графические определения 109a и 109b, показанные для иллюстративных целей. Графические определения 109a и 109b могут быть выбраны пользователем для приложения к содержанию 115 в панели 104 содержания для визуализации графики 108. В варианте воплощения панель 105 галереи позволяет пользователю переключаться между различными графическими определениями 109a и 109b и применять то же самое содержание к выбранному графическому определению, например, 109a и 109b, без необходимости создавать каждую графику 108 на пустом месте.
Каждое графическое определение, например 109a и 109b, связано с заданным по умолчанию набором свойств для графики 108. В варианте воплощения эти свойства касаются любой визуальной или невизуальной характеристики, воплощающей размещение и вид графических элементов, например, 122-131, в графике 108. В ответ на выбор пользователя определенного графического определения 109a или 109b, прикладная компьютерная программа для работы с графикой использует выбранное графическое определение 109a или 109b как структуру для размещения и вида графики 108. В соответствии с вариантом воплощения данного изобретения, прикладная компьютерная программа для работы с графикой выполняе динамическую визуализацию графики 108, основываясь на свойствах, определенных для выбранного определения 109a или 109b, как определено, в настоящее время, согласно любым настройкам, которые были применены к одному любому (1) из этих свойств, которые являются постоянными для всех графических определений (например, 109a и 109b) или (2) любому из этих свойств, которые являются строго соответствующими выбранному графическому определению 109a или 109b. Динамическая генерация графики 108 тогда обращается к различным свойствам, которые могут быть определены для графики 108 в различное время, когда определенное графическое определение, например, 109a и 109b, выбиралось пользователем.
Панель 105 галереи, показанная на фиг.1, является упрощенной галереей графических определений, например 109a и 109b. Действительно, только два выбора графических определений, то есть, 109a и 109b, показаны на фиг.1. Однако данное изобретение не ограничено таким ограниченным выбором, а скорее панель 105 галереи может предоставлять пользователю для выбора любое число графических определений, например, 109a и 109b. Первое графическое определение 109a представляет собой круговую диаграмму. Второе графическое определение 109b представляет собой пирамидальную диаграмму. В соответствии с вариантом воплощения, первое (109a) и второе (109b) графические определения представлены на фиг.1 как эскизы. В других вариантах воплощения графические определения 109a и 109b могут быть представлены на меню или в списке подробных имен, которые позволяют пользователю выбирать имя из списка. Любой специалист в данной области техники распознает, что другие способы представления графических определений 109a и 109b в панели 105 галереи включены в данное изобретение.
Помня о вышеупомянутых структурах UI 102, действие прикладной компьютерной программы для работы с графикой теперь описывается со ссылкой на фиг.1 в соответствии с вариантом воплощения данного изобретения. Графическая панель 106 показывает визуализируемую графику 108, созданную из содержания 115 в панели 104 содержания и выбранного графического определения 109a или 109b, определение свойств которых может быть настроено так, как кратко описано выше. Графика 108 включает графические элементы 122-131, представляющие различные элементы (например, 116a, 116b, 118a и 118b), или "входы", содержащиеся в теле содержания 115. В варианте воплощения, проиллюстрированном на фиг.1, каждый графический элемент 122-131 соответствует единственному элементу содержания 115. Однако другие варианты воплощения вовлекают единственный графический элемент, например, 122-131, в представление множества элементов содержания 115 и еще одни варианты воплощения вовлекают единственный элемент содержания 115 в представление множеством графических элементов, например, 122-131.
Содержание 115 может быть вводом в панель 104 содержания, и графическое определение 109a или 109b может быть выбрано в любой последовательности, не отступая от объема данного изобретения. Если графическое определение 109a или 109b выбрано пользователем до введения любого содержания 115 в панель 104 содержания, графика 108 отображается без любого содержания или, альтернативно, с набором типового содержания. Напротив, пользователь может ввести данные в панель 104 содержания для ввода как содержание 115 до выбора графического определения 109a или 109b. В варианте воплощения в этом случае прикладная компьютерная программа для работы с графикой может предоставить пользователю заданный по умолчанию выбор для графического определения 109a или 109b; таким образом, когда содержание 115 введено, графическая панель 106 сможет отобразить графику 108 заданного по умолчанию графического определения 109a или 109b, которое растет в графических элементах (например, 122-131), поскольку пользователь продолжает добавлять содержание 115. Альтернативно, графическая панель 106 может остаться пустой (то есть, без графики 108), пока пользователь не выберет графическое определение 109a или 109b из панели 105 галереи.
Фиг.1 иллюстрирует примерный вариант воплощения данного изобретения, в котором пользователь ввел содержание 115 в форме текстового содержания, и, более точно, в форме иерархического списка. Кроме того, пользователь выбрал графическое определение 109a круговой диаграммы. Графическая панель 106 отображает графику 108, которая имеет тип круговой диаграммы 109a из-за выбора пользователя. Графика 108 круговой диаграммы представляет собой иерархический список 115. Каждый из графических элементов 122-131 в графике 108 соответствует элементу (то есть, строке текста) в иерархическом списке 115. Как отмечено выше, однако, другие варианты воплощений вовлекают каждый из графических элементов 122-131, соответствующие множеству элементов в иерархическом списке 115, и еще одни варианты воплощения вовлекают больше чем один из графических элементов 122-131, соответствующих единственному элементу в иерархическом списке 115.
В варианте воплощения структура текстового содержания 115 в панели 104 содержания определяет структуру и вид графических элементов 122-131, показанных в графической панели 106. Например, первый слой графики 108 круговой диаграммы является родительским элементом 131, соответствующим первой исходной строке 116a текстового содержания 115 в панели 104 содержания. Второй слой графики 108 круговой диаграммы включает элементы 126, 127, 128, 129 и 130, которые являются зависимыми от родительского элемента 131, и упомянуты, таким образом, как "дочерние элементы". Дочерние элементы 126, 127, 128, 129 и 130 соответствуют строкам 118a текстового содержания 115, выровненным под первой строкой 116a. Третий слой графики 108 круговой диаграммы также является родительским элементом 125 и соответствует второй исходной строке 116b текстового содержания 115. Наконец, четвертый слой графики 108 круговой диаграммы включает дочерние элементы 122, 123 и 124, которые являются зависимыми от родительского элемента 125. Дочерние элементы 122, 123 и 124 соответствуют строкам 118b текстового содержания 115, выровненным под второй исходной строкой 116b. Необходимо отметить, что, в отличие от предшествующего примера, текстовое содержание 115 в панели 104 содержания представлено различными графическими элементами 122-131 в графике 108, и структура текстового содержания 115 представлена структурой графических элементов 122-131 в графике 108.
С вышеупомянутым примером в памяти, вариант воплощения данного изобретения вовлекает изменение графики 108 в ответ на изменения в текстовом содержании 115. Например, если отступ самой верхней строки этих строк 118a, показанных на фиг.1, как зависимых от первой исходной строки 116a, удален, то новый уровень был бы создан в графике 108 круговой диаграммы между первым слоем и вторым слоем. Этот новый слой включил бы графический элемент 129. Изменение подразумевало бы, что дочерние записи, графические элементы 126, 127, 128 и 130, станут дочерними записями графического элемента 129, потому что верхняя строка строк 118a является теперь "исходной строкой", имеющей подчиненные ей дочерние записи.
Пример подходящей среды, в которой изобретение может быть осуществлено, проиллюстрирован на фиг.2. Среда является только одним примером подходящей среды и не предназначена для предложения любого ограничения относительно объема использования или функциональных возможностей изобретения. Другие известные компьютерные системы, среды и/или конфигурации, которые могут быть подходящими для использования с изобретением, включают, но не ограничены этим, персональные компьютеры, серверные компьютеры, ручные или портативные устройства, многопроцессорные системы, системы на основе микропроцессора, программируемую бытовую электронику, сетевые PC, миникомпьютеры, универсальные компьютеры, распределенные компьютерные среды, которые включают любую из вышеупомянутых систем или устройств и т.п.
Со ссылкой на фиг.2, примерная система для осуществления изобретения включает компьютерное устройство, типа компьютерного устройства 200. В своей наиболее базовой конфигурации компьютерное устройство 200 обычно включает по меньшей мере один процессорный модуль 202 и память 204. В зависимости от точной конфигурации и типа компьютерного устройства, память 204 может быть энергозависима (типа оперативной памяти), энергонезависима (типа постоянной памяти, флэш-памяти, и т.д.) или некоторой комбинации этих двух видов. Наиболее базовая конфигурация компьютерного устройства 200 проиллюстрирована на фиг.2 пунктирной линией 206. Дополнительно, устройство 200 может также иметь дополнительные особенности/функциональные возможности. Например, устройство 200 может также включать дополнительную память (сменную и/или несменную), включая, но не ограничиваясь этим, магнитные или оптические диски или ленту. Такая дополнительная память проиллюстрирована на фиг.2 сменной памятью 208 и несменной памятью 210. Компьютерные носители данных включают энергозависимые и энергонезависимые, сменные и несменные носители, осуществленные любым способом или технологией для хранения информации, такой как читаемые компьютерные команды, структур данных, программные модули или другие данные. Память 204, сменная память 208 и несменная память 210 являются всеми примерами компьютерных носителей данных. Компьютерные носители данных включают, но не ограничены этим, оперативную память (RAM), постоянную память (ROM), электронно-перепрограммируемую постоянную память (EEPROM), флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или другую оптическую память, магнитные кассеты, магнитную ленту, магнитную память на диске или другие магнитные запоминающие устройства, или любые другие носители информации, которые могут использоваться для хранения желательной информации, и к которой можно обратиться устройством 200. Любые такие компьютерные носители данных могут быть частью устройства 200.
Устройство 200 может также содержать коммуникационное подключение(я) 212, которые позволяют устройству связываться с другими устройствами. Коммуникационное подключение(я) 212 является примером коммуникационных носителей. Коммуникационные носители обычно воплощают компьютерные читаемые команды, структуры данных, программные модули или другие данные в модулируемом сигнале данных типа несущей или другом транспортном механизме, и включают любые информационные носители доставки. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более из его набора характеристик измененной таким способом, чтобы кодировать информацию в сигнале. В качестве примера, но не ограничения, коммуникационные носители включают проводные носители типа проводной сети или прямого проводного подключения, и беспроводных носителей типа акустических, радиочастотных, инфракрасных и других беспроводных носителей.
Устройство 200 может также иметь устройство(а) 214 ввода данных типа клавиатуры, мыши, пера, голосового устройства ввода данных, сенсорного устройства ввода данных, и т.д. Устройство(а) 216 вывода типа дисплея, динамиков, принтера, и т.д. также могут быть включены. Устройства могут помочь формировать интерфейс пользователя 102 обсужденный выше. Все эти устройства являются хорошо известными в данной области техники, и не требуется обсуждать их подробно здесь.
Компьютерное устройство 200 обычно включает, по меньшей мере, несколько форм читаемых компьютерных носителей. Читаемые компьютерные носители могут быть любыми доступными носителями, к которым можно обратиться процессорным модулем 202. В качестве примера, но не ограничения, читаемые компьютерные носители могут включать компьютерные носители данных и коммуникационные носители. Комбинации любых из вышеупомянутых устройств должны быть также включены в читаемые компьютерные носители.
Компьютерное устройство 200 может работать в сетевой среде, используя логические подключения к одному или более удаленным компьютерам (не показанным здесь). Удаленный компьютер может быть персональным компьютером, серверной компьютерной системой, маршрутизатором, сетевым PC, одноранговым устройством или другим обычным сетевым узлом, и обычно включает многие или все элементы, описанные выше относительно компьютерного устройства 200. Логические подключения между компьютерным устройством 200 и удаленным компьютером могут включать локальную сеть (LAN) или глобальную сеть (WAN), но могут также включать другие сети. Такие сетевые среды являются обычными в офисах, компьютерных сетях масштабах предприятия, сетях интранет и Интернет.
При использовании в сетевой среде LAN, компьютерное устройство 200 связано с LAN через сетевой интерфейс или адаптер. При использовании в сетевой среде WAN, компьютерное устройство 200 обычно включает модем или другие средства для установления связи по глобальной сети, такой как Интернет. Модем, который может быть внутренним или внешним, может быть связан с компьютерным процессорным модулем 202 через коммуникационные подключения 212, или другой соответствующий механизм. В сетевой среде программные модули или части этого могут быть сохранены в удаленном запоминающем устройстве хранения. В качестве примера, но не ограничения, удаленные прикладные программы могут постоянно находиться в устройстве памяти, связанном с удаленной компьютерной системой. Необходимо отметить, что объясненные сетевые подключения являются образцовыми, и могут использоваться другие средства установления связи между компьютерами.
В случае компьютерной среды по фиг.2, фиг.3 иллюстрирует функциональную диаграмму, воплощающую компоненты прикладной компьютерной программы 100 для работы с графикой в соответствии с вариантом воплощения данного изобретения. Прикладная компьютерная программа 100 для работы с графикой включает интерфейс пользователя (UI) 102, который, как отмечено в связи с фиг.1, имеет панель 104 содержания, графическую панель 106 и панель 105 галереи. Функциональные (блочные) стрелки 308, 310 и 312 представляют пользовательское взаимодействие с панелью 104 содержания, графической панелью 106 и панелью 105 галереи соответственно, для того чтобы использовать прикладную компьютерную программу 100 для работы с графикой.
Более подробно, пользовательское взаимодействие 308 с панелью 104 содержания приводит к вводу содержания 115 в прикладную компьютерную программу 100 для работы с графикой. В ответ на такой ввод, прикладная компьютерная программа 100 для работы с графикой отображает это содержание 115 в панели 104 содержания для отображения и разрешения редактирования пользователю. Так же, как описано выше, прикладная компьютерная программа 100 для работы с графикой создает графику 108, представляющую это содержание 115, и отображает эту графику 108 через графическую панель 106. Пользовательское взаимодействие 310 с графической областью окна 106 приводит к редактированию графики 108, отображенного там. Также пользовательское взаимодействие 310 предоставляет настройки для графики 108, отображенной в графической панели 106. Пользовательское взаимодействие 312 с панелью 105 галереи приводит к выбору определенного графического определения из множества графических определений, например, 109a и 109b, графические представления которых отображены через панель 105 галереи пиктограммой, меню, инструментальной панелью, эскизом или другим известным выбираемым UI компонентом. Таким образом, выбор определенного графического определения 109a или 109b через панель 105 галереи приводит к визуализации графики 108 в графической панели 106, основываясь на выбранном определении 109a или 109b.
В дополнение к компонентам интерфейса пользователя, описанным выше, прикладная компьютерная программа 100 для работы с графикой также включает систему 300 настройки и механизм 303 размещения. Система 300 настройки и механизм 303 размещения работают вместе для обеспечения интерфейса 102 пользователя с соответствующей графикой 108 для визуализации на графической панели 106. Для достижения этого система 300 настройки передает данные 301, воплощающие свойства вида и размещения, указанные для выбранного графического определения 109a или 109b, и любым связанным с ними настройкам, механизму 303 размещения. Для целей спецификации, это данные 301 упоминаются в дальнейшем как "данные настройки". Данные 301 настройки вместе определяют свойства, основываясь на которых графика 108 должна быть визуализирована, как определено в выбранном графическом определении 109a или 109b и в соответствии с любыми настройками, которые были применены к одному (1) любому из этих свойств, которые являются постоянными для всех графических определений (упомянутые ниже как "семантические" свойства) или (2) любому из этих свойств, которые являются строго соответствующими выбранному графическому определению 109a или 109b (упомянутые ниже как свойства "представления"). Более подробная иллюстрация системы настройки 300 представлена ниже при описании фиг.4.
Механизм 303 размещения интерпретирует данные 301 настройки для генерации дерева 302 размещения для визуализируемой графики 108. Дерево 302 размещения после этого пересекается для идентификации свойства вида и размещения для использования в визуализации графики 108. В варианте воплощения обход дерева 302 размещения выполняется компонентом механизма 303 размещения, называемого "механизм 304 вывода". В этом варианте воплощения механизм 304 вывода визуализирует графику 108, которая должна быть передана графической панели 106 для отображения и редактирования. При получении графики 108 графическая панель 106 отображает графику 108 пользователю для просмотра и редактирования. Функциональные возможности и структура механизма 303 размещения описаны более детально в соответствии с вариантом воплощения данного изобретения в совместно рассматриваемой патентной заявке США "Method, System and Computer-Readable Medium for Creating and Laying Out a Graphic Within an Application Program", поданной 30 сентября 2004 и имеющей Serial № 10/955,271, полное раскрытие которой тем самым полностью включено по ссылке. Необходимо отметить, что графика 108 может быть создана, используя данные 301 настройки другими средствами кроме механизма 303 размещения, который описан выше только для иллюстративных целей, чтобы передать примерный вариант воплощения данного изобретения.
Обратимся теперь к фиг.4, показывающей систему настройки 300 в формате функциональной диаграммы в соответствии с вариантом воплощения данного изобретения. Система 300 настройки включает механизм 412 настройки и библиотеку 402 графических моделей. Библиотека 402 графических моделей является структурой данных, которая поддерживает множество моделей представления (например, 408 и 410) и семантическую модель 404. Механизм 412 настройки использует модели представления (например, 408 и 410) и семантическую модель 404 для создания данных 301 настройки для представления в механизме 303 размещения для создания графики 108.
В варианте воплощения библиотека 402 графических моделей является определенной для каждого экземпляра и/или сеанса прикладной компьютерной программы 100 для работы с графикой. Также библиотеку 402 графических моделей и ее компоненты показывают в пунктирных линиях для иллюстрации экземпляра библиотеки 402 и моделей 408, 410 и 404 в памяти для каждого экземпляра прикладной компьютерной программы для работы с графикой 100. Например, если пользователь создает и/или редактирует две различные графики 108 в одно и то же время, используя прикладную компьютерную программу 100 для работы с графикой, библиотека 402 графических моделей и связанные модели 408, 410 и 404 создаются для каждой из двух различных график 108. Альтернативно, библиотека 402 графических моделей и ее компоненты могут быть сохранены для более чем одного экземпляра и/или сеанса прикладной компьютерной программы 100 для работы с графикой. Реализация является вопросом выбора, причем оба варианта находятся в пределах объема данного изобретения.
Модели представления (например, 408 и 410) являются структурами данных, которые поддерживают текущие свойства, определенные для каждого графического определения 109a и 109b, которые могут быть выбраны через панель 105 галереи. Варианты воплощения данного изобретения описаны иллюстративно с 1:1 корреляцией моделей представления к графическим определениям 109a и 109b. Также фиг.1 показывает пригодность двух графических определений 109a и 109b, которые могут быть выбраны через панель 105 галереи, и таким образом только две модели 408 и 410 представления поддерживаются в библиотеке 402 графических моделей, показанной в фиг.4. Необходимо отметить, что панель 105 галереи может функционировать для выбора любого числа графических определений 109a и 109b, и библиотека 402 графических моделей может включать любое число моделей представления (например, 408 и 410).
Семантическая модель 404 является структурой данных, которая поддерживает текущие свойства, сохраняемые для всех графических определений 109a и 109b, которые могут быть выбраны пользователем через панель 105 галереи. Как следствие, существует только одна семантическая модель 404 для библиотеки 402 графических моделей. Вновь, вариант воплощения данного изобретения, отмеченный выше, вовлекает поддержку семантической модели 404 с каждым экземпляром и/или сеансом прикладной компьютерной программы 100 для работы с графикой, и поэтому можно иметь больше чем одну семантическую модель 404.
В ответ на получение выбора графического определения 109a или 109b через панель 105 галереи, механизм настройки 412 отыскивает соответствующую модель 408 или 410 представления (то есть, модель 408 представления, связанную с выбранным графическим определением 306) и семантическую модель 404. Механизм 412 настройки после этого создает данные 301 настройки, основываясь на текущих свойствах, определенных для выбранного графического определения 109a или 109b, как определено в соответствующей модели 408 представления, и семантической модели 404.
Свойства, указанные в модели 408 и 410 представления и семантической модели 404, динамически модифицируются, основываясь на вводе из панели 104 содержания и графической панели 106. Относительно панели 104 содержания, поскольку пользователь добавляет содержание 115 через пользовательское взаимодействие 308, модель 408 и 410 представления и семантическая модель 404 модифицируются для отражения добавления такого содержания 115. Например, если иерархический список имеет текстовые строки содержания "A", "B" и "C", то каждая модель 408 и 410 представления и семантическая модель 404 в библиотеке 402 графических моделей имеет представление в памяти для графического элемента, соответствующего каждой текстовой строке содержания "A", "B" и "C". В ответ на добавление пользователем четвертой текстовой строки содержания "D" механизм 412 настройки модифицирует каждую модель 408 и 410 представления и семантическую модель 404 для включения в представление в памяти для графического элемента, соответствующего этой новой текстовой строке содержания. Поэтому данные 301 настройки, созданные механизмом 412 настройки, будут включать добавление этого нового графического элемента на основании соответствующей модели 408 или 410 представления и семантической модели 404, определяющей то же самое.
Относительно графической панели 106, по мере того, как пользователь редактирует визуализируемую графику 108 через пользовательское взаимодействие 310, механизм 412 настройки модифицирует модель представления (например, 408 или 410), соответствующую графическому определению 306, связанному с отредактированной графикой 108 или, альтернативно, семантическую модель 404, для отражения настройки пользователя. В этом отношении, механизм 412 настройки модифицирует соответствующую модель представления (например, 408 или 410), если настройка является изменением к свойству представления, то есть, "изменению представления". Напротив, механизм 412 настройки модифицирует семантическую модель 404, если настройка является изменением к семантическому свойству, то есть "семантическому изменению".
Вообще, классификация изменений к любому свойству графики 108 как являющихся изменением "представления" или "семантическим" изменением является вопросом выбора, и любые такие классификации находятся в объеме данного изобретения. Только для целей иллюстрации, примерное семантическое изменение описано здесь как являющееся изменением цвета графического элемента, и примерное изменение представления описано здесь как являющееся изменением размера графического элемента. С этими иллюстрациями в памяти, фиг.5A-5C иллюстрируют особенности функционирования данного изобретения относительно обновления модели 408 представления и семантической модели 404 в ответ на пользовательское взаимодействие, введенное в графическую панель 106.
Фиг.5A иллюстрирует графику 500, имеющую графические элементы 502, 504, 506, 508 и 510, отображаемые через графическую панель 106. Графические элементы 502, 506 и 510 соответствуют текстовым строкам содержания, или объектам, "A", "B" и "C" соответственно, включенным в содержание 115 из панели 104 содержания. Графика 500 еще не была отредактирована пользователем, и поэтому не имеет никаких настроек. Также, графику 500 показывают в графической панели 106, используя значения свойств по умолчанию, определенных графическим определением 109a или 109b, которому принадлежит графика 500. Модель представления 408 и семантическая модель 404 для графики 500 показывают с этими заданными по умолчанию свойствами, которые в действительности были использованы механизмом 412 настройки для генерации данных 301 настройки для этой специфической графики 500. Таким образом, визуализируемая графика 500 воплощает свойства, определенные выбранным графическим определением 109a или 109b, без настроек.
Как отмечено выше, модель 408 представления и семантическая модель 404 являются представлениями в памяти, и таким образом показаны с использованием пунктирных линий. Каждая из этих моделей 404 и 408 включает представления, соответствующие каждому из графических элементов 502, 504, 506, 508 и 510, включенных в графику 500. В частности, модель 408 представления включает представления 502', 504', 506', 508' и 510', которые соответствуют графическим элементам 502, 504, 506, 508 и 510, соответственно, и поддерживают свойства, связанные с каждым соответствующим графическим элементом. Эти свойства являются свойствами "представления", которые являются определенными только для графического определения 109a или 109b, которому принадлежит графика 500. В примерном варианте воплощения для иллюстрации на фиг.5A-5C, размер этих графических элементов 502, 504, 506, 508 и 510 составляет свойство представления.
Аналогично, семантическая модель 404 включает представления 502", 504", 506", 508" и 510", которые соответствуют графическим элементам 502, 504, 506, 508 и 510, соответственно, и поддерживают свойства, связанные с каждым соответствующим графическим элементом. Эти свойства являются "семантическими" свойствами, которые являются постоянными для всех графических определений 109a и 109b, которые могут быть выбраны через панель 105 галереи. В примерном воплощении для иллюстрации на фиг.5A-5C цвет этих графических элементов 502, 504, 506, 508 и 510 составляет семантическое свойство.
Фиг.5B иллюстрирует результаты пользовательского взаимодействия 310 для редактирования цвета графического элемента 502 и размера графического элемента 506. Поскольку цвет графических элементов составляет семантическое свойство в соответствии с примерным вариантом воплощения, описанным здесь, механизм 412 настройки модифицирует представление 502" в семантической модели 404, соответствующей графическому элементу 502, для согласования изменения цвета. Поскольку размер графических элементов составляет свойство представления в соответствии с примерным вариантом воплощения, описанным здесь, механизм настройки 412 модифицирует представление 506' в модели 408 представления, соответствующей графическому элементу 506, для согласования изменения размера.
Фиг.5C иллюстрирует визуализацию на графической панели 106 графики 511, соответствующей отличному графическому определению 109a или 109b, чем графика 500, показанная на фиг.5A-5B. Графика 511 включает графические элементы 512, 514, 516, 518 и 520. Эта графика 511 визуализируется на графической панели 106 в ответ на запрос пользователя через панель 105 галереи переключить графические определения 109a и 109b чтобы рассмотреть содержание 115 (например, "A", "B" и "C"). При получении такого запроса механизм настройки 412 извлекает модель 410 представления, связанную с новым графическим определением 109a или 109b и семантической моделью 408.
Поскольку графика (например, 511), соответствующая требуемому графическому определению 109a или 109b, еще не была визуализирована на графической панели 106, пользователь еще не имел шансов настроить какое-либо из свойств представления. Также найденная модель 410 представления определяет заданные по умолчанию свойства для графических элементов, согласно соответствующему графическому определению 109a или 109b, и механизм 412 настройки создает данные 301 настройки, которые не определяют никаких изменений представления. Таким образом, поскольку изменение размера для графического элемента 506 рассматривается для целей иллюстрации этого изменения "представления", эта специфическая настройка не сохранена на графике 511. Действительно, все свойства представления, указанные в извлеченной модели 410 представления, являются заданными по умолчанию свойствами для выбранного графического определения 305. Однако, поскольку семантическая модель 404 была модифицирована для семантического изменения (то есть, цвета) в графике 500, проиллюстрированном на фиг.5B, эта специфическая настройка сохраняется для графика 511.
Примеры, показанные на фиг.5A-5C и описанные выше, иллюстрируют вариант воплощения данного изобретения на высшем уровне. Действительно, цвет и размер графических элементов воплощают только два свойства, которые могут быть определены для графики, используя модели представления и семантическую модель в соответствии с данным изобретением. Как отмечено выше, любое другое свойство, связанное с видом или размещением графических элементов в графике, может составить свойство представления или семантическое свойство. Такие свойства включают, например, позицию графического элемента по отношению к другим графическим элементам в графике, масштабирование графического элемента по отношению к другим графическим элементам в графике, размер шрифта текстовых данных в графическом элементе, градус вращения графического элемента, z-порядок графического элемента по отношению к другим графическим элементам в графике и любое другое возможное форматирование и свойства размещения, которое может относиться к графическим элементам в графике или графике в целом.
Например, позиция графического элемента относительно других графических элементов может составлять представление или семантическое свойство, которое определено, соответственно, моделью представления или семантической моделью. В любом случае, прикладная компьютерная программа 100 для работы с графикой применяет настройки с помощью масштабирования x и y смещений, примененных к вновь позиционированному графическому элементу в ответ на добавление нового графического элемента к графике. Альтернативно, x и y смещения воплощают радиальное смещение, основанное на полярных координатах. В варианте воплощения движения позиции по отношению к графике, которая является прямоугольной по природе (например, квадрат, прямоугольник, и т.д.), применяются, основываясь на x и y смещениях, тогда как движения позиции по отношению к графике, которая является круговой по природе (например, овал, круг, и т.д.), применяются, основываясь на радиальном смещении.
И для радиальных и для линейных позиционных настроек, расстояние от точки, куда графический элемент был перемещен относительно его заданной по умолчанию позиции, сохраняется или в представлении или в семантической модели, в зависимости от того, являются ли позиционные изменения "представлением" или "семантическим" изменением. Также эти настройки поддерживаются с графикой и, если сохраняются как семантическое изменение, также для всей графики, соответствующей другим графическим определениям, даже после модификации графики(ов). В ответ на изменение размещения графики (например, добавляя или удаляя графический элемент), в которой графический элемент был перепозиционирован, прикладная компьютерная программа 100 для работы с графикой определяет новую позицию для предварительно перепозиционированного графического элемента, основываясь на сохраненном относительном изменении. Для линейных настроек этот процесс вовлекает использование смещения предварительно перепозиционированного графического элемента от другого графического элемента в графике. Для радиальных настроек этот процесс вовлекает использование радиуса, угла позиции формы и угла между графическими элементами.
Обратимся теперь к фиг.6, показывающей, в соответствии с вариантом воплощения данного изобретения, блок-схему, иллюстрирующую функциональные характеристики варианта воплощения процесса 600 для отображения графики, основываясь на пользовательских настройках. Для иллюстративных целей этот процесс 600 упомянут здесь как "процесс отображения" и описан со ссылкой к прикладной компьютерной программе для работы с графикой 100, проиллюстрированный на фиг.1-4. Также, процесс 600 отображения описан здесь согласно примерному варианту воплощения, как выполняемый в соответствии с компьютерной программой 100 для работы с графикой, и различные компоненты, описанные в связи с ним, также описаны со ссылкой на фиг.6, используя подобные номера ссылок и терминологию.
Процесс 600 отображения выполняется, используя последовательность операций, начинающуюся с начальной операции 602 и заканчивающуюся конечной операцией 630. Начальная операция 602 инициализируется в ответ на действие пользователя, или другую прикладную программу, запускающую прикладную компьютерную программу 100 для работы с графикой для создания или редактирования графики 108, представляющей содержание 115, введенное в приложение 100. От начальной операции 602 последовательность операций переходит к операции 604 получения содержания.
Операция 604 получения содержания получает содержание 115, которое пользователь или прикладная программа запрашивают для визуального представления в графике 108. В варианте воплощения это содержание 115 является текстовым содержанием, которое может или не может быть размещено по формату. Примерное текстовое содержание в соответствии с этим вариантом воплощения является структурированным списком. Также, в варианте воплощения, содержание 115, полученное первой операцией 604 получения, отображается пользователю через панель 104 содержания из интерфейса пользователя 102 для прикладной компьютерной программы 100 для работы с графикой. От операции 604 получения содержания последовательность операций переходит к операции 606 создания.
Операция 606 создания создает модель 408 или 410 представления и семантическую модель 404 для использования с экземпляром прикладной компьютерной программы 100 для работы с графикой, запущенной при операции 602 начала. Созданная семантическая модель 410 определяет заданные по умолчанию семантические свойства, которые являются постоянными для всех возможных графических определений 109a и 109b. Созданная модель 408 или 410 представления определяет заданные по умолчанию свойства представления, определенные для выбранного графического определения 109a или 109b.
В соответствии с вариантом воплощения, выбранное графическое определение 109a или 109b, на котором создана модель 408 или 410 представления, основывается на заданном по умолчанию графическом определении, например, 109a или 109b, предопределенным для всех экземпляров прикладной компьютерной программы 100 для работы с графикой. В этом варианте воплощения прикладная компьютерная программа 100 для работы с графикой предварительно запрограммирована так, чтобы инициирование приложения 100 визуализировало выбор заданного по умолчанию графического определения 109a или 109b для использования пользователем до тех пор, пока пользователь не запрашивает переключатель графики на переключение к другому графическому определению 109a или 109b. В соответствии с альтернативным вариантом воплощения, прикладная компьютерная программа 100 для работы с графикой может показывать пользователю экран выбора (например, UI диалог), который позволяет пользователю выбирать определенное графическое определение 109a или 109b для визуализации начальной графики 108 в графической панели 106. Также, операция 606 создания создает модель 408 или 410 представления, основываясь на выбранном графическом определении 109a или 109b.
После того как модель 408 или 410 представления, и семантическая модель 404 были созданы, последовательность операций переходит последовательно к операции 612 визуализации. Операция 612 визуализации визуализирует графику 108 на экране дисплея для просмотра и редактирования ее пользователем. Визуальные характеристики (то есть, размещение и вид графических элементов) графики 108 определяются операцией 612 визуализации, основываясь на спецификациях свойств в семантической модели 404 и модель 408 или 410 представления, созданных операцией 606 создания. Как описано выше, семантическая модель 404 используется не только для определения некоторых визуальных свойств, то есть, "семантических свойств", для графики 108, отображенной операцией 612 отображения, но всех графиков 108, принадлежащих всем графическим определениям 109a и 109b, которые могут быть визуализированы в прикладной компьютерной программе 100 для работы с графикой. Напротив, однако, модель 408 или 410 представления используется только для определения некоторых визуальных свойств, то есть "свойства представления", только для визуализируемой графики 108, и ни для какой другой. Действительно, графика 108, соответствующая другому графическому определению 109a или 109b, берет только те свойства представления, специфицированные в модели 408 или 410 представления, соответствующей этому графическому определению 109a или 109b. После того как графика 108 визуализирована на экране дисплея, последовательность операций переходит к первой операции 614 запроса.
Первая операция 614 запроса определяет, был ли вызов экземпляра прикладной компьютерной программы 100 для работы с графикой для запуска операции 602 начала закончен, показывая, таким образом, что никакой дальнейший ввод относительно содержания, настроек или выбора графических определений 109a и 109b не будет получен, если прикладная компьютерная программа 100 для работы с графикой впоследствии не будет вызвана для создания нового экземпляра.
Если экземпляр был закончен, последовательность операций заканчивается на операции 630 окончания. Иначе, операция переходит по ветви "Нет" ко второй операции 616 запроса. Вторая операция 616 запроса определяет, была ли графика 108, визуалируемая в настоящее время в графической панели 106, отредактирована (то есть, настроена) любым способом. Если так, то вторая операция 616 запроса выполняет переход операционного потока "Да" к третьей операции 618 запроса. Иначе, вторая операция 616 запроса выполняет переход последовательности операций "Нет" к четвертой операции 624 запроса.
Третья операция 618 запроса исследует настройку, обнаруженную второй операцией 616 запроса, для определения того, касается ли настройка изменения представления или семантического изменения. Как неоднократно отмечалось выше, изменение представления является изменением, которое предназначено только для того, чтобы затронуть определенное графическое определение 109a или 109b, которому соответствует графика 108, визуализируемая в настоящее время. Напротив, семантическое изменение является изменением, которое предназначено для того, чтобы затронуть все графические определения 109a и 109b, которые могут быть выбраны прикладной компьютерной программой 100 для работы с графикой. Любое свойство, которое может относится к графике (например, 108), или ее графическим элементам, может быть помечено или как свойство представления, и таким образом быть подвергнуто изменениям представления, или семантическим свойством, и таким образом быть подвергнуто семантическим изменениям. Реализация является вопросом выбора, и только для иллюстративных целей размер графического элемента описывается здесь как примерное свойство представления, а цвет графического элемента описывается здесь как примерное семантическое свойство.
Если третья операция 618 запроса решает, что настройка является изменением представления, последовательность операций переходит по "P" к первой операции 620 модификации. Первая операция 620 модификации обновляет найденную модель 408 или 410 представления настройкой. С другой стороны, если третья операция 618 запроса решает, что настройка является семантическим изменением, последовательность операций ветвится по "S" ко второй операции 622 модификации. Вторая операция 622 модификации обновляет семантическую модель 404, созданную операцией 606 создания, настройкой. И от первой операции 620 модификации и от второй операции 622 модификации, последовательность операций переходит назад к операции 612 визуализации, которая визуализирует графику 108, основываясь на обновленной модели (то есть, или модели представления или семантической модели). Последовательность операций тогда продолжается так, как было предварительно описано.
В обстоятельствах, когда вторые операции 616 запроса переводят последовательность операций по ветке "Нет", вызывается четвертая операция 624 запроса. Четвертая операция 624 запроса определяет, выбрал ли пользователь или другая прикладная программа новое графическое определение 109a или 109b для отображения на графической панели 106. Такой выбор интерпретируется, поскольку пользователь или другая прикладная программа желает просмотреть содержание 115, полученное в операцию 604 получения, основываясь на различных графических определениях 109a или 109b. Если четвертая операция 624 запроса решает, что такой выбор был сделан, последовательность операций переходит к операции 626 переключения.
Операция 626 переключения создает модель 408 или 410 представления (или извлекает, если эта модель представления была уже создана), связанную с новым выбранным графическим определением 109a или 109b, а затем передает последовательность операций назад к операции 612 визуализации. Операция 612 визуализации тогда визуализирует графику 108, основываясь на текущей семантической модели 404 (то есть, либо семантической модели, созданной операцией 606 создания, либо ее модифицированной версии) и модели 408 или 410 представления, созданной или извлеченной при операции 626 переключения.
Однако если четвертая операция 624 запроса решает, что выбор нового графического определения 109a или 109b не произошел, поток операции переходит по "Нет" к пятой операции 627 запроса. Пятая операция 627 запроса определяет, имеют ли пользователь или другая прикладная программа входную информацию, приводящую к изменению в структуре содержания 115. Такое изменение в структуре может следовать из добавления или удаления содержания, которое было сделано (если удалено), или будет сделано (если добавлено), соответствующего графическому элементу в графике 108. Такое перемещение или удаление могут включать изменения форматирования, которые приводят к добавлению или удалению графических элементов. Если пятая операция 627 запроса обнаруживает изменение в содержании 115, которое приведет к структурному изменению в графике 108, последовательность операций переходит по "Да" к третьей операции 628 модификации. Иначе, последовательность операций выполняет переход по "Нет" к первой операции 614 запроса и продолжается, как описано ранее.
Третья операция 628 модификации обновляет и модель 408 или 410 представления, используемую в настоящее время (то есть, или модель представления, созданную операцией 606 создания, или модель представления, созданную или извлеченную операцией 626 переключения), и семантическую модель 404 для отражения изменения в содержании 115. От третьей операции 628 модификации последовательность операций переходит к операции 612 визуализации, которая визуализирует графику 108, основываясь на обновленной модели 408 или 410 представления и обновленной семантической модели 404. От операции 612 визуализации последовательность операций продолжается так, как было описано ранее.
Хотя данное изобретение было описано на языке, определенном для структурных особенностей, методологических действий, и читаемых компьютерных носителей, содержащих такие действия, должно быть понятно, что данное изобретение, определенное в приложенной формуле изобретения не обязательно ограничено определенной структурой, действиями, или описанными носителями. Любой специалист в данной области техники распознает другие варианты воплощения или усовершенствования, которые находятся в пределах объема и духа данного изобретения. Например, последовательность выполнения операций в процессе 600 отображения показаны в соответствии с примерным вариантом воплощения. В соответствии с другими вариантами воплощения последовательность выполнения этих операций может быть изменена. Например, операция 606 создания может быть выполнена в промежуток времени до операции 604 извлечения содержания, не отступая от объема данного изобретения.
Дополнительно, в то время как описана корреляция 1:1 между моделями представления (например, 408 и 410) и графическими определениями (например, 109a и 109b), более чем одна модель представления (например, 408 и 410) может быть связана с единственным графическим определением 109a или 109b в соответствии с вариантом воплощения данного изобретения. Кроме того, должно быть понятно, что UI 102 может быть создан для того, чтобы иметь менее чем или более чем три панели (например, 104, 105 и 106). Действительно, функциональные возможности на любой из этих панелей (например, 104, 105 и 106) могут быть альтернативно или дополнительно обеспечены в других типах компонентов графического интерфейса пользователя, таких как, например, инструментальные панели, эскизы, строки меню, командные строки, диалоговые окна, и т.д.
Помимо этого, хотя модели представления (например, 408, 410) описаны здесь как являющиеся определенным для каждого графического определения, например, 109a и 109b, другие варианты воплощения, рассмотренные в пределах данного изобретения, касаются моделей представления (например, 408, 410), сохраненных для множества графических определений 306. В этих вариантах воплощения графические определения, например, 109a и 109b, имеющие подобные характеристики, группируются в графических классификациях, и модели представления являются определенными для этих классификаций, а не индивидуально к типам, составляющим классификации. Например, классификация может группировать все графические определения, например, 109a и 109b, имеющие графические элементы, предназначенные для позиционного движения радиальным способом, чтобы сохранить эти движения для всех графических определений из этой классификации. Аналогично, другая классификация может группировать все графические определения, например, 109a и 109b, предназначенные для позиционного движения относительно системы координат x-y.
Класс G06F17/00 Устройства или методы цифровых вычислений или обработки данных, специально предназначенные для специфических функций