Method and system for creating dynamic interfaces using a...

Data processing: software development – installation – and managem – Software program development tool – Software project management

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S106000, C717S116000

Reexamination Certificate

active

06654947

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to object-oriented computer programming, and, more particularly, to methods and systems for designing containers for use in compound document applications.
BACKGROUND OF THE INVENTION
Compound document technology, such as Microsoft's Object Linking and Embedding (“OLE”), is notoriously difficult to develop and utilize. A compound document is an application environment containing program objects that can be interlinked and interacted with by a user. For example,
FIG. 1
sets forth an OLE container application
110
, such as a word processor (e.g. Microsoft Word) or web browser (e.g. Microsoft Internet Explorer), which can contain objects
150
imported from other applications. The components are integrated using Microsoft's proprietary framework known as the Component Object Model or COM. COM and OLE (or its current incarnation known as ActiveX) originated as an inter-client cut-and-paste protocol, but have grown to include many advanced services, including object naming, in-place editing, canvas event management (e.g. resize, drag-and-drop), toolbar and menu sharing, and loading and saving of persistent state.
OLE/ActiveX provides support for what it calls automation services which allow components to be controlled through public COM interfaces. An automation object (a/k/a “server”) implements and publishes interfaces; an automation controller (a/k/a “automator” or “client”) calls methods in these interfaces. ActiveX also supports more sophisticated components called ActiveX controls (a/k/a OCXs or OLE Custom Controls) which are editable embedded objects that can also transform user actions into notification events sent to the container. Standard development tools have simplified the design of contained objects such as ActiveX controls. In 1996, Microsoft drafted a new specification called OCX96 which, inter alia, provided support for windowless, non-rectangular and transparent controls.
On the other hand, the process of creating a new container application fully supporting such objects remains difficult at best, complicated by the feature-rich nature of ActiveX. OLE does not provide a standard container implementation; rather it is more accurately described as a contract between applications. As illustrated by
FIG. 1
, a container application must provide support for a multiplicity of interfaces (e.g. to support linking, drag-and-drop, data transfer) in order to handle a wide range of components. The hierarchical model of the OLE architecture complicates matters: there is no support in the persistence and naming scheme for connections between objects in a system without one object owning the other or another owning both. Moreover, OLE allows only one active object to negotiate with the container for toolbar and menu space. The protocol simply does not include support for many of the issues that arise when a system is composed of heterogeneous components.
Although some of the complexity of programming in OLE can be encapsulated using a class library such as Microsoft Foundation Classes (MFC), support is not provided for all of the functions that are in the raw OLE API—especially newer features such as windowless controls. Accordingly, a new container-object architecture is needed that reduces the development time required for creating a general container application and which does not rely on large external libraries.
SUMMARY OF THE INVENTION
The present invention discloses a convenient framework for container applications. A customizable embeddable container is provided, and client objects of the container may be positioned dynamically by an external layout agent. The container manages toolbars and user interface modes, integrating disparate components into a single consistent interface. Group repositories of related objects for data transfer operations such as cut-and-paste, drag-and-drop, save-and-load, can be supported. The present invention advantageously does not rely on large external libraries and, thus, is relatively lightweight.
The accordance with an embodiment of the present invention, the GUI is separated from the dynamic layout engine. A generic user interface component is provided for creating nested applications/components. A protocol for user interface “modes” is disclosed, as well as object repositories that support the common data transfer operations (load, save, cut, paste, drag, drop) while preserving links between the objects; hooks for dynamic object layout; menu sharing between active objects through simple call-outs and data structures; and toolbar management through a shared container object that represents the toolbar area. Unlike a typical application container, all document semantics have been factored out. In addition, the present invention permits far more convenient support for toolbars and data transfer.


REFERENCES:
patent: 6175364 (2001-01-01), Wong et al.
patent: 6182278 (2001-01-01), Hamada et al.
patent: 6195794 (2001-02-01), Buxton
patent: 6380954 (2002-04-01), Gunther
patent: 6418554 (2002-07-01), Delo et al.
Blakeley. OLE DB: A Component DBMS Architecture. IEEE. 1996. pp. 203-204.*
Blakeley. Data Access for the Masses Through OLE DB. ACM. 1996. pp. 161-172.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and system for creating dynamic interfaces using a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for creating dynamic interfaces using a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for creating dynamic interfaces using a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3138738

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.