IP Library Granted Patent US 8,959,489
Granted Patent B2
US 8,959,489 · App. 11/735,688 · Granted Feb 17, 2015

Arbitrary object editing

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,959,489
App. No.
11/735,688
Granted
Feb 17, 2015
Kind
B2
Abstract

The present invention provides technologies for forming an editing interface for editing arbitrary objects. In particular, the present invention provides system and methods for enumerating object properties, selecting a suitable pre-existing object editor and, if no such pre-existing editor is available, constructing an object editor on the fly suitable for editing the properties of the object where the object may include properties and/or collections of objects. Construction of a suitable editor is based on enumeration of object properties and on the serialization of the object using a descriptive language such as extensible markup language (“XML”) or the like. Property values specified by a user via the object interface and editors are stored in a descriptive format such as XML and generally specify the initial characteristics of the object.

Claims (30)

1. A method performed on a computing device, the method for editing an object, the method comprising:

enumerating object properties of the object, the enumerating based on object metadata that defines the object;

iterating through at least a portion of the enumerated object properties of the object, the iterating including constructing, based on the serialization and in response to a pre-existing editor not being available for one of the iterated properties of the object, a collection editor that is configured for editing the one of the iterated properties of the object, where the constructing comprises determining if one of the at least a portion of the enumerated object properties is part of a collection; and

serializing, in response to the editing the one of the iterated properties of the object via the constructed collection editor, the object according to the markup language.

2. The method of claim 1 further comprising determining if the pre-existing editor is suitable for editing one of the at least a portion of the enumerated object properties.

3. The method of claim 1 where the constructing a collection editor includes constructing a sub-property editor configured for editing a property of the one of the at least a portion of the enumerated object properties.

4. The method of claim 1 where the serializing results in an extensible markup language (“XML”) description of the object.

5. The method of claim 1 where the serializing utilizes extensible application markup language (“XAML”).

6. The method of claim 1 where the serialized object includes property values established during editing.

7. The method of claim 1 further comprising forming an interface including a plurality of editors including the selected existing editor or the constructed editor.

8. The method of claim 1 where an object file or a binary file includes at least a portion of the object metadata.

9. The method of claim 1 embodied as computer-executable instructions stored on a computer-readable medium.

10. A system comprising a computing device and at least one software module together configured for performing actions comprising:

enumerating object properties of an object, the enumerating based on object metadata that defines the object, where a serialization of the object is based on a markup language;

iterating through at least a portion of the enumerated object properties of the object, the iterating including constructing, based on the serialization and in response to a pre-existing editor not being available for one of the iterated properties of the object, a collection editor that is configured for editing the one of the iterated properties of the object, where the constructing comprises determining if one of the at least a portion of the enumerated object properties is part of a collection; and

serializing, in response to the editing the one of the iterated properties of the object via the constructed collection editor, the object according to the markup language.

11. The system of claim 10 where the object metadata is stored in an object file or a binary file.

12. The system of claim 10 , where the actions further comprise:

adding the pre-existing editor to an editing interface if the pre-existing editor is configured for editing the one of the iterated properties of the object; and

adding the constructed collection editor to the editing interface if the pre-existing editor is not configured for editing the one of the iterated properties of the object.

13. The system of claim 10 , where the actions further comprise utilizing extensible application markup language (“XAML”) to serialize the object including the one of the iterated properties of the object.

14. The system of claim 10 , where the actions further comprise creating an extensible markup language (“XML”) description of the object including the one of the iterated properties of the object.

15. A method performed on a computing device, the method for forming an editing interface for editing an object, the method comprising:

enumerating object properties of the object, the enumerating based on object metadata that defines the object, and where a serialization of the object is based on a markup language;

iterating through at least a portion of the enumerated object properties of the object, the iterating including processing each property of the at least a portion of the enumerated object properties of the object, the processing including:

determining if a pre-existing editor is available that is configured for editing the each property and, if so, selecting the pre-existing editor, otherwise

constructing, based on the serialization and in response to the pre-existing editor not being available, a collection editor configured for editing the each property, where the constructing comprises determining if one of the at least a portion of the enumerated object properties is a collection, and

adding the selected pre-existing editor or the constructed collection editor to the editing interface, the editing interface including a plurality of editors; and

serializing, according to the markup language, the object including the at least a portion of the enumerated object properties, the serializing in response to editing the one of the iterated properties of the object via the constructed collection editor.

16. The method of claim 15 embodied as computer-executable instructions stored on a computer-readable medium.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2007
From: GASPERINI, ALAN J.; NAKASHIMA, JAMES S.; HLAVAC, JURAJ; LINSCOTT, GARY; JAZDZEWSKI, CHARLES P.; KELLY, JEFFREY W.; RAVINDRANATHAN, UNNIKRISHNAN; PEPIN, BRIAN K.; BOULTER, MARK A.
To: MICROSOFT CORPORATION
Reel/Frame 019251/0609 →