BRPI0914999B1 - método de utilização de marcos visuais para organizar um diagrama, método para personalizar um marco visual que será usado para organizar um diagrama e sistema de computador - Google Patents

método de utilização de marcos visuais para organizar um diagrama, método para personalizar um marco visual que será usado para organizar um diagrama e sistema de computador Download PDF

Info

Publication number
BRPI0914999B1
BRPI0914999B1 BRPI0914999A BRPI0914999A BRPI0914999B1 BR PI0914999 B1 BRPI0914999 B1 BR PI0914999B1 BR PI0914999 A BRPI0914999 A BR PI0914999A BR PI0914999 A BRPI0914999 A BR PI0914999A BR PI0914999 B1 BRPI0914999 B1 BR PI0914999B1
Authority
BR
Brazil
Prior art keywords
visual
diagram
elements
frame
action
Prior art date
Application number
BRPI0914999A
Other languages
English (en)
Inventor
K Peck David
Sehn Jordan
Mollicone Laurent
Roberts Scott
M Danton Stephen
D Price Tad
Rychikhin Yuri
Original Assignee
Microsoft Corp
Microsoft Technology Licensing Llc
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 Microsoft Corp, Microsoft Technology Licensing Llc filed Critical Microsoft Corp
Publication of BRPI0914999A2 publication Critical patent/BRPI0914999A2/pt
Publication of BRPI0914999B1 publication Critical patent/BRPI0914999B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs

Abstract

utilização de limites visuais para a organização de diagramas trata-se de métodos, sistemas e produtos de programa de computador para a utilização de limites visuais para organizar diagramas. as modalidades da invenção facilitam a utilização de limites visuais para organizar elementos dentro de um diagrama. os elementos de um diagrama podem ser dispostos de acordo com as propriedades definidas configuráveis de limites visuais para fornecer algum grau de estrutura de layout dentro do diagrama. consequentemente, as modalidades da invenção fornecem uma experiência de usuário que fornece alguma estrutura, porém mantém a flexibilidade de edição em forma livre. os usuários podem personalizar os limites visuais para fazer com que os limites visuais exibam o comportamento desejado.

Description

Relatório Descritivo da Patente de Invenção para “MÉTODO DE UTILIZAÇÃO DE MARCOS VISUAIS PARA ORGANIZAR UM DIAGRAMA, MÉTODO PARA PERSONALIZAR UM MARCO VISUAL QUE SERÁ USADO PARA ORGANIZAR UM DIAGRAMA E SISTEMA DE COMPUTADOR”
ANTECEDENTES
1. Fundamentos e Técnica Relativa [0001] Os sistemas de computador e tecnologia relacionada afetam muitos aspectos da sociedade. Na verdade, a capacidade do sistema de computador de processar informações transformou o modo de vida e trabalho. Os sistemas de computador agora realizam comumente inúmeras tarefas (por exemplo, processamento de texto, programação, contabilidade, etc.) que antes da chegada do sistema de computador eram realizadas manualmente. Mais recentemente, os sistemas de computador foram acoplados uns aos outros e a dispositivos eletrônicos para formar redes de computador cabeadas e sem fio através das quais os sistemas de computador e outros dispositivos eletrônicos podem transferir dados eletrônicos. Consequentemente, o desempenho de muitos processos relacionados a negócios é distribuído através de inúmeros sistemas de computador diferentes e/ou inúmeros componentes de computação diferentes.
[0002] Por exemplo, as aplicações de diagramação podem ser usadas para gerar fluxogramas, gráficos de organização, diagramas de workflow, etc. A maioria das aplicações de diagramação incluem ao menos uma barra de ferramentas e uma área de desenho área de desenho. Um usuário pode puxar formatos (por exemplo, círculos, retângulos, quadrados, losangos, etc.) da barra de ferramentas e adicionar à área de desenho. Os formatos podem ser conectados uns aos outros para indicar as relações entre os formatos. Os usuários também podem reorganizar e remover formatos existentes e conexões dentro da
Petição 870200016428, de 03/02/2020, pág. 8/45
2/30 área de desenho.
[0003] Ao menos algumas aplicações de diagramação utilizam uma área de desenho em forma livre permitindo que o usuário execute o controle sobre a organização espaçamentos de formatos sobre uma área de desenho. Os usuários estão livres para (re)organizar os formatos e conexões visto que esses parecem se ajustar sem restrições. Assim, as áreas de desenho em forma livre fornecem uma flexibilidade significativa ao usuário para criar diagramas para suas especificações exatas.
[0004] Entretanto, a criação de diagramas utilizando uma área de desenho em forma livre também pode ser enfadonha e trabalhosa. O significado de um diagrama é mais adequadamente explicado (por exemplo, visualmente percebido) quando os formatos dentro de um diagrama forem organizados e adequadamente espaçados. Assim, cada vez que um diagrama mudar (por exemplo, um novo formato é introduzido ou um formato existente é removido ou movido dentro de um diagrama), a organização e o espaçamento de formatos e conexões podem precisar ser ajustados para explicar adequadamente o novo significado do diagrama.
[0005] Infelizmente, utilizando uma área de desenho em forma livre, exige-se que próprio usuário individualmente faça todos esses ajustes, como, por exemplo, desconectar e re-conectar os formatos, alinhamento de pixels, etc... Para muitos diagramas, e especialmente diagramas maiores e/ou mais complexos, esses ajustes podem ser numerosos e podem levar um tempo considerável para a implementação desses. Ademais, uma única alteração de um diagrama pode possuir um efeito cascata fazendo com que um grande número de formatos fique desorganizado e/ou inadequadamente espaçado.
[0006] Consequentemente, algumas aplicações de diagramação incluem mecanismos automáticos, como, por exemplo, um algoritmo
Petição 870200016428, de 03/02/2020, pág. 9/45
3/30 de layout automático, para ajudar os usuários no ajuste adequado de formatos e conexões em resposta a alterações em um diagrama. Um algoritmo de layout automático pode possuir diversas restrições de layout (por exemplo, organizacionais e de espaçamento) que ditam essencialmente a colocação de formatos e conexões dentro de um diagrama. Um algoritmo de layout automático também pode incluir uma ou mais entre uma variedade de funções diferentes.
[0007] Por exemplo, quando o formato (tanto novo como movido) for inserido em uma localização especificada dentro de um diagrama, um algoritmo de layout automático pode mover automaticamente o formato da localização especificada para uma localização mais adequada (por exemplo, próxima) (sobre uma área de desenho) para se adequar às restrições de layout. Similarmente, quando um formato for removido (tanto deletado como movido) de uma localização dentro de um diagrama, o algoritmo de layout automático pode ajustar automaticamente os formatos anteriormente conectados ao formato removido (sobre a área de desenho) para se adequar às restrições de layout. Quando um formato for movido dentro de um diagrama, essas funcionalidades podem ser implementadas. Os algoritmos de layout automático também podem incluir a funcionalidade para ajustar quaisquer e outros formatos e conexões dentro de um diagrama em resposta à adição, deleção, ou movimento de um formato para se adequar às restrições de layout (por exemplo, para compensar os efeitos cascata).
[0008] Consequentemente, algoritmos de layout automático podem ser utilizados para dispor automaticamente os formatos e conexões dentro de um diagrama para transmitir melhor o novo significado do diagrama. Alguns algoritmos de layout automático permitem ainda ajustar as restrições de layout de modo que um usuário possua algum controle do layout de um diagrama. Entretanto, os algoritmos de layout automático são tipicamente prescritivos e não permitem alterações
Petição 870200016428, de 03/02/2020, pág. 10/45
4/30 não-compatíveis (mesmo baseadas em restrições de layout ajustadas) em um diagrama. Ademais, um usuário típico não tem como saber antes de inserir, mover, ou deletar um formato, como o algoritmo de layout automático irá ajustar a localização do formato e/ou formatos conectados adjacentes.
[0009] Geralmente, um formato pode ser colocado em inúmeras localizações relativas aos formatos existentes de um diagrama e se adequar às restrições de layout. Entretanto, o usuário não tem como saber como antes de realizar uma alteração quais as localizações compatíveis são relativas ao formato existente. Assim, um usuário deve contar com o algoritmo de layout automático para selecionar uma localização compatível, que está baseada na intenção do usuário de um diagrama, pode não ser a localização compatível mais adequada. [00010] Há algumas ferramentas adicionais para fornecer uma organização limitada a diagramas de forma livre. Essas ferramentas adicionais podem fornecer capacidades como alinhar, centralizar, e distribuir. Entretanto, essas ferramentas adicionais possuem inúmeras deficiências. Por exemplo, as ferramentas não são tipicamente apresentadas sobre a área de desenho. Ademais, as ferramentas não são automaticamente aplicadas a atualizações, como, por exemplo, adicionando um novo formato. Como tais, as ferramentas devem ser aplicadas novamente (com algum grau de frequência e em alguns ambientes essencialmente de maneira constante) para invocar sua funcionalidade. Adicionalmente, essas ferramentas adicionais não são tipicamente personalizáveis. A falta de personalização torna difícil construir e manter layouts especializados.
BREVE SUMÁRIO [00011] A presente invenção se refere a métodos, sistemas, e produtos de programa de computador para utilização de marcos visuais para organizar diagramas. Em algumas modalidades, os marcos visu
Petição 870200016428, de 03/02/2020, pág. 11/45
5/30 ais são usados para organizar um diagrama. Um sistema de computador apresenta um ou mais elementos visuais representando um diagrama. O sistema de computador apresenta um marco visual juntamente com um ou mais elementos visuais dentro do diagrama. O marco visual é configurado com uma ou mais propriedades que serão aplicadas aos elementos visuais associados para posicionar os elementos visuais associados em relação ao marco visual.
[00012] O sistema de computador recebe a entrada selecionando um ou mais elementos visuais para colocação no diagrama. O sistema de computador recebe a entrada adicional indicando que o elemento visual selecionado será associado ao marco visual. O sistema de computador posiciona automaticamente o elemento visual selecionado em relação ao marco visual de acordo com uma ou mais propriedades correspondentes do marco visual para organizar o elemento visual selecionado dentro do diagrama. O elemento visual selecionado fica posicionado em resposta à recepção da entrada adicional.
[00013] Em outras modalidades, um marco visual é personalizado para uso na organização de um diagrama. Um sistema de computador acessa e apresenta visualmente um marco visual armazenado que pode ser usado para organizar elementos visuais em um diagrama. O sistema de computador altera a apresentação visual do marco visual de acordo com a entrada inserida por usuário.
[00014] O sistema de computador configura uma ou mais propriedades do marco visual de acordo com a entrada inserida por usuário. Uma ou mais propriedades configuradas indicam como posicionar automaticamente um elemento visual associado em relação ao marco visual para organizar o elemento visual associado dentro de um diagrama. O sistema de computador armazena a apresentação visual alterada juntamente com uma ou mais propriedades configuradas como um novo marco visual. O novo marco visual serve para uso na organi
Petição 870200016428, de 03/02/2020, pág. 12/45
6/30 zação de diagramas de acordo com a entrada inserida por usuário. [00015] Este sumário é fornecido para introduzir uma seleção de conceitos de forma simplificada que são descritos adicionalmente abaixo na Descrição Detalhada. Este Sumário não pretende identificar as características importantes ou características essenciais do assunto reivindicado, nem pretende ser usado como um auxílio na determinação do escopo do assunto reivindicado.
[00016] As características e vantagens adicionais da invenção serão apresentadas na descrição a seguir, e em parte serão óbvias a partir da descrição, ou podem ser aprendidas pela prática da invenção. As características e vantagens da invenção podem ser percebidas e obtidas por meio dos instrumentos e combinações particularmente indicados nas concretizações. Essas e outras características da presente invenção tornar-se-ão mais completamente aparentes a partir da seguinte descrição e concretizações, ou podem ser aprendidas pela prática da invenção como apresentado mais adiante nesse documento.
BREVE DESCRIÇÃO DOS DESENHOS [00017] Para descrever a maneira na qual as vantagens citadas acima e outras e as características da invenção podem ser obtidas, uma descrição mais particular da invenção brevemente descrita acima será fornecida a título de referência para as modalidades específicas dessa que são ilustradas nos desenhos em anexo.
[00018] Entendendo-se que esses desenhos mostram apenas modalidades típicas da invenção e, portanto, não devem ser considerados limitativos de seu escopo, a invenção será descrita e explicada com especificidade adicional e detalhes através do uso dos desenhos em anexo, nos quais:
[00019] A Figura 1 ilustra uma arquitetura de computador exemplificativa que facilita a utilização de marcos visuais para organizar diaPetição 870200016428, de 03/02/2020, pág. 13/45
7/30 gramas.
[00020] A Figura 2 ilustra um fluxograma de um método exemplificativo de utilização de marcos visuais para organizar diagramas.
[00021] As Figuras 3A a 3D ilustram um exemplo de utilização de marcos visuais para organizar um diagrama.
[00022] As Figuras 4A a 4E ilustram outro exemplo de utilização de marcos visuais para organizar um diagrama.
[00023] As Figuras 5 A a 5C ilustram outro exemplo de utilização de marcos visuais para organizar a diagrama.
[00024] As Figuras 6A e 6B ilustram outro exemplo de utilização de marcos visuais para organizar um diagrama.
[00025] As Figuras 7A a 7C ilustram outro exemplo de utilização de marcos visuais para organizar um diagrama.
[00026] As Figuras 8A a 8C ilustram outro exemplo de utilização de marcos visuais para organizar um diagrama.
[00027] As Figuras 9A e 9B ilustram outro exemplo de utilização de marcos visuais para organizar um diagrama.
[00028] As Figuras 10A a 10D ilustram exemplos de barras de pressão que podem ser usadas para organizar elementos em um diagrama.
[00029] As Figuras 11A e 11B ilustram exemplos de beziers de pressão que podem ser usados para organizar elementos em um diagrama.
[00030] As Figuras 12A a 12C ilustram exemplos de arcos de pressão que podem ser usados para organizar elementos em um diagrama.
[00031] As Figuras 13A a 13C ilustram exemplos de poços de gravidade que podem ser usados para organizar elementos em um diagrama.
[00032] As Figuras 14A e 14B ilustram um exemplo de uma pilha de
Petição 870200016428, de 03/02/2020, pág. 14/45
8/30 pressão que pode ser usada para organizar elementos em um diagrama.
[00033] A Figura 15 ilustra um exemplo de um caixa de adesivo que pode ser usada para organizar elementos em um diagrama.
[00034] A Figura 16 ilustra um exemplo de um laço adesivo que pode ser usado para organizar elementos em um diagrama.
[00035] A Figura 17 ilustra um fluxograma de um método exemplificativo para customizar um marco visual.
[00036] A Figura 18 ilustra um exemplo de um marco visual personalizado.
DESCRIÇÃO DETALHADA [00037] A presente invenção se estende a métodos, sistemas, e produtos de programa de computador de utilização de marcos visuais para organizar diagramas. Em algumas modalidades, os marcos visuais são usados para organizar um diagrama. Um sistema de computador apresenta um ou mais elementos visuais que representam um diagrama. O sistema de computador apresenta um marco visual juntamente com um ou mais elementos visuais dentro do diagrama.
[00038] O marco visual é configurado com uma ou mais propriedades que serão aplicadas a elementos visuais associados para posicionar os elementos visuais associados em relação ao marco visual.
[00039] O sistema de computador recebe uma entrada selecionando um ou mais elementos visuais para colocação no diagrama. O sistema de computador recebe uma entrada adicional indicando que o elemento visual selecionado deve ser associado ao marco visual. O sistema de computador posiciona automaticamente o elemento visual selecionado em relação ao marco visual de acordo com uma ou mais propriedades correspondentes do marco visual para organizar o elemento visual selecionado dentro do diagrama. O elemento visual selecionado fica posicionado em resposta à recepção da entrada adicional.
Petição 870200016428, de 03/02/2020, pág. 15/45
9/30 [00040] Em outras modalidades, um marco visual é personalizado para uso na organização de um diagrama. Um sistema de computador acessa e apresenta visualmente um marco visual armazenado que pode ser usado para organizar elementos visuais em um diagrama. O sistema de computador altera a apresentação visual do marco visual de acordo com a entrada inserida pelo usuário.
[00041] O sistema de computador configura uma ou mais propriedades do marco visual de acordo com a entrada inserida pelo usuário. Uma ou mais propriedades configuradas indicam como posicionar automaticamente um elemento visual associado em relação ao marco visual para organizar o elemento visual associado dentro de um diagrama. O sistema de computador armazena a apresentação visual alterada juntamente com uma ou mais propriedades configuradas como um novo marco visual. O novo marco visual serve para uso na organização de diagramas de acordo com a entrada inserida pelo usuário.
[00042] As modalidades da presente invenção podem compreender ou utilizar um computador de uso especial ou de uso geral que inclui hardware de computador, como discutido em mais detalhes abaixo. As modalidades dentro do escopo da presente invenção também incluem meios físicos ou outros meios legíveis de computador para transportar ou armazenar instruções executáveis por computador e/ou estruturas de dados. Tais meios legíveis de computador podem ser quaisquer meios disponíveis que podem ser acessados por um sistema de computador de uso geral ou de uso especial. Os meios legíveis de computador que armazenam instruções executáveis por computador são meios de armazenamento físico. Os meios legíveis de computador transportam instruções executáveis por computador são meios de transmissão. Assim, a título de exemplo, e sem caráter limitativo, as modalidades da invenção podem compreender ao menos dois tipos claramente diferentes de meios legíveis de computador: meio de arPetição 870200016428, de 03/02/2020, pág. 16/45
10/30 mazenamento físico e meio de transmissão.
[00043] O meio de armazenamento físico inclui RAM, ROM,
EEPROM, CD-ROM ou outro armazenamento de disco óptico, armazenamento de disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outro meio que pode ser usado para armazenar meios de código de programa desejados sob a forma de instruções executáveis por computador ou estruturas de dados e que pode ser acessado por um computador de uso geral ou de uso especial.
[00044] Uma “rede” é definida como um ou mais links de dados que permitem o transporte de dados eletrônicos entre sistemas de computador e/ou módulos e/ou outros dispositivos eletrônicos. Quando as informações forem transferidas ou fornecidas através de uma rede ou outra conexão de comunicação (tanto conectados por hardwire, sem fio, ou uma combinação de conexão por hardwire ou sem fio) a um computador, o computador vê adequadamente a conexão como um meio de transmissão. O meio de transmissão pode incluir uma rede e/ou links de dados que podem ser usados para transportar meios de código de programa desejados sob a forma de instruções executáveis por computador ou estruturas de dados e que pode ser acessado por um computador de uso geral ou de uso especial. Combinações desses também devem ser incluídas dentro do escopo de meio legível de computador.
[00045] Ademais, deve ser entendido, que ao obter vários componentes de sistema de computador, o meio de código de programa sob a forma de instruções executáveis por computador ou estruturas de dados pode ser transferido automaticamente do meio de transmissão para o meio de armazenamento físico (ou vice-versa). Por exemplo, as instruções executáveis por computador ou estruturas de dados recebidas através de uma rede ou link de dados podem ser armazenadas
Petição 870200016428, de 03/02/2020, pág. 17/45
11/30 em buffer em RAM dentro de um módulo de interface de rede (por exemplo, “NIC”), e então eventualmente transferidas para RAM de sistema de computador e/ou para um meio de armazenamento físico menos volátil em um sistema de computador. Assim, deve ser entendido que o meio de armazenamento físico pode ser incluído em componentes de sistema de computador que também (ou ainda principalmente) utilizam meio de transmissão.
[00046] As instruções executáveis por computador compreendem, por exemplo, instruções e dados que fazem com que um computador de uso geral, computador de uso especial, ou dispositivo de processamento de uso especial realizem uma determinada função ou grupo de funções. As instruções executáveis por computador podem ser, por exemplo, binárias, instruções de formato intermediário como linguagem de montagem (“assembly language”), ou ainda código-fonte. Embora o assunto seja descrito em linguagem específica para características estruturais e/ou ações metodológicas, deve ser entendido que o assunto definido nas concretizações não é necessariamente limitado às características descritas ou ações descritas acima. De preferência, as características e ações descritas são mostradas como formas exemplificativas de implementar as concretizações.
[00047] Os elementos versados na técnica irão avaliar que a invenção pode ser praticada em ambientes de computação de rede com muitos tipos de configurações de sistema de computador, inclusive, computadores pessoais, computadores de mesa, laptops, processadores de mensagem, dispositivos portáteis, sistemas multiprocessadores, eletrônica de consumo baseada em microprocessador ou programável, PCs de rede, minicomputadores, computadores de grande porte, telefones móveis, PDAs, pagers, roteadores, comutadores, e similares. A invenção também pode ser praticada em ambientes de sistema distribuídos onde sistemas de computador locais e remotos, que são co
Petição 870200016428, de 03/02/2020, pág. 18/45
12/30 nectados (tanto por links de dados conectados por hardwire, links de dados sem fio, ou por uma combinação de links de dados conectados por hardwire e sem fio) através de uma rede, realizam tarefas. Em um ambiente de sistema distribuído, os módulos de programa podem ficar posicionados em dispositivos de armazenamento de memória local e remoto.
[00048] A Figura 1 ilustra um exemplo de arquitetura de computador 100 que facilita a criação flexível de diagramas compatíveis de layout automático. Com referência à Figura 1, a arquitetura de computador 100 inclui interface de usuário 101, editor de diagrama 102, e módulo de renderização 107. Cada componente mostrado pode ser conectado a outro através de (ou ser parte de) uma rede, como, por exemplo, uma Rede Local (“LAN”), uma Rede Remota (“WAN”), ainda a Internet. Consequentemente, cada componente mostrado bem como qualquer outro componente conectado, pode criar dados relacionados a mensagens e trocar datagramas de dados relacionados a mensagens (por exemplo, Protocolo de Internet (“IP”) e outros protocolos de alto nível que utilizam datagramas IP, como, Protocolo de Controle de Transmissão (“TCP”), Protocolo de Transferência de Hipertexto (“HTTP”), Protocolo Padrão para Envio de E-Mails (“SMTP”), etc.) através da rede.
[00049] Os dispositivos de entrada 114 podem incluir uma variedade de dispositivos de entrada, como, por exemplo, um teclado e/ou mouse. O usuário 113 pode utilizar dispositivos de entrada 114 para inserir dados na arquitetura de computador 100. O dispositivo de exibição 108 pode apresentar visualmente a saída de dados da arquitetura de computador 100 e tela 109. O usuário 113 pode perceber visualmente dados exibidos na tela 109.
[00050] Geralmente, a interface de usuário 101 é configurada para funcionar como uma camada de software intermediária entre o usuário
Petição 870200016428, de 03/02/2020, pág. 19/45
13/30
113 e os outros componentes de arquitetura de computador 100. A interface de usuário 101 pode ser configurada com um software adequado, como, por exemplo, drivers, para receber a entrada de dispositivos de entrada 114 e enviar uma saída ao dispositivo de exibição 108. Assim, a interface de usuário 101 pode encaminhar a entrada de usuário a outros componentes, como, por exemplo, editor de diagrama 102. A interface de usuário 101 também pode encaminhar dados de imagem renderizáveis de outros componentes, como, por exemplo, módulo de renderização 107, ao dispositivo de exibição 108.
[00051] O editor de diagrama 102 é configurado para editar dados de diagrama para diagramas renderizáveis. Os dados de diagrama podem indicar tipos de formato, localizações de formato, e conexões entre formatos de elementos visuais em um diagrama. Em resposta à entrada de usuário, o editor de diagrama 102 pode adicionar, deletar, e alterar dados de diagrama que representam localizações de formato, tipos de formato, e conexões de elementos visuais de um diagrama. Em algumas modalidades, uma ação de usuário faz com que o editor de diagrama 102 realize uma série de edições para dados de diagrama. Por exemplo, em resposta à colocação de um elemento visual em um diagrama, o editor de diagrama 102 pode a) editar dados de diagrama para incluir a localização e tipo de um formato do elemento visual e b) editar os dados de diagrama para incluir conexões entre o formato e outros formatos adequados.
[00052] O editor de diagrama 102 também pode acessar marcos visuais de repositórios de marco visual 135 e incluir dados que representam marcos visuais em dados de diagrama.
[00053] Assim, similarmente aos formatos dentro de um diagrama, o editor de diagrama 102 também pode adicionar, deletar, e alterar os dados de diagrama que representam localizações de marco visual, tipos e conexões de marcos visuais dentro de um diagrama. As opera
Petição 870200016428, de 03/02/2020, pág. 20/45
14/30 ções de marco visual também podem servir para responder à entrada de usuário.
[00054] O módulo de renderização 107 é configurado par a gerar elementos visuais interconectados (formatos e/ou marcos visuais) a partir de dados de diagrama para renderizar um diagrama no dispositivo de exibição 108. Os diagramas podem ser qualquer um entre uma variedade de tipos diferentes de diagramas que inclui fluxogramas, diagramas de workflow, gráficos organizacionais, diagramas de processo, esquemas, etc. Os diagramas podem incluir qualquer um entre uma variedade de elementos visuais diferentes que incluem formatos geométricos, como, por exemplo, círculos, losangos, quadrados, retângulos, triângulos, etc. As conexões entre os elementos visuais podem ser representadas como uma linha.
[00055] Como mostrado, o módulo de renderização 107 inclui um módulo de auxílio visual 117. O módulo de auxílio visual 117 é configurado para fornecer um feedback visual a um usuário para ajudar o mesmo com a criação e edição do diagrama. Por exemplo, mediante a seleção do usuário de um elemento visual em um diagrama, o módulo de auxílio visual 117 pode fornecer feedback visual indicando a seleção do elemento visual. O feedback visual pode incluir alterar as características visuais de elementos e conexões para indicar a seleção (por exemplo, destacar em cinza o contorno do elemento visual). O feedback visual também pode incluir suplementar um diagrama com informações visuais adicionais para ajudar um usuário no desenho de elementos e conexões em um diagrama.
[00056] As Figuras 3A a 3D ilustram a utilização de marcos visuais para organizar diagramas 300.
[00057] A Figura 2 ilustra um fluxograma de um método 200 de utilização de marcos visuais para organizar um diagrama. O método 200 será descrito com relação aos componentes e dados mostrados na
Petição 870200016428, de 03/02/2020, pág. 21/45
15/30 arquitetura de computador 100 e com relação ao diagrama 300. [00058] O método 200 inclui uma ação de apresentar uma disposição de um ou mais elementos visuais representando um diagrama (ação 201). O método 200 inclui uma ação de apresentar um marco visual juntamente com um ou mais elementos visuais dentro do diagrama, o marco visual configurado com uma ou mais propriedades que serão aplicadas a elementos visuais associados para posicionar os elementos visuais associados em relação ao marco visual (ação 202). Por exemplo, a interface de usuário 101 pode apresentar elementos visuais 141 no dispositivo de exibição 108. Os elementos visuais 141 podem incluir elementos e um ou mais marcos visuais. Por exemplo, com referência à Figura 3A, o elemento 301 e barra de pressão 302 podem ser apresentados na tela 109. A barra de pressão 302 pode ser configurada com uma ou mais propriedades que serão aplicadas ao elemento 301 para posicionar o elemento 301 em relação à barra de pressão 302. Por exemplo, a barra de pressão 302 pode incluir uma propriedade para alinhar verticalmente o elemento 301 sobre a barra de pressão 302.
[00059] O método 200 inclui uma ação de receber a entrada selecionando um elemento visual para colocação no diagrama (ação 203). Por exemplo, a interface de usuário 101 pode receber a entrada de seleção de elemento de usuário 133 (por exemplo, um clique do mouse no elemento 301). A interface de usuário 101 pode determinar que a entrada de seleção de elemento de usuário 133 é a seleção de um elemento visual novo ou existente. Como tal, a interface de usuário 101 pode encaminhar a entrada de seleção 161 ao módulo de renderização 107.
[00060] Um novo elemento (por exemplo, de uma barra de ferramentas) pode ser selecionado para inclusão em um diagrama. Um elemento existente (por exemplo, já no diagrama) pode ser seleciona
Petição 870200016428, de 03/02/2020, pág. 22/45
16/30 do para se mover dentro do diagrama. Por exemplo, com referência à Figura 3A, o elemento 301 (um novo elemento ou um elemento em algum outro lugar no diagrama 300) pode ser selecionado para inclusão ou movimento dentro do diagrama 300. Quando um elemento existente for selecionado para movimento, uma representação atual do elemento existente pode permanecer em sua localização atual. Juntamente com a representação atual, uma representação temporária selecionada do elemento existente pode ser criada. A representação temporária selecionada do elemento pode ser movida dentro de um diagrama para representar um movimento possível do elemento para locais diferentes no diagrama. Se o movimento real do elemento existente ocorrer eventualmente, a representação atual do elemento é movida para a nova localização.
[00061] O método 200 inclui uma ação de fornecer feedback visual indicando que o elemento visual selecionado foi selecionado (ação 204). Por exemplo, o módulo de auxílio visual 117 pode fornecer feedback visual de seleção de elemento 142 para exibição no dispositivo de exibição 108. O feedback visual de seleção de elemento pode resultar da alteração das características visuais de um elemento visual selecionado de alguma maneira para indicar que o mesmo foi selecionado. Por exemplo, agora com referência à Figura 3B, o usuário 113 selecionou o elemento 301 com o cursor 391. Como mostrado, o elemento 301 é representado com uma linha tracejada (ao contrário de uma linha sólida) para indicar que o elemento 301 foi selecionado. Entretanto, outras alterações de característica visual, como, por exemplo, alteração na cor, brilho, tamanho, formato, etc. também são possíveis. A percepção visual da linha tracejada (ou outra característica visual) permite que o usuário 113 determine mais facilmente que o elemento 301 foi selecionado. Se o elemento 301 for um elemento existente, uma representação atual do elemento 305 pode permanecer em algum
Petição 870200016428, de 03/02/2020, pág. 23/45
17/30 outro lugar (não mostrado) no diagrama 300.
[00062] O método 200 inclui uma ação de receber uma entrada adicional indicando que o elemento visual selecionado será associado ao marco visual (ação 205). Por exemplo, com referência às Figuras 1 e 3C, a interface de usuário 101 pode detectar a entrada de movimento 132 indicando que o elemento 301 se moveu de modo que esse seja ao menos parcialmente co-localizado com a barra de pressão 302 (por exemplo, na tela 109). A interface de usuário 101 pode determinar que a entrada de movimento 132 é relativa ao módulo de renderização 107 e pode encaminhar dados de movimento 162 ao módulo de renderização 107. O módulo de renderização 107 pode determinar a partir de dados de movimento 162 que o elemento 301 está ao menos parcialmente co-localizado na barra de pressão 302.
[00063] O método 200 inclui uma ação de atualizar automaticamente a disposição de um ou mais elementos visuais ao posicionar o elemento visual selecionado em relação ao marco visual de acordo com uma ou mais propriedades correspondentes do marco visual em resposta à recepção da entrada adicional para organizar o elemento visual selecionado dentro do diagrama (ação 206). Por exemplo, em resposta aos dados de movimento 162 (por exemplo, co-localização de elemento 301 com barra de pressão 302), o editor de diagrama 102 pode atualizar os dados de diagrama 112 (por exemplo, representando o diagrama 300) ao posicionar o elemento 301 em relação à barra de pressão 302 de acordo com uma ou mais propriedades de barra de pressão 302. O posicionamento do elemento 301 em relação à barra de pressão 302 pode ser realizado para organizar o elemento 301 dentro do diagrama 300.
[00064] O método 200 inclui uma ação de apresentar a disposição atualizada de um ou mais elementos visuais para refletir a organização do elemento visual selecionado dentro do diagrama (ação 207). Por
Petição 870200016428, de 03/02/2020, pág. 24/45
18/30 exemplo, com referência às Figuras 1 e 3D, o módulo de renderização 107 pode enviar os elementos visuais atualizados 143 (por exemplo, elemento 301 e barra de pressão 302 como dispostos na Figura 3D) ao dispositivo de exibição 109. O dispositivo de exibição 109 pode apresentar os elementos visuais atualizados 143. Por exemplo, como mostrado na Figura 3D, o elemento 301 é verticalmente alinhado sobre a barra de pressão 302.
[00065] Consequentemente, as Figuras 3A a 3D ilustram um exemplo de organização flexível de um elemento dentro de um diagrama utilizando uma barra de pressão. Entretanto, várias outras modalidades também são contempladas. Qualquer um dos diagramas anterior e subsequentemente descritos pode ser exibido e interagido através da tela (por exemplo, tela 109) de um dispositivo de exibição (por exemplo, dispositivo de exibição 108).
[00066] As modalidades da invenção facilitam a marcação de elementos para posicionamento relativo a um marco visual. Por exemplo, as Figuras 4A a 4E ilustram um exemplo de marcação de uma pluralidade de elementos para aplicar as propriedades de uma barra de pressão à pluralidade de elementos in diagrama 400.
[00067] Como mostrado na Figura 4A, o diagrama 400 inclui os elementos 401, 402, e 403. Os elementos 401, 402, e 403 estão em posições arbitrárias dentro do diagrama 400. Como mostrado na Figura 4B, o cursor 491 é usado para aplicar o indicador de marcação 411 ao elemento 401. Como mostrado na Figura 4C, o cursor 491 é usado para aplicar o indicador de marcação 412 ao elemento 402. O elemento 401 permanece marcado com o indicador de marcação 411. Como mostrado na Figura 4D, o cursor 491 é usado para aplicar o indicador de marcação 413 ao elemento 403. Os elementos 401 e 402 permanecem marcados com os indicadores de marcação 411 e 412 respectivamente. A marcação de elementos pode ser representada na entra
Petição 870200016428, de 03/02/2020, pág. 25/45
19/30 da de seleção 161. A alteração de elementos nas linhas tracejadas em resposta à marcação pode ser representada no feedback visual de seleção de elemento 142.
[00068] Subsequente à marcação de elemento 403, o usuário 113 pode enviar uma entrada adicional, como, por exemplo, selecionando um item de uma barra de menu ou botões (apresentada por interface de usuário 101), para indicar que os elementos 401, 402, e 403 devem ser associados a uma barra de pressão (ou algum outro marco visual). Essa entrada adicional pode ser recebida na interface de usuário 101 e encaminhada ao módulo de renderização 107 e/ou editor de diagrama 102. O módulo de renderização 107 e editor de diagrama 102 podem operar entre si para atualizar automaticamente a disposição do diagrama 400. Por exemplo, o módulo de renderização 107 representou que as posições alteradas de elementos 401, 402, e 403 e editor de diagrama 102 podem alterar os dados de diagrama 112 para incluir a barra de pressão 404. Os elementos 401, 402, e 403 podem ficar posicionados em relação à barra de pressão 404 de acordo com as propriedades da barra de pressão 404 (por exemplo, espaçamento uniforme entre os elementos e alinhamento vertical).
[00069] O módulo de renderização 107 pode apresentar a disposição atualizada do diagrama 400 (representado nos elementos visuais atualizados 144) no dispositivo de exibição 109. Como mostrado na Figura 4E, os elementos 401, 402, e 403 são uniformemente espaçados sobre a barra de pressão 404 e são verticalmente alinhados sobre a barra de pressão 404.
[00070] As modalidades da invenção facilitam a adição de elementos a um marco visual que já inclui um ou mais elementos. As Figuras 5A a 5C ilustram um exemplo da adição de um elemento a uma barra de pressão em um diagrama 500.
[00071] Como mostrado na Figura 5A, o elemento selecionado 501
Petição 870200016428, de 03/02/2020, pág. 26/45
20/30 (tanto um elemento novo como existente de algum outro lugar no diagrama 500) é selecionado com o cursor 591 e movido para ficar parcialmente co-localizado com a barra de pressão 503. Por exemplo, através da entrada de usuário, o usuário 113 pode arrastar o elemento selecionado 501 sobre a barra de pressão 503. O elemento existente 502 já está posicionado sobre a barra de pressão 503 de acordo com as propriedades da barra de pressão 503.
[00072] Através da entrada de usuário adicional, o usuário 113 pode indicar que o elemento selecionado 501 deve ficar posicionado sobre a barra de pressão 503. Por exemplo, o usuário 113 pode soltar o elemento selecionado 501 sobre a barra de pressão 503. Em resposta à detecção que o elemento selecionado 501 foi solto sobre a barra de pressão 503, o diagrama 500 pode ser automaticamente atualizado e apresentado na tela 109. Por exemplo, como mostrado na Figura 5B, a barra de pressão 503 é redimensionada com a barra de pressão redimensionada 503R de modo a acomodar o elemento selecionado 501. Como mostrado na Figura 5C, o elemento selecionado 501 e elemento existente 502 são ajustados e alinhados sobre a barra de pressão redimensionada 503R de acordo com as propriedades da barra de pressão redimensionada 503R.
[00073] As modalidades da invenção facilitam a expansão de elementos existentes sobre um marco visual. As Figuras 6A e 6B ilustram um exemplo de expansão de um elemento sobre uma barra de pressão em um diagrama 600.
[00074] Como mostrado na Figura 6A, os elementos 601 e 602 ficam posicionados em relação à barra de pressão 603 de acordo com as propriedades da barra de pressão 603. O elemento 602 é selecionado (por exemplo, através da entrada de usuário) com o cursor 691. Através da entrada de usuário adicional, o usuário 113 pode indicar que o elemento 602 será expandido sobre a barra de pressão 603. Por
Petição 870200016428, de 03/02/2020, pág. 27/45
21/30 exemplo, o usuário 113 pode selecionar um item de expansão de uma barra de menu ou de botões (apresentada pela interface de usuário 101).
[00075] Em resposta à entrada de usuário adicional selecionando um item de expansão, o diagrama 600 pode ser automaticamente atualizado e apresentado na tela 109. Por exemplo, como mostrado na Figura 6B, a barra de pressão 603 é redimensionada com a barra de pressão redimensionada 603R de modo a acomodar o elemento expandido 602E. O elemento expandido 602E também revela três subelementos, os elementos 612, 622, e 632. O elemento 601, elemento expandido602E, e elementos 612, 622, e 632 são ajustados e alinhados sobre a barra de pressão redimensionada 603R de acordo com as propriedades da barra de pressão redimensionada 603R.
[00076] As modalidades da invenção facilitam o movimento de um elemento sobre um marco visual até uma posição diferente sobre o marco visual. As Figuras 7A a 7C ilustram um exemplo do movimento de um elemento sobre uma barra de pressão em um diagrama 700.
[00077] Como mostrado na Figura 7A, os elementos 701 e 702 ficam posicionados sobre a barra de pressão 5 703 de acordo com as propriedades da barra de pressão 703. Subsequentemente, a entrada de usuário recebida indica que o elemento 702 será movido a partir do lado direito do elemento 701 para o lado esquerdo do elemento 701. Por exemplo, o elemento 702 pode ser selecionado com o cursor 791 e arrastado do lado direito do elemento 701 para o lado esquerdo do elemento 701. Como mostrado na Figura 7B, o elemento 702 (selecionado) fica posicionado à esquerda do elemento 701.
[00078] Através da entrada de usuário adicional, o usuário 113 pode indicar que o elemento 702 ficará posicionado à esquerda do elemento 702 sobre a barra de pressão 703. Por exemplo, o usuário 113 pode soltar o elemento 702 (selecionado) na posição indicada na Figu
Petição 870200016428, de 03/02/2020, pág. 28/45
22/30 ra 7B. Em resposta à detecção que o elemento 702 (selecionado) foi solto sobre a barra de pressão 703, o diagrama 700 15 pode ser automaticamente atualizado e apresentado na tela 109. Por exemplo, como mostrado na Figura 1C, os elementos 701 e 702 são ajustados e alinhados sobre a barra de pressão 703 de acordo com as propriedades da barra de pressão 703. O elemento 702 fica posicionado à esquerda do elemento 701.
[00079] As modalidades da invenção facilitam o movimento de um marco visual para mover 20 todos os elementos posicionados sobre o marco visual. As Figuras 8A a 8C ilustram um exemplo do movimento de uma barra de pressão para mover todos os elementos sobre a barra de pressão em um diagrama 800.
[00080] Como mostrado na Figura 8A, o elemento 801 e elemento 802 ficam posicionados em relação à barra de pressão 803 de acordo com as propriedades da barra de pressão 803. Subsequentemente, a entrada de usuário recebida indica que a barra de pressão 803 será selecionada. Por exemplo, a barra de pressão 803 pode ser selecionada com o cursor 891. Mediante a seleção, a barra de pressão 803 pode ser movida dentro do diagrama 800. Por exemplo, como mostrado na Figura 8B, a barra de pressão 803 pode ser movida para baixo e para a direita até uma nova posição (da barra de pressão 803 selecionada). Os elementos 801 e 802 se movem com a barra de pressão 803. A entrada de usuário adicional pode 30 indicar que a barra de pressão 803 deve ficar na nova posição dentro do diagrama 800. Uma operação de arrastar e soltar pode ser usada para mover a barra de pressão 803, juntamente com os elementos 801 e 802, até a nova posição.
[00081] As modalidades da invenção facilitam a alternância da visibilidade de marcos visuais. As Figuras 9A e 9B ilustram um exemplo de alternância de barras de pressão em um diagrama 900.
Petição 870200016428, de 03/02/2020, pág. 29/45
23/30 [00082] Como mostrado na Figura 9A, o elemento 901 fica posicionado em relação à barra de pressão 911, os elementos 902, 903, e 904 ficam posicionados em relação à barra de pressão 912, e os elementos 905, 906, e 907 ficam posicionados em relação à barra de pressão 913. A barra de pressão 914 é indicada como disponível aos elementos visuais recebidos. A pilha 921 fornece uma estrutura de grade para dispor os elementos dentro do diagrama 900. Por exemplo, a pilha de pressão 921 pode possuir propriedades para manter um espaçamento definido entre as barras de pressão adjacentes (essencialmente mantendo inúmeras linhas). Cada barra de pressão (linha) pode ser horizontalmente redimensionada para acomodar os elementos como apropriado. À medida que os elementos são adicionados ao diagrama 900 esses podem ocupar uma nova barra de pressão ou uma localização sobre uma barra de pressão existente.
[00083] Como mostrado na Figura 9B, a pilha de pressão 921 é alternada (inclusive a barra de pressão 914 uma vez que esta está vazia). Entretanto, a disposição de elementos de acordo com as propriedades dos marcos visuais da Figura 9A permanece. Como tais, os elementos podem ser organizados utilizando marcos visuais e os marcos visuais subsequentemente ocultos de modo que permaneça apenas a disposição organizada de elementos.
[00084] Assim, geralmente, os marcos visuais podem ser adicionados ao diagrama para ajudar na organização de elementos dentro do diagrama. Uma variedade de tipos diferentes de marcos visuais pode ser usada. Cada tipo de marco visual pode incluir propriedades configuráveis que definem as disposições e ajustes de elementos associados ao tipo de marco visual. As propriedades configuráveis podem definir como os elementos associados serão posicionados em relação ao marco visual. As propriedades configuráveis também podem definir como os elementos associados serão posicionados um em relação ao
Petição 870200016428, de 03/02/2020, pág. 30/45
24/30 outro. Subsequentemente, os elementos dentro do diagrama podem ser associados a um marco visual e dispostos e/ou ajustados de acordo dom as propriedades configuráveis do marco visual.
[00085] Por exemplo, as Figuras 10A a 10D ilustram inúmeros exemplos de barras de pressão que podem ser usados para organizar elementos em um diagrama. A Figura 10A mostra os elementos 1001 e 1002 posicionados em relação à barra de pressão horizontal 1003. Uma das propriedades da barra de pressão horizontal 1003 pode indicar que os elementos serão espaçados horizontalmente de maneira uniforme sobre a barra de pressão horizontal 1003. A Figura 10B mostra os elementos 1011, 1012, e 1013 posicionados em relação à barra de pressão horizontal 1014. Uma das propriedades da barra de pressão horizontal 1014 pode indicar o espaçamento aumentado entre o elemento 1012 e o elemento 1013 sobre a barra de pressão horizontal 1014. A Figura 10C mostra os elementos 1021, 1022, e 1023 posicionados em relação à barra de pressão vertical 1024. Uma das propriedades da barra de pressão vertical 1024 pode indicar que os elementos serão espaçados verticalmente de maneira uniforme sobre a barra de pressão vertical 1024. A Figura 10D mostra os elementos 1031 e 1032 sobre a barra de pressão diagonal 1033.
[00086] As Figuras 11A e 11B ilustram exemplos de Beziers de pressão que podem ser usadas para organizar elementos em um diagrama. Beziers de pressão são uma variante de uma barra de pressão. A Figura 11A mostra os elementos 1101, 1102, 1103, e 1104 sobre o Bezier de pressão 1105. Uma das propriedades de Bezier de pressão 1105 pode ser que esse possui uma curvatura menos pronunciada. A Figura 11B mostra os elementos 1111, 1112, 1113, e 1114 sobre o Bezier de pressão 1115. Uma das propriedades de Bezier de pressão 1105 pode ser que esse possui uma curvatura mais pronunciada.
Petição 870200016428, de 03/02/2020, pág. 31/45
25/30 [00087] As Figuras 12A a 12C ilustram exemplos de arcos de pressão que podem ser usados para organizar os elementos em um diagrama. Os arcos de pressão são similares às barras de pressão, porém possuem um formato elíptico. A Figura 12A mostra os elementos 1201, 1202, 1203, 1204, e 1205 no arco de pressão 1206. As propriedades do arco de pressão 1206 podem incluir um raio menor e ângulo maior (ou seja, mais perto de ser um círculo completo). A Figura 12B mostra os elementos 1211, 1212, e 1213 sobre o arco de pressão 1214. As propriedades de arco de pressão 1214 podem incluir um raio menor e ângulo menor (ou seja, mais longe de ser um círculo completo). A Figura 12C mostra os elementos 1221, 1222, e 1223 sobre o arco de pressão 1224. As propriedades do arco de pressão 1224 podem incluir um raio maior e ângulo menor.
[00088] Ademais, as barras de pressão, beziers de pressão, e arcos de pressão podem possuir uma variedade de outras propriedades configuráveis em comum. Por exemplo, as barras de pressão, beziers de pressão, e arcos de pressão podem incluir propriedades configuráveis que definem se distribuição foi uniforme ou livre, um ou mais entre um alinhamento inferior, alinhamento superior, alinhamento esquerdo, e alinhamento direito (quando aplicáveis), um ângulo de rotação (por exemplo, 45 graus, 90 graus etc.), e um espaçamento (por exemplo, em pixels).
[00089] Os poços de gravidade são elípticos e podem ser dimensionados como desejado. Os formatos adicionados dentro de seu “campo de influência” podem gravitar em direção aos mesmos, como definido por um algoritmo baseado em força. As Figuras 13A a 13C ilustram exemplos de poços de gravidade que podem ser usados para organizar elementos em um diagrama. A Figura 13A mostra os elementos 1301, 1302, 1303, dentro do campo de influência de poço de gravidade 1304. O poço de gravidade 1304 é circular. A Figura 13B mostra
Petição 870200016428, de 03/02/2020, pág. 32/45
26/30 os elementos 1311, 1312, e 1313, dentro do campo de influência de poço de gravidade 1314. O poço de gravidade 1314 é elíptico e verticalmente orientado. A Figura 13C mostra os elementos 1321 e 1322 dentro do campo de influência do poço de gravidade 1323. O poço de gravidade 1323 é elíptico e diagonalmente orientado. Os poços de gravidade podem incluir propriedades configuráveis que definem uma faixa (por exemplo, em diâmetro) e uma distribuição (por exemplo, equilibrada, superior, inferior, esquerda, direita, etc).
[00090] As pilhas de pressão podem ser usadas para dispor os elementos de acordo com uma estrutura de grade de empilhamento. À medida que os formatos são adicionados a uma trajetória, esses podem ocupar uma nova linha ou uma célula dentro de uma linha existente. Novas linhas e células podem ser geradas à medida que os elementos são adicionados à pilha de pressão. As Figuras 14A e 14B ilustram um exemplo de uma pilha de pressão que pode ser usada para organizar elementos em um diagrama. A Figura 14A mostra a pilha de pressão 1421 que inclui barras de pressão 1411, 1412, 1413, e 1414. A Figura 14B mostra os elementos interconectados 1401 a 1407 posicionados sobre as barras de pressão 1411, 1412, e 1413. As pilhas de pressão podem incluir as propriedades configuráveis que definem a distribuição de células (por exemplo, em forma livre ou uniforme) à esquerda da pilha, no meio da pilha, à direita da pilha, rotação (por exemplo, 45 graus, 90 graus, etc), e espaçamento de linha.
[00091] As caixas de adesivo são retangulares e atuam como grupos visuais que podem ser usados para organizar, mover, e gerenciar as coleções de elementos. A Figura 15 ilustra um exemplo de uma caixa de adesivo que pode ser usada para organizar os elementos em um diagrama. A Figura 15 mostra os elementos 1501-1504 dentro da caixa de adesivo 1505. Os laços adesivos são arbitrariamente conformados e atuam como grupos visuais que podem ser usados para or
Petição 870200016428, de 03/02/2020, pág. 33/45
27/30 ganizar, mover, e gerenciar as coleções de elementos. A Figura 16 ilustra um exemplo de um laço adesivo que pode ser usado para organizar elementos em um diagrama. A Figura 16 mostra os elementos 1601-1605 dentro do laço adesivo 1611. Os elementos 1606, 1607, e 1608 estão fora do laço adesivo 1611. Os laços adesivos tornam possível o uso de regiões de agrupamento interessantes que não são adequadas para formatos geométricos padrão. As caixas de adesivo e laços adesivos podem incluir propriedades configuráveis que definem a expansão/contração e redimensionamento/trajetória.
[00092] Geralmente, as modalidades da invenção permitem que os usuários personalizem os marcos visuais para fazer com que os marcos visuais exibam o comportamento desejado. As modalidades da invenção também incluem a personalização de marcos visuais individuais para criar novos marcos visuais. Por exemplo, o raio de um arco de pressão existente pode ser modificado (aumentado ou reduzido) para criar um novo arco de pressão, um laço adesivo existente pode ser modificado para criar uma região com novos limites, um Bezier de pressão pode ser modificado para alterar uma curvatura, adicionar uma nova curva, ou remover uma curva existente para criar um novo Bezier de pressão, etc.
[00093] Em algumas modalidades, uma pluralidade de marcos visuais existentes é combinada para criar um marco visual personalizado. A Figura 18 ilustra um exemplo de um marco visual personalizado 1800. A Figura 17 ilustra um fluxograma de um exemplo do método 1700 para customizar um marco visual. O método 1700 será descrito com relação aos componentes da arquitetura do computador 100 da Figura 1 e ao marco visual personalizado 1700.
[00094] O método 1700 inclui uma ação de acessar e apresentar visualmente um marco visual armazenado que pode ser usado para organizar os elementos visuais em um diagrama (ação 1701). Por
Petição 870200016428, de 03/02/2020, pág. 34/45
28/30 exemplo, agora com referência à Figura 1, um usuário 113 pode inserir a entrada de seleção de marco visual 134. A interface de usuário 101 pode determinar que a entrada de seleção de marco visual 134 foi inserida pelo usuário selecionando um marco visual. Em resposta, a interface de usuário 101 pode encaminhar a entrada de seleção de marco visual 134 ao editor de diagrama 102. O editor de diagrama 102 pode processar a entrada de seleção de marco visual 134 e acessar um marco visual do repositório de marco visual 135. O editor de diagrama 102 pode incluir o marco visual nos dados de diagrama 112 e enviar os dados de diagrama 112 de modo a renderizar o modelo 107 para apresentação no dispositivo de exibição 108. O módulo de renderização 107 pode renderizar visualmente o marco visual selecionado na tela 109. Quando uma pluralidade de marcos visuais existentes for combinada. A ação 1701 pode ser repetida quando adequado para acessar e apresentar visualmente cada marco visual da pluralidade de marcos visuais. Por exemplo, com referência à Figura 18, a ação 1701 pode ser repetida para acessar as barras de pressão 1821, 1822,
1823, 1824, e 1825.
[00095] O método 1700 inclui uma ação de alterar a apresentação visual do marco visual de acordo com a entrada inserida por usuário (ação 1702). Por exemplo, o usuário 131 pode inserir a entrada de usuário para alterar quaisquer marcos visuais visualmente apresentados na ação 1701. Quando um marco visual for selecionado, o feedback de marco visual pode indicar visualmente a seleção para uso 113 (por exemplo, utilizando qualquer indicação aplicável aos elementos dentro de um diagrama). Por exemplo, mediante a seleção da barra de pressão 1821 o módulo de renderização pode enviar o feedback de marco visual 143 (por exemplo, apresentando a barra de pressão 1821 com uma linha tracejada) ao dispositivo de exibição 108.
[00096] O método 1700 inclui uma ação de configurar uma ou mais
Petição 870200016428, de 03/02/2020, pág. 35/45
29/30 propriedades do marco visual de acordo com a entrada inserida por usuário, uma ou mais propriedades configuradas indicam como posicionar automaticamente um elemento visual associado em relação ao marco visual para organizar o elemento visual associado dentro de um diagrama (ação 1703). Por exemplo, na Figura 18, as extremidades de várias barras de pressão podem ser conectadas para combinar as barras de pressão umas com as outras. As extremidades 1821B, 1822A, e 1823A podem ser conectadas umas às outras e as extremidades 1823B, 1824A, e 1825 A podem ser conectadas para formar um marco visual personalizado 1800.
[00097] O método 1700 inclui uma ação de armazenar a apresentação visual alterada juntamente com ou mais propriedades configuradas como um novo marco visual, o novo marco visual para uso em diagramas de organização de acordo com a entrada inserida por usuário (ação 1704). Por exemplo, o usuário 113 pode inserir a entrada de usuário fazendo com que o marco visual personalizado 1800 seja armazenado no repositório de marco visual 135.
[00098] Os marcos visuais podem ser aplicados a diagramas que possuem elementos visuais dispostos de maneira livre para ajudar a organizar os elementos dentro dos diagramas. Os marcos visuais também podem ser aplicados a diagramas que possuem elementos visuais dispostos de acordo com um mecanismo de disposição automática (por exemplo, de acordo com um algoritmo de layout automático) para ajudar a organizar os elementos dentro dos diagramas. Os marcos visuais podem funcionar em combinação com um mecanismo de disposição automática ao aplicar restrições às disposições automáticas de elementos visuais.
[00099] Assim, as modalidades da invenção facilitam a utilização (em algumas modalidades personalizadas) de marcos visuais para organizar elementos dentro de um diagrama. Os elementos de um dia
Petição 870200016428, de 03/02/2020, pág. 36/45
30/30 grama podem ser organizados de acordo com propriedades definidas de maneira configurável de marcos visuais para fornecer algum nível de estrutura de layout dentro do diagrama. Consequentemente, as modalidades da invenção fornecem uma experiência ao usuário que fornece alguma estrutura, porém mantém a flexibilidade de edição em forma livre.
[000100] A presente invenção pode ser incorporada em outras formas específicas sem que se abandone seu espírito ou características essenciais. As modalidades descritas devem ser consideradas em todos os aspectos apenas como ilustrativas e sem caráter limitativo. O escopo da invenção é, portanto, indicado pelas concretizações em vez de pela descrição anterior. Todas as alterações que estão dentro do significado e âmbito de equivalência das concretizações devem ser abrangidas dentro de seu escopo.

Claims (18)

  1. REIVINDICAÇÕES
    1. Método de utilização de marcos visuais (302) para organizar um diagrama (300), em uma arquitetura de computador (100), o método caracterizado pelo fato de que compreende:
    uma ação de apresentar um ou mais elementos visuais (144) representando um diagrama (300);
    uma ação de apresentar um marco visual (302) juntamente com um ou mais elementos visuais (144) dentro do diagrama (300), o marco visual (302) configurado com uma ou mais propriedades que serão aplicadas aos elementos visuais associados para posicionar os elementos visuais associados relativos ao marco visual (302);
    uma ação de receber uma entrada (133) selecionando um elemento visual (144) dentre os um ou mais elementos visuais (144) que são exibidos com o marco visual (302);
    uma ação de receber uma entrada adicional (134) indicando que o elemento visual, que é exibido em um primeiro local, deve ser associado ao marco visual (302), a entrada adicional (134) compreendendo entrada para mover o elemento visual (144) selecionado para se cruzar com o marco visual (302);
    uma ação de fornecer feedback visual indicando que o elemento visual (144) selecionado foi selecionado;
    uma ação de posicionar automaticamente o elemento visual selecionado (301) em relação ao marco visual (302), de acordo com as uma ou mais propriedades correspondentes do marco visual (302) para organizar o elemento visual selecionado (301) dentro do diagrama (300) em resposta à recepção da entrada adicional (134), o posicionamento causando o elemento visual selecionado (301) a sobrepor parcialmente com uma porção limitada do marco visual (302) e de forma que apenas parte do elemento visual selecionado (301) se sobreponha ao marco visual (302);
    Petição 870200016428, de 03/02/2020, pág. 38/45
  2. 2/6 uma ação de apresentar a disposição atualizada dos um ou mais elementos visuais (144) para refletir a organização do elemento visual selecionado dentro do diagrama (300).
    2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o método ainda inclui receber uma entrada do usuário (113) para alternar uma exibição da barra de pressão (302), e em que o elemento visual selecionado (301) ainda é exibido mesmo quando a exibição da barra de pressão (302) é alternada.
  3. 3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o marco visual (302) compreende uma barra de pressão (302), com os um ou mais elementos visuais (144) exibidos na barra de pressão (302).
  4. 4 Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o marco visual (302) compreende um arco de pressão (1214, 1224).
  5. 5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o marco visual (302) compreende um Bezier de pressão (1105, 1115).
  6. 6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o marco visual (302) compreende uma pilha de pressão (921, 1421).
  7. 7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o método inclui ainda a geração de uma representação temporária do elemento visual (144) que é movido para o segundo local, enquanto uma representação atual do elemento visual selecionado (301) permanece no primeiro local.
  8. 8. Método para personalizar um marco visual (302) que será usado para organizar um diagrama (300), em uma arquitetura de computador (100), o método caracterizado pelo fato de que compreende:
    Petição 870200016428, de 03/02/2020, pág. 39/45
    3/6 uma ação de acessar e apresentar visualmente um marco visual (302) armazenado que pode ser usado para organizar elementos visuais (144) em um diagrama (300), o marco visual (302) compreendendo uma barra de pressão (302) que compreende um objeto gráfico no formato de uma linha que se estende entre dois nós de extremidade;
    uma ação de alterar a apresentação visual do marco visual (302) de acordo com a entrada inserida por usuário (113);
    uma ação de configurar uma ou mais propriedades do marco visual (302) de acordo com a entrada inserida por usuário (113), as uma ou mais propriedades configuradas indicando como posicionar automaticamente um elemento visual (144) associado em relação ao marco visual (302) para organizar o elemento visual (144) associado dentro de um diagrama (300) em resposta à entrada detectada que marca o elemento visual (144) associado e entrada que indica que o elemento visual selecionado (301) será associado ao marco visual (302), em que o posicionamento automático do elemento visual (144) associado faz com que o elemento visual associado (144) sobreponha parcialmente uma parte limitada do marco visual (302), e de modo que apenas uma parte do elemento visual (144) associado sobreponha o marco visual (302); e uma ação de armazenar a apresentação visual alterada juntamente com as uma ou mais propriedades configuradas como um novo marco visual (302), o novo marco visual (302) para uso na organização de diagramas (300) de acordo com a entrada inserida por usuário (113).
  9. 9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que a ação de alterar a apresentação visual do marco visual (302) de acordo com a entrada inserida por usuário (113) compreende:
    Petição 870200016428, de 03/02/2020, pág. 40/45
    4/6 uma ação de acessar e apresentar visualmente um segundo marco visual (302) armazenado que pode ser usado para organizar elementos visuais (144) em um diagrama (300); e uma ação de conectar a apresentação do marco visual (302) à apresentação do segundo marco visual (302) para combinar o marco visual (302) e o segundo marco visual (302) em um marco visual (302) composto.
  10. 10. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que ainda compreende:
    uma ação de acessar e apresentar visualmente um segundo marco visual (302) armazenado que pode ser usado para organizar elementos visuais (144) em um diagrama (300); e em que a ação de alterar a apresentação visual do marco visual (302) de acordo com a entrada inserida por usuário (113) compreende conectar o marco visual (302) com o segundo marco visual (302).
  11. 11. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que a ação de configurar uma ou mais propriedades do marco visual (302) de acordo com a entrada inserida por usuário (113) compreende uma ação de configurar uma ou mais propriedades de um marco visual (302) selecionado a partir de: uma barra de pressão (302), um arco de pressão (1214, 1224), um Bezier de pressão (1105, 1115), um poço de gravidade (1304, 1314), uma pilha de pressão (921, 1421), uma caixa de adesivo, e um laço adesivo.
  12. 12. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que a ação de configurar uma ou mais propriedades dos marcos visuais (302) compreende uma ação de configurar um ou mais dentre uma distribuição de elementos visuais (144) associados ao marco visual (302), alinhamento de elementos visuais (144) associados ao marco visual (302), rotação do marco visual (302), e um diâ-
    Petição 870200016428, de 03/02/2020, pág. 41/45
    5/6 metro do marco visual (302).
  13. 13. Sistema de computador, caracterizado pelo fato de que compreende:
    um ou mais processadores;
    um ou mais meios de armazenamento físico que possuem, armazenado nos mesmos, um método para usar marcos visuais (302) para organizar um diagrama (300) que, quando executado nos um ou mais processadores, faz com que o sistema de computador realize as etapas de:
    apresentar um ou mais elementos visuais (144) representando um diagrama (300);
    receber uma entrada de usuário (113) marcando pelo menos dois dentre os elementos visuais (144);
    exibir um indicador de marcação (411, 412, 413) separado com cada um dos pelo menos dois elementos visuais (144) que foram marcados pela entrada de usuário (113);
    receber uma entrada de usuário (113) adicional indicando que pelo menos dois elementos visuais (144) marcados devem ser associados com um marco visual (302), o marco visual (302) sendo configurado com uma ou mais propriedades que devem ser aplicadas aos pelo menos dois elementos visuais (144) marcados associados para posicionar os pelo menos dois elementos visuais (144) marcados em relação ao marco visual (302);
    exibir o marco visual (302);
    posicionar os pelo menos dois elementos visuais (144) marcados em relação ao marco visual (302), de acordo com as uma ou mais propriedades do marco visual (302), para organizar os pelo menos dois elementos visuais (144) marcados dentro do diagrama (300) com o marco visual (302).
  14. 14. Sistema de computador, de acordo com a reivindicação
    Petição 870200016428, de 03/02/2020, pág. 42/45
    6/6
    13, caracterizado pelo fato de que o marco visual (302) compreende uma imagem gráfica de um poço de gravidade (1304, 1314).
  15. 15. Sistema de computador, de acordo com a reivindicação
    13, caracterizado pelo fato de que o marco visual (302) é um marco visual (302) personalizado composto de um ou mais outros marcos visuais (302).
  16. 16. Sistema de computador, de acordo com a reivindicação
    13, caracterizado pelo fato de que o indicador de marcação (411, 412, 413) separado compreende um novo objeto gráfico que é exibido com cada elemento visual (144) correspondente que é marcado.
  17. 17. Sistema de computador, de acordo com a reivindicação
    13, caracterizado pelo fato de que o indicador de marcação (411, 412, 413) separado compreende uma modificação visual para uma apresentação gráfica de cada elemento visual correspondente que é marcado.
  18. 18. Sistema de computador, de acordo com a reivindicação
    13, caracterizado pelo fato de que o método ainda inclui remover o indicador de marcação (411, 412, 413) separado para cada um dos pelo menos dois elementos visuais (144) marcados e exibir os pelo menos dois elementos visuais (144) marcados em relação ao marco visual (302) de acordo com as uma ou mais propriedades do marco visual (302) sem qualquer indicador de marcação (411, 412, 413) separado nos pelo menos dois elementos visuais (144) marcados.
BRPI0914999A 2008-06-27 2009-06-12 método de utilização de marcos visuais para organizar um diagrama, método para personalizar um marco visual que será usado para organizar um diagrama e sistema de computador BRPI0914999B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/163,352 US8826174B2 (en) 2008-06-27 2008-06-27 Using visual landmarks to organize diagrams
PCT/US2009/047271 WO2009158219A2 (en) 2008-06-27 2009-06-12 Using visual landmarks to organize diagrams

Publications (2)

Publication Number Publication Date
BRPI0914999A2 BRPI0914999A2 (pt) 2015-10-27
BRPI0914999B1 true BRPI0914999B1 (pt) 2020-04-14

Family

ID=41445220

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0914999A BRPI0914999B1 (pt) 2008-06-27 2009-06-12 método de utilização de marcos visuais para organizar um diagrama, método para personalizar um marco visual que será usado para organizar um diagrama e sistema de computador

Country Status (8)

Country Link
US (2) US8826174B2 (pt)
EP (1) EP2304540B1 (pt)
JP (1) JP5757035B2 (pt)
KR (1) KR101668881B1 (pt)
CN (1) CN102077166B (pt)
BR (1) BRPI0914999B1 (pt)
CA (1) CA2724684A1 (pt)
WO (1) WO2009158219A2 (pt)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510657B2 (en) 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US7348982B2 (en) 2004-09-30 2008-03-25 Microsoft Corporation Method, system, and computer-readable medium for creating and laying out a graphic within an application program
US8134575B2 (en) * 2004-09-30 2012-03-13 Microsoft Corporation Maintaining graphical presentations based on user customizations
US7743325B2 (en) * 2005-03-15 2010-06-22 Microsoft Corporation Method and computer-readable medium for fitting text to shapes within a graphic
US7750924B2 (en) * 2005-03-15 2010-07-06 Microsoft Corporation Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes
US7747944B2 (en) 2005-06-30 2010-06-29 Microsoft Corporation Semantically applying style transformation to objects in a graphic
US8438486B2 (en) 2006-02-09 2013-05-07 Microsoft Corporation Automatically converting text to business graphics
US8042039B2 (en) * 2008-05-25 2011-10-18 Hewlett-Packard Development Company, L.P. Populating a dynamic page template with digital content objects according to constraints specified in the dynamic page template
US8826174B2 (en) 2008-06-27 2014-09-02 Microsoft Corporation Using visual landmarks to organize diagrams
TW201020901A (en) 2008-11-20 2010-06-01 Ibm Visual feedback for drag-and-drop operation with gravitational force model
US8648878B2 (en) * 2009-03-16 2014-02-11 Microsoft Corporation Inferring diagram structure through implicit shape relationships
US8799325B2 (en) * 2010-03-12 2014-08-05 Microsoft Corporation Reordering nodes in a hierarchical structure
US8363054B2 (en) 2010-06-16 2013-01-29 Microsoft Corporation Localized layout and routing in an interactive diagramming system
US8983763B2 (en) * 2010-09-22 2015-03-17 Nokia Corporation Method and apparatus for determining a relative position of a sensing location with respect to a landmark
US9323807B2 (en) * 2010-11-03 2016-04-26 Sap Se Graphical manipulation of data objects
US8601366B2 (en) * 2011-09-08 2013-12-03 Microsoft Corporation Visualization and editing of composite layouts
US9207951B2 (en) * 2011-11-17 2015-12-08 Prezi, Inc. Grouping with frames to transform display elements within a zooming user interface
US8832582B2 (en) * 2012-03-15 2014-09-09 Microsoft Corporation Interactive control of the curvature of links
WO2013181541A1 (en) * 2012-06-01 2013-12-05 Treiser Adam Systems and methods for displaying relationships between data items, individuals, and dynamically calculated metric scores
US20150052465A1 (en) * 2013-08-16 2015-02-19 Microsoft Corporation Feedback for Lasso Selection
US10078411B2 (en) 2014-04-02 2018-09-18 Microsoft Technology Licensing, Llc Organization mode support mechanisms
US10120523B2 (en) * 2014-08-29 2018-11-06 Adobe Systems Incorporated User interface facilitating mesh generation
US9778814B2 (en) 2014-12-19 2017-10-03 Microsoft Technology Licensing, Llc Assisted object placement in a three-dimensional visualization system
US10713304B2 (en) * 2016-01-26 2020-07-14 International Business Machines Corporation Entity arrangement by shape input
US10347017B2 (en) 2016-02-12 2019-07-09 Microsoft Technology Licensing, Llc Interactive controls that are collapsible and expandable and sequences for chart visualization optimizations
US10748312B2 (en) * 2016-02-12 2020-08-18 Microsoft Technology Licensing, Llc Tagging utilizations for selectively preserving chart elements during visualization optimizations
US20180052589A1 (en) * 2016-08-16 2018-02-22 Hewlett Packard Enterprise Development Lp User interface with tag in focus
US11157152B2 (en) * 2018-11-05 2021-10-26 Sap Se Interaction mechanisms for pointer control
US11714928B2 (en) * 2020-02-27 2023-08-01 Maxon Computer Gmbh Systems and methods for a self-adjusting node workspace
US11373369B2 (en) 2020-09-02 2022-06-28 Maxon Computer Gmbh Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490241A (en) * 1989-10-06 1996-02-06 Xerox Corporation Interactive computer graphics system for making precise drawings
US5123087A (en) * 1990-04-27 1992-06-16 Ashlar, Inc. Geometric inference engine
EP0820008A3 (en) * 1992-12-01 2006-05-24 Microsoft Corporation A method and system for in-place interaction with embedded objects
JPH0721241A (ja) 1993-06-24 1995-01-24 Meidensha Corp 図形の連続複写方法
US5471578A (en) 1993-12-30 1995-11-28 Xerox Corporation Apparatus and method for altering enclosure selections in a gesture based input system
EP0667567B1 (en) 1993-12-30 2001-10-17 Xerox Corporation Apparatus and method for supporting the implicit structure of freeform lists, outlines, text, tables, and diagrams in a gesture-based input system and editing system
DE69426919T2 (de) 1993-12-30 2001-06-28 Xerox Corp Gerät und Verfahren zur Ausführung von vielen verkettenden Befehlsgesten in einen System mit Gestenbenutzerschnittstelle
US5555357A (en) 1994-06-03 1996-09-10 Claris Corporation Computer system and method for generating and manipulating charts and diagrams
US5588108A (en) 1994-09-27 1996-12-24 Micrografx, Inc. System and method for generating graphics charts
JP3118379B2 (ja) 1994-09-28 2000-12-18 三洋電機株式会社 レイアウト処理装置
US5694563A (en) * 1994-12-13 1997-12-02 Microsoft Corporation Method and system for transferring data to common destinations using a common destination list
JPH08221500A (ja) 1995-02-15 1996-08-30 Dainippon Printing Co Ltd プリミティブ移動方法および帳票類デザインシステム
US5565888A (en) * 1995-02-17 1996-10-15 International Business Machines Corporation Method and apparatus for improving visibility and selectability of icons
US5644737A (en) * 1995-06-06 1997-07-01 Microsoft Corporation Method and system for stacking toolbars in a computer display
US5892554A (en) 1995-11-28 1999-04-06 Princeton Video Image, Inc. System and method for inserting static and dynamic images into a live video broadcast
US6493006B1 (en) 1996-05-10 2002-12-10 Apple Computer, Inc. Graphical user interface having contextual menus
US5861886A (en) 1996-06-26 1999-01-19 Xerox Corporation Method and apparatus for grouping graphic objects on a computer based system having a graphical user interface
US5886694A (en) 1997-07-14 1999-03-23 Microsoft Corporation Method for automatically laying out controls in a dialog window
US6437804B1 (en) * 1997-10-23 2002-08-20 Aprisma Management Technologies, Inc Method for automatic partitioning of node-weighted, edge-constrained graphs
US6034684A (en) 1997-11-24 2000-03-07 Sony Corporation Identification of data items on a screen display using landmark and grid line graphical objects
US6065021A (en) * 1998-04-07 2000-05-16 Adobe Systems Incorporated Apparatus and method for alignment of graphical elements in electronic document
US6323879B1 (en) 1998-05-14 2001-11-27 Autodesk, Inc. Method and system for determining the spacing of objects
US6992680B1 (en) * 1998-06-01 2006-01-31 Autodesk, Inc. Dynamic positioning and alignment aids for shape objects
US6154220A (en) 1998-10-19 2000-11-28 Microsoft Corporation Rectilinear layout
DE69811127T2 (de) 1998-11-30 2003-11-20 Actcon Control Ab Hisings Back Verfahren um objekte in den arbeitsbereich in eine rechneranwendung einzubringen
US6426761B1 (en) * 1999-04-23 2002-07-30 Internation Business Machines Corporation Information presentation system for a graphical user interface
US6636648B2 (en) 1999-07-02 2003-10-21 Eastman Kodak Company Albuming method with automatic page layout
US7322524B2 (en) * 2000-10-20 2008-01-29 Silverbrook Research Pty Ltd Graphic design software using an interface surface
US7987431B2 (en) * 1999-10-29 2011-07-26 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6425121B1 (en) 2000-01-14 2002-07-23 Softwire Technology, Llp Method and apparatus for resolving divergent paths in graphical programming environments
WO2001075568A1 (en) 2000-03-30 2001-10-11 Ideogramic Aps Method for gesture based modeling
US6907580B2 (en) 2000-12-14 2005-06-14 Microsoft Corporation Selection paradigm for displayed user interface
US7689917B2 (en) 2000-12-20 2010-03-30 National Instruments Corporation Automatically generating a sub-graphical program in response to user input configuring a graphical program node
US7103527B2 (en) 2000-12-20 2006-09-05 Microsoft Corporation Negotiated interconnection of visual modeling elements
US7320120B2 (en) 2000-12-20 2008-01-15 Microsoft Corporation Pluggable notations and semantics for visual modeling elements
JP2002208021A (ja) 2001-01-10 2002-07-26 Brother Ind Ltd 画像編集装置
US7058653B2 (en) * 2001-09-17 2006-06-06 Ricoh Company, Ltd. Tree system diagram output method, computer program and recording medium
US7299424B2 (en) * 2002-05-14 2007-11-20 Microsoft Corporation Lasso select
US7039898B2 (en) 2002-07-12 2006-05-02 Netspective Communications, Llc Computer system for performing reusable software application development from a set of declarative executable specifications
US7356774B2 (en) 2002-08-13 2008-04-08 National Instruments Corporation Grouping components of a measurement system
US8225224B1 (en) * 2003-02-25 2012-07-17 Microsoft Corporation Computer desktop use via scaling of displayed objects with shifts to the periphery
US7962522B2 (en) 2003-06-03 2011-06-14 Norris Iii Forbes Holten Flexible, dynamic menu-based web-page architecture
US7310780B2 (en) 2003-08-14 2007-12-18 International Business Machines Corporation Methods, systems and computer program products for visually tethering related graphical objects
US8131739B2 (en) 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US7529811B2 (en) 2003-08-21 2009-05-05 Microsoft Corporation Systems and methods for the implementation of a core schema for providing a top-level structure for organizing units of information manageable by a hardware/software interface system
US7318199B2 (en) 2003-09-11 2008-01-08 Oracle International Corporation Algorithm for automatic layout of objects in a database
US20050102634A1 (en) 2003-11-10 2005-05-12 Sloo David H. Understandable navigation of an information array
US7460134B2 (en) * 2004-03-02 2008-12-02 Microsoft Corporation System and method for moving computer displayable content into a preferred user interactive focus area
JP2007536634A (ja) 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US8312382B2 (en) 2004-05-11 2012-11-13 Sap Ag Developing and executing applications with configurable patterns
US20050273761A1 (en) 2004-06-07 2005-12-08 The Mathworks, Inc. Freehand system and method for creating, editing, and manipulating block diagrams
US7584415B2 (en) * 2004-09-15 2009-09-01 Microsoft Corporation Common charting using shapes
US7342583B2 (en) 2004-11-17 2008-03-11 Pics, Inc. Automated system and method to develop computer-administered research questionnaires using a virtual questionnaire model
JP4238222B2 (ja) * 2005-01-04 2009-03-18 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクト編集システム、オブジェクト編集方法及びオブジェクト編集プログラム
US7814427B2 (en) * 2005-01-05 2010-10-12 Microsoft Corporation Object model tree diagram
WO2006136958A2 (en) 2005-01-25 2006-12-28 Dspv, Ltd. System and method of improving the legibility and applicability of document pictures using form based image enhancement
US7253823B2 (en) 2005-03-15 2007-08-07 Microsoft Corporation System and method for providing 1D and 2D connectors in a connected diagram
US7483028B2 (en) 2005-03-15 2009-01-27 Microsoft Corporation Providing 1D and 2D connectors in a connected diagram
US7444597B2 (en) 2005-03-18 2008-10-28 Microsoft Corporation Organizing elements on a web page via drag and drop operations
US7474310B2 (en) * 2005-08-12 2009-01-06 Microsoft Corporation Object association in a computer generated drawing environment
US8365135B2 (en) 2005-10-27 2013-01-29 International Business Machines Corporation Computer method and apparatus for connection creation in a software modeling system
US8607147B2 (en) 2005-12-09 2013-12-10 International Business Machines Corporation System and methods for previewing alternative compositions and arrangements when composing a strictly-structured flow diagram
US8140987B2 (en) 2005-12-29 2012-03-20 Sap Ag GUI modeling of web services
US7750911B2 (en) 2006-02-21 2010-07-06 Chrysler Group Llc Pen-based 3D drawing system with 3D mirror symmetric curve drawing
US7477263B2 (en) 2006-03-10 2009-01-13 International Business Machines Corporation Relayout of all or part of a graph in association with a change in state of a graph element
US7661076B2 (en) * 2006-03-31 2010-02-09 Microsoft Corporation Two dimensional trees to edit graph-like diagrams
US20070266307A1 (en) 2006-05-15 2007-11-15 Microsoft Corporation Microsoft Patent Group Auto-layout of shapes
US20080022215A1 (en) 2006-07-21 2008-01-24 Robert Lee Apparatus, system, and method for expanding and collapsing a list in a diagram environment
US7657840B2 (en) 2006-11-02 2010-02-02 International Business Machines Corporation System and method for providing a navigable grid to allow for accessible drag-drop in visual modeling tools
US8161419B2 (en) * 2007-12-17 2012-04-17 Smooth Productions Inc. Integrated graphical user interface and system with focusing
US20110161827A1 (en) * 2008-03-05 2011-06-30 Anastasia Dedis Social media communication and contact organization
US20090228786A1 (en) 2008-03-10 2009-09-10 Microsoft Corporation Flexible creation of auto-layout compliant diagrams
US8156445B2 (en) * 2008-06-20 2012-04-10 Microsoft Corporation Controlled interaction with heterogeneous data
US8826174B2 (en) 2008-06-27 2014-09-02 Microsoft Corporation Using visual landmarks to organize diagrams
US8438500B2 (en) 2009-09-25 2013-05-07 Apple Inc. Device, method, and graphical user interface for manipulation of user interface objects with activation regions
US8209630B2 (en) 2010-01-26 2012-06-26 Apple Inc. Device, method, and graphical user interface for resizing user interface content
JP5573487B2 (ja) 2010-08-20 2014-08-20 ソニー株式会社 情報処理装置、プログラム及び操作制御方法
US20130019175A1 (en) 2011-07-14 2013-01-17 Microsoft Corporation Submenus for context based menu system
US10254909B2 (en) 2011-10-03 2019-04-09 Disney Enterprises, Inc. System and method for providing a user interface for media navigation by attribute compass
KR101819513B1 (ko) 2012-01-20 2018-01-17 엘지전자 주식회사 이동단말기 및 그 제어방법
US10503373B2 (en) 2012-03-14 2019-12-10 Sony Interactive Entertainment LLC Visual feedback for highlight-driven gesture user interfaces
WO2013157013A1 (en) 2012-04-17 2013-10-24 Hewlett - Packard Development Company, L.P. Selection of user interface elements of a graphical user interface
US9043722B1 (en) 2012-06-19 2015-05-26 Surfwax, Inc. User interfaces for displaying relationships between cells in a grid
US10078411B2 (en) 2014-04-02 2018-09-18 Microsoft Technology Licensing, Llc Organization mode support mechanisms

Also Published As

Publication number Publication date
CN102077166A (zh) 2011-05-25
US9766787B2 (en) 2017-09-19
JP5757035B2 (ja) 2015-07-29
CN102077166B (zh) 2016-06-29
US20140351727A1 (en) 2014-11-27
EP2304540B1 (en) 2020-05-06
EP2304540A4 (en) 2016-09-07
WO2009158219A2 (en) 2009-12-30
EP2304540A2 (en) 2011-04-06
CA2724684A1 (en) 2009-12-30
JP2011526039A (ja) 2011-09-29
US8826174B2 (en) 2014-09-02
BRPI0914999A2 (pt) 2015-10-27
WO2009158219A3 (en) 2010-05-06
KR101668881B1 (ko) 2016-10-24
US20090327954A1 (en) 2009-12-31
KR20110029138A (ko) 2011-03-22

Similar Documents

Publication Publication Date Title
BRPI0914999B1 (pt) método de utilização de marcos visuais para organizar um diagrama, método para personalizar um marco visual que será usado para organizar um diagrama e sistema de computador
CN103699576B (zh) 一种用于提供搜索结果的方法与设备
CN105608319B (zh) 一种数字病理切片的标注方法及标注装置
CN104932889B (zh) 页面可视化生成方法和装置
CN104216691B (zh) 一种创建应用的方法及装置
US20090228786A1 (en) Flexible creation of auto-layout compliant diagrams
CN103959243B (zh) 扩展到用反向弧编码最小和最大约束的有向图的方法和装置
US20110210986A1 (en) Systems and methods for determining positioning and sizing of graphical elements
US20150310647A1 (en) Techniques for Visualization of Data
CN107077458A (zh) 推断布局意图
CN108537877A (zh) 基于三维模型的可视化监测界面定制生成方法及装置
CN107908608A (zh) 文稿的转换及在三维空间中展现的方法、存储介质和设备
CN107577395A (zh) 基于Qt开发框架的聊天内容显示方法及装置
CN109271085A (zh) 图像显示方法、装置及电子设备
CN107168993A (zh) 处理响应数据的方法、设备、客户端设备和电子设备
CN104067229B (zh) 用于跨应用版本的对象/形状的属性的计算的方法和系统
JP2015521302A (ja) リンクの湾曲のインタラクティブコントロール
CN105556570A (zh) 生成屏幕数据
CN108898604A (zh) 用于处理图像的方法和设备
JP2012103978A (ja) プラント監視制御システムの表示装置、及び、その表示画面の作成方法
CN109885816A (zh) 演示文稿的制作方法、装置与存储介质
US20140344235A1 (en) Determination of data modification
US20150221113A1 (en) Method for dynamically displaying picture after converting gif picture to pdf file
US10423394B2 (en) Systems and methods for mobile application prototyping using loops
CN106126242A (zh) 一种支持用户自定义的实现方法及系统

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06T Formal requirements before examination [chapter 6.20 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: G06F 3/14 , G06F 17/50 , G06F 3/048

Ipc: G06F 3/0481 (2013.01), G06T 11/20 (1995.01), G06F

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 14/04/2020, OBSERVADAS AS CONDICOES LEGAIS.