BRPI0615817A2 - integração de gráficos em documentos - Google Patents
integração de gráficos em documentos Download PDFInfo
- Publication number
- BRPI0615817A2 BRPI0615817A2 BRPI0615817-0A BRPI0615817A BRPI0615817A2 BR PI0615817 A2 BRPI0615817 A2 BR PI0615817A2 BR PI0615817 A BRPI0615817 A BR PI0615817A BR PI0615817 A2 BRPI0615817 A2 BR PI0615817A2
- Authority
- BR
- Brazil
- Prior art keywords
- application
- data
- chart
- spreadsheet
- graph
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- User Interface Of Digital Computer (AREA)
- Document Processing Apparatus (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Or Creating Images (AREA)
- Stored Programmes (AREA)
- Digital Computer Display Output (AREA)
Abstract
INTEGRAçãO DE GRáFICOS EM DOCUMENTOS. Um gráfico é apresentado em um aplicativo hospedeiro. O gráfico é gerenciado por dados de comunicação que correspondem ao gráfico a um aplicativo separado e que fornece funcionalidade para editar os dados no aplicativo separado. A apresentação dos dados no aplicativo separado é distinta da apresentação do gráfico no aplicativo hospedeiro. Mudanças nos dados são comunicadas ao aplícativo hospedeiro quando os dados são editados no aplicativo separado. As mudanças comunícadas aos dados são refletidas na apresentação do gráfico no aplicativo hospedeiro.
Description
"INTEGRAÇÃO DE GRÁFICOS EM DOCUMENTOS"
Fundamentos da Invenção
À medida que o número de aplicativos disponíveispara executar tarefas em um dispositivo de computação aumen-ta, a expectativa por uma experiência do usuário contínuaentre esses aplicativos também aumenta. Quando trabalhandocom objetos em um aplicativo, existe uma expectativa de queo mesmo objeto funcione de forma equivalente quando usado emum segundo aplicativo. Isso é especialmente verdadeiro paraaplicativos incluídos no mesmo conjunto de programas desoftware.
Entretanto, visto que muitos aplicativos fornecemseu próprio suporte para o objeto, a experiência do usuáriofreqüentemente varia entre esses aplicativos. Por exemplo,um gráfico criado em um potente aplicativo de gráfico não éfreqüentemente suportado equivalentemente quando o usuáriotenta criar o mesmo gráfico em um aplicativo de apresentação(por exemplo, apresentação de slides). Com certos objetos, ousuário pode ser incapaz de criar o objeto.
Certos aplicativos permitem que objetos de um oumais dos outros aplicativos sejam embutidos nos documentosque o aplicativo cria. Por exemplo, uma tabela gerada por umaplicativo de planilha pode ser embutida diretamente entre otexto e um documento processador de palavras criado por umaplicativo processador de palavras. Entretanto, para cadasolução, nem toda a funcionalidade que estava disponível noprimeiro aplicativo permanece disponível para o objeto quan-do embutido no segundo aplicativo.Por exemplo, um padrão para embutir um objeto nodocumento de um outro aplicativo é referido como o padrão deLigação e Incorporação de Objeto (OLE) . 0 OLE é um padrão dedocumento composto desenvolvido pela Microsoft® Corporationde Redmond, Washington. 0 OLE habilita um desenvolvedor acriar objetos com um aplicativo e então os liga ou incorporaem um segundo aplicativo. Os objetos embutidos guardam seuformato original e ligações com o aplicativo que os criou.Conseqüentemente, quando o documento ligado ao objeto é edi-tado e atualizado, o próprio objeto também é atualizado. En-tretanto, o OLE possui desvantagens distintas visto que elefreqüentemente armazena o objeto embutido como uma imagem,criando grandes arquivos e objetos que não podem ser edita-dos em linha. A variedade de soluções de suporte de objetodisponível resulta em uma variedade de vantagens e desvanta-gens associadas com cada solução.
Sumário da Invenção
Aspectos da presente invenção estão geralmente re-lacionados à integração de gráficos em documentos. Um aspec-to usa um documento de planilha como a fonte para dados degráfico usados em outros aplicativos hospedeiros. Anterior-mente, os gráficos incluídos em aplicativos que não estavamdiretamente relacionados à geração de gráfico sofreram de umconjunto desguarnecido de características. Muitas das carac-terísticas disponíveis em um aplicativo de planilha que di-retamente suporta a criação de gráficos não estão disponí-veis para criar gráficos nos outros aplicativos hospedeiros.Por exemplo, certos recursos de fórmulas e de seleção quepodem ser usados em conjunto com um gráfico no aplicativo deplanilha não estão disponíveis no aplicativo hospedeiro.Também, certos tipos de gráficos que estão relativamente ap-tos a criar no aplicativo de planilha podem ser extremamente difíceis de criar em um aplicativo hospedeiro. Um aspecto dapresente invenção altera os gráficos de um aplicativo hospe-deiro tal que os dados dos gráficos são obtidos a partir deum documento de planilha. Isto permite que os gráficos noaplicativo hospedeiro tenham o mesmo conjunto de caracterís-ticas de um gráfico no aplicativo de planilha, bem como opoder de edição do aplicativo de planilha quando os gráficosestão em uso. Conseqüentemente, se o gráfico é criado em umoutro aplicativo hospedeiro ou embutido a partir de um apli-cativo de planilha, o uso e a edição do gráfico permanecemos mesmos, fornecendo uma maior experiência inconsútil deusuário.
Este sumário é fornecido para introduzir uma sele-ção de conceitos de uma forma simplificada, os quais são a-dicionalmente descritos abaixo na Descrição Detalhada. Estesumário não pretende identificar as características chaves ecaracterísticas essenciais do assunto reivindicado, nem pre-tende ser usado como uma ajuda na determinação do escopo doassunto reivindicado.
Breve Descrição dos Desenhos
Modalidades não exaustivas e não limitantes dapresente invenção são descritas com relação às figuras se-guintes, onde números de referência similares se referem àpartes similares por todas as várias vistas, a menos que deoutra forma especificado.
A FIGURA 1 ilustra um dispositivo de computaçãoexemplificado que pode ser usado de acordo com uma modalida-de exemplificada;
A FIGURA 2 ilustra um instantâneo de tela exempli-ficado de um gráfico incluído em um aplicativo de apresentação;
A FIGURA 3 ilustra um outro instantâneo de telaexemplificado de um gráfico incluído em um aplicativo de a-presentação;
A FIGURA 4 ilustra um diagrama funcional de umsistema exemplificado para usar uma planilha como uma fontede dados de gráfico para um gráfico incluído em um aplicati-vo hospedeiro;
A FIGURA 5 ilustra um diagrama funcional de umaestrutura de arquivo exemplificada para persistência de da-dos de gráfico; e
A FIGURA 6 ilustra um fluxograma lógico de um pro-cesso de interação entre uma planilha e um aplicativo hospe-deiro para fornecer os dados de um gráfico incluído no apli-cativo hospedeiro, de acordo com uma modalidade da presenteinvenção.
Descrição Detalhada da Invenção
As modalidades da presente invenção são descritasmais completamente abaixo com relação aos desenhos em anexo,que formam uma parte dessa, e que mostram modalidades exem-plificadas para a prática da invenção. Entretanto, as moda-lidades podem ser implementadas em muitas diferentes formase não deveriam ser construídas como limitantes às modalida-des apresentadas aqui; de preferência, essas modalidades sãofornecidas tal que esta discussão será completa e cobrirácompletamente o escopo da invenção para aqueles versados natécnica. As modalidades da presente invenção podem ser pra-ticadas como métodos, sistemas ou dispositivos. Conseqüente-mente, as modalidades da presente invenção podem tomar aforma de uma implementação inteiramente de hardware, uma im-plementação inteiramente de software ou uma implementaçãocombinando aspectos de software e de hardware. A seguintedescrição detalhada é, então, não obtida em um sentido Iimi-tante.
As operações lógicas das várias modalidades dapresente invenção são implementadas (1) como uma seqüênciade etapas implementadas por computador executando em um sis-tema de computação e/ou (2) como módulos de máquina interco-nectados em um sistema de computação. A implementação é umaquestão de escolha dependente das exigências de desempenhodo sistema de computação implementando a invenção. Conse-qüentemente, os operadores lógicos que constroem as modali-dades da presente invenção descrita aqui são referidos al-ternativamente às operações, etapas e módulos.
Com relação à FIGURA 1, um sistema exemplificadopara implementar a invenção inclui um dispositivo de compu-tação, tal como um dispositivo de computação 100. 0 disposi-tivo de computação 100 pode ser configurado como um cliente,um servidor, um dispositivo móvel, ou qualquer outro dispo-sitivo de computação. Em uma modalidade muito básica, o dis-positivo de computação 100 tipicamente inclui no mínimo umaunidade de processamento 102 e uma memória de sistema 104.Dependendo da exata configuração e do tipo de dispositivo decomputação, a memória de sistema 104 pode ser volátil (talcomo RAM), não volátil (tal como ROM, memória rápida, etc.)ou alguma combinação das duas. A memória de sistema 104 ti-picamente inclui um sistema operacional 105, um ou mais a-plicativos 106, e pode incluir dados de programação 107. Emuma modalidade, o aplicativo 106 inclui um sistema de inte-gração de gráfico 120 para implementar o sistema da presenteinvenção. Adicionalmente, os dados de programa 107 incluemdados de gráfico 122. Esta modalidade básica é ilustrada naFIGURA 1 por agueles componentes dentro da linha tracejada 108.
O dispositivo de computação 100 pode ter caracte-rísticas ou funcionalidades adicionais. Por exemplo, o dis-positivo de computação 100 pode também incluir dispositivosde armazenamento de dados adicionais (removíveis e/ou nãoremovíveis) tal como, por exemplo, discos magnéticos, discosópticos, ou fita. Tal armazenamento adicional é ilustrado naFIGURA 1 pelo armazenamento removível 109 e pelo armazena-mento não removível 110. Os meios de armazenamento por com-putador podem incluir meios removíveis e não removíveis, vo-láteis e não voláteis implementados em qualquer método outecnologia para armazenamento de informação, tal como ins-truções legíveis por computador, estruturas de dados, módu-los de programa, ou outros dados. A memória de sistema 104,o armazenamento removível 109 e o armazenamento não removí-vel 110 são todos exemplos de meios de armazenamento porcomputador. Os meios de armazenamento por computador inclu-em, mas não estão limitados a, RAM, ROM, EEPROM, memória rá-pida, ou outra tecnologia de memória, CD-ROM, discos versá-teis digitais (DVD) ou outro armazenamento óptico, cassetesmagnéticos, fita magnética, armazenamento em disco magnéticoou outros dispositivos de armazenamento magnético, ou quais-quer outros meios que podem ser usados para armazenar a in-formação desejada e que podem ser acessados por um disposi-tivo de computação 100. Quaisquer tais meios de armazenamen-to por computador podem ser parte do dispositivo 100. O dis-positivo de computação 100 pode também ter dispositivo(s) deentrada 112 tais como teclado, mouse, caneta, dispositivo deentrada de voz, dispositivo de entrada sensível ao toque,etc. 0(s) dispositivo (s) de saída 114 tais como tela, alto-falantes, impressora, etc. também podem ser incluídos.
O dispositivo de computação 100 também contém co-nexões de comunicação 116 que permitem que o dispositivo secomunique com outros dispositivos de computação 118, tal co-mo por uma rede. A conexão de comunicação 116 é um exemplode meios de comunicação. Os meios de comunicação podem tipi-camente ser incorporados por instruções legíveis por compu-tador, estruturas de dados, módulos de programa, ou outrosdados em um sinal modulado de dados, tal como uma onda por-tadora ou outro mecanismo de transporte, e incluem quaisquermeios de entrega de informação. O termo "sinal modulado dedados" significa um sinal que tem uma ou mais de suas carac-terísticas configuradas ou mudadas de tal maneira a codifi-car informação no sinal. A título de exemplo, e não limita-ção, os meios de comunicação incluem meios conectados porfios tal como uma rede conectada por fios ou conexão diretapor fios, e meios sem fio tais como acústicos, RF, infraver-melhos e outros meios sem fio. O termo meio legível por com-putador usado aqui inclui ambos os meios de armazenamento eos meios de comunicação.
Uma modalidade executada pelo dispositivo de com-putação 100 fornece o uso de um documento de planilha como afonte para dados de gráfico 122 para gráficos incluídos nosdocumentos de um aplicativo hospedeiro. 0 aplicativo de in-tegração de gráfico 120 fornece a integração dos dados degráfico de uma planilha com a representação de gráfico noaplicativo hospedeiro. Conseqüentemente, a funcionalidadefornecida pela planilha para o gráfico é feita disponível noaplicativo hospedeiro. Um usuário pode editar o gráfico emudar a apresentação do gráfico de acordo com o conjunto decaracterísticas fornecido pelo aplicativo de planilha, aoinvés de um conjunto de características mais limitado.
Exceto para um significado mais amplo que permiteque a discussão e as reivindicações abranjam uma variedademais ampla de modalidades alternativas, os termos seguintesusados aqui e por toda as reivindicações são geralmente de-finidos como segue:
"Gráfico" geralmente se refere a um gráfico, a umgráfico de barras, a um gráfico de linhas, a um gráfico depizza, gráfico tabular, ou outra descrição pictórica de da-dos que podem ser incluídos em um documento. Como usado a-qui, não existe limitação nos tipos de gráficos que podemser incluídos em um documento particular.
"Documento" é geralmente definido como qualquerpágina, folha, formulário, ou outra construção de um aplica-tivo que compreende texto, objetos gráficos, tabelas, célu-Las de dados, ou outros tipos de representações de dados.Exemplos de documentos incluem documentos processadores depalavras, planilhas, gráficos, slides, páginas da Rede, fo-lhas de trabalho, notas, mensagens de correio eletrônico,mensagens instantâneas, desenhos, esquemas, imagens, e ou-tros arranjos de texto e/ou objetos gráficos.
"Conjunto de características" é geralmente defini-do como o conjunto de funções ou características associadascom um aplicativo particular. Um conjunto de característicasexemplificado de um aplicativo que suporta a criação de grá-ficos inclui a funcionalidade de classificação, suporte defórmulas, suporte de tipos de gráficos, bem como outras fun-ções e habilidades que fornecem capacidades de manipulaçãode gráfico.
"Aplicativo hospedeiro" geralmente se refere a umaplicativo no qual um gráfico é embutido ou ligado. O apli-cativo hospedeiro inclui uma representação visual do gráficoem um documento do aplicativo hospedeiro. Os aplicativoshospedeiros podem incluir aplicativos de apresentação, apli-cativos processadores de palavras, e outros aplicativos quepodem incluir um gráfico.
"Aplicativo de apresentação" geralmente se referea um aplicativo que é configurado para fornecer uma tela deapresentação a um usuário. Por exemplo, uma apresentação deslides pode incluir um ou mais slides em uma apresentaçãogerada. Esses slides correspondem a documentos individuaisproduzidos pelo aplicativo de apresentação. Um exemplo de umaplicativo de apresentação inclui o programa de software Po-werPoint® produzido pela Microsoft® Corporation de Redmond,Washington.
"Planilha" é geralmente definida como um documentoou banco de dados que inclui uma grade de células que contémdados. Um exemplo de uma planilha inclui uma folha de traba-Iho gerada no programa de software Excel® produzido pela Mi-crosoft® Corporation de Redmond, Washington. Um outro exem-plo de planilha inclui uma grade de dados gerados no progra-ma de software Access produzido pela Microsoft Corporationde Redmond, Washington. Cada planilha é associada com a fun-cionalidade para produzir um gráfico que corresponde aos da-dos incluídos na planilha.
"Aplicativo de planilha" geralmente se refere a umaplicativo que é configurado para produzir uma planilha (verdefinição de "planilha" acima).
A FIGURA 2 ilustra um instantâneo de tela de apli-cativo de apresentação exemplificado que inclui um gráfico.0 aplicativo de apresentação 200 corresponde a uma versãoprévia de um aplicativo de apresentação que manipulou o su-porte de dados de gráfico internamente. 0 aplicativo de a-presentação 200 é incluído no campo de listagem de slides210, no campo de slides 220, e no campo de dados de gráfico230.
O campo de listagem de slides 210 lista os slidesdisponíveis para visualização e edição incluídos no arquivode apresentação atual carregado no aplicativo de apresenta-ção 200. O campo de listagem de slides 210 também contém umaindicação visual ou escrita do slide que está sendo atual-mente visualizado. Uma listagem de slides é comum à maiorparte dos aplicativos de apresentação e é conhecida na téc-nica. Portanto, o campo de listagem de slides 210 não é dis-cutido adicionalmente em detalhes aqui.
O campo de slides 220 inclui o conteúdo do slideque está sendo atualmente visualizado. No presente exemplo,o conteúdo de slide inclui o gráfico 222. O gráfico 222 émostrado como um gráfico de barras. Quando o gráfico 222 foiselecionado para ser inserido no campo de slides 220, o a-plicativo de apresentação 200 também iniciou o campo de da-dos de gráfico 230.
O campo de dados de gráfico 230 foi fornecido comouma janela instantânea sobreposta sobre a janela do aplica-tivo de apresentação 200. 0 campo de dados de gráfico foiparte do conteúdo fornecido pelo aplicativo de apresentação200. 0 campo de dados de gráfico inclui células de dados(por exemplo, 232), células de título de linha e coluna (porexemplo, 234), células de dados de gráfico (por exemplo,236), e células de título de eixo do gráfico (por exemplo,238). A correlação entre os dados incluídos nas células dedados de gráfico e nas células de título de eixo do gráficoresultou na formatação dos dados no gráfico 222.
Com o aplicativo de apresentação 200 fornecendoseu próprio suporte para inserir dados de gráfico, a funcio-nalidade associada com a criação e a edição de um gráficofoi limitada. Além disso, a janela correspondente ao campode dados de gráfico 230 constantemente necessita gerenciar aposição e tamanho dependendo da parte da apresentação queestá sendo visualizada.
A FIGURA 3 ilustra um outro instantâneo de telaexemplificado de um gráfico incluído em um aplicativo de a-presentação de acordo com uma modalidade. O aplicativo deapresentação 300 é similar ao aplicativo de apresentação 200mostrado na FIGURA 2. O aplicativo de apresentação 300 in-clui o campo de listagem de slides 310 e o campo de slides320. O campo de slides 300 também inclui o gráfico 322 que ésimilar ao gráfico 222 mostrado na FIGURA 2. Entretanto, oaplicativo de apresentação 300 não inclui uma janela ou cam-po similar ao campo de dados de gráfico. Ao contrário, o a-plicativo de apresentação 300 inicia o aplicativo de plani-lha 350 para fornecer os dados de gráfico para o gráfico 322.
O aplicativo de planilha 350 ilustra a planilha352 que inclui um arranjo de células. As células são de vá-rios tipos, incluindo células de dados (por exemplo, célulade dados 354) e células de título de linha e coluna (por e-xemplo, título de coluna 356) . Dentro das células de dados(por exemplo, 354) estão células definidas pelos dados queelas contêm. Em um exemplo, as células de dados incluem da-dos correspondentes a um gráfico, tal como o gráfico 320. Umtipo de célula de dados de gráfico inclui um valor para ográfico (por exemplo, célula de valor 360). Um outro tipo decélula de dados associada com um gráfico inclui um título deeixo que intitula um eixo ou dimensão do gráfico (por exem-plo, titulo de eixo 358). Fornecendo os dados para o gráfico322 de acordo com o aplicativo de planilha 350, o gráfico322' é capaz de levar vantagem em relação ao conjunto comple-to de características fornecido pelo aplicativo de planilha350 para manipular os gráficos. O aplicativo de planilha 350é fornecido para o gráfico 322 tão logo as edições ou mani-pulações do gráfico 322 afetem os dados de gráfico. Um pro-cesso exemplificado de tratar edições e mudanças nos dadosde gráfico é descrito em maiores detalhes abaixo com relaçãoà FIGURA 6. Inicializando automaticamente o aplicativo deplanilha 350 em resposta às mudanças no gráfico 322, a ope-ração entre o aplicativo de apresentação 300 e o aplicativode planilha 350 é relativamente contínua. Em projetos ante-riores, para usar um aplicativo de planilha como a fonte dedados de gráfico, o gráfico primeiro necessitaria ser criadona planilha e então copiado para o aplicativo de apresenta-ção. Entretanto, o gráfico copiado não foi capaz de se bene-ficiar do conjunto completo de características uma vez noaplicativo hospedeiro que estava disponível no aplicativo deplanilha. A presente invenção resolve essas limitações ori-ginando de forma relativamente inconsútil os dados de gráfi-co do aplicativo de planilha, permitindo que um conjuntocompleto de características seja fornecido para um gráficono aplicativo hospedeiro.
Embora o exemplo da FIGURA 3 seja direcionado a umgráfico em um aplicativo de apresentação que tem os dados degráfico fornecidos por um aplicativo de planilha, aprecia-seque outras combinações de aplicativos possam ser usadas. 0aplicativo hospedeiro na necessita necessariamente ser umaplicativo de apresentação, mas pode, ao contrário, ser umoutro aplicativo hospedeiro tal com um aplicativo processa-dor de palavras ou outro aplicativo no qual os gráficos po-dem ser incluídos. Adicionalmente, mesmo que os dados degráfico fossem mostrados como sendo fornecidos por um apli-cativo de planilha, este poderia incluir outros aplicativos,tais como aplicativos de banco de dados ou aplicativos dedados de grade.
A FIGURA 4 ilustra um diagrama funcional de umsistema exemplificado para usar uma planilha como uma fontede dados de gráfico para um gráfico incluído em um aplicati-vo hospedeiro de acordo com uma modalidade. O sistema 400inclui o aplicativo de apresentação 402, o aplicativo deprocessamento de palavras 404, um manipulador de objeto em-butido 406, um aplicativo de integração de gráfico 408, umaplicativo de banco de dados/planilha 410, e uma tabela deobjeto em execução 414. O aplicativo de planilha 410 incluidados de gráfico 412 que correspondem a um gráfico incluídoem um dos aplicativos hospedeiros (402, 404). Embora doisaplicativos hospedeiros (402, 404) sejam mostrados, qualquernúmero de aplicativos hospedeiros pode ser associado com osistema 400.
O manipulador de objeto embutido 406 fornece afuncionalidade para suportar objetos incluídos nos documen-tos do aplicativo hospedeiro que são associados com outrosprogramas. Em uma modalidade, o manipulador de objetos embu-tidos 406 corresponde a um programa de gráficos que fornececódigo para integrar os objetos gráficos nos documentos doaplicativo hospedeiro. 0 manipulador de objeto embutido 406fornece a interface entre o aplicativo de integração de grá- fico 408 e os aplicativos hospedeiros (402, 404). O manipu-lador de objeto embutido 406 traduz as instruções fornecidaspelo aplicativo de integração de gráfico 408 em instruçõesentendidas pelos aplicativos hospedeiros (402, 404) para ma-nipular os objetos gráficos. Em uma outra modalidade, o ma- nipulador de objeto embutido 406 não está incluído no siste-ma 400, e ao contrário, a funcionalidade do manipulador deobjeto embutido 406 é fornecida pelo aplicativo de integra-ção de gráfico 408.
O aplicativo de integração de gráfico 408 se comu-nica com o aplicativo de planilha 410 para obter e editar osdados de gráfico 412. Em uma modalidade, o aplicativo de in-tegração de gráfico 408 corresponde ao aplicativo de inte-gração de gráfico 120 fornecido na FIGURA 1. O aplicativo deintegração de gráfico 120 é configurado para sincronizar osdados de gráfico 412 fornecidos pelo aplicativo de planilha410 com ó gráfico incluído no aplicativo hospedeiro (402,404). 0 aplicativo de planilha 410 organiza os dados de grá-fico 412, responde às solicitações do aplicativo de integra-ção de gráfico 408, e comunica os dados de gráfico 412 aoaplicativo de integração de gráfico 408 através de um con-junto de interfaces COM (420, 422, 424) . Em uma modalidade,a interface COM ChartDataSink 420 habilita o aplicativo deplanilha 410 a notificar o aplicativo de integração de grá-fico 408 de atualizações nos dados de gráfico 412 e a promo-ver aquelas atualizações ao aplicativo de integração de grá-fico 412. Na mesma modalidade, a interface COM ChartData-Source 422 habilita o aplicativo de integração de gráfico408 a inicializar o aplicativo de planilha 410 e encaminhaações do usuário que afetam os dados de gráfico 412 à apli-cação de planilha 410. A interface COM ChartDataSourceFac-tory 424 habilita o aplicativo de integração de gráfico 408a obter uma ocorrência de interface COM ChartDataSource 422que é associada com a interface COM ChartDataSink 420. Emuma modalidade adicional relatada, uma única ocorrência deinterface COM ChartDataSink 420 e de interface COM ChartDa-taSource 422 existe para cada gráfico. O aplicativo de inte-gração de gráfico 408 pode obter a interface COM ChartData-SourceFactory 424 a partir da tabela de objeto em execução414. 0 aplicativo de planilha 410 grava a interface COMChartDataSourceFactory 424 na tabela de objeto em execução414 quando o aplicativo de planilha é instanciado.
A tabela de objeto em execução 414 é um componentedo sistema COM que habilita que processos independentes ob-tenham uma interface COM de uma outra. A tabela de objeto emexecução 414 é usada para obter a interface COM ChartData-SourceFactory 424 de um aplicativo de planilha 410. As ins-truções são fornecidas ao aplicativo de planilha 410 paracriar a interface COM ChartDataSource 422 que é então asso-ciada com um manual aberto atualmente, um manual que é aber-to a partir do sistema de arquivo, ou um manual que foi em-butido no arquivo do aplicativo hospedeiro (402, 404). Quan-do o manual é embutido no arquivo do aplicativo hospedeiro,o aplicativo de integração de gráfico 408 tem a responsabi-lidade de avisar ao aplicativo de planilha 410 que uma in-terface COM ChartDataSourceFactory (por exemplo, 424) é de-sejada. 0 aplicativo de planilha 410 registra uma ocorrênciade interface COM ChartDataSourceFactory 424 com a tabela deobjeto em execução 414 e o aplicativo de integração de grá-fico 408 restaura a interface a partir da tabela de objetoem execução 414. Uma vez que o aplicativo de integração degráfico 408 tenha a ocorrência da interface COM ChartData-SourceFactory 424, o aplicativo de integração de gráfico 408invoca um método que solicita que uma ocorrência de interfa-ce COM ChartDataSource 422 seja associada a um manual espe-cificando o número de parâmetros. Os parâmetros incluem in-formação que associa a interface COM ChartDataSource 422 aomanual atual, um novo manual que foi povoado com dados deamostra fornecidos pelo aplicativo de integração de gráfico408, um manual identificado por um nome de arquivo, ou umfluxo de dados binários que é embutido no manual a ser car-regado pelo aplicativo de planilha 410. Uma vez que a inter-face COM ChartDataSourceFactory 424 é obtida, a tabela deobjeto em execução 414 é tirada do ciclo de processo. Comu-nicação adicional entre o aplicativo de planilha 410 e o a-plicativo de integração de gráfico 408 é completada via asinterfaces COM (420, 422, 424). A discussão da FIGURA 6 a-baixo fornece uma discussão mais detalhada de um processoexemplificado relacionado à comunicação entre o aplicativode integração de gráfico 408 e o aplicativo de planilha 410.A FIGURA 5 ilustra um diagrama funcional de umaestrutura de arquivo exemplificada para persistência dos da-dos de gráfico de acordo com uma modalidade. Esta modalidadeparticular fornece uma estrutura de arquivo para os dados degráfico que correspondem a um gráfico incluído em uma apre-sentação de um aplicativo de apresentação. Entretanto, ou-tros exemplos podem incluir estruturas de arquivo para dadosde gráfico que correspondem a outros documentos de outrosaplicativos hospedeiros que incluem um gráfico. A estruturade arquivo 500 inclui o arquivo de apresentação 502 que cor-responde a uma apresentação de um aplicativo de apresenta-ção, e o arquivo de planilha externo 550 que corresponde auma planilha de um aplicativo de planilha.
O arquivo de apresentação 502 é organizado em sli-des 510, desenhos 520, gráficos 530, e pode incluir possi-velmente o arquivo de planilha embutido 540. Os slides 510incluem qualquer número de slides (por exemplo, 512, 514)associados com uma apresentação particular. Se os dados dedesenho são incluídos em um slide, então um slide (por exem-pio, 512) é associado a um arquivo de desenho (por exemplo,522). Se os dados de desenho correspondem a um gráfico, en-tão o desenho (por exemplo, 522) á adicionalmente associadoa um arquivo de gráfico (por exemplo, 532). Em uma modalida-de, o arquivo de gráfico (por exemplo, 532) inclui o tipo degráfico que está sendo usado, a apresentação do gráfico, oformato do gráfico, e outra informação relacionada à apre-sentação do gráfico em um slide. Nessa modalidade, os valo-res incluídos no gráfico são obtidos de um outro arquivo(por exemplo, 540, 550) associado com uma planilha, mas oaplicativo de apresentação determina o formato para exibiçãodesses dados. Em uma outra modalidade, o arquivo de gráfico(por exemplo, 532) é mais similar a um ponteiro e direcionao aplicativo de apresentação para outro arquivo (por exem-plo, 540, 550) que inclui os dados de gráfico. Nessa modali-dade, o aplicativo de planilha determina que ambos os valo-res e o formato sejam usados para um gráfico, e o aplicativode apresentação meramente tem a responsabilidade de exibir ográfico em um slide particular. Uma implementação real dográfico na apresentação pode dividir as responsabilidadespara formatação do gráfico entre o aplicativo hospedeiro e oaplicativo de planilha ao longo de diferentes linhas, ou co-mo ordens de modalidades descritas acima. Adicionalmente, umusuário pode ser apresentado a uma seleção para usar a for-matação da apresentação ou a formatação dos dados incluídosno aplicativo de planilha.
Como mostrado, os dados para um gráfico podem serfornecidos por um arquivo de planilha (por exemplo, 540) queé embutido no arquivo de apresentação, ou fornecido por umarquivo de planilha (por exemplo, 550) que é armazenado ex-ternamente. Se a planilha é armazenada localmente com o ar-quivo de apresentação 502, ou armazenada externamente e li-gada pelo arquivo de apresentação 502, é uma seleção que po-de ser feita pelo usuário. Por exemplo, um usuário pode serapresentado a uma janela de diálogo que permite que o usuá-rio selecione para ter o gráfico ligado a uma planilha ex-terna, ter a planilha copiada para o arquivo de apresenta-ção, ou possivelmente somente restaurar uma imagem do gráfi-co. Cada seleção tem vantagens e desvantagens com relação àedição do gráfico, ao tamanho do arquivo do aplicativo deplanilha, e à portabilidade do arquivo.
A FIGURA 6 ilustra um fluxograma lógico de um pro-cesso exemplificado para interação entre uma planilha e umaplicativo hospedeiro para fornecer os dados do gráfico in-cluído no aplicativo hospedeiro, de acordo com uma modalida-de. 0 processo 600 inicia onde um gráfico é inserido em umdocumento do aplicativo hospedeiro e esperando interação porum usuário. 0 processamento continua com a operação de rece-bimento de ação 602.
A operação de recebimento de ação 602 recebe a a-ção do usuário no gráfico no aplicativo de integração degráfico (ver 408 da FIGURA 4). Em uma modalidade, o aplica-tivo hospedeiro registra a ação do usuário como um toque detecla, clique de mouse, ou outra entrada no aplicativo hos-pedeiro e associa essa entrada como estando relacionada aográfico no documento do aplicativo hospedeiro. Uma vez que oaplicativo de integração de gráfico recebe o aviso da açãodo usuário, o processo continua na operação de decisão denecessidade de planilha 604.
A operação de decisão de necessidade de planilha604 determina se a planilha é necessária para responder àação do usuário que afetou o gráfico. Em certos cenários, aação do usuário pode mudar uma parte do gráfico sem afetaros dados de gráfico fornecidos pelo aplicativo de planilha.
Por exemplo, a posição do gráfico se o documento pode mudar.Tal mudança pode ser encaminhada ao aplicativo de integraçãode gráfico para processamento. Entretanto, o acesso à plani-lha para fazer a mudança não é necessário. Se a planilha nãoé necessária para responder á ação do usuário, o processa-mento se move para a operação de manipulação de gráfico 606.
A operação de manipulação de gráfico 606 manipulaa ação do usuário sem acessar os dados de gráfico fornecidospela planilha. Em uma modalidade, a funcionalidade é incluí-da no aplicativo hospedeiro para manipular essas mudanças nográfico. Em uma outra modalidade, uma chamada de função éfeita pelo aplicativo hospedeiro para manipular a ação dousuário para o gráfico. Uma vez que a ação do usuário é a-bordada, o processo 600 termina e o processamento espera apróxima ação do usuário ou continua com outras tarefas.
Alternativamente, se a planilha é necessária pararesponder à ação do usuário, o processamento continua com aoperação de decisão de visibilidade 608. A operação de deci-são de visibilidade 608 determina se uma planilha visível énecessária para responder à ação do usuário. Uma planilhavisível pode ser necessária quando a ação do usuário envolvefornecer ao usuário a oportunidade de mudar os dados de grá-fico, fórmulas, ou outros aspectos do gráfico fornecidos pe-la planilha. A planilha pode ser necessária para permitirque o usuário interaja com os dados de gráfico enquanto noformato de planilha. Em contraste, o usuário pode não neces-sitar ter a ocorrência visível da planilha iniciada. Em umamodalidade adicional, a ocorrência visível do aplicativo deplanilha e a ocorrência não visível do aplicativo de plani-lha são associadas com processos separados. Quando a intera-ção com o aplicativo de planilha está sendo fornecida peloprocesso não visível, a ação do usuário corresponde a umamudança que não exige que o usuário seja permitido a intera-gir com os dados de gráfico. Se uma planilha visível é ne-cessária, o processamento continua para a operação de inici-ação 610.
A operação de iniciação 610 inicia uma ocorrênciavisível do aplicativo de planilha. Em uma modalidade, o a-plicativo de planilha é iniciado e as visualizações do apli-cativo de planilha e do aplicativo hospedeiro são "dividi-das" ou coincidentemente exibidas tal que ambos os aplicati-vos possam ser substancialmente visualizados em uma área devisualização limitada. A divisão dos aplicativos permite queambos sejam visualizados na tela de exibição disponível. Umavez que o aplicativo de planilha é iniciado, o processamentocontinua com a operação de criação de ligação 614.
Se ao invés de uma ocorrência visível da planilha,somente uma ligação da planilha é necessária, então o pro-cessamento continua a partir da operação de decisão de visi-bilidade 608 até a operação de determinação de ligação 612.
A operação de determinação de ligação 612 determina se umaligação com a planilha já está estabelecida. Por exemplo, aplanilha pode ser armazenada no arquivo de aplicativo hospe-deiro. Armazenada internamente com relação ao aplicativohospedeiro, uma ligação com a planilha não necessita ser es-tabelecida. Em contraste, a planilha pode também estar emuma localização diferente na memória que está associada como aplicativo de planilha ou pode até ser associada com umdispositivo de computação separado inteiramente. Entretanto,quando a planilha é externa e/ou remota se comparada ao a-plicativo hospedeiro, uma ligação pode ter já sido feita en-tre o gráfico incluído no aplicativo hospedeiro e a plani-lha. Por exemplo, uma ação do usuário anterior pode ter es-tabelecido uma ligação entre o gráfico e a planilha. Conse-qüentemente, a ação do usuário atual não necessita estabele-cer a ligação novamente. Se uma ligação com a planilha nãofoi já estabelecida, o processamento continua com a operaçãode criação de ligação 614.
A operação de criação de ligação 614 inicia a li-gação entre o aplicativo de planilha e o gráfico do aplica-tivo hospedeiro. Em uma modalidade, iniciar a ligação é si-milar se uma ocorrência visível da planilha foi iniciada ounão. Em uma outra modalidade, a ligação é gerada de acordocom interfaces COM que permitem que um protocolo de trans-missão geral seja usado entre o gráfico e a planilha. Umavez que a ligação é criada, o processamento continua com aoperação de enviar ação 616.
Se a ligação estava previamente disponível a par-tir da operação de determinação de ligação 612, ou a ligaçãofoi recentemente gerada de acordo com o processo de criaçãode ligação 614, uma vez que a ligação é estabelecida, o a-plicativo de integração de gráfico transmite notificação daação do usuário ao aplicativo de planilha. Depois que a pla-nilha recebe a notificação, o processamento continua na ope-ração de determinação de mudança 618.A operação de determinação de mudança 618 descobreda ação do usuário, se a ação do usuário afetou uma mudançanos dados de gráfico. Pode ser que os dados de gráfico nãoforam realmente mudados pela ação do usuário. Por exemplo, ousuário pode ter selecionado visualizar os dados de gráfico.Nesse exemplo, uma ocorrência visível do aplicativo de pla-nilha seria iniciada e uma ligação entre o gráfico e a pla-nilha seria criada e a operação solicitada estaria completa.
Se os dados não são mudados pela ação do usuário, então oprocesso 600 termina e o processamento espera pela próximaação do usuário ou continua com outras tarefas.
Em contraste, se a ação do usuário não altera osdados de gráfico, o processamento continua com a operação demudança de dados 620. A operação de mudança de dados 620 en-tão restabelece de volta o aplicativo de integração de grá-fico que os dados mudaram. Uma vez que essa mensagem de mu-dança de dados é recebida, o processamento continua na ope-ração de decisão de atualização 622.
A operação de decisão de atualização 622 determinase uma atualização ao gráfico é necessária devido às mudan-ças que ocorreram nos dados de gráfico. Em uma modalidade, aatualização corresponde a uma renovação da representação dosdados de gráfico no gráfico. Se uma atualização não é neces-sária, o processo 600 termina e o processamento espera pelapróxima ação do usuário ou continua com outras tarefas. En-tretanto, se uma atualização é necessária, então o processa-mento continua para a operação de solicitação de atualização624.A operação de solicitação de atualização 624 soli-cita uma atualização dos dados de gráfico a partir do apli-cativo de planilha. Em uma modalidade, a solicitação de atu-alização é configurada como uma solicitação para o conjuntointeiro de dados de gráfico fornecidos pelo aplicativo deplanilha. Em uma outra modalidade, a solicitação de atuali-zação é para quaisquer partes dos dados de gráfico que muda-ram e não o arquivo de dados de gráfico inteiro. Uma vez quea solicitação de atualização é enviada, o processamento con-tinua com a operação de recebimento de atualização 626.
A operação de recebimento de atualização 626 rece-be a atualização dos dados de gráfico e aplica a atualizaçãoao gráfico no aplicativo hospedeiro. Em uma modalidade, aatualização renova somente essas partes do gráfico que sãomudadas já que o gráfico foi por último atualizado ou cria-do. Em uma outra modalidade, a atualização substitui o grá-fico existente com um novo gráfico que corresponde aos dadosde gráfico mais recentes fornecidos em resposta à solicita-ção. Uma vez que o gráfico é atualizado, o processo 600 ter-mina e o processamento espera pela próxima ação do usuárioou continua com outras tarefas.
Embora a invenção tenha sido descrita em linguagemque é especifica a características estruturais e/ou etapasmetodológicas, entende-se que a invenção definida nas rei-vindicações em anexo não é necessariamente limitada às ca-racterísticas específicas ou etapas descritas. De preferên-cia, as características e etapas específicas são descritascomo formas de implementar a invenção reivindicada. Já quemuitas modalidades da invenção podem ser feitas sem abando-nar o espirito e escopo da invenção, a invenção reside nasreivindicações em anexo a seguir.
Claims (20)
1. Método implementado por computador para geren-ciar e editar um gráfico apresentado em um aplicativo hospe-deiro, CARACTERIZADO pelo fato de que compreende:fornecer funcionalidade para editar dados corres-pondentes ao gráfico em um aplicativo separado, onde a apre-sentação dos dados no aplicativo separado é distinta da a-presentação do gráfico no aplicativo hospedeiro; ecomunicar mudanças nos dados que ocorrem no apli-cativo separado ao aplicativo hospedeiro, onde as mudançasnos dados são refletidas na apresentação do gráfico no apli-cativo hospedeiro.
2. Método implementado por computador, de acordocom a reivindicação 1, CARACTERIZADO adicionalmente pelo fa-to de que compreende receber uma notificação de uma ação dousuário, onde a notificação da ação do usuário é recebidaquando a ação do usuário resulta em mudanças no gráfico.
3. Método implementado por computador, de acordocom a reivindicação 2, CARACTERIZADO adicionalmente pelo fa-to de que compreende manipular as mudanças no gráfico no a-plicativo hospedeiro quando as mudanças no gráfico não afe-tam os dados.
4. Método implementado por computador, de acordocom a reivindicação 2, CARACTERIZADO adicionalmente pelo fa-to de que compreende comunicar as mudanças no gráfico ao a-plicativo separado quando as mudanças no gráfico afetam osdados.
5. Método implementado por computador, de acordocom a reivindicação 1, CARACTERIZADO pelo fato de que forne-cer funcionalidade para editar os dados correspondentes aográfico adicionalmente compreende instanciar uma ocorrênciavisível do aplicativo separado quando uma determinação éfeita que uma ocorrência visível do aplicativo separado énecessária.
6. Método implementado por computador, de acordocom a reivindicação 5, CARACTERIZADO pelo fato de que a o-corrência visível do aplicativo separado é fornecida de for-ma coincidente na tela com uma ocorrência visível do aplica-tivo hospedeiro.
7. Método implementado por computador, de acordocom a reivindicação 1, CARACTERIZADO pelo fato de que forne-cer funcionalidade para editar os dados correspondentes aográfico adicionalmente compreende instanciar uma ocorrêncianão visível do aplicativo separado quando uma determinação éfeita de que uma ocorrência visível do aplicativo separadonão é necessária.
8. Método implementado por computador, de acordocom a reivindicação 1, CARACTERIZADO adicionalmente pelo fa-to de que compreende criar uma ligação entre o aplicativohospedeiro e o aplicativo separado antes da comunicação en-tre o aplicativo hospedeiro e o aplicativo separado.
9. Método implementado por computador, de acordocom a reivindicação 8, CARACTERIZADO pelo fato de que a li-gação corresponde a pelo menos uma interface COM para imple-mentar comunicação entre aplicativos.
10. Método implementado por computador, de acordocom a reivindicação 1, CARACTERIZADO adicionalmente pelo fa-to de que compreende mudar os dados correspondentes ao grá-fico com o aplicativo separado quando o gráfico é editado noaplicativo hospedeiro e quando os dados são editados no a-plicativo separado.
11. Método implementado por computador, de acordocom a reivindicação 1, CARACTERIZADO pelo fato de que o a-plicativo separado corresponde a um aplicativo de planilha.
12. Método implementado por computador, de acordocom a reivindicação 1, CARACTERIZADO pelo fato de que comu-nicar mudanças nos dados que ocorrem no aplicativo separadoao aplicativo hospedeiro adicionalmente compreende manipulara comunicação de acordo com um aplicativo de integração degráfico.
13. Meio legível por computador, CARACTERIZADO pe-lo fato de que tem armazenado nele instruções que quando e-xecutadas implementam o método implementado por computadorde acordo com a reivindicação 1.
14. Sistema, CARACTERIZADO pelo fato de que com-preende:um aplicativo hospedeiro que inclui uma apresenta-ção de um gráfico em um documento de aplicativo hospedeiro;um aplicativo de planilha que é configurado paraexibir uma planilha de dados de gráfico correspondentes aográfico incluído no documento de aplicativo hospedeiro; eum aplicativo de integração de gráfico que é con-figurado para gerenciar integração do gráfico incluído nosdocumentos de aplicativo de hospedeiro e os dados de gráficofornecidos na planilha.
15. Sistema, de acordo com a reivindicação 14,CARACTERIZADO pelo fato de que o aplicativo de integração degráfico se comunica com o aplicativo de planilha através depelo menos uma interface COM.
16. Sistema, de acordo com a reivindicação 15,CARACTERIZADO adicionalmente pelo fato de que compreende umatabela de objeto em execução onde uma de pelo menos uma in-terface COM é armazenada tal que outras interfaces COM sãoassociadas com uma outra tal que um gráfico particular é as-sociado com um conjunto particular de dados de gráfico.
17. Sistema, de acordo com a reivindicação 14,CARACTERIZADO adicionalmente pelo fato de que compreende ummanipulador de objeto embutido que é configurado para mani-pular a exibição do gráfico separada da integração do gráfi-co com os dados de gráfico.
18. Sistema, de acordo com a reivindicação 14,CARACTERIZADO adicionalmente pelo fato de que compreende es-truturar armazenamento do gráfico no aplicativo hospedeiropara incluir uma ligação entre o gráfico e a planilha quandoa planilha pertence a um de um arquivo de planilha embutidoe um arquivo de planilha externo.
19. Meio legível por computador, CARACTERIZADO pe-lo fato de que tem armazenado instruções que quando executa-das implementam o sistema da reivindicação 14.
20. Meio legível por computador que tem armazenadoinstruções executáveis por computador para gerenciar e edi-tar um gráfico apresentado em um aplicativo hospedeiro,CARACTERIZADO pelo fato de que as instruções executáveis porcomputador compreendem:receber uma ação de usuário associada com o gráfico;determinar se uma planilha é necessária de acordocom a ação do usuário;determinar se uma ocorrência visível da planilha éexigida para manipular a ação do usuário;gerar uma ligação entre o aplicativo hospedeiro ea planilha;enviar a ação de usuário à planilha;determinar as mudanças de dados de gráfico; edeterminar se uma atualização é exigida baseadanas mudanças.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/227,044 US8578277B2 (en) | 2005-09-15 | 2005-09-15 | Integrating charts in documents |
| US11/227.044 | 2005-09-15 | ||
| PCT/US2006/034163 WO2007037916A1 (en) | 2005-09-15 | 2006-09-01 | Integrating charts in documents |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| BRPI0615817A2 true BRPI0615817A2 (pt) | 2011-05-24 |
Family
ID=37856799
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0615817-0A BRPI0615817A2 (pt) | 2005-09-15 | 2006-09-01 | integração de gráficos em documentos |
Country Status (13)
| Country | Link |
|---|---|
| US (1) | US8578277B2 (pt) |
| EP (1) | EP1952264A4 (pt) |
| JP (1) | JP5551363B2 (pt) |
| KR (1) | KR101377311B1 (pt) |
| CN (1) | CN101263488A (pt) |
| AU (1) | AU2006295278B2 (pt) |
| BR (1) | BRPI0615817A2 (pt) |
| CA (1) | CA2619056C (pt) |
| MX (1) | MX2008003416A (pt) |
| MY (1) | MY152519A (pt) |
| NO (1) | NO342716B1 (pt) |
| RU (1) | RU2419847C2 (pt) |
| WO (1) | WO2007037916A1 (pt) |
Families Citing this family (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8468441B2 (en) * | 2005-09-15 | 2013-06-18 | Microsoft Corporation | Cross-application support of charts |
| EP1987446A4 (en) * | 2006-01-13 | 2013-08-14 | Barclays Capital Inc | METHOD AND SYSTEM FOR INTEGRATION OF CALCULATION AND PRESENTATION TECHNOLOGIES |
| US9390059B1 (en) * | 2006-12-28 | 2016-07-12 | Apple Inc. | Multiple object types on a canvas |
| US10318624B1 (en) | 2006-12-28 | 2019-06-11 | Apple Inc. | Infinite canvas |
| US9558172B2 (en) | 2008-03-12 | 2017-01-31 | Microsoft Technology Licensing, Llc | Linking visual properties of charts to cells within tables |
| US20090300649A1 (en) * | 2008-05-30 | 2009-12-03 | Microsoft Corporation | Sharing An Object Among Multiple Applications |
| US20090313537A1 (en) * | 2008-06-17 | 2009-12-17 | Microsoft Corporation | Micro browser spreadsheet viewer |
| US20100169092A1 (en) * | 2008-11-26 | 2010-07-01 | Backes Steven J | Voice interface ocx |
| US9779092B2 (en) * | 2010-03-11 | 2017-10-03 | International Business Machines Corporation | Maintaining consistency between a data object and references to the object within a file |
| WO2012048158A1 (en) | 2010-10-06 | 2012-04-12 | Planet Data Solutions | System and method for indexing electronic discovery data |
| US8726396B1 (en) | 2011-01-14 | 2014-05-13 | Symantec Corporation | Scanning protected files for violations of a data loss prevention policy |
| US20140337148A1 (en) * | 2011-10-04 | 2014-11-13 | Nokia Corporation | Method and apparatus for providing an application marketplace |
| US20130339831A1 (en) * | 2012-06-15 | 2013-12-19 | Microsoft Corporation | Dynamic reports connected to project data |
| US9753909B2 (en) | 2012-09-07 | 2017-09-05 | Splunk, Inc. | Advanced field extractor with multiple positive examples |
| US8751963B1 (en) * | 2013-01-23 | 2014-06-10 | Splunk Inc. | Real time indication of previously extracted data fields for regular expressions |
| US20140208217A1 (en) | 2013-01-22 | 2014-07-24 | Splunk Inc. | Interface for managing splittable timestamps across event records |
| US8682906B1 (en) | 2013-01-23 | 2014-03-25 | Splunk Inc. | Real time display of data field values based on manual editing of regular expressions |
| US10394946B2 (en) | 2012-09-07 | 2019-08-27 | Splunk Inc. | Refining extraction rules based on selected text within events |
| US9594814B2 (en) | 2012-09-07 | 2017-03-14 | Splunk Inc. | Advanced field extractor with modification of an extracted field |
| US9152929B2 (en) | 2013-01-23 | 2015-10-06 | Splunk Inc. | Real time display of statistics and values for selected regular expressions |
| KR101465007B1 (ko) * | 2013-02-20 | 2014-11-25 | (주) 사이냅소프트 | 슬라이드 기능을 구비한 스프레드시트 편집 장치 |
| CN104346149A (zh) | 2013-07-30 | 2015-02-11 | 商业对象软件有限公司 | 用于数据可视化的描述性框架 |
| KR20150026095A (ko) * | 2013-08-30 | 2015-03-11 | 삼성전자주식회사 | 전자 장치에서 차트를 표시하는 장치 및 방법 |
| CN105446967A (zh) * | 2014-06-03 | 2016-03-30 | 中国石油化工股份有限公司 | 一种多模态评价报告的生成方法 |
| CN106126489A (zh) * | 2016-06-23 | 2016-11-16 | 江苏中威科技软件系统有限公司 | 一种报告文件动态图表编辑方法及系统 |
| US11941344B2 (en) * | 2016-09-29 | 2024-03-26 | Dropbox, Inc. | Document differences analysis and presentation |
| KR101769129B1 (ko) * | 2017-02-07 | 2017-08-17 | 주식회사 뉴스젤리 | 온라인 환경에서 구현되는 대시보드 내 차트간 인터랙션 방법 |
| US11074726B2 (en) * | 2017-03-09 | 2021-07-27 | Apple Inc. | Techniques for automatically mitigating overlapping labels associated with pie charts |
| US10956237B2 (en) * | 2017-06-02 | 2021-03-23 | Oracle International Corporation | Inter-application sharing of business intelligence data |
| WO2019113180A1 (en) * | 2017-12-06 | 2019-06-13 | Activegraf, Inc. | Methods for two-way data write back in presentations |
| CN112233004B (zh) * | 2019-06-30 | 2025-08-08 | 微软技术许可有限责任公司 | 图像中的数据嵌入和提取 |
| CN112131845A (zh) * | 2020-08-27 | 2020-12-25 | 北京云动智效网络科技有限公司 | Ppt数据图表制作方法及设备 |
Family Cites Families (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4219565A (en) | 1979-06-26 | 1980-08-26 | Shell Oil Company | Oxyimino-substituted cyclopropanecarboxylate pesticides |
| US4815029A (en) * | 1985-09-23 | 1989-03-21 | International Business Machines Corp. | In-line dynamic editor for mixed object documents |
| US5079695A (en) * | 1988-04-25 | 1992-01-07 | Hewlett-Packard Company | Object management facility which includes a snapshot facility for providing data transfer between two objects |
| WO1994014115A2 (en) * | 1992-12-01 | 1994-06-23 | Microsoft Corporation | A method and system for in-place interaction with embedded objects |
| US5664208A (en) * | 1995-05-16 | 1997-09-02 | Apple Computer, Inc. | Methods and apparatuses for seamless compound document processing |
| US5619631A (en) * | 1995-06-07 | 1997-04-08 | Binaryblitz | Method and apparatus for data alteration by manipulation of representational graphs |
| KR0170318B1 (ko) | 1995-07-14 | 1999-03-30 | 김광호 | 위성 자동 안내 방법 |
| US6446135B1 (en) * | 1996-03-05 | 2002-09-03 | Microsoft Corporation | Method and system for querying and executing commands of an application program |
| US6249283B1 (en) * | 1997-07-15 | 2001-06-19 | International Business Machines Corporation | Using OCR to enter graphics as text into a clipboard |
| US7130831B2 (en) * | 1999-02-08 | 2006-10-31 | Copyright Clearance Center, Inc. | Limited-use browser and security system |
| US6407761B1 (en) * | 1999-05-10 | 2002-06-18 | Sap Aktiengesellschaft | System and method for the visual customization of business object interfaces |
| US6701485B1 (en) * | 1999-06-15 | 2004-03-02 | Microsoft Corporation | Binding spreadsheet cells to objects |
| US6806890B2 (en) | 1999-08-17 | 2004-10-19 | International Business Machines Corporation | Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system |
| US6556220B1 (en) * | 1999-10-21 | 2003-04-29 | International Business Machines Corporation | Method and system to display, modify or substitute the contents of self-describing objects |
| US6772413B2 (en) * | 1999-12-21 | 2004-08-03 | Datapower Technology, Inc. | Method and apparatus of data exchange using runtime code generator and translator |
| US7117435B1 (en) * | 2000-06-21 | 2006-10-03 | Microsoft Corporation | Spreadsheet fields in text |
| US8677505B2 (en) * | 2000-11-13 | 2014-03-18 | Digital Doors, Inc. | Security system with extraction, reconstruction and secure recovery and storage of data |
| TWI248023B (en) * | 2001-11-09 | 2006-01-21 | Sheng A Tsao | Data object oriented repository system |
| US7509577B2 (en) * | 2002-03-08 | 2009-03-24 | Toshiba Corp Oration | Method and system for implementing a clipboard |
| US20030174165A1 (en) * | 2002-03-18 | 2003-09-18 | Barney Rock D. | System and method for rendering a directed graph |
| US7480861B2 (en) * | 2002-10-09 | 2009-01-20 | Microsoft Corporation | System and method for converting between text format and outline format |
| US8195714B2 (en) * | 2002-12-11 | 2012-06-05 | Leaper Technologies, Inc. | Context instantiated application protocol |
| US20080177994A1 (en) * | 2003-01-12 | 2008-07-24 | Yaron Mayer | System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows |
| US7188308B2 (en) * | 2003-04-08 | 2007-03-06 | Thomas Weise | Interface and method for exploring a collection of data |
| CA2537229C (en) * | 2003-05-14 | 2012-10-16 | Timothy M. Sheridan | Persistent portal |
| US7434157B2 (en) | 2003-12-09 | 2008-10-07 | Microsoft Corporation | Programmable object model for namespace or schema library support in a software application |
| US7197502B2 (en) * | 2004-02-18 | 2007-03-27 | Friendly Polynomials, Inc. | Machine-implemented activity management system using asynchronously shared activity data objects and journal data items |
| US7290205B2 (en) * | 2004-06-23 | 2007-10-30 | Sas Institute Inc. | System and method for management of document cross-reference links |
| US20060064632A1 (en) * | 2004-09-23 | 2006-03-23 | Peter Vignet | Method and system to inverse graphs |
| US8468441B2 (en) * | 2005-09-15 | 2013-06-18 | Microsoft Corporation | Cross-application support of charts |
-
2005
- 2005-09-15 US US11/227,044 patent/US8578277B2/en not_active Expired - Fee Related
-
2006
- 2006-09-01 AU AU2006295278A patent/AU2006295278B2/en not_active Ceased
- 2006-09-01 MX MX2008003416A patent/MX2008003416A/es active IP Right Grant
- 2006-09-01 EP EP06802783A patent/EP1952264A4/en not_active Ceased
- 2006-09-01 WO PCT/US2006/034163 patent/WO2007037916A1/en not_active Ceased
- 2006-09-01 RU RU2008110062/08A patent/RU2419847C2/ru not_active IP Right Cessation
- 2006-09-01 MY MYPI20080635 patent/MY152519A/en unknown
- 2006-09-01 BR BRPI0615817-0A patent/BRPI0615817A2/pt not_active Application Discontinuation
- 2006-09-01 CN CNA200680033763XA patent/CN101263488A/zh active Pending
- 2006-09-01 JP JP2008531159A patent/JP5551363B2/ja not_active Expired - Fee Related
- 2006-09-01 CA CA2619056A patent/CA2619056C/en not_active Expired - Fee Related
-
2008
- 2008-02-25 NO NO20080931A patent/NO342716B1/no not_active IP Right Cessation
- 2008-03-14 KR KR1020087006325A patent/KR101377311B1/ko not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| AU2006295278A1 (en) | 2007-04-05 |
| MY152519A (en) | 2014-10-15 |
| KR101377311B1 (ko) | 2014-03-25 |
| US8578277B2 (en) | 2013-11-05 |
| WO2007037916A1 (en) | 2007-04-05 |
| US20070061751A1 (en) | 2007-03-15 |
| RU2008110062A (ru) | 2009-09-20 |
| CN101263488A (zh) | 2008-09-10 |
| NO342716B1 (no) | 2018-07-30 |
| KR20080045710A (ko) | 2008-05-23 |
| RU2419847C2 (ru) | 2011-05-27 |
| JP2009509238A (ja) | 2009-03-05 |
| MX2008003416A (es) | 2008-11-12 |
| EP1952264A4 (en) | 2011-03-16 |
| EP1952264A1 (en) | 2008-08-06 |
| NO20080931L (no) | 2008-04-11 |
| JP5551363B2 (ja) | 2014-07-16 |
| AU2006295278B2 (en) | 2011-02-17 |
| CA2619056A1 (en) | 2007-04-05 |
| CA2619056C (en) | 2014-03-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI0615817A2 (pt) | integração de gráficos em documentos | |
| US11593102B1 (en) | Managing sharable cell-based analytical notebooks | |
| US10572581B2 (en) | System and method for web content presentation management | |
| KR101608099B1 (ko) | 문서의 동시적인 협업적 검토 | |
| US8555249B2 (en) | Lifecycle stable user interface adaptations | |
| US20110292072A1 (en) | Pluggable Web-Based Visualizations for Applications | |
| KR102901755B1 (ko) | 가역 데이터 변환 | |
| US10210229B2 (en) | File creation through virtual containers | |
| US10908793B2 (en) | Persistent application interface management | |
| Verdegem et al. | Practical experiences of the Dutch digital preservation test‐bed | |
| US8321426B2 (en) | Electronically linking and rating text fragments | |
| Bray | MapGuide open source | |
| Ayers et al. | Lab 1-A 3 Framework | |
| Macleod et al. | Technical report: progress with developing an outcome-based web application | |
| WO2008015787A1 (fr) | Dispositif et procédé de traitement de documents |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B25A | Requested transfer of rights approved |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US) |
|
| B07A | Technical examination (opinion): publication of technical examination (opinion) [chapter 7.1 patent gazette] | ||
| B09B | Patent application refused [chapter 9.2 patent gazette] | ||
| B09B | Patent application refused [chapter 9.2 patent gazette] |